軟件工程軟件體系結構_第1頁
軟件工程軟件體系結構_第2頁
軟件工程軟件體系結構_第3頁
軟件工程軟件體系結構_第4頁
軟件工程軟件體系結構_第5頁
已閱讀5頁,還剩44頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第四章第四章 軟件設計軟件設計主要內容:主要內容:軟件軟件體系結構的概念體系結構的概念軟件設計思想軟件設計思想結構化設計方法結構化設計方法面向對象設計方法面向對象設計方法討論要點(1)(1)什么是軟件結構?什么是軟件結構?(2)(2)如何建立設計模型?如何建立設計模型?軟件設計的目標和目的軟件設計的目標和目的 軟件需求:解決軟件需求:解決“做什么做什么” 軟件設計:解決軟件設計:解決“怎么做怎么做” 軟件設計的任務軟件設計的任務 問題結構問題結構( (軟件需求軟件需求) ) 軟件結構軟件結構 從軟件需求規格說明書出發,形成軟從軟件需求規格說明書出發,形成軟件的具體設計方案。件的具體設計方案。映

2、射映射軟件的總體結構主要回答的問題軟件的總體結構主要回答的問題軟件的組成部分軟件的組成部分軟件的層次關系軟件的層次關系模塊的內部處理邏輯模塊的內部處理邏輯模塊之間的界面模塊之間的界面軟件體系結構軟件體系結構軟件體系結構包括兩部分軟件體系結構包括兩部分: :(1)(1)過程構件過程構件( (模塊模塊) )的層次結構的層次結構(2)(2)數據構件數據構件4.1 4.1 軟件軟件體系結構體系結構軟件體系軟件體系結構結構的有關概念的有關概念軟件體系軟件體系結構結構的層次性的層次性軟件體系軟件體系結構結構的設計原理的設計原理軟件軟件體系結構的有關概念體系結構的有關概念什么是軟件體系什么是軟件體系結構結構

3、軟件體系軟件體系結構結構的發展的發展軟件體系軟件體系結構結構的研究范疇的研究范疇軟件軟件設計的目標設計的目標設計應該是便于維護和升級的,因而應設計應該是便于維護和升級的,因而應該是模塊化的該是模塊化的設計應該是便于移植的設計應該是便于移植的設計應該具有適應性設計應該具有適應性設計過程應該受到理性化的控制設計過程應該受到理性化的控制設計應該表現出概念的完整性設計應該表現出概念的完整性軟件軟件設計思想設計思想強調信息隱蔽的單元概念強調信息隱蔽的單元概念應用基于操作和數據封裝構成的單元設計應用基于操作和數據封裝構成的單元設計技術技術應用專門的機制可靠地處理并發控制和分應用專門的機制可靠地處理并發控制

4、和分布系統問題布系統問題提出基于模型的系統結構和設計方法提出基于模型的系統結構和設計方法明確提出軟件體系結構的設計思想明確提出軟件體系結構的設計思想什么是什么是軟件軟件體系結構體系結構 軟件體系軟件體系結構結構定義了軟件局部和定義了軟件局部和總體計算部件的構成總體計算部件的構成, ,以及這些部件之以及這些部件之間的相互作用關系。間的相互作用關系。 從整體看,軟件體系從整體看,軟件體系結構結構是由結構和是由結構和功能各異、相互作用的部件集合,按照層功能各異、相互作用的部件集合,按照層次構成的。它包括了系統基礎構成單元、次構成的。它包括了系統基礎構成單元、它們之間的作用關系、在構成系統時它們它們之

5、間的作用關系、在構成系統時它們的合成方法以及對合成約束的描述。的合成方法以及對合成約束的描述。普通部件及其支持的相互作用普通部件及其支持的相互作用序序號號部件類型部件類型部件支持的相互作用類型部件支持的相互作用類型1模塊模塊(module)過程調用、數據共享過程調用、數據共享2對象對象(object)方法調用方法調用3過濾器過濾器(filter)數據流數據流4過程過程(process)消息傳遞、遠程調用、消息傳遞、遠程調用、通訊協議、同步通訊協議、同步5數據文件數據文件(data file) 讀寫讀寫6數據庫數據庫(database)模式、查詢語言模式、查詢語言7文檔文檔(document)共

