基于Web成绩管理系统设计与实现

更新时间:2023-03-08 05:43:28 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

衡阳师范学院 毕业论文

题目:基于Web成绩管理系统 设计与实现 所在学院:计算机科学与技术学院 专业: 网络工程 1 学号: 13480130 1 作者姓名:罗红梅 1 指导教师:田小梅 1

2017年5月10日

I

基于Web成绩管理系统设计与实现

计算机科学与技术学院网络工程专业

学号:13480130 姓名:罗红梅指导教师:田小梅

摘要在如今信息化高速发展的时代,学生成绩管理系统是实现学生成绩数字化管理不可缺少的部分。成绩管理系统主要根据当今大学生成绩为蓝本,采用Web应用程序的方式,基于MVC的三层架构体系,以及自顶而下的模块化技术进行系统开发,把系统分为三种普通用户,老师、学生,系统管理员。根据软件开发的标准,利用Microsoft Sql server 2008数据库和Java语言以及三大框架(Mybatis,Struts,Spring)来开发,并对整个系统进行了测试。系统从用户的角度来划分具有以下功能:管理员可以对班级、老师、学生、课程的信息进行增删改查操作;老师可以对学生成绩录入、修改、删除、浏览、导出学生成绩到表格以及浏览与修改基本信息,重置密码等;学生查询本人成绩以及浏览与修改本人基本信息,重置密码等。

关键词学生成绩;管理系统;Web系统开发;B/S模式

I

Design and Implementation of the Student score

management system based on Web

Computer science department Major: Network project

No:13480130 Name: Luo Hongmei Tutor: Tian Xiaomei

Abstract 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 system is mainly based on the results of today's 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 development, the paper use Microsoft Sql Server 2008 and Java as well as three framework to achieve and test the entire system. From a user's perspective,the system possess these function as follow: administrator can add,delete,revise or query the information of class, teacher, student and courses; teacher 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 systems development; B/S mode

II

目录

1 引言 ......................................................... 1 1.1 项目背景 ............................................... 1 1.2 研究意义 ............................................... 1 1.3 项目概述 ............................................... 1 2 开发技术和工具概述 ........................................... 3 2.1 浏览器和服务器模式 .................... 错误!未定义书签。 2.1JSP网页技术概述 ......................................... 3 2.2 三层框架技术概述 ....................................... 4 2.3 Java语言 .............................................. 4 2.4 主要开发工具 ........................................... 4 2.5.1 Eclipse ........................................... 4 2.5.2 Microsoft Sql Server 2008 ........ 错误!未定义书签。 3 系统分析 ..................................................... 5 3.1 业务概述 ................................................ 5 3.2 系统需求 ................................................ 6 3.2.1 系统功能性需求 ..................................... 8 3.2.2 系统非功能性需求 ................................... 9 3.3 可行性分析 ............................................. 10 3.3.1 经济可行性分析 .................................... 10 3.3.2 技术可行性分析 .................................... 10 4 总体设计 .................................................... 11 4.1 系统总体结构设计 ...................................... 11 4.2 数据库设计 ............................................ 12 4.2.1 E-R图分析 ....................................... 12 4.2.2 数据库表的结构 ................................... 14 5系统实现 .................................................... 17 5.1数据库的实现 ........................................... 17

III

5.2数据库的配置 ........................................... 19 5.3系统主界面设计与实现 ................................... 20 5.3.1系统用户登录 ...................................... 20 5.3.2学生查询个人成绩 .................................. 20 5.3.3学生登录系统重置密码 .............................. 21 5.3.4老师查看和重置个人资料 ............................ 21 5.3.5老师录入学生成绩 .................................. 22 5.3.6老师查询学生成绩 .................................. 22 5.3.7管理员进行后台数据管理 ............................ 24 6 软件测试 .................................................... 25 6.1 软件测试的定义 ......................................... 25 6.2 软件测试的原则 ......................................... 25 6.3 软件测试结果 ........................................... 25 6.3.1 测试用例的定义 .................................... 25 6.3.2界面测试 .......................................... 25 6.3.3 功能测试 .......................................... 26 6.3.4 测试结果及结论 .................................... 26 总结 .......................................................... 27 参考文献 ...................................................... 28

IV

1 引言

1.1 项目背景

毋庸置疑,在当今社会实现学生成绩管理数字化必须需要一个规范的成绩管理系统。做为学校日常教务管理系统的“一员”,学生成绩管理系统其主要突出了信息化在管理运用中所发挥出来的作用。如此一来很好地提高教师工作效率以及提供学生对于自己成绩了解的便捷性、减少了各项成本及改善服务质量,具有很大的商用价值。

