第8章-軟件過程設計_第1頁
第8章-軟件過程設計_第2頁
第8章-軟件過程設計_第3頁
第8章-軟件過程設計_第4頁
第8章-軟件過程設計_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計1過程設計主要內容過程設計主要內容軟件設計基本原理軟件設計基本原理軟件設計工具軟件設計工具軟件結構設計軟件結構設計軟件詳細設計軟件詳細設計主要內容主要內容上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計2軟件過程設計主要內容n 軟件總體設計軟件總體設計( (概要設計概要設計) )將系統(tǒng)劃分成功能模塊將系統(tǒng)劃分成功能模塊明確軟件結構(模塊組成的層次系統(tǒng))明確軟件結構(模塊組成的層次系統(tǒng))采用適當的工具描述軟件結構采用適當的工具描述軟件結構n 軟件詳細設計軟件詳細設計確定怎樣具體實現軟件結構圖中每個模塊的具

2、體內容確定怎樣具體實現軟件結構圖中每個模塊的具體內容細化程序的基本邏輯細化程序的基本邏輯上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計3上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計4軟件設計的基本原理n 模塊化是解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程n 模塊化的優(yōu)點:降低問題復雜性減少開發(fā)工作量降低開發(fā)成本提供軟件生產率上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計5軟件設計的基本原理n 模塊化模塊化是解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程n 模塊化的優(yōu)點:降低問題復雜性減少開

3、發(fā)工作量降低開發(fā)成本提供軟件生產率n 在軟件的體系結構中,模塊是可組合、分解和更換的單元,具有以下幾種基本屬性:接口:指模塊的輸入輸出。功能:模塊實現的功能。邏輯:內部如何實現及所需數據。狀態(tài):模塊的運行環(huán)境,調用與被調用關系。n 邏輯屬性反映內部特性,其它屬性反映模塊的外部特性。軟件成本軟件成本M模塊數模塊數 成本成本(工作量)(工作量)接口接口成本成本成本成本/模塊模塊最小區(qū)域最小區(qū)域上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計6軟件設計的基本原理n 抽象:抽象:是認識復雜現象過程中使用的思維工具。抽象是對具體對象(問題)進行概括, 抽出這一類對象的公共性質并加以

4、描述 的過程。 軟件結構頂層模塊控制系統(tǒng)主要功能并影響全局,底層模塊完成具體的處理。在進行軟件設計時,抽象與逐步求精、模塊化密切相關,可提高軟件的可理解性n 信息隱蔽是指在設計和確定模塊時,使得一個模塊內包含的信息(過程和數據),對于不需要這些信息的其他模塊來說,是不可訪問的。它為軟件系統(tǒng)的修改、測試及以后的維護都帶來好處。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計7軟件設計的基本原理n 模塊的獨立性:指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其它模塊的聯(lián)系量最少且接口簡單。n 包括兩個度量準則耦合性:指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。模塊間耦

5、合高低取決于接口的復雜性、調用的方式及傳遞的信息。內聚性:指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計8軟件設計的基本原理 無直接耦合:兩個模塊間沒有直接的關系,不傳遞任何信息。 內容耦合:一個模塊直接使用另一模塊的內部數據,或通過非正常入口而轉入另一個模塊內部。 公共耦合:指通過一個公共數據環(huán)境相互作用的那些模塊間的耦合。 控制耦合:兩個模塊間傳遞控制信息。被調用函數通過控制信息有選擇地執(zhí)行塊內某一功能。 標記耦合:兩個模塊間傳遞的是數據結構。 數據耦合:兩個模塊間有調用關系,傳遞簡單的數據值。

6、AB耦合性上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計9耦合性舉例2 數據耦合數據耦合3 標記耦合標記耦合住戶詳情中包含了“本月用電量”和“本月用水量”模塊ATRC:.模塊BGOTO TRC6 內容耦合內容耦合5 公共耦合公共耦合4 控制耦合控制耦合上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計10軟件設計的基本原理應采用的總體原則:應采用的總體原則:n 盡量使用數據耦合盡量使用數據耦合n 少用控制耦合少用控制耦合n 限制公共耦合的范圍限制公共耦合的范圍n 完全不用內容耦合完全不用內容耦合上海財經大學信息管理與工程學院第第8 8章章 軟件過程設