6、享表示假設共享表示假設軟件體系結構可分為四種不同的體系:軟件體系結構可分為四種不同的體系:概念結構概念結構 包括部件、互連、原則和性能等包括部件、互連、原則和性能等代碼結構代碼結構 包括軟件的配置管理、系統建造等包括軟件的配置管理、系統建造等模塊結構模塊結構 包括模塊界面、模塊管理、模塊控制和一致性等包括模塊界面、模塊管理、模塊控制和一致性等執行結構執行結構 包括性能分析、調度分析、動態配置和不同的包括性能分析、調度分析、動態配置和不同的執行系統之間的接口等執行系統之間的接口等 與軟件體系結構有關的研究:與軟件體系結構有關的研究:體系結構風格體系結構風格(architecture styles

7、)(architecture styles) 表示軟件系統的一種特別的基本結構,以及相表示軟件系統的一種特別的基本結構,以及相關的構造方法關的構造方法設計模式設計模式(design patterns)(design patterns) 構造型模式、結構型模式、行為型模式構造型模式、結構型模式、行為型模式框架框架(framework)(framework) 另一種研究和構造軟件體系結構的方法,更多另一種研究和構造軟件體系結構的方法,更多的是關于應用領域問題的已建立的系統結構。的是關于應用領域問題的已建立的系統結構。軟件軟件體系結構的層次結構體系結構的層次結構軟件的構成軟件的構成軟件的物質基礎軟件

8、的物質基礎軟件的結構基礎軟件的結構基礎軟件的層次結構模型軟件的層次結構模型軟件體系結構的層次結構模型軟件體系結構的層次結構模型軟件體系結構的體系軟件體系結構的體系軟件軟件的構成的構成軟件體系結構需要基礎軟件體系結構需要基礎軟件體系結構需要層次軟件體系結構需要層次軟件體系結構需要模式軟件體系結構需要模式軟件軟件的物質基礎的物質基礎 軟件設計的物質基礎是計算軟件設計的物質基礎是計算機硬件,當前的計算機硬件決定機硬件,當前的計算機硬件決定了軟件設計和實現的出發點,計了軟件設計和實現的出發點,計算機硬件的發展影響著軟件體系算機硬件的發展影響著軟件體系結構。結構。計算機硬件體系計算機硬件體系結構結構分類

9、分類sisd單指令流單數據流計算機單指令流單數據流計算機指令指令數據數據指令指令計算機硬件體系計算機硬件體系結構結構分類分類simd單指令流多數據流計算機單指令流多數據流計算機指令指令數據數據2數據數據1數據數據n計算機硬件體系計算機硬件體系結構結構分類分類misd多指令流單數據流計算機多指令流單數據流計算機指令指令1數據數據數據數據指令指令2指令指令n指令指令1指令指令2指令指令n計算機硬件體系計算機硬件體系結構結構分類分類mimd多指令流多數據流計算機多指令流多數據流計算機指令指令1指令指令2指令指令n指令指令1指令指令2指令指令n數據數據2數據數據1數據數據n多處理機系統多處理機系統具有

10、共享存儲結構的多處理機具有共享存儲結構的多處理機多處理機系統多處理機系統具有分布存儲結構的多處理機具有分布存儲結構的多處理機分布計算系統分布計算系統分布計算網絡分布計算網絡交換機交換機交換機交換機電信網絡電信網絡網絡網絡軟件軟件的結構基礎的結構基礎結構結構控制流控制流部件連接方式部件連接方式結構化連接模式結構化連接模式基本數據類型基本數據類型抽象數據類型抽象數據類型進程及運行環境進程及運行環境分時并發計算分時并發計算資源共享資源共享/ /并行同步并行同步實時系統實時系統軟件結構的四視圖觀軟件結構的四視圖觀軟件體系結構的四視圖軟件體系結構的四視圖概念視圖概念視圖模塊視圖模塊視圖代碼視圖代碼視圖運

