首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學習 | ||
2010考研 | 自學考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院 | ||
四六級 | 商務英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福 | ||
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、法、德、日、韓語 | 在職申碩英語 | ||
在職攻碩英語 | 成人英語三級 | ||
等級考試 | 水平考試 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 | ||
公務員 | 報關員 | 報檢員 | 外銷員 | 司法考試 | 導游考試 | 教師資格 | 國際商務師 | 跟單員 | ||
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師 | ||
期貨從業(yè)資格 | 社會工作者 | ||
會計職稱 | 注會CPA | 經(jīng)濟師 | 統(tǒng)計師 | 注冊稅務師 | 評估師 | 精算師 | 高會 | ACCA | 審計師 | ||
法律顧問 | 會計證 | ||
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結構師 | 建筑師 | 安全評價師 | ||
房地產(chǎn)估價師 | 土地估價師 | 設備監(jiān)理師 | 巖土工程師 | 質(zhì)量資格 | 房地產(chǎn)經(jīng)紀人 | 造價員 | ||
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師 | ||
公路造價工程師 | 招標師 | ||
執(zhí)業(yè)護士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格 |
架構設計能夠滿足系統(tǒng)的品質(zhì)
系統(tǒng)的功能性是軟件構架師通過組成體系架構的多種元素之間的交互作用來支持的。然而,架構設計的一個關鍵特性是,系統(tǒng)的品質(zhì)是通過某些手段來實現(xiàn)的。軟件的品質(zhì),例如性能,安全性和可維護性等,它們在缺少統(tǒng)一的架構設計視圖時是無法實現(xiàn)的,因為這些品質(zhì)并不是被限制在一個單一的架構設計元素中,而是滲透在整個架構設計體系中的。例如,為了滿足性能要求,可能需要考慮體系架構中的每一個組件的實現(xiàn)時間,同時還要考慮各組件之間通訊所花費的時間。同樣地,為了滿足安全性要求,可能需要考慮兩個組件之間自然的通訊,并且要在需要的特定的地方引入安全性提示組件。所有的這些關系都屬于體系架構,在上面的例子中,這些關系包括組件自身的和組件之間的。mda.com
一個和架構設計相關的好處是,我們可以盡早的評估項目開發(fā)周期中的這些品質(zhì)。架構設計模型的建立,通常是為了明確的確定我們已經(jīng)滿足了這些品質(zhì)的要求。這是非常重要的,因為不論寫在紙上的體系架構多么的完美,實現(xiàn)的軟件才是評價體系架構是否達到這些品質(zhì)的要求的唯一標準。
架構設計使我們達成一致的目標
架構設計的過程使得不同的涉眾達成一致的目標,因為架構設計提供了一個辯論系統(tǒng)解決方案的媒體。為了支持這種辯論,體系架構的過程需要確保架構設計被清楚地傳達與理解。一個被有效傳達的體系架構使得涉眾們可以辯論決議和權衡,反復討論,最終達成共識。相反,如果一個體系架構沒有被有效的傳達,那么這種辯論將不會發(fā)生。沒有了有效的傳達,體系架構所帶來的結果可能會是低品質(zhì)的。
在一條相關的說明中,體系架構可能會使構架師之間或者新成員與老成員之間的辯論達成一致(以及他們之間的視圖)。我們需要再次強調(diào),只有體系架構被有效傳達,它所帶來的這個好處才能體現(xiàn)出來。清楚地了解他們正在做什么的開發(fā)小組更可能按照需求完成產(chǎn)品的開發(fā)。
為此,我再次強調(diào)恰當?shù)奈臋n化體系架構是非常重要的,這是軟件構架師的主要職責。同樣的,一個架構設計的概念證明是一個證明體系架構是否滿足最初的需求的極好的方法。
架構設計能夠支持計劃編制過程
架構設計的過程支持一些步驟。很明顯,它支持設計和實現(xiàn)活動,因為體系架構是直接使用到這些活動中的。然而,在架構設計過程所帶來的好處中,我們可以證明其中最主要的好處通常是那些和支持相關的,被提供給項目計劃和項目管理的活動,例如:細節(jié)化分,日程安排,工作分配,成本分析,風險管理和技能開發(fā)等。架構設計的過程可以支持所有這些相關內(nèi)容,這也正是軟件構架師和項目經(jīng)理應該擁有一種很密切關系的一個主要原因。這個支持的大部分來自于體系架構確定的系統(tǒng)中重要的組件和它們之間關系的行為。請看圖1中的UML組件圖,它已經(jīng)為我們的討論作了簡化。這個圖顯示了這四個組件之間的依賴性。
圖1:UML組件圖顯示了架構設計中的重要元素
在日程安排方面,它們之間的依賴性暗示了每一個元素被考慮的順序。從一個實施透視圖來看,例如,依賴性告訴我們Error Log組件必須最先實現(xiàn),因為其余的所有組件都要使用它。Customer Management和Fulfillment組件可以同時實現(xiàn),因為它們之間不存在依賴關系。最后,一旦這兩個組件也被實現(xiàn)完了,那么Account Management組件就可以被實現(xiàn)了。通過這個信息,我們可以畫出甘特圖(項目經(jīng)理的一個主要計劃編制工具),如圖2所示。圖中顯示的每一個任務在實現(xiàn)時間時都需要一些思考,但是它們中的一部分可以于每一個架構設計元素的復雜性。
圖2:基于架構設計中重要元素之間依賴性的甘特圖
很明顯這是一個很多原因的總的簡化。例如,所有這些元素都不可能作為一個單一的組件被實現(xiàn),但是這對于一個用例來說太過復雜了。同樣,我們可以建立"存根的"或者部分的實現(xiàn),使得每一個元素的實現(xiàn)都能夠平行實現(xiàn)。我使用這個例子來簡單的證明這個原理。
在工作分配中,體系架構能夠再次幫助我們鑒別需要特定技能的區(qū)域,使得我們可以把工作分配給特定的資源(例如:人)。
構架師還能協(xié)助估算項目成本。一個項目的成本來自多個方面。很明顯,任務的持續(xù)時間和分配給每一部分的資源將會決定勞動力的成本。體系架構同樣會幫助我們決定使用在交付的系統(tǒng)中的第三方組件的成本,以及支持開發(fā)成果的所有工具的成本,因為構架師參與的活動是一個經(jīng)過挑選的恰當?shù)拈_發(fā)環(huán)境,它允許設計人員,實現(xiàn)人員和其他小組成員使用同一個有效的方式一起工作。
構架師的另外一個焦點是鑒別和管理項目的技術風險。技術風險的管理包括制定每一個風險的優(yōu)先次序,以及確定一個恰當?shù)娘L險緩解策略。優(yōu)先權和風險緩解策略作為輸入部分提供給項目經(jīng)理。
最后,體系架構確定離散組件的解決方案,它可以為項目提供所需的技術輸入。如果項目或者組織中沒有足夠可用的資源,那么它會明確的辨別出哪里需要技術支持。這可以通過現(xiàn)存的職員,或者外包,或者通過雇傭新職員來實現(xiàn)。