7、計軟件過程設計11軟件設計的基本原理 偶然內聚:指一個模塊內的各處理元素之間沒有任何聯(lián)系。 邏輯內聚:指模塊內執(zhí)行幾個邏輯上相似的功能,通過參數確定該模塊完成哪一個功能。例如把編輯各種輸入數據的功能放在一個模塊中。 時間內聚:把需要同時執(zhí)行的動作組合在一起形成的模塊。例如程序設計中的初始化模塊 。 通信內聚:指模塊內所有處理元素都在同一個數據結構上操作,或指各處理使用相同的輸入數據或者產生相同的輸出數據。 順序內聚:指一個模塊中各個處理元素都密切相關于同一功能且必須順序執(zhí)行,前一功能元素的輸出是后一功能元素的輸入。 功能內聚:指模塊內所有元素共同完成一個功能,缺一不可。內聚性上海財經大學信息管

8、理與工程學院第第8 8章章 軟件過程設計軟件過程設計12軟件設計的基本原理順序內聚順序內聚通信內聚通信內聚內聚性舉例上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計13軟件結構圖形工具|軟件結構圖|軟件結構設計優(yōu)化準則|表示軟件結構的HIPO圖 (Hierarchy Plus Input/Processing/Output)上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計14軟件結構圖(Structure Chart)模塊:用方框表示,名字體現該模塊的功能。模塊間的控制關系:統(tǒng)率、從屬;模塊間的信息傳遞:兩個附加符號: 模塊選擇調用或循環(huán)調用。注意事

9、項:模塊唯一、從上到下調用、調用次序不嚴格。ABCMABCA 查詢成績B 學生記錄學號查詢標志B1A入出X,Y Z編號1上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計15結構圖的形態(tài)特征n 深度、寬度、扇入、扇出。深度、寬度、扇入、扇出。TDMABC扇入扇入扇出扇出深深度度寬度寬度上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計16軟件結構圖舉例產生最佳解原始輸入得到好輸入計算最佳解輸出結果讀輸入編輯輸入結果格式化顯示輸出原始輸入好輸入好輸入解解編輯結果格式化解解格式化解產生最佳解上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設

10、計17軟件結構圖注意事項n (1)同一名字的模塊在結構圖中僅能出現一次。n (2)調用關系只能從上到下。n (3)不嚴格表示模塊的調用次序,習慣上從左到右,有時為了減少連線的交叉,適當地調整同一層模塊的左右位置,以保證結構圖的清晰。n (4)結構圖并不指明什么時候調用下層模塊,只表明一個模塊調用哪些模塊,至于模塊內還有沒有其他成分則完全沒有表示。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計18表示軟件結構的HIPO圖訂貨處理1.0銷售管理系統(tǒng)進貨處理2.0銷售統(tǒng)計3.0讀庫存記錄1.2輸入并檢驗訂單1.1缺貨處理4.0確定能否供貨1.3可供貨處理1.3.1缺貨貨單留底

11、1.3.2H圖:圖:每個矩形框代表一個模塊,連線表示“調用”而非“組成”。所謂HIPO,即對每個模塊附一張IPO圖。每個IPO圖中應明確標出對應模塊的編號。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計19表示軟件結構的HIPO圖 IPO表系統(tǒng):_ 作者: _ 模塊:_ 日期: _ 編號: 1.3 被調用: 調用: 輸入 輸出: 處理: 局部數據元素文件名:全局變量:注釋:銷售管理系統(tǒng)確定能否訂貨訂貨處理可供貨模塊缺貨訂單留底訂單訂貨量X貨物庫存量Y供貨標志庫存文件IF YX THEN 可供貨處理 ELSE 缺貨訂單留底ENDIFIPO圖:圖:上海財經大學信息管理與工程

12、學院第第8 8章章 軟件過程設計軟件過程設計20結構化設計方法n 結構化設計是以結構化分析產生的數據流圖為基礎,按一定的步驟映射成軟件結構。n 結構化設計結構化設計變換分析設計變換分析設計事務分析設計事務分析設計上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計21變換型數據流圖由輸入、變換和輸出三部分組成。變換中心邏輯輸入邏輯輸出物理輸出物理輸入時間內部表示信息輸入流變換流信息流外部表示輸出流上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計22事務型數據流圖 數據沿著輸入通路到達一個加工T。T將輸入數據分解成一串發(fā)散的數據流,形成許多的活動路徑,并根

13、據輸入數據的類型在若干動作序列中選出一個來執(zhí)行。T事務處理中心接收輸入數據。分析輸入數據,確定類型。根據事務類型選取一活動通路。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計23變換分析設計1. 確定輸入流和輸出流的邊界,從而孤立出變換中心(1)檢查“輸入流”的邊界從輸入的數據源開始,沿著每一個由數據源傳入的數據流的移動方向進行跟蹤分析,逐個分析它所經過的處理邏輯功能。如果僅是傳入的數據流作形式上的轉換,邏輯上沒有進行實際的數據處理功能,則這些處理邏輯屬于系統(tǒng)的“輸入處理部分”。順著傳入的數據流的移動方向,一直跟蹤到它被真正地處理為止。上海財經大學信息管理與工程學院第第

