广东海洋大学体育馆管理系统器材管理模块.docx
《广东海洋大学体育馆管理系统器材管理模块.docx》由会员分享,可在线阅读,更多相关《广东海洋大学体育馆管理系统器材管理模块.docx(51页珍藏版)》请在冰豆网上搜索。
广东海洋大学体育馆管理系统器材管理模块
广东海洋大学
《软件工程实践》课程报告
专业名称:
软件工程
班级:
软件班
学号:
姓名:
指导老师:
完成日期:
1需求规格设计
1.1.主页业务流程
1.1.1数据流程图
器材管理
1.2.各模块的功能需求
1.2.1.器材管理模块
1)器材购置新增
描述:
超级管理员或管理员登录系统后,可以新增器材。
2)器材信息修改
描述:
超级管理员或管理员登录系统后,可以对器材信息进行修改。
3)器材删除
描述:
超级管理员或管理员登录系统后,可以对器材进行删除。
4)器材查询
描述:
超级管理员或管理员和学生登录系统后,可以查询所有器材的信息。
5)器材外借
描述:
超级管理员或管理员登录系统后,可以进行器材外借操作。
6)器材回收
描述:
管理员登录系统后,可以进行器材收回操作。
7)器材租用收费标准设置
描述:
超级管理员登录系统后,可以对器材租用收费标准进行设置。
8)器材租用收费标准查询
描述:
超级管理员和学生登录系统后,可以对器材租用收费标准进行查询。
1.3.功能性需求描述
1.3.1器材管理模块业务流程
1.3.1.1.器材管理的主要用例模型
1.3.1.2.增加器材
用例规约:
用例名称:
增加器材
用例ID:
QCGL-1
角色:
超级管理员或管理员
用例说明:
超级管理员或管理员添加新器材。
前置条件:
超级管理员或管理员已经登录体育馆管理系统。
基本事件流:
1.超级管理员或管理员点击器材管理按钮。
2.系统弹出器材管理页面,点击添加器材按钮
3.系统弹出器材信息页面
4.超级管理员或管理员输入器材信息,包括器材名称、所在分类、数量、器材租借价格,并选择“保存”。
输入的器材信息格式要求。
5.系统保存新器材,并显示操作成功
其它事件流:
1、超级管理员或管理员输入的添加器材信息不完整或错误,如某一项没有填写,并选择“保存”,系统给出提示信息
2、超级管理员或管理员选择“重置”,系统清空器材信息页面的器材信息。
异常事件流:
1、系统保存新器材时出现系统故障,例如网络故障,服务器故障,系统弹出“系统异常页面”,提示管理员保存失败
后置条件:
新器材信息保存到系统中,系统返回器材信息查询页面,在页面中显示出刚新添加的器材
1.3.1.3.删除器材
用例规约:
用例名称:
删除器材
用例ID:
QCGL-2
角色:
超级管理员或管理员
用例说明:
超级管理员或管理员删除器材。
前置条件:
超级管理员或管理员已经登录体育馆管理系统
基本事件流:
1.超级管理员或管理员点击器材管理按钮。
2.系统弹出器材管理页面,点击删除器材按钮
3.体育馆管理系统弹出所有能删除的器材信息
4.管理员选中要删除的器材,并选择“删除”
5.管理员确认删除
6.系统删除管理员选中器材,提示删除成功
其它事件流:
1、管理员取消删除
异常事件流:
1、系统删除器材时出现系统故障,例如网络故障,服务器故障,系统弹出“系统异常页面”,提示管理员删除失败
后置条件:
将所删除的器材信息从数据库中删除
1.3.1.4.更新器材
用例规约:
用例名称:
更新器材
用例ID:
QCGL-3
角色:
超级管理员或管理员
用例说明:
超级管理员或管理员更新器材信息
前置条件:
超级管理员或管理员已经登录系统
基本事件流:
1.超级管理员或管理员点击器材管理按钮。
2.系统弹出器材管理页面,点击器材设置按钮
3.体育馆管理系统弹出所有能修改的器材信息
4.选择需要修改或恢复删除的器材,点击修改或恢复删除按钮
5.跳转到修改器材信息页面或恢复成功返回成功页面失败返回错误提示。
6.填写修改信息,点击保存。
7.系统保存修改或恢复的信息。
其它事件流:
1、管理员输入的新建器材信息错误,如某一项没有填写或不完整,并选择“保存”,系统给出提示信息
异常事件流:
1、系统保存新建器材时出现网络故障,服务器故障,,系统弹出“系统异常页面”,提示管理员保存失败
后置条件:
更新的器材信息保存到数据库
1.3.1.5.用户查询器材
用例规约:
用例名称:
查询器材
用例ID:
QCGL-4
角色:
用户
用例说明:
用户查看器材
前置条件:
用户已经登录系统
基本事件流:
1.点击器材租借按钮
2.系统弹出所有器材信息的页面
其它事件流:
异常事件流:
1.系统查询器材时出现网络故障,服务器故障,,系统弹出“系统异常页面”,提示用户查询器材失败
后置条件:
查询成功,跳回显示页面
1.3.1.6.管理员查询器材
用例规约:
用例名称:
查询器材
用例ID:
QCGL-5
角色:
超级管理员或管理员
用例说明:
超级管理员或管理员查看器材
前置条件:
超级管理员或管理员已经登录系统
基本事件流:
1.超级管理员或管理员选择查询器材
2.系统弹出器材信息查询页面
3.超级管理员或管理员输入信息进行全部查询
4.用户输入查询条件进行条件查询,选择“查询”
5.系统要进行查询条件信息格式的校验
6.查询时查询条件是“与”关系,输入的条件要都匹配才视为匹配信息。
7.系统显示符合查询条件的器材信息
其它事件流:
1、不输入任何条件,选择“查询”,系统返回所有的结果。
2、校验不通过,显示提示信息。
异常事件流:
1.系统查询器材时出现网络故障,服务器故障,,系统弹出“系统异常页面”,提示用户查询器材失败
后置条件:
查询成功,跳回显示页面
1.3.1.7.器材租借
用例规约:
用例名称:
器材租借
用例ID:
QCGL-5
角色:
用户
用例说明:
用户租借器材
前置条件:
用户已经登录系统。
基本事件流:
1.用户点击租借器材
2.系统弹出所有器材信息页面
3.用户选择所需要的器材点击“租借”按钮,确认租借的器材
4.系统弹出租借订单页面
5.用户填写租借信息,提交订单
6.系统保存订单。
其它事件流:
1.用户请求取消租借,操作结束,退出器材租借界面。
2.用户填写订单错误点击重置按钮,从新填写订单
异常事件流:
1、系统保存器材订单时出现系统故障,系统弹出“系统异常页面”,提示确认失败。
2、系统异常出错例如网络故障,服务器故障,,系统弹出“系统异常页面”,提示操作失败。
后置条件:
租借订单输入到数据库
1.3.1.8.器材消费
用例规约:
用例名称:
器材消费
用例ID:
QCGL-6
角色:
用户超级管理员或管理员
用例说明:
用户付费,超级管理员或管理员进行确认
前置条件:
超级管理员或管理员已经登录系统。
基本事件流:
1.用户请求付费操作
2.系统弹出消费支付页面,查询并统计用户订单
3.用户选择“支付”
4.用户选择“支付”,超级管理员或管理员确认
5.支付失败,返回重新支付
6.超级管理员或管理员确认消费成功,器材归还
其它事件流:
1、用户选择取消支付
异常事件流:
1、系统保存时出现系统故障,系统弹出“系统异常页面”,提示保存失败
后置条件:
消费信息存到数据库中
1.3.1.9.器材归还
用例规约:
用例名称:
器材归还
用例ID:
QCGL-7
角色:
用户、管理员
用例说明:
用户归还器材,管理员处理返还
前置条件:
用户、管理员已经登录系统
基本事件流:
1.用户归还器材
2.超级管理员或管理员器材管理页面的打卡结账按钮
3.系统弹出打卡结账页面
4.超级管理员或管理员,输入用户id查询租借订单
5.系统对用户要进行租借订单的查询
6.超级管理员或管理员确认归还,点击归还按钮
7.系统更新租借订单
其它事件流:
1、系统给出返还提示信息,用户可以查看核对归还状态
异常事件流:
1、系统查询用户信息失败,弹出“查询用户信息失败”,提示请重新输入用户信息
2、系统保存时出现系统故障例如网络故障,服务器故障,系统弹出“系统异常页面”,提示保存失败
后置条件:
返还信息存入到数据库
2数据建模设计
2.1发现业务对象——CRC分析
2.1.1.器材管理关键部分CRC表
表1GdouGym中的公共部分的CRC表
候选的关键抽象
显著相关的用例
UseCase
用例的职责
responsibility
协作者
collaborator
排除原因
是否选定为关键抽象
用户
新建用户
新用户在系统中注册
学生
是
管理员
是用户的特例
超级管理员
是用户的特例
表2:
GdouGym中的器材租借管理模块的CRC表
候选的关键抽象
显著相关的用例
UseCase
用例的职责
responsibility
协作者
collaborator
排除原因
是否选定为关键抽象
组织结构
赛事与赛事之间的关系
器材租借
新建租借订单
在系统中添加新的器材租借订单
用户
是
器材编号
是器材的一个属性
器材名称
是器材的一个属性
器材类型编号
是器材的一个属性
器材租借费用
是器材的一个属性
器材数量
是器材的一个属性
器材租借数量
是器材订单的一个属性
器材租借时间
是器材订单的一个属性
器材归还时间
是器材订单的一个属性
表3:
GdouGym中的添加器材管理模块的CRC表
候选的关键抽象
显著相关的用例
UseCase
用例的职责
responsibility
协作者
collaborator
排除原因
是否选定为关键抽象
添加器材
添加器材
在系统中建立一份新的器材信息
管理员
是
器材编号
是器材的一个属性
器材名称
是器材的一个属性
器材类型编号
是器材的一个属性
器材租借费用
是器材的一个属性
器材数量
是器材的一个属性
器材租借次数
是器材的一个属性
器材购买时间
是器材的一个属性
器材单价
是器材的一个属性
器材类型名称
是器材的一个属性
2.1.2提取关键抽象
2.1.2.1.器材管理部分
用户(user)
属性:
用户编号(uid)、用户名称(uName)、用户密码(uPassword)、用户邮箱(uEmal)、用户id卡号(uIdCard)、用户电话号码(uPhone)、注册日期(date)、用户状态(status)
管理员(admin)
属性:
管理员编号(aId)、管理员姓名(aName)、管理员密码(aPassword)、管理员电话号码(phone)、管理员身份证号(idCardNo)、出生日期(birthdate)、权限(power)、邮箱(email)、状态(status)、入职日期(aEntry)
器材(equipment)
属性:
器材编号(eId)、器材名称(eName)、购买时间(buyDate)、购买数量(buyCount)、器材类型编号(eTypeId)、器材类型名称(eTypeName)、器材单价(buyCost)、租借费用(eFee)、状态(Status)、租借次数(borrowCount)
器材订单(equipmentrent):
属性:
租借订单编号(eRentId)、器材编号(eId))、用户名称(uId)、租借数量(eRentCount)、租借时间(borrowBegin)、归还时间(borrowEnd)、状态(status)、租借费用(borrowFee)、器材名称(eName)
器材类型(equipmenttype):
属性:
器材类型编号(eTypeId)、器材类型名称(mName)
用类图表达
2.2创建域模型——CDM
2.2.1关键抽象分析
2.2.1.1对器材管理关键抽象进行分析
器材信息表
字段名称
描述
数据类型
字段大小
说明
pk
fk
Eid
器材编号
varchar
20
notnull
yes
Ename
器材名称
varchar
50
Notnull
Buydate
购进日期
datetime
0
Null
Buycount
剩余数量
varchar
50
Notnull
Buycost
购进单价
varchar
50
Null
Efee
租借单价
varchar
50
Notnull
Borrowcount
租借次数
varchar
50
Notnull
Status
状态
varchar
50
NotNull
Etypeid
类型编号
varchar
20
Null
Etypename
类型名称
varchar
50
null
器材订单表
字段名称
描述
数据类型
字段大小
说明
pk
fk
Erentid
订单编号
varchar
15
notnull
yes
Eid
器材编号
varchar
50
Notnull
Uid
用户编号
varchar
50
Notnull
Erentcount
租借数量
varchar
50
Notnull
Borrowbegin
开始时间
datetime
0
Notnull
Borrowend
结束时间
datetime
0
Notnull
Borrowfee
租借费用
varchar
50
Notnull
Status
状态
varchar
50
Notnull
Ename
器材名称
varchar
50
Notnull
器材类型表
字段名称
描述
数据类型
字段大小
说明
Pk
Fk
Etypeid
类型编号
varchar
20
notnull
yes
Etypename
类型名称
varchar
50
Notnull
2.2.2各模块域模型
2.2.2.1器材管理“域模型”
2.3创建E-R模型
2.3.1器材部分的E-R模型
2.4.设计元素的映射
2.4.1器材管理模块
模块名
分析类名称
分析类类型
映射到架构上的设计类名称
设计类类型
器材管理模块
主页面
边界类
index.jsp
JSP页面
add
边界类
add.jsp
JSP页面
delete
边界类
delete.jsp
JSP页面
index
边界类
index.jsp
JSP页面
reserve
边界类
reserve.jsp
JSP页面
punchcard
边界类
punchcard.jsp
JSP页面
setting
边界类
setting.jsp
JSP页面
editequipment
边界类
editequipment.jsp
JSP页面
exception
边界类
error.jsp
JSP页面
equipmentAction
控制类(新增器材)
equipmentAction.java
Action
<>equipmentService.java中的方法:
addEquipment()
业务接口:
equipmentService
控制类(删除器材)
equipmentAction.java
Action
<>equipmentService.java中的方法:
delEquipment()
业务接口:
equipmentService
控制类(修改器材)
equipmentAction.java
Action
<>equipmentService.java中的方:
alterEquipment()
业务接口:
equipmentService
控制类(查询器材信息)
equipmentAction.java
Action
<>equipmentService.java中的方;queryEquipment()
业务接口:
equipmentService
控制类(租借器材)
equipmentAction.java
Action
<>equipmentService.java中的方法:
()
业务接口:
equipmentService
控制类(归还器材)
equipmentAction.java
Action
<>equipmentService.java中的方法:
()
业务接口:
equipmentService
equipmentServiceImp.java
业务接口的实现类
equipment
实体类
QCGLDao.java
DAO组件
equipment.java
PO值对象
Hibernate.cfg.xml
连接数据库
其它类
公共类;
样式文件;
JS文件;
配置文件;
2.5.包图
2.5.1“器材管理”模块的包设计
1、页面包名称:
“jsp(equipment)”;
2、css包名称:
“css(equipment)”;
3、js包名称;“js”;
4、Action包名称:
“admin.action,user.action”,其中有本模块的所有Action类;
5、业务逻辑包名称:
“ admin.service,user.service”,和实现类“admin.service.impl,user.service.impl””
7、数据访问包:
“user.dao、admin.dao”,其中有DAO类“EquipmentDao”
8、公共包名称:
“util”。
总包图:
界面层:
页面控制层:
数据访问层:
调用关系图:
2.6.部分核心代码
Struct2的配置代码
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
/equipment/index.jsp
/login.jsp
/error.jsp
/equipment/rent.jsp
/login.jsp
/error.jsp
/success.jsp
/login.jsp
/error.jsp
/admin/equipment/index.jsp
/admin/index.jsp
/admin/equipment/reserve.jsp
/admin/index.jsp
/admin/equipment/reserve.jsp
/admin/index.jsp