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

news2024/12/23 13:57:20

文章目录

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

面向对象建模基础

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/975243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ITIL重大事件管理综合指南

什么是ITIL中的重大事件 重大事件是一个高影响力的紧急问题,通常影响整个组织或其主要部分。重大事件几乎总是导致组织的服务变得不可用,从而导致该组织的业务受到打击,并最终影响其财务状况。重大事件可以通过两种方式影响组织的服务&#…

MATLAB中movmean函数用法

目录 语法 说明 示例 向量的中心移动平均值 向量的尾部移动平均值 矩阵的移动平均值 包含缺失值的向量的移动平均值 基于样本点计算移动平均值 仅返回满窗口平均值 movmean函数的功能是对数据进行移动求平均值。 语法 M movmean(A,k) M movmean(A,[kb kf]) M mov…

四川玖璨电子商务有限公司:短视频有什么运营

根据短视频有什么运营,短视频的拍摄工具多种多样。无论是在手机上拍摄还是使用专业摄影设备,拍摄短视频的目的都是为了吸引观众的注意力和提升内容的质量。从小花费到高投入,在不断发展的短视频行业中,拍摄方法也得到了不断创新和…

Hadoop YARN HA 集群安装部署详细图文教程

目录 一、YARN 集群角色、部署规划 1.1 集群角色--概述 1.2 集群角色--ResourceManager(RM) 1.3 集群角色--NodeManager(NM) 1.4 HA 集群部署规划 二、YARN RM 重启机制 2.1 概述 2.2 演示 2.2.1 不开启 RM 重启机制…

RHCA之路---EX280(7)

RHCA之路—EX280(7) 1. 题目 Configure quotas and limits for project shrimp so that: The ResourceQuota resource is named ex280-quota The amount of memory consumed across all containers may not exceed 1Gi The total amount of CPU usage consumed across all con…

Qt包含文件不存在问题解决 QNetworkAccessManager

这里用到了Qt的网络模块&#xff0c;在.pro中添加了 QT network 但是添加 #include <QNetworkAccessManager> 会报错说找不到&#xff0c;可以通过在项目上右键执行qmake后&#xff0c;直接#include <QNetworkAccessManager>就不会报错了&#xff1a;

固定资产管理怎么改革

固定资产管理改革需要考虑以下几个方面&#xff1a; 建立完善的管理制度和流程&#xff1a;制定固定资产管理的规章制度&#xff0c;明确各部门的职责和任务&#xff0c;规范资产采购、登记、领用、保管、维修、报废等流程。 采用先进的资产管理软件&#xff1a;通过采用先进的…

【python基础知识】5.for循环和while循环

文章目录 前言for...in...循环语句for循环&#xff1a;空房间for循环&#xff1a;一群排队办业务的人range()函数for循环&#xff1a;办事流程 while循环while循环&#xff1a;放行条件while循环&#xff1a;办事流程 两种循环对比 前言 上一关&#xff0c;我们学习了两种新的…

新23转债上市价格预测

新23转债 基本信息 转债名称&#xff1a;新23转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;11.6亿元。 正股名称&#xff1a;新泉股份&#xff0c;今日收盘价&#xff1a;53.17元&#xff0c;转股价格&#xff1a;51.35元。 当前转股价值 转债面值 / …

新手学习导航设计的10个技巧

如果一个网站有良好的可用性&#xff0c;基本的需求是良好的导航设计。 本文结合社区优秀的网页导航设计案例&#xff0c;总结了网页导航设计的10项技能。 网页导航设计案例即时设计是一款支持在线协作的专业级 UI 设计工具&#xff0c;支持 Sketch、Figma、XD 格式导入&#…

uniapp微信小程序隐私保护引导新规

1.components中新建组件PrivacyPop.vue <template><view class"privacy" v-if"showPrivacy"><view class"content"><view class"title">隐私保护指引</view><view class"des">在使用当…

微信小程序添加用户授权《隐私保护协议》

官方文档&#xff1a;wx.onNeedPrivacyAuthorization(function listener) | 微信开放文档 隐私协议配置 微信小程序平台上需要进行隐私配置&#xff0c;审核成功后大概半小时左右才会生效。 小程序公众平台 --- 设置 --- 服务内容声明 --- 用户隐私保护指引&#xff08;提交…

接口自动化框架Pytest —— 配置文件pytest.ini的详细使用

前言 我们在执行用例的时候&#xff0c;每次都在命令行中输入-v&#xff0c;-s等一些命令行参数的时&#xff0c;比较麻烦。其中pytest.ini这个配置文件可以快速的帮助我们解决这个问题。 配置文件 我们在执行用例的时候&#xff0c;每次都在命令行中输入-v&#xff0c;-s等一…

期权交易手续费哪家券商平台费率最低?怎么收费的?

随着场内ETF期权市场的发展&#xff0c;越来越多的新的品种上市。我们知道&#xff0c;想要交易5期权必须先在券商开通50ETF期权账户&#xff0c;不同券商手续费收取多少不一样&#xff0c;那么就来为大家介绍一下期权交易手续费哪家券商平台费率最低&#xff1f;怎么收费的&am…

设计模式 - 责任链

一、前言 ​ 相信大家平时或多或少都间接接触过责任链设计模式&#xff0c;只是可能有些同学自己不知道此处用的是该设计模式&#xff0c;比如说 Java Web 中的 Filter 过滤器&#xff0c;就是非常经典的责任链设计模式的例子。 那么什么是责任链设计模式呢&#xff1f; ​ …

智慧电力系统

智慧电力系统依托电易云-智慧电力物联网&#xff0c;将人工智能技术、物联网技术与电力行业相结合&#xff0c;通过数据的收集、分析和应用&#xff0c;实现电力资源精准调度、安全稳定运行、智能管理的全过程解决方案。 智慧电力系统的核心理念是将科技与能源紧密结合&#x…

SECOND:Sparsely Embedded Convolutional Detection

论文背景 为了克服图像单独提供空间信息的不足&#xff0c;点云数据在三维应用中变得越来越重要。点云数据包含精确的深度信息&#xff0c;可以由LiDAR或RGB-D相机生成。 VoxelNet&#xff1a;首先将点云数据分组成体素&#xff0c;然后在将体素转换成密集的3D张量用于区域提…

C语言插入排序

前言&#xff1a; 本文主要讲解插入排序中的直接插入排序和希尔排序。 1、直接插入排序&#xff1a; 1.1基本思想 直接插入排序是一种简单的插入排序法&#xff0c;其基本思想是把待排序的数值按照大小顺序逐个插入到一个已经排好序的有序序列中&#xff0c;直到将所有记录…

骨传导和普通耳机哪个危害大?哪款更值得入手一些?

先说结论&#xff0c;普通耳机对人体的危害要比骨传导耳机大一些&#xff0c;区分方式也很简单&#xff0c;想要了解骨传导耳机和普通耳机哪个对人体的危害更大&#xff0c;首先就要了解它们的传声方式&#xff0c;普通耳机的传声原理很简单&#xff0c;利用空气传声&#xff0…