毕业设计(论文)基于Web的新生报到管理系统分析与设计.doc
本科毕业设计(论文)题目:基于web的新生报到 管理系统分析与设计 院(系) 经济管理学院 专 业信息管理与信息系统 班 级 姓 名 学 号 导 师 2015年 6月1日基于Web的新生报到管理系统分析与设计摘 要本论文介绍了“基于Web的新生报到管理系统”的可行性分析、需求分析、系统设计、系统实施以及开发工具介绍和功能设计、功能实现等方面内容。采用系统的、管理的思想提出了系统设计方案,讨论了系统实施的必要性。在可行性论证、拟建系统方案、功能结构图设计方面都有独到的见解。解决了高校新生在报到时可能会出现的混乱现象,让报到能够按照报到的指定流程顺序进行,这样就可以方便做出统计,而且也解决了数据容易丢失和统计出错的问题。本系统采用主流开发语言Java为进行程序设计,运用基于Web技术的Struts、Spring、Hibernate等先进技术对该软件进行开发和实现,采用MYSQL数据库实现系统数据的存储。本系统用户界面友好,风格统一,是直观、清晰、简单的Web应用系统。关键词:管理信息系统,B/S模式,新生报到,SSHBased on web of the new students registration management system ABSTRACT This paper introduces the "based on Web of new report to management system" the feasibility analysis, requirement analysis, system design, system implementation and development tools introduced the design, function and function realization content. The system, management ideas put forward the system design scheme, discussed the necessity of the implementation of the system. In the feasibility and plans to build system solutions, function structure design is original ideas. Solve the freshmen in the registration may appear confusion phenomenon, let to the designated in accordance with the report order process, so that it can be easily make statistics, and solved the data and statistics of the error easy to lose. The system USES the mainstream development for programming language Java, using technology based on Web of Spring, Hibernate Struts, advanced technology such as the software development and implementation, using MYSQL database storage systemdata. This system user friendly interface, the style is unified, is intuitive, clear and simple Web application system.Keywords:Management information system,New Student registration,B/S Model, SSH目 录摘要IIABSTRACTIII第一章绪论11.1 研究背景11.2 研究的目的和意义11.3 研究主要内容2第二章相关技术32.1 JSP技术概述52.2 Struts技术概述52.3 Spring技术概述62.4 Hibernate技术概述6第三章系统分析73.1 系统初步调查73.2 问题定义83.3 系统功能分析83.4 可行性分析83.4.1 经济可行性分析83.4.2 技术可行性分析83.4.3 操作可行性分析83.5 系统的需求分析93.5.1 系统的综合要求93.5.2 数据流图93.6 系统运行环境93.7 系统的预期目标10第四章系统设计114.1系统功能简介114.1.1 系统登录与管理114.1.2 数据输入、删除与修改114.1.3 数据查询114.2 系统总体设计模块规划114.3 数据库设计124.3.1 数据库需求分析134.3.2 系统数据库E-R图134.4 数据库的实现164.4.1 用户信息表164.4.2 学生档案信息表164.4.3 楼宇信息表164.4.4 寝室信息表174.4.5 缴费信息管理表174.4.6 报到信息表174.4.7 专业信息表174.5 系统整体流程图18第五章系统详细设计195.1 系统子模块功能概括195.2 登陆模块设计195.3 用户管理模块设计215.4 新生报到管理模块设计225.5 新生档案信息管理模块设计235.6 楼宇信息管理模块设计245.7 寝室信息管理模块设计255.8 专业信息管理模块设计265.9 缴费信息管理和统计模块设计26第六章结论28参考文献29致谢30第一章 绪论1.1 研究背景借助现代信息技术和管理理论,建立现代管理信息系统是当今社会的重要趋势。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。为了适应信息时代发展,提高学校的工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学中计算机的特色,使计算机的使用成为学校对学生进行有效管理的重要组成部分。用计算机来管理新生报到可以避免不必要的资源浪费。用计算机来管理新生报到可以作到在新生前来报到时给其分配相关资源,存储其相关信息则可以避免所分配的学号、床位号中间呈现空缺的现象也节省了教务处工作人员的工作强度,避免了提前去做新生的相关分配工作。“新生报到管理系统”旨在每届新生前来报到时登记其基本信息并将其基本信息录入到数据库中,如此就可以避免将已被录取但不打算前来读书的学生的相关信息存储进在校学生的相关数据库中,同时使用该系统可以实现新生信息的有序存储,使得检索迅速、查找方便、并且提高了可靠性。在以下的章节将会着重介绍“新生报到管理系统”的可行性分析,需求分析,以及系统的设计和实施,这都是系统在最后投入使用之前必须要做的事情。1.2 研究的目的和意义基于Web的新生报到管理系统应便于对新生报到进行管理,使新生报到工作有条不紊的进行并在一定程度上提高新生报到工作的工作效率。 主要功能基于Web的新生报到管理系统的主要功能:数据查询、数据更新、用户管理等功能。数据更新功能:数据添加、数据删除和数据修改。数据添加功能:提供便捷的录入界面,通过应用程序将原始数据追加到数据库中。数据删除功能:将不满足用户要求的相应记录从数据库中删除。数据修改功能允许用户对他所指定记录的相关信息进行修改。数据查询功能:数据查询允许有权限的用户进行记录的浏览和条件查询。记录浏览功能可以方便快捷地浏览全部的记录。条件查询允许用户构造各种组合条件来查询所需要的数据。同时可以对满足条件的信息生成报表并进行打印输出。(主要的生成报表有:新生宿舍情况表、新生组织关系交缴表、新生学费交缴情况表、新生档案交缴情况表)用户管理:管理员用户、和学生用户。管理员用户拥有对系统所有数据进行操作的权限,学生用户只拥有对自己的信息数据进行操作和查询操作,并只能对自己的用户密码进行修改。性能要求:方便快捷有效地完成新生报到管理的各项工作,录入数据合法性的校验程度高,系统执行快。系统的输入、输出:输入学生的录取通知书号,输出查询信息与新生宿舍情况表、新生组织关系交缴表、新生学费交缴情况表、新生档案交缴情况表等几个报表(4)安全和保密要求:集成安全认证与管理员权限控制,数据实现备份,对管理密码,用户名等实现加密算法保护。(5)项目与其它软件系统的关系:系统是与MYSQL数据库集成,故需要与其进行数据交互。(6)完成期限要求: 必须在2015年6月20日前完成。随着学校的规模不断扩大,学生数量急剧增加,每年新生报到的人数也相应增加,有关学生的各种信息量也成倍增长面对庞大的信息量,这就需要有新生报到信息管理系统来提高学生报到的管理工作效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。在开学前,宿舍管理科就按各个院系的新生名额分配给相应的床位数,这些床位分为公寓和普通宿舍两种。公寓是两人一间,普通宿舍是四人一间,新生视自己的经济情况选择床位。新生报到时,要交入学通知书、高中的档案、组织关系档案和学费,分别记录下来,报到结束后生成相应的情况表。系统的基本目标是辅助管理决策科学化、规范化。目标系统应该达到以下要求:时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。可靠性。能连续准确的处理业务,有较强的容错能力。可理解性。用户容易理解和使用该系统。可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。可用性。目标系统功能齐全,能够完全满足业务需求。安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密,做好使用人员的授权管理。1.3 研究主要内容基于Web的新生报到管理系统主要研究以下内容:本系统实现了学校新生报到管理的所有基本功能,在实际中也可以使用,既提高了学校的管理水平,又减轻学校相关人员的负担。本系统的主要模块有:报到管理,缴费管理,档案管理,宿舍管理,报表生成。1、报到管理模块具体分为:录取通知书的收取、高中档案的收取和组织单位的收取。2、缴费管理模块具体分为:新生缴费登记和缴费情况查询。3、档案管理模块具体分为:档案整理和档案检索,功能为实现对学生信息的添加、修改、删除,还可进行查询操作。4、宿舍管理模块具体分为:安排宿舍和宿舍信息查询,功能为实现对学生信息的添加、修改、删除,还可进行查询操作。5、报表生成模块具体分为:新生宿舍情况表、学生缴费情况表、组织关系缴纳情况表、高中档案缴纳情况表。第二章 相关技术基于Web的新生报到系统采用目前主流的J2EE MVC三层体系架构,其架构的流程图如下图2-1所示:本系统是基于B/S模式开发的JAVA EE多层体系结构WEB应用。系统开发主要分为以下几层:表示层、业务层、DAO层、持久层。业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦合的思想。分层结构图如下所示:图2-1系统分层结构主要开发工具为:MyEclipse8.6、Mysql6.0、Tomcat6.0、PowerDesigner12。主要技术包括:J2EE轻量级框架SSH、Log4j、Ajax、JSON。SSH集成框架是Struts、Spring 和Hibernate 三种技术的有机融合,是目前应用最广泛的Java EE 技术架构。在SSH集成框架中,Struts 的作用是提供MVC 模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。Spring作为核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IOC容器来管理各组件之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。而Hibernate 提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。 Struts 是目前创建Web 应用最常用的表现层MVC 框架实现,是Jakarta Apache 的一个开源项目。基于Model的Struts 框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts 经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。图2-2 Struts MVC结构图Spring 由Rod Johnson 创建,它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JAVABEAN来完成以前只可能由EJB 完成的事情。然而,Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。简单来说,Spring 是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。图2-3 Spring功能图Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC 进行了非常轻量级的对象封装,使得Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP 的Web 应用中使用。图2-4 Hibernate运行图2.1 JSP技术概述JSP是服务器端的脚本语言,是以SERVLET为基础开发而成的动态网页生成技术,它的底层实现是JAVA SERVLET。JSP(JAVA SERVER PAGES)由HTML代码和潜入其中的JAVA代码所组成。服务器在页面被客户端请求以后对这些代码进行处理,然后将生产的HTML页面返回客户端的浏览器JSP的特点是面向对象、 跨平台、 和SERVLET一样稳定、 可以使用SERVLET提供的API,同时克服了SERVLET的缺点。在使用JSP时一般和JAVABEANS结合使用,从而将界面表现和业务逻辑分离。2.2 Struts技术概述Struts是Apache软件基金组织Jakarta项目的一个子项目,它的前身是CraingR.McClanahan便携的JSP Model2架构。Struts1.0版本于2001年6月发布而其后又推出了无数版本一直发展至今已经到了Struts2.1版。Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,这也是Struts是一个很好的优点。页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。2.3 Spring技术概述Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。Rod Johnson在2002年编著的Expert one to one J2EE design and development中对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。Spring从大小与开销两方面而言都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。2.4 Hibernate技术概述Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate版本更新速度很快,目前为止有两个阶段性的版本:Hibernate2和Hibernate3。目前最新发布的版本是Hibernate3.4。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。第三章 系统分析软件系统的总体设计大约要经历可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试以及维护等七个阶段。可行性分析和项目开发计划在前面已经叙述,下面所要做的是进行软件需求分析,概要设计和详细设计。在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:信息世界,数据世界,现实世界。现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。这些信息再进一步加工、编码,然后进数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义,以对现实世界进行第一次抽象。ER模型直接从现实世界抽象出实体类型及实体间联系,然后用ER图来表示数据模型。它有两个明显的优点:接近于人的思维,容易理解;与计算机无关,用户容易接受。但ER模型只能说明实体间语义的联系,不能进一步说明详细的数据结构,它只是数据库设计的第一步。通过需求分析可以从用户那里获取项目的基本信息和要求,这是进行项目后续工作的前提,其地位与越来越受到项目开发人员的重视。需求分析是程序设计中的一门重要课题,在本章中,我们将会对基于Web的新生报到管理信息系统需求进行分析,分析其可行性及重要性,进而对系统的各个模块进行分析、设计。3.1系统初步调查系统初步调查采用的主要方式,是到学校的新生报到管理处以新生的身份了解情况。通过调查,分析得到如下结论:借助现代信息技术和管理理论,建立现代管理信息系统是当今社会的重要趋势。 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。为了适应信息时代发展,提高学校的工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学中计算机的特色,使计算机的使用成为学校对学生进行有效管理的重要组成部分。用计算机来管理新生报到可以避免不必要的资源浪费。用计算机来管理新生报到可以作到在新生前来报到时给其分配相关资源,存储其相关信息则可以避免所分配的学号、床位号中间呈现空缺的现象也节省了教务处工作人员的工作强度,避免了提前去做新生的相关分配工作。3.2问题定义设计、开发一个基于Web的新生报到管理系统。实现新生报到流程的规范化、标准化和科学化管理,同时需要满足新生报到管理的具体需要。3.3系统功能分析本系统实现了新生报到的基本功能,根据用户管理的要求主要包括,用户信息管理,新生报到信息管理,新生档案信息管理,楼宇信息管理,寝室信息管理,专业信息管理和缴费信息管理模块。具体模块功能如下:1、登入用户管理模块:实现用户登录和用户权限管理分配。2、新生报到信息管理模块:实现对新生报到信息加入数据库,对新生报到信息进行查询、添加、删除、修改等操作。3、新生档案信息管理模块:实现对新生档案信息的查询、添加、删除、修改等操作。4、楼宇信息管理模块:实现对楼宇信息的查询、添加、删除、修改等操作。5、寝室信息管理模块:实现对寝室信息的查询、添加、删除、修改等操作。6、专业信息管理模块:实现对专业信息的查询、添加、删除和修改等操作。7、缴费信息管理和统计分析模块:实现对某一信息的综合数据记录。3.4可行性分析系统的可行性分析主要包括经济上的可行性和技术上的可行性。3.4.1经济可行性分析从该系统的开发和效益关系上讲,该系统的开发不需要花费太多的经费.因为设备费用可在原有设备的基础上组织建成; Java具有简单、高效、功能强大的特点。和VC相比,Java更简单、更易于掌握,而在功能上却丝毫不逊色,而且具有很好的移植性和强大的安全性;同时具有以下的特性:基于Web和面向对象的方法,高速的编译器,强大的数据库支持,与Web编程紧密结合,强大而成熟的组件技术。3.4.2技术可行性分析数据库支持是Java的强项。这主要体现在JSP与MYSQL数据库的无缝集成,以及Java提供的许多现成的数据库操作控件。目前Java提供了多种数据库的专用接口和JDBC接口。3.4.3操作可行性分析在本系统的操作阶段,该系统的使用并不困难,使用系统的工作人员,除了需要具备在Microsoft Windows平台上使用个人电脑的知识,并不需要特别的技术能力,只需要花费较少的时间去了解学习它,即可做到熟练操作使用。所以系统在操作上是可行的。综上所述,通过技术、经济、操作的可行性研究与分析,我们得出开发“基于Web的新生报到管理系统”是可行的。3.5 系统的需求分析3.5.1 系统的综合要求通过对系统分析,系统的综合要求如下:(1)完全取消目前的手工录入新生报到信息方式,新系统应具有方便的数据输入性能,良好的人机界面,尽量减少汉字及其重复输入。(2)灵活快捷的查询性能,能快速实现对新生报到信息的查询。 (3)对新入学报到的新生进行良好的管理。(4)系统应具有一定的操作合法权检验功能。3.5.2 数据流图新生报到管理系统的基本系统模型如图3-1所示:新生报到管理系统新生报到管理人员新生事务新生报到图3-1 新生报到管理系统的基本系统模型新生报到管理系统的缴费管理基本模型如图3-2所示:新生报到管理系统新生管理人员事务事物图3-2 新生报到管理系统的缴费系统模型3.6 系统运行环境为了保证基于web的新生报到管理系统运行的高效性和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境客户端: Windows95/98/2000/XP,Internet Explorer(IE)等。服务器端:Windows NT/Windows2000,Tomcat 5.0,JDK 1.5及其以上版本,Internet Explorer(IE)等;数据库:采用MYSQL,运行于服务器端。硬件环境服务器 CPU:PIII 500以上,内存:512M以上。客户机 CPU:P200MMX以上,内存:32M以上。3.7 系统的预期目标“新生报到管理系统”旨在每届新生前来报到时登记其基本信息并将其基本信息录入到数据库中,如此就可以避免将已被录取但不打算前来读书的学生的相关信息存储进在校学生的相关数据库中,同时使用该系统可以实现新生信息的有序存储,使得检索迅速、查找方便、并且提高了可靠性。本系统预期实现的功能如下:1、用户信息管理:系统操作用户的录入、用户的查询;2、新生报到信息管理:新生报到信息管理、新生报到信息查询;3、新生档案信息管理:新生档案信息查询、新生档案信息登记、新生档案信息修改、新生档案信息删除;4、专业信息管理:专业基本信息管理、专业信息查询;5、楼宇销售管理:楼宇信息添加,楼宇信息修改和楼宇信息查询;6、寝室信息管理:寝室信息的增删改查;7、新生缴费信息管理:缴费信息查询,缴费信息修改,缴费信息添加和统计分析第四章 系统设计4.1系统功能简介基于Web的新生报到管理系统是一个交互式查询系统,在明确了系统目标与数据库结构的前提下,设计出该系统的主要功能:系统登录、数据输入与修改、数据综合查询、数据统计等。 4.1.1系统登录与管理为了确保数据的保密性和安全性,防止非法用户对数据破坏,系统将使用登录系统,将事先设计好的用户名和密码信息放在数据表中,登录时系统自动将用户输入的数据信息和数据表中的数据进行比较,只有合法用户才能使用本系统。通过系统管理用户可以实现新用户注册和登录用户密码修改等功能。4.1.2数据输入、删除与修改数据输入、删除与修改统称数据操作,用户可以根据自己的需要,对数据表中的数据进行操作,将改动的数据及时传到后台的数据库中,保证数据的实时性、有效性。4.1.3数据查询查询功能是一个软件的核心部分,反映了一个系统的优劣。本系统能够对新生基本信息中的常用信息进行查询、对新生档案信息的查询和对新生缴费信息进行查询;对新生专业的基本信息的查询、新生宿舍的综合查询、楼宇信息的综合查询;寝室信息的查询。4.2系统总体设计模块规划系统的整体主要模块图如图4-1所示:基于Web的新生报到管理系统系统菜单系统注销系统登录用户管理报到管理档案管理专业管理楼宇管理缴费管理寝室管理图4-1系统整体模块图4.3数据库设计数据库设计是信息系统应用程序开发的重要组成部分。本章将详细介绍本系统的数据库设计。在数据库设计中,除了遵循标准的3范式理论、数据独立性、数据完整性以外,结合本管理系统实际,采取了以下策略:(l) 命名规范化:对数据库对象命名时尽量使用有意义的单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,且命名长度最好不要超过30个字符,便于应用系统适应不同的数据库,并尽量保持命名风格的统一。(2)允许适量的数据冗余,从而提高数据库执行效率:满足3NF的数据库不一定是最好的。数据库设计,有时降低数据库范式要求,适当增加数据冗余,可以达到空间换时间的效果;(3)确保字段名称和字段类型的一致性;(4)根据实际运行效果对数据库的性能进行妥当的优化:合理使用存储过程有利于提高运行速度,可以避免大量数据的传递,有利于减少网络的流量,提高系统性能;合理使用索引也是提高数据库访问效率的一种有效手段,但并不是盲目多建一些索引就提高性能,而是要和数据库应用的处理需求结合,合理地建立。(5)降低表间关联。为了保证数据库的一致性和完整性,设计人员往往会设计过多的表间关联。表间关联是一种强制性措施,建立后,对父表和子表的插入、更新、删除操作均要占用系统的开销。所以本系统数据库表关联不采用外键,对数据不用约束等。对数据的约束在业务规则中体现。遵循以上设计原则,经过对系统的认真研究分析,我们对系统的数据库进行了设计,数据库服务器采用MYSQL5.0。数据库设计是允许数据库访问的应用程序开发的重要部分,它将直接影响系统的长期有效性和产品化程度。4.3.1 数据库需求分析数据库的需求分析是进行系统功能划分和系统设计最重要的一个环节,根据系统数据流程图,可以得到六个数据库表:用户信息表、学生信息表、报到信息表,学生档案信息表,楼宇信息表,寝室信息表,专业信息表,报到信息表,以下为系统所需的数据项和数据结构的使用情况:(1) 用户信息维护:调用用户信息表,设置用户编号、姓名、性别、出生年月、籍贯、家庭住址、部门编号和联系电话等。(2) 学生报到信息维护:调用学生信息表,设置学生编号、姓名、性别、出生年月、籍贯、家庭住址、部门编号和联系电话等。(3) 学生档案信息维护:调用学生信息表,设置学生档案。(4) 专业信息表:调用用户信息表。(5) 楼宇信息表:调用楼宇情况信息。(6) 寝室信息表:调用楼宇和寝室信息。(7) 缴费信息表:调用学生信息,专业信息和缴费信息。4.3.2系统数据库E-R图本系统从整体上分为学生报到信息、学生档案管理管理信息和学生寝室管理信息三大部分。系统数据库设计E-R图,如图所示。添加日期用户角色联系电话用户信息登录帐号登录密码姓名图4-2用户信息实体及属性报到信息组织关系档案信息录取通知书学生姓名图4-3报到实体及属性专业信息添加日期专业代号专业名称图4-4专业实体及属性容纳人数寝室类型所在楼宇寝室信息门牌号寝室编号寝室名称图4-5寝室实体及属性容纳人数楼宇类型层数楼宇信息楼宇编号添加日期楼宇名称图4-6楼宇实体及属性学生姓名缴纳金额缴费单号报到信息缴费类型缴费日期所在专业图4-7缴费实体及属性4.4数据库的实现根据本系统实现的功能,基于web的新生报到管理系统主要的数据表信息如下所示:4.4.1用户信息表表4-1用户信息表字段名称数据类型 大小默认值可否为空主键用户IDInt10无否是角色Varchar40无是否密码Varchar无是否添加日期Timestamp40无是否联系电话Varchar40无是否4.4.2 学生档案信息表表4-2 学生档案信息表字段名称数据类型大小默认值可否为空主键学生编号Int无否是学生姓名Char 20无是否年龄Varchcar20无是否性别Varchcar20无是否城市Varchcar20无是否电话Varchcar25无是否宿舍IDInt无是否楼宇IDInt无是否专业IDInt无是否报到IDInt无是否缴费IDInt无是否4.4.3 楼宇信息表表4-3 楼宇信息表字段名称数据类型大小默认值可否为空主键楼宇编号Int无否是楼宇名称Char20无是否层数Int无是否数量Int无是否楼宇类型Char10无是否添加日期Char 10无是否4.4.4 寝室信息表表4-4 宿舍信息表字段名称数据类型大小默认值可否为空主键宿舍编号Int无否是宿舍名称Int无是否门牌号Long无是否宿舍