ISO-IEC-IEEE 42010架构规范

4 概念基础

4.1 介绍

本条款介绍了架构说明的概念基础,包括架构说明的概念模型(见 4.2);架构在生命周期中的角色(见 4.3);架构说明的使用(见 4.4);架构框架和架构说明语言(见 4.5)。本条款介绍的概念在第 5 章至第 7 章中用于表达相关的需求。

【注】附录 A 提供了对本国际标准中使用的术语和概念的进一步讨论,并提供了它们的使用示例。

4.2 架构说明的概念模型

4.2.1 架构说明的上下文

图 1 描绘了与系统及其架构相关的关键概念、理解架构说明实践的上下文。

本国际标准中使用的术语系统(system)是指某个实体,架构是它的利益。该术语旨在包含但

不限于、以下领域中的实体:

-- 在[ISO/IEC 15288]中,系统(systems)描述为:"系统是人工制造的,可由在此列出的一个或多个事物构成:硬件、软件、数据、人、过程(例如为用户提供服务的过程)、规程(例如操作指令)、设施、材料和自然发生的实体";

-- 在[ISO/IEC 12207]中描述为软件产品和服务(software products and services);

-- 在[IEEE Std 1471: 2000]中描述为软件密集型系统(software-intensive systems):

"软件对整个系统的设计、构建、开发和演进起着基础性影响的任何系统",涵盖了"单个应用程序,传统意义上的系统,子系统和系统的系统,产品线,产品族,整个企业和其他利益的集合"。

本国际标准对这些领域内或其他场所的系统的构成没有任何立场。本国际标准不定义系统的属性。

本国际标准旨在用于上述的系统领域,然而,此处不阻止本国际标准应用于这些领域之外的利益相关实体的体系结构说明(如自然的系统和概念性的系统)。

系统的干系人是该在系统中存在利益的各方。干系人的利益表达为关注点(见 4.2.3)。干系人将各种目标(purposes)归于系统。目标是一种关注点。

一个系统位于一个环境中。环境决定了整个生命周期中施加于系统的所有影响,包括系统在环境中,与环境的交互。一个系统的环境中可以包含其他系统。

系统的架构包含与其环境相关的系统基本要素。单一的特征刻画不能定义系统的本质的或基础;系统的特征可能与以下部分或全体相关:

-- 系统组成或元素;

-- 系统元素如何安置或相互关联;

-- 系统组织或设计的原则;以及,

-- 管控系统在其生命周期中演进的原则。

架构说明用于表达利益系统的架构(见 4.2.2)。

4.2.2 架构和架构说明

架构说明是构造系统和软件架构时输出的工作产品。

图 2 描绘了将本国际标准用于生成表述一个利益系统架构时,架构说明实践的相关概念。在本国际标准中,术语利益系统(system-of-interest,或简称系统)是在系统架构准备活动中,正在考虑其架构的系统。

4.2 其余部分中的图形和文本构成了架构说明的概念模型(conceptual model)。

架构说明表达了利益系统的架构。

本国际标准将系统架构(architecture of a system)与架构说明(architecture description)区分开来。架构说明,而不是架构,是本国际标准的主题。架构说明是一种工作产品,而架构是抽象的,由概念和属性组成。本国际标准指明了架构说明的需求。本国际标准中没有关于架构、系统或其环境的需求。

本国际标准未指定用于记录架构说明的任何格式或媒体。本国际标准旨在能适用于一系列架构说明的方法,包括以文档为中心的、基于模型的和基于存储库的技术。本国际标准没有规定用于生成架构说明的过程或方法。本国际标准不假设或规定用于生成架构说明的特定的架构方法、模型、符号系统或技术。

相关推荐
QT 小鲜肉1 分钟前
【个人成长笔记】Qt Creator快捷键终极指南:从入门到精通
开发语言·c++·笔记·qt·学习·学习方法
子豪-中国机器人3 分钟前
《C++ STL 基础入门》教案
java·开发语言
消失的旧时光-194313 分钟前
ScheduledExecutorService
android·java·开发语言
勇闯逆流河14 分钟前
【C++】用红黑树封装map与set
java·开发语言·数据结构·c++
山,离天三尺三14 分钟前
深度拷贝详解
开发语言·c++·算法
future_studio37 分钟前
聊聊 Unity(小白专享、C# 小程序 之 加密存储)
开发语言·小程序·c#
m0_736927041 小时前
Spring Boot自动配置与“约定大于配置“机制详解
java·开发语言·后端·spring
feiyangqingyun1 小时前
Qt项目作品在苹果macos上编译运行效果/视频监控系统/物联网平台等
开发语言·qt·macos
你不是我我2 小时前
【Java 开发日记】我们来说一说 Redisson 的原理
java·开发语言
kk”2 小时前
C++ stack 和 queue
开发语言·c++