Sixth PM Homework…..
系统分析与设计 – Homework 6
姓名:陈明亮
学号:16340023
练习资源:Asg-RH.pdf
使用UMLet建模
领域建模与状态建模图的得分细节
- 每个图表必须有标题
-
领域建模必须包括一个以上的箭头与关系
-
领域建模要区分是计算出的属性还是原有的属性,通过计算出的属性用 / 表示
-
领域建模对象必须是名词
-
领域建模注意两个对象的关系,是一对多还是多对一等等
-
领域建模还要注意子类与父类的关系,要使用继承的箭头
-
领域建模要注意对象是否包含一个描述类xxxDescription
-
领域建模不需要写ID这些看得出的属性名
-
状态建模需要先确定该对象有多少个状态,以及处理状态的事件
-
状态建模的状态要是名词短语、动词过去时或正在进行时等具有延续性的词汇
-
状态建模必须有起始状态,通常有终止和取消状态
-
状态建模尽可能不涉及动作
- 状态建模不能写成流程图
- 状态建模一般打横画,先确定一条Happy Path再进行扩展
1. 使用类图,分别对 Asg_RH 文档中 Make Reservation 用例以及 Payment 用例开展领域建模
-
注意事项:
- 对象必须是名词、特别是技术名词、报表、描述类的处理;
- 关联必须有多重性、部分有名称与导航方向
- 属性要注意计算字段
-
数据建模,为了简化描述仅需要给出表清单,例如:Hotel(ID/Key,Name,LoctionID/Fkey,Address…..)
Make Reservation 领域建模
数据建模如下:
- Hotel (ID/Key, Name, LoctionID/Fkey, ReservationID/Fkey, Address, star-rating, info)
- Reservation (ReservationID/Key, RoomItemsID/Fkey, check-in-date, num-of-nights, customer-full-name, customer-smoking, contact-email)
- Location (LocationID/Key)
- Customer (CustomerID/Key, ReservationID/Fkey)
- ShoppingBasket (ShoppingBasketID/Key, ReservationID/Fkey)
- Payment (PaymentID/Key, ReservationID/Fkey)
- RoomItems (RoomItemsID/key, type, adults, children, age-from, age-to)
- Room (RoomID/key, RoomDescriptionID/Fkey, RoomitemsID/Fkey, type, date, available-num)
- RoomDescription (RoomDescriptionID/Key, type, list-price, info)
Payment 领域建模
数据建模如下:
-
Customer (CustomerID/Key, ReservationID/Fkey)
-
Reservation (ReservationID/Key)
-
Credit-Card (Credit-CardID/Key, type, Credit-Card-DescriptionID/Fkey)
-
Credit-Card-Description (Credit-Card-DescriptionID/Key, Card-Number, Expiry-Date, Card-Security-Code, Cardholder’s-address-details)
-
Payment (PaymentID/Key, ProductID/Fkey)
-
Product (ProductID/Key, type, amount)
-
ProductDescription (detail, type)
2. 使用 UML State Model,对每个订单对象生命周期建模
- 建模对象: 参考 Asg_RH 文档, 对 Reservation/Order 对象建模。
- 建模要求: 参考练习不能提供足够信息帮助你对订单对象建模,请参考现在 定旅馆 的旅游网站,尽可能分析围绕订单发生的各种情况,直到订单通过销售事件(柜台销售)结束订单。