JAVA学生成绩管理系统的设计与实现_第1页
JAVA学生成绩管理系统的设计与实现_第2页
JAVA学生成绩管理系统的设计与实现_第3页
JAVA学生成绩管理系统的设计与实现_第4页
JAVA学生成绩管理系统的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件技术专业毕业论文学生成绩管理系统的设计与实现姓 名: 黑 玉 龙 学 号: 0809340104 指导教师: 张 哲、马 琦 雷 燕、刘 超 专 业: 软 件 技 术 二一年四月十六日 毕业论文开题报告所在系:软件学院 专业: 软件技术 学号: 0809340104 姓名 :黑玉龙毕业设计题目: 学生成绩管理系统(系统)一、 选题意义:学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的信息化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。在

2、现代,高科技的飞跃发展,人们工作习惯的改变,特别是计算机的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,处理繁琐。对于一个学校而言,更应该运用一些本地资源,提高管理的力度。运用学生成绩管理系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够让老师合理安排时间,能够尽快知道学生的考试成绩,为下一阶段的教学做准备。近几年来我国各大中专院校加快了信息化进程,基本上都建立了自己的校园网,这为我们系统的开发提供了必备的物质基础.学生成绩管理系统它能很好的解决以上的问题,极大地便捷了学生和指导老师,

3、显著地提高了工作效率。而且通过本次设计可以让学生更加熟练掌握软件开发的一般过程,并对所学知识做一个全面的总结。 二、 研究现状:随着高科技的飞跃发展,人们工作习惯的改变,特别是计算机的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,处理繁琐。对于一个学校而言,更应该运用一些本地资源,提高管理的力度。因此建立学生成绩管理系统可以使高校满足教学和管理要求。三、 课题提纲: 调查,制作需求分析文档和系统开题报告: 据调查系统主要有3个模块:学生、教师、管理员,其各个功能是:a、学生用户模块 (1)查看个人信息。学

4、生可以根据个人用户名和密码登陆系统查询个人信息。(2)修改个人基本信息。学生依据个人信息进行正确的修改个人信息。(3)查询个人成绩。学生登陆系统后可以查询自己的成绩。b、教师用户模块 (1)查看信息 教师可以查询个人信息和学生的个人信息以及成绩。 (2)更改信息。此功能实现教师对学生的管理。 c、管理员模块 (1)对教师的添加、删除等功能; (2)对学生的添加、删除。系统详细设计:包括业务流图和数据流图的分析以及数据库的设计 程序代码编写 毕业论文的制作四、 课题进度:3.2-3.9 调查用户业务需求、制作需求分析报告3.10-3.18 详细设计3.19-3.25 详细数据库设计3.26-4.

5、7 编码,程序设计4.8-4.14 系统测试4.15-4.20 毕业论文编写五、 使用工具: 编写源码:编写源码基本使用myeclipse,数据库文件的开发使用mysql; 网页美工:网页美工使用photoshop和dreamweamver等制作jsp; 服务器:服务器端采用apache tomcat。 指导教师: 张哲老师,马琦老师,吕后坤老师 及其他专业相关指导老师。2010年03月10日学生签名:年 月 日 指导教师意见:签名: 院系领导意见:签名: 年 月 日 摘 要学生成绩管理系统是典型的信息管理系统(mis),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于

6、前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本系统主要完成对学生成绩的管理,包括添加、修改、删除,查询,打印信息以用户管理等六个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。查询功能也是系统的核心之一,在系统中主要根据学生姓名和学号进行查询,其目的都是为了方便用户使用。系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。系统应用时下流行的struts框架来开发,在底层数据库

7、连接使用数据库连接池技术,视图层采用jsp技术.jsp是java server pages的缩写,是servlet的扩展,它的主要优点是能够是显示和业务逻辑分离,通过jsp来生成动态的网页,由javabean,servlet或是一些java程序来实现复杂的业务逻辑,jsp这样的特点大大的减轻了服务器的负担。除此而外jsp还具有很多的优点,比如jsp还具有java语言一次编写处处运行的跨平台优点,等等。这里就不一一介绍了。所以说jsp技术是开发基于b/s架构的web应用的最佳选择。关键词:学生成绩管理;jsp;javabeanvabstractthe system of managing stu

