【UML用户指南】-02-UML基本元素的介绍(二)

目录

1、语法和语义规则

2、UML中的公共机制

(1)规约

(2)修饰

(3)通用划分

(4)扩展机制

衍型/版型/类型(stereotype)

标记值 (tagged value)

约束(constraint)

3、系统的体系结构建模

用例视图 (use case view)

设计视图 (design view)

交互视图 (interaction view)

实现视图 (implementation view)

部署视图 (deployment view)

4、软件开发的生命周期

4.1、初始 (inception)

4.2、细化 (elaboration)

4.3、构造 (construction)

4.4、移交 (transition)


1、语法和语义规则

命名——为事物、关系和图起的名字;

范围——使名字具有特定含义的语境;

可见性——这些名字如何让其他成分看见和使用;

完整性——事物如何正确、一致地相互联系;

执行——运行或模拟一个动态模型意味着什么。

2、UML中的公共机制

(1)规约

UML 不仅仅是一种图形语言。实际上,在它的图形表示法的每部分背后都有一个规约,这个规约提供了对构造块的语法和语义的文字叙述
 

(2)修饰

UML中的大多数元素都有唯一而直接的图形表示符号,这些图形符号对元素的最重要的方面提供了可视化表示。

图中表明这个类是一个抽象类,

有两个公共操作、一个受保护操作和一个私有操作。

(3)通用划分

第一种方式是对类和对象的划分。类是一种抽象,对象是这种抽象的一个具体表现。

在图形上,UML是这样区分对象的:采用与类同样的图形符号来表示对象,并且在对象名的下面画一道线

有一个名称为Customer的类,它有3个对象,分别为

Jan(它被明确地标记为Customer的对象)

:Customer(匿名的Customer对象)

Elyse(它在规约中被说明为一种Customer对象,尽管在这里没有明确地表示出来)。

第二种方式是接口和实现的分离。接口声明了一个合约,而实现则表示了对该合约的具体实施,它负责如实地实现接口的完整语义。

在这个图中,有一个名称为SpellingWizard.dll的构件,

它实现了接口IUnknown和接口ISpelling,

并且还需要使用一个由其他构件提供的名为IDictionary的接口。

第三种方式是类型和角色的分离。类型声明了实体的种类(如对象、属性或参数),角色描述了实体在语境中的含义(如类、构件或协作等)。

任何作为其他实体结构中的一部分的实体(例如属性)都具有两个特性:

从它固有的类型派生出一些含义

从它在语境中的角色派生出一些含义

(4)扩展机制

衍型/版型/类型(stereotype)

扩展了UML的词汇,可以用来创造新的构造块,这个新构造块既是从现有的构造块派生的,但是针对专门的问题。

例如,假设正在使用一种编程语言,如Java或C++,经常要对“异常事件”建模。在这些语言里,“异常事件”就是类,只是用很特殊的方法进行了处理。通常可能只想允许抛出和捕捉异常事件,没有其他要求。

此时可以让异常事件在模型中成为“一等公民”——可以像对待基本构造块一样对待它们,只要用一个适当的衍型来标记它们即可。

标记值 (tagged value)

扩展了UML衍型的特性,可以用来创建衍型规约的新信息。

例如,如果在制作以盒装形式销售的产品,随着时间的推移,它经过了多次发行,那么经常会想要跟踪产品的版本和对产品做关键摘要的作者。

版本和作者不是UML的基本概念,通过引入新的标记值,可以把它们加到像类那样的任何构造块中去。例如,在图中,在类EventQueue上明确标记了版本和作者,这样就对该类进行了扩展。

约束(constraint)

扩展了UML构造块的语义,可以用来增加新的规则或修改现有的规则。例如,可能想约束类 EventQueue,以使所有的增加都按序排列。如上图,对操作 add增加了一个约束,即{ordered},以明确标示这一规则。
 

3、系统的体系结构建模

不同人员关注各自的问题

用况:用例

用例视图 (use case view)

由描述可被最终用户、分析人员和测试人员看到的系统行为的用例组成。用例视图实际上没有描述软件系统的组织,而是描述了形成系统体系结构的动力。

在UML中,该视图的静态方面由用例图表现;动态方面由交互图、状态图和活动图表现

设计视图 (design view)

包含了类、接口和协作,它们形成了问题及其解决方案的词汇。这种视图主要支持系统的功能需求,即系统应该提供给最终用户的服务。