14、8 8章章 軟件過程設計軟件過程設計24變換分析設計(2)檢查“輸出流”的邊界從輸出結果的地方開始,逆著每一個傳遞出去的數據流,由外向里反方向跟蹤,逐個分析它的處理邏輯功能,一直反方向跟蹤到它被真正地產生出來為止。(3)得到變換中心根據前兩步的分析結果,畫出一個閉環(huán)界線,在界線以內的就是變換中心。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計25變換分析設計2. 設計軟件結構的頂層和第一層變換結構CmCICTCO第一級分解第一級分解上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計26變換分析設計(1)頂層主模塊Cm是抽象出來的,以系統(tǒng)的名字命名,協(xié)

15、調控制下屬模塊,完成系統(tǒng)各項功能。(2)第一層:為每一個邏輯輸入設計一個輸入模塊功能:為主模塊提供數據輸入為每一個邏輯輸出設計一個輸出模塊功能:為主模塊提供數據輸出為中心變換設計一個變換模塊功能:將邏輯輸入轉換成邏輯輸出上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計27變換分析設計(1)輸入模塊的下屬模塊設計為每個輸入模塊設計兩個下層模塊 一個用于接收數據 另一個用于將這些數據轉換為所要求的數據重復直到物理輸入為止3. 設計中、下層模塊自頂向下,逐層分解A to BGet BGet Aaab上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計28變換分

16、析設計(2)輸出模塊的下屬模塊設計為每個輸出模塊設計兩個下層模塊 一個將調用模塊提供的數據轉換為所需的數據形式。 另一個用于發(fā)送數據重復直到物理輸出為止Put BPut AbaaB to A(3)變換模塊的下屬模塊設計按照模塊獨立性的原則來組織其結構,一般每個基本加工設計一個功能模塊。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計29變換分析設計ABCDEFGHf1f2f3f4f5f6f7f8f9f10f11變換中心輸入輸出主模塊f2Get f3將f3變換成f7和f8Put f7Get f2BFPut f9f3f7f9f7f9f3f7f8Put f8EDCf8GAHPu

17、t f10Put f11Gut f1f1f1f2f8f10f10f11f10f11f3f2初始結構圖初始結構圖上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計30變換分析設計4. 設計的優(yōu)化根據設計準則(1)輸入部分的求精對每個物理輸入設置專門模塊,以體現系統(tǒng)的外部接口;其他輸入模塊并非真正輸入,當它與轉換數據的模塊都很簡單時,可將它們合并成一個模塊。Get CGet BGet AabA to BGet BGet AaabB to CGet Cbbc上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計31(2)輸出部分的求精為每個物理輸出設置專門模塊,同

18、時注意把相同或類似的物理輸出模塊合并在一起,以減低耦合度。Put BPut AbaaB to APut BPut Aa變換分析設計上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計32(3)變換部分的求精:根據設計準則,對模塊進行合并和調整。軟件結構的求精,具有很大的經驗性。追求“高內聚,低耦合”方法:設計有獨立功能的模塊模塊間傳遞數據型的參數模塊間共享信息盡量少變換分析設計上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計33變換分析設計例:上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計34變換分析設計上海財經大學信息管理與工程

19、學院第第8 8章章 軟件過程設計軟件過程設計35分房處理分房處理分房活動分房活動輸出分房結果輸出分房結果獲得分房資源獲得分房資源獲得空房信息獲得空房信息獲得分房隊列獲得分房隊列輸出輸出住房住房結果結果獲得分房申請獲得分房申請計算分數計算分數上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計36事務分析設計事務分析的設計步驟和變換分析的設計步驟大部分相同或類似,主要差別僅在由數據流程圖到軟件結構的映射方法不同。由事務流映射成的軟件結構包括一個接收分支和一個發(fā)送分支。映射出接收分支結構的方法和變換分析映射出輸入結構的方法相似,即從事務中心的邊界開始,把沿著接收流通路的處理邏輯映

20、射成模塊。發(fā)送分支的結構包含一個調度模塊,它控制下層的所有活動模塊;然后把數據流程圖中的每一個活動流通路映射成與它的特征相對應的結構。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計37總控調度A_CTLB_CTLC_CTL接收通路C通路B通路A通路事務分析的映射方法事務分析的映射方法上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計38上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計39分房系統(tǒng)分房系統(tǒng)合法性檢查合法性檢查更改信息更改信息分房處理分房處理調房處理調房處理退房處理退房處理查詢處理查詢處理上海財經大學信息管理與工程學