8、dents achievement file is a typical application of managing information system (know as mis), which mainly includes developing the application interface of front-end and building up and maintaining the data-base of back-end. the former should make the function of application integrated and the usage

9、 is easy, the latter required a data-base with powerful consistency and integrality, and nice security. this system mainly completes the management to students achievement, include six aspects such as adding, modifying, deleting, searching, printing information and the customer management. the syste

10、m can complete to browse, search, add, delete, modify etc. to each kind of the function of information.system apply the technique of jsp that is very popular at present. jsp is the abbreviation of the java server pages, is a servlet to expand. the main advantage is to manifest and separate the busin

11、ess logic by jsp can make dynamic web page from javabean, servlet or some the procedure of java to realize complicated business logic. such characteristics of jsp alleviate the burden of the server in addition to this but the jsp still has a lot of advantages, for example, the jsp still has the lang

12、uage of java a weave the cross-platform advantage that write circulates everywhere, etc. here isnt introduce detailed. so jsp is the best choice in web development according to the frame of b/s.keywords: the system of managing students achievement;jsp;javabean目 录摘 要iiiabstractiv第一章 绪 论11.1 系统开发背景11.

13、2 本课题的研究意义11.3 系统概述1第二章 系统需求分析32.1 系统需求32.2 功能需求32.3 数据需求42.4 性能需求62.5 出错处理需求6第三章 系统分析73.1 可行性分析73.2 业务流程分析83.3 数据流程分析83.4 数据字典描述93.4.1 数据条目93.4.2 数据分析9第四章 系统设计114.1 系统总体结构设计114.2 系统功能模块图124.3 系统建模学生成绩管理系统用例分析134.3.1 识别参与者134.3.2 识别用例13第五章 详细设计175.1 数据库设计175.2 数据库的结构设计175.3 数据库逻辑结构设计195.4 数据库的连接205.

14、5 学生成绩管理系统的登录页面205.6 学生成绩管理系统安全性20第六章 常见问题及解决方法236.1 关于乱码问题236.2 关于非法登录问题23结束语24参考文献25致 谢26第一章 绪 论1.1 系统开发背景随着社会的发展和经济时代的到来,管理信息系统在各行各业都越来越重要,特别是教育事业。在我国,有的学校根本就没有系统,还是手工操作,手工操作还十分落后,效率极低,成本很大,以后的社会是信息的社会,信息只有快,准,精才能发挥其价值。以学校管理信息系统建设中的教学管理子系统的开发为背景来开发学生成绩管理系统以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够让老师合理安排时间

15、,能够尽快知道学生的考试成绩,为下一阶段的教学做准备。1.2 本课题的研究意义建立学生成绩管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩管理工作流程的系统化、规范化和自动化。本论文就是为了实现这些想法而设计的。其研究意义有以下几点:(1) 学生查询个人信息功能,方便学生了解个人成绩;(2) 教师在本系统中拥有添加,修改,删除自己学生的成绩的功能;(3) 后台管理系统能够方便的管理学生、教师、课题、班级等信息,提供了完善的管理服务。 总之,本课题的研究为高校提高工作效率,实现学生成绩管理工作流程的系统化、规范化和自动化成为了可能。并

16、且提供了实现方法。1.3 系统概述高校的招生规模不断的扩大,在校大学生的人数不断上升,在办公化日益完善的今天,很多高校将自动化引入到学生的日常管理之中,学生成绩管理系统就是其中的一个重要环节,它作为学生信息管理的基础,是实现校园信息化进程当中很重要的一个方面。 其开发主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。本系统分析了现今学生成绩管理系统中所应用的几个环节,并针对每个环节做出了详细的阐述和探讨。学生成绩管理系统需要完成3个的内容:学生档案资料的管理、学生必修课成绩的管理、和学生选修课的管理。三个方面的内容均提供添加、修改、查询的功能。另外系统还有完成选修课选报功能,即学生