在UML中,该视图的静态方面由类图和对象图表现;动态方面由交互图、状态图和活动图表现。类的内部结构图特别有用。

交互视图 (interaction view)

展示了系统的不同部分之间的控制流,包括可能的并发和同步机制。该视图主要针对性能、可伸缩性和系统的吞吐量。

在UML中,对该视图的静态方面和动态方面的表现与设计视图相同,但着重于控制系统的主动类和在它们之间流动的消息

实现视图 (implementation view)

包含了用于装配与发布物理系统的制品。这种视图主要针对系统发布的配置管理,它由一些独立的文件组成;这些文件可以用各种方法装配,以产生运行系统。它也关注从逻辑的类和构件到物理制品的映射。

在UML中,该视图的静态方面由构件图表现,动态方面由交互图、状态图和活动图表现。

部署视图 (deployment view)

包含了形成系统硬件拓扑结构的结点(系统在其上运行)。这种视图主要描述组成物理系统的部件的分布、交付和安装。

在UML中,该视图的静态方面由部署图表现,动态方面由交互图、状态图和活动图表现。

4、软件开发的生命周期

1)用例驱动

把用例作为一种基本的制品,用于建立所要求的系统行为、验证和确认系统的体系结构、测试以及在项目组成员间进行交流。

2)以体系结构为中心

以系统的体系结构作为一种基本制品,对被开发的系统进行概念化、构造、管理和演化。

3)迭代的和增量

迭代:涉及到对一连串可执行的发布的管理。

增量:涉及到系统体系结构的持续集成,以产生各种发布,每个新发布都比上一个发布有所改善

总的来讲,迭代和增量的过程是风险驱动的(risk-driven),每个新的发布都致力于处理和降低对于项目成功影响最为显著的风险。

RUP四个阶段,即软件开发生命周期

4.1、初始 (inception)

在此阶段,萌发的开发想法经过培育要达到这样一个目标:至少要在内部奠定足够的基础,以保证能够进入到细化阶段。

4.2、细化 (elaboration)

在此阶段定义产品需求和体系结构。在这个阶段,将明确系统需求,按其重要性排序并划定基线。可以按一般的描述,也可以按精确的评价准则来排列系统的需求,每个需求都说明了特定的功能或非功能的行为,并为测试提供了基础。

4.3、构造 (construction)

在此阶段软件从可执行的体系结构基线发展到准备移交给用户。针对项目的商业需要,这里也要不断地对系统的需求,特别是对系统的评价准则进行检查,并要适当地分配资源,以主动地降低项目的风险

4.4、移交 (transition)

在此阶段把软件交付给用户。在这个阶段,软件开发过程很少能结束,还要继续改善系统,根除错误,增加早期发布未能实现的特性。

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

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

相关文章

解决Chat打开时Unable to load conversation 的问题

在开梯子的情况下打开chat依然很卡,这里选择edge的浏览器无痕模式(新建InPrivate窗口),在无痕窗口下打开chat就可以了。

华为RH2288H V3服务器iBMC的SSL证书续期

本文对华为RH2288H V3服务器iBMC的SSL证书续期,以避名登录告警提示及主机状态异常。 一、检查现网服务器iBMC的SSL证书到期时间 登录iBMC,点击配置--SSL证书,如下: 可以看到本服务器SSL证书将于今年7月22日到期。 二、联系厂家…

高级无人机系统开发:基于STM32

目录 引言环境准备无人机控制系统基础代码示例:实现无人机控制系统 4.1 姿态传感器数据读取4.2 电机控制4.3 GPS数据处理4.4 用户界面与显示应用场景:无人机导航与稳定控制问题解决方案与优化收尾与总结 1. 引言 本教程将详细介绍如何在STM32嵌入式系…

离屏粒子优化

一、GPU Gems3 Chapter 23:高速的离屏粒子 原文:Chapter 23. High-Speed, Off-Screen Particles 粒子特效一直是一个游戏开发中非常吃性能的点,特点就在于①数量不固定,在极端情况下同时存在的特效数量特别多,不且好合…

第二证券炒股知识:短线炒股技巧?

在股票商场上,出资者分为长线和短线这两大类,其中短线炒股存在以下技巧: 1、早盘集合竞价时刻上的技巧 早上集合竞价对短线出资者来说比较重要,其中早上集合竞价期间9:15-9:20之间出资者可以进行撤单操作&#xff0c…

Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/139424086 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子网络科技博…

