天天看點

《系統架構:複雜系統的産品設計與開發》——第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圖

《系統架構:複雜系統的産品設計與開發》——第3章,第3.6節架構展示工具:SysML與OPM

在opm中,對象用方框表示(在sysml中,對象出現在結構性的圖表中),過程用橢圓表示(在sysml中,過程出現在行為圖中),第4章和第5章會分别讨論對象與過程。與sysml不同,opm會把對象及過程合起來放在同一張圖中,并且用不同類型的關系對其進行連接配接。有些對象充當某種過程的工具,而另一些對象則是過程所要改變的物體(參見圖3.6)。這些關系将在第6章中讨論。

opm的一個重要特點,就是它并不會針對系統建立多個不同的視圖,或多種不同類型的圖表,而是隻會為系統建立一個內建模型。多張sysml圖所表示的資訊可以融合到一張含有對象、過程及關系的opm圖中。

圖3.6opm圖用同一張視圖來展示對象、過程及其關系。該圖由opm的發明者、系統架構師dov dori所繪制

《系統架構:複雜系統的産品設計與開發》——第3章,第3.6節架構展示工具:SysML與OPM

sysml與opm都可以很好地展示系統架構,而且它們之間有很多共同之處。比如,表3.2中就列出了如何用這兩種圖來展示同一種系統分解方式,或展示實體之間的同一種邏輯關系。若想把整個系統的sysml圖都轉換成opm圖,或把整個系統的opm圖都轉換成sysml圖,那将會比較複雜。可以查閱本章的參考資料[9],以了解如何從opm模型中生成sysml視圖。筆者在書中主要使用opm圖來表示系統架構,在必要時,也會給出相應的sysml圖。

表3.2 用sysml和opm來表示實體的體系及實體間的邏輯關系

《系統架構:複雜系統的産品設計與開發》——第3章,第3.6節架構展示工具:SysML與OPM

繼續閱讀