11、運行行視視圖圖部件部件連接器連接器配置配置模塊模塊子系統子系統層層模塊限制模塊限制新模塊分割新模塊分割部件部件連接器連接器配置配置運行限制運行限制新模塊分割新模塊分割模塊模塊變化成運行實體變化成運行實體運行實體運行實體源代碼源代碼硬硬件件和和操操作作系系統統體體系系結結構構軟件軟件的層次結構模型的層次結構模型計算機網絡的體系計算機網絡的體系結構結構計算機操作系統的體系結構計算機操作系統的體系結構軟件軟件體系結構的層次結構模型體系結構的層次結構模型客戶機客戶機/ /服務器體系結構服務器體系結構應用系統的組成:應用系統的組成:顯示邏輯部分顯示邏輯部分(表示層表示層):實現與用戶交互實現與用戶交互應

12、用處理部分應用處理部分(功能層功能層):進行具體運算和數據處理進行具體運算和數據處理數據管理部分數據管理部分(數據層數據層):對數據庫中數據進行查詢、對數據庫中數據進行查詢、 修改、更新等任務修改、更新等任務應用分層應用分層表示層表示層功能層功能層數據層數據層三層明確分割三層明確分割, 邏輯上獨立邏輯上獨立 瘦客戶機和胖客戶機瘦客戶機和胖客戶機客戶機客戶機“胖胖” 客戶機客戶機應用應用處理處理邏輯邏輯顯顯示示邏邏輯輯服務器服務器數據數據管理管理邏輯邏輯數據庫數據庫“瘦瘦”客戶機客戶機表示表示顯顯示示邏邏輯輯數據數據管理管理邏輯邏輯數據庫數據庫表示表示應用處理應用處理應用應用處理處理邏輯邏輯客戶

13、機客戶機服務器服務器三層三層c/s的基本硬件結構的基本硬件結構 將三層功能裝載到硬件的三種基本方法將三層功能裝載到硬件的三種基本方法表示層表示層表示層表示層表示層表示層功能層功能層數據層數據層數據層數據層功能層功能層功能層功能層數據層數據層客客戶戶機機服服務務器器(1)(1)將數據層和將數據層和 功能層放在功能層放在 一臺服務器上一臺服務器上(2)(2)將數據層和將數據層和 功能層放在功能層放在 不同服務器上不同服務器上服服務務器器(3)(3)將功能層放將功能層放 在客戶機上在客戶機上層次模型的結構關系層次模型的結構關系客戶客戶層層n層層n-1層層1使用使用抽象的最高層抽象的最高層抽象的最低層

14、抽象的最低層2. 2. 軟件設計的問題軟件設計的問題 工具工具 如何描述軟件的總體結構如何描述軟件的總體結構方法方法 用什么方法有問題結構導出用什么方法有問題結構導出 軟件結構軟件結構評估準則評估準則 什么樣的軟件結構是什么樣的軟件結構是 “ “最優的最優的”公認的、被多次使用的公認的、被多次使用的系統結構系統結構被稱為結被稱為結構風格、設計模式、構風格、設計模式、( (設計設計) )框架。框架。如果說一門工程技術的成熟表現在其基本如果說一門工程技術的成熟表現在其基本設計構件的提出和系統化,那么體系結構設計構件的提出和系統化,那么體系結構的風格、模式、框架就是的風格、模式、框架就是軟件工程中的

