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

文章目录

  • 面向对象建模基础
    • UML建模语言
    • UML模型图
      • 用例图
      • 活动图
      • 类图
      • 顺序图
      • 通信图
      • 状态机图
      • 构件图
      • 部署图
      • 包图
      • 对象图
      • 组合结构图
      • 扩展图
      • 交互概览图
      • 时间图
    • BPMN建模语言
      • 业务建模
      • 定义
      • 模型元素
        • 流对象
          • 活动
          • 事件
          • 网关
        • 数据
        • 人工制品
        • 泳池和泳道
      • 建模案例
        • 订单采购流程建模
        • 电商系统订货业务流程建模
        • 硬件零售商的运输业务流程建模
    • 课堂练习

面向对象建模基础

UML建模语言

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

二、系统模型的作用

  • 有助于按照所需样式提供待开发系统的可视化表示
  • 模型可以反映系统的结构和行为
  • 模型提供构造系统的模板
  • 模型可以作为文档化设计决策

三、系统建模的原则

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

四、UML建模语言简介

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

电子科大软件系统架构设计——面向对象建模基础_第1张图片

UML模型图

用例图

用例图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第2张图片

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

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

电子科大软件系统架构设计——面向对象建模基础_第3张图片

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

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

电子科大软件系统架构设计——面向对象建模基础_第4张图片

活动图

活动图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第5张图片

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

电子科大软件系统架构设计——面向对象建模基础_第6张图片

类图

类图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第7张图片

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

电子科大软件系统架构设计——面向对象建模基础_第8张图片

顺序图

顺序图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第9张图片

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

电子科大软件系统架构设计——面向对象建模基础_第10张图片

通信图

通信图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第11张图片

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

电子科大软件系统架构设计——面向对象建模基础_第12张图片

状态机图

状态机图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第13张图片

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

电子科大软件系统架构设计——面向对象建模基础_第14张图片

构件图

构件图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第15张图片

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

电子科大软件系统架构设计——面向对象建模基础_第16张图片

部署图

部署图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第17张图片

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

电子科大软件系统架构设计——面向对象建模基础_第18张图片

包图

包图模型元素:

电子科大软件系统架构设计——面向对象建模基础_第19张图片

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

电子科大软件系统架构设计——面向对象建模基础_第20张图片

对象图

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

电子科大软件系统架构设计——面向对象建模基础_第21张图片

组合结构图

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

电子科大软件系统架构设计——面向对象建模基础_第22张图片

扩展图

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

电子科大软件系统架构设计——面向对象建模基础_第23张图片

交互概览图

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

电子科大软件系统架构设计——面向对象建模基础_第24张图片

时间图

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

电子科大软件系统架构设计——面向对象建模基础_第25张图片

BPMN建模语言

业务建模

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

电子科大软件系统架构设计——面向对象建模基础_第26张图片

业务建模内容

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

电子科大软件系统架构设计——面向对象建模基础_第27张图片

业务模型图之间的关系

电子科大软件系统架构设计——面向对象建模基础_第28张图片

定义

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

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

模型元素

流对象

活动

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

电子科大软件系统架构设计——面向对象建模基础_第29张图片

事件

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

电子科大软件系统架构设计——面向对象建模基础_第30张图片

网关

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

电子科大软件系统架构设计——面向对象建模基础_第31张图片

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

电子科大软件系统架构设计——面向对象建模基础_第32张图片

数据

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

电子科大软件系统架构设计——面向对象建模基础_第33张图片

人工制品

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

电子科大软件系统架构设计——面向对象建模基础_第34张图片

泳池和泳道

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

电子科大软件系统架构设计——面向对象建模基础_第35张图片

建模案例

订单采购流程建模

电子科大软件系统架构设计——面向对象建模基础_第36张图片

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

电子科大软件系统架构设计——面向对象建模基础_第37张图片

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

电子科大软件系统架构设计——面向对象建模基础_第38张图片

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中数据分为数据对象、(数据对象集)、数据输入和数据输出等。

你可能感兴趣的:(软件系统架构设计,软件架构)