17、通过系统选报课程,老师通过批复学生的选报请求。开发用到的相关技术有java编程语言、引入mvc设计模式理念,以及后台数据库mysql的搭建与操作,并对模块的功能进行了具体分析和详细设计。第二章 系统需求分析2.1 系统需求成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。学校学生成绩管理工作都是采用传统的

18、手工管理,这个传统人工的管理方式存在着许多缺点,如:效率低,保密性差,一方面导致教师,学生成绩情况不了解,教师对成绩管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。选择myeclipse来开发学生成绩管理系统,由于以上的优点,帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化,所以选择myeclipse来开发学生成绩管理系统。需求的收集及分析:学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理(包括必修课和选修课),每个内容均需要提供添加、修改和查询的功

19、能。学生成绩管理系统在开发过程中收集到的客户需求文档记录的关键部分可概括为以下几个部分:1、可能会使用到该系统的用户:系统管理员、教师、学生;2、各类用户的权限不一样。例如系统管理员可以添加、修改、查询学生档案资料和学生的成绩,学生只能查询自己的档案、成绩以及一些公共的信息,教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息。3、要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。由此可见,学生成绩管理系统需要满足3个方面的需求:管理员使用系统对全部数据进行维护操作;教师对于自己相关的部分数据实体进行操作;学生作为查询者对数据实体进行查询操作。现在的学

20、生成绩管理系统基本上能做到这几个方面的要求,但多数系统在功能上依然存在缺陷和不足,尤其是在用户界面的友好性以及查询结果的可视化方面存在着很大的问题。2.2 功能需求系统功能需求:我们的系统需要实现的功能主要包括以下几个方面:设计不同用户的操作权限和登录方法;管理员可以添加、修改和查询学生的档案记录,同时可以添加、修改和查询学生的成绩记录,有对学生成绩信息开放度的管理权;管理员对学生的档案和成绩进行审查,生成学生的档案记录报表和学生成绩报表;教师可以查询所授课程的学生信息,可以录入并查询所授课程的成绩;学生有查询个人档案信息和成绩信息的权利;用户界面的直观性和成绩查询结果的可视化。在查询结果的可

21、视化方面,主要是针对当前众多的成绩管理系统的“通病”,我们所涉及的利于查询用户的一项新功能,除了带来便捷性之外,在数据的统计分析等方面也有很大的帮助。满足上述要求的系统应该包括以下几个模块:基本数据维护功能;数据库管理功能;基本业务功能。2.3 数据需求通过调查,总结出用户对数据的需求如下: (1)学生信息 包括:学号、学生姓名、性别、出生日期、所在学院、专业、班级等。 (2)课程信息 包括:课程编号、课程名称、所属专业等。 (3)选课信息 包括:学生姓名、课程名称、开课时间、成绩等。一、基本数据维护功能1、添加学生的档案信息。2、修改学生的档案信息。3、删除学生的档案信息。4、添加学生的成绩

22、信息。5、修改学生的成绩信息。6、删除学生的成绩信息。7、查询结果的可视化管理。描述如图 2-1:基本数据的维护功能添加学生的档案信息修改学生的档案信息删除学生的档案信息删除学生的成绩信息修改学生的成绩信息添加学生的成绩信息查询结果的可视化管理图2-1基本数据维护功能图二、数据库管理功能1、档案和成绩信息管理。2、帐户信息管理。3、档案和成绩信息查看管理。三、基本业务功能1、查看档案信息和成绩信息。2、添加成绩信息。由此,学生成绩管理系统的总体用例图设计如下:图2-2 系统总体用例图2.4 性能需求通过分析,系统性能需求如下:1、系统的高速性、稳定性、安全性。2、系统的体系结构能够方便添加功能

