赞
踩
学生信息管理系统是在信息化的时代中应运产生的典型的信息管理系统(MIS),其开发的目的主要是解决学校的规模不断扩大,信息量不断增多,仅靠传统的信息管理已经满足不了需求,面对如此多的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然。通过开发一个系统可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量,大大减少了人力、物力和财力的开销。该系统对学生信息进行管理,进一步提高办学效益和现代化水平,有利于学校管理部门管理工作,帮助教师提高工作效率,帮助学生获得实时信息,实现学生信息管理工作流程的系统化、规范化和自动化。
关键字:信息系统
Title Student Information Management
Abstract:
Student Information Management System is a typical management information system generated in an era of ongoing informationization.With the continuous expanding scale of the schools and the increasing information ,solely relying on the traditional information management has been unable to meet the demand. In the face of so much information, the development of student information management system is inevitable to improve the efficiency of the management of students. Through the development of a system can regulate the management of information,scientific statistics and fast query, thereby it can reduce the workload of management and greatly reduce the human, material and financial costs. The system management information enhance the level of educational efficiency and accelerate the process of modernization which will help achieve the function such as student information management systematic workflow,standardlization and automation.
Keywords:Management Information System
随着计算机的普及和发展,人们开始利用计算机解决越来越多的实际问题,虽然现在软件的数量如雨后春笋,但依然不能满足用户的各种需要,尤其是用于特定教学管理方面的软件。学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 本文是针对大多数学校学信息管理方面的需求进行开发设计而形成一套适合自身应用的计算机管理信息系统。论文对系统进行了较为全面的业务分析,并进行有针对性的系统设计,包括开发平台和工具选型、功能模块设计、数据库设计等。
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。
现在我国的大中专院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。
本系统采用Servlet+Jsp+JavaBean+SQLSERVER2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,JavaBean在本系统中主要担当配合Jsp以及Servlet来完成用户的请求,而Jsp主要担当接受与响应客户端。该学生信息管理系统充分运用MIS的总体思想,综合应用了B/S模式、SQL Server、JSP等技术,并具有学生对自己所需信息的操作和管理员对系统进行管理等功能,很好的将教学质量提升了,真正完好地达到服务于教学计划。通过本系统软件,能帮助管理人员利用计算机,快速方便的对学生成绩进行管理、输入、输出、查找、修改、删除操作,学生也可以通过此软件对自己的成绩进行查看,使学生的成绩管理能够具体化,直观化、合理化。软件系统的界面美观、布局合理,窗口的内容提供简单明了的信息,语言通俗易懂,有层次感,分类清晰明了。SQL SERVER 2000自身提供了对数据的安全保护措施,数据进行集中管理同时避免了数据的不一致和冗余,在SQL Server的版本中,只有管理中心数据库服务器的成员持有对数据访问的权限,本系统的用户、密码能保证安全。对任务、成员的管理,数据库同时提供了备份和恢复的功能,在数据库服务器出现问题的时候,能进行数据的快速恢复。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP 2.0介绍:新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:
An Expression Language (EL) MVC 模式
为了把表现层presentation从请求处理request processing 和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种模-视图-控件Model-view-controller 模式。规范的SERVLET或者分离的JSP文件用于处理请求。当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts 和Spring framework)。
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。
1.将内容的生成和显示进行分离 。
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。
2.可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
4.适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
5.数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变.最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB,JavaBean)是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过JavaBean类可以用于下列方法:
1. 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。
2. 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。
3. 为了JavaBean的属性值和状态可以保存到磁盘上。
B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。 客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。
一、B/S结构的优点
B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
Javascript是一种由Netscape的LiveScript发展而来的面向对象的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
Javascript 从 1996 年开始已经出现在所有的 Netscape 和 Microsoft 浏览器中。ECMA-262 的开发始于 1996 年,在 1997 年 7 月,ECMA 会员大会采纳了它的首个版本。在 1998 年,该标准成为了国际 ISO 标准 (ISO/IEC 16262)。这个标准仍然处于发展之中。在 2005年12月,ECMA发布ECMA-357标准出台,主要增加对扩展标记语言XML的有效支持。目前javascript 的最新版本为1.8。
SQL Server 是一个关系数据库管理系统它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 则较专注于SQL Server在UNIX 操作系统上的应用在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
SQL Server 2000共有4个版本,分别是个人版,标准版,企业版和开发版
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。 它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.18 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
需求分析是指在充分了解客户情况,包括客户生产、财务及管理流程后,与客户一起讨论对系统的具体要求,针对其现行体制中的不足及目前所需的信息,制定出一套用户对系统的需求方案。需求分析包括系统需求分析、数据需求分析、环境需求。
本系统严格进行权限管理,分为学生,教师和管理员三种用户权限。登录需要对应的用户名和密码,这样才能保证系统的安全性和可靠性。学生权限可以查看个人的信息,可以选课,查看成绩;教师可以查看个人信息,查看任课课程,成绩录入以及任课成绩的统计等;管理员可以进行人员信息的查看,增删以及修改,可以对学生的学籍进行管理,如转专业等,可以进行相关的人员统计等。学生登陆以后,可以选报课程。系统会根据学生所在系及课程的预修课判断(课程有系别,预修课等属性)。首先,系统会列出所有满足该生系别以及该生还未选报的课程,或者其预修课为“public”的课程。如果该生选报了未满足预修课要求的课程,系统会有相关的错误提示。其次,学生可以查看自己的成绩,包括该生已选课程的名称,学分以及 该生的总分。如果教师还未给出成绩,则系统会有相关提示。再次,该生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不能为空。教师在本系统中拥有是否接受学生所选课程,以及给学生打分的权力,只有先接受学生,才能给该生打分。首先,系统要求教师选择学生,然后系统会列出该教师所代课程的班级, 其次系统会列出选报了该课程的所有学生(其中包括了该生的一些详细情况),在教师选择了接受以后,就可以给该生的这门课打分,在这之后系统会分析教师的输入是否正确(即是否为阿拉伯数字),否则会有提示。其次,在教师给出了学生成绩之后,系统会根据成绩来判断该生是否通过了考试,如果该成绩大于或等于60,则在该生的学分上加上该课程的学分。管理员在本系统中有着最高的权力,包括新增,更改,删除学生,教师,课程以及班级。其中“班级” 是本系统中关键的环节,同样也是数据库中的关键。 它直接与课程,教师,上课时间,地点联系,学生所选的课程也要具体到某一个班级,所以首先班级号不能为空,其次要保证同一教师在同一时间不能上两门课程。
图21 学生信息管理系统功能需求
主要性能要求
直观形象的操作界面 。
输入数据 设定及限制(格式、字符串、数值、日期、唯一数据)。
因权限控制或条件不满足时,相关命令按钮自动禁用。
添加新记录可以不离开编辑界面连续进行。
数据内容变化后要及时准确地反映在显示界面上提示信息。
菜单项启动所有功能。使用稳定,操作性能好,操作方法易于掌握,系统的安全性强,安全性要求比较高。
数据辞典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据辞典共同构成系统的逻辑模型,两者缺一不可。 数据辞典最重要的功能就是它是分析阶段的工具。用户通过它可以清楚地了解分析员,对系统数据和加工逻辑的详细说明。对于同一个人在不同的时刻可以通过它对数据做出一致的定义,从而避免定义的混乱。数据辞典中对加工逻辑的描述很有价值,若改变了某个数据的定义,则很容易看出对加工逻辑的所产生的影响,并且能对受影响的加工逻辑作出相应的改变。数据辞典也是下一步设计的依据,若要求所有的开发人员都要求按照数据辞典的定义去设计模块,则会避免麻烦的接口问题。
在一个数据流图中,数据以数据流为单位进行传输。定义的主要内容有:数据流名称及其编号、别名、数据流的来源(或是外部实体或是加工或是数据存储) 、数据流的去向(或是外部实体或是加工或是数据存储) 、数据流的组成(可以包含若干个数据结构,若只有一个数据结构,就不需要专门定义) 。
学生记录=学号+姓名+性别+所在院系名称 +班级名称+政治面貌+联系方式+联系地址+密码
查询要求=[成绩情况]或[学生情况]或[学籍情况]或[课程信息情况]
学生情况=学号+姓名+性别+所在院系名称 +班级名称+政治面貌+联系方式+联系地址+密
码+{运算符}+输入信息
成绩情况=课程号+课程名称+学分+课程类型+{运算符}+输入信息
(1)学生信息管理模块:
学生信息管理要求=[新生数据处理要求|班级数据管理要求|添加数据要求|数据删除要求|数据备份要求]新生数据处理要求=[新生数据|班级数目|起始学号|班级名称|专业]
班级数据管理要求=[班级名称|修改要求]
添加数据要求=[单个学生数据单|成批数据单]
数据删除要求=[起止学号|班级名称|所有学生数据]
数据备份要求=[班级名称|学期数]
新生数据=姓名+性别+出生日期+家庭住址+政治面貌
起始学号={数字}15
班级名称=[会计04(1)| 会计04(2)|会计04(3)| 计算机软件04(1)|会计03(1)| 会计03(2)|会计03(3)| 计算机软件03(1)|会计02(1)| 会计02(2)|会计02(3)| 计算机软件02(1)|网络技术03(1)| 网络技术04(1)| 机电03(1)| 机电02(1) | 机电04(1)| 网络技术02(1)| 网络技术02(1)]
修改要求=姓名+性别+出生日期+家庭住址+政治面貌+专业+班级
单个学生数据单=姓名+性别+出生日期+家庭住址+政治面貌+入学总分+班级
成批数据单=姓名+性别+出生日期+家庭住址+政治面貌+入学总分+班级
性别=[男|女]
(2)成绩管理模块:
成绩管理要求=[成绩录入要求|总分计算要求|成绩备份要求]
成绩录入要求=班级名称+成绩数据
总分计算要求=班级名称+成绩数据
成绩备份要求=班级名称+学期数
成绩数据=姓名+课程名称+分数
成绩表=学号+姓名+期中成绩总分+期末成绩总分+期中名次+期末名次
(3)课程信息管理模块:
课程管理要求=[课程表维护要求|教师课程表维护要求|排课要求]
课程表维护要求=课程名称+年级+专业
教师课程表维护要求=教师姓名+任教班级+课程名称+周课时数
年级=[一年级|二年级|三年级]
任教班级=[会计04(1)| 会计04(2)|会计04(3)| 计算机软件04(1)|会计03(1)| 会计03(2)|会计03(3)| 计算机软件03(1)|会计02(1)| 会计02(2)|会计02(3)| 计算机软件02(1)|网络技术03(1)| 网络技术04(1)| 机电03(1)| 机电02(1) | 机电04(1)| 网络技术02(1)| 网络技术02(1)]
数据元素也称数据项,是数据的最小单位。
定义的主要内容有:数据项名称、编号、别名、取值范围和取值含义、备注。
数据存储:数据存储是数据保留或保存的地方。
定义的主要内容有:数据存储名称及其编号和数据存储的组成、组织方式。
文件名:学生个人信息表
组成:{学号+姓名+性别+密码+所在院系编号+所在班级编号+出生日期+籍+联系电话+联系地址+邮编+政治面貌+学籍情况+备注}
文件名:学生成绩表
组成:{学号+院系号+班级号+课程号+课程名+学分+成绩+考试时间}
文件名:学生课程表
组成:{课程号+课程名+学时+学分}
文件名:学籍变更代码表
组成:{代码+全称}
文件名:学籍变更信息表
组成:{学号+变更代码+记录时间}
文件名:班级代码表
组成:{班级代码+全称}
文件名:管理员身份认证表
组成:{ name + pwd + style }
文件名:院系代码表
组成:{学院编码+全称}
客户端:IE或者其他浏览器
处理器:Pentium3 或以上
内存: 128M以上
硬盘:10G以上
鼠标键盘
显示器:VGA或LCD
服务器端:
处理器:Pentium3或以上
内存:256M以上
硬盘:1G或以上
鼠标键盘
显示器:VGA或LCD
操作系统:Windows 2000/me/XP/2003
操作系统:Windows 2000/me/XP/2003
数据库:SQL Server 2000
容器: Tomcat6.0
开发工具:MyEclipse6.0
概要设计又可称系统设计概要说明,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处。流程、程序系统的组织结构、模块划分、功能分配、接口设计。 运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。学生信息管理系统概要设计介绍了系统功能描述和实现以及数据库概要设计。
学生信息管理系统主要功能:学籍信息管理,班级信息管理,课程信息管理,成绩信息管理,用户信息管理。具体系统功能需求描述如下:
(一).学籍信息管理
每年的大量新生入学,老生毕业都需要处理大量的学生信息。通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息
(二) 班级信息管理
实现班级的添加、删除、更新。查询班级的所在系别等。
(三)课程信息管理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。
该项管理对课程的属性进行了具体化的分类,比如可以分辨是必修课程还是选修课程,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。
(四)成绩信息管理
本模块实现了成绩的输入、删除、更新。还能查询到平均成绩以及单科最高最低成绩以及个人成绩。把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。
(五)用户信息管理
因为本系统是供多人一起使用的,必须对某一些人进行限制。于是设置了管理员,学生,教师,学生只能进行查询操作和个人信息修改,不能进行其他更改。
此系统涉及到多个用户,分别为学生用户,教师用户以及管理员。每个用户各自拥有不同的权限:
学生用户:能到查询自己的成绩,修改自己的个人信息,选修课程。
教师用户:可以录入学生成绩,修改个人信息以及对学生的选课进行处理
管理员用户:进行课程管理,学生管理,班级管理,教师管理以及个人的信息管理。具体系统功能如图 3-1 学生信息管理系统系统总体功能
图 3-1 学生信息管理系统系统总体功能
学生信息管理系统基础数据是统一由系统管理员进行维护的。主要包含如下要对如下的表进行维护:学生信息表,学生成绩表,教师信息表,班级信息表,课程信息表,院系信息表。成绩信息是由教师用户进行维护的。
学生信息管理与分析系统主要提供成绩查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息。教师可以通过信息管理与分析系统查阅学生成绩信息,教师信息,学生成绩的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,以及学校院系,专业及班级的管理等。具体基础数据维护如图3-2 学生信息管理系统-信息录入数据图。
图 3-2 学生信息管理系统-信息录入数据图
管理员能够实现对整个学生信息的添加、修改、删除、查询等操作,对教师用户的添加、删除、修改等操作,对课程信息的添加、删除、修改,对班级信息的添加、删除、修改,对学校系别、专业、班级的管理操作。也可以将学生成绩的数据库发布到网上,教师的信息发布到网上,方便学生教师进行查询,达到资源共享的目的。
对于学生表而言,管理员对学生信息进行处理,将正确的学生信息录入学生表,并且设置该学生的学号和班级号等,学生信息就作为数据流在不同的模块进行传递。学生入学后,注册为新生,学校有关部门对学生初步信息进行采集,然后为每个学生设置学号,以及他们所在的专业和班级。再将完整的学生信息数据录入学生表中。当有用户发出查询请求,即可利用此基础信息返回给用户即可。具体对学生表的操作如图3-3 学生信息管理系统 – 系统管理员数据流图-学生管理。
图 3-3 学生信息管理系统 – 系统管理员数据流图-学生管理
对于教师表而言,每年的教师应聘,都需要处理大量的教师信息。通过这一模块,可以实现教师基本情况的添加、删除、更新。还能查询各个教师的情况,姓名、家庭电话、家庭住址、头衔等各个消息。系统管理员对教师信息进行采集,并将核对后的正确的教师信息录入到教师表中。并且为教师安排课程和课程信息相关联,设置该教师的任课课程和任课班级,并且将信息记录到课程表当中,得到教师信息和教师任课信息。教师任课信息表就记录了每个教师所任教的课程。教师信息可以作为信息流在不同的操作模块中作为基础数据流进行传递。当用户发出查询请求时候,即可在基础数据教师表当中找到相应的值,返回查询用户。具体管理员对教师表的操作如图 3-4 学生信息管理系统 – 系统管理员数据流图-教师管理。
图 3-4 学生信息管理系统 – 系统管理员数据流图-教师管理
对于成绩处理而言,每年的学生的成绩信息不断涌入,都需要处理大量的学生成绩信息。通过这一模块,可以实现学生成绩的基本情况的添加、删除、更新。还能查询各个学生的姓名、家庭电话、家庭住址、学号,成绩,补考记录等各个消息。
成绩处理模块主要是由教师进行管理和维护的,在学生信息表和课程信息表的基础上,对学生进行评分。首先教师需要选择自己任课的班级,规整任课的班级课程信息,对该班级的学生进行成绩录入,写入到学生成绩信息表当中。具体操作如图 3-5 学生信息管理系统 – 系统管理员数据流图-成绩处理。
图 3-5 学生信息管理系统 – 系统管理员数据流图-成绩处理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。该项管理对课程的属性进行了具体化的分类,比如可以分辨是选修还是必修课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。管理员将班级信息进行类型处理,规整班级信息后录入到班级表当中,通过对班级信息基础数据进行课程维护处理,每个班级安排按照教务处的规定统一安排课程,可以是必修课程,也可以是选修课程,将班级的课程信息记录到课程表当中,管理员再对课程信息进行分派处理。学生利用此系统查询自己的成绩,在查询过程中,学生可查询课程的基本信息及教师情况,并可浏览截止当前选此课的人数,当前。具体操作如图 3-6 学生信息管理系统 – 系统管理员数据流图-课程管理。
图 3-6 学生信息管理系统 – 系统管理员数据流图-课程管理
对于学生选课处理:
该系统中的学生用户进行一次选修课程的活动学生利用此系统选修课程,在选课过程中,学生可查询待选课程的基本信息及教师情况,并可浏览截止当前选此课的人数、浏览个人的选课情况、浏览个人成绩信息。因为选课活动针对的是对学生个人。当管理用用户在选修课程表中新增一个选修课程。该课程针对的全校的学生,并限制的选修人数和该课程的选修状态。当该选修课程处于失效,就不能发起选修活动。然后将选修课程的任教教师和选修的个人信息记录在选修记录表中。当教师进行成绩录入时候,就可以获取相关的信息,直接录入即可,请参考图3-7。
图 3-7 学生信息管理系统 – 系统管理员数据流图-课程管理
学生作为选课活动的发起人,首先必须对该选修课程进行验证,是否能够接受学生的选修。选修的过程中需要教师和学生信息交互,当教师接受请求时候,就成功完成了一次课程的选修。下图是该活动的流程图。
图 3-8 学生信息管理系统 – 选修课程流程图
学生信息管理系统提供了强大的学生档案管理管理功能,方便学生、教师、管理员对学生信息的添加、修改、删除、查询等操作。主要内容如下:
学籍维护模块:
1. 管理员可以对学生进行添加(包过基本信息)、删除、查看、修改信息
2. 学生可以查看自己的基本信息,添加、修改详细个人信息。
选课管理模块:
1. 管理员可以对选修课程进行添加、删除、查找单个学生所选的课程。
2. 学生可以查看所有选修课程并进行选修以及查看自己所选课程并进行修改。
成绩管理模块:
1. 管理员可以进行添加、删除、修改基本课程,教师录入学生成绩信息。
查找单个学生的所有成绩以及查找单门基础课程所有学生的成绩。
2. 学生可以查询自己的基础课程成绩。具体详细模块如下图3-9。
图 3-9 学生信息管理系统 – 系统总数据流图
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。 数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。 对于数据库应用开发人员来说,为使现实世界的信息流计算机话,并对计算机话的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。
实体描述
1.学生信息(学号+姓名+性别+所在院系名称 +班级名称 +联系方式+联系地址+密码)
2.课程信息成绩信息(学号+姓名+课程名+班级+学期+学分+补考标示)
3.系统管理(用户名、密码、权限)
实体间联系及其属性描述
1对多联系
开设(1个年级开设多门课程)
拥有(1个年级拥有多个班级)
招收(1个班级拥有多名学生)
授课(1个老师授课多门课程)
多对多联系
任职(多个老师任职多个年级)
学习(多名学生一学期要学习多门课程)
修课(多名学生修多名老师的课程)
具体学生信息管理系统ER图如3-10
图 3-10 学生信息管理系统ER图
数据库的概念设计,即利用数据模型进行概念数据库的模式设计。它不依赖任何DBMS(数据库管理系统)常用的数据模型为ERM(实体-关系模型),用到的术语有:实体、属性、联系、键。数据库实例有一个特定的有限实体集合。在实体集中的每个实体对每个属性都有特定的值。二元联系能将一实体集中的任意数目的实体连接。
本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。设计阶段:把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。程序编制阶段:以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。 调试阶段:对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。运行和维护阶段:这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。数据辞典是数据的集合,它对数据流图中的各个元素作完整的定义和说明,是数据流图的补充工具。数据流图和数据辞典共同构成系统的逻辑模型,两者缺一不可。
学生实体、课程实体、学生成绩实体,他们之间存在一对一,一对多,多对多关系。一个学生能修多门课程,学生参加该门课程的考试之后才有成绩信息。根据学生信息管理与分析系统的需求和学生、课程、成绩信息相互关系设计出以下的实体-关系模型(E-R)图如图3.11、3-12所示。
图 3-11 学生信息管理系统ER图
对于管理员实体、教师实体、学生实体、成绩实体而言,管理员实体集拥有两个主要属性:用户ID和口令。学生实体集记录着学生的姓名专业,学号,班级等。课程实体集,教师实体集,成绩实体集拥有各自的属性具体见图3-10。管理员能够管理教师和学生实体,并且能够对课程进行安排,进行课程管理。教师可以向成绩实体录入成绩。学生可以选修不同的课程。具体多个实体集相互关系见图3-12.
图 3-12 学生信息管理系统ER图
数据流程图中不再进一步分解的加工,称为基本加工。数据辞典中对加工逻辑的描述很有价值,若改变了某个数据的定义,则很容易看出对加工逻辑的所产生的影响,并且能对受影响的加工逻辑作出相应的改变。描述基本加工是表达系统逻辑功能的关键。本系统基本加工小说明书采用结构化语言来描述。结构化语言是介于自然语言和计算机语言之间的一种语言,它没有严格的语法规定,使用的词汇也比形式化的计算机语言广泛,但使用的语句类型很少,表达的内容清晰、准确、易理解,不易产生歧义。适合表达数据加工的处理过程和处理功能。结构化语言使用的语句类型有三种:祈使语句、条件语句。
模块名 | 输入 | 输出 | 加工逻辑 |
学生信息逻辑检验 | 学生数据 | 有效的新生记录、无效的新生记录 | 根据学生数据记录 检查必填数据是否缺省 检查数据是否超越逻辑设置要求 |
启动EXCEL调整 | 学生数据 | 有效的新生记录 | 根据新生记录按要求调整 |
学籍信息合并处理 | 学生数据 | 写入学生表文件 | 根据新生记录 要求数据于数据库表文件一致 逐条写入 |
按总分降序设置学号 | 指定班级学生记录,起始学号 | 写入学生表文件,成绩表文件,总分表文件 | DO WHILE 学生记录非空 学生记录的学号域=起始学号 |
总分表中添加一记录,学号域=起始学号 | |||
查询课程表,N=该专业一年级所开课程数 | |||
在成绩表中添加N个记录,学号域=起始学号 | |||
起始学号=起始学号+1 |
表格3-1 学生信息管理系统基本加工说明
表格3-2 学生信息管理系统基本加工说明
输入 | 输出 | 加工逻辑 | |
查询班级相关记录 | 学生记录,班级名称 | 指定班级的学生名单 | 根据学生记录,查询所有班级名称等于输入值的学生记录 |
课程维护处理 | 班级名称 | 课程表,备份数据 | 在课程表中添加课程名称等于输入值的课程数据 |
课程数据录入 | 课程数据单,录入要求 | 更新课程表文件 | 根据录入要求,录入课程数据 |
在课程表中添加一新记录,将录入数据作为新记录值 | |||
课程数据修改 | 课程数据单,修改要求 | 更新课程文件 | 查询课程信息,根据修改要求进行修改,并更新课程文件 |
课程分派处理 | 班级名称 | 指定班级的学生名单及本学期所开课程 | 查询学生表中班级名称为输入值的记录 |
判断所在年级和专业,查询课程表获得本学期所开课程 | |||
课程查询处理 | 查询条件 | 查询结果 | 查询按照输入逻辑要求在视图表中进行 |
选择班级课程处理 | 班级名称,课程名称 | 指定班级的学生名单及成绩数据 | 判断成绩表,获得指定班级的学生成绩数据表,追加本次成绩属性,修改成绩表 |
成绩录入 | 学生名单,课程信息,成绩录入数据 | 更新成绩表 | 选择课程名称,录入成绩 |
查询成绩数据 | 班级名称 | 指定班级的学生名单及成绩数据 | 判断成绩表,获得指定班级的学生成绩数据 |
查询单个学生成绩数据 | 学生名称 | 查询条件,学生表,成绩表 | 对学生表和成绩表做笛卡尔积,获得指定班级的成绩与学生数据,并输出 |
确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,有能被某个数据库管理系统所接受,同时能实现系统目标并有效存取数据的数据库。规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接等方面学生信息管理系统设计及论文的设想。
需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。
数据辞典中对加工逻辑的描述很有价值,若改变了某个数据的定义,则很容易看出对加工逻辑的所产生的影响,并且能对受影响的加工逻辑作出相应的改变。
不同的开发人员或不同的开发小组之间可以通过它对数据做出一致的定义,从而避免定义的混乱。
在进行了概要设计之后,就要进行系统的详细设计,设计出全部的、必要的过程细节,以及程序的源代码,是整个系统设计中最重要、不可缺少的一个环节。本系统详细设计包括该系统总体规划、系统文件和页面总述、数据库详细设计以及页面实现。
对于数据库系统,规划工作是十分必要的。规划的好坏将直接影响到整个学生信息管理系统的成功与否,数据库设计中的规划阶段的主要任务是建立数据库的必要性及可行性分析,确定数据库系统在整个学生信息管理系统的地位。
根据学生信息管理数据库对技术人员和管理人员的水平、 数据采集和管理活动以及使用着的计算机素质的要求;数据库技术对计算机系统的软硬件的要求。决定把数据库管理系统设计成为一个综合的数据库。此数据库包括所有操作人员的所有活动功能。因为,此学生信息管理系统应用界面较简单、功能单一。所以,用一个综合的数据库就能满足学生信息管理要求,而且实现容易。学生信息管理系统可以按照用户权限和实现功能的不同分为三部分:外部学生对数据库的查阅访问,教师对信息的输入,内部管理人员对记录的管理维护,这三部分都调用的是同一数据库,只不过内部管理人员能实现所有管理功能,而外部学生访问数据库时,一些功能被屏蔽,只能进行查阅。在明确了系统目标与库结构的前提下,设计出该系统的主要功能:系统登陆、数据输入与修改、数据查询、数据导出导入、报表生成。
为了对数据保密和防止以外数据破坏,系统将使用密码保存在信息表中,并且利用加密技术对密码进行加密,先是利用base64加密技术进行第一层加密,然后利用MD5加密算法再次加密,这样密码就不可逆了,这就提高系统的安全性。可以在系统设置中可以更改密码。
用户可以输入修改个人信息表。在此程序中,用户可以修改自定义的信息,然后点击保存即可。
包括个人信息查询,个人成绩查询。我们使用标准的SQL结构查询语句进行数据的查询,返回的数据集直接显示在数据表格,支持多条件的组合查询与各字段查询。
图 4-1 学生信息管理系统-数据查询流程图
可以对个人信息自动统计生成报表,同时两个版本都支持所以表的数据报表生成,并可以任意选择需要生成报表的纪录。客户端脚本分为JavaScript、Jscript两种脚本语言。在IE下开发应用使用的语法为JScript的语法,由于它和JavaScript几乎没有什么区别,所以也可以称其为JavaScript(下面简写为JS)。一般情况下,主要使用JS来实现DOM文档的分析,DOM为微软提出的一种Web文档模型,主要用来实现Web脚本编程。利用JS可以分析源页面的内容,将欲打印的页面元素提取出来,实现打印。通过分析源文档的内容,可以生成打印目标文档。优点:客户端独立完成打印目标文档的生成,减轻服务器负荷;缺点:源文档的分析操作复杂,并且源文档中的打印内容要有约定;
实现思路:在服务器端建立一个Word或Excel文档,文档中加入书签,然后把要添写的内容写入标签中.如下:
(1)创建一个Word文档,在该文档中设计好要打印的会议记录的格式,并将其保存到实例根目录下,名称为student.doc。
(2)在创建好的Word文档中的指定位置插入书签。插入书签首先选中需要替换的文本,然后选择“插入”→“书签”选项,在打开的对话框中输入书签名,并单击“添加”按钮即可。
(3)编写自定义JavaScript函数,用于将表单收集的数据导出到Word中,并进行自动打印。
学生信息管理系统是对学生的基本信息和成绩信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息;录入、修改和删除学生的成绩信息,对基本信息、成绩信息进行查询、排序及统计等操作,从而实现学生信息管理的自动化与计算机化。
本系统将实现一个简化的学生信息管理系统。模块设计是在体系结构设计的的基础上进行的,每个模块完成一定的功能,有相对的独立性,但模块间又有一定的联系,就像一座楼宇的各个房间,房间各自独立,但又通过门窗相通。模块设计的主要任务就是设计具有独立功能而且和其他模块间没有过多的相互作用的模块,即要完成“模块独立”设计。具有独立模块的软件较容易开发,独立的模块较容易测试和维护。该系统采用模块化结构,具有一系列模块化程序设计的优点,各模块的划分和设计遵从高聚合低耦合的原则。各模块独立使用,然后进行系统集成和调试。
学生信息管理系统主要功能:学籍信息管理,班级信息管理,课程信息管理,成绩信息管理,用户信息管理。具体系统功能需求描述如下:
(一).学籍信息管理
每年的大量新生入学,老生毕业都需要处理大量的学生信息。通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息
(二) 班级信息管理 实现班级的添加、删除、更新。查询班级的所在系别,辅导员等。
(三)课程信息管理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。该项管理对课程的属性进行了具体化的分类,比如可以分辨是必修还是选修课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。
(四)成绩信息管理
本模块实现了成绩的输入、删除、更新。还能查询到平均成绩以及单科最高最低成绩以及个人成绩。把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。
(五)用户信息管理
用户功能描述如下:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学生课程的设置和修改。
(六)系统安全性
安全性方面,为了保证系统的安全性,除了管理员用户,不允许其他用户进入该模块。一般的性能需求是指相互消息传递顺利,协议分析正确,界面友好,运行时间满足使用需要,安全性得到完全保证。就实际情况,在高系统配置、高网络带宽很容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。要限定相应的目录访问,如其他用户不能随意访问管理员目录。进行了认证与授权。根据学生信息管理数据库对技术人员和管理人员的水平、 数据采集和管理活动以及使用着的计算机素质的要求。数据库技术对计算机系统的软硬件的要求。因为学生信息管理系统应用界面较简单、功能单一。
此外还需要注意的是学校对所设课程进行教师分配。学生成绩信息的浏览与统计,可按成绩具体范围(如系、班级等)、课号、年度、统计内容方面对成绩进行统计,也可以对学生成绩信息的添加和学生成绩信息的修改、删除。学生选课信息的管理,包括修改与删除。该系统能够对学生选课人数进行统计。
本系统涉及到的源代码文件和页面如图 4-2、4-3.
图 4-2 学生信息管理系统-系统文件与页面总述
图 4-3 学生信息管理系统-系统文件与页面总述
数据库设计(本系统使用数据库引擎为SQLServer2000)学生信息管理系统以学生为主要主体,因此在这个系统中必须要有一个保存学生信息的表。这个表的各个字段应该包括学生的基本属性。如:学生的姓名、学号、联系方式等。其中学号应该唯一。其他数据表设计类似,详细数据库建模如图 4-4 学生信息管理系统数据库建模(powerDesigner截图)
图 4-4 学生信息管理系统数据库建模
数据库在实际物理设备上的存储结构和存取方法称为数据库的物理结构。对于设计好的逻辑数据模型选择一个最符合应用要求的物理结构就是数据库的物理结构设计。数据库详细表数据结构如下表格:
表格 4-1学院数据表(college)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
学院名称 | college_name | varchar | Y | ||
学院编号 | college_id | Int | Y | Y |
表格 4-2专业数据表(major)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
专业名称 | major_name | varcher | Y | ||
专业编号 | major_id | Int | Y | Y | |
学院名称 | college_id | Int | Y | Y |
表格 4-3学生数据表(student)结构
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
学号 | Student_id | int | Y | Y | |
姓名 | Student_name | varchar | Y | ||
性别 | sex | varchar | |||
民族 | nation | varchar | |||
生日 | birthday | varchar | |||
班级编号 | class_id | int | Y | ||
密码 | password | varchar | Y | ||
省份 | province | varchar | |||
城市 | city | varchar | |||
联系电话 | phone | varchar | |||
| | varchar | |||
地址 | address | varchar | |||
备注 | notes | varchar |
表格 4-4班级数据表(class)结构
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
年级 | grade | integer | Y | ||
专业编号 | Major_id | int | Y | Y | |
专业名称 | Class_id | int | Y | Y | |
班级名称 | Class_name | varchar | Y |
表格 4-5教师数据表(teachers)结构
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
工号 | teacherid | Int | Y | Y | |
姓名 | teachername | varchar | Y | ||
性别 | sex | varchar | |||
民族 | nation | varchar | |||
生日 | birthday | varchar | |||
学院名称 | collegename | varchar | Y | ||
教研室名称 | department | varchar | Y | ||
职称 | status | varchar | |||
省份 | province | varchar | |||
城市 | city | varchar | |||
地址 | address | varchar | |||
密码 | password | varchar | Y | ||
备注 | notes | varchar |
表格 4-6管理员数据表(admins)结构
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
管理员编号 | Admin_id | int | Y | Y | |
管理员姓名 | Admin_name | varchar | Y | ||
密码 | password | varchar | Y |
表格 4-7必修课程数据表(course)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
课程名称 | Course_name | varchar | Y | Y | |
课程编号 | Course_id | int | Y | Y | |
课程学分 | credit | int | Y | ||
学院名称 | College_name | varchar | Y |
表格 4-8选课信息表(selectcourse)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
课程名称 | Course_id | varchar | Y | Y | Y |
学号 | Student_id | varchar | Y | Y | |
工号 | Teacher_id | varchar | Y | ||
是否接受 | accept | bit | Y | ||
成绩 | score | int | |||
补考成绩 | Score_again | int | |||
重修成绩 | Score_fail | int |
表格 4-9教师任课数据表(teachcourse)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
课程名称 | Course_id | varchar | Y | Y | |
工号 | teacherid | varchar | Y | Y |
表格 4-10成绩数据表(coursescore)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
学号 | Student_id | varchar | Y | Y | Y |
课程名称 | Course_id | varchar | Y | Y | Y |
工号 | Teacher_id | varchar | Y | ||
分数 | score | Int | |||
重修 | Score_again | Int | |||
补考分数 | Score_fail | Int |
表格 4-11选修课程数据表(coursescore)结构:
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
课程ID | course_id | varchar | Y | Y | |
课程名称 | Course_name | varchar | Y | ||
课程学分 | mark | int | |||
课程限制人数 | LimitNum | Int | |||
课程注释 | remark | Int | |||
选修课程状态 | State | Int |
表格 4-12成绩上传公告信息
名称 | 字段名称 | 类型 | 主键 | 外键 | 非空 |
学号 | Student_id | varchar | Y | Y | |
工号 | Teacher_id | varchar | Y | Y | |
信息 | Information | Int |
学生信息管理系统登陆界面提供三个用户入口,分别为学生,教师和管理员。用户选择自己的角色进行登陆,登陆过程中需要验证验证码,防止网页机器人攻击。生成随机验证码代码为一个典型的 servlet。用户选择相应的角色进行验证,表单提交到后台后进入验证,验证通过之后根据角色跳转到不同的页面,也就赋予了不同的权限了。
登陆页面如图4-5 学生信息管理系统登陆界面。
图 4-5 学生信息管理系统登陆界面
当用户输入不正确的用户名、密码、验证码时,就无法登陆到功能界面,这就需要进行页面错误处理了。登陆验证错误时,跳转到错误界面,页面显示登陆失败的原因,方便用户二次登陆。如图 4-6 学生信息管理系统登陆失败界面。
图 4-6 学生信息管理系统登陆失败界面
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
安装SQL Server 2000的JDBC驱动,需要这3个文件:msutil.jar、mssqlserver.jar、msbase.jar。可以通过一些网上的搜索引擎找到它们,如google,也可以从microsoft公司的网站上找到。把这3个文件拷贝到Tomcat 5的安装目录的common\lib目录下,文件拷贝完毕就安装好JDBC驱动了。
提示 :上面文字所述的安装SQL Server 2000的JDBC驱动的方法,安装后Tomcat 5下的所有Web应用都可以使用JDBC驱动程序;如果只需要特定的某个Web应用可以使用JDBC驱动程序,则可以将msutil.jar、mssqlserver.jar、msbase.jar拷贝到这个Web应用的WEB-INF/lib目录中。
学生用户成功登陆后能够查询自己的成绩,修改自己的个人信息,选修课程,以及修改密码、退出系统功能。学生用户最重要的功能是查询自己的成绩,所以查询功能应该尽量完善。菜单功能下面提示成绩信息的最新动态。该信息只显示跟此学生课程相关的成绩信息。学生登陆后的界面,菜单功能如图4-7。
图 4-7 学生信息管理系统学生成功登陆后界面
当学生用户点击选修菜单时候,进入选修课程界面。界面上显示可以选修的所有课程以及课程相关信息包括教师姓名、上课时间、教师号等重要信息。选修的课程是由管理员进行维护和操作的。然后根据学生个人意愿选修课程,单击注册即可成功注册课程。具体页面如图4-8。
图 4-8 学生信息管理系统学生选修课程界面
学生用户点击查看成绩菜单,就显示个人的成绩信息,如果老师还未上传成绩就显示为“成绩未给出” ,并且按照公式计算出该学生的总得分、总学分以及总绩点。并且提供个人成绩信息查询功能。选择查询方式,可以按课程号和学分查询出相应的成绩信息。具体页面如图4-9。
图 4-9 学生信息管理系统学生查看成绩界面
当学生用户点击个人信息管理菜单,就进入了个人信息维护界面,可以更改自己的个人信息,但并不赋予改动所有信息的权限。比如姓名和学号、性别别、籍贯、出生日期等数据是不能有学生用户进行修改的,具体页面如图4-10 。
图 4-10 学生信息管理系统学生个人信息管理界面
此外学生用户还可以修改自己的密码。修改密码必须要输入之前的旧密码,如果忘记了旧密码就不能进行修改了,进入错误提示页面。这种情况下只能向管理员发出请求,修改密码。修改密码时,两次输入新密码必须一致,否则不能修改成功。具体修改页面如图 4-11 学生信息管理系统学生修改密码界面。
图 4-11 学生信息管理系统学生修改密码界面
教师用户成功登陆后可以录入学生成绩,修改个人信息以及对学生的选课进行处理。页面菜单直接代表着教师用户所拥有的权限。页面如图 4-12。
图 4-12 学生信息管理系统教师成功登陆后界面
当教师用户点击挑选学生时,就显示所有选修该教师的任教课程的所有学生。教师可以按照班级选择选修的学生。点击相应的学生行的接受链接,就同意了此学生选修你所任教的课程。页面如图4-13、4-14。
图 4-13 学生信息管理系统教师选择学生界面
图 4-14 学生信息管理系统教师选择学生界面
教师用户进入公布学生成绩的页面后,也是按照班级进入显示该班级的学生列表页面,然后一一为学生输入成绩,录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩游览、成绩查询等功能模块。教师用户就针对这一模块进行控制。由于管理员和教师用户及学生用户较为固定,所以对教师自身信息和学生自身信息的管理可以由系统管理人员直接操作数据库完成。教师对于课程表的活动主要功能是实现对学生的成绩的管理工作,包括成绩添加、成绩浏览、成绩查询等功能,从而方便学校管理部门、个人对学生成绩的基本情况的快速查询和了解。
具体页面实现图 4-15、4-16、4-17 学生信息管理系统教师录入学生成绩界面。
图 4-15 学生信息管理系统教师录入学生成绩界面
图 4-16 学生信息管理系统教师录入学生成绩界面
图 4-17 学生信息管理系统教师录入学生成绩界面
当管理员用户成功登入系统后,即拥有了下面的权限:进行课程管理,学生管理,班级管理,教师管理以及个人的信息管理。详细操作有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学生课程的设置和修改。教师信息的新增、删除和修改。系统菜单功能如下图 4-18。
图 4-18 学生信息管理系统管理员成功登陆后界面
当管理员用户进入学生信息管理页面,就可以对学生表进行操作,可以更新,删除,新增学生信息。并且提供查询功能,能够查询学生信息。可以自己设置查询方式:按学号、按姓名查找。点击更新链接,可以进入如图4-20所示页面,进行学生信息更新操作,点击新增链接,可以进入如图4-19所示页面,进行学生信息新增操作。管理员的操作功能。管理员权限最大,可以对学生、班级、课程等情况进行统一的管理,细分如下:
图 4-19 学生信息管理系统管理员学生管理界面
图 4-20 学生信息管理系统管理员学生管理界面
图 4-21 学生信息管理系统管理员学生管理界面
当管理员进行教师信息管理时,首先进入如图4-22页面,这时候显示了所有教师的详细信息并且提供更改、删除和新增的功能。页面如图4-23、4-24。
图 4-22 学生信息管理系统管理员教师管理界面
当管理员进行课程信息维护和管理时,首先会进入如图4-24页面,该页面会详细显示所有课程的详细信息。并且提供新增,删除和更新菜单操作。操作方式如同上。具体见4-25、4-26、4-27。
图 4-23 学生信息管理系统管理员教师管理界面
图 4-24 学生信息管理系统管理员教师管理界面
图 4-25 学生信息管理系统管理员课程管理界面
图 4-26 学生信息管理系统管理员课程管理界面
图 4-27 学生信息管理系统管理员课程管理界面
当管理员进行班级信息维护和管理时,首先会进入如图4-28页面,该页面会详细显示所有班级的详细信息。并且提供新增,删除和更新菜单操作。围绕此管理所需要的学生个人信息、课程和任课教师信息、所选课程信息进行管理及维护。学生可以通过此系统进行个人信息、考试成绩查询以及完成选课功能。操作方式如同上。图4-29为管理员进行班级信息更新的页面。
图 4-28 学生信息管理系统管理员班级管理界面
图 4-29 学生信息管理系统管理员班级管理界面
系统测试目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。系统测试是针对整个产品系统进行的测试,本测试包含了集成测试、功能测试、链接测试、文档测试、负载测试、极限测试。测试完毕后即可做系统部署。
由于系统测试的目的是验证最终软件系统满足产品需求并且遵循系统设计,所有整个系统测试过程如下:
1.集成测试:集成测试将测试每一个部件之间的工作是否正常。在这个阶段,我们假设所有的单元已通过个人在单元测试阶段测试全部通过,没有任何错误。
集成测试包括以下内容:连续集成测试、数据库测试、数据整合测试。
2.功能测试:
功能测试环境
操作系统:windows xp
内存:1G
网络环境:校园网
本功能测试共分为:
系统功能测试
测试是否可以正常添加用户和修改密码,系统正常退出。
测试是否可以正常对班级进行管理,学生的单个或成批添加,删除以及新生信息的导入和学生信息备份。
测试成绩管理中是否可以进行分数录入,汇总及排名和成绩备份等操作测试课程信息模块中针对课程管理,老师和课程的关系之间操作是否正常
测试是否可以正常查询课程、班级、成绩等功能是否正常。
下面以测试“课程查询”模块为例子:列出测试表
表格 5-1测试用例
被测模块 | 输入 | 预期输出 | 实际输出 | 结论 |
课程查询 | 专业=英语 | 显示开设英语的班级情况 | 显示开设英语的专业情况 | 功能正确 |
课程查询 | 专业=法 语 | 不会显示所查的班级情况 | 没有显示该专业记录 | 功能正确 |
课程查询 | 专业id=200901 | 不会显示所查的班级情况 | 没有显示该专业记录 | 功能正确 |
课程查询 | 专业= 英语 | 显示开设英语的班级情况 | 显示开设英语的专业情况 | 功能正确 |
说明:正确用例为专业=“XX”,字符型,且不能在其中间有空格或其他字符,否则将查询不到有关该专业的情况。测试结果正确,但报错功能不强大,有待改进。
5.1.3 链接测试
这一部分将测试系统各模块之间的超链接跳转是否正确
5.1.4 文档测试
本章主要内容为:
测试文档是否包括全部内容
测试软件功能描述与其他功能有没有冲突
查看软件功能描述是否是原来系统分析和需求
查看文档内容在特定的情况和进度下,以现有人、物力和资源能否实现
5.1.4 负载测试
这一部分将测试正常情况下系统性能和用户数目之间的关系
5.1.6 极限测试
这一部分将测试所有极端的情况,如速度非常快的情况下和速度非常慢的情况下,以及所有其它的极端情况。
系统部署就是系统安装的部骤,应注间的的事项,硬件或软件及数据库的环境等,如果要进行系统迁移等。
本系统要运行就必须要有一个支持它的浏览器,要确保安装有SQL Server 2000数据库,新建的数据库名为ClassDB,学生用户名为1,密码为1,教师用户名为1,密码为1,管理员用户名为1,密码为1。还要服务器Tomcat1.6。本系统将项目放在Tomcat里发布,因此需要对机子环境变量的配置。JDK版本要在1.4以上,否则程序将会出现一些因环境不一致而出错。
短短四年的大学生活即将结束, 短短毕业设计更是转瞬即逝。 由于技术有限我做的系统有待于进一步的完善。通过这次毕业设计,我明白了许多道理,做任何事情之前都要有个总体规划,不能盲目的想当然去做,那样只会浪费时间与精力,并且收获也很少。做的过程中也要不断总结与改进,更要注重组员间的协调与配合才会有更大的收获,否则进步很少。没有付出是绝对没有收获的,一个非常简单的道理,在毕业设计中更是非常明显,在需求分析中遇到的困难不是太多,而在后期的编码与实现由于自己的专业知识掌握的不够扎实,遇到一些问题,通过查阅书籍询问老师一一解决掉。从接到毕业设计任务的那一天起,我就感觉到压力特别大,因为这毕竟是毕业设计,而不是我们每门课的实验,以前我们做的实验虽然也要编程实现一些功能。但是,那主要是针对我们那一门课程,涉及范围比较小,实现的功能也比较简单。而毕业设计可是我们所有学过知识的总结,它需要我们把以前所学的东西都集中在一起,然后加以灵活应用。Jsp,servlet这个开发工具以前也没有深入的学习过,学生成绩管理系统需要用到它里面许多控件。所以,要做好毕业设计,首先就需要我掌握好这个开发工具,我通过大量的上机操作,终于熟练的掌握了这个开发工具。随后我就开始设计本系统,刚开始感觉这么庞大的一个系统,真的是无从下手,后来在老师的指导下终于有了点进展,把整个系统分为好几个小的模块来做,随后开始设计数据库,数据库既要方便快速查询,还要不出现冗余信息为此我翻阅了大量的书籍,设计了有五个表的数据库,当然为了方便查询,有些表采取了冗余设计。就这样一步一步的设计,当设计中遇到困难时,就向老师请教,或者到图书馆借阅图书,上网找资料。在老师的指导下毕业设计终于如期完成。 总之,这次毕业设计让我收益非浅,不仅学到了新的知识,还让以前书本上学的理论知识在实践中加以应用,做到学以致用。还有,养成的一些良好习惯,对以后的学习和工作,都是很有帮助的。这次毕业设计已经顺利的完成,这些都与指导老师的耐心指导、热心帮助密不可分。老师不断的提出好的建议和要求,帮我完善设计、改进设计的实用性。这次毕业设计使我以前的理论知识有了质的飞跃,为我以后从事各项工作都奠定了一定的基础。
在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢。
在本次毕业设计中,我从指导老师身上学到了很多东西。他们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他们无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,指导老师几次审阅我们的论文,提出了许多宝贵意见,没有他们的指导,我们就不能较好的完成课题设计的任务。
另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,教会了我做人处事的道理,在此表示感谢。同时,在系统开发过程中还有同组的同学也给了我不少帮助,这里一并表示感谢。
[1] 王福成,周铁柱.JSP数据库开发指南[M].北京:清华大学出版社,2006
[2] 崔洪斌.JAVA WEB入门经典[M].北京:清华大学出版社,2007
[3] Cay S.Horst, Mann Gary Comell. JAVA2核心技术卷I[M].北京:机械工业出版2002
[4] 刘聪.零基础学Java Web开发[M].北京:机械工业出版社,2008
[5] 成奋华.现化软件工程[M].湖南:中南大学出版社,2004
[6] 余昀. JSP 2.0技术从入门到精通[M].北京:中国铁道出版社,2006
[7] 耿祥义,张跃平. Java2应用教程[M].北京:清华大学出版社,2006
[8] 黄明、梁旭. Java信息系统设计与开发实例[M].北京:机械工业出版社,2005
[9] 林邦杰.彻底研究Java2[M].北京:电子工业出版社,2005
[10] 胡大奎,陈酌.JSP高级开发技术[M].北京:中国水利水电出版社,2005
[11] 荣钦科技.JSP动态网站开发与实例[M].北京:清华大学出版社,2006
[12] 苏俊.边学边用SQL Server[M].北京:清华大学出版社,2007
[13] 肖慎勇.SQL Server数据库管理与开发[M].北京:清华大学出版社,2006
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。