由于外国对教育教学软件的开发投入较早,其研究成果相对国内来说比较领先和成熟,所以就目前来看,国内的成绩管理系统和国外相比软件管理水平还是有很大的一段差距。明显单机版的成绩管理系统已经不能再适应发展的要求,所有这些实情表明基于互联网的校园网的应用将会深入到校园内的各个方面。

1.2 研究意义

学生成绩管理系统的研究就是为了更好地服务于学校,让其高效、准确地管理学生的考试成绩。就目前的形式来看,国内各学校对学生成绩的管理还停留在手工阶段,面对学校日益繁多的教学工作,学校老师就需要花费大量的时间和精力来登记和统计学生的考试成绩,如此繁重的统计工作不仅影响工作效率、劳神伤身而且往往还会因为精力下降,产生很多错误。并且,手工统计的数据对后期成绩的查阅和维护工作也会带来不便,工作繁重。因此,学生成绩管理系统不管对学校还是老师来说,都是顺应时代进步的必然产物,是学校管理系统中不可或缺的一员。学生成绩管理系统它能够完成目前各学校急需解决的学生个人资料、考试成绩的录入,删除,查询,维护以及成绩的统计分析工作,方便教师管理学生各类信息。同时学校教务处也能通过此系统对教学课程、各级学生、考试成绩进行合理的归类归档和统筹计划等。

学生成绩管理系统除了方便学校和教务处的教学管理外,还能够很大程度提高学校的办事效率和管理水平的提高,使学校紧跟社会信息高速发展的步伐,这对学校的规范管理以及各学校之间的教学互动、学习、交流都有深刻的意义。此系统不仅可以为学校减少教学开支,保证工作的效率和准确性,同时家长和学生自己能够方便快捷地通过此系统的查询,了解学生在学习上的成果,针对性地加强学习。学生成绩管理系统也为学校在竞争日益强烈的社会环境下打下了坚实的基础。

1.3 项目概述

通过认真了解国内各教育机构和学校以及国外学生成绩系统的发展历史和现状,得知近年来我

1

国高等职业教育迎来了高速发展的新局面,如今的社会是追求知识和人才的时代,人们的生活水平提高了,自然对受教育的层次也越来越高,这使得教育事业迎来了前所未有的广阔前景,各大院校为了广接生源规模越来越大,这就使得学校的管理变得异常沉重。以往依靠手工以及单机操作的工作变得繁琐和低效。针对这一情况,学院需要寻求一种高效的,安全的,跨平台的,便捷的,快速的,信息化的成绩管理系统来展开学校教务工作。又快又好的解决目前信息化建设中急需的问题。这一举动将具有深远的影响。

通过对系统进行了可行性分析,并根据用户的实际需求分析进行系统设计;选择B/S模式来架构系统,从用户的角度分学生操作、老师操作、系统管理员操作三大模块来设计系统,同时根据系统的需要设计数据库;接着运用软件工程方法结合面向对象的分析设计方法对各模块进行详细设计,分析各模块的功能和关系,结合JSP页面设计和Java后台代码编程实现整个系统;进行系统测试,以保证系统的可用性、正确性、安全性和可靠性。

2

2 开发技术和工具概述

2.1 JSP网页技术概述

JSP是Java Server Pages的缩写形式,它的中文名叫做java服务器页面。JSP是一种动态网页技术,最初是由Sun公司和其他公司合作研发出来的。JSP的使用完全依赖于Java Servlet(Java服务器端小程序)。JSP的原理就是在HTML编写的静态页面里插入Java代码,主要和后台交互。因此JSP具有Java面向对象的特性,而且是跨平台的,采用JSP技术开发的Web系统既能在Windows系统下运行用能在Linux系统下运行。

JSP页面主要有HTML文件、CSS文件、JS文件、静态文本、还有JSP固有的代码以及标签;其中HTML用来显示的静态页面,CSS代码用来给静态页面加上“漂亮的衣服”,JS代码可以让整个页面动起来以及控制某些事务逻辑;JSP固有代码包括JSP声明用来定义变量、JSP注释用来添加注释、JSP表达式等,标签通常以<%开头,以%>结束。

JSP是一种Java Servlet,它担任网站显示层的那个角色。网站开发者们通过使用HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP主要是利用表单和后台交互,用户通过输入表单数据,插入数据后台,数据后台的数据也是通过表单来实现,以此来实现动态网页。

