已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要目前,学校工作繁杂、资料重多,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。根据开发要求,它主要应用于教育系统,完成对日常学生成绩的录入查询更新删除等管理操作,实现学生成绩管理的计算机化。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。本论文叙述了现在高校学生成绩管理的现状以及java语言和一些开源框架的概况。重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据库设计、功能设计、系统物理配置方案、 系统实现、系统测试以及系统功能简介。关键词:jsp,j2ee,学生成绩维护系统,mysql,hibernate,struts abstract at present, the school work is numerous and diverse, material is heavy, the management information system enters into the university, but does not popular, but regarding the student achievement management, does not have a set completely and unification system. therefore, develops a set suitable,populace and compatible good system is very necessary. according to the development request, it mainly applies in the educational system, completes to daily student achievement maintenance operations and so on input inquiry renewal deletion, realizes student achievement maintenance computerizing. developing the student achievement maintenance system can let the institute teaching and administrative staff to reduce the working pressure, compare with systematically to the educational administration, teaching each service and the information carries on the management, simultaneously, can reduce the labor force which is used, speed up the inquiry speed, strengthen the management. the paper narrated the present universitys study result management in the present situation and the java language and some opens the source frame of the survey. introduced the realizes process of the student achievement management system: including the system analysis、the system investigation、the database design、the functional design、the system physics disposition plan、the system realize、the system test and the system introduction.key words: jsp, j2ee, student performance management system, mysql,hibernate, struts 目 录第一章 绪 论41.2 项目开发的目标41.3 项目提出的意义4第二章 系统开发主要运用技术及开发模式62.1 系统开发技术介绍62.1.1 jsp技术62.1.2 javabeans 技术72.1.3 html及javascript技术72.1.4 struts技术92.2开发工具介绍92.2.1 eclipse简介92.2.2 tomcat简介102.3开发模式介绍102.4 数据库技术132.4.1 关系数据库模型132.4.2 规范化132.4.3 mysql 简介142.5 软硬件环境15第三章 系统需求分析163.2系统构架163.3 用户需求173.3.1学生的需求173.3.2老师的需求173.3.3管理员的需求173.4 数据需求分析173.4.1 数据字典183.4.2 e-r 图19第四章 系统总体设计214.1 系统功能结构图214.2系统总体设计思想214.3系统设计分析224.4 数据库设计224.4.1 数据库的概要设计224.4.2 数据库表的设计23第五章 系统详细设计255.1 登录功能设计255.2 学员管理功能255.3 教师管理功能265.4 教务管理员功能275.5用户返回功能28第六章 系统实现与测试296.1登录身份的实现296.2学生登陆功能的实现296.3教师登陆功能的实现306.4教务管理员功能的实现326.5 系统测试346.5.1 测试原理346.5.2 测试方法356.5.3 测试的架构366.5.3 测试环境的搭建376.5.4 测试结果39第七章 总 结40致 谢41参考文献42第一章 绪 论1.1 项目开发背景 一直以来学生的成绩管理是学校工作中的一项重要内容,我国的大中专院校的学生成绩管理水平普遍不高。随着办学规模的扩大和招生人数的增加,建立一个成绩维护系统是非常必要的。普通的成绩管理已不能适应时代的发展,因为它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。 本系统在大多数成绩管理系统的基础上,主要增加了教师对成绩的操作,教师改完试卷后不用在往学院的教务处办公室报送成绩,可以直接的把成绩上传到网络上,学生也可以方便快速的查询到自己的成绩,考试后教务管理人员也不必总呆在学院的办公室,他们都不受时间,位置,空间的限制,只要有上网的条件,在家里就可以完成有关成绩的录入,更新,管理,查询和删除。本系统将会改变以前靠手工管理学生成绩的状况,提高工作效率。希望能为老师和学校的工作带来便利。1.2 项目开发的目标 建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: (1)系统应具有实用性、可靠性和适用性,同时注意到先进性。 (2)对各个数据库进行动态管理,防止混乱。 (3)不同用户有不同的查询和修改权限,防止非法查询,非法修改。 (4)能够对查询结果进行分类汇总,实现报表打印和下载。 (5)方便用户的操作,尽量减少用户的操作。 1.3 项目提出的意义 随着高校办学规模的扩大和招生人数的增加,学生成绩管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。 在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。对于一个学校而言,管理好学生的成绩,是非常重要的。因此开发出一套学生成绩管理系统是非常必要的。第二章 系统开发主要运用技术及开发模式2.1 系统开发技术介绍2.1.1 jsp技术jsp作为一门最热门的网络编程语言,在电子商务和电子政务开发中得到了广泛的应用。jsp全称java server pages,它是由sun microsystems公司于1999年6月开发出来的一种全新的动态网页标准。它在传统的html代码中加入java程序片段。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序片段,然后将执行结果以html格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低。jsp中编程语言是java,组件是javabeans,一次编译一直运行,能在各种操作系统下工作。浏览器向web服务器请求.jsp文件,web服务器将.jsp文件发送到jsp引擎。jsp引擎首先检查.jsp文件,如果是新的或修改过的,就把它编译成servlet,再由servlet生成动态页面。动态页面以html语言形式发送回客户端浏览器显示。jsp元素是嵌入在静态html页面内的。和html一样,所有的jsp元素都必须用一对括起来。和html不同的是jsp区分大小写。为了跟html标记有所区别,jsp标记都以%或jsp:开头,含有元素名的起始标记和结束标记相匹配,完全符合xml的语法规范。如果起始标记和结束标记之间没有内容,就可以合成一个单独的标记。另外,jsp通过javabeans实现了功能扩展,能够执行更为复杂的处理。自jsp推出后,众多大公司都支持jsp技术的服务器,如ibm、oracle、bea公司等,所以jsp迅速成为商业应用的服务器端语言。jsp有如下几个优点:对于用户界面的更新,其实就是由 web server进行的,所以给人的感觉更新很快。 所有的应用都是基于服务器的,所以它们可以时刻保持最新版本。 客户端的接口不是很繁琐,对于各种应用易于部署、维护和修改。 2.1.2 javabeans 技术javabeans是描述java的软件组件模型,有点类似于microsoft的com组件概念。在java模型中,通过javabeans可以无限扩充java程序的功能,通过javabeans的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是javabeans可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。 javabeans通过java虚拟机(java virtual machine)可以得到正确的执行,运行javabeans最小的需求是jdk1.1或者以上的版本。 javabeans传统的应用在于可视化的领域,如awt下的应用。自从jsp诞生后,javabeans更多的应用在了非可视化领域,在服务器端应用方面表现出来了越来越强的生命力。在这里我们主要讨论的是非可视化的javabeans,可视化的javabeans在市面上有很多java书籍都有详细的阐述,在这里就不作为重点了。 非可视化的javabeans,顾名思义就是没有gui界面的javabeans。在jsp程序中常用来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序(如jsp文件)的分离,使得系统具有更好的健壮性和灵活性。一个简单的例子,比如说一个购物车程序,要实现购物车中添加一件商品这样的功能,就可以写一个购物车操作的javabeans,建立一个public的additem成员方法,前台jsp文件里面直接调用这个方法来实现。如果后来又考虑添加商品的时候需要判断库存是否有货物,没有货物不得购买,在这个时候我们就可以直接修改javabeans的additem方法,加入处理语句来实现,这样就完全不用修改前台jsp程序了。通过javabeans可以很好地实现逻辑的封装、程序的易于维护等 javabeans是一种软件组件模型,它与其他软件对象相互作用,决定如何建立和重用软件组件被称为bean。javabeans是基于sun公司的javabeans规范化、可在编程工具被可视化处理的可重用的软件组件。2.1.3 html及javascript技术html(hyper text mark-up language)即超文本标记语言,是www的描述语言。设计html语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。html文本是由html命令组成的描述性文本,html命令可以说明文字、图形、动画、声音、表格、链接等。html的结构包括头部(head)、主体(body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。javascript是一种基于对象(object)和事件驱动(event driven)并具有安全性能的脚本语言。使用它的目的是与html超文本标记语言、java 脚本语言(java小程序)一起实现在一个web页面中连接多个对象,与web客户交互作用。从而可以开发客户端的应用程序 等。它是通过嵌入或调入到标准的html语言中实现的。它的出现弥补了html语言的缺陷,它是java与html折衷的选择,具有以下几个基本特点: 1、是一种脚本编写语言 javascript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,javascript同样已是一种解释性语言,它提供了一个易的开发过程。它的基本结构形式与c、c+、vb、delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与html标识结合在一起,从而方便用户的使用操作。 2、基于对象的语言。 javascript是一种基于对象的语言,同时以可以看作一种面向对象的。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。 3、简单性 javascript的简单性主要体现在:首先它是一种基于java基本语句和控制流之上的简单而紧凑的设计, 从而对于学习java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。 4、安全性 javascript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。 5、动态性的 javascript是动态的,它可以直接对用户或客户输入做出响应,无须经过web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(home page)中执行了某种操作所产生的动作,就称为“事件”(event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。 6、跨平台性 javascript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持javascript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。实际上javascript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须web服务器通道,通过自己的电脑即可完成所有的事情。 综合所述javascript是一种新的描述语言,它可以被嵌入到html的文件之中。javascript语言可以做到回应使用者的需求事件(如:form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端 (client) 的应用程式所处理。2.1.4 struts技术struts 是当今流行的jsp web 框架,struts 提供了一种创建具有良好可管理性的web应用框架,其中对应用程序的显示,表示和数据的后端代码进行了抽象。struts 框架是基于mvc模式的框架。mvc模式包括三类对象,简单的说,model 是应用对象,view 是它在屏幕上的表示,controller 定义用户输入的响应方式。下面对struts 框架进行介绍:struts framework 是一种基于java 的技术,web应用程序开发人员通过struts framework 即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优点。struts 提供了一种创建web的应用程序框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。 2.2开发工具介绍2.2.1 eclipse简介eclipse 是一个开放源代码的、基于 java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具(java development tools,jdt)。 虽然大多数用户很乐于将 eclipse 当作 java ide 来使用,但 eclipse 的目标不仅限于此。eclipse 还包括插件开发环境(plug-in development environment,pde),这个组件主要针对希望扩展 eclipse 的软件开发人员,因为它允许他们构建与 eclipse 环境无缝集成的工具。由于 eclipse 中的每样东西都是插件,对于给 eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 java 开发工具。尽管 eclipse 是使用 java 语言开发的,但它的用途并不限于 java 语言;例如,支持诸如 c/c+、cobol 和 eiffel 等编程语言的插件已经可用,或预计会推出。eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 基于 eclipse 的应用程序的突出例子是 ibm 的 websphere studio workbench,它构成了 ibm java 开发工具系列的基础。例如,websphere studio application developer 添加了对 jsp、servlet、ejb、xml、web 服务和数据库访问的支持。 2.2.2 tomcat简介 在tomcat中,你还可以利用servlet2.3提供的事件监听器功能,来对你的应用或者session实行监听。tomcat也提供其它的一些特征,如与ssl集成到一块,实现安全传输。还有tomcat也提供jndi支持,这与那些j2ee应用服务器提供的是一致的。应用服务器提供更多的j2ee特征,如ejb,jms,jaas等,同时也支持jsp和servlet。而tomcat则功能没有那么强大,它不提供ejb等支持。事实上,我们的很多中小应用不需要采用ejb等技术,jsp和servlet已经足够,这时如果用应用服务器就有些浪费了。而tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择tomcat。2.3开发模式介绍在中间层上设计上最好采用基于mvc的设计模式。model层用来实现业务逻辑,view层用来显示用户界面,controller层主要负责view层和model层之间的控制关系。mvc是(model-view-controller)的缩写,mvc是application开发的设计模式,也就是大家所知道的model2.在mvc的设计模式中,它包括三类对象:1模型(model)对象:是应用程序的主体部分。2视图(view)对象:是应用程序中负责生成用户界面的部分。3控制器(control)对象:是根据用户的输入,控制用户界面数据显示及更新model对象状态的部分。即要求在application开发中你把商业逻辑,界面显示,数据分离。下图显示了这几个模块各自的功能以及它们的相互关系。图2. 1mvc设计模式mvc的优点表现在以下几个方面:1.低耦合性。视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动mvc的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。2.高重用性和可适用性。随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。mvc模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何web(http)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用html来表示,但是也有可能用wap来表示,而这些表示所需要的仅令是改变视图层的实现方式,而控制层和模型层无需做任何改变。 3.较低的生命周期成本。mvc使降低开发和维护用户接品的技术含量成为可能。 4.快速的部署。使用mvc模式使开发时间得到相当大的缩减,它使程序员(java开发人员)集中精力于业务逻辑,界面程序员(html和jsp开发人员)集中业务于表现形式上。5.可维护性。分视图层和业务逻辑层也使得web应用更易于维护和修改。6.有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。mvc模式的体系结构图如下:图2.2 mvc三层体系结构 在这种设计模式下,各层次之间的数据传递如图2.3;图2.3mvc设计模式的数据传递图在本文讨论的jsp管理系统中,在数据的存取方面,采用了jsp/servlet+jdbc的技术,即客户端不产生数据库查询命令,客户端上的浏览器通过url和中间层的web服务器建立连接。web服务器主要负责接收本地或远程浏览器的http数据请求,然后中间层的servlet收到请求后,通过执行程序中的sql语句,利用jdbc提供的标准api对数据库进行访问和相应的操作处理。servlet再将查询的数据传给jsp,最后生成标准的jsp页面将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。2.4 数据库技术2.4.1 关系数据库模型关系数据库将数据存放在被用户视为表的关系中。关系由记录和字段组成。表中的记录或字段的物理次序是无关紧要的,并且表中的每个记录通过具有唯一值得字段来识别。这是关系数据库的两个特征,允许数据的存在不依赖于它在计算机中的物理存储方式。这样在检索时,用户不需要知道记录的物理位置。关系模型将联系分成一对一、一对多和多对多。一对表之间的联系通过匹配共享字段的值隐式地建立。只要用户熟悉数据库中表之间的联系,就几乎可以用无限多种方法访问数据。1检索数据。可以使用机构化查询语言(sql)检索关系数据库中的数据。sql是一种用于创建、修改、维护和查询关系数据库的标准语言。2关系数据库的优点:(1)内部多级完整性。建立在模型中的域级数据完整性确保数据的正确性;建立在表级的数据完整性确保记录不重复并检查主码值的遗漏;建立在联系级的数据完整性确保表之间的联系的有效性;建立在事务级的数据完整性确保数据在事务的意义下是正确的。(2)数据在逻辑上和物理上都独立于数据库应用。用户对数据库逻辑设计的改变,以及数据库软件卖方对数据库的物理实现的改变都不会影响建立在其上的数据库应用。(3)确保数据的一致性和正确性。数据的一致性和正确性由施加在数据库上的各级完整性所保证。(4)数据易于检索。根据用户命令,可以从一个特定的表或从任意多个相关的表中检索数据。这使得用户几乎可以用无限多种方式观察数据。2.4.2 规范化关系数据库中的关系必须是规范化的,即每一个分量必须是不可分的数据项。所谓“第几范式”,是表示关系的某一种级别。所以经常称某一关系模式r为第几范式。现在把范式这个概念理解成符合某一种级别的关系模式的集合,则r为第几范式就可以写成rxnf。一个低一级范式的关系模式,通过模式分解可以转换为若干戈高一级范式的关系模式的集合,这种过程就叫规范化。关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。满足最低要求的叫第一范式,简称1nf。若r1nf,且每一个非主属性完全函数依赖于码,则r2nf。若r2nf,且每一个非主属性既不部分依赖于码,也不传递依赖于码,则r3nf。2.4.3 mysql 简介数据库是60年代末出现的一门计算机软件技术,到现在虽然只有三十多年的历史,但在理论和时间上都已经趋于成熟,使我们能够方便的使用。数据库技术是 据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。mysql作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,mysql虽然是免费的,但同oracle, sybase, informix, db2等商业数据库一样,具有数据库系统的通用性:(1)数据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(dbms),mysql完全具有这方面的功能。(2)关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(rdbms)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,mysql也是关系型的数据库系统,支持标准的结构化查询语言(structured query language)。(3)开放源码数据库。同商业性的数据库相比,这是mysql最大的特点。mysql的源码是公开的,这就意味着任何人,只要遵守gpl的规则都可以对mysql的源码使用、修改以符合自己特殊的需求。(4)技术特点。mysql服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如c、c+、java、perl、php、tcl等,也提供了简单的管理工具,如mysqladmin,mysql等。 正因为mysql的源码是公开的,使得我们有机会从源码级,更深入的了解mysql。从这一层面上可以探求、了解mysql数据库的特性:良好的内存管理机制,尤其是内存泄漏的管理,通过了purify的严格测试;支持多种平台; 提供多种形式的api,为我们开发工具的选择提供了便利; 使用多线程的技术,可充分发挥系统的特点,避免在smp系统中出现仅使用单cpu的现象;对磁盘表的管理采用b树加密及索引的技术,为我们快速访问数据提供了可能; 高性能的内存申请技术;临时表采用在内存中以哈希表实现;提供多种数据类型;支持定长的和变长的纪录;所有的列都有缺省值,为我们的某些“粗心”提供了方便;灵活、安全的权限和密码系统,密码在传输中加密传送,允许主机端验证密码;13)客户端可以通过tcp/ip、unix套接字、命名管道(nt)连接到mysql数据库服务器;对多种字符集的完全支持等等许多优点。mysql有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。尤其是对一些中小企业,无论是从降低成本,还是从性能方面,采用mysql作为其数据支撑系统,都是一种可行的方案。但也应当注意,采用mysql作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。2.5 软硬件环境操作系统:windows xp数据库:mysql编程语言: java 编程工具:eclipse+myeclipseweb服务器:tomcat程序框架:struts+hibermate第三章 系统需求分析3.1系统调查 21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,我对河南科技学院新科学院的原有的学生成绩管理系统进行了调查研究,并对一些教师和学生进行了调查,听取他们对学生成绩管理的一些建议和要求以及他们对这方面的一些需求,根据我所具有的知识,决定开发的这个系统采用当前较为流行的编程软件java作为实现语言,以数据库mysql作为系统的后台操作.3.2系统构架系统采用的是b/s结构,即浏览器和服务器架构,示意图如图3-1所示。浏览器端提供用户操作界面,接受用户输入的各种操作信息,向服务器发出各种操作命令或数据请求,并接收执行操作命令后返回的数据结果,根据业务逻辑进行相关的运算,向用户显示相应的信息。服务器端接收浏览器端的数据或命令请求,并请求数据库服务器执行数据库操作得到相应的数据集,对数据集进行相应的处理,然后将数据集或处理后的数据集返回给浏览器端。 用户浏览器 web服务器数据库服务器ie等浏览器tomcat操作请求返回查询结果使用hibernate操作 数据库返回操作结果图3-1系统架构示意图3.3 用户需求 3.3.1学生的需求(1) 在第一时间查询自己所有的成绩(自己的平均成绩,总成绩)(2) 查询某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 打印和下载自己的成绩 3.3.2老师的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改更新成绩(自己所教授的那一科成绩)(6) 打印和下载所查询或统计出的结果3.3.3管理员的需求(1) 查询某一学生的所有成绩(平均成绩,总成绩)(2) 查询某一学生某一科成绩,该科平均成绩,所在名次,最高成绩,最低成绩(3) 查询某一班级的成绩(所有成绩,某一学期的所有成绩,某一学期的某一科目的所有成绩)(4) 对某一科成绩进行统计(及格人数,及格率,不及格人数,不及格率,优秀人数,优秀率,某一分数段的人数)(5) 录入成绩和修改成绩(6) 打印和下载所查询或统计出的结果(7) 用户管理(8) 数据库管理3.4 数据需求分析3.4.1 数据字典编号:d1名称:学生登陆描述:记录学生登陆的基本信息结构:学生编号 学生姓名 登陆密码 班级 备注 编号:d2名称:教师信息描述:记录教师登陆时的信息结构:教师编号 姓名 登陆时的密码 备注编号:d3名称:班级信息描述:记录班级的基本信息结构:班级编号 班级名称 备注编号:d4名称:教师所担任的课程表描述:记录教师所担任的课程的信息结构:教师编号 所教授的科目 所教授的班级 备注 编号:d5名称:管理员表描述:记录教书管理员登陆的信息结构:教师管理员编号 登录名 登陆密码 备注 编号:d6名称:学生成绩表描述:记录学生的考试成绩信息结构:学生姓名 考试科目 学生学号 所在班级 考试性质 学期 授课教师 考试成绩 备注学生基本信息学生编号学生姓名备注班级登录密码3.4.2 e-r 图图3.2学生登陆基本信息实体属性图教师基本信息教师编号教师姓名备注登录密码图3.3教师登陆基本信息实体属性图班级基本信息班级编号备注班级名称图3.4班级基本信息实体属性图教师授课表教师编号所授课程备注授课班级图3.5 教师授课实体属性图管理员信息登陆密码备注登陆名图3.6 教师管理员登陆实体属性图班级信息表学生姓名考试科目学生学号所在班级该科目任课教师成绩考试性质学期备注图3.7 学生成绩信息实体属性图第四章 系统总体设计4.1 系统功能结构图系统功能结构图如图4-1所示:统计学生成绩查询学生成绩录入学生成绩修改登录密码打印查询结果下载查询结果登录学生成绩维护系统教师登录教务管理员登录学生登录查询自己成绩打印查询结果下载查询结果修改登录密码统计学生成绩查询学生成绩录入学生成绩修改登录密码打印查询结果下载查询结果用户人员管理添加/删除学生添加/删除老师添加/删除班级创建新的/删除管理员添加/删除老师所担任的科目 图4-1系统层次方框图4.2系统总体设计思想 (1)采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。 (2)系统就满足学校的需求,例如学生成绩的录入、查询、更新,学生成绩录入与排名等等。 (3)系统具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。4.3系统设计分析本系统使用struts开源框架实现mvc三层模式进行开发,使模型,视图和控制分开,业务逻辑和显示分开,这样有利于错误的查找和系统的升级。 该系统适用于各个学校,其功能主要为成绩管理:用于对成绩的录入、修改、汇总、排名以及查询等操作。 4.4 数据库设计4.4.1 数据库的概要设计数据库是系统的核心,它具有对信息进行收集、组织、存储、加工、抽取和传播等功能。构筑大型数据库和盖房子奠基相似,数据库的设计直接关系系统的成败,这正是当前诸多系统的开发不能尽如人意的症结所在。因此要获得优秀的系统必须采用科学方法进行合理的数据库设计。根据美国国家标准组织提出的数据库设计的ansi三级模式,相应的数据库设计可分为概念结构设计、逻辑结构设计及物理设计。输入信息登陆浏览成绩修改信息下载信息servlet容器servletjsp数据库管理系统数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。系统各模块的实现主要是对数据库的访问,数据流程分析给用户提供了各模块在对数据库访问时,数据的流通状态。数据在系统内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。通过需求分析和系统功能设计,本系统的数据流程图可以绘制如图4.2图4.2系统数据流程图4.4.2 数据库表的设计本系统将数据存储在六个表中,这六个表分别是:学生表(见 表4-3):保存学生的基本信息,包括学生的姓名,登录系统时的密码,学生的学号,所在的班级以及一些备注信息。字段名称中文解释保存类型默认值长度可否为空主键sid主键自增int无16不能是name姓名varchar无24不能否password登录时密码varchar无24不能否student_id学号varchar无20不能否classes班级varchar无24不能否remark备注varchar无56可以否表4-3 学生表教师表(见 表4-4):保存教师的基本信息,包括教师的姓名,登录系统时的密码,教师号,备注,其中备注默认为“0”,当为“1”的时候教师可以录入和修改学生的成绩,为空或者是其他值的时候,录入功能将被锁定。字段名称中文解释保存类型默认值长度可否为空主键tid主键自增int无16不能是name姓名varchar无24不能否password登录时密码varchar无24不能否teacher_id教师号varchar无20不能否remark备注 varchar“0”56可以否表4-4 教师表班级表(见表4-5):保存班机的基本信息,包括班级名称和备注。字段名称中文解释保存类型默认值长度可否为空主键cid主键自增int无16不能是classes班级名称varchar无24不能否remark备注 varchar无56可以否表4-5 班级表教师所担任课程的表(见 表4-6):保存教师所教的课程信息。字段名称中文解释保存类型默认值长度可否为空主键id主键自增int无16不能是subject所教授的科目varchar无24不能否classes班级varchar无24不能否student_id教师号varchar无20不能否remark备注 varchar无56可以否表4-6 教师所担任课程的表教务管理员表(见 表4-7):保存管理员的基本信息。字段名称中文解释保存类型默认值长度可否为空主键mid主键自增int无16不能是name登录名varchar无24不能否password登录时密码varchar无24不能否remark备注 varchar无56可以否表4-7教务管理员表成绩表(见 表4-8):主要保存关于学生成绩的一些信息,本系统主要是对该表的操作。字段名称中文解释保存类型默认值长度可否为空主键s_id主键自增int无16不能是name姓名varchar无24不能否subject科目varchar无24不能否student_id学号varchar无20不能否classes班级varchar无24不能否property考试性质varchar无24不能否term学期varchar无24不能否teacher该科目的教师varchar无24不能否result成绩int无16可以否remark备注varchar无56可以否表4-8 成绩表第五章 系统详细设计5.1 登录功能设计学生和老师登录时要输入用户名和密码。每个人进入都要凭用户名和密码进入。提高了系统的安全行。本功能的程序流程图如图5.1所示。图5.1 登录系统流程图5.2 学员管理功能 包含四个小模块,查询自己的成绩,修改登录密码,打印查询结果,下载查询结果。其中查询自己的成绩时,学生可以输入要查询的科目,学期等。开始输入要查询的成绩科目从成绩表中查询学生的成绩信息y显示错误信息显示查询结果结束结果是否为空n结果是否为空以sid为条件从各个表中查询信息显示提示信息yn图5.2学生查询成绩流程图5.3 教师管理功能在该系统设计中,主要是实现教师对学生成绩的添加。在教师查询信息时,是根据教师的的唯一标识sid为条件查询,在student表中,查询所有符合sid要求的学生的基本信息。开始输入要录入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论