SMD(software modelling and design)知识点总结——User Case 图 + 概念层面:Domain 图 / System 时序图 + 实现层面:类图 + 设计时序图

UserCase Diagram

构成要素

参与者:

- 系统的使用者
- 系统的维护者
- 其他的系统

在这里插入图片描述

用例:参与者能够感受到的系统服务或者系统的功能单元

系统边界:系统边界区分了系统的内部功能和外部事物

关联:

- 包含(include):包含关系把一个用例的功能拆分成几个部分,包含用例是一个基本用例的组成部分,和基础用例一起执行。箭头通常是从基本用例指向扩展用例。

在这里插入图片描述

- 扩展(extend):扩展关系顾名思义,就是将用例中加入新的行为,获得新的用例,相当于给基础用例添加了附加的新功能,如果缺少了扩展用例并不会影响基本用例的完整性。箭头一般是从扩展用例指向基本用例。
- 泛化(generalization):泛化关系表示的是用例之间的“父子关系”,类似于继承。

在这里插入图片描述

概念层面设计图

领域图(Domain Diagram)

  • 领域模型是领域内的概念类或现实世界中对象的可视化表示,又称为概念模型或分析对象模型,它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。

  • domain 图不涉及具体的类的实现,而是更多地停留在概念层面,关注的是整个系统中的不同角色之间的交互。

  • domain 模型关注的是:在问题领域(problem domain)中有价值的 “概念”,“属性”,“关联”
    在这里插入图片描述

  • domain 图中没有方法的设计,只关注属性和不同角色之间的关联。

  • 可以使用标注方向的尖头来表示不同角色之间关系的方向
    在这里插入图片描述

系统时序图(System Sequential Diagram)

在这里插入图片描述
在这里插入图片描述

  • 系统时序图把整个系统当做一个 black box,不管内部的具体实现,哪怕系统内部调用了很多方法,我们并不关心这些方法的具体调用情况。
  • 每个 SSD 都是一个用例的特定场景

构成要素

在这里插入图片描述

参与者
:系统
生命线
循环

用例图-> 系统时序图的举例

  • 首先用例图中的 Cashier 向系统请求了一个 Process Sale 的操作,这在用例图中非常直观
  • 在系统顺序图中则是在这种特定的用例场景中将系统和 Cashier 的交互描述的很清楚
    在这里插入图片描述
    NOTE:
  • 系统时序图和系统的 domain 图一样都是在整个系统层面的概念设计,不涉及到具体的类,只是把每个不同的系统之间的交互图演示清楚

实现层面设计图

设计类图(Design Class Diagram)

在这里插入图片描述

构成要素

类名
关联关系
类的属性,数据类型和方法
接口和抽象类

类图和领域图的异同

  • 他们都使用UML 类图来表示
  • 领域图注重的是“problem domain ”中的概念,属性和关联
  • 设计模型关注的是实现方面的具体细节,某个类在系统中扮演的角色和做出的贡献
  • 领域图只有一个类似 “类名” 的名称,以及相应的属性,没有方法
  • 领域图没有 multiplicity 的关联关系,因此在表示两个部分有关联的时候,通常使用实线连接,而不是带箭头的实线
    在这里插入图片描述

责任驱动的设计理念(Responsibility-Driven Design)

  • 从 Domain 图进一步设计成 Design Class 图的时候,要进一步对不同部分的责任进行划分。责任分为两大类:
    • Knowing Responsibility
    • Doing Responsibility
      在这里插入图片描述
      根据这两个原则:
      在这里插入图片描述
  • 从 Domain 转成 Class 图的时候,我们 Sale 有责任知道他的总数(knowing 责任),因此设计了 getTotal 方法
  • 同样的,Sale 也应该有能力去 makeLineItem,因此也设计了这个方法放在 Sale 类中

设计时序图(Design Sequential Diagram)

  • 设计时序图其实对应的是设计类图,他们都属于 Design Model (diagram)。
  • 在概念层面的静态图是 Domain 图,动态图是 System Sequential 图,在实现层面的静态图是 Design Class 图,动态图是 Design Sequential 图

构成要素

在这里插入图片描述

:类名
  • 用 :类名表示系统中具体交互的对象的类型
    在这里插入图片描述
一个激活系统的消息(a found message)

在这里插入图片描述

带参数的 message

在这里插入图片描述

控制焦点(表示对象执行动作的时间)
  • 这个是 SSD 中没有的
    在这里插入图片描述

系统时序图(SSD) 和 设计时序图(DSD)的联系和区别

  • 系统时序图把整个系统看做一个黑箱子,只关注 actor 和 系统之间的交互
  • DSD 则是专注于系统内部的行为,着重于不同 软件对象 之间的信息交互
    在这里插入图片描述
    NOTE:
    设计时序图的时候也要按照 Responsibility-Driven 的原则去设计
    在这里插入图片描述

实现层面设计总结

在这里插入图片描述

概念层面 -> 实现层面

概念层面:Domain 图 + system sequential 图

在这里插入图片描述

实现层面:Design 类图 + Design 时序图

在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
过程建模(process modelling)是指将现实世界中的业务流程、操作流程或系统流程转化为计算机系统可以理解和执行的模型的过程。这些模型利用符号和形表示实体、活动、控制流和数据流,并定义了与之相关的行为和约束。过程建模有助于我们深入理解和优化现有的业务流程,还可以为系统设计和开发提供一个明确的目标和指导。 模型分析(model analysis)是指对已建立的过程模型进行评估和验证的过程。通过模型分析,我们可以发现和解决模型中的问题、矛盾、冲突等,进而提供更好的流程设计和改进建议。模型分析可以通过模拟、检验、验证等方法进行,帮助我们找出模型中的潜在错误和不足,进而提高流程的效率、可靠性和质量。 在过程建模和模型分析中,常用的工具包括流程、数据流、Petri网、状态转换等。这些工具可以帮助我们把握流程的关键元素和交互关系,以及规范过程模型的建立和分析过程。 过程建模和模型分析对于企业和组织来说非常重要。通过建立模型,我们可以理清业务流程中的逻辑和关系,发现潜在的问题和瓶颈,优化流程并提高效率。模型分析则帮助我们评估模型的正确性和可行性,及时发现和解决问题,从而提高流程的质量和可靠性。 总之,过程建模和模型分析是一种重要的方法和工具,有助于我们理解、优化和改进业务流程,提高组织的效率和竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值