《系统架构:复杂系统的产品设计与开发》——第3章,第3.6节架构展示工具:SysML与OPM

简介:

本节书摘来自华章出版社《系统架构:复杂系统的产品设计与开发》一书中的第3章,第3.6节架构展示工具:SysML与OPM,作者[美]布鲁斯·卡梅隆,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.6架构展示工具:SysML与OPM
3.6.1视图与投射
对复杂系统的架构所做的描述,包含着巨量的信息,其信息量远远超过了人的理解能力。那么,这些信息应该如何展示才好呢?主要办法有两种。一种是维护一个集成模型,并根据需要对其进行投射。另一种是在模型中维护多个视图。
这两种方法在传统的民用建筑中都有所体现。3D计算机渲染工具尚未发明之前,建筑师会绘制许多视图(view,例如建筑物某一层的平面图、外立面及各个剖面等),这些视图可以用作盖楼时的指导文档。但是这些视图之间未必能够保证彼此一致,而且也不能保证楼房盖好之后,所有的部分都正确地连在一起。
3D渲染技术发明之后,建筑师就可以构建集成的3D模型了。当建筑师需要某个特定的视图时,软件会把模型投射(project)到2D平面上,以展示我们想要突出的那一部分,例如某个楼层、某个外立面或某个剖面。由于这些投射都是从同一个3D模型中做出来的,因此它们必然能够保持彼此一致。
这两种办法也用在系统架构中。我们可以构建一个比较大的集成模型,然后在必要时对其进行投射,以获取视图。也可以先构建视图,然后看看它们能不能形成协调一致的整体。这两种做法都是较为常见的。
在当前的各种架构展示工具中,对象过程方法(Object Process Methodology,OPM)采用集成模型[4],也就是把与形式、功能、实体及关系有关的信息全都融入同一个模型中。另外一种架构展示方式是采用不同的视图来表示这些信息。系统建模语言(Systems Modeling Language,SysML)[5]及美国国防部架构框架(Department of Defense Architecture Framework,DoDAF)[6]采用的都是这种方式。
下面将要讲述SysML与OPM这两种工具。它们几乎同时出现在21世纪第1个十年的早期,并且都是广为使用的工具。本书只会概述这两种工具,而不会详细描述各种视图及图表。若想了解详情,请查阅参考文档。本书第二部分将深入讲解这两种架构展示方式。

3.6.2SysML
SysML是在2003年由对象管理组织(Object Management Group,OMG)和系统工程国际委员会(International Council on Systems Engineering,INCOSE)联合开发的,它对软件工程中的统一建模语言(Unified Modeling Language,UML)[7]进行了改编,使其能够适应系统工程师的需求。SysML使用UML的一个子集,并添加了一些有助于对系统需求及系统效能进行建模的新特性。
原版的UML包含13种图或视图。其中,有6种用来描述软件的结构(类图、包图、对象图、组件图、复合结构图及部署图)。其他7种用来描述软件的行为(状态机图、活动图、用例图、时序图、通信图、时间图、交互概述图)。
如图3.5所示,最新版的SysML(2009年)含有9种视图。其中7种直接取自UML,它们是:类图(改名为框定义图)、包图、复合结构图(改名为内部框图)、活动图、状态机图、用例图及序列图。新加入的两种图是参数图和需求图。
有关这9种图的详细讨论,请查阅Holt和Perry在2008年所写的《SysML for Systems Engineering》一书[8]。图3.5中的框定义图和内部框图,所表现的是系统的形式。框定义图展示系统中的元素,而内部框图则展示这些元素的结构。第4章会深入阐述这些概念。
需求图用来撰写与需求有关的文字,同时还用来表示各项需求之间的关系。(这与第11章对利益相关者及目标的讨论有些相似。)参数图用来表示属性的值及属性所受的约束,它所包含的细节,一般要比架构分析中遇到的细节更多一些。包图用来对模型中的各个元素进行规整。
四种行为图用来描绘功能领域及相关行为。用例图所描述的内容就是对外体现的功能及价值,这将在第5章中谈到。而其他三种图则用来从多个方面展示与功能或时间有关的行为,这两种行为将在第5章和第6章中分别讲述。

3.6.3OPM
OPM是由以色列理工学院(Technion)的Dov Dori教授研发的,它旨在将面向对象的图表与面向过程的图表合并到同一套方法中,以便对系统进行描述。

图3.5 SysML图


c0d76acc46a0225cc3d2a8b13158e3e76e90d21e