21、院第第8 8章章 軟件過程設計軟件過程設計40綜合數據流圖的映射|確定DFD整體上的類型:除明顯有事務類型的,都可認為是變換型。事務型用于高層DFD變換有平行處理的優(yōu)點。|把與全局特性不同的局部區(qū)域孤立出來,確定類型。|按整體與局部的DFD特性,設計軟件結構。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計41混合型的結構設計ab1b2c1db3c3c2bAC1DBC3C2lmkgjfheLKEFGJ主模塊Get dd to kPut kGet bAGet aC1C3C2事務中心EJGFPut lKPut mL上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件

22、過程設計42分層DFD映射:銷售管理系統(tǒng)銷售管理系統(tǒng)銷售管理系統(tǒng)讀鍵盤讀鍵盤類別類別1訂貨處理訂貨處理2進貨處理進貨處理3缺貨處理缺貨處理4銷售統(tǒng)計銷售統(tǒng)計輸出備貨單輸出備貨單輸入訂單輸入訂單輸出統(tǒng)計表輸出統(tǒng)計表輸出缺貨通知單輸出缺貨通知單輸入進貨通知單輸入進貨通知單主圖:主圖:1訂貨處理訂貨處理子圖子圖1:根據訂單及庫存確定能否供貨根據訂單及庫存確定能否供貨讀庫存記錄讀庫存記錄缺貨訂單留底缺貨訂單留底可供貨處理可供貨處理訂單留底訂單留底根據可供貨訂單修改庫存根據可供貨訂單修改庫存上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計43分層DFD映射g4g4g3g3g2g2g

23、1g1f2f2f1f1A1A1A2A2A3A3A4A4主圖:主圖:子圖:子圖:A AB BC Cf f1 1f2f2f3f3f4f4主模塊主模塊Put f3Get f2BAGet f1put f4CAA1A4A2A3f2g3,g4子圖:子圖:B1B1B2B2B3B3f f2 2g1g1g2g2f4f4f5f5f4f4主圖:主圖:f3f3f2f2f1f1A AB BA3A3思考題:思考題:f1f2f1 g1g2上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計44精化數據流圖DFD類型區(qū)分事務中心和數據接收通路區(qū)分輸入和輸出分支映射成事務結構映射成變換結構運用模塊設計規(guī)則,精

24、化軟件結構描述模塊功能、接口和全局數據結構復查詳細設計映射頂層和第一層事務變換設計中下層模塊結構結構化設計過程結構化設計過程上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計45軟件詳細設計n 詳細設計結果基本上決定了最終程序代碼的質量。不僅要邏輯詳細設計結果基本上決定了最終程序代碼的質量。不僅要邏輯正確,性能滿足,還要簡明易懂。正確,性能滿足,還要簡明易懂。n 采用自頂向下,逐步求精的程序設計方法。n 使用三種基本控制結構構造程序:順序、選擇、循環(huán)。單入口,單出口的共同特點。n 主程序員的組織形式:一個主程序員、一個后備程序員和一個程序管理員三人為核心,再加上一些專家、其

25、他技術人員組成小組。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計46軟件詳細設計表示法常用三種工具:圖形、表格和語言。n 程序流程圖(PFC)n PAD圖n 盒圖(N-S圖)n 過程設計語言上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計47PFC:三種基本控制結構ABexpABFTFexpATAexpFTDO-UNTILDO-WHILEDOCASE ICASE 1CASE nFTDO-CASE上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計48程序流程圖程序流程圖,又稱程序框圖,是描述程序邏輯結構的工具。它使用的符號與系統(tǒng)

26、流程圖的符號很多相同,但是,箭頭符號代表控制流而不是數據流。優(yōu)點是直觀清晰、易于使用。缺點是: 易造成非結構化的程序結構,編碼時不加限制的使用GOTO語句,導致基本控制塊多入多出口,與軟件設計的原則相違背。 程序流程圖本質上不是逐步求精的好工具,誘使過早考慮程序的控制流程,而不去考慮程序的全局結構。 程序流程圖不易表示數據結構。上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計49詳細設計案例分析程序流程圖(visio工具)策略:自頂向下,逐步求精的分解 上海財經大學信息管理與工程學院第第8 8章章 軟件過程設計軟件過程設計50PAD圖問題分析圖(Problem Analysis Diagram)開始結束輸入A(1)到A(10)的值輸出A(1)到A(10)的值置初值:n=10sortsorti=1WHILE in-1WHILE jnj= i+ 1,max=A (i)A(i) =max , i= i+ 1 j=j+1B=maxmax=A(j)A (j) =BMaxA (j) 清晰地反映了程序的層次結構。 支持

溫馨提示

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

評論

0/150

提交評論