23、模块,适应业务、办公的发展。3、系统人机界面友好,易学易用。4、系统维护成本较低。2.5 出错处理需求出错处理的任务是及时有效的避免或纠正错误:1、接受到从另一个系统发来的违反协议格式的消息时要及时拒绝。2、发现系统自己出现错误时要及时提出出错处理需求。第三章 系统分析3.1 可行性分析问题定义阶段必须回答的关键问题是:要解决什么问题。通过调研,系统分析员应该提出关于问题性质、工程目标和工程规模的书面报告,并且需要得到客户对这份报告的确认。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,并对以后的行动方针提出建议。一般说来,应从经济可行性、技术可行性、运行可行性、法律可

24、行性和开发方案可行性等方面研究可行性。可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只占预期的工程中成本的5-10%。(1) 技术可行性目前国内外开发管理信息系统的相关技术已经很成熟,有很多软件由于采用了面向对象的编程技术以及其他比较先进的开发方法,具有很高的可用性。以现有技术来看,数据库系统,尤其是mysql数据库的开发已经被大多数开发人员所掌握,而java具有快速、有效、灵活、易懂等很多显著的特点。它能够迅速而又简单地建立用户的图形化窗口。对于数据的查询、添加和修改都很方便实现。学校现有微机及软件系统安全可以实现系统。(2) 经济可行性因为开发时间为两个月,此次设计的

25、系统要求并不高,因此本次的设计可以使用学校现有的微机系统和java+jsp+servlet完成,其基本功能都能够很好的实现,几乎不需要额外开销。旧的学生成绩管理系统效率低、工作量大、处理过程中容易出错,并且将产生大量的文件和数据材料,这对于查询、更新和维护都带来了很多麻烦。而新系统检索速度快、查找方便、可靠性高、存储量大、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是学校的科学化、正规化管理、与世界接轨的重要条件,这将产生巨大的经济效益。(3) 运行可行性民办教育正在迅猛发展,学院从硬件到软件都投入了大量的人力、物力、财力,在教务上,给各个办公室配置了计算机,并能联接到互联网,并且,

26、学院领导对这方面比较重视,在教务上配置了一定数目的能够训练操作计算机的干事,可以快速、方便、高效地使用计算机进行日常工作。学院开展了计算机及其维修专业,可让学生以实践方式对系统进行维护。使此系统在实践上具备了可行性。3.2 业务流程分析下面是学生成绩管理数据库系统设计的业务流程分析,原始的数据是学生的成绩,系统要求统计学生的成绩,并根据成绩统计的结果由奖学金评为评选出获得奖学金的学生,其流程图如下:图3-1 学生成绩管理系统数据流程图3.3 数据流程分析数据流程图(data flow diagram简称dfd)是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合地反映出信息在系统中的使用

27、、加工处理、传递、存储的整体情况。 数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况,但却无法表达每个处理的详细内容,因此还要对数据流程图中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。 学生成绩管理系统数据流程图(如图3-2所示):p3.2分辨用户是否存在教师学生p核对用户和密码是否匹配p2.2修改数据p1.2权限分配p2.1录入数据d学生成绩记录图3-2 学生成绩管理系统数据流程图3.4 数据字典描述数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据本身将存放在

28、物理数据库中,由数据库系统管理。数据字典有助于这些数据的进一步管理和控制,设计人员和数据库管理员在数据库设计、实现和运行阶段控制有关数据提供依据。3.4.1 数据条目系统管理要求=班级表(classes)|教师表(teacher)|课程表(course)|管理表(admin)|学生基本信息表(student)|选修课表(enrol)classes=tea_id+cour_id+room_id+cour_timeteacher=id+name+title+passwordcourse=id+name+mark+prepare+depadmin=id+ name+passwordstudent=p

29、assword+id+sex+department+jiguan+tel+e_mailenrol=stud_id+class_id+accept+score3.4.2 数据分析数据结构数据结构反映了数据之见得组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构名:student含义说明:是成绩查询系统的主体数据结构,定义了有关学生的信息。组成:password,id,sex,department,jiguan,tel,e_mail数据结构名:teacher含义说明:是成绩查询系统的主体数据结构,定义了有关老师的信息。组成:id,

