首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 繽紛校園 英語學習
2010考研 | 自學考試 | 成人高考 | 專 升 本 | 法律碩士 | MBA/MPA | 中 科 院
四六級 | 商務英語 | 公共英語 | 職稱日語 | 職稱英語 | 博思 | 口譯筆譯 | GRE GMAT | 日語 | 托福
雅思 | 專四專八 | 新概念 | 自考英語 | 零起點英、、韓語 | 在職申碩英語
在職攻碩英語 | 成人英語三級
等級考試 | 水平考試 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
公務員 | 報關員 | 報檢員 | 外銷員 | 司法考試 | 導游考試 | 教師資格 | 國際商務師 | 跟單員
單證員 | 物流師 | 價格鑒證師 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 人力資源管理師 | 管理咨詢師
期貨從業(yè)資格 | 社會工作者
會計職稱 | 注會CPA | 經濟師 | 統(tǒng)計師 | 注冊稅務師 | 評估師 | 精算師 | 高會 | ACCA | 審計師
法律顧問 | 會計證
一級建造師 | 二級建造師 | 造價師 | 監(jiān)理師 | 安全師 | 咨詢師 | 結構師 | 建筑師 | 安全評價師
房地產估價師 | 土地估價師 | 設備監(jiān)理師 | 巖土工程師 | 質量資格 | 房地產經紀人 | 造價員
投資項目管理 | 土地代理人 | 環(huán)保師 | 環(huán)境影響評價 | 物業(yè)管理師 | 城市規(guī)劃師 | 公路監(jiān)理師
公路造價工程師 | 招標師
執(zhí)業(yè)護士 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 衛(wèi)生資格
您現在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 系統(tǒng)分析師 > 正文

卡內基梅隆大學軟件研究所關于軟件架構的定義[1]

  軟件架構(software architecture)是一系列相關的抽象模式,用于指導大型軟件系統(tǒng)各個方面的設計。 軟件架構是一個系統(tǒng)的草圖。軟件架構描述的對象是直接構成系統(tǒng)的抽象組件。各個組件之間的連接則明確和相對細致地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連接通常用接口_(計算機科學)來實現。

  軟件體系結構是構建計算機軟件實踐的基礎。與建筑師設定建筑項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,一個軟件架構師或者系統(tǒng)架構師陳述軟件構架以作為滿足不同客戶需求的實際系統(tǒng)設計方案的基礎。mda.com  

  軟件構架是一個容易理解的概念,多數工程師(尤其是經驗不多的工程師)會從直覺上來認識它,但要給出精確的定義很困難。特別是,很難明確地區(qū)分設計和構架:構架屬于設計的一方面,它集中于某些具體的特征。

  在“軟件構架簡介”中,David Garlan 和 Mary Shaw 認為軟件構架是有關如下問題的設計層次:“在計算的算法和數據結構之外,設計并確定系統(tǒng)整體結構成為了新的問題。結構問題包括總體組織結構和全局控制結構;通信、同步和數據訪問的協議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇!盵GS93]

  但構架不僅是結構;IEEE Working Group on Architecture 把其定義為“系統(tǒng)在其環(huán)境中的最高層概念”[IEEE98]。構架還包括“符合”系統(tǒng)完整性、經濟約束條件、審美需求和樣式。它并不僅注重對內部的考慮,而且還在系統(tǒng)的用戶環(huán)境和開發(fā)環(huán)境中對系統(tǒng)進行整體考慮,即同時注重對外部的考慮。

  在 Rational Unified Process 中,軟件系統(tǒng)的構架(在某一給定點)是指系統(tǒng)重要構件的組織或結構,這些重要構件通過接口與不斷減小的構件與接口所組成的構件進行交互。

  從和目的、主題、材料和結構的聯系上來說,軟件架構可以和建筑物的架構相比擬。一個軟件架構師需要有廣泛的軟件理論知識和相應的經驗來事實和管理軟件產品的高級設計。軟件架構師定義和設計軟件的模塊化,模塊之間的交互,用戶界面風格,對外接口方法,創(chuàng)新的設計特性,以及高層事物的對象操作、邏輯和流程。

  一般而言,軟件系統(tǒng)的架構(Architecture)有兩個要素:

  ·它是一個軟件系統(tǒng)從整體到部分的最高層次的劃分。

  一個系統(tǒng)通常是由元件組成的,而這些元件如何形成、相互之間如何發(fā)生作用,則是關于這個系統(tǒng)本身結構的重要信息。

  詳細地說,就是要包括架構元件(Architecture Component)、聯結器(Connector)、任務流(Task-flow)。所謂架構元素,也就是組成系統(tǒng)的核心"磚瓦",而聯結器則描述這些元件之間通訊的路徑、通訊的機制、通訊的預期結果,任務流則描述系統(tǒng)如何使用這些元件和聯結器完成某一項需求。

  ·建造一個系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術的決定。

  在建造一個系統(tǒng)之前會有很多的重要決定需要事先作出,而一旦系統(tǒng)開始進行詳細設計甚至建造,這些決定就

很難更改甚至無法更改。顯然,這樣的決定必定是有關系統(tǒng)設計成敗的最重要決定,必須經過非常慎重的研究和考察。

   歷史

   早在1960年代,諸如E·W·戴克斯特拉就已經涉及軟件架構這個概念了。自1990年代以來,部分由于在Rational Software Corporation 和Microsoft內部的相關活動,軟件架構這個概念開始越來越流行起來。

   卡內基梅隆大學和加州大學埃爾文分校在這個領域作了很多研究?▋然っ仿〈髮W的Mary Shaw和David Garlan于1996年寫了一本叫做 Software Architecture perspective on an emerging discipline的書,提出了軟件架構中的很多概念,例如軟件組件、連接器、風格等等。 加州大學埃爾文分校的軟件研究院所做的工作則主要集中于架構風格、架構描述語言以及動態(tài)架構。

  計算機軟件的歷史開始于五十年代,歷史非常短暫,而相比之下建筑工程則從石器時代就開始了,人類在幾千年的建筑設計實踐中積累了大量的經驗和教訓。建筑設計基本上包含兩點,一是建筑風格,二是建筑模式。獨特的建筑風格和恰當選擇的建筑模式,可以使一個獨一無二。

轉帖于:軟件水平考試_考試吧
文章搜索
卡內基梅隆大學軟件研究所關于軟件架構的定義[1]網友評論網友評論
版權聲明 --------------------------------------------------------------------------------------
    如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
 gaoxiaoliang