当用户访问某个网站时,JSP页面都会被初始化。JSP会发送请求到Web容器,该请求由JSP引擎处理,再返回响应的结果给用户。Web容器中的JSP引擎其实就是一个Servlet程序,它负责解释和执行JSP页面。JSP引擎先将JSP页面翻译成Servlet源程序,接着再把这个Servlet源程序编译成.class文件,然后再由WEB容器像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序,最后把得到的数据响应给浏览器。

JSP受到了越来越多网站开发者的青睐,这种网站是动态的并且和数据库结合。企业通过这样的网站随时更新信息,发布在互联网上,用户可以随时通过浏览器浏览信息,和用户有很好的交流,所以它的优点有以下方面:

(一)跨平台:由于JSP是基于Servlet的,而Servlet是基于Java的。Java语言具有平台无关性,不管在Linux系统或者Windows系统下都可以执行JSP程序代码.。

(二)执行效率高:JSP是基于Servlet的,而Servlet的特点是编译一次,反复执行。所以JSP在系统初始化的时候已经被编译,以后每次访问这个JSP页面都不需要再编译,访问速度不言而知,用户的体验相对而言会很好。

(三)JSP标签可扩充性:JSP技术支持自定义的标签,网站开发者可以利用XML自行定义标签达到自己预想的效果。

3

(四) 健壮性与安全性:由于JSP页面使用的脚本语言是Java程序设计语言, 因此,它就具有Java技术的优点, 包括健壮的存储管理、多处理器环境的可靠性和安全性。

2.2 三层框架技术概述

SSM(Struts、Spring、Mybatis)三大框架是目前IT界软件开发者们几乎都在用的技术。很多企业都在用它。其中Struts穿梭于页面表示层;Spring主要作用于业务逻辑的把控,数据交互;Mybatis主要起到数据持久化的作用,降低数据库编程的复杂度,让Sql语句不再和代码放在一起;利用SSM框架,不仅可以体现JSP页面的变化,而且对模型层和数据层的改动也非常小,数据库的变化也降低了对视图层所带来的影响,可以提高系统的复用性和扩展性。而且由于不同层之间耦合度拉小,开发团队成员可以更好的协作。同时也使得程序变得更加简洁和灵活,很大程度上提高了软件开发的效率。

2.3 Java语言

众所周知,Java语言相比C语言而言是一种纯粹的面向对象的编程语言。Java语言具有优越的跨平特性,能够真正实现“Write one Run everywhere”。写一次代码,就可以在各大平台运行。前提条件是该平台安装了Java虚拟机。Java的另一个优势是具备很好的安全机制,其封装了对底层的所有操作,开发人员不需要再像写C语言那样考虑内存泄露的问题;当然,我们也需要正视Java的劣势:虚拟机的执行速度偏慢,但是相信科学的力量,虚拟机的各项性能够在未来越来越好,那个时候,Java可能会成为不可替代的一门语言。

2.4主要开发工具 2.5.1 Eclipse

Eclipse 是开源的、基于Java的健壮的便捷开发平台。Eclipse本身是不需要安装的,轻巧快捷。 它主要有视图、编辑窗口和观察窗口三部分[8]。多个编辑窗口和观察窗口可以在一个视图里呈现。视图图标显示在开发环境的最左侧的快捷栏中。视图是Eclipse的最灵活的部分,用户可以灵活的调节视图的位置,窗口的大小,风格样式可以随便变换。

这样的平等性和一致性并不仅仅限于 Java 开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不仅限于 Java 语言;例如,它可以支持PHP、COBOL、Android、C/C++等一系列编程语言的插件,在不久的将来可以预计推出。Eclipse始于1999年,当时是IBM公司开发给自己用的,2001年时贡献给开源社区[2]。成立Eclipse开源项目后众多的软件公司参与进Eclipse的开发,并于2007年发布稳定版。2003年,OSGi服务平台规范了Eclipse 3.0运行架构。2006年8月,稳定版3.4发布;2006年7月发布代号为Ganymede的3.5版;2007年8月发布代号为Galileo的3.6版;2011

4

年6月发布代号为Helios的3.7版;2012年6月发布代号为Indigo的3.8版;同年2012年9月发布代号为Juno的4.2版;2013年6月发布代号为Kepler的4.3版;2014年6月发布代号为Luna的4.4版;2015年6月项目发布代号为Mars的4.5版。

3 系统分析

3.1 业务概述

