版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
章軟件設計
yinrk432@passwordqhdxjsjx2021/5/91軟件設計的概念軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務,即軟件設計是確定系統(tǒng)的物理模型。從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計、過程設計。從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。2021/5/92將分析模型轉換為設計數(shù)據(jù)字典數(shù)據(jù)流圖實體關系圖狀態(tài)轉換圖加工規(guī)格說明控制規(guī)格說明數(shù)據(jù)對象描述過程設計接口設計體系結構設計數(shù)據(jù)設計2021/5/93概要設計將軟件需求轉化為軟件體系結構、確定系統(tǒng)級接口、全局數(shù)據(jù)結構或數(shù)據(jù)庫模式。詳細設計確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結構,用適當方法表示算法和數(shù)據(jù)結構的細節(jié)。2021/5/94數(shù)據(jù)設計將實體–關系圖中描述的對象和關系,以及數(shù)據(jù)字典中描述的詳細數(shù)據(jù)內容轉化為數(shù)據(jù)結構的定義。體系結構設計定義軟件系統(tǒng)各主要成份之間的關系。接口設計根據(jù)數(shù)據(jù)流圖定義軟件內部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。過程設計則是把結構成份轉換成軟件的過程性描述。2021/5/95衡量設計的技術原則:設計出來的結構應是分層結構。設計應當模塊化。設計應當包含數(shù)據(jù)抽象和過程抽象。設計應當建立具有具有獨立功能的模塊。設計應當建立能夠降低模塊與外部環(huán)境之間復雜連接的接口。設計應能根據(jù)軟件需求信息,建立可驅動可復用的方法。衡量設計的原則2021/5/96模塊獨立性用兩個準則度量模塊獨立性,即模塊間的耦合和模塊的內聚。內聚性:內聚是一個模塊內部各個元素彼此結合的緊密程度的度量。耦合性:耦合是模塊間互相連接的緊密程度的度量,它取決于各個模塊之間接口的復雜度、調用方式以及哪些信息通過接口。2021/5/97非直接
數(shù)據(jù)標記控制外部公共內容耦合耦合耦合耦合耦合耦合耦合耦合性模塊獨立性模塊間的耦合2021/5/98模塊內聚巧合邏輯時間過程通信信息功能內聚內聚內聚內聚內聚內聚內聚內聚性模塊獨立性2021/5/99結構化設計方法
基本概念
結構化設計(structureddesign,SD)是一種面向數(shù)據(jù)流的設計方法,它可以與SA方法銜接。結構化設計的基本思想是將系統(tǒng)設計成由相對獨立、功能單一的模塊組成的結構。2021/5/910信息流的類型
在需求分析階段,面向數(shù)據(jù)流的SA方法產生數(shù)據(jù)流圖DFD。在系統(tǒng)設計階段,面向數(shù)據(jù)流的SD方法將DFD轉換成程序結構圖。信息流的定義:DFD中從系統(tǒng)的輸入數(shù)據(jù)流到系統(tǒng)的輸出數(shù)據(jù)流的一連串連續(xù)變換。DFD信息流的分類:變換流與事務流。
2021/5/911變換流
工作原理
信息沿著輸入通路進入系統(tǒng),同時將信息的外部形式轉換成內部表示,然后通過變換中心(也稱主加工)處理,再沿著輸出通路轉換成外部形式離開系統(tǒng)。具有這種特性的信息流稱為變換流。組成變換流型DFD可以分成:輸入+變換(主加工)+輸出2021/5/912事務流
工作原理 信息沿著輸入通路到達一個事務中心,事務中心根據(jù)輸入信息(即事務)的類型在若干個動作序列(稱為活動流)中選擇一個來執(zhí)行,這種信息流稱為事務流。特征 事務流有明顯的事務中心,各活動流以事務中心為起點呈輻射狀流出。
2021/5/913變換分析
變換分析是從變換流型的DFD導出系統(tǒng)結構圖步驟確定輸入流和輸出流,孤立出變換中心;第一級分解:設計模塊結構的頂層和第一層;第二級分解:設計中、下層模塊。2021/5/9141)確定輸入流和輸出流,
孤立出變換中心變換分析的第一步輔助加工主加工輔助加工邏輯輸入變換中心物理輸入邏輯輸出物理輸出輸入流輸出流2021/5/9152)第一級分解:
設計模塊結構的頂層和第一層變換流型DFD可映射成下圖所示的系統(tǒng)結構圖:頂層模塊:其功能就是整個系統(tǒng)的功能;輸入控制模塊:接收所有的輸入數(shù)據(jù);變換控制模塊:實現(xiàn)輸入到輸出的變換;輸出控制模塊:產生所有的輸出數(shù)據(jù)。頂層模塊輸出控制變換控制輸入控制變換分析的第一級分解2021/5/9163)第二級分解:設計中、下層模塊輸入控制模塊的分解:從變換中心的邊界開始,沿著每條輸入通路,把輸入通路上的每個加工映射成輸入控制模塊的一個低層模塊。輸出控制模塊的分解:從變換中心的邊界開始,沿著每條輸出通路,把輸出通路上的每個加工映射成輸出控制模塊的一個低層模塊。變換控制模塊的分解:變換控制模塊通常沒有通用的分解方法,應根據(jù)DFD中變換部分的實際情況進行設計。2021/5/917事務分析事務分析是從事務流型DFD導出系統(tǒng)結構圖。步驟:確定事務中心和每條活動流的流特性將事務流型DFD映射成高層的系統(tǒng)結構進一步分解
2021/5/9181)確定事務中心和每條活動流的流特性
右圖為事務流型DFD的一般形式。事務中心(圖中的T): 位于活動流的起點, 活動流從該點成輻射狀流出?;顒恿鳎菏切畔⒘鳎梢允亲儞Q流也可以是另一事務流。事務流型的DFD的組成:輸入流+事務中心+若干條活動流
T輸入流事務流活動流2021/5/919右圖為事務流型DFD的高層結構形式。
頂層模塊:其功能就是整個系統(tǒng)的功能。
接收模塊:接收輸入數(shù)據(jù),對應輸入流。
發(fā)送模塊:調度模塊, 控制下層的所有活動模塊。
活動流模塊:對應活動流, 是該活動流映射成的 結構圖中的頂層模塊。2)將事務流型DFD映射成高層系統(tǒng)結構頂層模塊接收發(fā)送活動流1活動流2活動流n…事務流型DFD的高層系統(tǒng)結構2021/5/9203)進一步分解接收模塊:類同于變換分析中輸入控制模塊的分解。活動流模塊:根據(jù)其流特性(變換流或事務流)進一步采用變換分析或事務分析進行分解。
2021/5/921SD方法的設計步驟復查并細化數(shù)據(jù)流圖;確定DFD的信息流類型(變換流或事務流);根據(jù)流類型分別實施變換分析或事務分析;根據(jù)系統(tǒng)設計的原則對系統(tǒng)結構圖進行優(yōu)化。2021/5/922系統(tǒng)結構圖的基本符號模塊調用數(shù)據(jù)控制信息轉接符號系統(tǒng)結構圖的基本符號選擇(判斷)重復2021/5/923模塊調用示例(a)調用(b)判斷調用(c)循環(huán)調用2021/5/924數(shù)據(jù):模塊之間傳送的數(shù)據(jù)用帶空心圓的箭頭表示,并在旁邊標上數(shù)據(jù)名。控制信息:控制信息與數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài)。模塊間的數(shù)據(jù)傳遞AB(a)xyz查職工簡歷讀人事文件(b)職工號簡歷數(shù)據(jù)無此職工2021/5/925變換型系統(tǒng)結構2021/5/926事務型系統(tǒng)結構2021/5/927混合系統(tǒng)結構2021/5/928變換設計是軟件系統(tǒng)結構設計的主要方法。一般,一個大型的軟件系統(tǒng)是變換型結構和事務型結構的混合結構。所以,我們通常利用以變換設計為主,事務設計為輔的方式進行軟件結構設計。2021/5/929模塊功能完善化
一個完整的模塊應當有以下幾部分:執(zhí)行規(guī)定的功能部分;出錯處理的部分;函數(shù)在完成數(shù)據(jù)加工或結束時,應當給它的調用者返回一個狀態(tài)碼。消除重復功能,改善軟件結構模塊的作用范圍應在控制范圍之內改進系統(tǒng)結構的啟發(fā)式原則2021/5/930盡可能減少高扇出結構。避免或減少使用病態(tài)聯(lián)接。直接病態(tài)聯(lián)接公共數(shù)據(jù)域病態(tài)聯(lián)接通信模塊病態(tài)聯(lián)接模塊的大小要適中。設計功能可預測的模塊2021/5/931系統(tǒng)總體結構設計根據(jù)系統(tǒng)分析的要求和組織的實際情況,對新系統(tǒng)的總體結構形式和可利用的資源進行大致設計,這是一種宏觀、總體上的設計和規(guī)劃。系統(tǒng)總體設計的主要內容:系統(tǒng)結構設計原則子系統(tǒng)劃分系統(tǒng)模塊結構設計數(shù)據(jù)存儲設計2021/5/932子系統(tǒng)劃分劃分原則子系統(tǒng)要具有相對獨立性子系統(tǒng)之間數(shù)據(jù)的依賴性盡量小子系統(tǒng)劃分的結果應使數(shù)據(jù)冗余較小子系統(tǒng)的設置應考慮今后管理發(fā)展的需要子系統(tǒng)的劃分應便于系統(tǒng)分階段實現(xiàn)子系統(tǒng)的劃分應考慮到各類資源的充分利用2021/5/933子系統(tǒng)結構設計子系統(tǒng)結構設計的任務:確定劃分后的子系統(tǒng)模塊結構,并畫出模塊結構圖。子系統(tǒng)結構設計考慮以下幾個問題:每個子系統(tǒng)如何劃分成多個模塊。如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調用關系。如何評價并改進模塊結構的質量。如何從數(shù)據(jù)流圖導出模塊結構圖。2021/5/934系統(tǒng)模塊結構設計模塊:組成系統(tǒng)的基本單位,系統(tǒng)中任何一個處理功能都可以看成是一個模塊。特點:可以組合、分解和更換。分類標準:根據(jù)模塊功能具體化程度劃分分類:邏輯模塊和物理模塊邏輯模塊:在系統(tǒng)邏輯模型中定義的處理功能。物理模塊:即邏輯模塊的具體化,可以是2021/5/935
一個計算機程序、子程序或若干條程序語句,也可以是人工過程的某項具體工作。模塊的四要素:輸入和輸出:模塊的輸入來源和輸出去向都是同一個調用者,即一個模塊從調用者那里取得輸入,進行加工后再把輸出返回給調用者。處理功能:模塊把輸入轉換成輸出所作工作。2021/5/936內部數(shù)據(jù):僅供該模塊本身引用的數(shù)據(jù)。程序代碼:用來實現(xiàn)模塊功能的程序。模塊特性外部特性:反映了模塊的外貌,即前兩個要素,結構化設計考慮外部特性。內部特性:即后兩個要素,其具體實現(xiàn)在系統(tǒng)實施階段完成。2021/5/937數(shù)據(jù)存儲設計
數(shù)據(jù)結構組織和數(shù)據(jù)庫或文件設計:根據(jù)數(shù)據(jù)的不同用途、使用要求、統(tǒng)計渠道、安全保密性等,來決定數(shù)據(jù)的整體組織形式、表或文件的形式,以及決定數(shù)據(jù)的結構、類別、載體、組織方式、保密級別等。任務:建立數(shù)據(jù)的整體關系結構、數(shù)據(jù)資源分布確定數(shù)據(jù)的安全保密性:一般有4種不同方式(只讀、只寫、刪除、修改)。2021/5/938在過程設計階段,要決定各個模塊的實現(xiàn)算法,并精確地表達這些算法。對每個模塊規(guī)定的功能以及算法的設計,給出適當?shù)乃惴枋觯簣D形工具:程序流程圖,N-S,PAD,HIPO表格工具:判定表語言工具:PDL,HIPO過程設計(詳細設計)2021/5/9391)
程序流程圖ABABPA1P=1A2=2An=nTSPFFSPT順序型選擇型先判斷重復型后判斷重復型多分支選擇型2021/5/9402)N-S圖ABPFTABPFTAwhile-doPAdo-whilePAP=1=2…=nA1A2…An順序型選擇型(1)選擇型(2)先判斷重復型后判斷重復型多分支選擇型2021/5/9413)問題分析圖(PAD)S1SA1A2AnPPP=1=2=nwhile
PSSS1S2S2untilP選擇型順序型多分支選擇型先判斷重復型后判斷重復型2021/5/9424)PDL(ProgramDesignLanguage)PDL是一種用于描述功能模塊的算法設計和加工細節(jié)的語言。稱為設計程序用語言。它是一種偽碼。偽碼的語法規(guī)則分為“外語法”和“內語法”。PDL具有嚴格的關鍵字外語法,用于定義控制結構和數(shù)據(jù)結構,同時它的表示實際操作和條件的內語法可使用自然語言的詞匯。2021/5/943示例:拼詞檢查程序PROCEDUREspellcheckBEGIN
--*splitdocumentintosinglewords
LOOPgetnextword
addwordtowordlistinsortorder
EXITWHENallwordsprocessed
ENDLOOP
--*lookupwordsindictionary
LOOPgetwordfromwordlist2021/5/944
IFwordnotindictionaryTHEN
--*displaywordsnotindictionary
displaywordpromptonuserterminal
IFuserresponsesayswordOKTHEN
addwordtogoodwordlist
ELSE
addwordtobadwordlist
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上藥醫(yī)療器械(上海)有限公司招聘醫(yī)院供應鏈現(xiàn)場管理員備考題庫及參考答案詳解一套
- 麗水市2025年浙江縉云縣融媒體中心招聘工作人員6人筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 中央2025年商務部直屬事業(yè)單位招聘34人筆試歷年難易錯考點試卷帶答案解析
- 中衛(wèi)中衛(wèi)市2025年市直事業(yè)單位遴選29人筆試歷年典型考點題庫附帶答案詳解
- 東莞東莞市市場監(jiān)督管理局下屬事業(yè)單位2025年招聘10人筆試歷年備考題庫附帶答案詳解
- 上海市2025年上海海關事業(yè)單位第二批公開招聘筆試歷年參考題庫典型考點附帶答案詳解(3卷合一)
- 上海2025年浦東新區(qū)教育局事業(yè)單位交流競聘(第二批次)筆試歷年難易錯考點試卷帶答案解析
- 2026貴州烏江水電開發(fā)有限責任公司校園招聘(第一批)筆試參考題庫附帶答案詳解
- 2025西安報業(yè)傳媒集團招聘(23人)筆試參考題庫附帶答案詳解
- 2025山東濟南軌道交通酒店管理有限公司招聘13人筆試參考題庫附帶答案詳解
- 護理員職業(yè)道德與法律法規(guī)
- 2025年安徽省普通高中學業(yè)水平合格性考試化學試卷(含答案)
- 2025年寧波市公共交通集團有限公司下屬分子公司招聘備考題庫及答案詳解參考
- 別墅澆筑施工方案(3篇)
- 2026年關于汽車銷售工作計劃書
- 腫瘤放射治療的新技術進展
- 2024外研版四年級英語上冊Unit 4知識清單
- 視頻會議系統(tǒng)施工質量控制方案
- 2025年高二數(shù)學建模試題及答案
- 2025年黨的二十屆四中全會精神宣講稿及公報解讀輔導報告
- 壓力管道安裝單位壓力管道質量安全風險管控清單
評論
0/150
提交評論