在OPM中,对象用方框表示(在SysML中,对象出现在结构性的图表中),过程用椭圆表示(在SysML中,过程出现在行为图中),第4章和第5章会分别讨论对象与过程。与SysML不同,OPM会把对象及过程合起来放在同一张图中,并且用不同类型的关系对其进行连接。有些对象充当某种过程的工具,而另一些对象则是过程所要改变的物体(参见图3.6)。这些关系将在第6章中讨论。
OPM的一个重要特点,就是它并不会针对系统创建多个不同的视图,或多种不同类型的图表,而是只会为系统创建一个集成模型。多张SysML图所表示的信息可以融合到一张含有对象、过程及关系的OPM图中。
图3.6OPM图用同一张视图来展示对象、过程及其关系。该图由OPM的发明者、系统架构师Dov Dori所绘制


91409f80c6d4a459df00328de3ae960e90681d51

SysML与OPM都可以很好地展示系统架构,而且它们之间有很多共同之处。比如,表3.2中就列出了如何用这两种图来展示同一种系统分解方式,或展示实体之间的同一种逻辑关系。若想把整个系统的SysML图都转换成OPM图,或把整个系统的OPM图都转换成SysML图,那将会比较复杂。可以查阅本章的参考资料[9],以了解如何从OPM模型中生成SysML视图。笔者在书中主要使用OPM图来表示系统架构,在必要时,也会给出相应的SysML图。
表3.2 用SysML和OPM来表示实体的体系及实体间的逻辑关系


4400808ae27ba64d307df136266c5b2c2df10692
相关文章
|
2月前
|
SQL 前端开发 关系型数据库
如何开发一套研发项目管理系统?(附架构图+流程图+代码参考)
研发项目管理系统助力企业实现需求、缺陷与变更的全流程管理,支持看板可视化、数据化决策与成本优化。系统以MVP模式快速上线,核心功能包括需求看板、缺陷闭环、自动日报及关键指标分析,助力中小企业提升交付效率与协作质量。
|
1月前
|
数据采集 机器学习/深度学习 运维
量化合约系统开发架构入门
量化合约系统核心在于数据、策略、风控与执行四大模块的协同,构建从数据到决策再到执行的闭环工作流。强调可追溯、可复现与可观测性,避免常见误区如重回测轻验证、忽视数据质量或滞后风控。初学者应以MVP为起点,结合回测框架与实时风控实践,逐步迭代。详见相关入门与实战资料。
|
1月前
|
前端开发 JavaScript BI
如何开发车辆管理系统中的车务管理板块(附架构图+流程图+代码参考)
本文介绍了中小企业如何通过车务管理模块提升车辆管理效率。许多企业在管理车辆时仍依赖人工流程,导致违章处理延误、年检过期、维修费用虚高等问题频发。将这些流程数字化,可显著降低合规风险、提升维修追溯性、优化调度与资产利用率。文章详细介绍了车务管理模块的功能清单、数据模型、系统架构、API与前端设计、开发技巧与落地建议,以及实现效果与验收标准。同时提供了数据库建表SQL、后端Node.js/TypeScript代码示例与前端React表单设计参考,帮助企业快速搭建并上线系统,实现合规与成本控制的双重优化。
|
2月前
|
人工智能 监控 测试技术
告别只会写提示词:构建生产级LLM系统的完整架构图​
本文系统梳理了从提示词到生产级LLM产品的八大核心能力:提示词工程、上下文工程、微调、RAG、智能体开发、部署、优化与可观测性,助你构建可落地、可迭代的AI产品体系。
488 51
|
1月前
|
运维 监控 安全
公链开发中的高可用架构设计要点
本指南提供公链高可用架构的可复用流程与模板,涵盖目标拆解、先决条件、分步执行、故障排查及验收标准,结合跨链DApp与量化机器人案例,提升落地效率与系统稳定性。
|
1月前
|
消息中间件 运维 监控
交易所开发核心架构拆解与流程图
本文系统解析交易所架构核心要素,从接入层到清算结算,结合系统流程图拆解各模块职责与协作机制。深入剖析撮合引擎、账本设计与风控逻辑,建立性能、可用性、安全性等多维评估标准,并提供可落地的流程图绘制、压测优化与进阶学习路径,助力构建高效、安全、可扩展的交易系统。(238字)
|
1月前
|
机器学习/深度学习 人工智能 缓存
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
本文提出面向边缘通用智能的多大语言模型(Multi-LLM)系统,通过协同架构、信任机制与动态编排,突破传统边缘AI的局限。融合合作、竞争与集成三种范式,结合模型压缩、分布式推理与上下文优化技术,实现高效、可靠、低延迟的边缘智能,推动复杂场景下的泛化与自主决策能力。
232 3
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
|
1月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
2月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
298 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
2月前
|
监控 供应链 前端开发
如何开发ERP(离散制造-MTO)系统中的财务管理板块(附架构图+流程图+代码参考)
本文详解离散制造MTO企业ERP系统中财务管理模块的搭建,聚焦应收账款与应付账款管理,涵盖核心功能、业务流程、开发技巧及Python代码示例,助力企业实现财务数据准确、实时可控,提升现金流管理能力。

热门文章

最新文章