【UML用户指南】-34-应用UML

目录

1、事物

1.1、结构事物

1.2、行为事物

1.3、成组事物

1.4、注释事物

2、关系

2.1、依赖

2.2、关联

2.3、泛化

3、可扩展性

4、图

4.1、结构图

4.2、行为图

5、统一过程Rational

5.1、四个阶段

5.2、九个任务

5.3、制品

5.3.1、模型

5.3.2、其他制品


利用UML的大约20%就可以为大多数问题的80%部分建模。

使用基本结构事物(如类、属性、操作、用例、构件和包)以及基本结构关系(如依赖、泛化和关联)就足以建立许多种问题域的静态模型。再加上一些基本行为事物(如简单状态机和交互),就可以对系统动态的许多有用方面进行建模。只有当对遇到的更复杂的情况建模时(如对并发和分布建模时),才会用到UML的一些更高级特征。

1、事物

1.1、结构事物

结构事物是UML模型中的名词,包括类、接口、协作、用况、主动类、构件和结点。

1.2、行为事物

行为事物是UML模型的动态部分,包括交互和状态机。

1.3、成组事物

成组事物是UML模型的组织部分,包括包。

1.4、注释事物

注释事物是UML模型的解释部分,包括注解。

2、关系

2.1、依赖

依赖是两个事物之间的一种语义关系,其中一个事物(独立事物)的改变会影响另一个事物(依赖事物)的语义。

2.2、关联

关联是一种结构关系,它描述了一组链,链是对象之间的连接。

2.3、泛化

泛化是一般/特殊关系,其中特殊元素(子类)的对象可以替换一般元素(父类)的对象。

注意:子类指向父类

2.4、实现关系,一种特殊的泛化,用于接口实现表示

3、可扩展性

UML提供3种机制来扩展语言的语法和语义:

衍型(表现新的建模元素)<<>>

标记值(表现新的建模属性)赋值

约束(表现新的建模语义)大括号

4、图

图是一组元素的图形表示,通常表现为一些相互连接的顶点(事物)和弧(关系)。

图是对系统的投影。UML包括13种这样的图。

4.1、结构图

(1)类图。展示一组类、接口、协作以及它们的关系。

(2)对象图。展示一组对象以及它们的关系。

(3)构件图。展示构件的外部接口(包括端口)和内部组成。

(4)组合结构图。展示结构化类的外部接口和内部组成。把构件图和组合结构图一并讨论。

(5)部署图。展示一组结点、制品以及被表现的类和构件之间的关系。

(6)包图。展示如何把模型组织到包中。

4.2、行为图

(1)用例图。展示一组用例、参与者以及它们的关系。

(2)顺序图。展示一个交互,强调消息的时间顺序。

(3)通信图。展示一个交互,强调收发消息的对象的结构组织。

(4)状态图。展示一个状态机,强调由事件引发的对象行为。

(5)活动图。展示一个计算过程,强调从活动到活动的流。

(6)定时图。展示在特定时间带有消息的交互。

(7)交互概览图。结合了活动图和顺序图的内容。

混合型的图是允许的;建模元素之间没有严格的区别。
 

5、统一过程Rational

以体系结构为中心、迭代、模型的创建维护、用例驱动

强调持续的质量控制和风险管理

5.1、四个阶段

(1)初始(Inception)。为项目建立构想、范围和初始计划。

为系统建立构想,并限定项目的范围。这包括业务用况、高层的需求和初始的项目计划。项目计划包括成功准则、风险评估、所需资源的估测以及一个显示主要里程碑进度表的阶段计划。在初始阶段通常要建立一个用作概念验证的可执行原型。

(2)细化(Elaboration)。设计、实现、测试一个健全的体系结构并完成项目计划。

细化阶段的目标是分析问题域,建立一个健全的、合理的体系结构基础,精化项目计划,并消除项目的那些最高风险因素。

(3)构造(Construction)。建造第一个可工作的系统版本。

要迭代地、增量式地开发一个准备移交给用户团体的完整产品。

(4)移交(Transition)。把系统交付给它的最终用户。

为用户团体部署这个软件。注意,项目自始至终,包括演示、专题讨论会、α发布及β发布都要有用户的参与

一次迭代(iteration)代表一个完整的开发周期,从分析中的需求捕获到实现和测试,产生一个可执行的发布版本。这样的发布不必包括商业版本的完整特征。

5.2、九个任务

(1)业务建模:描述用户组织的结构和动态特性。

(2)需求:用多种方法得出需求。

(3)分析和设计:描述多种体系结构视图。

(4)实现:考虑软件开发、单元测试和集成。

(5)测试:描述脚本、测试执行和缺陷追踪度量指标。

(6)部署:包括材料清单、版本说明、培训以及交付一个应用系统的其他方面

(7)配置管理:对项目制品和管理活动的完整性进行变化控制和维护。

(8)项目管理:描述对于一个迭代过程的不同工作策略。

(9)环境:包括开发一个系统所需要的基础设施。
 

在每个任务中所捕获的是一组相关的制品和活动。

制品(artifact)是一些可被产生、操作或消耗的文档、报告或可执行程序。

