【UML用户指南】-27-对体系结构建模-制品

目录

1、组成结构

2、制品的种类

2.1、部署制品 (deployment artifact)

2.2、工作产品制品 (work product artifact)

2.3、执行制品 (execution artifact)

3、标准元素

4、常用建模技术

4.1、对可执行程序和库建模

4.2、对表、文件和文档建模

4.3、对源代码建模


制品是系统中物理的且可替换的部分,制品是实现平台层次上的物理事物。

对存在于结点上的物理事物(如可执行程序、库、表、文件和文档)进行建模。

制品表示对诸如类、接口和协作等逻辑元素的物理打包。

1、组成结构

制品 (artifact)是存在于实现平台层的系统的物理部分。在图形上,把制品画成带有关键字«artifact»的矩形。

1.1、名称

与类表示形式类似,存在简单名与受限名(用制品所在的包的名字作为前缀)两种

可以用标记值或表示其细节的附加栏来修饰制品。

制品和类都是类目

1)类表示逻辑抽象,而制品表示存在于比特世界中的物理抽象

2)制品可以存在于结点上,而类不可以。

3)制品表示对在实现平台上的比特的物理打包。

4)类可以拥有属性和操作;制品可以实现类和方法,但是它们自身没有属性或操作。

用表现(manifest)关系显式地表示制品和它所实现的类之间的关系。
 

2、制品的种类

2.1、部署制品 (deployment artifact)

这类制品是构成一个可执行系统必要而充分的制品,例如动态连接库(DLL)和可执行程序(EXE)。UML的制品定义足以表达典型的对象模型,如.NET、CORBA及Enterprise Java Beans以及其他对象模型,或许还包括动态Web页、数据库表以及使用专用通信机制的可执行程序。

2.2、工作产品制品 (work product artifact)

这类制品本质上是开发过程的产物,由源代码文件、数据文件等用来创建部署制品的事物构成。这些制品并不直接地参加可执行系统,而是开发中的工作产品,用于产生可执行系统。

2.3、执行制品 (execution artifact)

这类制品是作为一个正在执行的系统的结果被创建的,例如由DLL实例化形成的.NET对象。

3、标准元素

通常可以用标记值扩充制品的性质(如指定一个开发制品的版本),用衍型指定新的制品种类(如特定操作系统的制品)

UML预定义了应用于制品的标准衍型。

(1)可执行程序 (executable) 说明一个可在结点上执行的制品。

(2)库 (library)          说明一个动态或静态对象库。

(3)文件 (file)           说明一个表示文档的制品,其中包含源代码或数据

(4)文档 (document)     说明一个表示文档的制品。

4、常用建模技术

4.1、对可执行程序和库建模

对于大多数系统而言,这些部署制品来源于对如何划分系统的物理实现所做出的决策。

1)技术问题(如对基于制品的操作系统工具的选择)、

2)配置管理问题(如关于系统中哪些部分将随时间而变化的决策)

3)复用问题(即决定复用其他系统的哪些制品以及将哪些制品复用到其他系统中)的影响。

对系统接缝的管理很重要,就要对由一些制品使用并由另一些制品实现的重要接口建模。

上图给出了从个人生产率工具中抽取的一组制品,该工具运行在一台个人计算机上。图中包括一个可执行程序(animator.exe)和四个动态连接库(dlog.dll、wrfrme.dll、render.dll和raytrce.dll),所有这些都分别用UML中关于可执行程序和库的标准元素来表示。图中也给出了这些制品之间的依赖关系。

对于部署在几台计算机上的更大的系统,需要通过表明制品所在的结点来对制品的分布方式建模。

4.2、对表、文件和文档建模

实现中可能包括数据文件、帮助文档、脚本、日志文件、初始化文件及安装/卸载文件等。对这些制品建模是控制你的系统配置的重要部分。

上图展示了围绕在可执行程序animator.exe周围作为被部署系统的组成部分的表、文件及文档。图中包括一个文档(animator.hlp)、一个简单文件(animator.ini)和一个数据库表(shapes.tbl)

4.3、对源代码建模

对源代码的图形化建模特别有助于源代码文件之间编译依赖关系的可视化,也有助于在开发路径分岔或汇合时管理这些文件组的分离与合并。

UML 制品可以是配置管理及版本控制工具的图形界面。

上图展示了用来构造前面例子中的库render.dll的一些源代码文件,图中包括四个头文件(render.h、rengine.h、poly.h和colortab.h),表示某些类规约的源代码。还包括一个实现文件(render.cpp),表示其中一个头文件的实现。

多数情况下,所用的开发工具要把这些组分别放在单独的目录中。在UML中,可以利用包来对这些源代码文件簇建模。

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

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

相关文章

Redis 7.x 系列【17】四种持久化策略

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 案例演示2.1 无持久化2.2 RDB2.3 AOF2.4 混合模式2.4.1 方式一:…

LLM - 神经网络的组成

1. 一个神经元的结构:即接受多个输入X向量,在一个权重向量W和一个偏执标量b的作用下,经过激活函数后,产生一个输出。 2. 一层神经网络的结构:该层网络里的每个神经元并行计算,得到各自的输出;计算方式是输入…

CISAW证书考完有什么用?值得投资吗?

CISAW证书,在信息安全领域内被公认为具有高价值的一种职业资格认证,它象征着持有者在该领域的专业技能和知识水平。 因此,CISAW证书不仅具有实质性的价值,还能为持有者带来诸多益处。 首先,拥有CISAW证书的专业人士更…

