軟件工程課件09_第1頁
軟件工程課件09_第2頁
軟件工程課件09_第3頁
軟件工程課件09_第4頁
軟件工程課件09_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

軟件工程

第九章進行體系結構設計9.1軟件體系結構9.2數(shù)據(jù)設計9.3體系結構風格和模式9.4體系結構設計9.5評估可選的體系結構設計9.6映射數(shù)據(jù)流到軟件體系結構1軟件工程一個程序或計算機系統(tǒng)的軟件體系結構包括一個或一組軟件構件、軟件構件的外部可見特性及其相互關系。軟件構件的外部可見特性是指軟件構件提供的服務、性能、特性、錯誤處理、共享資源使用等。軟件體系結構的基本單位是軟件構件,軟件構件是一個軟件體系結構的核心。9.1軟件體系結構什么是體系結構?2軟件工程軟件構件可以是子系統(tǒng),也可以是模塊。在它們之間沒有清晰的界限,但可以依據(jù)下列兩點加以區(qū)分:一個子系統(tǒng)獨立構成系統(tǒng),不依賴其他子系統(tǒng)提供的服務。子系統(tǒng)由模塊或更小的子系統(tǒng)構成。子系統(tǒng)之間的交互通過它們的接口。一個模塊通常是一個能提供一個或多個服務的系統(tǒng)構件,它能夠利用其他模塊提供的服務,一般不被看成一個獨立的系統(tǒng),模塊可以由更簡單的模塊組成。3軟件工程為什么體系結構這么重要軟件體系結構的表示有助于對計算機系統(tǒng)開發(fā)感興趣的共利益者展開交流;突出了早期設計決策,這些決策對隨后的所有軟件工程工作有深遠的影響,同時對系統(tǒng)作為一個可運行實體的最后成功有重要作用;體系結構“構建了一個相對小的,易于理解的模型,該模型描述了系統(tǒng)如何構成以及其構件如何一起工作”4軟件工程9.2數(shù)據(jù)設計軟件體系結構設計=數(shù)據(jù)設計+體系結構設計數(shù)據(jù)包括數(shù)據(jù)對象和面向?qū)ο笙到y(tǒng)中類數(shù)據(jù)設計把分析模型中的數(shù)據(jù)(對象)轉化成軟件構件級的數(shù)據(jù)結構,并在必要時轉化為應用程序級的數(shù)據(jù)庫體系結構。5軟件工程9.3體系結構風格和模式體系結構風格表現(xiàn)出的內(nèi)容:(1)一組構件,完成系統(tǒng)需要的某種功能;(2)一組連接器,它們能使構件間實現(xiàn)“通信、合作和協(xié)調(diào)”;(3)約束,定義構件如何集成為一個系統(tǒng);(4)語義模型,它能使設計者通過分析系統(tǒng)的構成成分的性質(zhì)來理解系統(tǒng)的整體性質(zhì)。6軟件工程體系結構風格和模式體系結構風格和模式都是對體系結構設計施加的一種變換。區(qū)別:(1)模式比風格在概念上范圍要??;(2)模式在體系結構上施加規(guī)則;(3)模式傾向于在系統(tǒng)結構的環(huán)境中處理特定的行為問題。7軟件工程體系結構風格的分類1、以數(shù)據(jù)為中心的體系結構所有共享數(shù)據(jù)都存放于數(shù)據(jù)庫中,這些數(shù)據(jù)可為所有子系統(tǒng)存取。每個子系統(tǒng)保有各自的數(shù)據(jù)庫,通過傳送消息,可在子系統(tǒng)之間交換數(shù)據(jù)。大量的數(shù)據(jù)圍繞一個共享數(shù)據(jù)庫或數(shù)據(jù)倉庫來組織。這種系統(tǒng)主要適用于控制系統(tǒng),信息管理系統(tǒng),CAD系統(tǒng),CASE工具集。8軟件工程體系結構風格的分類2、數(shù)據(jù)流體系結構將系統(tǒng)分解為一系列功能模塊。這種結構包括管道及過濾器。在體系結構中的每一個成份都有一套輸入和輸出數(shù)據(jù),都依輸入-變換-輸出的方式工作。進行數(shù)據(jù)變換的構件叫做過濾器。把數(shù)據(jù)從一個過濾器的輸出導入到另一個過濾器的輸入,就叫做管道。9軟件工程體系結構風格的分類3、調(diào)用和返回體系結構此即熟悉的自頂向下的子程序模型??刂剖加谧映绦?qū)哟蔚捻敳浚ㄟ^子程序調(diào)用,從層次結構較高層的程序向較低層的程序傳遞控制信息。程序執(zhí)行結束將向較高層的父程序返回。Routine1.1Routine1.2Routine3.1Routine3.2Routine1Routine2Routine3MainProgram10軟件工程體系結構風格的分類4、層次體系結構層次式結構中,每一層向其上層提供服務,并利用下層的服務。在層次系統(tǒng)中,內(nèi)部層次全部被隱藏起來,只有外部層次或某些功能可以被外部可見。11軟件工程體系結構模式所謂模式一詞來源于城市和建筑領域。美國加州大學環(huán)境結構中心研究所所長ChristopherAlexander經(jīng)過22年對舒適住宅和周邊環(huán)境進行大量調(diào)查和資料收集工作,發(fā)現(xiàn)人們對舒適住宅和城市環(huán)境存在著共同的認同規(guī)律。他把它們歸結為253個模式,對每個模式都從Context(模式可適用的環(huán)境條件)、Theme或Problem(在特定條件要解決的目標和問題)、什么是模式?