学生成绩管理系统是一个为服务于学生考试成绩管理而开发出来的学校ERP资源管理软件。就目前的形式来看,国内各学校对学生成绩的管理还停留在手工阶段,面对学校日益繁多的教学测试,学校老师就需要花费大量的时间和精力来登记和统计学生的考试成绩,如此繁重的统计工作,不仅

5

影响工作效率、劳神伤身而且往往还会因为精力下降,产生很多错误。并且,手工统计的数据对后期成绩的查阅和维护工作也会带来不便,工作繁重。学生成绩管理系统它能够完成目前各学校急需解决的:学生个人资料、考试成绩的录入,删除,查询,维护以及成绩的统计分析工作,方便教师管理学生各类信息。同时,学校教务处也能通过此系统对教学课程、各级学生、考试成绩进行合理的归类归档和统筹计划等。学生成绩管理系统除了方便学校和教务处的教学管理外,能够很大程度提高学校的办事效率和管理水平的提高,为学校减少教学开支,保证工作的效率和准确性。 该系统有以下功能:

管理员操作:

(1)班级信息管理:管理员登录系统对班级信息进行录入,修改,删除,浏览操作。 (2)学生信息管理:管理员登录系统对学生信息进行录入,修改,删除,浏览操作。 (3)课程信息管理:管理员登录系统对课程信息进行录入,修改,删除,浏览操作。 (4)教师信息管理:管理员登录系统对教师信息进行录入,修改,删除,浏览操作。 (5)用户信息管理:用户登录系统对系统用户进行录入,修改,删除,浏览操作。 教师操作:

(1)成绩管理:教师凭借管理员授予的工号,密码,身份登录系统录入自己所教学生的成绩 并根据需要更改密码,防止账号密码泄露。

(2)个人中心:教师凭借管理员授予的工号,密码,身份登录系统查询自己的基本信息资料,并根据需要更改密码,防止账号密码泄露。

学生操作:

(1)学生成绩管理:学生凭借管理员授予的登录账号,密码查询自己的个人成绩。

(2)个人中心:教师凭借管理员授予的工号,密码,身份查询自己的基本信息资料,并根据需要更改密码,防止账号密码泄露。

3.2 系统需求

学生成绩管理系统以用户为划分依据分成三大模块即老师,学生,管理员。

为了进一步准确地描述系统用户与服务的交互情况,这里使用UML中的用例图(User Case)。 学生登录系统后,可以查询自己在学校所有的学习成绩、查询自己基本资料、修改资料,重置密码;学生用例图如图1所示。

6

重置密码查询个人成绩学生查询个人资料

图1 学生用例图

老师可以进行录入学生成绩,查询自己所授课程,查询自己基本资料、修改资料,重置密码;老师用例图如图2所示。

重置密码查询个人资料<>录入学生成绩老师查询学生成绩

图2 老师用例图

系统管理员登录后,对班级信息,学生信息,课程信息,老师信息进行统一管理。 管理员用例图如图3所示。

7

课程信息管理教师信息管理<>学生信息管理管理员班级信息管理

图3 管理员用例图

3.2.1 系统功能性需求

该系统的特点是其具有三大特性:开放性、灵活性、以及方便性。通过此系统,系统管理员不仅能够便捷地通过数据库增添学生,查询,编辑学生的考试成绩,同时能够新加科目并建立对应的数据。用户能够根据自己的需求,在系统中选择相应的课程。这样本系统可以分文以下几个模块: (1)用户登录模块:

当用户进入网站首页时,就进入了登录模块,根据业务逻辑判断登录人的身份是否存在。这是系统安全最重要的一个环节。用户的账号和密码必须经过业务逻辑的处理方可以使用此系统。作为一个ERP管理软件,页面应该越简洁越好。所以把系统的登录界面只做了一个页面,不同身份的人登录进去左边菜单的授权菜单是不一样的。

(2)信息管理模块:

该模块是本系统的基础模块,用来让用户自己修改,查询自己的基本信息以及更改系统登录密码,及时动态更新自己的资料。 (3)成绩管理模块:

作为成绩管理系统中最重要的一个模块,成绩管理模块它能够实现成绩报表的统计,主要用来处理与学生成绩统计有关的功能,这对学校统筹学生成绩的总体表现以及寻找教学当中的某些问题具有极其重要的作用。成绩管理模块也可以对单个成绩进行添加,并且可以通过输入不同的学号,系统会自动地显示出所对应的结果。 (4)课程管理模块:

8

