什么是系統(tǒng)架構(gòu)?

作者簡(jiǎn)介

Gavin羽德,程序員几莽、軟件架構(gòu)師、企業(yè)架構(gòu)師宅静,關(guān)注智能制造章蚣。

本文是專欄《智能制造系統(tǒng)架構(gòu)》中的文章,其它文章請(qǐng)參閱入坑智能制造系統(tǒng)架構(gòu)姨夹。

原文鏈接:https://blog.csdn.net/gavinchen1985/article/details/113801942

什么是系統(tǒng)架構(gòu)纤垂?

所謂系統(tǒng)架構(gòu),其主要任務(wù)就是通過(guò)分析系統(tǒng)屬性來(lái)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)匀伏。

ISO/IEC 42010: 2011中洒忧,架構(gòu)的定義為:一個(gè)系統(tǒng)在其所處環(huán)境中所具備的各種基本概念和屬性,具體體現(xiàn)為其所包含的各個(gè)元素够颠、他們之間的關(guān)系以及架構(gòu)的設(shè)計(jì)和演進(jìn)原則之中

其中架構(gòu)的對(duì)象是“系統(tǒng)”熙侍,泛指一群有關(guān)聯(lián)的個(gè)體,系統(tǒng)可以一個(gè)企業(yè),部門(mén)蛉抓,也可以是個(gè)應(yīng)用或者服務(wù)庆尘。關(guān)于系統(tǒng)架構(gòu)定義,應(yīng)注意:

每個(gè)系統(tǒng)都有一個(gè)架構(gòu)

架構(gòu)由架構(gòu)元素以及相互之間的關(guān)系構(gòu)成

系統(tǒng)是為了滿足利益相關(guān)者(stakeholder)的需求要構(gòu)建的

利益相關(guān)者都有自己的關(guān)注點(diǎn)(concerns)

架構(gòu)由架構(gòu)文檔描述

架構(gòu)文檔描述了一系列的架構(gòu)視角(architectural perspective)

每個(gè)視角都解決并且對(duì)應(yīng)到利益相關(guān)者的關(guān)注點(diǎn)巷送。

系統(tǒng)架構(gòu)中核心概念的關(guān)系如下圖所示:

系統(tǒng)架構(gòu)的對(duì)象可能是一個(gè)服務(wù)驶忌、一個(gè)應(yīng)用、一個(gè)部門(mén)笑跛、一個(gè)工廠付魔、一個(gè)集團(tuán)、甚至一個(gè)行業(yè)飞蹂。而系統(tǒng)架構(gòu)的復(fù)雜性因系統(tǒng)規(guī)模而異几苍,系統(tǒng)規(guī)模越大,系統(tǒng)架構(gòu)越復(fù)雜陈哑。因此妻坝,在系統(tǒng)架構(gòu)設(shè)計(jì)時(shí),首先要明確架構(gòu)設(shè)計(jì)的對(duì)象惊窖。對(duì)象不同刽宪,架構(gòu)設(shè)計(jì)的粒度、方法和側(cè)重點(diǎn)也就不同界酒。在IT領(lǐng)域圣拄,常將系統(tǒng)架構(gòu)分為三個(gè)層級(jí),分別是企業(yè)架構(gòu)盾计、解決方案架構(gòu)和應(yīng)用架構(gòu)售担。三者的區(qū)別在于:

企業(yè)架構(gòu)(公司級(jí)):通過(guò)架構(gòu)治理和指導(dǎo)規(guī)范保證IT技術(shù)策略和執(zhí)行計(jì)劃與公司愿景及業(yè)務(wù)目標(biāo)一致。企業(yè)架構(gòu)也會(huì)推動(dòng)在公司范圍內(nèi)跨IT項(xiàng)目的技術(shù)整合署辉、復(fù)用和綜合效益族铆。

解決方案架構(gòu)(業(yè)務(wù)單元級(jí)):對(duì)特定的業(yè)務(wù)單元定義IT系統(tǒng),業(yè)務(wù)流程和可復(fù)用的服務(wù)哭尝,橫跨業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)哥攘。