30、name,title,password数据结构名:classes含义说明:是成绩查询系统的主体数据结构,定义了有关班级的信息。组成:tea_id,cour_id,room_id,cour_time数据结构名:course含义说明:是成绩查询系统的主体数据结构,定义了有关课程的信息。组成:id,name,mark,prepare,dep数据结构名:enrol含义说明:是成绩查询系统的主体数据结构,定义了有关选修课的信息。组成:stud_id,class_id,accept+score第四章 系统设计4.1 系统总体结构设计本系统的结构本系统采用b/s架构,所有的业务处理逻辑都在服务器端执行,客户

31、端只有浏览器(ie/firefox/netscape等),所有界面呈现/操作都是通过浏览器将数据发送到服务器,由服务器的相应模块进行处理。系统总体设计实现客户/服务器(b/s)模式在产生之初被设计为两层结构模型,一般又称之为以数据库为中心的结构。应用系统的用户界面部分可以放在客户端或服务端,但一般只存放于某一端,不会同时两端都有。两层结构模型将应用的用户界面从服务端移至客户端,有助于减少服务端的处理,从而提高系统的性能。业务逻辑以sql语句或存贮过程调用的形式表示。sql语句的网络开销过大,在业务逻辑简单的应用中表现尚可,但对于分布式的业务处理,就会显得有些不足。 为了避开两次结构模型的这些缺

32、点,本系统采用三层模型来实现客户/服务器模式。本系统的三层结构模型以访问web数据库为中心,http为传输协议,客户端通过浏览器(browser)访问web服务器和与其相连的后台数据库。其三级结构组成如下图4-1所示:jsp显示页面用户界面层businesslayer业务处理层数据支持层database图4-1 三层结构模型图图中从左到右,分为三个层次:第一层是用户界面层,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的web服务器提出服务器请求,web服务器用http协议把所需文件资料传给用户,客户端接受并显示在www浏览器上;第二层业务处理层是功能层,完成客户的应用功能,

33、即web服务器接受客户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回web服务器,再传至客户端;第三层数据支持层是数据层。数据库服务器应客户请求独立地进行各种处理。与传统的两层模式相比,三层模式的主要优点为:(1) 好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的;(2) 可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;(3) 较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用jsp显示页面businesslayerdatabase用户界面层业务处理层数据支持层服务

34、器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式;(4) 增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受;(5) 三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行效率;(6) 三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。4.2 系统功能模块图学生成绩管理系统管理员学生教师添加记录修改记录查询记录生成报表查询记录选报选修课程添加记录修改记录查询记录生成报表图4-2 系统功能模块图 如上面业务分解图

35、所示,将一个开发的软件学生成绩管理系统分成三个模块, 即管理员模块、学生模块和教师模块。管理员模块:系统管理员使用了系统中的所有权限,这些权限大致可以分为添加、修改、查询记录以及生成报表。学生模块:学生仅仅使用系统的查询功能以及使用系统选报选修课课程。教师模块:教师具备部分管理员的权限,他们能够修改与自己课程相关的数据实体的内容,但除此之外的数据实体则不能被修改。4.3 系统建模学生成绩管理系统用例分析4.3.1 识别参与者在前面的需求分析过程中,明确了系统的3类角色(actor)及其相关的权限。 系统管理员:系统管理员使用了系统中的所有权限,这些权限大致可以分为添加、修改、查询记录以及生成报

36、表。 学生:学生仅仅使用系统的查询功能以及使用系统选报选修课课程,不具备操作系统中其它功能的权限。 教师:教师具备部分管理员的权限,他们能够修改与自己课程相关的数据实体的内容,但除此之外的数据实体则不能被修改。4.3.2 识别用例根据对需求的进一步分析,可以确定系统中有如下用例存在(1)处理学生档案管理事务(2)处理学生必修课成绩事务(3)处理学生选修课成绩事务(4)成绩查询事务根据需求及分析得到学生成绩管理系统的用例(usecase)图。首先设计的是整个系统的用例图,如图4-3所示。图4-3系统总体用例图从上面的用例图中可以看出,系统的用户(包括管理员、教师、学生)如果要使用系统的功能的话,