15、基軟件工程中的基本構件本構件。體系結構概念能否成熟到使軟件設計發生體系結構概念能否成熟到使軟件設計發生根本革命的水平?根本革命的水平?廣泛提及的體系結構風格:廣泛提及的體系結構風格:v管道和過濾器管道和過濾器 ( (pipe and filters) )v數據抽象或對象數據抽象或對象( (data abstraction and object orientted) )v隱式調用隱式調用/ /消息消息( (event-based/implicit invocation) )v層次層次( (layered system) )v倉庫倉庫( (repositories) )v解釋器解釋器( (inte

16、rpreters) )v過程控制過程控制( (process control) )v分布式系統分布式系統( (distributed system) )v客戶客戶/ /服務器服務器( (client/server) )v主程序主程序/ /子程序子程序( (main/sub programs) )v狀態轉換狀態轉換( (state transition) )v專用領域專用領域( (domain specific styles) )對體系結構風格的理解對體系結構風格的理解v結構風格以結構風格以結構組織為特性結構組織為特性定義了一個軟件系統定義了一個軟件系統族,表達了部件以及部件之間的關系。族,表達

17、了部件以及部件之間的關系。v體系結構風格通過組件應用的限制及其與構建有體系結構風格通過組件應用的限制及其與構建有關的組成和設計規則來關的組成和設計規則來表現組件和組件之間的關表現組件和組件之間的關系系。v體系結構風格表示了軟件系統的一種體系結構風格表示了軟件系統的一種特別的基本特別的基本結構結構,以及相關的構造方法。,以及相關的構造方法。v體系結構風格應該使一些對軟件體系結構風格應該使一些對軟件構成帶有整體性構成帶有整體性、普遍性、一般性的結構和結構關系的方法、普遍性、一般性的結構和結構關系的方法。在。在設計中,遵循這些風格的構成原則,對軟件的開設計中,遵循這些風格的構成原則,對軟件的開發和維

18、護十分有益。發和維護十分有益。面向電子商務的應用體系結構圖面向電子商務的應用體系結構圖網絡平臺網絡平臺以有應用系統以有應用系統數據庫數據庫中間件基礎設施中間件基礎設施j2ee/corba/com+傳統中間件傳統中間件操作系統操作系統b2b集成平臺集成平臺應用集成平臺應用集成平臺應用系統應用系統工作流工作流o5s(o5)o6s(o6)分布式對象體系結構分布式對象體系結構o1s(o1)o2s(o2)o3s(o3)o4s(o4) 基本系統組件是對象,提供一組服務,對外給出基本系統組件是對象,提供一組服務,對外給出 服務的接口服務的接口 對象之間不存在客戶機與服務器的界限,接受服對象之間不存在客戶機與

