电子科大软件系统架构设计——面向对象建模基础

面向对象建模基础

UML建模语言

一、系统开发为什么需要建模?
在现实世界中,信息系统通常是一个复杂系统。为了开发实现信息系统,需要抽象出一套模型反映系统最本质的东西。这样可略去枝节,实现对信息系统实质性的分析描述和某种程度的系统设计简化。因此,模型是对现实世界的简化描述。

二、系统模型的作用

  • 可以抽象出待开发系统的可视化模型表示
  • 模型可以反映系统的结构和行为
  • 模型提供构造系统的模板
  • 模型可以作为系统设计决策依据

三、系统建模的原则

  • 选择合适的建模方法
  • 提供不同层次的抽象模型
  • 从多个视角创建不同的视图模型
  • 模型应准确刻画系统的静态结构与动态行为

四、UML建模语言简介

  • UML(Unified Modeling Language)是一种面向对象的可视化建模语言。
  • UML是一个通用的标准建模语言,它可以对系统的静态结构和动态行为进行建模
  • UML可用于系统开发的不同阶段阶段建模,如从系统需求分析到系统测试与维护。
  • UML包含描述系统的静态结构和动态行为的两大类模型图,共计14种图形。

image-20230905133342903

UML模型图

用例图

用例图模型元素:

image-20230905134028842

系统用例图( System Use CaseDiagram)从系统分析员角度对系统需求功能进行描述的模型图。

  • 用例是系统的功能点抽象
  • 角色是系统的用户类型抽象
  • 角色与用例、用例与用例之间的关联表示它们存在一定的联系。

image-20230905133908758

业务用例图( Business Use CaseDiagram)从用户角度对业务功能进行描述的模型图。

  • 用例是业务的功能点抽象
  • 角色是业务的用户类型抽象
  • 角色与用例、用例与用例之间的关联表示它们存在一定的联系。

image-20230905134332706

活动图

活动图模型元素:

image-20230905134746803

活动图(Activity Diagram)是描述用例内部活动执行顺序以及活动输入输出的模型图。
活动图还可用于描述业务流程、算法流程、系统控制流程等。

image-20230905134711881

类图

类图模型元素:

image-20230905135136570

类图(Class Diagram)是描述系统由哪些类组成,即面向对象程序组成。
它也用于描述表示系统中类程序之间的关系,直观呈现系统程序的静态结构。

image-20230905135206500

顺序图

顺序图模型元素:

image-20230905135333599

顺序图(Sequence Diagram,也称序列图)是一种描述对象之间消息交互的模型图。
用来反映对象之间的动态协作关系,也就是对象之间的交互关系。

image-20230905135438712

通信图

通信图模型元素:

image-20230905135725605

通信图(Communication Diagram)是表现对象间直接消息交互关系的模型图。
它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况。
通过对象和对象之间的链接、发送的消息来显示对象之间的交互关系。

image-20230905135747072

状态机图

状态机图模型元素:

image-20230905135846412

状态机图( State MachineDiagram)是描述一个对象在其生命周期内所经历的各种状态以及状态变迁的模型图。
描述类的对象所有可能的状态以及事件发生时状态的转移条件。

image-20230905135922799

构件图

构件图模型元素:

image-20230905140057026

构件图(Component Diagram)是描述系统的构件组成及其关系的模型图。
描述软件实现的物理结构,从而反映出基于构件的软件实现。

image-20230905140434381

部署图

部署图模型元素:

image-20230905142201823

部署图(Deployment Diagram )是表示系统构件在运行环境节点中的部署方案。
从部署图还可以获知软件和硬件节点之间的物理拓扑、处理节点以及运行环境情况。

image-20230905142320147

包图

包图模型元素:

image-20230905142646033

包图(Package Diagram)是采用类似文件夹的包符号表示模型元素的组织结构模型图。包被描述成文件夹,可以应用在任何一种UML图上。
系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。

image-20230905142937389

对象图

对象图(0bject Diagram)显示类元素的实例间如何关联,以及在运行时如何使用的模型图。
UML对象图与类图一样均反映系统的静态结构,但对象图是从实例化情景来表达,它显示某时刻对象与对象之间的关系。

