https://www.bilibili.com/video/BV1UQ4y1775x/
1.1 演示视频:第4章 总体设计
4.1 系统模块总体设计
利用层次图来表示系统中各模块之间的关系。层次方框图是用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个数据的子集,最底层的各个矩形框代表组成这个数据的实际数据元素(不能再分割的元素)。随着这种结构的精细化,层次方框图对数据结构也描绘得越来越详细,这种模式非常适合于需求分析阶段的需要。从对顶层开始,沿着图中每条路径反复细化,直到确定了数据结构的全部细节为止。
本系统一共分为管理员模块、学生模块,各个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。依据上述功能分析,系统在两个模块的基础上每一个模块又分为几个模块。
1.管理员功能模块:
(1)系统管理员管理整个系统,包括公司老师信息的管理、学生信息的管理、评价指标管理、评价查看管理等。
(2)老师信息的管理,录入老师信息,浏览管理已经录入的老师信息,对于过期的老师信息予以删除。
(3)学生信息管理,录入学生的基本信息,浏览管理已经录入的学生信息,对于错误的学生信息予以删除或者更新。
(4)评价指标管理,要想评价老师,必须有评价指标,管理员负责维护这些评价指标信息。
(5)评价结果浏览,学生登录系统后,选择老师进行评价,评价完毕后,管理员登录系统,可以浏览学生对老师的评价信息 。
(6)修改密码功能,为了保证系统的安全性,管理员可以修改自己的密码
(7)系统管理,管理员可以添加普通管理员,用于协助管理本系统。
管理员模块功能结构图如图3-1所示。
图3-1 系统管理员用户功能结构图
2.学生模块:
(1)评价老师,学生登录系统后可以选择在线评价老师教学质量,首先选择老师,然后选择分数,点击保存按钮,如果该学生对这个老师已经评价过,系统提示已经评价。不能进行重复评价
学生功能结构图如图3-2所示。
图3-2 学生模块结构图
4.2 数据库设计
对于一个管理系统而言,为了支持较大的访问量,带来的数据访问需求,使用桌面型的数据库管理系统是不能满足需要的,而且安全性也没有充分保障。因此,需要使用大型商业化企业级服务用途的数据库管理系统,如SQL Server,Oracle等。本系统采用MYSQL3.0数据库管理系统。
4.2.1 数据分析
对于本系统的数据库的需求而言,由于其主要是用于信息的提供、保存、更新和查询等。因此,需要分析该系统功能所隐含的对数据应用的需求,从而确定数据库的结构。
(1)老师信息管理功能需要对老师信息建立数据表,其中的数据项可能包括老师编号、姓名、性别、年龄等;
(2)学生信息管理,负责维录入学生的信息。其中的数据线可能包括学生好、姓名、性别、年龄、帐号、密码等
(3)评价指标管理,管理评价指标信息。其中的数据线可能包括指标名称、分数等
(4)评价结果浏览,学生评价完毕老师后。管理员可以浏览对老师的评价信息,其中的数据线可能包括指标名称、分数、老师编号、学生学号、评价时间等
(5)需要系统管理员对该系统进行管理,因而需要建立管理员信息数据表,其中的数据项包括管理员ID、密码等。
4.2.2 数据库的详细设计
在设计数据库时,应考虑以下事项
(1)数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划;
(2)数据库规范化规则,防止数据库设计中出现错误;
(3)对数据完整性的保护;
(4)数据库和用户权限的安全要求;
(5)应用程序的性能需求,设计数据库时必须利用 MYSQL3.0 中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的;
(6)数据库维护。
数据库E-R如图3-4所示。
图3-4 数据库E-R图
根据此评价管理系统的实际情况,本系统的数据库命名为db_pingjia,db_ pingjia数据库中共分为6张数据表。
第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的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的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)关系数据库服务器只返回应用程序所需要的数据,优化了网络流量;
(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.实现过程
所属页面名:teaMana.jsp
老师信息管理主要是使用tea_servlet中下的teaAdd和teaDel方法来删除和获取数据库中的数据。进入老师管理界面时通过teaMana方法来显示所有老师的信息,点击删除时,通过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.实现过程
所属页面名:zhibiaoMana.jsp
本模块主要是对评价指标信息进行管理,所以就是一些录入和删除操作,form表单接受指标的基本信息,后台的zhibiao_serlvet调用不同的方法操作数据库。
5.1.4 评价结果信息查看设计与实现
1.实现目标
学生登录系统后,对老师进行评价,管理员可以看到这些评价信息。界面的设计如图3-6所示。
图3-6 评价结果浏览模块
2.实现过程
所属页面名:pingjiaMana.jsp
在pingjia_serlvet中,调用gonggaoMana方法从数据库提取所有的评价信息,然后页面调转到view层把这些信息显示出来。
5.1.5 评价老师设计与实现
1.实现目标
学生登录系统后,点击左面的菜单“评价老师”,页面调转到评价老师界面,首先选择老师,然后根据各个指标项录入分数,点击保存按钮完成评价工作。界面的设计如图3-7所示。
图3-7 学生评价老师模块
2.实现过程
所属页面名:pingjiaAdd.jsp
在评价老师的的JSP页面,form表单负责收集具体 的评价信息,首先是选择老师,这个地方为了方便,调用js的showModelDialog方法,弹出模态窗口。点击submit按钮发送请求给后台的java类pingjia_serlvet,调用pingjiaAdd方法把各项数据保存到数据库。