生活随笔
收集整理的這篇文章主要介紹了
IEEE 1471的软件系统架构描述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
IEEE 1471的軟件系統架構描述
?
關于1471
IEEE 1471發布于2000年,其目標在于方便體系結構的表達與交流,并通過體系結構要素及其實踐標準化,奠定質量與成本的基礎。什么是密集型系統呢?1471中的框架標準,主要是針對密集型系統(software-intensive 也稱作增強型軟件),是指軟件對于整個系統的設計、構建、部署和評估有重要影響的任何系統。
IT這個行業中的詞匯許多都來源于傳統行業。傳統行業發展了很多年,有一套成熟的理論,而軟件設計這個行業才幾十年,在實踐中,為了提高生產效率和品質,工程化是一個必然化的趨勢,于是傳統行業工程化的理論和實踐就有了在軟件設計這個行業移植的可能性。???????? 在建筑行業或者機械設計行業,在建筑建造出來或者產品加工出來之前,設計人員用圖紙來表達自己的設計意圖。當然成熟的設計人員在取得認證之前,需要到施工單位或者到加工車間實習很長時間,以防止設計出來之后,無法建造或加工。
如果要描述軟件的架構,在你對系統架構描述的過程中,需要出現那些要素(element),這些要素之間又有著怎樣的關系?IEEE std 1471-2000這篇文檔給出答案。下面的圖描述了要素之間的關系。
?
?
圖中描述要素之間的關系使用的語言是UML。對UML需要專門的時間來解讀。UML已經發展成軟件設計描述語言的事實標準。上面的圖,圖中的方框表示架構設計文檔中需要描述的要素,要素之間的連線表示這些要素之間的關系。整個圖分五層:
Mission:任務,使命,也就是為什么我們要做這個系統。可能的原因是為了更大的贏利,市場占有率更高,完善產品系列等等。一個任務是指一種使用或操作,是一個系統想要滿足由一個或多名利益相關者的目標。Environment,System,Architecture: 系統的定義是:一系列組件,組織在一起,相互作用從而完成一個或者一些特殊的功能。系統不可能單獨存在,它總是存在于一個環境之中。我們將系統范圍之外的東西,對系統有影響,有交互的客觀存在定義為環境(Environment).有時也稱為系統的上下文(context)。系統架構。每個系統有一個架構。無論你是有意設計而形成,或者自發形成。
?
?
Stakeholder,Architectural Description,Rationale: 系統利益相關方,干系人。從圖中我們可以看出一個系統有一個到多個利益相關方。利益相關者擁有1個或多個關注點。系統描述,從圖中我們可以看出,一個系統架構,有一個系統描述和它對應。系統描述是由stakeholder來識別出來并整理成文。Rationale含義是基本原理,根本原因。比如,在設計軟件架構時,我們做了許多取舍,選擇。我們需要列出之所以選擇A而不是B的理由,以及架構設計是如何滿足功能性需求和非功能性需求。Concern,Viewpoint,View: 關注點,圖中可以看出concern是和stakeholder聯系在一起。利益相關方有一個或多個concern。關注點是指對于那些操作或其他方面對于一個或多個利益相關者非常重要,且與那些系統發展相關的利益。通常關注點包括系統的功能要求、性能需求、安全性、可靠性和保密性等。通常不同的利益相關方其關注點不盡相同。有時甚至是矛盾的。觀點就是你站在什么地方來看這個系統。不同的stakeholder可能有不同的concern,從而導致不同的觀點。視圖就是stakeholder站在某個觀點,他看到系統是個什么樣子。視圖和觀點一一對應。
?
?
Library Viewpoint,Model: 外部定義的視點被稱作視點庫,庫中存放了前人正對各種系統,各種不同的stakeholder,各種不同的concern,總結出來的觀點。這樣可以方便后人來參考使用。模型是用來表達視圖的方法。直白地說,就是系統中各種元素是如何組織在一起發揮作用。我們用圖形化的表示把你看到的東西表達出來。
?
關于軟件架構編檔
2002年,軟件工程研究所(SEI)發布了《軟件架構編檔》,該書探討了軟件構架文檔的使用方法以及它之所以重要的原因,定義了構架視圖類型、風格和視圖,具體的介紹了3個基本視圖類型:模塊視圖、組件和連接器視圖類型以及分配視圖類型。每個視圖類型包含多種構架風格,即視圖類型的特化。此外,還論述了完整的構架文檔包,制作構架文檔包是出色的軟件構架師的職責。
?
?
該書和1471對應關系如下
?
關于ISO 42010
2006年,ISO采納了IEEE 1471作為內部標準,然后IEEE和ISO一起修訂并以ISO 42010- Systems and Software Engineering Architectural Description為新標題發布。涉及修訂的內容有
術語澄清:例如架構關注點、架構模型、架構視點應用范圍:從軟件密集型系統擴展到更大范圍和ISO生命周期一致:對應ISO 12207和ISO 15288概念演化:調查‘架構描述’和‘架構決策’是否已有實用的描述
此外,42010還往元模型中添加了架構框架的概念,如下
?
?
不同視圖中元素需要滿足視圖關聯規則,比如邏輯視圖中的每個軟件元素都要對應部署視圖中的至少某個計算元素。
視圖設計
關于觀點設計方法,有人提出如下四步來實踐
?
?
利益相關方的側寫:每個利益相關方有五個屬性,名稱、目標、任務、概念、利害關系。
?
?
下面是一個側寫實例
?
?
概述內部設計文檔:生成一個架構信息的概述,來縷清這些信息和利益相關人的關系。這步生成2個交付件,一個是內部設計文檔概述,一個是關鍵框架概念的映射關系圖。文檔概述實例如下,一般在5-10個描述,所謂關鍵概念就是諸如利害關系、設計原則、目標、應用、過程、產品、基礎構建服務、期限、設計方針等。
?
?
把內部設計文檔概述和利益相關聯系起來:比如以表格形式展現框架設計內容和利益相關方的利害關系,如下實例
?
?
定義出觀點:目的在于考慮框架設計對于利益相關方的意義來定義觀點,文本形式的概述、術語、圖表一起展示給利益相關方。實例如下
?
?
該實例包含2個模板,斜體字是長模板,正體是短模板
?
?
參考文獻
https://www.cnblogs.com/Natural-way/p/7580638.htmlhttp://blog.sina.com.cn/s/blog_5a010cd10100xxiz.htmlhttp://www.few.vu.nl/~hans/publications/y2006/JSSviewpoints.pdfhttps://wenku.baidu.com/view/94d1ef27dd36a32d73758171.htmlhttp://repository.cmu.edu/cgi/viewcontent.cgi?article=1451&context=seihttp://web.mit.edu/richh/www/writings/emery-hilliard2008.pdf?
總結
以上是生活随笔為你收集整理的IEEE 1471的软件系统架构描述的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。