《学生成绩管理系统XX大学自考毕业论文.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统XX大学自考毕业论文.doc(55页珍藏版)》请在三一办公上搜索。
1、高等教育自学考试毕业论文封面市地: 年月日专 业计算机信息管理(本科)姓名联系电话准考证号档案号通讯地址(所就读的学校)邮 编论文题目论文页数指导教师指导教师评估签 名评 审 意 见签 名答辩评估签 名毕业考核成绩主考院校签章年 月 日高等教育自学考试计算机信息管理专业(本科)毕业论文学生成绩管理系统学 校: 山东大学 专 业: 计算机信息管理(本科)姓 名:朱觉斌完成日期:2016.09.15 摘要学生成绩管理系统是为了实现学生成绩管理的系统化、规范化、以及自动化,从而提高学校教育管理的效率。它完全取代了原来一直用人工管理的工作方式,避免老师少录、录错成绩等问题。学生成绩管理系统是一个小型数
2、据库管理系统,它界面美观、操作不仅简单,同时安全性也比较高,基本满足了学生成绩管理的要求。此系统分为学生成绩管理、学生信息管理、课程信息管理、用户管理、学生专业信息管理、权限管理六个模块。学生成绩管理:老师新增学生,给学生选择添加课程,以及专业。学生成绩管理:老师给学生各个课程打分,如果成绩输错了也可以进行修改甚至删除,而学生可以直接登录查看到自己的成绩。课程信息管理:老师可以直接查看各个课程信息也可以添加课程信息、修改课程信息和删除信息。用户管理:管理员可以直接查看登录账号的信息、增加账号、修改和删除账号信息。权限管理:此系统分为管理员、老师和学生三个权限。管理员,是最高权限可以直接维护用户
3、信息,可以直接给用户赋给管理员或者老师还是学生权限。老师,维护学生信息、课程信息和成绩;学生,查看自己的各课程成绩本系统是在以MySQL作为后台数据库,以JAVA为编程语言来开发的。学生成绩管理系统在运行阶段,效果好,数据准确性高,同时也提高了工作效率,实现了学生成绩管理计算机化。关键字:学生,成绩,管理系统,Java,MySQLAbstractStudent achievement management system is to achieve student performance management systematization, standardization and automa
4、tion, so as to improve the efficiency of the school education management.It completely replaced the original has been using artificial management way of working, to avoid teacher problems such as less record, record the wrong results.Student achievement management system is a small database manageme
5、nt system, interface aesthetics, operation simple, not only has a high security at the same time, basic meet the requirements of the student performance management.This system is divided into student achievement management, student information management, curriculum information management, user mana
6、gement, students information management, rights management of six modules.Student performance management: the new students, the teacher give students select add courses, and the professional.Student achievement management: each course grade teacher to the student, can also be modified even if the re
7、sult type in wrong to delete, and students can login to see directly to their grades.Course information management: the teacher can directly see the course information can also add course information, modify, or delete information.Login user management: the administrator can directly see bank accoun
8、t information, add, modify, and delete the account information.Rights management: the system is divided into three administrators, teachers and students.Administrator, is the highest authority can maintain the user information directly, can be directly to the user is assigned to the administrator pe
9、rmissions or teachers and students.Teacher, maintaining the student information, course information and achievement;Students to check their course gradeThis system is in a MySQL database as the background, based on the JAVA programming language to develop.Student achievement management system in ope
10、ration stage, the effect is good, high data accuracy, but also improve the working efficiency, realize the student achievement management computerized.The keyword:Student , achievement , management system, Java , MySQL目 录摘要 IAbstract II第一章绪论 11.1课题背景 11.2课题研究内容 1第二章需求分析 32.1 需求分析概述 32.2系统需求内容 32.3功能
11、需求 42.4可行性分析 42.5其他要求 6第三章成绩管理系统开发技术支持 73.1 数据库的选择 73.2 开发工具的选择 73.3 开发平台和技术框架的选择 8第四章数据库设计 94.1数据库概念结构设计与E-R图 94.2数据库逻辑结构设计 11第五章详细设计 135.1 用户权限管理模块 135.2 学生信息管理模块 175.3课程信息管理模块 235.4学生成绩管理模块 28第六章学生成绩管理系统测试与维护 336.1 链接测试 336.2数据库调试 336.3网站维护 34总结 35致谢 36参考文献 37第一章绪论本毕业论文是以学校教育管理的成绩管理系统的开发为背景,论述了管理
12、信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结、致谢、参考文献等1.1 课题背景随着计算机与互联网的快速发展,计算机普遍应用于各行各业,金融,电力,医疗,军事等等。因此,学校教育管理应用也是势在必行。而学生成绩管理系统是学校教育管理的一个典型的信息管理系统。学生成绩管理系统包括后台数据库的建立与维护,前台程序编写。对于后台的数据库我们需要起数据一致性与完整性强、数据安全性高的库。而对于后者,我们需要程序功能完备,尽量减少bug的出现等良好的特点。学生成绩管理系统,是学校教育管理很重要的部分,它不仅方便学生及时和随时都能通过互联网登录查看自
13、己的成绩,同时也方便老师可以在通过互联网随时随地登录增加,查看,修改和删除学生的成绩。相对于传统的固定电脑输入学生成绩打印,有无比大的优势,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提学生成绩管理的效率。1.2 课题研究内容此成绩管理系统主要应用Java编程和MySQL数据库连接等相关知识。主要需要熟练掌握JAVA开发技术,将所学知识用于实际生活中,并且在实际生活中发挥其主要功能并获得效益。本设计内容包括以下功能模块。(1)学生信息查询模块:主要包括查询所有学生的信息也可以修改学号、姓名、出生日期、专业、总学分删除学生信息,更新学生信息等。(2
14、)学生成绩模块:主要包括老师可以录入学生的各科成绩和删除,同时学生也可以查看自己的成绩。(3)用户与权限管理模块:管理员主要包括录入登录账号信息以及各科成绩和删除,同时也可以给账号赋予学生、老师和管理员权限。(4)课程信息管理模块:老师可以查看、录入以及修改和删除课程信息。(5)专业信息管理模块:老师可以查看、录入以及修改和删除专业信息。第二章需求分析2.1 需求分析概述随着科学技术的不断提高,计算机科学日渐成熟, 作为计算机应用的一部分,使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。进行数据库设计首先必须准确了解与分析用户需求(即用户想要做什么)。需求分析整个设计过程的基础,是
15、最困难、最耗费时的一步。需求分析是否做得充分、准确,决定了在此基础上创建的数据库及应用程序的速度与质量。通过需求分析阶段对图书管理系统的整个应用情况作全面的、详细的调查,确定图书管理的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够接受的文档。事实上,需求分析是数据库开发中最难的任务之一。因为,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。现在我国的教育机构对学生成绩管理还普遍停留在纸介质的基础上,这样的机制已
16、经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理方法必然被计算机为基础的信息管理所取代。通过调查,要求系统具有权限设置功能的登录模块,学生可以实现成绩信息查询功能。教务管理人员能够实现注册新用户,学生成绩信息的查询、录入、删除、修改、浏览、统计等功能。2.2 系统需求随着学校规模的不断扩大,学生人数逐年增加,学校对学生成绩管理的工作量也越来越大。学生成绩管理涉及大量的数据处理,如果用手工来完成庞大的数据处理,将费时费力,还容易出错,为了满足学校对学生成绩管理的需要,急需要一套学生成绩管理系统来完成这项工作。作为计算机应用的一部分,使用计算机对学生成绩信息加以管理,将
17、拥有着手工管理所无法比拟的优点例如:输入迅速、查找方便、可靠性高、存储量大、成本低等。这些优点能够极大地提高学生成绩管理的效率也是学生成绩的科学化、正规化管理的重要条件。同时还要注意下列几点:(1) 由于各方面的限制,如人员不够、技术缺乏等原因,开发时应本着循序渐进,逐步完善的原则,不能贪大求全,盲目开发(2) 要注意信息的准确、及时、适用、经济,只有及时、准确的信息才能保证系统开发的质量和效率。(3) 从全局出发注意系统开发的整体优化性,同时还要注意系统的可扩展性和可延伸性。(4) 尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源、提高系统开发水平和应用效
18、果的以及减少开发成本的目的。(5) 系统应符合学校对学生成绩管理的规定,满足学生成绩管理的工作需要并达到操作过程中的直观、方便、实用、安全等要求。2.3 功能需求通过对一些实际成绩管理的考察、分析,并结合成绩管理的要求及实际的市场调查。分析本系统具有以下功能:(1) 网站设计页面要求美观大方、个性化,功能全面,操作简单。(2) 要求实现基础信息的管理平台。(3) 要求对所有学生进行管理。(4) 实现成绩录入、查询、删除的功能。(5) 提供快速的成绩检索功能,保证数据查询的灵活性。(6) 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(7) 具有易维护性和易操作性。2.4 可行性分析可
19、行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢?当然不能靠主观猜想,而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较
20、高层次上以较抽象的方式进行的系统分析和设计的过程。所以从以上的分析原则来看,我所设计的学生成绩信息管理系统是一个规模不太大的系统,但是目标明确,清晰的描述了对目标系统的一切限制和约束。本系统几乎在所有的学校对学生成绩管理使用,当然它需要进一步的完善和更新。在使用过程中,要看它能不能带来效益,毕竟在现今社会效率是第一位的,我们编程是为人们生活提供便利。从现实看,这还是有一定的实用价值的,从另一个角度看,现实社会发展飞速,尊重科技势在必行,因此这也是开发本系统的一个非常重要的原因。21世纪是计算机的时代,它必然取代一大部分人的工作,高科技的系统进入社会生活的方方面面是发展的趋势。本设计从以下三个方
21、面进行可行性研究:1. 技术可行性。本设计“学生成绩管理系统”是为学校学生成绩管理老师和学生开发的。而本人,在浪潮山东梧桐树和浪潮软件集团工作的一年时间里的这段时间,不仅参与了超便利O2O平台开发,同时还为深圳市场监督管理局独立开发专家评审项目和参与河北武强县与临沂市义塘镇开发数字城管系统,其中运用到大量基于海康、大华视频监控指挥系统和超图Gis地理信息系统的技术。因此,对开发管理信息系统有一定的了解和认识,并且也因此大幅度提高了自己项目经验和技术,使自己在开发管理信息系统方面的技术更加成熟。由于本设计最重要体现的是实用性,所以,通过大量的调查和分析与请教学校老师,结合自己现有的技术水平加上导
22、师的指导,能按期完成本毕业设计。2. 经济可行性。成本方面:由于本毕业设计属于计算机科学(本科)教学的最后一个环节,所以人力消耗免费,资源学校提供,与学校老师的义务指导。所以成本计算只需计算开发期间开发者的生活消费,学校资源的消耗,以及自己现在拥有的技术与资源,所以开发本软件的成本是非常低的。效益方面:为学校开发一个完整、合理的学生成绩管理系统,可大大节余人力,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工作量和劳动强度大大降低。所以开发本软件可以为学校教育管理带来很好的经济效益。从以上分析看开发本软件在经济上是可行的。3. 操作可行性。本软件是为学校学生成绩的老师与学生开发
23、的,所有本软件的用户对象是学校学生成绩的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,老师与学生只需懂得简单的计算机操作知识,就能自由应用本软件。2.5 其他要求软件方面:信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。硬件方面:计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。第三章 成绩管理系统开发技术支持3.1 数据库技术数据库技术起源于20世纪60年代。由于计算机的主要应用领域由科学计算逐步转向事物处理,因此推动了数据库技术的发展。几十年来,数据库技术的发展经历了由层次数据
24、库、网状数据库到关系数据库系统,现在又面临着第三代新的一轮数据库技术的研究4。数据库系统是计算机系统的重要组成部分。数据库是借助于计算机保存和管理大量复杂的数据和信息的软件工具。数据库技术是科学地组织和存储数据,如何高效地获取数据、更新数据和加工处理数据,并保证数据的安全性、可靠性和持久性。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件
25、之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。而目前软件开发最流行使用的数据库:Oracle,SQL Server,DB2,以及MySQL。虽然说DB2在企业级的应用最为广泛,在全球的
26、500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。但是就总的软件开发和使用量、装机量来说MySQL是最大的。导致MySQL使用量这么大的有两个主要原因:一是免费的,二是MySQL是轻量级的比较容易控制。3.2 开发工具的选择MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML
27、,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。3.3 开发平台与技术框架的选择J2EE(Java 2 Platfo
28、rm, Enterprise Edition)是一个为大学校主机级的计算类型而设计的Java平台。Sun微系统(与其工业伙伴一起,例如IBM)设计了J2EE,以此来简化在瘦客户级环境下的应用开发。由于创造了标准的可重用模块组件以及由于构建出能自动处理编程中多方面问题的等级结构,J2EE简化了应用程序的开发,也降低了对编程和对受训的程序员的要求。Hibernate:是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程
29、思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。在MVC中它是作为M(模型,model)。Struts2:是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的
30、Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。在MVC中它是C(控制器,controller)。Spring:Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,
31、Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。在MVC中它是V(视图,view)。第四章 数据库设计4.1 数据库概念结构设计与E-R图得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体结构,以及他们之间的关系,为以后的逻辑结构设计打下基础。根据上面的设计规划出的实体有:现有学生信息实体、学生成绩信息实体、课程信息实体、登录信息实体图。各个实体具体的描述E-R图如下:现有学生信息实体E-R图如图4-2所示:图4-1 现有库存信息实体E-R图出库单信息实体E-R图如图4-2所示:图4-2 出库信息实体E-R图课程信息实体E-R图如图
32、4-3所示。图4-3 借入信息实体E-R图登录信息实体E-R图如图4-4所示。图4-4 借出信息实体E-R实体和实体之间的关系E-R图如图4-5所示。图4-5整体关系E-R图4.2数据库逻辑结构设计现在需要将在上面的数据库概念结构转化为MySQL 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。学生成绩管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格所示在数据库中的一个表。表4-1货物基本信息表字段名称数据类型字段大小可否为空学号字符串型(varchar)8不可姓名字符串型(varchar)8不可性别字符型(char)1可出生时间日期时间型(datetime)0可专业编号
33、字符串型(varchar)8可总学分整型整型可照片大文本型0可备注字符串型(varchar)500可表4-2老师信息表字段名称数据类型字段大小可否为空职工号字符串型(varchar)8不可姓名字符串型(varchar)8不可年龄整型(int)3可性别字符型(char)1可出生时间日期时间(datetime)0可入职时间日期时间(datetime)0可数据状态字符型(char)1不可表4-3为学生成绩表字段名称数据类型字段大小可否为空学号字符串型(varchar)8不可课程号字符串型(varchar)8不可成绩整型(int)3不可学分整型(int)3不可表4-4为课程信息表字段名称数据类型字段大
34、小可否为空课程号字符串型(varchar)8不可课程名字符串型(varchar)8不可开课学期整型(int)2可学时整型(int)3可学分整型(int)3可表4-5为登录信息表字段名称数据类型字段大小可否为空编号字符串型(varchar)8不可用户名字符串型(varchar)8不可口令字符串型(varchar)18不可类型字符型(char)1不可数据状态字符型(char)1不可表4-6为专业信息表字段名称数据类型字段大小可否为空编号字符串型(varchar)8不可专业名字符串型(varchar)8不可人数整型(int)4不可辅导员字符串型(varchar)8不可第五章成绩管理系统功能的设计和实
35、现5.1 系统权限管理模块用户登录界面,当用户输入用户名和密码进行登录如图5-1。图5-1登录界面登录权限管理模块Action方法代码:package org.action;import java.util.List;import java.util.Map;import org.model.Dlb;import org.service.DlService;import org.tool.Pager;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public c
36、lass DlAction extends ActionSupport/定义一页显示多少条信息private int pageNow=1;private int pageSize=8;public int getPageNow() return pageNow;public void setPageNow(int pageNow) this.pageNow = pageNow;public int getPageSize() return pageSize;public void setPageSize(int pageSize) this.pageSize = pageSize;privat
37、e static final String xsqx = xs;private static final String jsqx = js;private static final String glqx = gl;private DlService dlService;private Dlb dl;public Dlb getDl() return dl;public void setDl(Dlb dl) this.dl = dl;public DlService getDlService() return dlService;public void setDlService(DlServi
38、ce dlService) this.dlService = dlService;/* 登录用户权限判断*/public String execute()throws ExceptionDlb user=dlService.find(dl.getXh(), dl.getKl();if(user!=null)String re = ;Map session=(Map)ActionContext.getContext().getSession();session.put(user, user);if(user.getLx().equals(1) & user.getInUse().equals(1
39、)re = xsqx;else if(user.getLx().equals(2) & user.getInUse().equals(1)re = jsqx;else if(user.getLx().equals(3) & user.getInUse().equals(1)re = glqx;return re;elsereturn ERROR;/* 查询所有用户信息* return* throws Exception*/public String dlInfo()throws ExceptionList list=dlService.findAllDl(this.getPageNow(),
40、this.getPageSize();Map request=(Map)ActionContext.getContext().get(request);request.put(list,list);Pager page=new Pager(this.getPageNow(),dlService.findDlSize();System.out.println(dlService.findDlSize();request.put(page, page);return SUCCESS;以上是Java后台代码查询验证登录用户权限类型,从数据库里查询lx等于“1”即为学生权限,返回值return是“xs
41、qx”;lx等于“2”即为老师权限,返回值return是“jsqx”;同样,lx等于“glqx”即为管理员权限,返回值return是“glqx”。而接着Struts 2配置文件。/login_success.jsp/login.jsp/login.jsp/xs/cj_query.jsp/js/xs_query.jsp/gl/dl_query.jsp学生登录直接跳转到成绩查询页面如图5-2 学生个人成绩查询页面。图5-2学生个人成绩查询页面老师登录直接跳转到学生信息查询页面如图5-3。图5-3 学生信息查询页面管理员登录直接跳转到用户管理查询页面。而修改用户权限则可以点击修改进行修改用户权限。5
42、.2 学生信息管理模块学生信息管理模块有四个功能,查看、录入、修改和删除学生信息,如图5-4学生信息查询页面。图5-4 学生信息查询页面学生信息管理Action方法后台源代码:package org.action;import java.io.File;import java.io.FileInputStream;import java.util.List;import java.util.Map;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import org.a
43、pache.struts2.ServletActionContext;import org.model.Xsb;import org.service.XsService;import org.service.ZyService;import org.tool.Pager;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class XsAction extends ActionSupport/页面显示多少条信息private int pageNow=1;private int pageSize=8;private File zpfile;/