简过网:教师编制报考要求和条件,都给你汇总好了!

如果你想要考教师编,那么在考试之前你先要明白这些知识! ​ 一、什么是教师编? 在编教师拥有的编制为事业编,即在编老师为事业单位工作人员 二、考教师编需要什么条件? 1、普通话 语文学科普通话要求达到二级甲等及…

5.基于SpringBoot的SSMP整合案例-数据层开发

目录 1.新建项目 2.实体类开发: 2.1在pom.xml中增加Lombok坐标: 2.2添加Book实体类 3.数据层开发: 3.1 配置MyBatisPlus与Druid 3.2创建数据层接口 3.3写测试类 3.4点击运行: 4.数据层快速开发: 4.1配置MyB…

Camera link(学习笔记)

Camera Link协议是一种专门针对机器视觉应用领域的串行通信协议,它使用低压差分信号(LVDS)进行数据的传输和通信。Camera Link标准是在ChannelLink标准的基础上多加了6对差分信号线,其中4对用于并行传输相机控制信号,另外2对用于相机和图像采…

植物学(书籍学习资料)

包含观赏植物学、植物学、植物学百科图鉴等多本植物学方面的书籍学习资料。 图2、3为观赏植物学截图; 图4、5为植物学百科图鉴截图; 图6、7为植物学学习指南截图。

YOLO V7项目使用

YOLO V7项目使用 根据官方论文中提供的项目地址:使用git clone将项目下载到本地。 https://github.com/WongKinYiu/yolov7 git clone https://github.com/WongKinYiu/yolov7 使用pycharm打开项目,根据官方提供的requirement.txt文件下载项目启动所需要的…

ERROR | Web server failed to start. Port 8080 was already in use.

错误提示: *************************** APPLICATION FAILED TO START ***************************Description:Web server failed to start. Port 8080 was already in use.Action:Identify and stop the process thats listening on port 8080 or configure thi…

ubuntu下后台启动程序

1.启动 nohup python detect_mq.py > output.out 2>&1 & 这个命令是用来在后台运行一个 Python 脚本 detect_mq.py,并将脚本的输出重定向到文件 output.out。下面是这个命令的详细解释: nohup:这是一个命令,它告诉…

【东奥会计-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

有哪些有效的策略可以提升独立站的外链数量?

有哪些有效的策略可以提升独立站的外链数量?提升独立站的外链数量并不难,难得是不被谷歌惩罚把你的网站判定为作弊,正因如此,了解并应用GNB自然外链策略是个不错的开始,GNB外链的核心价值在于它提高了网站外链资源的自…

2024亚太赛(中文)数学建模B题Python代码+结果表数据教学

B题题目:洪水灾害的数据分析与预测 完整论文也写完了 第二问代码(1、3、4问、还有论文见文末) import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot as plt import seaborn as sns from matplotlib import rc…

2024年软件测试岗必问的100+个面试题【含答案】

一、基础理论 1、开场介绍 介绍要领:个人基本信息、工作经历、之前所做过的工作及个人专长或者技能优势。扬长避短,一定要口语化,语速适中。沟通好的就多说几句,沟通不好的话就尽量少说两句。举例如下: 面试官你好&…

.net core 的 winform 的 浏览器控件 WebView2

在.NET Core WinForms应用程序中,没有直接的“浏览器控件”,因为WinForms不支持像WebBrowser控件那样的功能。但是,你可以使用WebView2控件,它是一个基于Chromium的浏览器内核,可以在WinForms应用程序中嵌入Web内容。 …

Science Robotics 麻省理工学院最新研究,从仿真中学习的精确选择、定位和抓放物体的视触觉方法

现有的机器人系统在通用性和精确性两个性能目标上难以同时兼顾,往往会陷入一个机器人解决单个任务的情况,缺乏"精确泛化"。本文针对精准和通用的同时兼顾提出了解决方法。提出了SimPLE(Pick Localize和placE的仿真模拟)作为精确拾取和放置的解…

昇思25天学习打卡营第9天|MindSpore使用静态图加速(基于context的开启方式)

在Graph模式下,Python代码并不是由Python解释器去执行,而是将代码编译成静态计算图,然后执行静态计算图。 在静态图模式下,MindSpore通过源码转换的方式,将Python的源码转换成中间表达IR(Intermediate Repr…

电气-伺服(6)脉冲控制

一、脉冲模式原理: 运动控制器输出脉冲信号给伺服驱动器 伺服驱动器工作于位置模式 伺服驱动器内部要完成三闭环(位置闭环 、速度闭环、电流环) 脉冲和伺服控制环:脉冲的个数作用于位置环。脉冲的频率作用于速度环 二、脉冲的两…

ATFX汇市:美国大非农数据来袭,美指与欧元或迎剧烈波动

ATFX汇市:今日20:30,美国劳工部将公布6月非农就业报告,其中新增非农就业人口数据最受关注,前值为27.2万人,预期值19万人,预期降幅高达8.2万人。如果公布值确实如预期一般,美联储降息预期将增强&…

mysql 字符集(character set)和排序规则(collation)

文章目录 概念1、字符集1.1、举例1.2、常见字符集 utf8 和 utf8mb4 区别1.3、字符集 使用 2、排序规则2.1、举例2.2、常见的排序规则 utf8mb4_bin 、utf8mb4_general_ci、utf8mb4_unicode_ci2.3、使用 概念 在 MySQL 中,字符集(character set&#xff0…