版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
過程設(shè)計主要內(nèi)容軟件設(shè)計基本原理軟件設(shè)計工具軟件結(jié)構(gòu)設(shè)計軟件詳細(xì)設(shè)計主要內(nèi)容軟件過程設(shè)計主要內(nèi)容軟件總體設(shè)計(概要設(shè)計)將系統(tǒng)劃分成功能模塊明確軟件結(jié)構(gòu)(模塊組成的層次系統(tǒng))采用適當(dāng)?shù)墓ぞ呙枋鲕浖Y(jié)構(gòu)軟件詳細(xì)設(shè)計確定怎樣具體實現(xiàn)軟件結(jié)構(gòu)圖中每個模塊的具體內(nèi)容細(xì)化程序的基本邏輯軟件設(shè)計的基本原理模塊化是解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程模塊化的優(yōu)點:降低問題復(fù)雜性減少開發(fā)工作量降低開發(fā)成本提供軟件生產(chǎn)率軟件設(shè)計的基本原理模塊化是解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程模塊化的優(yōu)點:降低問題復(fù)雜性減少開發(fā)工作量降低開發(fā)成本提供軟件生產(chǎn)率在軟件的體系結(jié)構(gòu)中,模塊是可組合、分解和更換的單元,具有以下幾種基本屬性:接口:指模塊的輸入輸出。功能:模塊實現(xiàn)的功能。邏輯:內(nèi)部如何實現(xiàn)及所需數(shù)據(jù)。狀態(tài):模塊的運行環(huán)境,調(diào)用與被調(diào)用關(guān)系。邏輯屬性反映內(nèi)部特性,其它屬性反映模塊的外部特性。軟件成本M模塊數(shù)成本(工作量)接口成本成本/模塊最小區(qū)域軟件設(shè)計的基本原理抽象:是認(rèn)識復(fù)雜現(xiàn)象過程中使用的思維工具。抽象是對具體對象(問題)進(jìn)行概括,抽出這一類對象的公共性質(zhì)并加以描述的過程。軟件結(jié)構(gòu)頂層模塊控制系統(tǒng)主要功能并影響全局,底層模塊完成具體的處理。在進(jìn)行軟件設(shè)計時,抽象與逐步求精、模塊化密切相關(guān),可提高軟件的可理解性信息隱蔽是指在設(shè)計和確定模塊時,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù)),對于不需要這些信息的其他模塊來說,是不可訪問的。它為軟件系統(tǒng)的修改、測試及以后的維護(hù)都帶來好處。軟件設(shè)計的基本原理模塊的獨立性:指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其它模塊的聯(lián)系量最少且接口簡單。包括兩個度量準(zhǔn)則耦合性:指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊間耦合高低取決于接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。內(nèi)聚性:指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。軟件設(shè)計的基本原理?無直接耦合:兩個模塊間沒有直接的關(guān)系,不傳遞任何信息。?內(nèi)容耦合:一個模塊直接使用另一模塊的內(nèi)部數(shù)據(jù),或通過非正常入口而轉(zhuǎn)入另一個模塊內(nèi)部。?公共耦合:指通過一個公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。?控制耦合:兩個模塊間傳遞控制信息。被調(diào)用函數(shù)通過控制信息有選擇地執(zhí)行塊內(nèi)某一功能。?標(biāo)記耦合:兩個模塊間傳遞的是數(shù)據(jù)結(jié)構(gòu)。?數(shù)據(jù)耦合:兩個模塊間有調(diào)用關(guān)系,傳遞簡單的數(shù)據(jù)值。AB耦合性耦合性舉例2數(shù)據(jù)耦合3標(biāo)記耦合住戶詳情中包含了“本月用電量”和“本月用水量”模塊ATRC:......模塊BGOTOTRC6內(nèi)容耦合5公共耦合4控制耦合軟件設(shè)計的基本原理應(yīng)采用的總體原則:
盡量使用數(shù)據(jù)耦合少用控制耦合限制公共耦合的范圍完全不用內(nèi)容耦合軟件設(shè)計的基本原理?偶然內(nèi)聚:指一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。?邏輯內(nèi)聚:指模塊內(nèi)執(zhí)行幾個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能。例如把編輯各種輸入數(shù)據(jù)的功能放在一個模塊中。?時間內(nèi)聚:把需要同時執(zhí)行的動作組合在一起形成的模塊。例如程序設(shè)計中的初始化模塊。?通信內(nèi)聚:指模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結(jié)構(gòu)上操作,或指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。?順序內(nèi)聚:指一個模塊中各個處理元素都密切相關(guān)于同一功能且必須順序執(zhí)行,前一功能元素的輸出是后一功能元素的輸入。?功能內(nèi)聚:指模塊內(nèi)所有元素共同完成一個功能,缺一不可。內(nèi)聚性軟件設(shè)計的基本原理順序內(nèi)聚通信內(nèi)聚內(nèi)聚性舉例軟件結(jié)構(gòu)圖形工具軟件結(jié)構(gòu)圖軟件結(jié)構(gòu)設(shè)計優(yōu)化準(zhǔn)則表示軟件結(jié)構(gòu)的HIPO圖(HierarchyPlusInput/Processing/Output)軟件結(jié)構(gòu)圖(StructureChart)模塊:用方框表示,名字體現(xiàn)該模塊的功能。模塊間的控制關(guān)系:統(tǒng)率、從屬;模塊間的信息傳遞:兩個附加符號:模塊選擇調(diào)用或循環(huán)調(diào)用。注意事項:模塊唯一、從上到下調(diào)用、調(diào)用次序不嚴(yán)格。ABCMABCA查詢成績B學(xué)生記錄學(xué)號查詢標(biāo)志B1A入出X,YZ編號1結(jié)構(gòu)圖的形態(tài)特征深度、寬度、扇入、扇出。TDMABC扇入扇出深度寬度軟件結(jié)構(gòu)圖舉例產(chǎn)生最佳解原始輸入得到好輸入計算最佳解輸出結(jié)果讀輸入編輯輸入結(jié)果格式化顯示輸出原始輸入好輸入好輸入解解編輯結(jié)果格式化解解格式化解產(chǎn)生最佳解軟件結(jié)構(gòu)圖注意事項(1)同一名字的模塊在結(jié)構(gòu)圖中僅能出現(xiàn)一次。(2)調(diào)用關(guān)系只能從上到下。(3)不嚴(yán)格表示模塊的調(diào)用次序,習(xí)慣上從左到右,有時為了減少連線的交叉,適當(dāng)?shù)卣{(diào)整同一層模塊的左右位置,以保證結(jié)構(gòu)圖的清晰。(4)結(jié)構(gòu)圖并不指明什么時候調(diào)用下層模塊,只表明一個模塊調(diào)用哪些模塊,至于模塊內(nèi)還有沒有其他成分則完全沒有表示。表示軟件結(jié)構(gòu)的HIPO圖訂貨處理1.0銷售管理系統(tǒng)進(jìn)貨處理2.0銷售統(tǒng)計3.0讀庫存記錄1.2輸入并檢驗訂單1.1缺貨處理4.0確定能否供貨1.3可供貨處理1.3.1缺貨貨單留底1.3.2H圖:每個矩形框代表一個模塊,連線表示“調(diào)用”而非“組成”。所謂HIPO,即對每個模塊附一張IPO圖。每個IPO圖中應(yīng)明確標(biāo)出對應(yīng)模塊的編號。表示軟件結(jié)構(gòu)的HIPO圖
IPO表系統(tǒng):______作者:______模塊:______日期:______編號:1.3
被調(diào)用:調(diào)用:輸入輸出:處理:局部數(shù)據(jù)元素文件名:全局變量:注釋:銷售管理系統(tǒng)確定能否訂貨訂貨處理可供貨模塊缺貨訂單留底訂單訂貨量X貨物庫存量Y供貨標(biāo)志庫存文件IFY>XTHEN可供貨處理
ELSE缺貨訂單留底ENDIFIPO圖:結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計是以結(jié)構(gòu)化分析產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按一定的步驟映射成軟件結(jié)構(gòu)。結(jié)構(gòu)化設(shè)計變換分析設(shè)計事務(wù)分析設(shè)計變換型數(shù)據(jù)流圖由輸入、變換和輸出三部分組成。變換中心邏輯輸入邏輯輸出物理輸出物理輸入時間內(nèi)部表示信息輸入流變換流信息流外部表示輸出流事務(wù)型數(shù)據(jù)流圖
數(shù)據(jù)沿著輸入通路到達(dá)一個加工T。T將輸入數(shù)據(jù)分解成一串發(fā)散的數(shù)據(jù)流,形成許多的活動路徑,并根據(jù)輸入數(shù)據(jù)的類型在若干動作序列中選出一個來執(zhí)行。T事務(wù)處理中心接收輸入數(shù)據(jù)。分析輸入數(shù)據(jù),確定類型。根據(jù)事務(wù)類型選取一活動通路。變換分析設(shè)計確定輸入流和輸出流的邊界,從而孤立出變換中心(1)檢查“輸入流”的邊界從輸入的數(shù)據(jù)源開始,沿著每一個由數(shù)據(jù)源傳入的數(shù)據(jù)流的移動方向進(jìn)行跟蹤分析,逐個分析它所經(jīng)過的處理邏輯功能。如果僅是傳入的數(shù)據(jù)流作形式上的轉(zhuǎn)換,邏輯上沒有進(jìn)行實際的數(shù)據(jù)處理功能,則這些處理邏輯屬于系統(tǒng)的“輸入處理部分”。順著傳入的數(shù)據(jù)流的移動方向,一直跟蹤到它被真正地處理為止。變換分析設(shè)計(2)檢查“輸出流”的邊界從輸出結(jié)果的地方開始,逆著每一個傳遞出去的數(shù)據(jù)流,由外向里反方向跟蹤,逐個分析它的處理邏輯功能,一直反方向跟蹤到它被真正地產(chǎn)生出來為止。(3)得到變換中心根據(jù)前兩步的分析結(jié)果,畫出一個閉環(huán)界線,在界線以內(nèi)的就是變換中心。變換分析設(shè)計2.設(shè)計軟件結(jié)構(gòu)的頂層和第一層——變換結(jié)構(gòu)CmCICTCO第一級分解變換分析設(shè)計(1)頂層主模塊Cm是抽象出來的,以系統(tǒng)的名字命名,協(xié)調(diào)控制下屬模塊,完成系統(tǒng)各項功能。(2)第一層:為每一個邏輯輸入設(shè)計一個輸入模塊功能:為主模塊提供數(shù)據(jù)輸入為每一個邏輯輸出設(shè)計一個輸出模塊功能:為主模塊提供數(shù)據(jù)輸出為中心變換設(shè)計一個變換模塊功能:將邏輯輸入轉(zhuǎn)換成邏輯輸出變換分析設(shè)計(1)輸入模塊的下屬模塊設(shè)計為每個輸入模塊設(shè)計兩個下層模塊①一個用于接收數(shù)據(jù)②另一個用于將這些數(shù)據(jù)轉(zhuǎn)換為所要求的數(shù)據(jù)①②重復(fù)直到物理輸入為止設(shè)計中、下層模塊——自頂向下,逐層分解AtoBGetBGetAaab變換分析設(shè)計(2)輸出模塊的下屬模塊設(shè)計為每個輸出模塊設(shè)計兩個下層模塊①一個將調(diào)用模塊提供的數(shù)據(jù)轉(zhuǎn)換為所需的數(shù)據(jù)形式。②另一個用于發(fā)送數(shù)據(jù)①②重復(fù)直到物理輸出為止PutBPutAbaaBtoA(3)變換模塊的下屬模塊設(shè)計按照模塊獨立性的原則來組織其結(jié)構(gòu),一般每個基本加工設(shè)計一個功能模塊。變換分析設(shè)計ABCDEFGHf1f2f3f4f5f6f7f8f9f10f11變換中心輸入輸出主模塊f2Getf3將f3變換成f7和f8Putf7Getf2BFPutf9f3f7f9f7f9f3f7f8Putf8EDCf8GAHPutf10Putf11Gutf1f1f1f2f8f10f10f11f10f11f3f2初始結(jié)構(gòu)圖變換分析設(shè)計4.設(shè)計的優(yōu)化——根據(jù)設(shè)計準(zhǔn)則(1)輸入部分的求精對每個物理輸入設(shè)置專門模塊,以體現(xiàn)系統(tǒng)的外部接口;其他輸入模塊并非真正輸入,當(dāng)它與轉(zhuǎn)換數(shù)據(jù)的模塊都很簡單時,可將它們合并成一個模塊。GetCGetBGetAabAtoBGetBGetAaabBtoCGetCbbc(2)輸出部分的求精為每個物理輸出設(shè)置專門模塊,同時注意把相同或類似的物理輸出模塊合并在一起,以減低耦合度。PutBPutAbaaBtoAPutBPutAa變換分析設(shè)計(3)變換部分的求精:根據(jù)設(shè)計準(zhǔn)則,對模塊進(jìn)行合并和調(diào)整。軟件結(jié)構(gòu)的求精,具有很大的經(jīng)驗性。追求“高內(nèi)聚,低耦合”方法:設(shè)計有獨立功能的模塊模塊間傳遞數(shù)據(jù)型的參數(shù)模塊間共享信息盡量少變換分析設(shè)計變換分析設(shè)計例:變換分析設(shè)計分房處理分房活動輸出分房結(jié)果獲得分房資源獲得空房信息獲得分房隊列輸出住房結(jié)果獲得分房申請計算分?jǐn)?shù)事務(wù)分析設(shè)計事務(wù)分析的設(shè)計步驟和變換分析的設(shè)計步驟大部分相同或類似,主要差別僅在由數(shù)據(jù)流程圖到軟件結(jié)構(gòu)的映射方法不同。由事務(wù)流映射成的軟件結(jié)構(gòu)包括一個接收分支和一個發(fā)送分支。映射出接收分支結(jié)構(gòu)的方法和變換分析映射出輸入結(jié)構(gòu)的方法相似,即從事務(wù)中心的邊界開始,把沿著接收流通路的處理邏輯映射成模塊。發(fā)送分支的結(jié)構(gòu)包含一個調(diào)度模塊,它控制下層的所有活動模塊;然后把數(shù)據(jù)流程圖中的每一個活動流通路映射成與它的特征相對應(yīng)的結(jié)構(gòu)??偪卣{(diào)度A_CTLB_CTLC_CTL接收通路C通路B通路A通路事務(wù)分析的映射方法分房系統(tǒng)合法性檢查更改信息分房處理調(diào)房處理退房處理查詢處理綜合數(shù)據(jù)流圖的映射確定DFD整體上的類型:除明顯有事務(wù)類型的,都可認(rèn)為是變換型。事務(wù)型用于高層DFD變換有平行處理的優(yōu)點。把與全局特性不同的局部區(qū)域孤立出來,確定類型。按整體與局部的DFD特性,設(shè)計軟件結(jié)構(gòu)?;旌闲偷慕Y(jié)構(gòu)設(shè)計ab1b2c1db3c3c2bAC1DBC3C2lmkgjfheLKEFGJ主模塊GetddtokPutkGetbAGetaC1C3C2事務(wù)中心EJGFPutlKPutmL分層DFD映射:銷售管理系統(tǒng)銷售管理系統(tǒng)讀鍵盤類別1訂貨處理2進(jìn)貨處理3缺貨處理4銷售統(tǒng)計輸出備貨單輸入訂單輸出統(tǒng)計表輸出缺貨通知單輸入進(jìn)貨通知單主圖:1訂貨處理子圖1:根據(jù)訂單及庫存確定能否供貨讀庫存記錄缺貨訂單留底可供貨處理訂單留底根據(jù)可供貨訂單修改庫存分層DFD映射g4g3g2g1f2f1A1A2A3A4主圖:子圖:ABCf1f2f3f4主模塊Putf3Getf2BAGetf1putf4CAA1A4A2A3f2g3,g4子圖:B1B2B3f2g1g2f4f5f4主圖:f3f2f1ABA3思考題:f1f2f1g1g2精化數(shù)據(jù)流圖DFD類型區(qū)分事務(wù)中心和數(shù)據(jù)接收通路區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)映射成變換結(jié)構(gòu)運用模塊設(shè)計規(guī)則,精化軟件結(jié)構(gòu)描述模塊功能、接口和全局?jǐn)?shù)據(jù)結(jié)構(gòu)復(fù)查詳細(xì)設(shè)計映射頂層和第一層事務(wù)變換設(shè)計中下層模塊結(jié)構(gòu)結(jié)構(gòu)化設(shè)計過程軟件詳細(xì)設(shè)計詳細(xì)設(shè)計結(jié)果基本上決定了最終程序代碼的質(zhì)量。不僅要邏輯正確,性能滿足,還要簡明易懂。采用自頂向下,逐步求精的程序設(shè)計方法。使用三種基本控制結(jié)構(gòu)構(gòu)造程序:順序、選擇、循環(huán)。單入口,單出口的共同特點。主程序員的組織形式:一個主程序員、一個后備程序員和一個程序管理員三人為核心,再加上一些專家、其他技術(shù)人員組成小組。軟件詳細(xì)設(shè)計表示法常用三種工具:圖形、表格和語言。程序流程圖(PFC)PAD圖盒圖(N-S圖)過程設(shè)計語言PFC:三種基本控制結(jié)構(gòu)ABexpABFTFexpATAexpFTDO-UNTILDO-WHILEDOCASEICASE1CASEnFTDO-CASE程序流程圖程序流程圖,又稱程序框圖,是描述程序邏輯結(jié)構(gòu)的工具。它使用的符號與系統(tǒng)流程圖的符號很多相同,但是,箭頭符號代表控制流而不是數(shù)據(jù)流。優(yōu)點是直觀清晰、易于使用。缺點是:?易造成非結(jié)構(gòu)化的程序結(jié)構(gòu),編碼時不加限制的使用GOTO語句,導(dǎo)致基本控制塊多入多出口,與軟件設(shè)計的原則相違背。?程序流程圖本質(zhì)上不是逐步求精的好工具,誘使過早考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。?程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計案例分析程序流程圖(visio工具)策略:自頂向下,逐步求精的分解
PAD圖問題分析圖(ProblemAnalysisDiagram)開始結(jié)束輸入A(1)到A(10)的值輸出A(1)到A(10)的值置初值:n=10sortsorti=1WHILEi≤n-1WHILEj≤nj=i+1,max=A(i)A(i)=max,i=i+1j=j+1B=maxmax=A(j)A(j)=BMax<A(j)?清晰地反映了程序的層次結(jié)構(gòu)。?支持逐步求精的設(shè)計方法。?易讀易寫,使用方便。?支持結(jié)構(gòu)化的程序設(shè)計原理。?可自動生成程序。盒圖(N-S圖)WHILE循環(huán)條件“當(dāng)型”循環(huán)UNTIL循環(huán)條件“直到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 針對企業(yè)的風(fēng)險評估和管理服務(wù)合同
- 車子交易合同范文大全下載
- 代定住宿合同范文
- 二次供水合同
- 軟件成本分?jǐn)?合同模板
- 威尼斯小艇課程設(shè)計
- 座板模具課程設(shè)計
- 幼兒園服裝搭配課程設(shè)計
- 幼兒園海浪主題課程設(shè)計
- 幼兒園微課程設(shè)計點評
- 鋼化玻璃的MSDS英文報告
- 大學(xué)生情緒管理1500字論文2篇
- 2023廣東省成人高考《英語》(高升專)考試卷及答案(單選題型)
- 《德米安 埃米爾 辛克萊年少時的故事》讀書筆記思維導(dǎo)圖PPT模板下載
- 年產(chǎn)萬噸天然飲用水生產(chǎn)項目可行性研究報告
- 臨床藥理學(xué)第十四章 腎功能不全臨床用藥
- YS/T 682-2008釕粉
- GB/T 5976-2006鋼絲繩夾
- 麗聲妙想英文繪本第一級 My Dad課件
- 部編版五年級語文上-句子專項課件
- 初中語文人教九年級下冊《統(tǒng)一》PPT
評論
0/150
提交評論