1、毕 业 设 计毕业设计题 成绩管理系统 毕业设计类型产品设计 工艺设计 方案设计 姓名 班级 所属系部 物流信息系 专业 物流信息技术 指导教师 职称 完成时间 摘要随着信息技术的飞速发展,计算机和网络在学校的教育教学领域发挥着越来越重要的作用,学校管理、教师授课、学生学习已经离不开信息技术的支持。学生的成绩管理对于教师的学校的教学管理、教师的教学水平提高和学生的学习成绩进步来说都起着至关重要的作用。一直以来学生的成绩管理都要靠人工的方式来完成,是一个非常繁重的工作,使用人工计算和管理效率低、保密性差,而且历年的数据很不利于保存。使用计算机的数据处理功能对学生成绩进行信息化管理,可以实现数据的
2、长期保存,而且检索迅速、安全性高、保存成本低、寿命长、存储数据量大,有着许多人工管理无法比拟的优势,可以减轻教师的工作压力。关键词:成绩管理、数据、教学管理目 录摘要2引言3开发背景4运行环境5第一章 成绩管理系统分析61.1成绩管理系统开发的目的和意义61.2 成绩管理系统开发的必要性61.3成绩管理系统开发的可行性7第二章 有关数据库设计72.1数据库简介82.2数据库需求分析92.3数据库结构102.4数据库逻辑结构设计14第三章 系统模块设计183.1开发语言183.2系统功能分析203.3管理员模块213.4学生模块233.5通用模块24第四章 编码264.1系统编码说明264.2页
3、面说明284.3业务处理流程28总结30致谢31参考文献31引言随着计算机的普及与应用,现在的管理也需要提升一个档次。即从以前的手工记录管理模式转变为计算机一体化管理。基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理,几乎所有学校也都已经在使用计算机管理数据的机制,这样会给管理人员带来很大的方便和好处,让他们的管理效率更高、效果更好、范围更广。由此产生了本管理系统成绩管理系统。学生成绩管理系统是一个学校不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该为用户提供充足的信息和快捷的查询手段。当前成教学院没有一个完善的成绩信息管理平台,计算
4、机使用主要基于Microsoft Office,不能发挥有效的作用。而且随着我国教育改革的不断深入以及自学教育的不断扩招,参加考试的人越来越多,考试科目的多样化,使得成教学院对自学考试成绩的管理越趋繁琐、复杂,工作业务繁杂,工作量大,这种传统的学生管理模式已经暴露出种种弊端:难以统一调配和处理,效率极低,缺乏科学性以及合理性。随着计算机应用的普及与深入,利用计算机能够对所有自学考试成绩进行统一管理,并进行分析,大大减少教学秘书的工作量,提高工作效率,为教学办公带来了极大的方便。通过操作手册,使用者可以了解本软件的基本工作原理及使用说明。操作人员只需输入一些简单的汉字、数字,就可以存储、查找、修
5、改学生成绩信息等。本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化、达到提高学生成绩管理效率的目的,本系统本着实用性、通用、开放和安全的原则,使数据库开发软件开发制作,实现了学生信息管理、课程信息管理、学生成绩管理、成绩查询等功能。开发背景今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全等等。现在我国的大中专校中学生成绩的管理水平还停留在纸介质的基础上,这样
6、的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。我作为一个计算机应用的学生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我三年的所学编制出一个实用的程序来帮助大中专进行更有效的信息管理。归纳起来,好处大约有以下几点:1可以存储学生的基本信息以及历届的学生信息,安全、高效;2只需一到二名信息录入员即可操作系统,节省大量人力;3可以迅速查到所需信息。第一章 成绩管理系统分析1.1 成绩管理系统开发的目的和意义为了方便管理人员在数据方面的管理,结合当今各学校的成绩管理,为了能全面、
7、准确、有效地管理学生成绩的各种信息而开发与研制的一个系统。其主要功能是快速适应现代化物管水平和解决工作人员繁重而冗长的工作量。减轻了人力的负担,方便了数据的存储,增加了安全性。本次毕业设计不仅考查了我综合运用以前所学知识的能力,同时也锻炼了我的实际动手能力,对于我以后工作能力的培养具有重要的意义。1.2 成绩管理系统开发的必要性一个学生成绩管理系统,传统的手工方式,使得数据容易丢失,在统计时易发生错误高,速度慢,而用计算机可以提高工作速度以及数据的准确性,便于管理。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,学生成绩管理系统以计算机为工具,通过对教务管理所需的信息管理,把管
8、理人员从繁琐的数据计算处理中解脱出来,为老师节省很多时间跟精力,提高老师的工作效率,通过学生成绩管理系统给学校管理者减轻工作的负担,将工作的失误几率降到最低,为广大老师同学带来便利,使大家能够更好的投入到学习中。同时这个系统还可以减少人力与管理费用,提供信息准确度更高,更简便的学生信息管理系统。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,在各个领域发挥着愈来愈重要的作用。学生成绩管理系统,是以高校的管理方式为实例而设计的一种实用型管理系统。1.3 成绩管理系统开发的可行性 技术上的可行性:在技术方面采用JAVA和SQL Sever数据库相结合的方法来实现,所有数据
9、信息的存储都由数据库来完成。经济上的可行性:开发系统的成本低,对设备的要求也比较低只要有一台微机就可以运行不需要专门的运行设备。由于管理系统可以处理大量繁琐的数据,对数据存储的时间也相当长,因此可以节省大量的人力、物力、财力对各项数据进行管理。第二章 有关数据库设计目前商业决策面临的最大挑战不是缺少数据,而是数据太多,大部分无法发掘数据的价值给学校决策层提供支持.决策人员的困惑在于一是海量数据,现有的信息无法高效处理,;二是数据混乱,根本找不到解决的办法;三原始的数据存放方法通用性差,不便于移植,在不同文件中存储大量重复信息、浪费存储空间、更新不便等。基本这些原因的存在,数据库系统应运而生。它
10、能够完全整合现有的业务系统,保护已有投资,并能在应用程序的配合下充分地分析数据,为决策提供支持。数据库在一个管理系统中占有十分重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现各项功能的效果产生一定的影响。合理的数据库设计可以提高数据的存储效率,保证数据的完整和一致。同时,合理的数据库结构也更加有利于程序的实现。2.1 数据库简介随着现在科学技术的飞速发展,各种信息已经成为各个领域不可缺少的一部分。数据库已成为一种以其强大的操作和管理功能的高速信息表达的途径。现在我们所熟知的数据库的种类有很多,比如“SQL Server”,“VF”,“Framework”, “Oracle”“MY
11、SQL”“SYBASE”“DB2”等等,然而我们选择了用SQL Server2005来作为本系统数据库软件。SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使我们可以构建和管理用于业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 是一个全面的数据库平台,使用集
12、成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使我们可以构建和管理用于业务的高可用和高性能的数据应用程序。Microsoft SQL Server 2005 数据引擎是该企业数据管理解决方案的核心。此外 Microsoft SQL Server 2005 结合了分析、报表、集成和通知功能。这使我们的企业可以构建和部署经济有效的 BI 解决方案,帮助团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。与 Microsoft Visu
13、al Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 Microsoft SQL Server 2005 与众不同。无论是开发人员、数据库管理员、信息工作者还是决策者,Microsoft SQL Server 2005 都可以提供创新的解决方案,帮助我们从数据中更多地获益。不过SQL Server也有一定的局限性,比如一个很大的弊端就是它智能运行在Window机器上,Linux,Unix中完全无法运行,造成了它无法移植的缺点。不过它的可视化界面,以及它的帮助文
14、档很适合初学者使用。2.2 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后具体的设计打下基础。在仔细分析调查有关学生成绩管理系统信息需求的基础上,得到如图2.1所示的本系统所处理的数据流程。管理菜单 班级信息管理学生信息管理成绩信息管理 系统管理 图2-1学生成绩信息管理系统流程图2.3 数据库结构通过对系统分析得到的数据项和数据结构,就可以设计出能够满足用户需求的各实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过
15、相互之间的作用形成数据的流动。班级信息管理班级编号班级名称所属专业班主任联系电话基本操作图2-2 班级信息管理图学生信息管理系统学生编号学生姓名班级ID性别地址联系电话生日基本操作图2-3 学生信息管理图课程信息管理课程编写课程名称学时分数基本操作图2-4 课程信息管理图成绩信息管理学生编号课程id分数基本操作图2-5 成绩信息管理图系统管理修改密码退出系统图2-6 系统信息图2.4 数据库逻辑结构设计将上面的关系分析将数据库概念结果转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构,形成数据库中各表格以及各表之间的关系如下:表2-1 用户登录信息表数据库名称Javabean名称中文
16、名称字段类型备注信息idid编号int identity(100001,1) user_codeuser_code学生编号int与学生表ID关联,管理员无此IDLogin_nameLogin_name登录名Varchar(20) 用户登录使用的名称Login_pwdLogin_pwd登录密码Varchar(32) 登录密码,存放着用户MD5加密后的密码user_typeuser_type用户类型char(1) default 0为1则是管理员,默认为0,用户 statusstatus状态char(1) default 1是否失效,若为0,则用户无法登录,默认为1表2-2 学生信息表数据库名称J
17、avabean名称中文名称字段类型备注信息user_codeuser_code学生编号int primary key与登录信息表对应user_nameuser_name用户姓名varchar(10) not null用户真实姓名class_idclass_id班级IDvarchar(5) not null用户班级ID,与班级表对应bri_datebri_date生日varchar(20)用户生日日期sexsex性别varchar(2)用户性别addraddr地址varchar(50)用户地址phone_numphone_num用户电话varchar(20)用户电话号码表2-3班级信息表数据库名
18、称Javabean名称中文名称字段类型备注信息class_idclass_id班级编号int identity(1001,1) primary key班级ID,自动增长,主键class_nameclass_name班级名称varchar(30)class_zyclass_zy班级专业varchar(20)class_teachclass_teach班主任姓名varchar(20)class_phoneclass_phone班主任电话varchar(20)表2-4课程信息表数据库名称Javabean名称中文名称字段类型备注信息sub_codesub_code课程编号varchar(10) pri
19、mary key主键sub_namesub_name课程名称varchar(20)cyclecycle课时intscorescore学分intsemestersemester学期int表2-5学生成绩表数据库名称Javabean名称中文名称字段类型备注信息user_codeuser_code用户编号int not null与学生表ID关联sub_codesub_code课程编号int not null与课程表ID关联scorescore分数int not null 第三章 系统模块设计3.1 开发语言本项目采用现在比较流行的开源开发语言JAVA,JAVA是一种可以撰写跨平台应用软件的面向对象的
20、程序设计语言。JAVA技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。与传统程序不同,Sun 公司在推出 JAVA之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 JAVA软件必须相互兼容。“JAVA语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对JAVA 编程语言的解释是:JAVA编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、
21、高性能、多线程和动态的语言。JAVA 平台是基于 JAVA语言的平台。这样的平台非+常流行。因此微软公司推出了与之竞争的.NET平台以及模仿JAVA的C+语言。JAVA是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。JAVA编程语言的风格十分接近C语言、C+语言。JAVA是一个纯粹的面向对象的程序设计语言,它继承了C+语言面向对象技术的核心。JAVA舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担
22、忧。在 JAVA 1.5 版本中,JAVA 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。3.2 系统功能分析对学生成绩管理系统进行描述的一个更详细的功能模块图。A. 管理员操作系统管理员模块主要对使用本系统的用户进行如下管理:u 学生信息查询:管理员有权限对学生的信息进行查看和修改,以及添加和删除学生。u 班级信息查询:管理员有权限对教师的信息进行查看以及对教师信息的添加和删除。u 登录密码修改:可以对自己登录的密码进行修改。u 课程信息管理:可以对课程进行添加、删除、修改、查询,而且可以安排课程以及对认可信息的查询和修改。B
23、. 学生操作系统学生管理模块主要是对学生信息等进行管理:u 修改密码:对自己登陆的密码进行修改。u 查询成绩:对学生的成绩等信息进行查询。u 登陆:能够登陆到这个系统。3.3 管理员模块n 班级信息管理:页面显示的表格上提供查询功能,班级名称支持模糊查询,当点击右上方的新增班级连接后,页面将跳转至班级信息录入页面,如下图:注:班级ID为自动生成,当填入所有信息后,点击提交,数据将保存至数据库,页面将跳转至班级列表页面,刚才录入的班级信息将显示出来,在数据的后方提供了编辑与删除功能,点击编辑,页面跳入修改班级信息页面,与班级信息录入页面一致,但是系统已经将之前的该条信息查询出来,直接修改需要修改
24、的地方,再点击提交,数据将更新。注:点击删除链接后会弹出提示信息,点击确认后该条数据消失n 学生信息管理:整体功能与班级信息管理模块使用一致,学生姓名为模糊查询,唯一区别在于新增或者修改学生信息时,会有下拉选择的班级,如下图注:下拉选择的目的在于防止用户输入的班级ID与数据库中班级信息不关联,造成数据错误。当学生信息录入成功后,后台会自动在用户登录信息表与学生表中产生记录,学生可以通过使用自己的ID登录,登录名与密码都为学生自己的IDn 课程信息管理:整体功能与班级信息管理模块使用一致,名称同样提供模糊查询,新增课程信息填入对应信息即可n 成绩信息管理:成绩信息管理页面可以指定对某学生信息进行
25、查询,也如班级信息管理一样,在右上方有新增连接,数据后方提供编辑与删除功能;打开新增成绩页面,如下图注:下拉选择好对应的学生,课程,然后输入分数,点击提交后该记录将会插入至数据库,页面会跳转至成绩列表页面,之后学生就可以在登陆后查看到自己的成绩信息了3.4 学生模块l 个人信息:学生模块功能比较少,且只能对自己的个人信息修改,其他信息只能查询,用户进入系统的第1个页面显示的是自己的个人信息,可以修改,学生无法修改自己的班级ID,只能修改部分资料.如下图l 班级信息: 学生也能通过左边的菜单连接进入班级信息页面,不过也只能查询,无法修改或者删除,如下图l 成绩信息:用户可以点击左边的成绩信息,查
26、看到自己的成绩情况,不提供修改与删除权限。如下图3.5 通用模块 系统登录: 系统内采用统一登录验证,使用登录名与密码,并添加验证码来做用户登录验证,界面如下注:后台使用MD5加密,并根据用户类型进行页面跳转,不同用户登录后的首页不一样注:下图为管理员登录后的首页 系统管理:在系统左边菜单栏有个系统管理,中间提供了修改密码与退出系统功能 修改密码:当用户想修改自己的密码,可以点击修改密码连接注:进入密码修改页面注:输入原密码与新密码,并确认新密码后,系统将拿用户输入的原密码与数据库中所存的密码进行比对,若一致,则将密码改为用户输入的新密码,下次登录就可以使用新密码登录了 退出系统: 退出系统在
27、修改密码下方有个退出系统,点击后将清空用户会话,并跳转到登录页面,在菜单栏上方的退出按钮一样有此效果。第四章 编码4.1 系统编码说明 Com.score.bean包中存放着所有与数据库表映射关系的类 Common.dbconnection存放数据库连接工具类 Util存放常用工具类 EncryptionForMD5.java为系统登录密码MD5加密工具类 Global存放系统全局变量,方便session的存取 ImageNumber为验证码贮存类 SetCharacterEncodingFilter系统编码过滤器,防止系统交互时产生乱码 SystemFilter系统登录过滤器 Dao数据库操
28、作 Servlet页面与后台跳转,传值,交互4.2 页面说明 Css目录存放项目中所有的样式文件 Images存放系统所有的图片 Js存放系统所有的JS Pages存放系统所有的显示与操作页面 admin目录为管理员的所有页面 login为登录目录 student为学生的所有页面4.3 业务处理流程整体采用典型的MVC模式,M(model)层使用JDBC,V(view)层使用JSP,C(controller)层使用Servlet。MVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数
29、据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。 项目中使用了工具类,如编码过滤器类(自动把请求中的参数转为对应的编码,防止出现乱码),MD5加密类(java自带的MD5加密工具类,将用户的密码通过MD5加密,生成32位编码,然后存入数据库,该加密不可逆)。并有一个global静态变量类,来储存session中键值对的key,写入以及读取就直接可以通过该类来确定需要用哪个,存哪个。 系统运行后,通过系统登陆过滤器来验证用户是否
30、登陆,若用户未登录,页面始终停留在登陆页面,用户的所有请求都会重定向到登陆页面。当用户成功登陆,session中会保留用户相关信息,过滤器也将不再拦截用户的请求。用户登录时,会通过数据库字段来判断该用户的类型,并跳转至对应的页面,管理员的权限最大,有系统里的所有功能,而普通学生,只能查询,以及修改自己的信息而已。呈现层JSP页面方面引入了现在很流行的Jquery插件页面传值采用传统的form表单提交与a标签跳转,后台往页面传值采用JSTL标签库,整体页面采用HTML框架方式,分为上左右三个框架,上框架为头部,显示一些系统时间,当前用户等信息;左框架为菜单栏,主要显示一些系统操作的模块。右框架为
31、显示框架,比如当点击左侧某连接后,右框架自动跳转至对应的页面,而菜单栏以及头部不变。总结在一段时间的毕业设计中,我查阅了许多相关的资料和文献,在这个过程中也接触了很多新的东西,获取了很多新的信息。由于要独立地进行整个系统的设计,需要自己去分析架构和设计,提高了自己分析问题和解决问题的能力,在学习计算机应用专业后,对自己两年多来所学的知识有了一次实际的锻炼。在动手实践的过程中,要求我不断地查阅资料来实现系统的功能。通过本次毕业设计对我个人实践动手能力和编专业技能方面也有很大的提高,对于计算机应用专业以及数据库管理有了更深的认识。实践是对理论学习的检索,同时在实践的过程中也加深了我对理论知识的认识
32、,学到了很多平时书上所不能得到的经验,由于在设计过程中碰到许多以前从未碰到过的问题,这就需要我去接触很多新的知识,通过本次设计促进了我对一些理论知识的学习。同时,也是对我跟人动手能力,以及专业技能综合能力的全面提高。致谢这次毕业设计能够顺利完成,是所有曾经指导过我的老师,帮助过我的同学以及一直支持、关心着我的家人对我的教诲、帮助和鼓励的结果。我要在这里对他们表示深深的谢意!首先我要特别感谢我的指导老师,在我的整个毕业设计的过程中杨老师给我提供了极大的帮助和指导,耐心的为我改正设计中的错误,细心的指导我完成设计中的各项任务。从开始选题到中期修正,再到最终定稿,老师给我提供了许多宝贵意见和建议。参考文献1 刘韬,楼兴华.SQL Server2000数据库系统开发实例导航.北京:人民邮电出版社,2014. 2 丁宝康,董健全.数据库实验教程.北京:清华大学出版社,2013:125-170. 3 尚俊杰、秦卫中 编著JVAN 程序设计案例教程M北京:清华大学出版社,20124 陈伟 编著 SQL Server 2005数据库应用与开发教程M北京:清华大学出版社,20135何文华, SQL Server 2000 应用开发教程J,北京:电子工业出版社出版,20126仝春灵,数据库原理与应用SQL Server 2000J,北京:电子工业出版社,2012