19、服務器的界限,接受服 務者扮演客戶機角色,提供服務者就是服務器務者扮演客戶機角色,提供服務者就是服務器 對象可能分布在網絡的多臺計算機上,通過中間對象可能分布在網絡的多臺計算機上,通過中間 件相互通信件相互通信軟件總線軟件總線 (中間件)(中間件)omg體系結構和服務參考模型體系結構和服務參考模型公共對象服務公共對象服務與特定非標準化應與特定非標準化應用系統有關的對象用系統有關的對象橫向工具對象橫向工具對象與特定縱向領與特定縱向領域有關的對象域有關的對象應用系統接口應用系統接口領域接口領域接口corba工具接口工具接口corba對象請求代理(對象請求代理(orb)corba服務接口服務接口.n

20、et體系體系通用語言運行時刻環境(通用語言運行時刻環境(clr)基本類庫基本類庫數據和數據和xmlweb服務服務用戶接口用戶接口通用語言運行規范(通用語言運行規范(cls)vb.netc+c#perlvisual studio .net某制造企業的架構某制造企業的架構用戶界面用戶界面銷銷售售公公司司子子系系統統生生產產計計劃劃部部生生產產設設備備處處采采購購財財務務處處人人事事處處勞勞資資處處專專賣賣處處科科技技處處倉倉庫庫辦辦公公室室市市場場部部ddl專用專用構件庫構件庫采采購購管管理理分分析析對對比比財財務務管管理理銷銷售售管管理理計計劃劃管管理理匯匯總總執執行行文文檔檔審審計計文文檔檔批

21、批閱閱特特權權管管理理文文檔檔轉轉發發mis通用構件庫通用構件庫查查詢詢統統計計計計帳帳報報表表計計劃劃oa構件庫構件庫錄錄入入通通信信維護構件庫維護構件庫歸歸檔檔恢恢復復轉轉儲儲基本構件庫odbc應用數據庫應用數據庫運行和維護平臺運行和維護平臺unixwindow nttcp/iporacle領域框架示例之一:政府招商引資領域框架示例之一:政府招商引資招商服務相關單位招商服務相關單位招商引資招商引資工商工商管理管理財政財政結算結算稅務稅務管理管理電子電子銀行銀行信息信息發布發布統計統計分析分析咨詢咨詢服務服務業務業務受理受理業業務務預預審審流流程程定定制制業業務務流流轉轉投投資資咨咨詢詢網網

22、上上洽洽談談投投訴訴受受理理政政策策法法規規辦辦事事流流程程招招商商簡簡報報領域框架示例之二:統計局領域框架示例之二:統計局信息信息輸入輸入系統系統管理管理統計統計查詢查詢數據數據收集收集數據數據上報上報統計局綜統計局綜合信息庫合信息庫數據接口數據接口基礎基礎數據庫數據庫綜合綜合信息庫信息庫統計局綜合管理系統統計局綜合管理系統政政府府信信息息資資源源庫庫mis的構件提取的案例的構件提取的案例采購采購半成品庫半成品庫供應商供應商原料庫原料庫成品庫成品庫成成品品顧客顧客原料原料本成品本成品倉庫倉庫管理管理生產生產車間車間倉庫倉庫管理管理銷售銷售成成品品成成品品半成品半成品半成品半成品半成品半成品原

23、料原料原料原料采采購購供供應應商商三三級級商商品品庫庫倉倉庫庫管管理理銷銷售售商商品品 顧顧客客二二級級商商品品庫庫一一級級商商品品庫庫倉倉庫庫管管理理倉倉庫庫管管理理商商品品商商品品商商品品 在不同行業的倉庫物流模型尋找共性,進行模式復用在不同行業的倉庫物流模型尋找共性,進行模式復用采購采購mis的構件提取的案例的構件提取的案例物資庫物資庫供應商供應商原料庫原料庫物資物資物流模型的構件提取物流模型的構件提取倉庫倉庫管理管理顧客顧客倉庫倉庫管理管理銷售銷售物資物資物資物資物資物資物資物資物資物資 采購和銷售的倉庫物流模型采購和銷售的倉庫物流模型在在mismis領域中模式復用領域中模式復用可作為

24、可作為mismis通用構件庫通用構件庫的高級構件的高級構件mis的構件提取的案例的構件提取的案例再一次模式復用再一次模式復用采購采購物資庫物資庫供應商供應商原料庫原料庫物資物資倉庫倉庫管理管理顧客顧客倉庫倉庫管理管理銷售銷售物資物資物資物資物資物資物資物資物資物資供應者供應者輸入輸入接受者接受者處理處理輸出輸出所有處理過程的基本所有處理過程的基本ipo(input,process,output)ipo(input,process,output)模式模式可作為可作為基本構件庫基本構件庫的高級構件或標準,來檢驗所有的高級構件或標準,來檢驗所有mismis系統或非系統或非mismis系統中處理過程是否全面系統中處理過程是否全面包括輸入、輸出包括輸入、輸出和處理三部分。和處理三部分。入庫申請入庫申請商品倉庫系商品倉庫系統調度模型統調度模型進庫進庫出庫申請出庫申請倉庫管理倉庫管理出庫出庫倉庫倉庫入庫批準入庫批準出庫批準出庫批準入庫商品入庫商品出庫商品出庫商品遞交申請遞交申請脫機打印系脫機打印系統管理模型統管理模型打印申請打印申請執行申請執行申請打印管理打印管理打印機打印機打印任務集打印任務集遞交批準遞交批準執行批準執行批準遞交的任務遞交的任務執行的任務執行的任

溫馨提示

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

評論

0/150

提交評論