此模块的创建是为了顺应社会和时代的发展,面对如今信息化的时代,尤其是计算机技术,更新换代如此之大,因此,学校的某些课程已经不能顺应时代的发展,趋于淘汰的边缘,为了方便快捷地将老旧课程从系统中移除,就需要有课程管理模块的支撑,这样也不会对学生的学习成绩产生较大的影响。管理员除了移除被淘汰的课程,也能相应地添加新的课程,包括添加该学科名称和学科的学分。

(5)用户管理模块:

一个系统开发出来是提供给用户使用的,系统为用户服务,所以用户的需求必须要能够达到。用户管理模块对于用户对此系统的管理是必不可少的,为了方便用户操作和使用,我们在这个模块中提供了添加新用户、删除用户等功能来限定系统的用户群和单个用户的使用权限。

3.2.2 系统非功能性需求

一套完整的系统除了要满足用户的业务需求之外同时也必须满足一些其他的需要,就是非功能性需求。这一需求包括了系统的性能、可扩充性、可靠性、可维护性和对技术和业务的适应性等等。

系统有以下非功能性需求:

(1)系统安全性需求:本系统可以划分为三大部分,只有系统管理员才能对课程,班级,用户,教师信息进行管理;

(2)系统易用性需求:易用性表现在在易见性,易学性和易用这几个原则,这样就可以保证用户更好的使用该系统。该系统遵循以用户为中心的原则进行设计。系统保证整个操作界面简洁易懂,并且提供在线帮助等功能。

(3)系统可重用性需求:本系统采用三层Web体系结构并进行分模块化结构设计,从而尽可能的防止代码冗余,增强代码的可重用性和可移植性。

(4)系统界面要求:界面是进行人机交互的重要一环,尽量做到简单适度,不要在页面上堆砌太多重复繁杂的内容,界面设计应定义一致的交互,导航和内容模式。应用系统美学的相关知识,界面和导航设计必须将要构造的应用系统与所处的领域保持一致。在已经建立确定性的基础上,考虑到用户期待的与他们的要求相关的健壮的内容和功能,简洁舒适的外观是提高用户体验度的主要因素。可以应用于不同的环境并且必须兼容,不影响系统主要功能。

(5)程序要求:能永久的存储用户信息。数据查找操作简易迅捷。用户权限分配的合理有序。创建的数据库能支持程序的运行,保证数据的完整性和数据的及时更新。对于文件,应满足:操作手册的规格满足GB86的相关标准,对应的内容应对上述各功能有详细的说明,手册中不应包涵专业性晦涩的词汇,对数据库脚本恢复应提供详细的操作指南和图例,帮助用户可解决常见的基本问

9

题。对于服务,需要基本完成以下需求:其他的服务应按照维护阶段的内部约定进行。能够满足用户的基本要求,实现成绩管理的基本操作,界面清新友好,操作简易上手。

(6)系统处理的准确性和及时性:在系统的详细设计和开发过程中,要以长远的角度去考虑系统目前和将来可能承受的工作量,使系统的处理能力和响应时间能够快速而准确。数据处理的及时性对于整个系统的性能功能评定举足轻重,系统的数据来源十分广泛,而成绩管理系统的响应又影响学生的个人成绩,其准确性很大程度上决定了用户的满意程度。因此,在系统开发过程中,必须采取有力的方法保障系统的响应及时。

(7)系统的开放性和系统的可扩充性:在开发成绩管理系统过程中,应该充分思量系统的可扩充性。学生成绩也会不断的更新和扩展,这都要求我们在设计系统之时就要为系统功能的调整和扩充做好准备。要实现这些,应通过提高系统的开放性来完善。我们的系统应是一个具有活力的开放性的系统,经过一定的接口实现,我们就可以轻松得减少和加入系统的模块,通过软件的修补、替换完成系统的更新换代和升级。

3.3 可行性分析 3.3.1 经济可行性分析

在信息化快速发展的今天,互联网时代使得成绩管理越来越趋于信息化和数字化。各大院校都在使用数字化的成绩管理系统展开成绩管理工作。毋庸置疑,使用本系统,教职员工的工作效率会得到提高,成绩管理的出错率也会减少。成绩管理透明化,人力成本降低。服务质量也会明显增高,而本系统使用的计算机以及网络费用对整个系统来说负担并不重。

开发人员比较少,总体来说投资比较少,同时它带可以来无形的,非常可观的经济效益。因此,此系统在市场上充满了潜力和商用价值,可研究性比较大,在经济上是完全可行的。

3.3.2 技术可行性分析

