演示视频:
https://www.bilibili.com/video/BV1Za4y197HQ/
第4章 总体设计
4.1系统模块总体设计
利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着这种结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层开始,沿着图中每条路径反复细化,直到确定了数据结构的全部细节为止。
本系统一共分为管理员模块、学生模块,各个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能分析,系统在两个模块的基础上每一个模块又分为几个模块。
1.管理员功能模块:
(1)系统管理员管理整个系统,包括班级信息的管理、学生信息的管理、活动记录管理、事项表格管理等。
(2)班级信息的管理,录入班级信息,浏览管理已经录入的班级信息,对于过期的班级信息予以删除。
(3)学生信息管理,录入学生的基本信息,浏览管理已经录入的学生信息,对于错误的学生信息予以删除或者更新。
(4)事项表格管理,包括录入事项表格上传信息。
(5)活动记录管理,。
(6)修改密码功能,为了保证系统的安全性,管理员可以修改自己的密码
(7)系统管理,管理员可以添加普通管理员,用于协助管理本系统。
管理员模块功能结构图如图3-1所示。
图3-1 系统管理员用户功能结构图
2.学生模块:
学生功能结构图如图3-2所示。
图3-2 学生模块结构图
4.2数据库设计
对于一个管理系统而言,为了支持较大的访问量,带来的数据访问需求,使用桌面型的数据库管理系统是不能满足需要的,而且安全性也没有充分保障。因此,需要使用大型商业化企业级服务用途的数据库管理系统,如SQL Server,Oracle等。本系统采用MYSQL3.0数据库管理系统。
4.2.1数据分析
对于本系统的数据库的需求而言,由于其主要是用于信息的提供、保存、更新和查询等。因此,需要分析该系统功能所隐含的对数据应用的需求,从而确定数据库的结构。
(1)班级信息管理功能需要对班级信息建立数据表,其中的数据项可能包括班级编号、名称、等;
(2)学生信息管理,负责维录入学生的信息。其中的数据线可能包括学生好、姓名、性别、年龄、帐号、密码等
(3)事项表格管理,管理事项表格信息。其中的数据线可能包括指标名称、上传附件等
(4)活动记录管理,其中的数据线可能包括活动名称、加分分值、回复信息、学生名称、审核状态等
(5)需要系统管理员对该系统进行管理,因而需要建立管理员信息数据表,其中的数据项包括管理员ID、密码等。
第5章 详细设计与实现
5.1系统运行平台设置
本系统的运行平台设置分为硬件环境和软件环境。
5.2运行环境
1.硬件环境
系统的硬件环境配置为处理器Pentium III800,内存512M,硬盘1G。
2.软件环境
系统的软件环境配置为Windows XP操作系统,MYSQL3.0数据库,JDK1.5、MyEclipse3.1开发工具包和Tomcat6.0服务器。
5.3开发工具及技术简介
以下内容是对本系统所采用的开发工具和技术进行的简单介绍。
5.3.1开发工具简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的tigao工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。
在结构上,MyEclipse的特征可以分为7类:(1)J2EE模型;(2)WEB开发工具;(3)EJB开发工具;(4)应用程序服务器的连接器;(5)J2EE项目部署服务;(6)数据库服务;(7)MyEclipse整合帮助。
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
MYSQL3.0是一种采用T-SQL语言,基于C/S模式的关系型数据库管理系统。MYSQL3.0存储和管理数据有以下优点
(1)每个数据项都存储在中央位置,所有用户都可在这个位置使用它们;
(2)各个客户端上不单独存储数据项复本,从而消除了因用户不得不确保使用的信息相同所带来的麻烦。系统不需要确保使用当前值更新所有数据复本,因为中央位置仅有一个复本;
(3)可以在服务器上一次性定义业务和安全规则,并对所有的用户平等执行;
(4)可以在数据库内通过使用约束、存储过程和触发器来强制执行规则。还可在服务器应用程序中执行规则,因为这些应用程序也是许多客户端访问的中央资源;
(5)关系数据库服务器只返回应用程序所需要的数据,优化了网络liuliang;
(6)最大程度地降低硬件的成本,由于数据不是存储在每个客户端上,客户端不必耗费磁盘空间来存储数据。客户端无需在本地增加管理数据的功能,同时,服务器不需将处理能力耗费在显示数据上;
(7)可以配置服务器以优化检索数据所需的磁盘输入/输出容量,配置客户端以优化从服务器检索数据的格式;
(8)可以将服务器存储在一个相对安全的位置,并配备如不间断电源供应系统这样的设备,这比完全保护每个客户端更经济;
(9)维护任务(例如备份和恢复数据)得到简化,因为这些任务都可以集中在中央服务器上执行。
5.3.2技术简介
本系统采用MVC框架,MVC(Model-View-Controller)是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成3个核心:模型层、视图层和控制层,它们分别担负不同的任务。其中视图层向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。模型层表示业务数据和业务逻辑。控制层接收用户输入并调用模型和视图去完成用户的需求。
本系统需要用到的Java相关技术有jsp技术、servlet技术、jdbc技术、SSH框架。其中,关键的技术难点在于Struts技术的运用。Struts技术是基于MVC的Web应用框架。在Struts框架中,模型层由实现业务逻辑的JavaBean组件构成,控制层由ActionServlet和Action来实现,视图层由一组JSP文件构成。
5.4系统登录设计
要先使用本系统,必须先登录。界面设计如图3-1所示。
图3-1 登录界面
当用户输入用户名和密码后首先要进行身份验证,如果用户存在,则成功登录,反之,如果用户不存在,提示错误信息“输入的用户名或密码不存在,请注册”,返回登录界面重新输入用户名和密码。用户登录的程序流程图如图3-2所示。
图3-2 用户登录程序流程图
5.5各功能设计与实现
5.1.1班级信息管理设计与实现
1.实现目标
该功能实现对班级的统一管理,主要功能有班级信息的录入、修改、删除等操作,界面如。
图3-3 班级信息管理模块
2.实现过程
所属页面名:banjiMana.jsp
班级信息管理主要是使用banji_servlet中下的banjiAdd和banjiDel方法来删除和获取数据库中的数据。进入班级管理界面时通过banjiMana方法来显示所有班级的信息,点击删除时,通过findById方法获取指定的班级ID信息,使用sql语句进行操作。
5.1.2学生信息管理设计与实现
1.实现目标
该模块是对学生信息的管理,包括学生录入、查询、删除等操作,界面的设计如图3-14所示。
图3-4 学生管理模块
2.实现过程
所属页面名:stuMana.jsp
班级信息管理主要是使用stu_servlet中下的stuAdd和stuDel方法来删除和获取数据库中的数据。进入学生管理界面时通过stuMana方法来显示所有学生的信息,点击删除时,通过findById方法获取指定的学生信息,使用sql语句进行操作。
5.1.3事项表格管理设计与实现
1.实现目标
管理员负责事项表格信息的维护工作界面的设计如图3-5所示。
图3-5 事项表格管理模块
2.实现过程
所属页面名:wenjianMana.jsp
本模块主要是对事项表格信息进行管理,所以就是一些录入和删除操作,form表单接受指标的基本信息,后台的wenjian_serlvet调用不同的方法操作数据库。
5.1.4评价结果信息查看设计与实现
1.实现目标
学生登录系统后,对班级进行评价,管理员可以看到这些评价信息。界面的设计如图3-6所示。
图3-6 评价结果浏览模块
2.实现过程
所属页面名:huodongMana.jsp
在huodong_serlvet中,调用gonggaoMana方法从数据库提取所有的评价信息,然后页面调转到view层把这些信息显示出来。
5.1.5活动记录管理
1.实现目标
学生登录系统后,点击左面的菜单“活动记录提交”,页面调转到活动记录提交界面,然后根据各个指标项录入提交,点击保存按钮完成记录工作。界面的设计如图3-7所示。
图3-7 活动记录提交模块