37、必须要通过登陆验证的环节,这是对系统数据的保密性和安全性所采取的措施。系统的总体用例图中的用例功能比较模糊,需要对去进行进一步的细化。下面是对总体用例图的进一步的细化过程。 学生档案管理事务用例的细化。如图4-4所示:从图4-3所示的用例图中可以看出:处理学生档案管理事务的用例包括4个部分的内容:添加学生档案记录、修改学生大档案记录、查询学生档案记录、生成学生档案信息报表,include关系表明了处理学生档案管理事务用例对后面4部分内容的包含关系。用例图中的extend关系出现在子用例“查询学生档案信息”和“生成学生档案信息报表”之间。extend关系表示“查询学生档案信息”用例可以延伸到“生

38、成学生档案信息报表”用例。图4-4 学生档案管理事务用例图 处理学生必修课成绩事务用例的细化。如图4-5所示:图4-5 处理学生必修课成绩事务用例图 处理学生选修课成绩事务用例的细化。如图4-6所示:图4-6 处理学生选修课成绩事务用例图 成绩查询事务用例的细化。如图4-7所示:图4-7 成绩查询事务用例图图4-8 学生成绩管理系统用户登录时序图第五章 详细设计5.1 数据库设计本系统采用mysql来设计数据库。mysql是一个小型关系型数据库管理系统,开发者为瑞典mysql ab公司。前mysql被广泛地应用在internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放

39、源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了mysql作为网站数据库。由于考虑到本系统是应用在单机系统上,根据学校人员规模建立起一个数据库,在此数据库基础上建立起如下基本表:1、班级表(classes):班级编号(id)、教师编号(tea_id)、课程号(cour_id)、班级位置(room_id)、课程时间安排(cour_time)2、管理员表(admin):管理员编号(id)、管理员姓名(name)、密码(password)3、教师表(teacher):教师编号(id)、姓名(name)、所授课程(title)、密码(password)4、课程表(course):课程编号(

40、id)、课程名(name)、学分(mark)、是否选修(prepare)、系名(dep)5、学生信息表(student):学生姓名(name)、学生用户密码(password)、学生编号(id)性别(sex)、所在系(department)、籍贯(jiguan)、联系电话(tel)、电子邮箱(e_mail)6、选修课程表(enrol):选修课程编号(stud_id)、班级号(class_id)、是否选修(accept)、学分(score)5.2 数据库的结构设计管理员用户表,用来存储登录用户的账号、密码和权限如表5.1所示:表5.1管理员表(admin)学生用户表,用来存储学生的一些信息如表5

41、.2所示:表5.2 学生表(student)教师用户表,用来存储教师的一些信息如表5.3所示:表5.3教师表(teacher)课程信息表,用来存储课程信息如表5.4所示:表5.4 课程信息表表(course)选修课程表,用来存储学生要选择题目的信息如表5.5所示:表5.5 选修课程表(enrol)班级表,用来存储学校里班级信息如表5.6所示:表5.6 班级表(classesi)说明:(1) 学号是以学生入校的年的后两位、月份两位、系部代码两位、专业代码两位和编号共10位组成(2) 教师编号是以所在的专业两位和编号两位共四位组成5.3 数据库逻辑结构设计系统管理员数据表:字段号数据类型长度idv

42、archar10namevarchar10passwordvarchar10班级信息数据表:字段号数据类型长度idvarchar50tea_idvarchar10cour_idchar50room_idvarchar10cour_timechar10选修课选信息数据表:字段名数据类型长度stu_idvarchar50class_idvarchar50acceptboolean1scorevarchar50学生档案信息数据表:字段名数据类型长度idvarchar50namepassword10jiguanvarchar50departmentvarchar10sexvarchar10telvar

43、char11e_mailvarchar50教师信息数据表字段名类型长度idvarchar10namevarchar50titlevarchar50passwordvarchar50用户界面可分为以下4个模块:登录模块:登录界面、登录失败界面。学生模块:主界面、选修课程、查看学分、修改个人信息。教师模块:挑选学生、打分、公布成绩。管理员模块:学生管理、教师管理、课程管理、班级管理。5.4 数据库的连接在整个学生成绩查询系统中,数据库的打开在系统中是很重要的,本系统使用连接池连接数据库,使用配置文件“配置.ini”实现连接数据库的功能如:driver=com.mysql.jdbc.driversq