随着Internet网络技术、Web技术的发展和网络的普及,我们可以方便的对远程数据进行处理。本系统主要采用Eclipse和Sql Server2008进行相关的开发工作,大家都知道Eclipse是一种面向对象的可视化软件开发工具,它有一点做的特别好,那就是其封装了编程平台对数据库的访问。

本人对网站开发流程比较熟悉,专业知识较好,掌握了JSP等网页技术,了解了三大框架技术,掌握了数据库设计和访问技术。对Java的语法规则基本熟悉,掌握了基本编程技术;并在此之前对学生成绩管理的现状和业务流程等进行了调查分析,参看过相关书籍资料,了解了成绩管理系统的设计思路和实现过程,并有过项目开发的经验。在现在可以利用的资源条件下,开发一个基于Web

10

的成绩管理系统不是一件难事。所有的功能都可以较好的实现,符合用户的所有需求都可以达到。随着网络技术的发展,这个阶段性的产品以后有很大的发展前景。实现的方法和步骤简单容易,所以对成绩管理系统的开发在技术上是完全可行的。开发时间和技术能力能够满足开发本系统的要求,并且能够在规定的期限内开发完成系统。

在当今这个信息技术高速发展的时代,相应的网络技术也在被大量的人所学习,各式各样的开源软件工具等,快速地让技术和经验得到大量的交流。就比如这次的开发软件Eclipse,这就是一款开源的Eclipse开发软件。其官网上的大量文档,以及论坛社区的活跃,使得每一个开发者的问题都能被快速解决,各抒己见也让大家对这款软件有了更深的见解。

4 总体设计

4.1 系统总体结构设计

本成绩管理系统是按照软件工程里面的自顶向下的模块化设计方法,把系统要解决的问题一步步细化分解为小问题,转化为更小的、独立的子问题,进而简单轻松地解决。这样,不仅让开发者程序编写变得更简单,也有利于系统的测试和维护。

本系统采用B/S模式,基于Web的三层架构,每个用户根据账号、角色、以及密码连接到互联网,就可以登陆系统,完成和自身角色、权限分配相关的工作。

系统主要由老师操作、学生操作和系统管理员三大部分组合而成,相应地设置了三种用户,这三种用户各有各的权限。其功能结构图如图4-1所示。

11

基于Web成绩管理系统设计与实现学生管理员老师个人中心查询成绩课程信息教师信息学生信息班级信息个人中心录入成绩查询成绩增删改查增删改查增删改查增删改查

图4-1 项目功能结构图

4.2 数据库设计

通过对系统的需求分析以及模块设计,我们就能够做出满足用户需求的各种实体以及它们之间的相互关系,本关系根据上面的设计规划出的实体有:成绩信息实体、学生信息实体、课程信息实体、教师信息实体、用户信息实体。

4.2.1 E-R图分析

性别生日地址学生姓名班级邮箱学号

图1 学生信息实体

12

性别职称姓名教师性别联系方式图2 教师信息实体

教师ID

课程ID学分课程课程名课时

图3课程信息实体

成绩学生ID成绩时间课程号

图4成绩信息实体

13

班级ID班级号班级

图5班级信息实体

角色Id用户密码用户Id

图6角色用户信息实体

姓名管理员ID管理员密码

图7管理员信息实体

4.2.2 数据库表的结构

将基于Web的学生成绩管理系统的数据库概念模型转化为Sql SERVER 2008数据库系统所表示的实际数据模型,即:数据库的逻辑结构。每个表格的设计结果如下所示:

表1角色用户信息表

id roleid

数据类型 varchar varchar

大小 4 20

说明

每一用户的编号,作为主键 用户角色号

14

pwd

varchar 20 用户密码

表2 管理员表

列名 aid aname apwd

表3 学生信息表

列名 sid sname sbirth ssex semail saddress sdepart sclass

表4 课程表

列名 cid cname chour ccredit

数据类型 varchar varchar varchar varchar

大小 20 20 20 20 表5 成绩表

说 明 课程号 课程名 课时 学分

数据类型 varchar varchar varchar varchar varchar varchar varchar varchar 大小

20 20 20 20 20 20 20 20 说明

学生学号,作为主键 姓名 生日 性别 邮箱 地址 系别 班级 数据类型 varchar varchar varchar

大小 20 20 20

说 明

管理员的编号,作为主键 管理员姓名 管理员密码

15

列名 sid cid score stime

数据类型 varchar varchar varchar varchar

大小

20 20 20 20 表6 班级表

说 明

成绩编号,作为主键 课程编号 分数 时间

列名 classid classname

数据类型 varchar varchar

大小

20 20

表7 教师信息表