12軟件工程什么是模式?Solution(對目標問題求解過程中各種物理關系的記述)等三個側面進行描述。因此,所謂“模式”是指遵從某種規(guī)則或規(guī)律反復出現(xiàn)的思維方式或表現(xiàn)。ChristopherAlexander說過:“每一個模式描述了一個在我們周圍不斷重復發(fā)生的問題以及該問題的解決方案的核心。這樣,你就能多次使用該方案而不必做重復勞動?!币话銇碇v,模式是針對某一特定前提的解法。它記述著我們身邊頻繁發(fā)生的某類問題及其基本解法,我們可以反復使用這些解法。對同類問題可以使用同一解法,而不必總是一切從頭做起。13軟件工程典型的體系結構模式并發(fā)性模式:很多應用系統(tǒng)會采用模擬并行的方式來操作多個任務;持久性模式:持久數(shù)據(jù)被存儲在數(shù)據(jù)庫或者文件里,可以在稍后時間里被其它進程讀取和修改;分布性模式:系統(tǒng)或系統(tǒng)中構件可能在一個分布的環(huán)境中相互通信。14軟件工程9.4體系結構設計體系結構環(huán)境圖表示軟件和外部實體的交互方式和目標系統(tǒng)交互的系統(tǒng):上級系統(tǒng)、下級系統(tǒng)、同級系統(tǒng)、參與者。系統(tǒng)的環(huán)境表示

15軟件工程定義原始模型原始模型描述目標系統(tǒng)設計的核心抽象,可以通過分析模型中分析類來獲得。16軟件工程將體系結構精化為構件構件的來源:應用領域、基礎設施領域、界面領域。17軟件工程描述系統(tǒng)實例(進一步細化)18軟件工程9.5評估可選的體系結構設計收集場景誘導需求、約束和環(huán)境描述描述那些已經(jīng)被選用于解決場景和需求的體系結構風格/模式通過孤立的考慮每個屬性來評估質(zhì)量屬性針對特定的體系結構,弄清質(zhì)量屬性對各種體系結構屬性的敏感性使用在第5步中進行的敏感性分析鑒定候選體系結構19軟件工程9.6映射數(shù)據(jù)流到軟件體系結構如何把分析模型中的數(shù)據(jù)流圖映射到體系結構?變換流——以順序方式沿一條或僅僅幾條“直線”路徑進行;事務流——沿多條路徑的一條觸發(fā)其他數(shù)據(jù)流;變換流事務流20軟件工程變換映射步驟1:評審基本系統(tǒng)模型步驟2:評審和精化軟件的數(shù)據(jù)流圖步驟3:確定DFD是否含有變換流或事務流特征步驟4:通過確定輸入和輸出流的邊界,分離出變換中心步驟5:完成“第一級分解”步驟6:完成“第二級分解”,第一次迭代步驟7:使用提高軟件質(zhì)量的設計啟發(fā)式方法,精化第一次迭代得到的體系結構21軟件工程事務映射步驟1:評審基本系統(tǒng)模型步驟2:評審和精化軟件的數(shù)據(jù)流圖步驟3:確定DFD是否含有變換流或事務流特征步驟4:標識事務中心和每條動作路徑上的流特征步驟5:將DFD映射到一個適合于進行事務處理的程序結構上步驟6:分解并精化事務結構和每條動作路徑的結構步驟7

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論