




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中图分类号:学校代码:10055UDC:密级:硕 士 专 业 学 位 论 文基于MVC模式的新生入学管理系统的设计与实现Design and implementation of the new management system based on the MVC pattern论文作者 指导教师 邢树松 (副)教授 申请学位 工程硕士 培养单位 软件学院 学科专业 研究方向 答辩委员会主席 评 阅 人 南开大学研究生院二一四年十月摘 要摘 要伴随着计算机技术的飞速发展以及计算机使用的普及,人们开始越来越多的使用计算机来帮助解决实际问题。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍地增长。新生入学管理是学校信息管理的重要组成部分,面对大量信息,以往的人力处理浪费大量的时间、人力和物力,并且数据的准确性低、易出错。因此,开发一个界面友好、易于操作的新生入学管理系统进行信息自动化处理变得十分重要。这正是本系统开发的目的和意义。本论文将对该软件的各个功能在开发过程中涉及到的技术和工具进行阐述。本套新生入学管理系统采用SSH2(struts2+spring+hibernate)框架整合,使用JSP页面当作view层用于显示,使用SQL Server 2005数据库,Tomcat6.0作为服务器,是基于MVC三层架构进行设计与实现的。其基本实现了:系统管理,组织结构,学生管理,成绩管理,财务管理五大基本功能。新生入学管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护、后台控制层的编写以及前端应用显示层的开发三个方面。对于数据库的要求是需要建立起安全性良好的数据库。而对于应用程序则要求其功能完备,具备易使用等特点。软件界面分为左侧导航栏和右侧主显页面,可满足学校学生信息管理的基本需要。本套新生入学管理系统的优点是简单易懂易操作,便于维护、检索迅速、查找方便,模块化设计和MVC分层清晰明了,能将系统功能模块完整呈现。当然,本套新学生入学管理系统也存在缺点如:系统完成的功能较少,用到的框架代码和JSP页面代码并不是那么容易理解等。关键词:JSP;MVC;SQL Server 2005;新生入学管理系统IIAbstractWith the rapid development of computer technology and the popularization of computer using, more and more people begin to use computers to solve practical problems. With the larger scale of the school, the number of students has increased dramatically and all kinds of information about students has been growing exponentially. New management system is an important part of the school information management. In the face of large amounts of information, previous human processing wasted much time, manpower and material resources, and the accuracy of the data was too low to make mistakes. Therefore, to develop a new management system which has a friendly interface and easy to operation for automation processing becomes very important. This is just the purpose and significance of this system .This paper will set force the techniques and tools that involved in the development process of the software for each function.This set of new management system uses SSH2 framework to integrate, JSP to display the page as the view, SQL Server 2005 database and Tomcat6.0 as the server, which is based on the MVC framework. It has realized so many functions, such as: system management, organization structure, student management, performance management, finance management and other basic functions.New management system is a typical application of managing information system, which mainly includes the establishment for the backstage database , the writing of backstage controlling and the development of front application layer. The requirement for the database is to build up a safety database. But for the application ,it requires its a fully function, which is easy to use. Software interface is divided into the left navigation bar and the right side of the main page, which can meet the basic needs of the new management system. On the one hand, this set of new management system is easy to understand and operate. In addition to, the modular design and clear MVC completely presents the essential function of the system. On the other hand, this set of new management system also has shortcomings, such as: the completion function of new management system is few, and the framework of the IIJSP page code for using are difficult to understand. Key words: JSP;MVC;SQL Server 2005;New management systemIII目 录目 录摘 要IAbstractII第一章 绪 论1第一节 开发背景1第二节 开发的目的及意义1第三节 论文主要工作2第四节 论文的组成及各部分主要内容2第二章 系统需求分析4第一节 可行性研究42.1.1 技术可行性分析42.1.2 经济可行性42.1.3 使用方便可行性4第二节 需求概述42.2.1 用例分析52.2.2 概念类描述62.2.3 行为描述7第三节 功能需求分析82.3.1 系统管理82.3.2 组织结构92.3.3 学生管理102.3.4 成绩管理102.3.5 财务管理11第四节 环境需求11第五节 性能需求11第三章 系统设计13第一节 系统结构设计133.1.1 软件设计的原则133.1.2 系统功能模块15第二节 系统功能与用户对象15第三节 基于UML的时序图设计163.3.1 时序图设计163.3.2 时序图实例17第四节 数据库设计223.4.1 数据库概念结构设计223.4.2 数据库逻辑设计27第五节 系统流程设计313.5.1 系统流程图313.5.2 系统流程图示例32第四章 系统实现35第一节 系统功能实现354.1.1 管理员登录界面354.1.2 主界面364.1.3 系统管理384.1.4 组织结构404.1.5 学生管理434.1.6 成绩管理454.1.7 财务管理46第五章 软件测试48第一节 测试基础485.1.1 软件测试的原则485.1.2 软件测试的方法49第二节 测试用例设计与执行记录505.2.1 管理员登录模块测试用例505.2.2 测试原则505.2.3 测试目标515.2.4 测试内容515.2.5 测试方法52第六章 结 论61参考文献63致 谢65个人简历66VI个人简历第一章 绪 论第一节 开发背景随着网络信息技术的飞速发展,网络信息化已经融入了人们的生产和生活方式,当管理信息系统(management information system MIS )的出现,就彻底地改变了人类对于信息的处理方式。从最早所有信息纸上处理的方式,到现在大部分信息都是无纸化和网络化处理的方式,人们对于信息管理的技术有了本质的飞跃,并且这项技术还在不断地发展当中。近十年几来,国家对于高校招生的政策一直在不断地放宽,入学数量都在逐年递增,从而导致学生信息数量大、信息更新不及时、对信息存储可靠性要求高等方面。因此,当一套功能完善的学生管理系统的,可以大大地提升了高校对于学生信息的管理,在质量和效率上都进一步地提升了;同时对信息进行规范管理,科学统计和快速查询,从而减少工作量。有效的管理与学生相关的所有信息就是学生管理系统所要完成的功能。为了适应信息时代发展,提高学校的工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学中计算机的特色,使计算机的使用成为学校对学生进行有效管理的重要组成部分。用计算机来管理新生报到可以避免不必要的资源浪费。用计算机来管理新生报到可以作到在新生前来报到时给其分配相关资源,存储其相关信息则可以避免所分配的学号、床位号中间呈现空缺的现象也节省了教务处工作人员的工作强度,避免了提前去做新生的相关分配工作。“新生入学管理系统”旨在学生前来报到时登记其基本信息并将其基本信息录入到数据库中,如此就可以避免某些特殊情况的学生的相关信息存储进在校学生的相关数据库中,同时使用该系统可以实现学生信息的有序存储,使得检索迅速、查找方便、并且提高了可靠性。第二节 开发的目的及意义正如前文所述,新生入学管理系统迫切需要解决的问题是:如何降低人力成本,规范化管理,信息处理,系统化工作程序。通过本套系统来达到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。针对计算机操作人员的整体水平来说不够高,因此要求系统在设计开发时必须考虑具有良好的人机交互界面;同时考虑到使用该系统的用户较多以及人员权限层次不同的特点,系统必须要具备良好的权限管理特性。建立新生如需管理系统,充分有效地利用好计算机对学生信息进行管理,进一步提高学校的教务管理水平和工作效率,来实现学校在学生信息管理工作方面流程的规范化、信息化,自动化和系统化。第三节 论文主要工作首先,本文对新生入学管理系统进行了阐述。介绍了该系统的业务组成以及本系统的在整个IT系统中所处的位置。其次,针对该系统面临的技术问题点,进行了深入的系统分析和需求调研。对系统进行了总体的设计,设计出基于MVC框架的三层系统架构。从而使Web服务应用友好化,服务的使用者不必关心服务的具体业务逻辑、实现方法。使用者只需按提示完成填写信息、按按钮保存等即可;再次,规划系统的数据库,设计实体关系图,定义数据字典;最后,实现系统功能与模块的编码。系统具有如下功能:(一)系统管理。实现用户管理和角色分配。实现用户和角色的增、删、改、查。将角色赋予用户,将权限赋予角色。(二)信息查询。本系统的核心功能,可以对组织结构、学生信息、成绩信息、财务信息等进行查询。(三)各种信息管理。信息管理任务主要是增、改、删。执行管理任务主要是调用后台编写的DAO接口方法,实现上述信息的增、删、改等功能。总之,实现了业务的功能需求,新学生入学管理系统所必备的基础功能,也实现了业务的非功能需求,即可用性、可靠性、可扩展性、安全性等。第四节 论文的组成及各部分主要内容本论文共分七章,内容节安排如下: 第一章:绪论。主要介绍了系统的研究背景、意义,以及本文的研究内容与章节组织结构。 第二章:系统的需求分析。介绍了系统的概况以及系统业务的总体分析。然后从系统的功能性需求和非功能性需求出发,进行了详细的需求分析。 第三章:系统的总体设计。明确系统的设计目标和原则。设计系统的软件技术架构。详细阐述了系统的业务功能结构,同时对系统运行环境进行了描述。 第四章:系统的实现。明确数据库的设计目标。对数据库的主要实体关系进行详细的阐述,同时描述了各个表结构及表之间关系系统功能详细设计与实现。针对系统主要业务流程和功能进行详细描述,系统中的关键问题与技术。记录了开发过程中的遇到的问题和解决方法以及关键技术的应用。 第五章:软件测试。采取多方面的系统的测试,以测试该系统是否验证完善。第六章:结论。对系统的设计和开发工作进行总结。 第二章 系统需求分析第一节 可行性研究新生入学管理系统的可行性研究如下:2.1.1 技术可行性分析新生入学管理系统是一个数据库应用程序,现有的数据库技术已经非常成熟,而且类似系统已经有很多投入使用,估计学生入学管理系统利用现有的技术完全可以达到功能目标。而且开发期限较为充裕,可以在要求日期前完成。2.1.2 经济可行性新生入学管理系统可以利用学校的现有设备,不必添加其他的硬件设施,成本低廉,而且使用学生入学管理系统可以节省时间,减少人工支出,提高工作效率。根据经验算法,收益的累计数开始超过支出的累计数的时间约为两年,投资回收期短。2.1.3 使用方便可行性由于高校教职工都有一定的计算机操作水平,而新生入学系统界面简洁,操作几乎是点击单选框,很是方便,无繁杂的输入过程,故能满足教职工的使用要求。通过对系统的可行性全面分析,包括系统的实现、运行,经济、社会等因素的综合考虑,发现所开发系统都满足开发的条件。另外,类似系统在全国许多高校已投入使用,到目前为止效果都相当不错,经分析开发该系统是可行的。第二节 需求概述需求分析是软件工程中第一个也是很重要的一个阶段,需求分析的主要认识是绘制关联图、创建开发原型、分析可行性、确定需求优先级、编写数据字典等等。需求分析从总体是看是说明项目应该具有什么样的功能,而不考虑这些功能的具体技术。通过入学基本流程的分析,得到该系统应具有一下特征:1. 具有良好的人机交互界面2. 业务模块能够实现增加、修改及删除的功能3. 合理的权限设置,提高系统的安全性4. 支持数据的模糊查询5. 数据和报表的导出功能,使系统更加人性化6. 实现员工权限的合理化管理7. 降低人力资源8. 操作界面美观、友好、操作方便、快捷、高效2.2.1 用例分析用例图(User Case)是被称为参与者的外部用户所能观 用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类。 用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。表2.1 UML用例图图符可视化图符名称描述系统用来表示系统边界,所有用例放在系统之中用例用来表示用例图中的用例执行者用于描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例2.2.2 概念类描述概念类产生于设计阶段,由系统设计师绘制,其作用是描述系统的架构结构、指导程序员编码。它包括系统中所有有必要指明的实体类、控制类、界面类及与具体平台有关的所有技术性信息。概念类和编程中的“类”实在是没什么关系的,因为最后的系统中可能根本没有类和它们对应,而且很多最后系统中的类如控制类和界面类这套类图中也没有。也就是说这套图和具体技术无关,也不是画给程序员看的,它只是表达业务领域中的一个静态结构。类图表示不同的实体(人、事物和数据)如何彼此相关;换句话说,它显示了系统的静态结构。类图可用于表示逻辑类。类图还可用于表示实现类,实现类就是程序员处理的实体。实现类图或许会与逻辑类图显示一些相同的类。然而,实现类图不会使用相同的属性来描述,因为它很可能具有对诸如Vector和HashMap这种事物的引用。类在类图上使用包含三个部分的矩形来描述。最上面的部分显示类的名称,中间部分包含类的属性,最下面的部分包含类的操作(或者说方法)。类图图符如表2.2所示。表2.2 类图图符可视化图符名称描述类表示具体的一个类,第一栏为类名,第二栏为类的属性,第三栏为类的方法包一种分组机制,表示一个类图的集合关联表示类的对象间的关系,包括聚集关联和组成关联泛化关系描述类或包的一般元素与特殊元素之间的分类关系概念类类图如图2.2所示。图2.1 概念类类图2.2.3 行为描述系统的行为描述是通过顺序图来实现的,顺序图作为一种交互图,顺序图显示参与交互作用的参与者 (主角:在用例图中,外部对象所充当的角色的表示法。因此,一个物理对象可以用几个主角表示。通信关系指示主角以何种方式参与到用例中来。)或对象 (对象:在其他应用程序中创建并导入、嵌入或链接到 Visio 绘图内的信息。对象一词用于表示来自其他应用程序的对象和 OLE 对象。),以及它们生成的按时间顺序排列的事件 (事件:Visio 中发生的事件,如更改形状公式或删除页等。)。通常,顺序图显示特定用例 (用例:在用例图中,当主角使用系统来完成某一进程时所发生的一组事件的表示方式。通常,用例是相当大的进程,而不是单个步骤或事务。)实例导致的事件,不过,顺序图的形式也可更为通用。顺序图中的纵向维代表时间,按时间先后依次向下排序。横向维代表不同的参与者或对象。序列图的绘制非常简单。横跨图的顶部,每个框表示每个类的实例(对象)。在框中,类实例名称和类名称之间用空格/冒号/空格来分隔,例 如,myReportGenerator : ReportGenerator。如果某个类实例向另一个类实例发送一条消息,则绘制一条具有指向接收类实例的开箭头的连线,并把消息/方法的名称放在连 线上面。对于某些特别重要的消息,您可以绘制一条具有指向发起类实例的开箭头的虚线,将返回值标注在虚线上。本套系统绘制出包括返回值的虚线, 这些额外的信息可以使得序列图更易于阅读。UML顺序图图符如表2.3所示。表2.3 UML顺序图图符可视化图符名称描述带有生命线的对象用于表示顺序图中参与交互的对象激活表示在这个时间段内,对象处于活动状态消息用于表示对象之间传递的消息返回消息用于表示对象之间传递的消息第三节 功能需求分析2.3.1 系统管理系统管理主要用来添加管理员账号信息,修改密码等。系统管理的用例图如图2.8所示。图2.2 系统管理用例图2.3.2 组织结构组织结构主要用来对院系管理、专业管理、班级管理。院系管理主要是对院系的增加、院系的更名、院系的合并删除以及院系的查询。专业管理主要是针对不同的院系所分的专业,包括专业的增加、专业的修改、专业的删除以及专业的查询。班级管理主要针对不同院系下的不同专业下的不同班级进行管理,包括班级的添加、班级的修改、班级的删除以及班级的查询功能。组织结构的用例图如图2.3所示。图2.3 组织结构用例图2.3.3 学生管理学生管理主要用来对学生信息的管理,主要包括对学生的信息添加、修改学生的信息、删除不来报到的学生信息以及查看学生的信息。学生管理的用例图如图2.4所示。图2.4 学生管理用例图2.3.4 成绩管理成绩管理主要用来对学生的成绩进行管理,主要包括科目的管理,这里主要是为了区别文科与理科的不同设定的。成绩主要就是对学生成绩的管理。成绩管理的用例图如图2.5所示。图2.5 成绩管理用例图2.3.5 财务管理财务管理主要用来对学生的各项财务的管理,包括各种收费项目以及收费项目对应的凭证的管理,收费项目如寝室费,学费,书费等等。收费凭证就是每位学生所交收费的凭证。财务管理的用力图如图2.6所示。图2.6 财务管理用例图第四节 环境需求1. 硬件环境处理器:Inter Pentium 1.0GHz 或更高内存:128MB硬盘空间:40GB显卡:SVAG显示适配器。2. 软件环境操作系统:Windows XP数据库:SQL Server 2005第五节 性能需求为了保证系统能够长期、安全、稳定、可靠、高效地运行,学生入学管理系统应该满足:信息处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。查询时应保证数据的完整性,即所有相应域包含查询关键字的记录都应能查到。在系统实际和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和相应时间能够满足信息处理的需求,对数据的导入、导出和打印机的操作也应在可接受的时间内完成。系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。可扩充系统可以通过简单地加入和减少系统的模块,配置系统硬件。通过软件的修补、替换,完成系统的升级和更新换代。系统的易用性和易维护性:系统是直接面对使用人员的,而使用人员往往在对计算机并不非常熟悉。这就要求系统能够提供良好的用户接口,尽量提供友好的人机对话界面。系统中涉及到的数据是学校学生管理的非常重要的信息,系统要提供方便的手段供系统管理员进行数据的备份、日常维护、以及系统发生意外崩溃时数据的恢复等工作。系统的标准性:系统在设计、开发、使用过程中,要涉及很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如,在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。第三章 系统设计第一节 系统结构设计3.1.1 软件设计的原则软件设计是一个创造性的过程,对一些设计者来说需要一定的资质,而最后设计通常都是由一些初步设计演变而来的。从书本上学不会设计,只能经过实践,通过对实际系统的研究和实践才能学会。对于高效的软件工程,良好的设计是关键,一个设计得好的软件系统应该是可直接实现和易于维护、易懂和可靠的。设计得不好的系统,尽管可以工作,但很可能维护起来费用昂贵、测试困难和不可靠,因此,设计阶段是软件开发过程中最重要的阶段。软件设计原则如下:1、单一职责原则就一个类而言、应该仅有一个引起它变化的原因。 这句话的意思是说,如果有多种不同类型的需求改变了,都需要对该类进行改变,那么这个类就违背了单一职责原则,这个度非常难把握,个人感觉很多时候,单一职责原则比较滞后,大部分情况下都是在需求变更的时候,才发现这个某些类单一职责原则没有太好落实,因此才去做的重构,其实发生这个情况的原因,个人感觉主要是在做设计的时候,还是功夫做得太少,如果能在纸上多画画,应该效果会更好。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离-如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。 2、开放-关闭原则 对于扩展是开放的,对于更改是封闭的。 怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本呢? 无论模块是多么的封闭,都会存在一些无法对之封闭的变化。既然不可能完全封闭,设计人员必须对于他设计的模块应该对哪种变化封闭做出选择。他必须先猜测出最有可能发生的变化种类,然后构造抽象来隔离那些变化。 在我们最初编写代码时,假设变化不会发生。当变化发生时,我们就创造抽象来隔离里后发生的同类变化。 面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码。这就是开放-关闭原则的精神所在。 我们希望的是在开发工作展开不就就知道可能发生的变化。查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难。开放-关闭原则是面向对象设计的核心所在。遵循这个原则可以带来面向对象技术所声称的巨大好处,也就是可维护、可扩展、可复用、灵活性好。开发人员应该仅针对程序中呈现出频繁变化的那些部分做出抽象,然而,对于应用程序中的每个部分都刻意地进行抽象同样不是一个好主意。拒绝不成熟的抽象和抽象本身一样重要。3、依赖倒转原则针对接口编程,而不要对实现编程:A. 高层模块不应该依赖低层模块,两个应该都依赖抽象。B. 抽象不应该依赖细节,细节应该依赖抽象。以上都是根据书上所写,但个人在这里有些需要说明的,依赖倒转原则与前面所讲的原则都是一样,不要将所有的地方,都写成是对接口编程,那样相当于是过度抽象,其实对整个软件设计并没有任何好处。一句话概括:只有当需要的时候,再进行抽象,这也是敏捷所描述的精神。4、里氏代换原则一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类型必须能够替换掉它们的父类型。只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。5、查询分离原则 查询:当一个方法返回一个值来回应一个问题的时候,它就具有查询的性质;命令:当一个方法要改变对象的状态的时候,它就具有命令的性质; 通常,一个方法可能是纯的Command模式或者是纯的Query模式,或者是两者的混合体。在设计接口时,如果可能,应该尽量使接口单一化,保证方法的行为严格的是命令或者是查询,这样查询方法不会改变对象的状态,没有副作用,而会改变对象的状态的方法不可能有返回值。也就是说:如果我们要问一个问题,那么就不应该影响到它的答案。实际应用,要视具体情况而定,语义的清晰性和使用的简单性之间需要权衡。将Command和Query功能合并入一个方法,方便了客户的使用,但是,降低了清晰性,而且,可能不便于基于断言的程序设计并且需要一个变量来保存查询结果。在系统设计中,很多系统也是以这样原则设计的,查询的功能和命令功能的系统分离,这样有则于系统性能,也有利于系统的安全性。3.1.2 系统功能模块学生入学管理系统主要包括系统管理、组织结构、学生管理、成绩管理和财务管理等功能。图3.1 系统功能图第二节 系统功能与用户对象实现新生入学的管理,对新生分配院系、专业以及班级并记录,学生信息、组织关系、学费的缴纳情况登记。系统还可以查询收费项目,以及查看学生的详细信息,包括姓名,学号,性别,专业,院系,班级,文理科,身份证号,家庭住址以及联系方式等。系统的主要功能包括:数据查询、数据更新、用户管理和数据添加。数据查询:允许有权限的用户对系统数据进行相应权限的访问查看。查询允许有权限的用户构造各种组合条件来查询所需要的数据。同时可以对满足条件的信息进行高级查询。数据更新:数据删除和数据修改。数据删除功能将不满足条件用户要求的相应记录从数据库中删除(如学生规定时间内未到校报到、退学)。数据修改功能允许用户对他所指定记录的相关信息进行修改。用户管理:高级用户拥有对系统所有数据进行操作的权限。系统管理员用户只对系统进行维护,并能对自己的用户密码进行修改。普通用户拥有查询权限并能对自己的用户密码进行修改。 数据添加:添加新入学的学生信息,成绩信息,管理员信息等。第三节 基于UML的时序图设计3.3.1 时序图设计时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)等等。角色(Actor)系统角色,可以是人、及其甚至其他的系统或者子系统。对象(Object)对象包括三种命名方式:第一种方式包括对象名和类名;第二种方式只显示类名不显示对象名,即表示他是一个匿名对象;第三种方式只显示对象名不显示类明。生命线(Lifeline)生命线在顺序图中表示为从对象图标向下延伸的一条虚线,表示对象存在的时间。3.3.2 时序图实例1.系统管理员管理的时序图:图3.2 管理员时序图1. 系统管理员管理系统的时序图说明:管理员成功登陆信息管理页面(1) 学生信息查询操作可查询学生数据库里学生的信息。(2) 在本页面显示查询内容并返回成功消息。(3) 在信息管理页面同时可进行学生的追加、信息的删除、修改操作并且将消息提交到学生信息数据库中。(4) 将更新后的内容显示到本页面上,返回成功消息。(5) 在信息管理页面上同时可对教师信息进行修改、删除和教师的追加并将消息提交给教师信息仓库,教师信息仓库将更新过的内容显示到页面中同时返回成功消息。(6) 在信息管理页面上同时可对班级信息进行修改、删除和增加并将消息提交给班级信息仓库,班级信息仓库将更新过的内容显示到页面中同时返回成功消息。(7) 在信息管理页面上同时可对课程信息进行修改、删除和增加并将消息提交给课程信息仓库,班级信息仓库将更新过的内容显示到页面中同时返回成功消息。(8) 操作完成后退出登录。2. 教师登陆系统的时序图:图3.3 教师登陆时序图教师登陆系统的时序图说明:(1) 教师输入账户和密码成功登陆到登陆界面(2) 通过查询信息操作提交到教师信息仓库(3) 将查询到的信息显示到该页面(4) 返回成功信息(5) 检索学生成绩操作和查询教授学生状况操作可将学生信息数据库中的内容显示到该页面上(6) 成功显示后返回登陆页面(7) 退出系统3学生登陆系统的时序图图3.4 学生登陆时序图学生登陆系统的时序图说明:(1) 学生成功登陆到登陆界面(2) 学生查询个人信息(3) 系统显示信息(4) 成功提示(5) 选择操作(6) 显示选课情况(7) 成功提示(8) 显示成绩(9) 成功提示(10)退出系统4. 教师成绩录入时序图图3.5 教师录入成绩时序图(1) 输入用户名密码(2) 登陆成功提示(3) 成绩录入(4) 添加成绩(5) 修改成绩(6) 查询成绩(7) 保存成绩(8) 存储数据(9) 成绩录入成功提示(10)退出系统5. 学生注册时序图图3.6 新生注册时序图(1) 请求注册页面登陆(2) 输入用户名(3) 查询是否存在(4) 查询学生信息(5) 规则验证(6) 可以注册信息返回(7) 数据存入数据库(8) 注册成功提示6. 学生选课时序图图3.7 学生选课时序图(1) 输入用户名密码(2) 登陆成功提示(3) 选课操作(4) 查询选课信息(5) 重新选课(6) 添加课程(7) 保存选课信息(8) 将数据存入数据库(9) 选课成功(10) 退出系统第四节 数据库设计数据库设计对所有数据合理性的设计,通过对数据库的设计实现对对数据的管理等操作。3.4.1 数据库概念结构设计本系统自始至终都是在通过数据库操作,对数据库的性能要求特别高。平均每个操作要访问数据库C1次,每次访问数据库要检索数据记录CN条(N为用户数,C,C1 为访问系数)。所以数据库访问的频率是C1*C*N*M(M表示每秒在线用户的平均数)。数据库中有些表的属性比较多,所以要求数据库的访问能力比较强。本系统的数据库用SQL Server 2005的数据库服务器软件,对于应用系统是非常理想的。用户实体图主要含有用户的编号、用户名、密码、电子邮件、提示问题、答案等字段,具体实体如图3.8所示。图3.8 用户实体图用户组实体图主要含有编号和名称字段,具体实体图如图3.9所示。图3.9 用户组实体图权限实体图主要含有编号、权限组、权限名、用户组、权限等字段,具体实体图如图3.10所示。图3.10 权限实体图院系实体图主要含有编号院系名称等字段,具体实体图如图3.11所示。图3.11 院系实体图专业实体图主要含有编号、专业名称与所属院系等字段,具体实体图如图3.12所示。图3.12 专业实体图班级实体图主要含有班级编号、班级号、班级名称、所属院系、所属专业等字段,具体实体图如图3.13所示。图3.13 班级实体图学生实体主要含有编号、姓名、学号、性别、专业、院系、班级、文理科、身份证号、家庭住址与联系方式等字段,具体实体图如图3.14所示。图3.14 学生实体图教师实体主要含有编号、姓名、学号、职称、专业等字段,具体实体图如图3.15所示。图3.15 教师实体图成绩实体图主要含有成绩编号、分数、学生编号、课程编号等字段,具体实体图如图3.16所示。图3.16 成绩实体图科目实体图主要含有科目编号与科目名称字段,具体实体图如图3.17所示。科目实体科目编号科目名称图3.17 科目实体图收费凭证实体图主要含有编号、凭证号、收费项目、金额、缴款人、等字段,具体实体图如图3.18所示。图3.18 收费凭证实体图总体框架E_R图描述了各个实体之间的从属关系,详细情况如图3.19所示:图3.19 实体关系图3.4.2 数据库逻辑设计用户表是用来存放新注册的用户,并且包括编号、用户名、密码、电子邮件、提示问题等字段,内容如表3.1所示。表3.1 用户表列名数据类型主键说明UserIdint是用户编号,自增长 UserNamenvarchar否用户名PassWordnvarchar否密码Emailnvarchar否电子邮件Questiontext否提示问题Answertext否答案RegisterTimedatetime否注册时间UserGroupIdint否用户组,外键用户组表用来存放用户权限、权限编号,和权限名称等字段,如表3.2所示。表3.2 用户组表列名数据类型主键说明UserGroupIdint是用户组编号UserGroupNameNvarchar否名称权限表用来存放权限信息表,包括编号、权限名、用户组等字段,内容如表3.3所示。表3.3 权限表列名数据类型主键说明RuleIDint是权限编号RuleNamenvarchar否权限名UserGroupIdint否用户组院系表主要存放院系的信息,主要包括编号,院系名称等字段, 内容如表3.4所示。表3.4 院系表列名数据类型主键说明YuanXiIdint是院系编号yuanximingchengchar否院系名称专业表主要存放相关专业的信息,主要包括编号、名称以及所属院系等字段,内容如表3.5所示。表3.5 专业表列名数据类型主键说明zhuanyeidint是专业编号zhuanyemingchengnvarchar否专业名称yuanxiidint否所属院系,外键班级表用来存放每个班级的信息,包括班级编号,班级号,班级名称,所属院系,所属专业等字段,内容如表3.6所示。表3.6 班级表列名数据类型主键说明BanJiIdint是班级编号banjinonvarchar否班级号banjimingchengnvarchar否班级名称zhuanyeidint否所属专业,外键学生表用来存放学生的基本信息,主要包括编号,姓名,学号,性别,专业,院系,班级,文理科等字段,内容如表3.7所示。表3.7 学生表列名数据类型主键说明xueshengidint是学生编号xingmingnvarchar否 姓名xuehaonvarchar否学号xingbieChar否性别banjiidnvarchar否班级,外键xuekechar否文理科shenfenzhengnvarchar否身份证jiatingzhuzhinvarchar否家庭住址lianxifangshinvarchar否联系方式教师表表用来存放教师的基本信息,包括编号,姓名,职称,所属专业,内容如表3.8所示。表3.8 教师表列名数据类型主键说明JiaoshiIdint是教师编号XingMingNvarchar否姓名ZhiChengNvarchar否职称zhuanyeidint否所属专业课程表用来存放课程的基本信息,包括编号,课程,学期,所属专业,开课教师等内容如表3.9所示。表3.9 课程表列名数据类型主键说明KechengIDint是课程编号kechengNvarchar否课程JiaoshiIdint否教师,外键kaikexueqiNvarchar否开课学期成绩表用来存放学生的成绩信息,包括成绩编号,分数,所属学生,所属专业,所属科目,所属班级,所属院系等字段,内容如表3.10所示。表3.10 成绩表列名数据类型主键说明chengjiidint是成绩编号fenzhiDouble否分数xueshengidint否学生编号KechengIDint否课程ID科目表用来存放科目信息,包括科目编号和科目名称等字段,内容如表3.6所示。表3.6 科目表列名数据类型主键说明kemuidint是科目编号kemumingchengnvarchar否科目名称收费凭证表是用来存放收费凭证信息的,包括编号,凭证号,收费项目,金额,缴款人,所属院系,所属专业,所属班级等字段,具体内容如表3.7所示。表3.7 收费凭证表列名数据类型主键说明pingzhengidint是编号pingzhengnonvarchar否凭证号xiangmuidint否收费项jinefloat否金额xueshengidInt 否缴款人第五节 系统流程设计3.5.1 系统流程图系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况。基本处理工序1、变换把输入单据变换成磁盘文件,或把磁盘文件变换成输出单据,或把某一磁盘文件的内容由一个介质文件传送到另一介质文件:一般在在进行输入变换同时,还可进行形式性的逻辑检查,如输入单据的数据范
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 入职安全教育培训理解课件
- 2024年山西警察学院军训动员大会校长发言稿9000字
- 龙胜县裕朗滑石制品有限公司项目建设项目环境影响报告表
- 2025年福建省“超级全能生”物理高三第一学期期末检测试题
- 防疫管理办法解说稿
- 企业现场安全知识培训
- 企业春季安全教育培训课件
- 环境监察培训管理办法
- 智能语音导览系统-洞察及研究
- 至阴穴脑功能重塑-洞察及研究
- 高级高炉炼铁操作工技能鉴定考试题及答案
- 前置公司协议书范本
- 房产中介居间服务合同
- 养老院预防老人食品药品误食
- 地下室转让合同协议书
- 大学生创业基础2000116-知到答案、智慧树答案
- (正式版)YBT 6328-2024 冶金工业建构筑物安全运维技术规范
- (正式版)HGT 6270-2024 防雾涂料
- 2024年的老龄化社会与养老产业
- 钣金生产工艺
- 护理信息学课件
评论
0/150
提交评论