https://www.bilibili.com/video/BV1Z94y1c73N/
演示视频:
3.1 用例分析
用例是从用户和业务的角度来描述系统提供需要执行的功能。下面列出了本系统主要的用例:
(1)学籍管理子系统管理在校学生的一些基本信息。学院,年级,班级,学号。
(2)老师管理子系统管理任课教师的一些基本信息。
(3)排课子系统
根据老师,教室以及课程,时间段,科目等进行排课,并生成课表。
(4)选课子系统
学生根据排课选取自己适合自己的课生成课表。
(5)综合素质管理子系统
老师登记综合素质,学生查询综合素质,并排名。
(6)系统管理子系统
系统管理子系统包括系统用户管理和系统日志管理,管理员可以对用户进行管理,可以查看用户信息,添加、删除用户。
(7)教室管理功能。管理员可以修改教室的状态为可预订或者不可预订,也可以增加、删除教室,修改教室信息。
(8)毕业生学位资格审核子系统,通过绩点计算高于2.0授予学位证。
3.2 用例建模
用例模型描述的是外部执行者(Actor)所理解的系统功能。它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。在需求分析阶段,可以用用例来捕获用户需求,以描述对系统感兴趣的外部角色及其对系统(用例)的功能要求。
3.2.1 标识参与者
参与者是指系统的分类用户,分别代表一个唯一的角色。对本系统来说,存在相互联系如下3类用户:
管理员:管理员可以进行教师管理,学生管理,教室管理,课程管理,排课管理,日志管理,系统管理等功能
教师:教师可以给学生设置综合素质。
学生:学生可以选课,查看综合素质
3.2.2 用例图
用例图(Use Case)是参与者(系统外部用户)所能观察到的系统功能的模型图,它描述参与者与系统提供的用例之间的某种联系。用例图就是从参与者的角度描述出系统中的用例和参与者,以及用例与参与者之间的关系(哪个参与者参与了哪个用便的执行).根据上面的用例分析,得到系统的用例图如下面2张图所示:
图3-1管理员用例图
图3-2教师用例图
图3-3学生用例图
所有用户都包括用户登录和注销这两个用例,图中未画出。
3.3.1 边界类
在系统模型中,边界类表示系统内部工作方式与其周围环境之间的各种交互作用。包括:通过图形化用户界面与用户交互,与其他参与者交互(如代表其他系统的参与者),与设备通信等。使用边界类的优点之一是:它们可以把系统的其余部分与外界环境隔离和屏蔽起来(见表3.1)。
表3.1系统边界类
边界类名称
边界类职责
登录页面
允许用户输入有效的帐号和密码,检验用户身份
注销页面
允许用户退出系统
用户添加页面
教师添加用户信息
用户管理页面
教师管理用户信息
系统管理
用于系统管理
排课管理
排课管理
选课管理
学生选课
综合素质管理
综合素质设置
教室管理
教师管理
日志管理
日志管理
3.3.2 实体类
实体对象表示对系统的重要信息。它们通常是持久的,并能在一个延续的时期内存在。它们的主要的目的是表示和管理系统内的信息。实体类通常表示为一种逻辑的数据结构(见表3.2)。
表3.2系统实体类
实体类名称
实体类属性
用户基本信息
用户名、密码,类别综合素质,编号
课程表
第几周第几节课程,教师
教室
教室编号,教室名称
日志
系统日志
基本信息
院系专业班级等基本信息
3.3.3 控制类
控制类用于系统内的模型行为,用于对某一个具体的用例相关的控制或者其他业务逻辑建模。通常将协调、排序等事物处理或者涉及多个对象的复杂事务逻辑隔离在一个或多个控制类中(见表3.3)。
表3.3系统控制类
控制类名称
控制类职责
用户管理控制类
控制对用户的操作,只要是登入和用户的增删改查
日志控制类
控制对日志的操作,主要是增删改查
课程表控制类
控制对课程的操作,主要是增删改查
教室控制类
制对教室的操作,主要是增删改查
基本信息控制类
对基本信息的管理
4 系统设计
3.1 体系结构设计
一个体系就是各部分一起定义整个系统的蓝图:结构,接口和通信技术。使用体系结构有这样一些意义:
(1) 软件分解成更小的块,有助于理解、管理、开发和维护软件;
(2) 软件体系结构可以帮助基于组件开发;
(3) 使用被验证的体系结构,便于管理软件的性能和保证质量;
(4) 通过正确的体系结构可以更好地实现重用性;
(5) 正式的体系结构会使系统很脆弱,难以升级和实现收缩,等等。
本系统采用MVC(Modet-View-Control)[2]的模式来设计系统结构并利用JSP/Servlet的技术来实现。本着业务逻辑和表现逻辑分离,对系统资源进行合理有效管理,优化系统性能的指导思想,设计总体框架如图3-1所示。
图3-1采用MVC设计模式的J2EE框架
系统的各组成部分如下:
(1) 客户层:在本系统中主要是Web浏览器。
(2) web层:所有的用户界面的开发和简单的业务逻辑都在这层得到实现。考虑到JSP能够嵌人HTML中,开发容易和产生的用户界面灵活等优点,故本系统采用 JSP实现用户界面,而简单的业务逻辑一般都由Servlet来开发,响应用户的查询等请求并调用业务逻辑层的JavaBean组件来实现复杂的业务逻辑。
(3) 业务逻辑层:这一层主要由EJB组件的开发来实现。会话Bean的主要任务是处理商务逻辑,客户端交互,返回给它计算结果等:而实体Bean的主要任务是表达数据库中的数据,用来完成据库的访问。实体Bean是通过JDBC访问数据库,完成记录插入、查找和删除等操作。
(4) 数据层:负责数据的存储管理、安全性管理和完整性管理等各种数据库服务,存放系统中的持久性的数据信息。
系统采用浏览器服务器模型(Browser/Server)。一般的,客户通过浏览器发送HTTP请求给服务器端Web服务器,Web服务器接收该请求并且进行相应处理,然后将处理后的结果返回到客户的浏览器中。在客户端,浏览器中呈现的正是该系统的视图部分。
系统将很好地结合使用JSP与Servlet,由JSP把用户提出的httpRequest送达Servlet, Servlet根据请求的类型不同分别进行不同的处理,选择不同的操作模块,具体地说比如说对数据库的读写更新查询操作等,Servlet处理完这些比较复杂的请求之后,选定JSP页面把最后的结果回应给使用者,此时的JSP就只是起到了视图的作用,并不做逻辑上运算只是将控制器方面传过来的资料展示给用户而己。
系统中的业务层中主要是JavaBean组件,它们负责接收由servlet传来的请求并对此进行处理,比如连接数据库执行查询等操作,JavaBean组件称为系统的模型 (Model)。
3.2 系统功能设计
3.2.1 功能模块划分
综合素质管理平台是一个综合性的应用系统,它包含一个教育系统的很多方面,这些方面不是孤立的而是相互联系的。本综合素质管理平台作为教学的一个重要支撑平台。整个系统的功能结构如图3-2所示。
图3-2系统功能结构图
3.3 数据库设计
3.3.1 数据库设计原则
(1)一致性原则
对信息进行统一、系统的分析与设计,协调好各数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。
(2)完整性原则
数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。
(3)安全性原则
数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏.要有认证和授权机制。
(4)可伸缩性原则
数据库结构的设计应充分考虑发展的需要、移植的孺要,具有良好的扩展性、伸缩性和适度冗余。
(5)规范化
数据库的设计应遵循规范化理论,规范化程度过低的关系,可能会存在插入、删除异常、修改复杂、数据冗余等问题,解决的方法就是对关系模式进行分解或合并(A范化),转换成高级范式。规范化一共有六个级别:1NF, 2NF, 3NF. BCNF, 4NF, 5NF。但也应当注意到,并不是规范化程度越高的关系就越好,在具体应用时,到底规范化进行到什么程度需要权衡利弊。一般而言,做到第三范式(3NF)就足够了。
3.3.3 ER图