说 明

班级编号,作为主键 班级名称

列名 tid tname tpost ttsex tphone

数据类型 varchar varchar varchar varchar varchar

大小

20 20 20 20 20

说明

老师工号,作为主键 姓名 职称 性别 联系方式

16

5系统实现

5.1数据库的实现

根据学生成绩管理系统讲述的的数据库设计。使用Microsoft Sql Server 2008数据库系统来实现其系统的逻辑结构。实现过程如下:

首先利用数据库的客户端创建一个数据库,数据库的名称自行定义,本系统数据库名称为“student”,然后创建本系统需要的表。本系统中共有7个表,即学生表(student)、教师表(teacher)、课程表(course)、成绩表(score)、班级表(classInfo)、角色用户表(users)、管理员表(admin)按照上述的数据库设计理论分别创建表,并插入数据。

在数据库里新建查询,另存为一个名为student的Sql文件,在student.sql文件里面把表创建好,还有增删改查的Sql语句一起执行,为了方便快捷,可以不用逐条执行,用批量插入代替。也可以写一个存储过程直接调用该存储过程就可以执行所有的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, apwd varchar(100) null, primary key(aid) ); --学生表 drop table student; create table student(

17

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 teacher; 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(100) not null ccredit varchar(100) not null, primary key(cid) ); --成绩表

drop table if exists score; create table score( sid varchar(100) not null,

18

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 ket(classid));

5.2数据库的配置

系统采用对数据库配置进行单独管理的方法,在名为db.proties的配置文件中配置了系统要用到的数据库连接的字符串信息,因此在整个系统中中仅仅需要访问对该文档的这一配置即可,很大程度上方便了系统移植时对系统数据库的统一配置修改。 db.properties配置文档的相关主要代码如下: jdbc.driver=com.microsoft.Sqlserver.jdbc.SqlServerDriver jdbc.url=jdbc:Sqlserver://127.0.0.1;DatabaseName=student jdbc.username=sa jdbc.password=1

19

5.3系统主界面设计与实现 5.3.1系统用户登录

图1 系统用户登录系统图

5.3.2学生查询个人成绩

图2 学生查询个人成绩图

20

5.3.3学生登录系统重置密码

图3 学生重置密码图

5.3.4老师查看和重置个人资料

图4 老师查看和重置个人资料图

21

5.3.5老师录入学生成绩

图5 老师录入学生成绩图

5.3.6老师查询学生成绩

图6 老师查询学生成绩图

22

5.3.7管理员进行后台数据管理

图7 管理员后台数据管理图

24

6 软件测试

6.1 软件测试的定义

在软件工程一书中,软件生存周期是可行性研究、需求分析、概要设计、详细设计、程序编码、软件测试、运行和维护。软件生存周期的各个阶段都可能产生程序错误。而软件需求分析、设计和实现三个阶段是软件出错的主要来源。

软件测试的兴起原因,就是为了测试系统和预期的功能是否一样。在软件投入运行前,使用人工操作或者软件自动运行的方式来检测,它帮助开发人员提高计算机软件的正确度、完全度和质量,严格把控,是软件质量保证的关键步骤。

6.2 软件测试的原则

(1)尽早地和多次地进行软件测试,最好在需求阶段就开始。 (2)程序开发者应该避免测试自己的程序,由第三方团队负责。

(3)测试Bug要慎重提交,考虑系统合理性,严重的Bug可以召开评审会议进行讨论分析。 (4)测试期限要合理,时间安排尽量宽松。

(5)测试完成后也因妥善保存测试用例与测试报告,以便后期维护和后加入团队的其他人快速接手。

6.3 软件测试结果 6.3.1 测试用例的定义

(1)测试用例是设计和制定测试过程的基础。不同的测试用例反映了在不同的场景、不同的设备条件下软件执行的结果,与开发同时进行测试。在这一过程中负责人要考虑到软件本身的复杂程度、测试方法的选择和团队成员(产品、设计、分析、编程和测试人员)的素质等等客观存在的因素,将这些人为因素影响减少到最小,在测试阶段和软件版本的迭代中日趋完善测试用例。

(2)使用测试用例的三大好处:一是明确测试的覆盖率,只有针对需求书写了测试用例才能统计覆盖率。二是起到了学习总结的作用,测试用例的好坏可以供他人学习,从中取其精华、去其糟粕,还可以在项目出问题的时候针对测试用例看看哪里疏忽,快速排除错误、降低工作强度、缩短项目周期。三是好的测试用例重点突出、目的明确,可以避免测试人员盲目测试,提高测试的效率。