活动(activity)描述工作人员为创建或修改制品要完成的任务——思考步骤、执行步骤和复审步骤,以及用来执行这些任务的技术和准则,可能还包括使用帮助自动实现某些任务的工具。
 

5.3、制品

5.3.1、模型

模型是Rational统一过程中最重要的一种制品。一个模型是现实的一个简化,创建模型是为了更好地理解将要创建的系统。

(1)业务用例模型:建立组织的抽象。

(2)业务分析模型:建立系统的语境。

(3)用例模型:建立系统的功能需求。

(4)分析模型(可选):建立概念设计。

(5)设计模型:建立问题的词汇及其解决方案。

(6)数据模型(可选):为数据库和其他库建立数据表示法。

(7)部署模型:建立系统执行的硬件拓扑结构以及系统的并发和同步机制。

(8)实现模型:建立用于装配和发布物理系统的各部件。

视图是在模型上的一个投影。在Rational统一过程中,一个系统的体系结构是在5种连锁的视图中捕获的,这5种视图是:设计视图、交互视图、部署视图、实现视图和用况视图。

5.3.2、其他制品

(1)需求集合:描述系统必须做什么。

可能包括用例模型、非功能需求模型、领域模型、分析模型以及用户需求的其他表示形式,其他表示形式包括(但不限于):试验模型、接口原型、规则约束等。

(2)分析和设计集合:描述系统是如何被构造的。

捕获关于系统如何被建造的决策,考虑到时间、预算、遗产系统、复用、质量目标等所有约束。

可以包括设计模型、测试模型以及系统特性的其他表示形式,这些其他表示形式包括(但并不限于):原型和可执行的体系结构。
 

(3)测试集合:描述确认和验证系统的方法。

包括脚本、测试用例、缺陷追踪度量指标以及验收标准。
 

(4)实现集合:描述被开发的软件构件的组装。

用各种编程语言编写的源代码、配置文件、数据文件、软件构件等,还包括描述如何装配这个系统的信息。

(5)部署集合:提供用于可交付配置的所有数据。

聚集了软件被实际包装、运载、安装以及在目标环境中运行的所有信息。
 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CACTER直播预告:SMC2全面焕新——您的邮件系统专属安全管家

在数字化的浪潮中&#xff0c;科技革命和产业变革正重塑着企业的发展轨迹。邮箱作为企业内部&#xff0c;企业和企业之间沟通的桥梁&#xff0c;其安全性和效率性是保障企业顺畅运作和信息安全的基石。 随着网络攻击手段的不断翻新&#xff0c;邮件系统所面临的安全威胁日益加剧…

医院门诊预约挂号小程序模板源码

医院门诊预约挂号小程序模板源码,主要有&#xff1a;绿色的医院住院办理&#xff0c;门诊预约挂号微信小程序页面模板。包含&#xff1a;办卡绑定、快速办理预约挂号、门诊缴费、住院服务、医院信息、个人中心、添加就诊人、找医生等等。 医院门诊预约挂号小程序模板源码

vue 画二维码及长按保存

需求 想要做如下图的二维码带文字&#xff0c;且能够长按保存 前期准备 一个canvas安装qrcode&#xff08;命令&#xff1a;npm i qrcode&#xff09; 画二维码及文字 初始化画布 <template><div><canvas ref"canvas" width"300" he…

Qt常用基础控件总结—输入部件(QComboBox类和QLineEdit)

输入部件 下拉列表控件QComboBox 类 QComboBox 类是 QWidget 类的直接子类,该类实现了一个下拉列表(组合框)。 QComboBox 类中的属性函数 1)count:const int 访问函数:int count() const; 获取组合框中的项目数量,默认情况下,对于空组合框或未设置当前项目的组合框,…

4-2 文本向量化

4-2 文本向量化 文本向量化是自然语言处理&#xff08;NLP&#xff09;中的一个关键步骤&#xff0c;通过将文本数据转化为数值向量&#xff0c;使计算机能够理解和处理自然语言。本文将深入探讨文本向量化的各种方法&#xff0c;包括词袋模型&#xff08;Bag of Words&#x…

生物素-十一聚乙二醇-沙利度胺;Biotin-PEG11-Thalidomide

Biotin-PEG11-Thalidomide&#xff0c;即生物素-十一聚乙二醇-沙利度胺&#xff0c;是一种结合了生物素、十一聚乙二醇&#xff08;PEG11&#xff09;和沙利度胺的复杂化合物。以下是对该化合物的详细分析&#xff1a; 一、组成成分及特性 生物素&#xff08;Biotin&#xff09…

备份及恢复Sonarqube服务数据

基础数据&#xff1a; 源数据机ip&#xff1a;192.*.53 测试机ip&#xff1a;192.*.65 Sonarqube访问地址&#xff1a;http://192.*.65:9000/ 账户名&#xff1a;admin 密码&#xff1a;123456 数据库postgres&#xff1a; 版本&#xff1a;PostgreSQL 15.3 一、数据备份…

厨电,被AI重构的下一个十年|产业特稿

