第5讲 餐馆系统的领域模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长沙学院计算机系 周景
修改后的领域模型
长沙学院计算机系 周景
给类加上属性和操作
探寻属性:
1. 某事物会记录什么数据? 2. 某事物可以提供给我们哪些数据? 3. 通过某事物,可以让我们查到哪些数据?
探寻操作:
1. 某事物可以做什么用? 2. 有了这个事物以后,我们可以拿它来做什么?
长沙学院计算机系 周景
Transation
+execute() +rollback() #priority() -temestamp()
长沙学院计算机系 周景
Shape
-origin +move(offset)
+resize(ratio) +display()
Rectangle +width +height +resize(ratio) +display()
第五讲 餐馆系统的基本结构模型 重点:
公共机制 类图 什么是领域模型? 建立餐馆系统的领域模型
长沙学院计算机系 周景
公共机制 UML的4种公共机制:
1. 规约 2. 修饰
注解
3. 公共划分 4. 扩展
衍型 标记值 约束
长沙学院计算机系 周景
修饰
斜体字的类名表示这是一 个抽象类 “+”表示2个公共操作 “#”表示一个受保护的操 作 “-”表示一个私有操作
长沙学院计算机系 周景
餐馆系统的领域模型
建立领域模型从何开始?
从已经开发的用况和需求中寻找重要的核心的 业务概念(名词)。
哪些是餐馆系统中最重要的业务概念?
长沙学院计算机系 周景
重要的业务概念
顾客
预约 未预约
预约 餐桌 用餐人数 用餐者 位子 服务员 领班
长沙学院计算机系 周景
长沙学院计算机系 周景
对注释建模的策略 把注解放在对应的元素附近 根据需要显示或隐藏注释 注解不能太复杂 随着模型演化,只保留有价值的注解
长沙学院计算机系 周景
衍型(stereotype) 衍型相当于UML元模型中的新类。 创建一个衍型就是创建类似于已有的构造 块的新构造块来扩展UML,但新构造块有 自己的特性。
长沙学院计算机系 周景
长沙学院计算机系 周景
外廓(profile) 外廓(profile)是一个UML模型,它具有一 组预定义的衍型、标记值、约束和基类, 被大多数的UML工具支持。
长沙学院计算机系 周景
图 UML图提供了对系统进行可视化,多种 UML图可以帮助从多个角度来观察系的 不同方面。
长沙学院计算机系 周景
UML图的种类 静态部分:
1. 2. 3. 4. 5. 6. 类图 构件图 组合结构图 对象图 部署图 制品图
长沙学院计算机系 周景
UML图的种类 动态部分:
1. 2. 3. 4. 5. 用况图 顺序图 通信图 状态图 活动图
长沙学院计算机系 周景
画UML图的提示和技巧 UML图的目的是对系统可视化,要便于理 解,并用于沟通。 图不能过大(难以理解) 图不能过于简化(不能体现重要的细节) 更多的提示:P75-76
长沙学院计算机系初步分析后的领域模型长沙学院计算机系预约单的引入从用户界面的原型来看餐馆系统的用户需要首先选择一个日期来查看预约这些预约是存在于下图这样的一个表格中我们称之为预约单长沙学院计算机系修改后的领域模型长沙学院计算机系有了这个事物以后我们可以拿它来做什么
UML统一建模语言
长沙学院计算机系 周景
它们之间的关系
顾客和预约之间的关系? 顾客和餐桌之间的关系? 预约与餐桌之间的关系?
长沙学院计算机系 周景
初步分析后的领域模型
长沙学院计算机系 周景
预约单的引入
从用户界面的原型来看,餐馆系统的用户 需要首先选择一个日期来查看预约,这些 预约是存在于下图这样的一个表格中,我 们称之为“预约单”
长沙学院计算机系 周景
类图 类图是面向对象系统建模最常见的图。类 图显示了一组类、接口、协作以及它们之 间的关系。
长沙学院计算机系 周景
常用建模方法 对系统的词汇建模 对简单协作建模 对逻辑数据库建模
长沙学院计算机系 周景
什么是领域模型
将业务概念文档化并产生类图,以显示重 要的业务概念以及它们之间的关系。这样 的类图就是领域模型。 如果是大规模的项目,领域模型通常作为 一个更为艰巨的业务建模活动的一部分而 产生。 但较小的项目可以使用一个较为简单的领 域模型来描述。
Circle +radius +resize(ratio) +display()
Polygon +vertexOffest: List of Point +resize(ratio) +display()
长沙学院计算机系 周景
注解 注解(note)是附加在元素或元素集上用 来表示或注释的图形符号。
添加了属性和操作的领域模型
长沙学院计算机系 周景
长沙学院计算机系 周景
<<worker>> Person <<create>>+startWork()
Company <<communicate>>
长沙学院计算机系 周景
标记值(Tagged Value) 衍型为UML添加新的事物,标记值用来为 构造块添加新的特性。
长沙学院计算机系 周景
约束 约束可以添加新的语义或扩展已存在的规 则。 约束用花括号括起来的串来表示,放在元 素附近。