广东海洋大学
《软件工程实践》课程报告
专业名称:—
班 级:学 号:姓 名:
软件工程
软件 班
指导老师: 完成日期:
;
1需求规格设计
.主页业务流程
数据流程图
^
器材管理
.各模块的功能需求
器材管理模块
1) 器材购置新增
描述:超级管理员或管理员登录系统后,可以新增器材。 2) 器材信息修改
¥
描述:超级管理员或管理员登录系统后,可以对器材信息进行修改。 3) 器材删除
描述:超级管理员或管理员登录系统后,可以对器材进行删除。
4) 器材查询
描述: 超级管理员或管理员和学生登录系统后,可以查询所有器材的信息。 5) 器材外借
描述:超级管理员或管理员登录系统后,可以进行器材外借操作。 6) 器材回收
|
描述:管理员登录系统后,可以进行器材收回操作。 7) 器材租用收费标准设置
描述:超级管理员登录系统后,可以对器材租用收费标准进行设置。 8) 器材租用收费标准查询
描述:超级管理员和学生登录系统后,可以对器材租用收费标准进行查询。
.功能性需求描述
器材管理模块业务流程
.
.器材管理的主要用例模型
.增加器材
用例规约: 用例名称: 》 增加器材 用例ID: 角色: 用例说明: 前置条件: QCGL-1 超级管理员或管理员 超级管理员或管理员添加新器材。 。 超级管理员或管理员已经登录体育馆管理系统。 基本事件流: 1. 超级管理员或管理员点击器材管理按钮。 2. 系统弹出器材管理页面,点击添加器材按钮 3. 系统弹出器材信息页面 4.超级管理员或管理员输入器材信息,包括器材名称、所在分类、数量、器材租借价格,并选择“保存”。 输入的器材信息格式要求。 5.系统保存新器材,并显示操作成功 其它事件流: 、 1、超级管理员或管理员输入的添加器材信息不完整或错误,如某一项没有填写,并选择“保存”,系统给出提示信息 2、超级管理员或管理员选择“重置”,系统清空器材信息页面的器材信息。 异常事件流: 1、系统保存新器材时出现系统故障,例如网络故障,服务器故障,系统弹出“系统异常页面”,提示管理员保存失败 后置条件: 新器材信息保存到系统中,系统返回器材信息查询页面,在页面中显示出刚新添加的器材
.删除器材
`
用例规约:
用例名称: 用例ID: 角色: 删除器材 QCGL-2 - 超级管理员或管理员 用例说明: 前置条件: 超级管理员或管理员删除器材。 超级管理员或管理员已经登录体育馆管理系统 基本事件流: 1. 超级管理员或管理员点击器材管理按钮。 2. 系统弹出器材管理页面,点击删除器材按钮 | 3. 体育馆管理系统弹出所有能删除的器材信息 4. 管理员选中要删除的器材,并选择“删除” 5. 管理员确认删除 6. 系统删除管理员选中器材,提示删除成功
其它事件流: 1、管理员取消删除 异常事件流: 1、系统删除器材时出现系统故障,例如网络故障,服务器故障,系统弹出“系统异常页面”,提示管理员删除失败 】 将所删除的器材信息从数据库中删除 后置条件:
.更新器材
用例规约:
用例名称: ) 更新器材 用例ID: 角色: QCGL-3 超级管理员或管理员
用例说明: 前置条件: 超级管理员或管理员更新器材信息 ' 超级管理员或管理员已经登录系统 基本事件流: 1. 超级管理员或管理员点击器材管理按钮。 2. 系统弹出器材管理页面,点击器材设置按钮 3. 体育馆管理系统弹出所有能修改的器材信息 4. 选择需要修改或恢复删除的器材,点击修改或恢复删除按钮 5. 跳转到修改器材信息页面或恢复成功返回成功页面失败返回错误提示。 6. 填写修改信息,点击保存。 # 7. 系统保存修改或恢复的信息。 其它事件流: 1、管理员输入的新建器材信息错误,如某一项没有填写或不完整,并选择“保存”,系统给出提示信息 ,系统弹出“系统异异常事件流: 1、系统保存新建器材时出现网络故障,服务器故障,常页面”,提示管理员保存失败 后置条件:
\\
更新的器材信息保存到数据库
.用户查询器材
用例规约:
用例名称: 用例ID: 查询器材 # QCGL-4 角色: 用例说明: 前置条件: 基本事件流: 用户 用户查看器材 用户已经登录系统 《 1.点击器材租借按钮 2.系统弹出所有器材信息的页面 其它事件流: 服务器故障,,系统弹出“系统异常页面”,异常事件流: 1.系统查询器材时出现网络故障,提示用户查询器材失败
后置条件:
查询成功,跳回显示页面
.管理员查询器材
用例规约:
用例名称: 用例ID: 查询器材 : QCGL-5 角色: 超级管理员或管理员
用例说明: 前置条件: 基本事件流: 超级管理员或管理员查看器材 超级管理员或管理员已经登录系统 @ 1.超级管理员或管理员选择查询器材 2.系统弹出器材信息查询页面 3.超级管理员或管理员输入信息进行全部查询 4.用户输入查询条件进行条件查询,选择“查询” 5.系统要进行查询条件信息格式的校验 6.查询时查询条件是“与”关系,输入的条件要都匹配才视为匹配信息。 7.系统显示符合查询条件的器材信息 其它事件流: ( 1、不输入任何条件,选择“查询”,系统返回所有的结果。 2、校验不通过,显示提示信息。 服务器故障,,系统弹出“系统异常页面”,异常事件流: 1.系统查询器材时出现网络故障,提示用户查询器材失败 后置条件:
查询成功,跳回显示页面 .器材租借
<
用例规约:
用例名称: 用例ID: [器材租借 QCGL-5 用户 角色: 用例说明: 前置条件: 用户租借器材 用户已经登录系统。 基本事件流: 1. 用户点击租借器材 ) 2. 系统弹出所有器材信息页面 3. 用户选择所需要的器材点击“租借”按钮,确认租借的器材 4. 系统弹出租借订单页面 5. 用户填写租借信息,提交订单
6. 系统保存订单。 其它事件流: 1.用户请求取消租借,操作结束,退出器材租借界面。 2.用户填写订单错误点击重置按钮,从新填写订单 [ 异常事件流: 1、系统保存器材订单时出现系统故障,系统弹出“系统异常页面”,提示确认失败。 2、系统异常出错例如网络故障,服务器故障,,系统弹出“系统异常页面”,提示操作失败。 后置条件:
租借订单输入到数据库 .器材消费
'
用例规约:
用例名称: 用例ID: 角色: 器材消费 QCGL-6 《 用户 超级管理员或管理员 用例说明: 前置条件: 用户付费,超级管理员或管理员进行确认 超级管理员或管理员已经登录系统。 基本事件流: 1. 用户请求付费操作 2. 系统弹出消费支付页面,查询并统计用户订单 > 3. 用户选择“支付” 4. 用户选择“支付”,超级管理员或管理员确认 5. 支付失败,返回重新支付 6. 超级管理员或管理员确认消费成功,器材归还 其它事件流: 1、用户选择取消支付 异常事件流: 1、系统保存时出现系统故障,系统弹出“系统异常页面”,提示保存失败 : 消费信息存到数据库中 后置条件:
.器材归还
用例规约:
@ 器材归还 用例名称: 用例ID: 角色: 用例说明: |QCGL-7 用户、管理员 用户归还器材,管理员处理返还 用户、管理员已经登录系统 前置条件: 基本事件流: 1. 用户归还器材 2. 超级管理员或管理员器材管理页面的打卡结账按钮 3. 系统弹出打卡结账页面 4. 超级管理员或管理员,输入用户id查询租借订单 5. 系统对用户要进行租借订单的查询 \\ 6. 超级管理员或管理员确认归还,点击归还按钮 7. 系统更新租借订单
其它事件流: 异常事件流: 1、系统给出返还提示信息,用户可以查看核对归还状态 1、系统查询用户信息失败,弹出“查询用户信息失败”,提示请重新输入用户信息 2、系统保存时出现系统故障例如网络故障,服务器故障,系统弹出“系统异常页面”,提示保存失败 后置条件: — 返还信息存入到数据库
2数据建模设计
发现业务对象——CRC分析
器材管理关键部分CRC表
表1 GdouGym中的公共部分的CRC表
~ 显著相关的用用例的职责 例 UseCase responsibility 协作者 collaborator 排除原因 · 候选的关键抽象 是否选定为关键抽象 用户 新建用户 新用户在系统中学生 注册 是 管理员 < 是用户的特例 超级管理员 · 是用户的特例
表2:GdouGym中的器材租借管理模块的CRC表
候选的关显著相关的用用例的职责 键抽象 例 —协作者 collaborator 排除原因 是否选定为关键抽象 responsibility UseCase 组织结构 \" 赛事与赛事之间的关系 器材租借 新建租借订单 在系统中添加新的器材租借订单 ~ 是 用户 是器材的一个属性 ) 器材编号 器材名称 是器材的一个属性 器材类型编号 ~ 是器材的一个属性 器材租借费用 , 是器材的一个属性 器材数量 是器材的一个属性 《 器材租借 数量 器材租借时间 [ 是器材订单的一个属性 是器材订单的一个属性 器材归还时间
\\ 是器材订单的一个属性
表3:GdouGym中的添加器材管理模块的CRC表
候选的关显著相关的用用例的职责 键抽象 例 ¥协作者 collaborator 排除原因 是否选定为关键抽象 responsibility UseCase 添加器材 | 在系统中建立一管理员 份新的器材信息 是 添加器材 器材编号 ; 是器材的一个属性 器材名称 是器材的一个属性 & 器材类型编号 器材租借费用 是器材的一个属性 * 是器材的一个属性 器材数量 \" 是器材的一个属性 器材租借次数 是器材的一个属性 & 器材购买时间 器材单价 是器材的一个属性 | 是器材的一个属性
器材类型名称 】 是器材的一个属性
提取关键抽象 .器材管理部分
用户(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)
¥
用类图表达
创建域模型——CDM
关键抽象分析
对器材管理关键抽象进行分析
}
器材信息表
字段名称 $描述 器材编号 数据类型 字段大小 说明 varchar 20 pk fk not null yes
Eid > varchar 、Ename 器材名称 50 Not null 0 ;Buydate 购进日期 datetime Null Not null ,Buycount 剩余数量 varchar 50 ~ Buycost 购进单价 varchar 50 Null Efee 租借单价 varchar 50 Not null … Borrowcount Status Etypeid 租借次数 状态 varchar varchar 50 50 Not null Not Null 类型编号 &varchar 20 Null varchar 50 null Etypename
%
类型名称
器材订单表
字段名称 *描述 订单编号 数据类型 字段大小 说明 varchar 15 pk fk not null yes
Erentid ; varchar (Eid 器材编号 50 Not null 50 }Uid 用户编号 varchar Not null Not null *Erentcount 租借数量 varchar 50 Borrowbegin 开始时间 datetime 0 Not null 《 Borrowend 结束时间 datetime 0 Not null ^ Borrowfee Status '租借费用 状态 varchar varchar 50 50 Not null Not null 器材名称 varchar 50 Not null Ename
^
器材类型表 字段名称 &描述 数据类型 字段大小 说明 Pk Fk 类型编号 )Etypeid varchar 20 not null yes varchar 50 Not null Etypename
类型名称
各模块域模型
,
器材管理 “域模型”
创建E-R模型
器材部分的E-R模型
、
. 设计元素的映射
器材管理模块
模块名 分析类名称 分析类类型 边界类 映射到架构上的设计类名称 —设计类类型 JSP页面 主页面 、 add 边界类 边界类 JSP页面 JSP页面 … : delete index 器材管理模块 reserve punchcard 边界类 JSP页面 JSP页面 JSP页面 边界类 '
边界类 setting editequipment 边界类 边界类 边界类 exception ) { JSP页面 JSP页面 JSP页面 ~ Action 业务接口:equipmentService Action 业务接口:equipmentService Action 业务接口:equipmentService 】控制类(新增器材) < 器材) \\ 业务接口:equipmentService 业务接口的实现类 DAO组件 :< .包图 、 器材管理”模块的包设计 1、页面包名称:“jsp(equipment)”; 2、css包名称:“css(equipment)”; 3、js包名称;“js”; 4、Action包名称:“,”,其中有本模块的所有Action类; 5、业务逻辑包名称:“ ,”,和实现类“、数据访问包:“、” ,其中有DAO类“EquipmentDao” 8、公共包名称:“util”。 * 总包图: 界面层: ¥ 页面控制层: admin.action+AdminAction+AdminLoginAction+EquipmentAction+GroundAction+LogoutAction+MatchAction+NoticeAction+PersonerAction+ReportAction 数据访问层: dao+AdminDao+EquipmentDao+EquipmenRentDao+FinancialDao+GroundbookDao+GroundDao+MatchDao+NoticeDao+UserDao , 调用关系图: model+AdminModel+EquipmentMentModel+EquipmentMentRentModel+EquipmentTypeModel+FinancialModel+GroundBookModel+GroundModel+MatchModel+MatchBookModel+NoticeModel+Page dao.impl+AdminDaoImpl+EquipmentDaoImpl+EquipmenRentDaoImpl+FinancialDaoImpl+GroundbookDaoImpl+GroundDaoImpl+MatchDaoImpl+NoticeDaoImpl+UserDaoImpl .部分核心代码 Struct2的配置代码 \"-细设计 、器材管理模块 文件列表及存放路径 名称 … 映射到架构上的设计类名称 说明 设计类类型 JSP页面 WebRoot/admin/ 管理员、超级管理员二级权限用户登录 添加器材页面,超级管理主页面 #add JSP页面 JSP页面 WebRoot/admin/equipment/ 员或管理员添加器材并填写器材信息 WebRoot/admin/equipment/ 删除器材界面,超级管理员或管理员可删除器材 器材管理界面,显示所有delete # WebRoot/admin/equipment/ 器材信息,超级管理员或管理员可以跳转到具体的器材管理功能页面 index JSP页面 reserve JSP页面 WebRoot/admin/equipment/ 查询预约界面,显示所有租借器材订单 超级管理员或管理员界punchcard 。JSP页面 setting JSP页面 WebRoot/admin/equipment/ 面,可以租借器材,回收器材信息和确认支付 器材设置页面,超级管理WebRoot/admin/equipment/ 员或管理员恢复删除的器材或点击修改进入下一页面 ~ 修改器材页面,超级管理editequipment JSP页面 JSP页面 ;WebRoot/admin/equipment/ 员或管理员修改器材信息 WebRoot/admin/ 异常页面 exception addEquipment控制类 Action Java类 Java类 (< 制类 Java类 Java类 ;< Java类 > 其它类 连接数据库 公共类; 公共类; 样式文件; JS文件; 配置文件; 样式文件; JS文件; ¥ 配置文件; 数据库详细设计 器材信息表 《 pk #字段名称 描述 数据类型 字段大小 说明 fk ; Eid 器材编号 varchar 20 not null yes Ename Buydate '器材名称 购进日期 varchar 50 Not null Null datetime 0 剩余数量 {Buycount varchar 50 Not null varchar :Buycost 购进单价 50 Null 50 ,Efee 租借单价 varchar Not null Not null .Borrowcount 租借次数 varchar 50 Status 状态 varchar 50 Not Null ; Etypeid 类型编号 varchar 20 Null 》 Etypename 类型名称 varchar 50 null 器材订单表 《 fk — 字段名称 描述 数据类型 字段大小 说明 pk Erentid Eid $订单编号 器材编号 varchar varchar 15 50 not null yes Not null 用户编号 ¥Uid varchar 50 Not null varchar —Erentcount 租借数量 50 Not null 0 `Borrowbegin 开始时间 datetime Not null Not null ^Borrowend 结束时间 datetime 0 Borrowfee 租借费用 varchar 50 Not null & Status Ename 状态 器材名称 varchar varchar 50 50 Not null ] Not null 器材类型表 : Fk % 字段名称 描述 数据类型 字段大小 说明 Pk Etypeid Etypename ; 类型编号 类型名称 varchar varchar 20 50 not null yes Not null 功能实现逻辑 .新增器材 (a) 功能描述:超级管理员新增器材 (b) 操作顺序: — 添加器材操作顺序图.oom 系统执行逻辑设计: 添加器材1.oom 通信图: ~ 删除器材 功能描述:管理员删除器材。 操作顺序: 删除器材操作顺序图.oom 系统执行逻辑设计: … 删除器材1.oom 通信图: 删除器材2.oom 修改器材 功能描述:管理员修改器材信息。 : 操作顺序: 修改器材操作顺序图.oom 系统执行逻辑设计: % 修改器材1.oom 通信图: 修改器材2.oom 器材查询 功能描述:管理员、超级管理员查询器材。 操作顺序: ^ 查询器材操作顺序图.oom 系统执行逻辑设计: 查询器材1.oom 通信图: - 查询器材2.oom 外借器材 功能描述:管理员外借器材。 操作顺序: 租借器材操作顺序图.oom | 系统执行逻辑设计: 外借器材1.oom 通信图: 外借器材2.oom 回收器材 ) 功能描述:管理员回收器材。 操作顺序: 回收器材操作顺序图.oom 系统执行逻辑设计: # 器材回收1.oom 通信图: 器材回收2.oom 学生查询 功能描述:学生查询器材和租用收费标准。 ' 操作顺序: 系统执行逻辑设计: 学生查询1.oom 通信图: ~ 学生查询2.oom 类的详细描述 1、ActionSupport @ 说明 名称 ActionSupport 功能描述 属性 |所有Action的基类,由Struts2框架提供。 见Struts2的文档描述 方法 +execute():String;见Struts2的文档描 述 2、EquipmentAction类 … EquipmentAction 说明 名称 功能描述 器材Action类,接收来自页面的管理员 添加、删除、修改、查询器材的请求。 (待填) 属性 & +addEquipment():String; +alterEquipment():String; +delEquipment():String; 方法 +queryEquipment():List 3、EquipmentService类的详细描述 EquipmentService(实现类) 名称 说明 功能描述 属性 器材管理操作逻辑业务 (待填) +addEquipment():String; +alterEquipment():String; 方法 +delEquipment():String; +queryEquipment()::List 【 数据库详细设计总表单 — 器材管理 器材信息表 字段名称 Eid Ename Buydate Buycount Buycost Efee Borrowcount Status Etypeid Etypename 器材订单表 字段名称 Erentid Eid Uid Erentcount Borrowbegin Borrowend 描述 器材编号 器材名称 购进日期 剩余数量 购进单价 租借单价 租借次数 状态 类型编号 类型名称 数据类型 字段大小 说明 varchar varchar 20 50 pk fk not null yes Not null Null datetime 0 varchar varchar varchar varchar varchar varchar varchar 50 50 50 50 50 20 50 Not null Null Not null Not null Not Null Null null 描述 订单编号 器材编号 用户编号 租借数量 开始时间 结束时间 数据类型 字段大小 说明 varchar varchar varchar varchar 15 50 50 50 pk fk not null yes Not null Not null Not null Not null Not null datetime 0 datetime 0 Borrowfee Status Ename 器材类型表 字段名称 Etypeid Etypename 租借费用 状态 器材名称 varchar varchar varchar 50 50 50 Not null Not null Not null 描述 类型编号 类型名称 数据类型 字段大小 说明 varchar varchar 20 50 Pk Fk not null yes Not null 因篇幅问题不能全部显示,请点此查看更多更全内容