智能化赋能下&#xff0c;厨房从闲人免进的油污重地&#xff0c;到会朋交友的社交空间。随着老板、方太等头部厨电厂商纷纷布局AI&#xff0c;厨电行业的数字化、智能化正逐渐改变了人们和烹饪之间的交互&#xff0c;重塑着厨房固有的属性、定位和职能。 作者|斗斗 编辑|皮爷…

RSA算法java实现

基于RSA算法的Java示例代码&#xff0c;展示了如何进行公钥加密、私钥解密、私钥签名和公钥验签。 非堆成加密公私钥使用学习请查看&#xff1a;非堆成加密公私钥使用-CSDN博客 代码实现 package com.chengxuyuan.demo;import javax.crypto.Cipher; import java.security.*;…

3D互动+AR试戴,赋能珠宝品牌线上营销!

随着电商浪潮的汹涌而至&#xff0c;珠宝这一传统上依赖实体店铺销售的行业&#xff0c;正积极拥抱线上转型的浪潮。然而&#xff0c;面对珠宝商品高客单价及消费者对于亲身体验的强烈需求&#xff0c;线上销售面临诸多挑战&#xff0c;尤其是图片展示难以全面展现珠宝魅力&…

cache 设计

1. cache 概念扫描 简介&#xff1a; cache 是一种小容量的缓存空间&#xff0c;类似于较小的sram 。 它的存在着重解决逻辑访问外部存储&#xff08;ddr &#xff09;的时延。 通过一种预测算法&#xff08;cache 的换入和换出&#xff09;&#xff0c;将逻辑大概率访问的热点…

Milvus核心设计(2)-----TSO机制详解

目录 背景 动机 Timestamp种类及使用场景 Guarantee timestamp Service timestamp Graceful time Timestamp同步机制 主流程 时间戳同步流程 背景 Milvus 在设计上突出了分布式的设计,虽然Chroma 也支持分布式的store 与 query。但是相对Milvus来说,不算非常突出。…

【LangChain系列】【基于Langchain的Pandascsv Agent】

目录 前言一、LangChain1-1、介绍1-2、特点 二、Pandas&csv Agent2-1、安装2-2、Pandas&csv Agent介绍2-3、Pandas&csv Agent使用2-3-1、相关库的导入&#xff1a;2-3-2、设置要调用的模型&#xff08;我这里使用阿里的模型&#xff09;2-3-3、数据读取&展示2-…

华为USG6000V防火墙v1

目录 一、实验拓扑图 二、要求 三、IP地址规划 四、实验配置 1&#x1f923;防火墙FW1web服务配置 2.网络配置 要求1&#xff1a;DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问 要求2&#xff1a;生产区不…

记一次酣畅淋漓的UDF提权(Linux)

外网打点就不放了&#xff0c;翻了一下具备suid权限的命令&#xff0c;没啥结果。 可疑的命令是/usr/lib/dbus-1.0/dbus-daemon-launch-helper但是没有找到用这个命令提权的资料。 弹shell后翻找一下源码&#xff0c;/app/api.py文件中链接了mysql&#xff0c;事出反常必有妖&…

Qt:18.状态栏(状态栏介绍、代码方式创建状态栏、在状态栏显示临时信息、在状态栏创建控件)

目录 1.状态栏介绍&#xff1a; 2.代码方式创建状态栏&#xff1a; 3. 在状态栏显示临时信息&#xff1a; 4.在状态栏创建控件&#xff1a; 1.状态栏介绍&#xff1a; Qt 状态栏是 QMainWindow 窗口的一部分&#xff0c;通常用于显示临时信息&#xff0c;如应用程序的状态、…

hbase学习

hbase学习 hbase概述&#xff1a; HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统&#xff0c;用于存储海量的结构化或者半结构化&#xff0c;非结构化的数据&#xff08;底层是字节数组做存储的&#xff09; HBase是Hadoop的生态系统之一&#xff0c;是建立在…

系统化学习 H264视频编码(03)数据压缩流程及相关概念

说明&#xff1a;我们参考黄金圈学习法&#xff08;什么是黄金圈法则?->模型 黄金圈法则&#xff0c;本文使用&#xff1a;why-what&#xff09;来学习音H264视频编码。本系列文章侧重于理解视频编码的知识体系和实践方法&#xff0c;理论方面会更多地讲清楚 音视频中概念的…

国产化趋势下源代码数据防泄密的信创沙盒的方案分享

随着国产化的大力推进&#xff0c;越来越多的企事业单位在逐步替换Windows、Linux等操作系统的使用。那么什是国产化了&#xff1f;国产化是指在产品或服务中采用国内自主研发的技术和标注&#xff0c;替代过去依赖的他国的产品和服务&#xff0c;国产化又被称之为“信创”&…

pytorch实现水果2分类(蓝莓,苹果)

1.数据集的路径&#xff0c;结构 dataset.py 目的&#xff1a; 输入&#xff1a;没有输入&#xff0c;路径是写死了的。 输出&#xff1a;返回的是一个对象&#xff0c;里面有self.data。self.data是一个列表&#xff0c;里面是&#xff08;图片路径.jpg&#xff0c;标签&…