: 用户1: 进入登录界面control数据库账号信息用户管理界面2: 传入login信息3: 连接数据库4: 查询账号信息5: 返回账号信息6: 验证账号信息7: 账号验证错误8: 账号验证正确
图3-11 用户登录顺序图
3.3.10用户管理
用户管理顺序图如下图所示,首先管理员登录系统,进入管理员管理主界面,点击用户管理之后,通过Control将相关的用户维护信息写入数据库,并返回相关的信息,并在用户列表中展示出更新的信息。
管理员主界面管理员 : 用户1: 登录用户管理界面Control数据库用户信息列表2: 提出管理用户申请3: 传入管理信息4: 连接数据库5: 返回状态6: 更新列表
图3-12 用户管理顺序图
3.3.11预约单审核
管理员登录系统进入教师管理主界面,点击填写预约单审核,通过Control层将相关的预约审核信息写入数据库,并返回更新信息,将相关的更新信息显示在预约单审核列表中。
数据库Control预约单审核管理员主界界面面管理员 : 用户1: 登录2: 提出预约单审核申请3: 传入审核信息4: 连接数据库5: 返回状态预约单列表6: 更新列表
图3-13 预约单审核顺序图
3.4 包图
计算机实验室管理系统包图设计如下图所示,分为三个包,分别为界面包(UI)、业务逻辑包(Control)和数据访问包(DAL)。界面包用来存放负责界面的一些类,如表单类,显示类等等。业务逻辑包用来存放一些中间逻辑处理的类,比如预约审核类,身份验证类等。数据访问包用来存放调用数据库需要用到的类。
UI 界面层 Control 业务逻辑层 DAL 数据访问层
图3-14 实验室管理系统包图
4.设计工作流
4.1 类图详细设计
类图详细设计如下图所示,定义一个用户抽象类,同时泛化出三个子类,分别为管理员类,教师类和学生类。用户类包括用户ID,用户登录密码,用户姓名,
用户年龄,用户电话号码等属性。管理员子类包括一个构造函数,教师子类包括一个职称属性以及构造函数和查询函数,学生子类包括班级属性以及构造函数和查询函数。一到多个用户对应一个管理类,管理类包括增加用户、修改用户、删除用户、增加实验室、修改实验室、删除实验室、增加设备、修改设备、删除设备等函数。一个管理类管理多个实验室类和多个设备类。实验室类包括实验室ID、实验室名字、实验室地点、实验室面积、实验室管理者、占用状态等属性。同时一个实验室类包含多个设备。设备类是一个抽象类,包含ID,名字、型号、所属实验室等属性,设备类泛化出两个子类分别为硬件类和软件类,硬件类又包含价格,数量属性,软件包含版本属性。
一个教师类和管理员类可以使用多个预约类,预约类包含ID,预约时间,预约地点,预约原因等属性,还包含预约审核和预约提交两个函数。一个教师类可以使用多个公告类,公告类包含id,实验课名,实验时间、实验地点,实验内容还包含公告发布函数,学生可以查看公告类的内容。此外还包括登录类和查询类。
图4-1 实验室管理系统类图详细设计
4.2 数据库设计
4.2.1 概念模型
用户分为三类,分别为实验室管理员、教师、学生。实验室管理员包含管理员编号,管理员姓名,登录密码,创建时间等属性,教师包括教师编号,教师姓名,登录密码,教师年龄,教师职称,手机号码,备注等属性,学生包括学生编号,学生姓名,登录密码,年龄,所属班级,备注等属性。
实验室包括实验室编号,实验室名,实验室地点,实验室机位,实验室面积等属性。一个管理员管理多个实验室。实验室软件包括软件编号,软件名,软件版本,软件价格,备注等属性。实验室硬件包括硬件编号,硬件名,硬件价格,硬件数量,备注等属性。一个实验室安装多个软件,一个实验室拥有多个实验室硬件。
使用预约单包括预约单编号,预约实验室编号,预约原因,预约时间,使用班级等,审批状态等属性。软件预装申请单包括预装单编号,预装实验室编号,软件名称,软件版本,备注等属性。设备损坏单包括,损坏设备编号,损坏时间,责任人,处理状态,备注。一个教师可以提交多个预装单、多个预约单以及多个设备损坏单,一个实验室管理员可以审核多个预装单、多个预约单以及多个设备损坏单。
上课公告包括编号,上课时间,课程名,上机课内容等属性,一个教师可以发布多个上课公告同时一个学生可以查看多个上课公告。
图4-1 概念模型设计
4.2.2 逻辑模型
逻辑模型设计如下图所示,实验室表中添加管理员的编号,预约单,预装单,设备损坏单中添加了申请教师编号和审核管理员编号。上课公告表中添加了教师编号和班级编号。实验室硬件和实验室软件表中增加了所属实验室的编号。
计算机实验室管理系统设计与实现