image-20230905143405814

组合结构图

组合结构图(CompositeStructure Diagram)提供了一种对系统部件的内部结构建模方法,同时也描述本部件与系统其它部件的交互点。
内部部件通过端口与环境交互。内部部件之间的协作关系。

image-20230905143455963

扩展图

扩展图(Profile Diagram)为特定领域提供一种轻量级UML扩展机制(构造型、标记值、约束、基类等)。
使用域专用的属性与限制定义一组构建体,从而扩展潜在的UML元素。

image-20230905143534091

交互概览图

交互概览图(Profile Diagram)为交互图与活动图的混合体。
提供在复杂活动流程节点中描述对象之间的交互行为。

image-20230905143603572

时间图

时间图( Time Diagram)用来建模对象之间交互的时序状态变化关系。
也表示对象之间交互的时间和期限约束。

image-20230905143632676

BPMN建模语言

业务建模

业务建模(Business Modeling,BM)是以业务模型方式描述组织机构管理及其业务所涉及的对象要素、以及它们的行为关系,为持续改进业务过程提供基础。

image-20230905144138683

业务建模内容

  • 组织机构建模
  • 部门职能建模
  • 业务过程建模
  • 业务信息数据建模

image-20230905144338809

业务模型图之间的关系

image-20230905144451605

定义

BPMN(Business Process Modelling Notation)定义了一套标准的业务流程图符号,使用这些符号可以创建描述业务流程操作的图形化模型。

BPMN还支持生成可执行的业务流程执行语言(BPEL)。BPMN可以基于WS-BPEL转换为软件流程组件。使用BPMN可以建模描述机构内部业务流程能力,其模型可以作为设计人员、管理人员和业务流程实现人员交流业务活动的桥梁。

模型元素

流对象
活动

活动(Activity) :是指在流程中执行的任何工作,即任务。

image-20230905144944871

事件

事件(Event) :在业务流程中发生的任何事情。

image-20230905145025840

网关

网关(Gateway) :用于控制流程的分支。

image-20230905145102669

流(Flow)用于连接流对象,与流对象一起定义业务流程的过程。

image-20230905145223226

数据

数据(Data)是指业务流程中的数据表示,具体又分为数据对象、数据对象集、数据输入和数据输出等。

image-20230905145304515

人工制品

人工制品(Artifact)用以表示流程附加一些额外的信息,支持业务流程的过程说明。

image-20230905145335240

泳池和泳道

泳池(Pool)标识业务的各实体参与者活动及流程范围。一个泳池可以包含多个泳道。

image-20230905145419686

建模案例

订单采购流程建模

电商系统订货业务流程建模

image-20230905151328307

硬件零售商的运输业务流程建模

UML建模和BPMN建模都可以使用建模工具Power Designer和Enterprise Architecture。

课堂练习

1.下面哪个不是面向对象思想中的概念? (B)

A.封装B.包含C.多态D.抽象

2.UML结构图不包含下面哪种图?(A)

A.用例图B.类图C.构件图D.部署图

3.类图中包含下面哪个元素?(D)

A.类 B.关联关系 C.接口 D.以上都是

4.顺序图不包含下面哪个元素? (A)

A.泳道 B.对象 C.消息 D.生命线

5.模型是(A)

A.现实世界的简化描述

B.现实世界的完整描述

C.现实世界的具体化描述

D.现实世界的封装

1.面向对象的需求分析与编程语言无关。(√)

2.活动图可以表示并发活动。(√)

3.每个状态机图可以反映多个对象的状态。(×)

4.部署图的节点中可以嵌入构件。(√)

5.BPMN可以基于WS-BPEL转换为软件流程组件。(√)

6.状态机图有自转换状态。(√)

  • 面向对象的思想应用包括面向对象分析、(面向对象设计)、面向对象编程。

  • 类图中类之间的关系有关联关系、依赖关系、聚合关系、(泛化关系)。

  • 通信图中的元素包括对象、(消息)、链、自反链。

  • BPMN流对象分为三类:活动、(事件)、网关。

  • BPMN中数据分为数据对象、(数据对象集)、数据输入和数据输出等。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王翊珩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值