軟件架構(gòu)(軟件系統(tǒng)級(jí)):定義信息系統(tǒng)結(jié)構(gòu),包括定義子系統(tǒng)組件及其內(nèi)部關(guān)系材鹦,以及與外部系統(tǒng)的關(guān)聯(lián)關(guān)系逝淹。

三個(gè)層級(jí),層級(jí)越高桶唐,內(nèi)容越抽象栅葡,工作的內(nèi)容偏治理;層級(jí)越低尤泽,內(nèi)容越具體欣簇,工作內(nèi)容偏實(shí)現(xiàn)规脸。但在實(shí)際操作中,這三種架構(gòu)并非界限分明熊咽,也并非所有的企業(yè)都有相應(yīng)的崗位對(duì)應(yīng)這三級(jí)架構(gòu)莫鸭。如果公司規(guī)模不大,或者IT管理復(fù)雜度不高横殴,可能會(huì)由一人同時(shí)兼任企業(yè)架構(gòu)和解決方案架構(gòu)的角色被因,甚至三級(jí)架構(gòu)都由一人承擔(dān)。這都取決于公司的規(guī)模和管理的重點(diǎn)衫仑。

但從方法論上講梨与,企業(yè)架構(gòu)和應(yīng)用系統(tǒng)架構(gòu)各自都由相對(duì)成熟的框架和方法。

企業(yè)架構(gòu)

企業(yè)架構(gòu)對(duì)企業(yè)構(gòu)成要素的結(jié)構(gòu)和關(guān)系進(jìn)行模型化描述惑畴,用途是指導(dǎo)企業(yè)經(jīng)營(yíng)管理活動(dòng)的策劃蛋欣、分析和信息系統(tǒng)開(kāi)發(fā)。

一個(gè)企業(yè)架構(gòu)(EA, Enterprise Architecture)具有三個(gè)方面的含義:

EA是一個(gè)描述工具:EA為組織中的所有干系人提供了一種描述手段(模板)如贷,使其可以對(duì)組織中的業(yè)務(wù)、信息系統(tǒng)及其之間關(guān)系按照各自的視角進(jìn)行描述到踏。而且由于使用統(tǒng)一的語(yǔ)言進(jìn)行描述杠袱,所有干系人之間也有了無(wú)障礙溝通的基礎(chǔ),而這也正是EA最重要的用處窝稿。

EA是一個(gè)知識(shí)庫(kù):EA為組織中所有參與者所提供的針對(duì)企業(yè)架構(gòu)各方面的描述提供了一個(gè)分類管理楣富、便于訪問(wèn)的知識(shí)庫(kù)和信息資源庫(kù)。

EA是一個(gè)系統(tǒng)過(guò)程:為了使組織內(nèi)信息技術(shù)與業(yè)務(wù)的需求伴榔、變化相適應(yīng)纹蝴,EA提供了一套實(shí)施準(zhǔn)則和管理策略。

企業(yè)架構(gòu)最早由IBM的John Zachman提出踪少,通過(guò)信息塘安、流程、網(wǎng)絡(luò)援奢、人員兼犯、時(shí)間、基本原理6個(gè)視角構(gòu)建用于分析企業(yè)的模型集漾,稱為Zachman框架切黔。此外還有TOGAF、NAF具篇、DoDAF纬霞、MoDAF。其中最著名的是The Open Group發(fā)表的TOGAF架構(gòu)框架驱显。TOGAF將架構(gòu)定義為一個(gè)系統(tǒng)的正式描述诗芜,或指導(dǎo)系統(tǒng)實(shí)施的組件層級(jí)詳細(xì)計(jì)劃瞳抓。包含組件結(jié)構(gòu)、組件之間相互關(guān)系绢陌,以及對(duì)這些組件的設(shè)計(jì)和隨時(shí)間演進(jìn)的治理原則和指南挨下。?