6.3.2界面测试

(1)测试界面设计是否符合日常习惯、是否简洁、是否美观、操作是否方便。

25

(2)确认系统中同一功能名称命名是都统一。

(3)样式、风格是否与网站其它模块统一,比如说查询条件、手动输入的搜索框位置是否一致。 (4)检查页面内所有字段名称、显示风格是否统一,比如文本内容居中、标题和内容字体进行区分等。

6.3.3 功能测试

(1)登录功能:输入用户名为“13480101”,密码为“1”,身份为“学生”的身份登录系统,可以正常登录,系统右下角提示欢迎您登录系统。

(2)学生成绩查询功能:学生登录系统,点击左边成绩查询菜单,显示全该学生的全部成绩。 查询列表上方按条件查询会出现相应的成绩信息。

(3)学生查看资料和重置密码功能:学生登录系统,点击左边个人中心菜单下的“个人资料”和“重置密码”子菜单,显示该学生个人资料,可以对表格进行编辑,点击更新,全部更新成功。

(4)老师录入成绩功能:老师登录系统,点击左边菜单栏“学生成绩录入”菜单,会显示录入成绩的表单,输入“学号”,“课程”,“成绩”,点击保存。系统会弹出提示框“录入成功”的消息。

(5)管理员管理数据:管理员登录系统,分别点击左边菜单“课程管理”、“班级管理”、“学生管理”、“老师管理”菜单,可以进行增删改查操作并提示成功。

6.3.4 测试结果及结论

本系统测试工作完成较为圆满。通过不同的测试方式和多个人员分别测试多次,如样式更改或者数值设置频繁输入,实际的页面呈现效果都符合预期,系统所要求的主要功能都已基本实现,值得注意的是,在测试过程中出现的一些问题疏漏,有时会有一些小异常,这是系统不稳定导致的,也正是需要改进的地方。此外,系统安全性方面的欠缺也是及其需要改进的地方。

26

总结

从去年11月到现在即将答辩,经历了将近了六个月的时间,我设计开发的基于Web成绩管理系统设计与实现的网站已经基本实现。我深深的感触到,一个系统从需求分析,数据库设计,页面设计,数据交互到最终完成需要很大的精力和时间。有时候因为自身开发经验的有限,编写代码中出现的Bug难以定位,导致花了大量的时间去调试代码。

但是由于自身能力的有限,本系统还有许多需要不断改进的地方,比如说明文档比较少,出错处理机制不够完善等问题,这些都有待进一步改善,而且后续如果进一步完善本系统需要将很多数据转化为图表的形式,更直观也更美观,当然,这更考验以后自身的软件设计能力。

从选题开始,到被老师确选,展开后续的毕业设计工作,我去咨询了很多编程能力很优秀的同学,跟他们讨论系统的总体架构,有自己的想法,也借鉴了他们部分的想法。去网上浏览参考文献和书籍,再与指导老师交流,我在做系统的过程中思路就清晰很多了。这个系统的完成很大程度上提高了我的专业知识和软件开发的实战能力,在不久的几个月里,我将步入社会,我相信它可以成为我工作的敲门砖。

27

参考文献

[1]刘宝库.基于Web的成绩管理系统的设计与实现[D].大庆石油学院,2009.

[2]王英合.基于Web的学生信息管理系统设计与实现[D].中国海洋大学,2006.

[3]蒲玲.基于Web的学生成绩管理系统设计与实现[D].电子科技大学,2007.

[4]陈书敏.基于Web的成绩管理系统设计与实现[D].南昌大学,2009.

[5]黎莉.基于Web的中学成绩管理系统研究与实现[D].云南大学,2010.

[6]张丽娟.基于Web的学生成绩管理系统的设计与实现[D].吉林大学,2009.

[7]王安福.基于Web的教务管理成绩查询系统的设计与实现[D].西北大学,2009.

[8]杨智博.基于网络的学生成绩管理系统的设计与实现[J].电子技术与软件工程,2017.

[9]林海.基于Web模式的成绩报送子系统的优化设计与实现[J]. 现代计算机,2008(04):141-143.

[10]黄俊涛.基于Web成绩管理系统的设计与实现[J]. 成功(教育),2010(04):292-292.

[11]珠杰,普次仁,仁青诺布,陈好刚.基于Web的工学院成绩管理系统的设计与实现[J]. 西藏大学学报(汉文版),2007,22(S1):61-66.

28

本文来源:https://www.bwwdw.com/article/mhv.html

Top