中学生学人工智能系列:如何用AI学生物

经常有读者朋友给公众号《人工智能怎么学》留言咨询如何使用人工智能学习语文、数学、英语、化学等科目。这些都是中学教师、中学生朋友及其家长们普遍关注的问题。仅仅使用留言回复的方式,不可能对这些问题做出具体和透彻的解答,因此本公众号近期将推出…

【Python】 探索Python中的2D数组峰值检测

基本原理 在Python编程中,经常会遇到需要处理多维数组的场景。2D数组,也就是二维数组,是数组的一种形式,它由多个一维数组组成,可以想象成一个矩阵。峰值检测是数据分析中的一项常见任务,特别是在信号处理…

航空交流电源车:高品质电源,保障飞机正常运行

航空交流插电式电源车作为一种专为航空飞机提供稳定交流电源的地面支持设备。它能够满足航空器在地面运行过程中的电力需求,如维护、试验和充电等。这种电源车采用电能作为动力来源,具有环保、节能、安全、可靠等特点。航空交流插电式电源车作为一种创新…

Elastic Connectors:增量同步对性能的影响

作者:Artem Shelkovnikov Elastic 连接器是一种 Elastic 集成,可将数据从原始数据源同步到 Elasticsearch 索引。连接器使你能够创建可搜索的只读数据源副本。 有许多连接器支持各种第三方,例如: MongoDB各种 SQL DBMS&#xff…

AMD提前发布新AI芯片,硬刚英伟达!Zen 5架构性能提高一倍

眼看着英伟达要打破摩尔定律,开启一年一更的新时代;搭载高通骁龙新芯片的设备,也将于数日后上市。AMD这坐不住啊:这风头怎么都被别人抢了? 于是,在周一的COMPUTEX(台北国际电脑展)上…

借助调试工具理解BLE协议_2.BLE协议栈

名词解释: BT SIG英文全称为Bluetooth Special Interest Group(蓝牙特别兴趣组),网址为 www.Bluetooth.com。 Bluetooth Technology Website SIG成立于1998年,是一个全球技术交流组织,拥有超过36000家公…

centos7下卸载MySQL,Oracle数据库

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 操作系统版本为CentOS 7 使⽤ MySQ…

Linux云计算架构师涨薪班课程内容包含哪些?

第一阶段:Linux云计算运维初级工程师 目标 云计算工程师,Linux运维工程师都必须掌握Linux的基本功,这是一切的根本,必须全部掌握,非常重要,有了这些基础,学习上层业务和云计算等都非常快&#x…

常见的多态面试题

多态的概念及其构成条件 多态概念:对不同的对象会有不同的实现方法,即为多种形态。 构成条件: 派生类要进行虚函数的重写(父子类虚函数需要三同,三同指函数名、参数、返回值)要用父类的指针或引用去调用虚…

黄仁勋的AI时代:英伟达GPU革命的狂欢与挑战

在最近的COMPUTEX 2024大会上,英伟达创始人黄仁勋发布了最新的Blackwell GPU。这次发布不仅标志着英伟达在AI领域的又一次飞跃,也展示了其对未来技术发展的战略规划。本文将详细解析英伟达最新技术的亮点,探讨其在AI时代的市场地位和未来挑战…

Transformer学习(2)

这是Transformer的第二篇文章,上篇文章中我们了解了分词算法BPE,本文我们继续了解Transformer中的位置编码和核心模块——多头注意力。下篇文章就可以实现完整的Transformer架构。 位置编码 我们首先根据BPE算法得到文本切分后的子词标记,然…

baremaps 部署

参考:https://baremaps.apache.org/documentation/ 一、基础环境 1、安装 JDK 版本需要至少 Java 17 下载:https://www.oracle.com/cn/java/technologies/downloads/ tar -zxf jdk-17_linux-x64_bin.tar.gz -C /usr/local cd /usr/local mv jdk-17.…

centos安装vscode的教程

centos安装vscode的教程 步骤一:打开vscode官网找到历史版本 历史版本链接 步骤二:找到文件下载的位置 在命令行中输入(稍等片刻即可打开): /usr/share/code/bin/code关闭vscode后,可在应用程序----编程…

商品最大价值-第13届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第77讲。 商品最大价值&…