企業(yè)架構(gòu)包括業(yè)務(wù)架構(gòu)和IT架構(gòu)。業(yè)務(wù)架構(gòu)描述企業(yè)是如何組織結(jié)構(gòu)的脐湾,以及交付業(yè)務(wù)愿景所需的功能性能力臭笆。從企業(yè)業(yè)務(wù)和管理的不同維度構(gòu)建模型,包括戰(zhàn)略績(jī)效秤掌、運(yùn)營(yíng)模式愁铺、流程體系、組織架構(gòu)闻鉴、資源匹配茵乱、空間布局等。IT架構(gòu)從從企業(yè)信息化實(shí)現(xiàn)的維度構(gòu)建模型孟岛,目的是描繪信息系統(tǒng)的藍(lán)圖瓶竭。IT架構(gòu)又分為數(shù)據(jù)架構(gòu)、應(yīng)用架構(gòu)和技術(shù)架構(gòu)渠羞。

軟件架構(gòu)

軟件架構(gòu)的目的是設(shè)計(jì)軟件系統(tǒng)的頂層結(jié)構(gòu)斤贰。在軟件架構(gòu)設(shè)計(jì)中,架構(gòu)師把系統(tǒng)設(shè)計(jì)的需求次询、約束和架構(gòu)方面關(guān)心的問(wèn)題轉(zhuǎn)化為結(jié)構(gòu)荧恍。然后用這些結(jié)構(gòu)來(lái)指導(dǎo)項(xiàng)目開(kāi)發(fā)運(yùn)維。軟件架構(gòu)設(shè)計(jì)主要考慮三方面因素:

系統(tǒng)功能:在設(shè)計(jì)一個(gè)軟件架構(gòu)時(shí)屯吊,至少需要考慮主要功能送巡。主要功能通常被定義為實(shí)現(xiàn)業(yè)務(wù)目標(biāo),促進(jìn)系統(tǒng)開(kāi)發(fā)的關(guān)鍵功能盒卸。其他主要功能的標(biāo)準(zhǔn)也可以是意味著技術(shù)難度更高或者需要許多架構(gòu)元素的互相作用骗爆。

質(zhì)量屬性:質(zhì)量屬性是系統(tǒng)外部可見(jiàn)的、非功能性的屬性世落,例如性能淮腾、安全性或者可伸縮性等。

外部約束:指約束架構(gòu)設(shè)計(jì)的來(lái)自方方面面的約束性需求屉佳。包括業(yè)務(wù)環(huán)境因素谷朝、使用環(huán)境因素、構(gòu)建環(huán)境因素和技術(shù)環(huán)境因素武花。

一般情況下為了實(shí)現(xiàn)一個(gè)質(zhì)量屬性或者外部約束而在某些結(jié)構(gòu)上所做的變化將對(duì)其他的質(zhì)量屬性產(chǎn)生負(fù)面影響圆凰。這些取舍是每個(gè)領(lǐng)域里每一個(gè)架構(gòu)師無(wú)法改變的事實(shí)。因此体箕,軟件架構(gòu)師的工作不是找一個(gè)最佳的解決方案专钉,而是找到一個(gè)令人滿意的方案——通過(guò)搜索一個(gè)也許很大的設(shè)計(jì)方案和決策的空間來(lái)找到一個(gè)可以接受的解決方案挑童。

應(yīng)用架構(gòu)設(shè)計(jì)的管理本身是內(nèi)嵌于項(xiàng)目管理流程里的,不管是采用瀑布模型抑或是敏捷模型跃须,都需要考慮架構(gòu)設(shè)計(jì)的環(huán)節(jié)站叼。同時(shí)業(yè)界也定義了一些架構(gòu)文檔規(guī)范來(lái)定義架構(gòu)設(shè)計(jì)在各個(gè)階段應(yīng)該產(chǎn)出什么樣的交付物。常用的架構(gòu)視圖模板有IBM的RUP定義的4+1視圖菇民,或者C4視圖尽楔,還有側(cè)重業(yè)務(wù)流程分析的BPMN和側(cè)重模型設(shè)計(jì)的UML,都是業(yè)界常用的設(shè)計(jì)模板規(guī)范第练。同時(shí)也可以參考arc42阔馋,作為架構(gòu)文檔模板。

