基于JavaEE技术的学生管理系统研究与实现 网络工程专业

上传人:文*** 文档编号:240765631 上传时间:2024-05-06 格式:DOC 页数:73 大小:2.44MB
返回 下载 相关 举报
基于JavaEE技术的学生管理系统研究与实现 网络工程专业_第1页
第1页 / 共73页
基于JavaEE技术的学生管理系统研究与实现 网络工程专业_第2页
第2页 / 共73页
基于JavaEE技术的学生管理系统研究与实现 网络工程专业_第3页
第3页 / 共73页
点击查看更多>>
资源描述
摘 要随着信息技术的发展,信息化逐渐扩展到了校园管理、行政办公中,现有学生管理系统因其适应性问题已不能满足目前实际的需要。随着高校招生的增加,学生管理系统的复杂度越来越高,迫切需要借助计算机来实现学生信息管理和统计,更好的为师生提供服务。论文在研究基于优先级回溯的排课算法的基础之上,使用UML建模语言进行业务建模与设计,基于Java EE平台研发出具有一定特色的学生管理系统,并具有较好的可靠性、可移植性和安全性。论文的主要工作如下:(1)分析当前环境下学生管理的业务应用流程,构建学生管理的业务模型,并进一步应用UML进行用例描述,系统建模与设计。(2)在传统优先级回溯算法基础上,提出基于优先级回溯的排课算法;该算法融入了实际院校的优先级选课因素,有效地提升了排课算法在实际中的应用,解决了资源冲突问题。(3)在前期需求与数据分析基础上,对系统功能模型进行进一步的设计,将Java EE技术应用到系统的研发过程,完成基础课程维护、学生管理、排课管理等核心功能模块,实现一套完整的学生管理系统。论文进一步结合本校学校学生管理业务实践,将学生管理系统在全校推广试运行,取得了较好的成效。该管理系统上线运行大大地改善了学生管理工作效率, 为学校节约了大量的人力、物力,增强学生、班级、教师、专业间的信息交流和互动,促进学生管理工作的开展,对高校实现信息化具有重要的参考意义。 关键词:排课算法;Java EE;优先级回溯;UMLAbstract With the development of information technology, it gradually extended to the campus management, administrative offices and the existing student management system. Student management system has been unable to meet the current actual needs because of the adaptability. With the increase enrollment of college and the increasing complexity of the system, its urgent to use computers to achieve student information management and statistics, and to provide the better services for teachers and students. Based on priority Scheduling algorithms backtracking, this paper used UML modeling language to conduct business modeling and design, and developed student management system based on the Java EE platform. The system has certain characteristics, and has good reliability, portability and security. The main work is as follows:(1) Analysis of business application processed in the new environment of student management to build the business model and further application of the UML for case descriptions, system modeling and design.(2) The traditional priority backtracking algorithm is proposed based on priority-based backtracking Scheduling algorithms. This algorithm incorporates factors that the actual priority elective institutions to effectively enhance the Scheduling algorithms used in practice to solve the resource conflicts.(3) After the early requirements and data analysis, we given a further design of the functional model of the system. Using the Java EE technology to develop the system, this article completed the core function module as basic course maintenance, student management, and course scheduling and management. At last we achieved a complete set of student management system.Further integrating the school student management practices, the student management system is promoted to test run in the school, and achieved good results. The system line operation greatly improved student management efficiency to save a lot of manpower, material resources, which enhanced information exchange and interaction between students, classes and teachers, professional and promoted to carry out students management work on the university, had important reference value to achieve information technology.Keywords: curriculum arrangement algorithm; Java EE; Priority backtracking;UML;目 录学位论文原创性声明I学位论文版权使用授权书I摘 要IIAbstractIII目 录V插图索引VIII附表索引X第一章绪 论11.1 课题研究背景和意义11.2 国内外研究现状21.3 本文的主要研究工作41.4 论文组织51.5 小结5第二章 系统相关技术62.1系统体系结构介绍与比较62.1.1 C/S系统体系结构62.1.2 B/S系统体系结构72.1.3 C/S和B/S的比较82.2系统开发技术介绍82.2.1 RUP开发过程82.2.2 Java EE技术架构92.2.3 开发工具102.2.4 数据库102.2.5 UML建模语言112.3 排课算法介绍122.3.1 优先级回溯算法122.3.2 遗传算法132.3.3 排课算法综合分析132.4 小结13第三章 系统需求分析143.1 系统总体目标143.2 系统功能需求分析143.2.1 学生管理组织机构143.2.2 功能需求描述153.2.3 系统用例163.2.4 时序图183.3 系统非功能性需求223.4 小结23第四章 系统设计244.1 系统设计原则244.2系统架构设计254.2.1硬件架构设计254.2.2 软件体系结构设计254.3 教务排课算法设计264.4 系统功能模块设计274.4.1 系统类设计284.4.2登陆验证模块设计304.4.3系统权限模块设计304.5 数据库设计314.5.1 概念结构设计324.5.2 逻辑结构设计334.6 小结35第五章 系统实现与测试365.1 公共模块实现365.2 系统核心实现395.2.1系统登录模块405.2.2 学生管理模块425.2.2.1 DAO封装425.2.2.2 DAO的工厂模式实现435.2.2.3 界面原型455.2.3 学生排课模块505.3 系统测试515.3.1测试技术515.3.2测试用例525.3.3测试总结分析535.4 小结54结论55参考文献56致 谢59插图索引图2-1 两层C/S架构7图2-2 三层C/S架构7图3-1学生管理组织机构15图3-2学工处人员用例17图3-3 系统管理员用例17图3-4教师用例18图3-5 学生用例18图3-6 学生登录时序19图3-7 教师录入成绩时序19图3-8 学生选课时序20图3-9 学生信息录入时序21图3-10学生缴费时序21图4-1 系统架构图25图4-2 软件系统架构25图4-3 技术架构26图4-4 系统功能模块27图4-5 核心实体类28图4-6 核心业务类29图4-7 核心控制类29图4-8 用户登录界面30图4-9 用户登录系统流程30图4-10权限角色设计31图4-11系统ER32图5-1 登录界面40图5-2 登录失败界面42图5-3(a)学生信息管理45图5-3(b)学生信息录入管理45图5-4 学生奖励登记管理46图5-5排课课表46图5-6编辑课表47图5-7自动排课47图5-8展示了专业设置相关的内容。48图5-8专业设置48图5-9系统维护48图5-10权限和模块控制49附表索引表4-1 核心控制类说明29表4-2 教师信息表的设计33表4-3 课程信息表33表4-4 教师课程信息表的设计34表4-5 专业信息表的设计34表4-6学生奖惩表34表4-7奖励学生表35表4-8困难补助学生表35表5-1 JSP分页实例38表5-2 后台分页38表5-3 用户登录模块测试用例表52表5-4管理员登录模块测试用例表53第一章绪 论学生工作在高等教育中占有重要的地位,是实现人才培养目标的一个重要组成部分。国家教育改革不断深入,素质教育全面推进,各个学校办学规模不断扩大,教学资源日益紧张。对学校管理部门来说,这不仅增加了工作量,也增加了工作难度。手工记录学生信息存在信息量大,查找困难,保存不便,不可重复使用等问题,这会造成许多硬件设备的浪费以及大量的不必要的人力、物力、财力投入,而且较低的工作效率已经无法满足当前形势的发展需要。教育部门和各大高校都投入很大的人力物力和财力,进行校园信息系统建设和网络设施的完善。到现在为止,很多所学校建立了综合性的信息管理系统,在学校各项管理工作中发挥了积极作用。1.1 课题研究背景和意义在高等教育普及化和大范围扩招形势下,学生数量变得庞大,教务管理日趋繁杂,学生管理工作变得极其繁琐。大学学生管理范围涉及到了高校的方方面面,包括教学、科研和管理等各个部门,管理内容也是繁琐广泛,如、学籍和成绩管理、学生信息管理、就业管理、考试课程管理、党组织管理、国家助学贷款管理、贫困生管理、宿舍管理、班级管理、专业管理、奖惩管理等1。如果仅依靠手工管理或简单的办公自动化工具来管理与学生相关的资料和数据,已经远远不能满足学生管理工作的需要。学生管理问题成为迫切需要解决的问题。传统的以手工方式为主的信息管理方式已经不再有效,不仅工作量大、事务琐碎,且可能耗费很多的财力人力却达不到较好的效果,难以提高管理水平2。随着现代教育事业的不断发展,信息技术在推动学校发展上发挥了很大作用,网络技术、软件、计算机技术的迅速发展对传统的思想观念、工作方式产生巨大的冲击。计算机软件技术的发展,结合网络技术的快速更新,数字化信息系统已经成为了可能。结合系统和管理科学,在已有校园计算机网络基础上集成一个高效、可靠、实用的信息管理系统成为了可能。传统的学生工作管理也面临着变革,数字化学生管理是一个很重要的方向3。管理信息系统MIS(Management Information System)从20世纪60年代开始出现,涉及管理、系统、信息、计算机和现代通讯技术等多个科学领域的一门学科。该系统利用计算机软硬件和数据库等技术进行分析、计划、控制和决策,提供信息并给予企业或组织的运行、管理和决策以支持4。学生管理信息系统能够为学生管理工作各方面提供信息和决策支持,达到学生综合信息管理的目标,高校学生管理信息化需要达到这样的要求5。一个良好的信息化学生管理系统能够方便教师、学生、教务处的工作,顺利的完成教学过程,促进教师学生的沟通,保证教学工作的顺利进行,减轻教务处工作人员的负担,为提升学校的竞争力提供了保证,为学校信息化建设的发展做出了贡献。学生管理系统是一个集成教学、教师、课程、学生、奖惩等的现代化、数字化平台框架。虽然不少学校开发出自己的学生管理系统,但大多都存在一定的问题:一是功能要求跟不上形势发展的变化;其次是系统的通用性、扩展性、交互友好性都不令人满意。目前各级教育管理部门和学校使用的教育管理软件大多都不是自主开发,而是委托单位、公司或科研单位进行开发,比如由上级部门下发或从软件公司购买,软件设计存在种种设计不规范、可扩展性差等问题。低水平重复开发现象严重由于校园网仍缺少重要的信息传递和工作流程环节,部门之间仍无法实现信息共享和集成,从而难以实现各部门之间高效率协作6。高校教学管理工作信息化建设,开发一个完善有效的学生管理信息系统,工作部门进行有效的管理,并为学校节约大量的人力、物力,减少工作中容易出现的一些问题。极大地推动了高校学生管理信息化的进程,极大地促进了学生管理工作的开展。对解决高校改革过程中遇到的问题具有十分重要的意义,而这些问题的顺利解决也为高校改革的推进指明了方向,无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机学生工作管理系统和全校信息系统打下良好基础。系统能够及时提供数据和部门间合作的服务意识,提高工作效率效果,提高管理水平,有助于顺利实现高教管理现代化的宏伟目标7。1.2 国内外研究现状管理信息系统是一个不断发展的新兴学科,其定义随计算机和通讯技术的进步也在不断更新和发展。校园管理信息系统是其在教学领域中的一个重要应用。高校信息化建立在高校学生管理信息化的前提之上,高校相关业务部门采用计算机进行信息化管理。计算机网络技术普及以及校园网络基础设施的建设的完善,促进了与学生管理密切相关的管理信息系统的发展8。 我国高等教育信息化从整体上仍处于起步阶段。多数高校已有经过了一些时期的发展,有的已经建成了以校园网为核心的,以学术研究、网络教学、信息资源、社区服务和综合办公为主要功能的数字化信息系统。比较有代表性的管理信息系统有以下一些9:上海交通大学的多个MIS应用系统,包括教育管理信息系统、本科教学管理系统、学生管理信息系统;四川省高校学生信息系统由四川省教育厅组织研发,包括任职就业、学历学籍管理、制度管理、院校导航、论坛等内容,为高校日常管理提供了较全面功能;北京大学的学生网上信息查询为查询管理学生工作部相关信息功能提供了方便,包括主要职责、机构设置、工作人员、规章制度、工作通讯和相关信息。浙江师范大学教学管理信息系统以院校为单位,为学校教学管理部门提供教学数据管理维护、数据分析和数据统计;福建农业大学的教学管理系采用C/S结构设计,完成教学管理管理。清华大学的综合教学管理信息系统集C/S和B/S技术于一体,面向各部门及各层用户的综合管理信息系统,管理的内容涉及教学管理各环节。该系统具有多个相互独立又相互联系的模块,主要包括:学籍和注册、课程管理、费用管理、选课管理、成绩管理、毕业就业管理、教学计划管理、选课排课10。国外数字化校园建设发展较早,起点比国内高且投入资金多。“数字化校园”这一概念由麻省理工学院提出,经多年努力,该学院拥有了成熟的数字化校园系统。有研究报告指出,西方发达国家许多高校已经成功完成了数字化校园建设,这得力于政府的强力支持。和国内不同的是,国外关注点为数字资源的提供,系统并非高度集成的综合信息管理系统11。应用于各类高校的学生管理系统有许多的共同之处,但也有很多的个性化差异,存在这开发过程、架构、功能的不同。系统开发方法分为生命周期法、原型法、面向对象系统法,系统运行模式有B/S、C/S、两者结合,基于B/S模式的信息管理系统,已成为主流的发展方向。系统所采用的前台开发软件和后台数据库管理系统都有所不同,比如前台可以采用ASP、JSP、ASP.net、HTML等,后台可以用JAVA、C#、VB等,数据库有MYSQL、SQLServer、ORACLE等12。高校教学管理中,除了学生相关信息管理之外,比较重要的是排课子系统。课程的安排涉及到了教学中的许多方面。每个方面都构成了教学管理中的重要环节,是保证整个教学顺利进行的前提。一个好的排课系统包括了资源管理、班级管理、专业设置、教学质量管理等内容。排课系统的核心是教务排课算法。该问题的研究由来已久,从Gotlieb采用的匈牙利算法到其后其数学模型的完善,经理了40多年的历史。该问题是NP难问题,在有效时间内难以发现最优解。最新研究表明,采用纯数学方法难以解决此问题。比如手工模拟法、图论、拉格朗日发、二次分配型法。好的排课算法不仅满足性能的需求,更需要较好的灵活性和满足教学实际的需求。与学生管理相关的各类管理信息系统的发展,为高校学生管理工作的规范化,推动了制度和过程的改革。经过综合分析,这些信息存在着一些不足之处,主要表现在以下几个方面13,14,15:1功能与具体业务相关,不能包括全部的学生工作。高校各部门划分的方式是根据其功能不同,许多学校各职能部门只是拥有自身的管理信息系统,功能也只涉及其职能范围内的业务,因此不能综合包含学生管理工作的所有内容。比如高校的学生管理信息系统中,教务管理信息系统仅包括对学生的学籍、选排课、成绩、教学计划等方面的管理;学生处信息系统仅包括学生的奖励考勤贷款、招生就业,但不涉及到学生的成绩;组织机构管理信息系统仅包括党员教育、党组织关系管理。而学生管理工作是这些管理系统的一个综合题,包括学生基本信息、选课及成绩情况、党组织情况、获奖情况、违纪情况、学生助贷、缴费情况和贫困情况等几十项,涉及到学校各部门和各管理信息系统。2学生信息源较多,各部门信息间传达通道少,信息不完备甚至不一致。其导致原因并非部门工作失误,而是由于信息管理系统中的信息孤岛造成的。信息管理系统中各部门功能权限范围相对独立,使得信息不能有效互通。3各部门管理信息系统相对独立,具有重复工作量。各部门的信息管理系统相对独立,没有集成学生相关数据,难以了解学生全部详细情况。综合信息获取需要查询不同的管理信息系统,这会导致工作繁琐,办事效率低、准确率低。4功能偏简单。大多数学生管理系统的功能仅包含公告成绩等信息发布和学生基本信息的增删改查,缺少了信息的智能化处理,比如各个系统的信息自动集成,对各种信息进行综合刷选、统计、分析及生成报表。因而系统为领导等提供综合分析的数据信息不够充足,不能够和自动化分析的发展趋势相吻合。1.3 本文的主要研究工作本课题研究如何应用软件工程思想实现一个高效、易用、安全的学生管理系统,使得管理人员可以方便、快地掌握处理学生工作的信息数据,建设师生互相交流及沟通的平台。本课题研究内容如下:(1)分析新环境下学生管理的业务应用流程,构建学生管理的业务模型,并进一步应用UML进行用例描述,系统建模与设计。(2)在传统优先级回溯算法基础上,提出基于优先级回溯的排课算法;该算法融入了实际院校的优先级选课因素,有效地提升了排课算法在实际中的应用,解决了资源冲突问题。(3)在前期需求与数据分析基础上,对系统功能模型进行进一步的设计,将Java EE技术应用到系统的研发过程,完成基础课程维护、学生管理、排课管理等核心功能模块,实现一套完整的学生管理系统。论文进一步结合本校学校学生管理业务实践,将学生管理系统在全校推广试运行,取得了较好的成效。该管理系统上线运行大大地改善了学生管理工作效率, 为学校节约了大量的人力、物力,增强学生、班级、教师、专业间的信息交流和互动,促进学生管理工作的开展,对高校实现信息化具有重要的参考意义。 1.4 论文组织第一章为绪论。介绍了课题研究的背景和意义,以及目前国内外的研究现状。指出了本文主要的研究工作,最后介绍了论文的组织结构。第二章为系统相关技术。介绍了软件开发过程和系统开发技术,最后介绍了UML建模工具。 第三章为学生管理系统需求分析。在确立系统的目标和主要功能需求的基础上,利用UML建模,建立系统的用例模型、类与对象模型,指出系统应满足的性能需求。第四章为学生管理系统设计。首先描述了系统的设计原则,提出了系统的设计架构,详细介绍了系统功能模块设计、数据库设计,最后给出了系统性能设计。第五章为学生管理系统实现和测试。介绍了系统的开发流程,详细介绍了系统各模块的实现,给出界面和关键代码介绍,并进行系统测试。第六章为总结与展望。课题的研究工作进行全面总结,指明下一步的研究内容和方向。 1.5 小结介绍了本课题的研究背景和意义,研究了国内外的进展,对本文的主要工作做了描述,最后介绍了论文的组织结构。第二章 系统相关技术本章主要对信息管理系统的系统架构和设计开发所使用的相关技术进行介绍,包括C/S和B/S架构、软件开发过程、Java EE架构和UML建模语言。2.1系统体系结构介绍与比较2.1.1 C/S系统体系结构C/S架构的管理系统使用比较广泛,比如数据库应用系统就是典型的C/S架构。信息管理系统一般包括计算机、数据库系统和网络组成,C/S信息系统依据作用划分为3个部分:1、客户端,有客户电脑组成。客户端运行一个应用程序可以接受和发送数据信息。2、服务器端,由服务器和数据库等应用软件构成。服务器运行着一些C/S架构的应用程序。3、中间连接件,主要是可以连接两部分的软硬件。常见的软件连接包括网络的TCP/IP协议、数据库、应用程序接口;硬件包括光纤双绞线等传输介质和网卡等。C/S结构的基础是专用服务器网络结构,其特点是可以将工作进行分批处理,按照需求分配给不同的客户端和服务器端。客户端和服务器端的界限并非严格,经常可以相互交换。在该模式下,数据存放于服务器上,应用程序运行在客户机上,而且服务器和客户端的软件可以置于同一台计算机。客户端的软件在一般的个人电脑上即可运行,要求较低,服务器软件运行一般在大型的服务器上,提高性能。客户端软件可以进行数据的输入、向服务器发送请求、接收数据进行处理、呈现良好的用户界面。服务器软件进行数据处理、信息共享和数据的安全性保护、接收请求并进行信息处理,将结果返回给客户端。C/S架构能够较好把任务进行分配,减少了网络传输带数据。但同样也存在着很多的问题,突出的问题是软件维护变得困难,分布式处理不易得到扩展。从80年代到现在为止,很多信息管理系统采取C/S架构进行软件开发,一方面得益于其交互性好、速度快的特点,另一方面为强大的数据处理能力、事务处理的特点。随着软件规模的扩大和软件复杂度的增加,C/S架构的缺点还是相当明显的,主要有:开发成本高,软件难以移植,程序设计逻辑复杂。C/S架构对配置的要求在不断增加,软件升级就可能要求配置的升级,增加了系统的运行成本。大量的工作室在客户端进行的,所以客户端的程序设计变得复杂。客户端的软件兼容性较差,开发工具和平台的不同导致运行平台较单一。软件维护和升级困难,难以使用新的技术。一旦选定了开发的工具和平台,难以进行更改。使用范围局限在小部分局域网,难以在更大网络范围内使用,信息共享度较低。C/S架构示意图如图2-1所示。图2-1 两层C/S架构在两层C/S架构基础上,三层C/S架构在客户端和数据库服务器之间增加了一个应用服务器,提高了数据的安全性,系统逻辑更为清晰,在一定程度上提高了软件的可维护性和可用性。三层C/S结构示意图如图2-2所示。图2-2 三层C/S架构2.1.2 B/S系统体系结构B/S架构是较新颖的软件体系结构,包括工具WEB浏览器、服务提供者WEB服务器和数据提供者数据库服务器。B/S模式中,客户端通过浏览器对WEB应用进行访问,即可完成需要的功能。客户端不需要安装应用程序,只需要进行访问,客户端的操作得到了简化,而且真正的做到了瘦客户端。只要网络能够访问和支持http和https协议等,就能够通过网络访问各种资源和进行各种操作。本学生管理系统拟采用B/S的模式,实现学生信息、课程信息、成绩信息、班级信息、学籍信息、组织管理信息等。服务器端需要安装有WEB服务器和数据数据库服务器,比如配置可以采用较好的CPU和较好的操作系统如Windows2008 Server standard的操作系统。B/S是对C/S的改进,采用三层的体系结构,使用服务器进行数据处理并返回给浏览器,浏览器进行界面翻译和解析,得到最后用户看到的结果。B/S架构的示意图如图2-3所示。B/S的缺点有:1并发访问可能导致数据不一致和性能降低。WEB服务器是唯一提供服务的,多个客户端同时发起请求要求服务器响应及时,做好事务处理,防止数据不一致性。每个客户端请求数据最后悔访问数据库服务器,要求数据库访问语句得到优化才能提高性能。2Http是一种无状态的连接,每一次的通信都需要进行登录认证。当用户登录到系统之后,必须把数据保存到缓存中,当缓存过期后必须进行重新登录。这种访问对数据库效率不高。密码在传输中必须进行加密,否则容易泄露信息。用户权限信息在应用程序段配置,不能有数据库服务器直接验证,效率一定程度上降低了。图2-3 B/S架构2.1.3 C/S和B/S的比较通过前面的介绍得知,C/S结构一部分应用在客户端,一部分在服务器端,主要适用场景为小规模局域网范围内,对数据共享性、安全性要求不是太高,但是对软件要求较高,专业化程度高,对客户机的有一定的要求。B/S架构大部分的工作都在服务器端进行,少数数据解析在浏览器端进行,客户端基本负责数据的展示,工作承担量少,用户总成本较低。客户端升级只需要注意浏览器的兼容性即可,维护成本降低了。B/S适合较大访问的网络应用,利于资源共享,对于数据访问的权限设置较为严格,经过硬件防火墙的处理,安全性较高。B/S架构对服务器要求很高,必须能够运行WEB服务器和数据库服务器,且响应速度快。B/S的优点有:(1)系统开发快速、容易维护。B/S功能分为WEB前端和后台数据处理,开发工作降低。(2)操作简单。仅仅通过浏览器就能够访问较为有好多的界面,系统界面设计更为容易,视觉效果更佳。而且使用起来也变得容易。(3)信息共享容易,只需要有网络就能够访问信息,进行数据获取和处理。2.2系统开发技术介绍2.2.1 RUP开发过程RUP(Rational Unified Process,Rational统一过程)是一个先进的通用软件开发过程框架,遵循它的开发方法可以在进度和成本的范围内开发出高质量的软件产品。值)。在RUP中,软件的生命周期是由一系列迭代组成的,这些迭代都是由软件项目分解成的许多袖珍项目。每个迭代都产生以内部版本形式交付的实际结果,其中每个内部版本会增加一个增量并表明所关注的风险得以降低16。RUP中有核心过程工作流6个和核心支持工作流3个。核心过程工作流在整个生命周期中被多次访问,在项目中工作流轮流使用,且每次迭代中各个工作作为不同的重点和以不同强度重复出现17,18。(1)商业建模工作流描述了怎样为新的目标组织开发构想,再基于构想进行组织的过程,角色和责任定义,局限于商业用例模型和商业对象模型中。(2)需求工作流的目标是对系统应该做什么进行描述,就这一描述促使开发人员和用户达成共识。(3)分析和设计工作流将需求转化成系统设计,并开发一个健壮的且设计与实现环境相匹配结构,优化其性能。(4)实现工作流的目的包括三方面:代码组织的结构在定义子系统时采用层次化的形式进行定义;出现的形式为组件,包括了开发的类和对象;将开发出的组件作为单元进行测试以及集成由结果成为可执行的系统。(5)测试工作流用来验证对象相互间的交互作用,目的为确保软件中组件正确集成,需求已被正确实现,在软件部署之前识别缺陷并处理。(6)部署工作流的主要目的是将生成的成功版本作为软件交付到最终用户手中。(7)配置和变更管理工作流用来描述在项目中控制各个项目成员的输出。(8)软件项目管理以成功交付使用户满意的产品为目标,综合平衡可能产生冲突的各种目标,管理风险,克服各种约束。(9)环境工作流的作用是提供开发过程和软件开发环境给软件开发组织。 2.2.2 Java EE技术架构Java EE是一套全然不同于传统应用开发的技术架构19,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。Java EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循Java EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。SSH2是spring、struts2、hibernate的缩写20,是基于Java EE进行开发的一个优秀的开源架构组合,是一个轻量级的开发平台。Spring框架的主要优势之一就是分层架构,它允许使用者选择使用需要的组件,同时为 Java EE 应用程序开发提供集成的框架。其功能强大,具有方便解耦,简化开发、AOP编程的支持、声明式事务的支持、方便集成各种优秀框架等特点。Struts作为Apache软件基金会赞助的开源项目之一,实现了基于Java EE应用的三层设计模式(MVC)的应用框架,基于Sun Java EE平台的MVC框架的实现主要靠Servlet及SP技术21。Hibernate是一个持久化的对象关系映射框架,而且提供了源码。它对JDBC进行了轻量级的对象封装,提供了许多有用的模板和接口供程序调用,这使得JAVA程序员可以尽量使用对象编程思维来对数据库做操作。2.2.3 开发工具Eclipse 是一个开发开发环境,是基于Java的开源可扩展开发平台22。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse是著名的跨平台的自由集成开发环境(IDE),主要用来Java语言开发,众多插件的支持使得Eclipse拥有灵活性,这是其他功能相对固定的开发平台软件很难具有的。大多数用户将 Eclipse当作Java来使用,针对希望扩展 Eclipse 的软件开发人员,允许构建与Eclipse环境无缝集成的工具。Eclipse是使用Java语言开发的,用途并不限于 Java 语言;例如,支持C/C+等编程语言的插件已经可用。Eclipse 框架可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 WebStorm是JetBrains公司旗下一款JavaScript开发工具。被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaSscript IDE”等。它具有快速智能的代码提示和补全支持重构、支持代码格式化细节的自定义、良好的编辑体验(如快速定位最近的编辑、快速查看代码结构及定义等)、轻量、快速等特点23。2.2.4 数据库数据库技术属于一种使用计算机来辅助管理数据的方法24,它是信息系统的核心技术之一。它通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。如何组织和存储数据,如何高效地获取和处理数据是数据库技术的主要研究内容。数据的共享问题是数据库技术的根本目标。常见的数据库有SQL Server、MySQL、ORACLE、DB2等。SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),功能全面,集成了企业级数据管理,使用商业智能工具。SQL Server 2005数据库引擎可以进行安全可靠的数据存储,能够处理关系型数据和结构化数据,其可以构建高可靠性和可用性的数据库应用程序 25。Oracle10g数据库是第一款为网格计算而设计的数据库26,继承了Oracle数据库管理技术的各种优势,又融入了网格计算的各种新的性能特点。据不完全统计,有些高校在校师生高达几万人,存在大量的数据资源需要处理和存储。同时,在学生信息管理系统投入使用后,每天通过该平台实现的信息处理数量也是非常巨大的,系统在某些特定的时间内访问量会达到高峰,比如在学生入学和毕业时间,工作人员进行学生信息录入,学生进行个人信息的修改和查询工作,因此所选用的数据库服务器必须能支持大量交易处理和大量数据存储。在综合考虑各个数据库的硬件需求和性能上,本文采用Oracle l0g数据库将作为系统数据库。Oracle也是以SQL(高级结构化查询语言)的关系数据库,在创建表格和存储过程时和SQL Server数据库略有不同。Oracle数据具有出色的可移植性,其应用平台性能良好,开发平台安全稳定,是电子商务等安全性要求较高系统的首选。另外,Oracle数据库具有分布式数据库能力,能否进行远端的数据访问,可以进行快速的数据拷贝和复制27。2.2.5 UML建模语言标准建模语言UML是一种规范化的良好的建模语言28,从软件系统开发角度思考,它可以完成系统可视化、详述、构造、文档化操作,主要应用在分析与设计阶段。UML的主要特点是表达能力丰富,它汲取了许多概念并成为业界术语,并且在规范文档中对这些概念的语义、概念的图形表示法以及概念的使用规则都做了定义和详细的描述,规范文档有 UML语义文献、对象约束语言规约等。标准建模语言UML能够完整实现OOA的面向对象的分析与设计方法,实现系统模型的完美表达。我们在软件开发过程中,经常使用建模语言,一是有助于更深的理解系统的需求和设计,二是能够可视化的说明系统的功能和结构。建模语言为构造系统提供了模板,以文档形式描述决策行为。传统的信息管理系统设计方法主要是基于E-R模型,设计方式不能够准确地映射问题域和反映系统责任,不完全符合面向对象的设计思想。由于系统在设计中ER的固定化,不能适应学生管理信息系统的发展,难以进行业务重组。某一阶段的行为会影响到全局,增加了项目风险和工作量,这迫切需要使用更加灵活、健壮的模型来代替E-R模型29。标准建模语言UML是一种规范化的良好的建模语言,可以完成系统可视化、详述、构造、文档化操作,主要应用在分析与设计阶段30。UML包括概念的语义,表示法和说明,提供了静态、动态、系统环境及组织结构的模型。可视化建模工具提供了代码和报表生成器,动态完整的支持了UML。UML标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。它是为支持大部分现存的面向对象开发过程而设计的。UML共包括五种类图 31,用例图、静态图、行为图、交互图、实现图。用例图该类图站在使用者的角度进行考虑描述系统的功能,并且在描述功能的时候,指出了各功能使用者是怎么样的操作者,说明各功能所对应的对象身份;静态图包括类图、对象图和包图三部分内容;交互图是对象间的相互的交互关系正是交互图所描述的内容。交互图包括顺序图和合作图;实现图包括构件图、部件图和配置图三部分内容。UML提供了三类基本的标准模型建筑块:事物、联系和图形。这些建筑模块间共存在四种基本联系:依赖、泛化、聚合、关联、实现等。“依赖”指模型建筑块间的语义联系,其中一个独立事物发生改变将影响另一个的语义。“泛化”指模型建筑块间的一般与特殊的联系。“关联”指模型建筑块间的结构性连接。“实现”指模型建筑块之间的一种语义联系,一个规定一组约定(协议),另一个负责实现。例如:接口和实现该接口功能的组件、类间的联系就是实现联系。聚合”是一种特殊的关联,表示结构整体和部分关系32。比较好的建模工具有Rational Rose、EA、PowerDesign。Rational Rose是Rational公司推出的统一建模语言可视化建模工具,用于可视化建模和公司级水平软件应用的组件构造33。ROSE在开发过程中的各种语义、模块、对象以及流程,状态等描述比较好,能够从各个方面和角度来分析和设计,使软件的开发蓝图更清晰,内部结构更加明朗,对系统的代码框架生成有很好的支持。但对数据库的开发管理和数据库端的迭代不是很好。Power Designer原是一种数据库建模工具。后来引入了对UML的支持,对面向对象语言如 C+、Java、C#等支持不错。 Enterprise Architect(EA)是一个全功能的、基于UML的visual CASE工具,主要用于设计、编写、构建并管理以目标为导向的软件系统34。论文在设计中使用到了Rational Rose工具。2.3 排课算法介绍2.3.1 优先级回溯算法对于一般的回溯排课算法而言,对于排课解空间的搜索是完全随机的35。在一般排课算法中将班级、课程、教师、教室和时间片作为排课的五个维度进行遍历搜索,寻找可行解,如果有可行解的话,则将这五个维度进行组合,如果遍历全部可能组合之后依然没有可行解,则执行回溯操作,对前一个排课对象重新进行分配并以此类推,直到完成全部组合或回溯到第一个排课组合依然无法找到可行解为止。这样的排课过程完全没有考虑到各种现实情况下的排课需求,可能出现将公共必修课安排在晚上教学或者将每周4课时或 4 课时以上课程安排在连续多天教学的情况,这些安排都是会严重影响教学质量的,也都是应该在排课算法中避免发生了。2.3.2 遗传算法基本遗传算法模拟自然进化过程,包括选择操作、交叉操作、变异操作36。首先要产生出初始种群,在基础问题数据中随机的选取若干个体形成初始种群,初始种群产生以后,运用适应度函数计算个体的适应度函数值。根据适应度函数值,判断每个个体是不是满足优化准则,如果不满足就需要继续进行下一代个体的生产,可以通过交叉、变异操作产生出新的个体,从而构成新的种群,再计算新种群中每个个体的适应度函数值,这些值满足优化准则就停止迭代,否则继续产生下一代种群,直到满足优化准则为止。与其他优化方法相比,遗传算法的特点是:1)群体搜索,易于并行化处理;2)不是盲目穷举,而是启发式搜索;3)适应度函数不受连续、可微等条件的约束,适用范围很广。4)遗传算法具有很好的兼容性。2.3.3 排课算法综合分析排课问题的研究最早开始于60年代, 此问题在数学上最早提出。Gotlieb提出一个课表问题的数学模型,并使用匈牙利算法解决了一个三维线性运输的问题。之后,很多人纷纷基于Gotlieb的模型进行简化或补充,做了很多实际的工作,但是解决课表问题的算法仍然是困难的。70年代中期,SEven等人证明了课表问题是NP完全类问题,通过计算机难以找到该类问题的多项式算法。在此研究的基础上,出现了基于经验的自适应专家系统, 局限于当时的人工智能和机器学习,系统并未能够解决排课问题37。八十年代末排课问题的研究有了新的发展,Kirkpatrick等人在八十年代末提出著名的模拟退火算法38,属于基于迭代求解策略的一种随机寻优方法,但是对于寻求最优解仍然无能无力。90年代印度专家运用拉格朗日松弛法和二次分配法进行求解,在一定程度上获得了成功。遗传算法的参数难以实际设置,对于算法的最优解有较大影响。优先级回溯算法没有考虑到部分实际教学的场景,还需要人工进行优化。本排课系统采用的排课算法是基于优先级的回溯排课算法,在一般的回溯排课算法基础上加入本校各学院排课要求的排课优先级结合形成的一种适用于学院排课的回溯算法。 2.4 小结从C/S和B/S架构的详细介绍和对比开始,介绍了信息管理系统的流行架构,详细描述了论文在设计和开发中使用的技术,包括RUP的软件开发过程、Java EE企业级架构、开发工具Eclipse、数据库技术以及UML建模语言,最后介绍了几种排课算法。第三章 系统需求分析系统架构确定好后,需要从整个信息管理系统的需求入手,详细分析系统的目标和各阶段的需求,使用UML建模语言描述系统用例。系统开发中除了功能性需求要考虑外,性能方面的需求也不容忽视。3.1 系统总体目标我国高校信息化建设已经出局规模,基础设施建设原来越完善。但从总体上来说,还存在着很多不足指出,许多高校的信息化建设普遍存在“注重建设,轻视使用”。教育部门未能为高校制定完善的信息软件,而且针对不同学校也难以设计,学分制的实施,使得日益增长的学生管理需求和当前软件及管理方式不能有效管理的矛盾日益突出。目前很多高校的管理制度存在不规范的现象,管理系统还不健全,研制一个适合高校的学生管理信息系统势在必行。本论文研究实现一个基于网络环境的学生管理系统,能够在于解决网络环境下学生综合信息管理过程中存在的具体问题,实现的主要功能包括学生信息管理、学籍管理、招生就业管理、课程管理、成绩管理、考试管理、党组织管理、助贷管理、贫困生管理、宿舍管理、班级管理、奖惩管理等。预计达到以下目标:(1)保证学生等完成个人信息管理、成绩查询、选课等功能;管理员可以完成基本信息管理、教务事务管理、宿舍信息管理等多种资源管理功能,教师能够完成成绩管理、课程申报等功能,实现一个综合化的信息管理系统;(2)通用性好,可靠性高,开放性好。系统能够容纳或对接其它的系统,提供与其它教务管理系统良好的数据接口,实现信息互通,为建立功能集成化、网络化和自动化的教务管理信息系统奠定基础;(3)操作简单便捷,界面大方美观,方便使用;具有各种查询、统计和报表功能,为教师和领导提供决策依据。 3.2 系统功能需求分析3.2.1 学生管理组织机构学生管理工作是个系统的复杂的工作流程,需要高校各职能部门协调配合,任何一个部门都需完成范围内管理工作。经实际考察、需求沟通和研究,与学生管理工作相关的各职能部门的组织职能如图3-1所示。图 3-1学生管理组织机构 3.2.2 功能需求描述根据部门业务需要,系统需要实现以下功能:1)奖评管理(1)设置各院系奖学金;(2)设置各学院获得各项设奖学金的人数;(3)学生申请奖学金;(4)获奖学生上报;(5)学工处审核获奖学金学生;(6)奖学金发放清单。2)违纪处分管理(1)违纪处分信息批量导入;(2)增加、修改、删除、导出违纪处分信息;(3)违纪信息统计分析。3)学生资助管理(1)困难补助申请,包括贫困生申请、贫困生困难补助申请、国家助学贷款申请。(2)贫困生信息的批量导入、单个增加、修改、删除、导出。(3)困难补助信息的批量导入、单个增加、修改、删除、导出。(4)国家助学贷款的批量导入、增加、修改、删除 、导出及(5)学生申请审核。包括对贫困生申请、贫困补助申请、国家助学贷款申请等审核。(6)贫困生社会活动信息维护。 4)勤工助学管理(1)岗位申报;(2)岗位审核;(3)学生岗位申请;(4)学生申请审核;(5)酬金发放。5)思想教育管理(1)学生参加培训信息维护;(2)入党积极分子维护;(3)预备党员维护;(4)党员维护。 6)课程管理(1)课程类别管理;(2)课程管理;(3)课程成绩管理;7)教师管理(1)教师基本信息;(2)教师教授课程管理;(3)课程成绩登记。8)综合信息查询学工处、院系、学生可以选择相应的数据表,并选择或输入相应的信息项,系统可按权限查询出相应的信息,并可将查询出的信息输出到Excel或PDF。9)报表管理(1)奖励证书、学生证书、毕业证书等证书打印。(2)年度专项奖学金汇总表(3)处分学生一览表(4)困难学生一览表(5)贷学金发放一览表(6)勤工助学酬金发放一览表10)宿舍信息管理可以查看某个学生所在的房间等信息、卫生评比情况。11)系统维护系统用户授权、系统初始化、数据备份与恢复、操作日志维护、系统帮助等功能。3.2.3 系统用例(1)学工处人员用例学工人员的用例如图3-2所示。学工管理人员可进行各类信息的管理。图 3-2学工处人员用例 (2)系统管理员用例系统管理员用例如图3-3所示。系统管理员负责设置用户权限、维护系统信息、给系统使用人员设置初始密码等。图3-3 系统管理员用例 (3)教师用户用例教师用例如图3-4所示。教师可对系统管理员分配给自己的初始信息进行维护,查询相关学生、电话、宿舍、成绩信息,成绩登记及用户注销。图3-4教师用例 (4)学生用例学生用例如图3-5所示。学生维护个人基本信息,查询相关课程、成绩、宿舍信息及用户注销。图3-5 学生用例 3.2.4 时序图(1)学生登录时序图在学生登录时序图中,首先学生输入用户名和密码,在登入成功之后,对个人信息进行录入,信息录入好之后,可能会进行信息更改,修改个人信息之后还需保存个人信息,将数据存入数据库中。如图3-6所示。图3-6 学生登录时序(2)教师成绩管理时序图在教师成绩管理时序中,先输入用户名和密码,登入成功后,可录入成绩,在录入成绩完成后,可以对成绩进行添加、修改和查询操作,最后保存成绩,将数据存入数据库中,成绩录入成功之后,即可退出系统。如图3-7所示。图3-7 教师录入成绩时序 (3)学生选课时序图由于选课问题涉及的用户包括了教务处管理员、教师、学生,学生选课可以作为一个功能负责的模块单独处理。在功能管理上,需要进行单独管理,许多学生管理系统中都将学生选课作为一个子系统。选课模块主要功能包括学生选课、学生修改选课、教师申报课程、课程信息删除和统计学生选课信息。该模块在设计运行时要以教学计划为依据,可以对选课信息进行管理,图3-8展示了学生登录系统选课的时序。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 其他分类 > 大学论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!