44、lserver.url=jdbc:mysql:/:3306/samssqlserver.user=rootsqlserver.password=123456sqlserver.maxconn=305.5 学生成绩管理系统的登录页面毕业设计管理系统分为三种登录模式(1) 管理员登录(2) 教师登录(3) 学生登录5.6 学生成绩管理系统安全性系统是用jsp网页编程+javabean+servelt+mysql数据库+sql查询语句,学生成绩管理系统中拥有的用户名和密码正确才能正常进入学生成绩管理系统,系统安全设计的判断页面为errorpage.jsp。如果用户名和密码正确,则转

45、向相应的页面,若用户名和密码错误,则转向errorpage.jsp。若是学生登录,以下是给出整个文件的部分代码提供参考:public class login_confirm extends httpservlet public string codestring(string s)trybyte b=s.getbytes(iso-8859-1);s=new string(b);catch(exception e)system.out.print(e);return s;public void dopost(httpservletrequest req, httpservletresponse

46、res)throws servletexception, ioexception string message = null;string id = null;id = codestring(req.getparameter(name);httpsession session = req.getsession(true);session.setattribute(id, string.valueof(id);string password = null;password = req.getparameter(password);string kind = null;kind = req.get

47、parameter(kind);system.out.println(kind: + kind);string temp = getpassword(req, res, id, kind);if(temp=null)elsetemp=temp.trim();if (password.equals(temp)goo(req, res, kind);else message = 用户名或密码有误!;doerror(req, res, message);public void goo(httpservletrequest req, httpservletresponse res, string ki

48、nd)throws servletexception, ioexception if (kind.equals(student) requestdispatcher rd = req.getrequestdispatcher(student.jsp);rd.forward(req, res);if (kind.equals(teacher) requestdispatcher rd = req.getrequestdispatcher(teacher.jsp);rd.forward(req, res);if (kind.equals(admin) requestdispatcher rd =

49、req.getrequestdispatcher(admin.jsp);rd.forward(req, res);public string getpassword(httpservletrequest req, httpservletresponse res,string id, string kind) throws servletexception, ioexception sqlbean db = new sqlbean();string pw = ;string sql = select password from + kind + where name= + id+ ;system

50、.out.println(sql:+sql);try resultset rs = db.executequery(sql);pw=db.getpassword(); catch (exception e) system.out.print(e.tostring();e.printstacktrace();return pw;public void doerror(httpservletrequest req, httpservletresponse res,string str) throws servletexception, ioexception req.setattribute(pr

51、oblem, str);requestdispatcher rd = getservletcontext().getrequestdispatcher(/errorpage.jsp);rd.forward(req, res);public void doget(httpservletrequest req, httpservletresponse res)throws servletexception, ioexception string action = action = req.getparameter(action);if (logout.equalsignorecase(action

52、) httpsession session = req.getsession(true);session.invalidate();requestdispatcher rd = getservletcontext().getrequestdispatcher(/login.jsp);rd.forward(req, res);第六章 常见问题及解决方法6.1 关于乱码问题1、数据库写入乱码:mysql数据存储数据乱码以及前台显示乱码:mysql数据库默认的数据存储类型编码是gbk格式的。当我们从数据库中读取数据的时候往往在前台界面上显示的是?出现乱码现象。这是因为我们所编制的jsp文件所使用的编码格式是:gb2312的,所以出现了不兼容现象。为了解决这个问题在jsp的整体页面中加了个这个属性: pageencoding=”gbk”这样基本上就解决了这个问题了。还有一种方法就是在建设数据的时候就将所建数据库的编码格式改为gbk。然后在编程和绘制前台界面完成要保存的时候就将java文件和jsp文件的编码格式也保存成gbk的。这样以后也不会出现乱码问题了。总之就是数据库的编码格式要和jsp文件的编码格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论