但在不同的項(xiàng)目管理流程中娇掏,架構(gòu)設(shè)計(jì)的內(nèi)容和要求也有所不同呕寝。比如在瀑布模型中,架構(gòu)設(shè)計(jì)是設(shè)計(jì)階段重要的交付物婴梧,所以架構(gòu)設(shè)計(jì)文檔會(huì)寫(xiě)的比較全面細(xì)致下梢。目前常用的架構(gòu)模板也都是在瀑布模型的管理流程中定義出來(lái)的。而在敏捷模型中塞蹭,迭代開(kāi)發(fā)意味著前期開(kāi)發(fā)目標(biāo)和關(guān)注點(diǎn)會(huì)不完整怔球,所以也不會(huì)在前期作全面完整的設(shè)計(jì)。同時(shí)“注重可用的軟件浮还,勝于詳盡的文檔”這個(gè)原則往往會(huì)給開(kāi)發(fā)人員一個(gè)錯(cuò)覺(jué),就是我不必編寫(xiě)設(shè)計(jì)文檔闽巩,我要優(yōu)先編寫(xiě)代碼钧舌。

但需要說(shuō)明的是,“注重可用的軟件”并不意味著沒(méi)有文檔(包括架構(gòu)相關(guān)的文檔)涎跨,這僅僅意味著只有滿足當(dāng)前迭代目標(biāo)的文檔洼冻。這意味著創(chuàng)建的工作產(chǎn)品應(yīng)該盡可能少,但要充分隅很。當(dāng)編寫(xiě)一個(gè)軟件架構(gòu)的文檔時(shí)撞牢,通過(guò)充分考慮利益相關(guān)者的需求來(lái)決定您想要表達(dá)的東西。倘若架構(gòu)的利益相關(guān)者是團(tuán)隊(duì)成員或者維護(hù)人員叔营,您還必須適當(dāng)?shù)刈⒁饽鶆?chuàng)建的任何工作軟件的維護(hù)屋彪,要確保在適當(dāng)?shù)牡胤奖3炙鼈冏钚虑蚁嗷ヒ恢隆?/p>

參考資料

https://www.cnblogs.com/zscyun/archive/2013/04/25/3042144.html

Software Systems Architecture, 2nd. 中文版 《軟件系統(tǒng)架構(gòu)》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绒尊,隨后出現(xiàn)的幾起案子畜挥,更是在濱河造成了極大的恐慌,老刑警劉巖婴谱,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟹但,死亡現(xiàn)場(chǎng)離奇詭異躯泰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)华糖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)麦向,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人客叉,你說(shuō)我怎么就攤上這事诵竭。” “怎么了十办?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵秀撇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我向族,道長(zhǎng)呵燕,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任件相,我火速辦了婚禮再扭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘夜矗。我一直安慰自己泛范,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布紊撕。 她就那樣靜靜地躺著罢荡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪对扶。 梳的紋絲不亂的頭發(fā)上区赵,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音浪南,去河邊找鬼笼才。 笑死,一個(gè)胖子當(dāng)著我的面吹牛络凿,可吹牛的內(nèi)容都是我干的骡送。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼絮记,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼摔踱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起到千,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昌渤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后憔四,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體膀息,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡般眉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了潜支。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甸赃。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冗酿,靈堂內(nèi)的尸體忽然破棺而出埠对,到底是詐尸還是另有隱情,我是刑警寧澤裁替,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布项玛,位于F島的核電站,受9級(jí)特大地震影響弱判,放射性物質(zhì)發(fā)生泄漏襟沮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一昌腰、第九天 我趴在偏房一處隱蔽的房頂上張望开伏。 院中可真熱鬧,春花似錦遭商、人聲如沸固灵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)巫玻。三九已至,卻和暖如春祠汇,著一層夾襖步出監(jiān)牢的瞬間大审,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工座哩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人粮彤。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓根穷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親导坟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屿良,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容