




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上軟件架構核心技術探究本文從網絡收集而來,上傳到平臺為了幫到更多的人,如果您需要使用本文檔,請點擊下載按鈕下載本文檔(有償下載),另外祝您生活愉快,工作順利,萬事如意!軟件在人類社會活動中發(fā)揮著不可估量的作用,軟件工程旨在研究軟件系統架構、開發(fā)、運行、維護、演化的創(chuàng)新方法以提高效率和質量1.軟件并非開發(fā)商為客戶提供的第一樣東西,但它的好壞會直接影響客戶的感受。無論公司大小,對軟件的依賴程度都在急劇增加。不管公司關注的戰(zhàn)略重點是什么,軟件架構已經成為一種能力,掌握得好將極大提升公司的實力和水平,否則會嚴重削弱項目或系統構建2.本文通過視圖幫助架構師解決軟件架構的關鍵問題,
2、從而使其概念具有可操作性。1 軟件架構概述以往軟件架構所關注的核心問題是系統的復雜性,然而今天許多系統具有與摩天大樓媲美的復雜性。因此,軟件設計問題超出了算法和數據結構,設計和指定整個系統結構就是軟件架構級別的設計。很明顯,復雜性是軟件架構必須解決的一個關鍵問題3.主要體現在兩方面:知識難駕馭,如構建系統的復雜性、規(guī)模、依賴關系和采用技術等;管理難駕馭,如構建系統的組織和流程、參與構建系統的人數、項目的依賴關系、外包、地理分布的團隊等4.分解系統可以解決復雜性問題,但是怎么分片?好的分解滿足組件之間松散耦合的原則,通過干凈接口,合理地將其劃分為可單獨處理的獨立部分以簡化問題。該結構必須支持系統
3、所需的功能或服務。因此,必須考慮系統的動態(tài)行為,還要有必要的基礎設施支持這些服務5.如何將切片結合在一起是界面與各個部分之間的關系問題。保持系統完整性的同時,也需要保證這些切片組成的系統具有良好適應性。這些品質或特性對系統具有分散或系統性影響,因此是交叉分割的關注點。這不是一個孤立的問題,因為分解是由其它問題驅動的,無論怎樣分割,多個部分都必須合作解決這些關注點。為了有效地解決跨部門關切的問題,必須首先在范圍更廣的層面上處理問題。許多系統質量(非功能性要求或服務級協議)具有這種性質,包括性能、安全性和互操作性要求。例如,為了使圖像更加復雜,可能會與系統質量發(fā)生沖突,因此要考慮到系統質量的相對優(yōu)
4、先級,必須在備選方案之間權衡。架構的另一個關鍵是方案能否適應環(huán)境,這關系到一致性與和諧,也是業(yè)務戰(zhàn)略和用戶目標一致的問題。架構不僅要適應原有系統的環(huán)境,不破壞以往投資的價值,而且應該對已經被證明有效的東西進行規(guī)格化,避免不必要的重復。除整合經驗教訓外,還應該識別與利用系統內部及跨系統復用。此外,應該預見趨勢和可能的未來情景6.2 架構決策核心問題這需要從廣泛范圍或系統的角度進行。任何于狹義局部進行的決策,都不是架構。架構決策即使不對整個系統,至少對系統的不同部分會產生影響,因此需要從全局視角考慮這種影響,并作出必要的權衡7.例如,對于單個應用程序,組件設計者作出的任何決策都應該服從架構。如果架
5、構的范圍是一組應用程序,則任何與單個應用程序相關的決策都應該服從系統架構。那些對系統影響不大的決策不是架構。所以,架構決策應該關注高影響、高優(yōu)先級且與業(yè)務策略緊密結合的領域,如表1所示。基于軟件架構所涉及的核心問題,架構決策包含:優(yōu)先級設置、分解與合成、屬性特別是交叉切割關注點、適應環(huán)境和完整性。 優(yōu)先級設置在設計大型復雜系統時,關鍵要把重點放在明確的事情上,這樣就可以把注意力集中在高優(yōu)先級領域,從而可以合理地作出取舍,并且在商定的優(yōu)先事項上作出合理的決策。架構師需要負責系統技術方面的優(yōu)先級設置。這是一個高度戰(zhàn)略化過程,涉及:業(yè)務,包括業(yè)務策略和方向、核心競爭力和資源;市場,包括客戶、競爭對手
6、、供應商;渠道技術,包括趨勢和機會;約束,包括現有技術投資、現存系統挑戰(zhàn)和系統成功障礙、系統開發(fā)和業(yè)務8. 分解與組合軟件架構的基礎是系統結構,即系統的主要結構元素或組件以及它們的相互關系。在分離特定的關注點時,必須確保系統的功能或服務可由協作中的組件交付。因此對于每個組件的職責要有一致的假設;還必須文檔化,形成適當的上下文,以便相對獨立地開發(fā);能在不了解內部構件的情況下使用組件。這些是組件的外部可見屬性。 屬性與交叉分割系統分解針對一些關注點進行特定分解,以便能夠獨立處理。不同的分區(qū)選擇傾向于隔離不同的關注點。交叉分割會影響系統的各個部分,因此必須將協作組件集合在一起,以正確地處理每一個關注
7、點。例如,性能通常需要在架構所允許的交互模式下加以考慮,而不僅僅是優(yōu)化各部分的性能。有些關注點,比如互操作性,需要關注特定架構,并且設計一種解決機制。該機制可以被設計為一組協作組件,集中于解決交叉分割關注點。例如,接口可置于非核心內聚集的組件上。 系統適應上下文系統適應上下文的關鍵技術是與外部系統的互操作性、一致性和接口。然而,適合開發(fā)機構的文化和功能,也是架構決策和選擇的考慮因素。 完整性完整性是指應具有統一的整體設計、形式或結構,無論片大小都是一致的。此外,還包括內部平衡、兼容性和各部分之間的和諧,以及適應環(huán)境與目標9.首先,在高層結構設計時,需要為系統創(chuàng)建完整概念,確保組件、屬性和關系能
8、夠加入并為完整性打下基礎。這里有一個關鍵的角色,即視覺、架構風格、原則和概念為高層結構到詳細設計提供一致方法。其次,一些決策雖然與高層結構無關,但與架構的完整性有關,也要認定屬于架構。然而,系統完整性為架構師打開了一扇門,讓他們作出了本應該是組件設計和實現者應該作的決策。因此,簡約架構精神應該得到發(fā)揚。 簡約架構可以應用3個原則實現簡約架構:若決策是在一個較窄的范圍內進行,則交給負責該范圍的團隊;只在重大結構性需求上強調架構決策,包括戰(zhàn)略目標、重要且獨特的服務以及系統性或對系統有交互影響的特質與屬性;當決策被引入時,應該就它們對組織采用架構的整體能力所產生的影響進行評估。一個決策可能會解決一個
9、高度關注的問題,若它會導致架構被破壞,那么將其放在一邊。作為簡約架構規(guī)程的一部分,每個決策都該有一個合理理由和說明。決策應該在全局范圍內進行優(yōu)化,但在局部可能是次優(yōu)的2.因此那些只有局部視野的人必須理解任何局部優(yōu)化對整個系統的影響10.另外,提供基本原則允許在架構上進行檢查和平衡,在不犧牲高優(yōu)先架構需求的情況下,可以更好地實現重大需求,并且可以合理地與架構決策相沖突。3 架構決策框架架構決策實際上處于不同的抽象級別。核心關注點是架構的結構元素和它們的外部屬性及關系。然而,還有更高層次的決策可以指導與約束系統分解和結構化決策,也有一些低級的決策指導與約束下一個級別的設計和實現。這在圖1所示的軟件
10、架構分層模型中得到了體現。模型提供了高度有效的關注點分離方法,幫助架構師組織決策過程,為行動提供定位。它由模型、描述、解釋等組成,通過捕獲架構決策,幫助相關人員對架構進行可視化,并了解如何處理關注點。架構描述指導系統的創(chuàng)建。 元架構這是一組高層決策,它強調影響系統的完整性和結構,但其本身不是系統結構。通過風格、組合或交互模式、原則和哲學,元架構規(guī)定某些結構性選擇,并指導選擇決策和權衡取舍。通過反復選擇跨架構的通信或協調機制,確保方法一致,從而簡化架構。這種方法也可以幫助找到對系統有用的隱喻或組織概念。它還可以幫助考慮系統應該具備的質量,甚至幫助選擇需要的組件,最終使架構更加生動和易理解11.
11、架構的3個級別這是分層決策模型的核心,也是架構活動的中心。通過設置系統優(yōu)先級和約束,確保系統能實現目標和需求。該工作由元架構中的決策提供信息和約束,使用不同的視圖增強架構的可理解性,并單獨關注特定的關注點。架構由概念、邏輯和執(zhí)行3個級別組成,如圖2所示。(1)概念架構。確定系統的高級組件以及之間的關系,在不關注細節(jié)的情況下,注意力集中在系統的適當分解上。此外,還提供一種用于架構與非技術人員之間的通信工具,由架構圖(無接口細節(jié))和組件的非正式規(guī)范組成。(2)邏輯架構。在邏輯架構中,組件的外部屬性通過定義良好的接口和組件規(guī)范實現精確定義,并詳細描述關鍵的架構機制。它提供一份詳細的藍圖,使組件開發(fā)者
12、和用戶可以相對獨立地工作。它包含詳細的架構圖、組件和接口規(guī)范以及組件協作圖,還有關于機制、原理等的解釋。(3)執(zhí)行架構。它是為分布式或并發(fā)系統創(chuàng)建的。流程視圖是組件到物理系統過程的映射,關注的重點是吞吐量和可伸縮性等問題。部署視圖是執(zhí)行系統中組件到物理系統節(jié)點的映射。 架構的結構與行為視圖結構和行為視圖對于思考和表示架構都很重要。如果接受架構是由組件組成的系統高層結構、組件的相互關系和外部屬性,則結構視圖是其核心。它由架構圖(原型UML類圖)、組件和接口規(guī)格組成。將系統分解為組件并設計接口,在設計解決關鍵交叉分割關注點的機制時,行為視圖和它的組件協作或序列圖(固定的UML序列和協作圖)可以幫助
13、理解這個過程12-13.結構和行為視圖都適用于概念、邏輯和執(zhí)行這三級架構。它們之間的關系如表2所示。4 架構指導方針為了保持系統的完整性或解決分割關注點, 架構師可以指導或約束架構決策集的底層設計與實現。也即合理地幫助設計和開發(fā)者應用架構并注意問題的正確特征,這樣他們的決策就是明確的。一般來說,除非有嚴格的架構理由限制設計和開發(fā)者自由發(fā)揮,否則應避免使用規(guī)定。(1)通信架構決策。除非記住、接受和理解,否則架構決策是無能為力的。架構文檔的主要目標是記錄決策過程。為了達到目標,文檔必須完整且明確。(2)通信架構。為了達成目標,還必須考慮每個相關人員需要知道什么,以及如何更好地向他們傳達必要的信息。
14、(3)架構驅動。雖然不是體系結構的一部分,但是塑造架構的驅動因素對于明確和分享是很重要的。它們包括:架構遠景,即架構的期望狀態(tài);架構需求,即相關人員目標和架構功能需求,以及系統質量和約束;假設、勢力和趨勢,即當前業(yè)務、市場和技術環(huán)境的斷言以及架構規(guī)劃的范圍。(4)構架視圖。圖1和表2展示了一組標準化視圖。這些是指導決策時的有用東西,所提供的思考工具幫助決策和選擇。它們也是架構規(guī)范的基礎,是抽象、特異和精確性選擇級別中的完整架構決策集。(5)架構文檔。有了架構驅動和各種視圖等原始資料,也就可以針對不同的人員編寫文檔和報告。文檔包括所有架構規(guī)格書、管理概要和組件文檔。(6)管理概要。為了易于管理,需要創(chuàng)建一個高層次概要,包括遠景、業(yè)務驅動、架構圖及將業(yè)務策略與技術策略聯系起來的基本方法。(7)組件文檔。對于每個組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學試題(管理類)-信息管理學歷年參考題庫含答案解析(5套典型考題)
- 2025年大學試題(法學)-擔保法歷年參考題庫含答案解析(5套典型考題)
- 2025年大學試題(法學)-勞動法歷年參考題庫含答案解析(5套典型考題)
- 2025年大學試題(大學選修課)-石文化與寶玉石鑒賞歷年參考題庫含答案解析(5套典型考題)
- 2025年大學試題(哲學)-批判與創(chuàng)意歷年參考題庫含答案解析(5套典型考題)
- 2025年大學試題(醫(yī)學)-臨床護理學歷年參考題庫含答案解析(5套典型考題)
- 2025年外貿類-報檢員歷年參考題庫含答案解析(5套典型考題)
- 2025年衛(wèi)生資格(中初級)-超聲波醫(yī)學與技術(主管技師)歷年參考題庫含答案解析(5套典型題)
- 2025年醫(yī)學高級職稱-中醫(yī)皮膚與性病學(醫(yī)學高級)歷年參考題庫含答案解析(5套典型題)
- 2025年會計職稱考試-農村財會人員資格考試歷年參考題庫含答案解析(5套典型考題)
- ktv轉讓標準合同范本(3篇)
- DL∕T 2041-2019 分布式電源接入電網承載力評估導則
- 普外科醫(yī)療質量評價體系與考核標準
- IWE(國際焊接工程師)考試試題生產模塊
- 40M躉船總體建造方案
- 吞咽障礙患者的營養(yǎng)支持課件
- 無人機操控快速入門訓練法
- 中國醫(yī)院質量安全管理 第4-13部分:醫(yī)療管理住院患者健康教育 T∕CHAS 10-4-13-2020
- 化學工業(yè)計量器具分級管理辦法解釋
- 火電廠熱控施工方案
- 高中物理(人教版)必修1全冊課件
評論
0/150
提交評論