- 相關(guān)推薦
軟件架構(gòu)是什么-什么是系統(tǒng)架構(gòu)
系統(tǒng)架構(gòu)師的工作是復雜設(shè)計總體解決方案以及領(lǐng)域?qū)ο蟮倪壿嫼臀锢聿季?這是一項在復雜環(huán)境中高風險、高影響力的活動。那么軟件架構(gòu)是什么呢?什么是系統(tǒng)架構(gòu)呢?一起來了解一下!
軟件架構(gòu)到底是什么
軟件架構(gòu)可以被簡單的描述為,一系列組件之間的組合,交互,繼承的關(guān)系。當然這樣的解釋基本上人人都可以接收。不過在我們看來,這樣的說法有點過于抽象。
軟件架構(gòu)有這標準的定義,就是參考ANSI/IEEE的標準,軟件架構(gòu)可以理解為軟件密集型系統(tǒng)中對系統(tǒng)的實現(xiàn)和部署起決定性作用的的系統(tǒng)。
軟件架構(gòu)中的關(guān)鍵點是應(yīng)該符合項目干系人的目標,功能上當然細分成功能性的和非功能性的需求。
軟件架構(gòu)有一定的特殊性,架構(gòu)設(shè)計必須開發(fā)的初期就確定,架構(gòu)設(shè)計作為關(guān)鍵決策必須前期確定。
軟件架構(gòu)其實主要是要符合項目干系人的目標,如果無法滿足項目干系人的目標,那么這個架構(gòu)方案就行不通,下圖是ANSI/IEEE標準中定義的系統(tǒng)、架構(gòu)與項目干系人直接的關(guān)系。
開篇中已經(jīng)介紹了系統(tǒng)架構(gòu)的表述工具有UML和Relation Rose,UML基本上已經(jīng)成為國際的標準。
UML的類圖:主要是描述類之間的關(guān)系。
用例圖:描述使用場景。
組件圖:用來描述系統(tǒng)中的可重用部分。并且容易看出組件與二進制文件之間的對應(yīng)關(guān)系。
通過UML工具,我們能夠更深層次對系統(tǒng)架構(gòu)進行不同角度的描述。抓住其核心。
軟件架構(gòu)的驗證,目前沒有什么好的辦法可以自動驗證軟件架構(gòu)是否可以達到項目干系人的目標,只有通過多種方式多個級別的測試。
例如通過單元測試,來驗證單一的功能,集成測試來評估系統(tǒng)的兼容性,驗收測試來驗證用戶的滿意度,程序是否提供必要的功能。
除了UML建模工具之外,還有IBM比較著名的Relation Rose,這里大概介紹下該工具具有的視圖模式:
系統(tǒng)的架構(gòu)
可以這樣說,軟件系統(tǒng)的架構(gòu)過程中沒有什么系統(tǒng)是不可拆分的,系統(tǒng)的開發(fā)方法越敏捷,為開發(fā)人員實現(xiàn)架構(gòu)是預(yù)留的空間越大。
系統(tǒng)架構(gòu)師將系統(tǒng)分解的過程,其實最終形成的就是一份為開發(fā)人員提供的詳細設(shè)計說明書。當然詳細設(shè)計說明書的內(nèi)容和格式也取決于開發(fā)方法。
架構(gòu)是什么
架構(gòu)大多體現(xiàn)在難以改變或者改變起來代價較大的決定上。但是最終還是需要有人做決定。
系統(tǒng)分析師分析系統(tǒng)做什么,架構(gòu)師設(shè)計如何去做。
架構(gòu)師是需求與詳細說明的紐帶。
架構(gòu)師的職責:架構(gòu)師應(yīng)該參與到開發(fā)的全過程當中。包括分析需求與架構(gòu)設(shè)計、實現(xiàn)、測試、繼承與部署。
按照ISO的定義架構(gòu)師的定義如下:負責系統(tǒng)架構(gòu)的人、團隊或組織。
微軟則對系統(tǒng)架構(gòu)是做了如下的劃分:
1、企業(yè)架構(gòu)師。
2、基礎(chǔ)架構(gòu)師。
3、特定技術(shù)架構(gòu)師。
4、解決方案架構(gòu)師。
最后總結(jié)軟件開發(fā)過程中的一些法則:
1、為了一個趕不上進度的項目增加人手,只會讓項目更加落后于進度。
2、程序的復雜性會一直的增加,直到維護人員感覺到力不從心為止。
3、建筑師與開發(fā)人員寫程序不同,如果建筑師按照開發(fā)人員的方式開建造,只會成為歷史中的敗筆。
【軟件架構(gòu)是什么-什么是系統(tǒng)架構(gòu)】相關(guān)文章:
什么是系統(tǒng)架構(gòu)師-如何成為系統(tǒng)架構(gòu)師08-10
什么是系統(tǒng)架構(gòu)師08-01
系統(tǒng)架構(gòu)師應(yīng)該掌握什么08-29
智慧健康系統(tǒng)架構(gòu)09-01
系統(tǒng)架構(gòu)師知識:什么是CAP07-21
秒殺系統(tǒng)架構(gòu)分析09-22