1、衡阳师范学院毕业论文 题目:基于Web成绩管理系统 设计与实现 所在学院:计算机科学与技术学院专业: 网络工程 1 学号: 13480130 1 作者姓名:罗红梅 1指导教师:田小梅 12023年5月10日基于Web成绩管理系统设计与实现计算机科学与技术学院网络工程专业学号:13480130 姓名:罗红梅指导教师:田小梅摘要在如今信息化高速发展的时代,学生成绩管理系统是实现学生成绩数字化管理不可缺少的部分。成绩管理系统重要根据当今大学生成绩为蓝本,采用Web应用程序的方式,基于MVC的三层架构体系,以及自顶而下的模块化技术进行系统开发,把系统分为三种普通用户,老师、学生,系统管理员。根据软件开
2、发的标准,运用Microsoft Sql server 2023数据库和Java语言以及三大框架(Mybatis,Struts,Spring)来开发,并对整个系统进行了测试。系统从用户的角度来划分具有以下功能:管理员可以对班级、老师、学生、课程的信息进行增删改查操作;老师可以对学生成绩录入、修改、删除、浏览、导出学生成绩到表格以及浏览与修改基本信息,重置密码等;学生查询本人成绩以及浏览与修改本人基本信息,重置密码等。关键词学生成绩;管理系统;Web系统开发;B/S模式Design and Implementation of the Student score management system
3、 based on WebComputer science departmentMajor: Network projectNo:13480130 Name: Luo Hongmei Tutor: Tian XiaomeiAbstract In the information age, a student score management system is an indispensable part of the realization of the digital management of student achievement. Student score management sys
4、tem is mainly based on the results of todays college students using the B/S model, the three layer architecture based on Web technology and modular design, the system is divided into three ordinary users including teachers and students and system administrator. According to the standard of software
5、development, the paper use Microsoft Sql Server 2023 and Java as well as three framework to achieve and test the entire system. From a users perspective,the system possess these function as follow: administrator can add,delete,revise or query the information of class, teacher, student and courses; t
6、eacher can input, revise, delete, and scan scores of students, output their scores into a form, scan or revise basic information, reset password and so on; student can query his own scores, scan and revise his basic information, reset password and so on.Keywords student score; management system; Web
7、 systems development; B/S mode目录1 引言11.1 项目背景11.2 研究意义11.3 项目概述22 开发技术和工具概述32.1 浏览器和服务器模式32.1JSP网页技术概述32.2 三层框架技术概述42.3 Java语言52.4 重要开发工具52.5.1 Eclipse52.5.2 Microsoft Sql Server 202353 系统分析73.1 业务概述73.2 系统需求73.2.1 系统功能性需求93.2.2 系统非功能性需求103.3 可行性分析113.3.1 经济可行性分析113.3.2 技术可行性分析114 总体设计124.1 系统总体结构设计
8、124.2 数据库设计134.2.1 E-R图分析134.2.2 数据库表的结构155系统实现185.1数据库的实现185.2数据库的配置205.3系统主界面设计与实现215.3.1系统用户登录215.3.2学生查询个人成绩215.3.3学生登录系统重置密码225.3.4老师查看和重置个人资料225.3.5老师录入学生成绩235.3.6老师查询学生成绩235.3.7管理员进行后台数据管理246 软件测试256.1 软件测试的定义256.2 软件测试的原则256.3 软件测试结果256.3.1 测试用例的定义256.3.2界面测试256.3.3 功能测试266.3.4 测试结果及结论26总结27
9、参考文献281 引言1.1 项目背景毋庸置疑,在当今社会实现学生成绩管理数字化必须需要一个规范的成绩管理系统。做为学校平常教务管理系统的“一员”,学生成绩管理系统其重要突出了信息化在管理运用中所发挥出来的作用。如此一来很好地提高教师工作效率以及提供学生对于自己成绩了解的便捷性、减少了各项成本及改善服务质量,具有很大的商用价值。由于外国对教育教学软件的开发投入较早,其研究成果相对国内来说比较领先和成熟,所以就目前来看,国内的成绩管理系统和国外相比软件管理水平还是有很大的一段差距。明显单机版的成绩管理系统已经不能再适应发展的规定,所有这些实情表白基于互联网的校园网的应用将会进一步到校园内的各个方面
10、。1.2 研究意义学生成绩管理系统的研究就是为了更好地服务于学校,让其高效、准确地管理学生的考试成绩。就目前的形式来看,国内各学校对学生成绩的管理还停留在手工阶段,面对学校日益繁多的教学工作,学校老师就需要花费大量的时间和精力来登记和记录学生的考试成绩,如此繁重的记录工作不仅影响工作效率、劳神伤身并且往往还会由于精力下降,产生很多错误。并且,手工记录的数据对后期成绩的查阅和维护工作也会带来不便,工作繁重。因此,学生成绩管理系统不管对学校还是老师来说,都是顺应时代进步的必然产物,是学校管理系统中不可或缺的一员。学生成绩管理系统它可以完毕目前各学校急需解决的学生个人资料、考试成绩的录入,删除,查询
11、,维护以及成绩的记录分析工作,方便教师管理学生各类信息。同时学校教务处也能通过此系统对教学课程、各级学生、考试成绩进行合理的归类归档和统筹计划等。学生成绩管理系统除了方便学校和教务处的教学管理外,还可以很大限度提高学校的办事效率和管理水平的提高,使学校紧跟社会信息高速发展的步伐,这对学校的规范管理以及各学校之间的教学互动、学习、交流都有深刻的意义。此系统不仅可认为学校减少教学开支,保证工作的效率和准确性,同时家长和学生自己可以方便快捷地通过此系统的查询,了解学生在学习上的成果,针对性地加强学习。学生成绩管理系统也为学校在竞争日益强烈的社会环境下打下了坚实的基础。1.3 项目概述通过认真了解国内
12、各教育机构和学校以及国外学生成绩系统的发展历史和现状,得知近年来我国高等职业教育迎来了高速发展的新局面,如今的社会是追求知识和人才的时代,人们的生活水平提高了,自然对受教育的层次也越来越高,这使得教育事业迎来了前所未有的广阔前景,各大院校为了广接生源规模越来越大,这就使得学校的管理变得异常沉重。以往依靠手工以及单机操作的工作变得繁琐和低效。针对这一情况,学院需要寻求一种高效的,安全的,跨平台的,便捷的,快速的,信息化的成绩管理系统来展开学校教务工作。又快又好的解决目前信息化建设中急需的问题。这一举动将具有深远的影响。通过对系统进行了可行性分析,并根据用户的实际需求分析进行系统设计;选择B/S模
13、式来架构系统,从用户的角度分学生操作、老师操作、系统管理员操作三大模块来设计系统,同时根据系统的需要设计数据库;接着运用软件工程方法结合面向对象的分析设计方法对各模块进行具体设计,分析各模块的功能和关系,结合JSP页面设计和Java后台代码编程实现整个系统;进行系统测试,以保证系统的可用性、对的性、安全性和可靠性。2 开发技术和工具概述2.1 JSP网页技术概述JSP是Java Server Pages的缩写形式,它的中文名叫做java服务器页面。JSP是一种动态网页技术,最初是由Sun公司和其他公司合作研发出来的。JSP的使用完全依赖于Java Servlet(Java服务器端小程序)。JS
14、P的原理就是在HTML编写的静态页面里插入Java代码,重要和后台交互。因此JSP具有Java面向对象的特性,并且是跨平台的,采用JSP技术开发的Web系统既能在Windows系统下运营用能在Linux系统下运营。JSP页面重要有HTML文献、CSS文献、JS文献、静态文本、尚有JSP固有的代码以及标签;其中HTML用来显示的静态页面,CSS代码用来给静态页面加上“美丽的衣服”,JS代码可以让整个页面动起来以及控制某些事务逻辑;JSP固有代码涉及JSP声明用来定义变量、JSP注释用来添加注释、JSP表达式等,标签通常以结束。JSP是一种Java Servlet,它担任网站显示层的那个角色。网站
15、开发者们通过使用HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。JSP重要是运用表单和后台交互,用户通过输入表单数据,插入数据后台,数据后台的数据也是通过表单来实现,以此来实现动态网页。当用户访问某个网站时,JSP页面都会被初始化。JSP会发送请求到Web容器,该请求由JSP引擎解决,再返回响应的结果给用户。Web容器中的JSP引擎其实就是一个Servlet程序,它负责解释和执行JSP页面。JSP引擎先将JSP页面翻译成Servlet源程序,接着再把这个Servlet源程序编译成.class文献,然后再由WEB容器像调用普通Servlet程序同样的方式来装载和解释
16、执行这个由JSP页面翻译成的Servlet程序,最后把得到的数据响应给浏览器。JSP受到了越来越多网站开发者的青睐,这种网站是动态的并且和数据库结合。公司通过这样的网站随时更新信息,发布在互联网上,用户可以随时通过浏览器浏览信息,和用户有很好的交流,所以它的优点有以下方面:(一)跨平台:由于JSP是基于Servlet的,而Servlet是基于Java的。Java语言具有平台无关性,不管在Linux系统或者Windows系统下都可以执行JSP程序代码.。(二)执行效率高:JSP是基于Servlet的,而Servlet的特点是编译一次,反复执行。所以JSP在系统初始化的时候已经被编译,以后每次访问
17、这个JSP页面都不需要再编译,访问速度不言而知,用户的体验相对而言会很好。(三)JSP标签可扩充性:JSP技术支持自定义的标签,网站开发者可以运用XML自行定义标签达成自己预想的效果。(四) 健壮性与安全性:由于JSP页面使用的脚本语言是Java程序设计语言, 因此,它就具有Java技术的优点, 涉及健壮的存储管理、多解决器环境的可靠性和安全性。2.2 三层框架技术概述SSM(Struts、Spring、Mybatis)三大框架是目前IT界软件开发者们几乎都在用的技术。很多公司都在用它。其中Struts穿梭于页面表达层;Spring重要作用于业务逻辑的把控,数据交互;Mybatis重要起到数据
18、持久化的作用,减少数据库编程的复杂度,让Sql语句不再和代码放在一起;运用SSM框架,不仅可以体现JSP页面的变化,并且对模型层和数据层的改动也非常小,数据库的变化也减少了对视图层所带来的影响,可以提高系统的复用性和扩展性。并且由于不同层之间耦合度拉小,开发团队成员可以更好的协作。同时也使得程序变得更加简洁和灵活,很大限度上提高了软件开发的效率。2.3 Java语言众所周知,Java语言相比C语言而言是一种纯粹的面向对象的编程语言。Java语言具有优越的跨平特性,可以真正实现“WriteoneRuneverywhere”。写一次代码,就可以在各大平台运营。前提条件是该平台安装了Java虚拟机。
19、Java的另一个优势是具有很好的安全机制,其封装了对底层的所有操作,开发人员不需要再像写C语言那样考虑内存泄露的问题;当然,我们也需要正视Java的劣势:虚拟机的执行速度偏慢,但是相信科学的力量,虚拟机的各项性可以在未来越来越好,那个时候,Java也许会成为不可替代的一门语言。2.4重要开发工具2.5.1 EclipseEclipse 是开源的、基于Java的健壮的便捷开发平台。Eclipse自身是不需要安装的,轻巧快捷。它重要有视图、编辑窗口和观测窗口三部分8。多个编辑窗口和观测窗口可以在一个视图里呈现。视图图标显示在开发环境的最左侧的快捷栏中。视图是Eclipse的最灵活的部分,用户可以灵
20、活的调节视图的位置,窗口的大小,风格样式可以随便变换。这样的平等性和一致性并不仅仅限于Java开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不仅限于 Java 语言;例如,它可以支持PHP、COBOL、Android、C/C+等一系列编程语言的插件,在不久的将来可以预计推出。Eclipse始于1999年,当时是IBM公司开发给自己用的,2023年时奉献给开源社区2。成立Eclipse开源项目后众多的软件公司参与进Eclipse的开发,并于2023年发布稳定版。2023年,OSGi服务平台规范了Eclipse 3.0运营架构。2023年8月,稳定版3.4发布;2023年7
21、月发布代号为Ganymede的3.5版;2023年8月发布代号为Galileo的3.6版;2023年6月发布代号为Helios的3.7版;2023年6月发布代号为Indigo的3.8版;同年2023年9月发布代号为Juno的4.2版;2023年6月发布代号为Kepler的4.3版;2023年6月发布代号为Luna的4.4版;2023年6月项目发布代号为Mars的4.5版。3 系统分析3.1 业务概述学生成绩管理系统是一个为服务于学生考试成绩管理而开发出来的学校ERP资源管理软件。就目前的形式来看,国内各学校对学生成绩的管理还停留在手工阶段,面对学校日益繁多的教学测试,学校老师就需要花费大量的时
22、间和精力来登记和记录学生的考试成绩,如此繁重的记录工作,不仅影响工作效率、劳神伤身并且往往还会由于精力下降,产生很多错误。并且,手工记录的数据对后期成绩的查阅和维护工作也会带来不便,工作繁重。学生成绩管理系统它可以完毕目前各学校急需解决的:学生个人资料、考试成绩的录入,删除,查询,维护以及成绩的记录分析工作,方便教师管理学生各类信息。同时,学校教务处也能通过此系统对教学课程、各级学生、考试成绩进行合理的归类归档和统筹计划等。学生成绩管理系统除了方便学校和教务处的教学管理外,可以很大限度提高学校的办事效率和管理水平的提高,为学校减少教学开支,保证工作的效率和准确性。该系统有以下功能:管理员操作:
23、(1)班级信息管理:管理员登录系统对班级信息进行录入,修改,删除,浏览操作。(2)学生信息管理:管理员登录系统对学生信息进行录入,修改,删除,浏览操作。(3)课程信息管理:管理员登录系统对课程信息进行录入,修改,删除,浏览操作。(4)教师信息管理:管理员登录系统对教师信息进行录入,修改,删除,浏览操作。(5)用户信息管理:用户登录系统对系统用户进行录入,修改,删除,浏览操作。教师操作:(1)成绩管理:教师凭借管理员授予的工号,密码,身份登录系统录入自己所教学生的成绩并根据需要更改密码,防止账号密码泄露。(2)个人中心:教师凭借管理员授予的工号,密码,身份登录系统查询自己的基本信息资料,并根据需
24、要更改密码,防止账号密码泄露。学生操作:(1)学生成绩管理:学生凭借管理员授予的登录账号,密码查询自己的个人成绩。(2)个人中心:教师凭借管理员授予的工号,密码,身份查询自己的基本信息资料,并根据需要更改密码,防止账号密码泄露。3.2 系统需求学生成绩管理系统以用户为划分依据提成三大模块即老师,学生,管理员。为了进一步准确地描述系统用户与服务的交互情况,这里使用UML中的用例图(User Case)。学生登录系统后,可以查询自己在学校所有的学习成绩、查询自己基本资料、修改资料,重置密码;学生用例图如图1所示。图1 学生用例图老师可以进行录入学生成绩,查询自己所授课程,查询自己基本资料、修改资料
25、,重置密码;老师用例图如图2所示。图2 老师用例图系统管理员登录后,对班级信息,学生信息,课程信息,老师信息进行统一管理。管理员用例图如图3所示。图3 管理员用例图3.2.1 系统功能性需求该系统的特点是其具有三大特性:开放性、灵活性、以及方便性。通过此系统,系统管理员不仅可以便捷地通过数据库增添学生,查询,编辑学生的考试成绩,同时可以新加科目并建立相应的数据。用户可以根据自己的需求,在系统中选择相应的课程。这样本系统可以分文以下几个模块:(1)用户登录模块:当用户进入网站首页时,就进入了登录模块,根据业务逻辑判断登录人的身份是否存在。这是系统安全最重要的一个环节。用户的账号和密码必须通过业务
26、逻辑的解决方可以使用此系统。作为一个ERP管理软件,页面应当越简洁越好。所以把系统的登录界面只做了一个页面,不同身份的人登录进去左边菜单的授权菜单是不同样的。(2)信息管理模块:该模块是本系统的基础模块,用来让用户自己修改,查询自己的基本信息以及更改系统登录密码,及时动态更新自己的资料。(3)成绩管理模块:作为成绩管理系统中最重要的一个模块,成绩管理模块它可以实现成绩报表的记录,重要用来解决与学生成绩记录有关的功能,这对学校统筹学生成绩的总体表现以及寻找教学当中的某些问题具有极其重要的作用。成绩管理模块也可以对单个成绩进行添加,并且可以通过输入不同的学号,系统会自动地显示出所相应的结果。 (4
27、)课程管理模块:此模块的创建是为了顺应社会和时代的发展,面对如今信息化的时代,特别是计算机技术,更新换代如此之大,因此,学校的某些课程已经不能顺应时代的发展,趋于淘汰的边沿,为了方便快捷地将老旧课程从系统中移除,就需要有课程管理模块的支撑,这样也不会对学生的学习成绩产生较大的影响。管理员除了移除被淘汰的课程,也能相应地添加新的课程,涉及添加该学科名称和学科的学分。(5)用户管理模块:一个系统开发出来是提供应用户使用的,系统为用户服务,所以用户的需求必须要可以达成。用户管理模块对于用户对此系统的管理是必不可少的,为了方便用户操作和使用,我们在这个模块中提供了添加新用户、删除用户等功能来限定系统的
28、用户群和单个用户的使用权限。3.2.2 系统非功能性需求一套完整的系统除了要满足用户的业务需求之外同时也必须满足一些其他的需要,就是非功能性需求。这一需求涉及了系统的性能、可扩充性、可靠性、可维护性和对技术和业务的适应性等等。系统有以下非功能性需求:(1)系统安全性需求:本系统可以划分为三大部分,只有系统管理员才干对课程,班级,用户,教师信息进行管理;(2)系统易用性需求:易用性表现在在易见性,易学性和易用这几个原则,这样就可以保证用户更好的使用该系统。该系统遵循以用户为中心的原则进行设计。系统保证整个操作界面简洁易懂,并且提供在线帮助等功能。(3)系统可重用性需求:本系统采用三层Web体系结
29、构并进行分模块化结构设计,从而尽也许的防止代码冗余,增强代码的可重用性和可移植性。(4)系统界面规定:界面是进行人机交互的重要一环,尽量做到简朴适度,不要在页面上堆砌太多反复繁杂的内容,界面设计应定义一致的交互,导航和内容模式。应用系统美学的相关知识,界面和导航设计必须将要构造的应用系统与所处的领域保持一致。在已经建立拟定性的基础上,考虑到用户期待的与他们的规定相关的健壮的内容和功能,简洁舒适的外观是提高用户体验度的重要因素。可以应用于不同的环境并且必须兼容,不影响系统重要功能。(5)程序规定:能永久的存储用户信息。数据查找操作简易迅捷。用户权限分派的合理有序。创建的数据库能支持程序的运营,保
30、证数据的完整性和数据的及时更新。对于文献,应满足:操作手册的规格满足GB86的相关标准,相应的内容应对上述各功能有具体的说明,手册中不应包涵专业性晦涩的词汇,对数据库脚本恢复应提供具体的操作指南和图例,帮助用户可解决常见的基本问题。对于服务,需要基本完毕以下需求:其他的服务应按照维护阶段的内部约定进行。可以满足用户的基本规定,实现成绩管理的基本操作,界面清新和谐,操作简易上手。 (6)系统解决的准确性和及时性:在系统的具体设计和开发过程中,要以长远的角度去考虑系统目前和将来也许承受的工作量,使系统的解决能力和响应时间可以快速而准确。数据解决的及时性对于整个系统的性能功能评估举足轻重,系统的数据
31、来源十分广泛,而成绩管理系统的响应又影响学生的个人成绩,其准确性很大限度上决定了用户的满意限度。因此,在系统开发过程中,必须采用有力的方法保障系统的响应及时。(7)系统的开放性和系统的可扩充性:在开发成绩管理系统过程中,应当充足思量系统的可扩充性。学生成绩也会不断的更新和扩展,这都规定我们在设计系统之时就要为系统功能的调整和扩充做好准备。要实现这些,应通过提高系统的开放性来完善。我们的系统应是一个具有活力的开放性的系统,通过一定的接口实现,我们就可以轻松得减少和加入系统的模块,通过软件的修补、替换完毕系统的更新换代和升级。 3.3 可行性分析3.3.1 经济可行性分析在信息化快速发展的今天,互
32、联网时代使得成绩管理越来越趋于信息化和数字化。各大院校都在使用数字化的成绩管理系统展开成绩管理工作。毋庸置疑,使用本系统,教职工工的工作效率会得到提高,成绩管理的犯错率也会减少。成绩管理透明化,人力成本减少。服务质量也会明显增高,而本系统使用的计算机以及网络费用对整个系统来说承担并不重。开发人员比较少,总体来说投资比较少,同时它带可以来无形的,非常可观的经济效益。因此,此系统在市场上充满了潜力和商用价值,可研究性比较大,在经济上是完全可行的。3.3.2 技术可行性分析随着Internet网络技术、Web技术的发展和网络的普及,我们可以方便的对远程数据进行解决。本系统重要采用Eclipse和Sq
33、l Server2023进行相关的开发工作,大家都知道Eclipse是一种面向对象的可视化软件开发工具,它有一点做的特别好,那就是其封装了编程平台对数据库的访问。本人对网站开发流程比较熟悉,专业知识较好,掌握了JSP等网页技术,了解了三大框架技术,掌握了数据库设计和访问技术。对Java的语法规则基本熟悉,掌握了基本编程技术;并在此之前对学生成绩管理的现状和业务流程等进行了调查分析,参看过相关书籍资料,了解了成绩管理系统的设计思绪和实现过程,并有过项目开发的经验。在现在可以运用的资源条件下,开发一个基于Web的成绩管理系统不是一件难事。所有的功能都可以较好的实现,符合用户的所有需求都可以达成。随
34、着网络技术的发展,这个阶段性的产品以后有很大的发展前景。实现的方法和环节简朴容易,所以对成绩管理系统的开发在技术上是完全可行的。开发时间和技术能力可以满足开发本系统的规定,并且可以在规定的期限内开发完毕系统。在当今这个信息技术高速发展的时代,相应的网络技术也在被大量的人所学习,各式各样的开源软件工具等,快速地让技术和经验得到大量的交流。就比如这次的开发软件Eclipse,这就是一款开源的Eclipse开发软件。其官网上的大量文档,以及论坛社区的活跃,使得每一个开发者的问题都能被快速解决,各抒己见也让大家对这款软件有了更深的见解。4 总体设计4.1 系统总体结构设计本成绩管理系统是按照软件工程里
35、面的自顶向下的模块化设计方法,把系统要解决的问题一步步细化分解为小问题,转化为更小的、独立的子问题,进而简朴轻松地解决。这样,不仅让开发者程序编写变得更简朴,也有助于系统的测试和维护。本系统采用B/S模式,基于Web的三层架构,每个用户根据账号、角色、以及密码连接到互联网,就可以登陆系统,完毕和自身角色、权限分派相关的工作。系统重要由老师操作、学生操作和系统管理员三大部分组合而成,相应地设立了三种用户,这三种用户各有各的权限。其功能结构图如图4-1所示。图4-1 项目功能结构图4.2 数据库设计通过对系统的需求分析以及模块设计,我们就可以做出满足用户需求的各种实体以及它们之间的互相关系,本关系
36、根据上面的设计规划出的实体有:成绩信息实体、学生信息实体、课程信息实体、教师信息实体、用户信息实体。4.2.1 E-R图分析图1 学生信息实体图2 教师信息实体图3课程信息实体图4成绩信息实体图5班级信息实体图6角色用户信息实体图7管理员信息实体4.2.2 数据库表的结构将基于Web的学生成绩管理系统的数据库概念模型转化为Sql SERVER 2023数据库系统所表达的实际数据模型,即:数据库的逻辑结构。每个表格的设计结果如下所示:表1角色用户信息表列名列数据类型大小说明idvarchar4每一用户的编号,作为主键roleidvarchar20用户角色号pwdvarchar20用户密码表2 管
37、理员表列名数据类型大小说明aidvarchar20管理员的编号,作为主键anamevarchar20管理员姓名apwdvarchar20管理员密码表3 学生信息表列名数据类型大小说明sidvarchar20学生学号,作为主键snamevarchar20姓名sbirthvarchar20生日ssexvarchar20性别semailvarchar20邮箱saddressvarchar20地址sdepartvarchar20系别sclassvarchar20班级表4 课程表列名数据类型大小说明cidvarchar 20课程号cnamevarchar20课程名chourvarchar20课时ccre
38、ditvarchar20学分表5 成绩表列名数据类型大小说明sidvarchar20成绩编号,作为主键cidvarchar20课程编号scorevarchar20分数stimevarchar20时间表6 班级表列名数据类型大小说明classidvarchar20班级编号,作为主键classnamevarchar20班级名称表7 教师信息表列名数据类型大小说明tidvarchar20老师工号,作为主键tnamevarchar20姓名tpostvarchar20职称ttsexvarchar20性别tphonevarchar20联系方式5系统实现5.1数据库的实现根据学生成绩管理系统讲述的的数据库设
39、计。使用Microsoft Sql Server 2023数据库系统来实现其系统的逻辑结构。实现过程如下:一方面运用数据库的客户端创建一个数据库,数据库的名称自行定义,本系统数据库名称为“student”,然后创建本系统需要的表。本系统中共有7个表,即学生表(student)、教师表(teacher)、课程表(course)、成绩表(score)、班级表(classInfo)、角色用户表(users)、管理员表(admin)按照上述的数据库设计理论分别创建表,并插入数据。在数据库里新建查询,另存为一个名为student的Sql文献,在student.sql文献里面把表创建好,尚有增删改查的Sq
40、l语句一起执行,为了方便快捷,可以不用逐条执行,用批量插入代替。也可以写一个存储过程直接调用该存储过程就可以执行所有的Sql语句。-角色用户表drop table users;create table users(id varchar(100) not null,roleid varchar(100) not null,pwd varchar(100) not null,primary key(id);-管理员drop table admin;create table admin(aid varchar(100) not null,aname varchar(500) not null,apw
41、d varchar(100) null,primary key(aid);-学生表drop table student;create table student( sid varchar(100) not null,sname varchar(500) not null,sbirth varchar(100) null,ssex varchar(100) not null,semail varchar(100) null,saddress varchar(100) null,sclass varchar(100) null,primary key(sid);-教师表drop table tea
42、cher;create table teacher(tid varchar(100) not null,tname varchar(100) not null,tpost varchar(100) null,ttsex varchar(100) not null,tphone varchar(100) not null,primary key(tid);-课程表drop table if exists course;create table course(cid varchar(100) not null,cname varchar(100) not null,chour varchar(10
43、0) not nullccredit varchar(100) not null,primary key(cid);-成绩表drop table if exists score;create table score(sid varchar(100) not null,cid varchar(100) not null,score varchar(100) null,stime varchar(100) not null,primary key(sid,cid);-班级表create table class(classid not null,classname not null,primary
44、ket(classid);5.2数据库的配置系统采用对数据库配置进行单独管理的方法,在名为db.proties的配置文献中配置了系统要用到的数据库连接的字符串信息,因此在整个系统中中仅仅需要访问对该文档的这一配置即可,很大限度上方便了系统移植时对系统数据库的统一配置修改。db.properties配置文档的相关重要代码如下:jdbc.driver=com.microsoft.Sqlserver.jdbc.SqlServerDriverjdbc.url=jdbc:Sqlserver:/127.0.0.1;DatabaseName=studentjdbc.username=sajdbc.passw
45、ord=15.3系统主界面设计与实现5.3.1系统用户登录图1 系统用户登录系统图5.3.2学生查询个人成绩图2 学生查询个人成绩图5.3.3学生登录系统重置密码图3 学生重置密码图5.3.4老师查看和重置个人资料图4 老师查看和重置个人资料图5.3.5老师录入学生成绩图5 老师录入学生成绩图5.3.6老师查询学生成绩图6 老师查询学生成绩图5.3.7管理员进行后台数据管理图7 管理员后台数据管理图6 软件测试6.1 软件测试的定义在软件工程一书中,软件生存周期是可行性研究、需求分析、概要设计、具体设计、程序编码、软件测试、运营和维护。软件生存周期的各个阶段都也许产生程序错误。而软件需求分析、设计和实现三个阶段是软件犯错的重要来源。 软件测试的兴起因素,就是为了测试系统和预期的功能是否同样。在软件投入运营前,使用人工操作或者软件自动运营的方式来检测,它帮助开发人员提高计算机软件的对的度、完全度和质量,严格把控,是软件质量保证的关键环节。6.2 软件测试的原则(1)尽早地和多次地进行软件测试,最佳在