实现视图模型建模
班级: 信2305-3 学号: 20234316 姓名: 20234316
一 实验目的
理解顺序图、协作图、活动图、状态机图的概念及其在系统分析设计中的作用;
了解和掌握软件工程中用例逻辑时序的分析方法;
掌握两种交互图(顺序图和协作图)的差别;
掌握描述一个操作执行过程中所完成工作(动作)的方法;
掌握描述对象内部工作的具体步骤;
掌握使用Rational Rose 依据用例绘制创建顺序图、协作图、活动图、状态图的方法;
二 实验环境及实验准备
所需硬件环境为微机;
所需软件环境为Rational Rose、Miscrosoft Word等;
熟悉Rational Rose下交互模型和状态模型建模的方法和步骤;
完成系统用例模型建模;
三 实验内容
(一)、分析系统用例流程中对象间的交互
- 对象的识别与分类
实体类(代表系统中的核心数据和业务对象) - 客户:包括个人客户、团体客户等,参与预定管理、入住管理、退房管理等。
- 员工:包括酒店工作人员、酒店员工,涉及员工管理、考勤、薪酬等。
- 经理:管理财务报表、员工档案、运营分析等。
- 房间:包括各种类型的房间及其状态,涉及房态管理、房间分配、房间调度等。
- 账单:包括客户住宿账单、餐饮账单等,涉及结算、账单打印等。
- 菜单:餐饮管理中的菜品、库存等对象。
- 餐饮订单:客户在餐厅点餐时生成的订单。
边界类(代表系统的界面和外部交互) - 酒店管理系统:整个系统,接收用户输入,处理请求并反馈。
- 前台系统:与客户交互的系统,管理预定、入住、退房等。
- 餐饮系统:处理餐饮管理相关的请求,如菜单管理、点餐、结算等。
- 财务系统:处理财务相关的报表、收入、支出等。
- 员工系统:管理员工信息、排班、考勤等。
- 用例流程中的对象间的交互分析
交互描述表格格式:
交互编号 交互名称 功能描述 涉及的对象 消息的类型 传递的消息 返回的消息 销毁的对象
1 客户预定房间 客户通过前台系统进行房间预定 客户、房间、前台系统、账单 请求消息 客户信息、预定房间类型、日期等 预定成功或失败信息 无
2 客户入住登记 客户入住时进行登记,系统分配房间 客户、前台系统、房间、账单 请求消息 客户身份信息、房间需求等 房间分配信息、入住确认信息 无
3 客房清洁与维修 员工安排清洁与维修房间 酒店员工、房间、清洁与维修管理系统 请求消息 房间号、清洁需求、维修需求等 清洁或维修状态更新信息 无
4 餐饮点餐 客户在餐厅点餐,厨房收到订单 客户、餐饮系统、厨房、菜单、订单 请求消息 菜品、数量、客户需求等 点餐确认信息、订单编号 无
5 餐饮账单结算 餐饮消费结算与住宿账单合并 客户、餐饮账单、住宿账单、财务系统 请求消息 餐饮消费记录、住宿账单等 合并后的账单信息、结算信息 无
6 员工薪酬管理 根据考勤和业绩发放薪酬 酒店员工、员工管理系统、财务系统 请求消息 员工出勤、业绩信息、薪酬标准等 薪酬发放信息、工资条 无
7 财务报表生成 经理查看财务报表 经理、财务管理子系统 查询消息 财务数据、报表类型等 财务报表、利润分析等 无 - 各个交互过程的详细说明
交互编号 1: 客户预定房间
• 功能描述:客户通过前台系统进行房间预定。系统记录客户信息和预定需求,更新房间状态并生成相应的账单信息。
• 涉及的对象:客户、房间、前台系统、账单
• 消息类型:请求消息
• 传递的消息:客户的预定信息(如房间类型、入住时间、退房时间等)。
• 返回的消息:预定成功或失败的通知,房间状态更新信息。
• 销毁的对象:无(对象生命周期持续直到实际入住时才结束)。
交互编号 2: 客户入住登记
• 功能描述:客户到达酒店并完成入住登记,系统根据客户需求分配房间。
• 涉及的对象:客户、前台系统、房间、账单
• 消息类型:请求消息
• 传递的消息:客户身份、入住信息、预定信息。
• 返回的消息:房间分配确认、入住确认信息。
• 销毁的对象:无。
交互编号 3: 客房清洁与维修
• 功能描述:员工执行房间清洁或维修任务,确保房间符合入住标准。
• 涉及的对象:酒店员工、房间、清洁与维修管理系统
• 消息类型:请求消息
• 传递的消息:房间号、清洁或维修需求。
• 返回的消息:清洁或维修状态更新。
• 销毁的对象:无。
交互编号 4: 餐饮点餐
• 功能描述:客户在餐厅点餐,点餐信息传递至厨房,订单处理并准备。
• 涉及的对象:客户、餐饮系统、厨房、菜单、订单
• 消息类型:请求消息
• 传递的消息:点餐信息(菜品、数量等)。
• 返回的消息:订单确认、订单编号。
• 销毁的对象:无。
交互编号 5: 餐饮账单结算
• 功能描述:客户餐饮消费与住宿账单合并,进行最终结算。
• 涉及的对象:客户、餐饮账单、住宿账单、财务系统
• 消息类型:请求消息
• 传递的消息:餐饮消费记录、住宿账单。
• 返回的消息:合并后的账单、结算信息。
• 销毁的对象:无。
交互编号 6: 员工薪酬管理
• 功能描述:根据员工的考勤和业绩,系统发放薪酬。
• 涉及的对象:酒店员工、员工管理系统、财务系统
• 消息类型:请求消息
• 传递的消息:员工考勤信息、业绩数据、薪酬标准。
• 返回的消息:薪酬发放信息、工资条。
• 销毁的对象:无。
交互编号 7: 财务报表生成
• 功能描述:经理查询财务报表,生成相关报表以供分析。
• 涉及的对象:经理、财务管理子系统
• 消息类型:查询消息
• 传递的消息:报表类型、时间范围。
• 返回的消息:财务报表、利润分析。
• 销毁的对象:无。
(二)、绘制顺序图
(三)、绘制协作图
(四)、绘制活动图
(五)、分析系统主要对象的生命周期中状态及状态迁移
在酒店综合信息管理系统中,主要的对象类通常与酒店运营的核心流程相关。可能需要进行状态分析的主要对象类包括:
• 客房(Room):作为系统中的重要对象,客房会经历不同的状态,比如“空闲”,“已预定”,“已入住”,“已退房”等。
• 客户(Customer):客户的状态可能包括“未注册”,“已注册”,“已入住”,“已退房”等。
• 预定(Reservation):预定的状态包括“未确认”,“已确认”,“已取消”等。
客房生命周期状态及迁移
在酒店管理系统中,客房的生命周期涉及的主要状态包括:
• 空闲(Available):客房尚未被预定,处于空闲状态。
• 已预定(Reserved):客房已被客户预定,但尚未入住。
• 已入住(Occupied):客房已被客户入住。
• 已退房(Checked-out):客房的客户已退房,等待清洁。
• 清洁中(Being Cleaned):客房退房后,正在进行清洁工作。
• 不可用(Unavailable):因维修或其他原因,客房暂时不可用。
迁移编号 迁移名称 迁移描述 事件 动作 监护条件
1 预定房间 客房从“空闲”状态迁移到“已预定”状态。 客户提交预定请求 将客房标记为“已预定”,更新数据库 客房未被其他客户预定,且日期匹配
2 入住 客房从“已预定”状态迁移到“已入住”状态。 客户办理入住手续 更新客房状态为“已入住” 客户已到达并完成入住手续
3 退房 客房从“已入住”状态迁移到“已退房”状态。 客户办理退房手续 将客房状态更新为“已退房” 客户完成退房手续并结清账单
4 清洁 客房从“已退房”状态迁移到“清洁中”状态。 客房退房后等待清洁 发送清洁指令,标记客房为“清洁中” 客房已退房且未重新预定
5 恢复空闲状态 客房从“清洁中”状态迁移到“空闲”状态。 清洁完成 更新客房状态为“空闲”,可供再次预定 客房已清洁完毕且没有新的预定
6 暂时不可用 客房从“空闲”或“已预定”状态迁移到“不可用”状态。 客房出现故障或维修 标记客房为“不可用” 客房需要维修或其他特殊原因
7 恢复正常 客房从“不可用”状态迁移到“空闲”状态。 故障维修完成或不可用原因消失 更新客房状态为“空闲” 修复完成,且客房可重新投入使用
(六)、绘制状态机图
四 实验分析及问题思考
画图时需注意各用例之间的关系和与系统之间的关系
实现视图模型建模
班级: 信2305-3 学号: 20234316 姓名:徐戌
实验自评
实验内容 自评结果(在对应格内打)
不熟练 一般 比较熟练 熟练
绘制顺序图 √
绘制协作图 √
绘制活动图 √
绘制状态机图 √
实验体会
在实现视图模型建模的实验过程中,我深入理解了系统不同视角之间的关系以及如何通过视图来表示系统的不同层次和模块。通过构建视图模型,我学会了如何将复杂的业务需求和功能通过直观的图形和抽象结构进行表达。这不仅有助于团队成员之间的沟通,也便于后期开发和维护。
在建模过程中,我特别体会到视图的设计要考虑到不同用户的需求,如管理视图、用户视图等,每个视图的设计应该具备清晰、简洁、易用的特点。通过实验,我认识到视图模型的高层次抽象可以帮助我们快速理解系统的整体结构,而细节部分则可以通过具体的实现来补充。总体而言,视图模型建模不仅提升了我的抽象思维能力,也让我更好地理解了软件架构设计中的分层思想和模块化原则。