




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1,軟件工程第三章 軟件設(shè)計,授課老師:清華大學(xué)計算機系 殷人昆 password qhdxjsjx,2,軟件設(shè)計的概念,軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),即軟件設(shè)計是確定系統(tǒng)的物理模型。 從技術(shù)觀點來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。 從工程管理角度來看,軟件設(shè)計分兩步完成:概要設(shè)計和詳細設(shè)計。,3,4,概要設(shè)計將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式。 詳細設(shè)計確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。,5,數(shù)據(jù)設(shè)計將實體關(guān)系圖中描述的對象和關(guān)系,以及數(shù)據(jù)字典中描述
2、的詳細數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。 體系結(jié)構(gòu)設(shè)計定義軟件系統(tǒng)各主要成份之間的關(guān)系。 接口設(shè)計根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機制。 過程設(shè)計則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過程性描述。,6,衡量設(shè)計的技術(shù)原則: 設(shè)計出來的結(jié)構(gòu)應(yīng)是分層結(jié)構(gòu)。 設(shè)計應(yīng)當(dāng)模塊化。 設(shè)計應(yīng)當(dāng)包含數(shù)據(jù)抽象和過程抽象。 設(shè)計應(yīng)當(dāng)建立具有具有獨立功能的模塊。 設(shè)計應(yīng)當(dāng)建立能夠降低模塊與外部環(huán)境之間復(fù)雜連接的接口。 設(shè)計應(yīng)能根據(jù)軟件需求信息,建立可驅(qū)動可復(fù)用的方法。,衡量設(shè)計的原則,7,模塊獨立性,用兩個準(zhǔn)則度量模塊獨立性,即模塊間的耦合和模塊的內(nèi)聚。 內(nèi)聚性:內(nèi)聚是一個模塊內(nèi)部各
3、個元素彼此結(jié)合的緊密程度的度量。 耦合性: 耦合是模塊間互相連接的緊密程度的度量,它取決于各個模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。,8,耦合性,模塊獨立性,模塊間的耦合,9,模塊內(nèi)聚,內(nèi)聚性,模塊獨立性,10,結(jié)構(gòu)化設(shè)計方法,基本概念,結(jié)構(gòu)化設(shè)計(structured design,SD)是一種面向數(shù)據(jù)流的設(shè)計方法,它可以與SA方法銜接。 結(jié)構(gòu)化設(shè)計的基本思想是將系統(tǒng)設(shè)計成由相對獨立、功能單一的模塊組成的結(jié)構(gòu)。,11,信息流的類型,在需求分析階段,面向數(shù)據(jù)流的SA方法產(chǎn)生數(shù)據(jù)流圖DFD。 在系統(tǒng)設(shè)計階段,面向數(shù)據(jù)流的SD方法將DFD轉(zhuǎn)換成程序結(jié)構(gòu)圖。 信息流的定義:DFD中從系
4、統(tǒng)的輸入數(shù)據(jù)流到系統(tǒng)的輸出數(shù)據(jù)流的一連串連續(xù)變換。 DFD信息流的分類:變換流與事務(wù)流。,12,變換流,工作原理 信息沿著輸入通路進入系統(tǒng),同時將信息的外部形式轉(zhuǎn)換成內(nèi)部表示,然后通過變換中心(也稱主加工)處理,再沿著輸出通路轉(zhuǎn)換成外部形式離開系統(tǒng)。具有這種特性的信息流稱為變換流。 組成 變換流型DFD可以分成: 輸入變換(主加工)輸出,13,事務(wù)流,工作原理 信息沿著輸入通路到達一個事務(wù)中心,事務(wù)中心根據(jù)輸入信息(即事務(wù))的類型在若干個動作序列(稱為活動流)中選擇一個來執(zhí)行,這種信息流稱為事務(wù)流。 特征 事務(wù)流有明顯的事務(wù)中心,各活動流以事務(wù)中心為起點呈輻射狀流出。,14,變換分析,變換分析
5、是從變換流型的DFD導(dǎo)出系統(tǒng)結(jié)構(gòu)圖 步驟 確定輸入流和輸出流,孤立出變換中心; 第一級分解:設(shè)計模塊結(jié)構(gòu)的頂層和第一層; 第二級分解:設(shè)計中、下層模塊。,15,1)確定輸入流和輸出流,孤立出變換中心,變換分析的第一步,16,2)第一級分解:設(shè)計模塊結(jié)構(gòu)的頂層和第一層,變換流型DFD可映射成下圖所示的系統(tǒng)結(jié)構(gòu)圖: 頂層模塊:其功能就是整個系統(tǒng)的功能; 輸入控制模塊:接收所有的輸入數(shù)據(jù); 變換控制模塊:實現(xiàn)輸入到輸出的變換; 輸出控制模塊:產(chǎn)生所有的輸出數(shù)據(jù)。,17,3)第二級分解:設(shè)計中、下層模塊,輸入控制模塊的分解:從變換中心的邊界開始,沿著每條輸入通路,把輸入通路上的每個加工映射成輸入控制模
6、塊的一個低層模塊。 輸出控制模塊的分解:從變換中心的邊界開始,沿著每條輸出通路,把輸出通路上的每個加工映射成輸出控制模塊的一個低層模塊。 變換控制模塊的分解:變換控制模塊通常沒有通用的分解方法,應(yīng)根據(jù)DFD中變換部分的實際情況進行設(shè)計。,18,事務(wù)分析,事務(wù)分析是從事務(wù)流型DFD導(dǎo)出系統(tǒng)結(jié)構(gòu)圖。 步驟: 確定事務(wù)中心和每條活動流的流特性 將事務(wù)流型DFD映射成高層的系統(tǒng)結(jié)構(gòu) 進一步分解,19,1)確定事務(wù)中心和每條活動流的流特性,右圖為事務(wù)流型DFD的一般形式。 事務(wù)中心(圖中的T): 位于活動流的起點, 活動流從該點成輻射狀流出。 活動流:是信息流, 可以是變換流 也可以是另一事務(wù)流。 事務(wù)
7、流型的DFD的組成: 輸入流事務(wù)中心若干條活動流,20,右圖為事務(wù)流型DFD的高層結(jié)構(gòu)形式。 頂層模塊:其功能就是整個系統(tǒng)的功能。 接收模塊:接收輸入數(shù)據(jù),對應(yīng)輸入流。 發(fā)送模塊:調(diào)度模塊, 控制下層的所有活動模塊。 活動流模塊:對應(yīng)活動流, 是該活動流映射成的 結(jié)構(gòu)圖中的頂層模塊。,2)將事務(wù)流型DFD映射成高層系統(tǒng)結(jié)構(gòu),頂層模塊,接收,發(fā)送,活動流1,活動流2,活動流n,事務(wù)流型DFD的高層系統(tǒng)結(jié)構(gòu),21,3)進一步分解,接收模塊:類同于變換分析中輸入控制模塊的分解。 活動流模塊:根據(jù)其流特性(變換流或事務(wù)流)進一步采用變換分析或事務(wù)分析進行分解。,22,SD方法的設(shè)計步驟,復(fù)查并細化數(shù)據(jù)
8、流圖; 確定DFD的信息流類型(變換流或事務(wù)流); 根據(jù)流類型分別實施變換分析或事務(wù)分析; 根據(jù)系統(tǒng)設(shè)計的原則對系統(tǒng)結(jié)構(gòu)圖進行優(yōu)化。,23,系統(tǒng)結(jié)構(gòu)圖的基本符號,24,25,數(shù)據(jù):模塊之間傳送的數(shù)據(jù)用帶空心圓的箭頭表示,并在旁邊標(biāo)上數(shù)據(jù)名。 控制信息:控制信息與數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài)。,26,變換型系統(tǒng)結(jié)構(gòu),27,事務(wù)型系統(tǒng)結(jié)構(gòu),28,混合系統(tǒng)結(jié)構(gòu),29,變換設(shè)計是軟件系統(tǒng)結(jié)構(gòu)設(shè)計的主要方法。 一般,一個大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合結(jié)構(gòu)。所以,我們通常利用以變換設(shè)計為主,事務(wù)設(shè)計為輔的方式進行軟件結(jié)構(gòu)設(shè)計。,30,模塊功能完善化 一個完整的模塊應(yīng)當(dāng)有以下幾部分
9、: 執(zhí)行規(guī)定的功能部分; 出錯處理的部分; 函數(shù)在完成數(shù)據(jù)加工或結(jié)束時,應(yīng)當(dāng)給它的調(diào)用者返回一個狀態(tài)碼。 消除重復(fù)功能,改善軟件結(jié)構(gòu) 模塊的作用范圍應(yīng)在控制范圍之內(nèi),改進系統(tǒng)結(jié)構(gòu)的啟發(fā)式原則,31,盡可能減少高扇出結(jié)構(gòu)。 避免或減少使用病態(tài)聯(lián)接。 直接病態(tài)聯(lián)接 公共數(shù)據(jù)域病態(tài)聯(lián)接 通信模塊病態(tài)聯(lián)接 模塊的大小要適中。 設(shè)計功能可預(yù)測的模塊,32,系統(tǒng)總體結(jié)構(gòu)設(shè)計,根據(jù)系統(tǒng)分析的要求和組織的實際情況,對新系統(tǒng)的總體結(jié)構(gòu)形式和可利用的資源進行大致設(shè)計,這是一種宏觀、總體上的設(shè)計和規(guī)劃。 系統(tǒng)總體設(shè)計的主要內(nèi)容: 系統(tǒng)結(jié)構(gòu)設(shè)計原則 子系統(tǒng)劃分 系統(tǒng)模塊結(jié)構(gòu)設(shè)計 數(shù)據(jù)存儲設(shè)計,33,子系統(tǒng)劃分,劃分原
10、則 子系統(tǒng)要具有相對獨立性 子系統(tǒng)之間數(shù)據(jù)的依賴性盡量小 子系統(tǒng)劃分的結(jié)果應(yīng)使數(shù)據(jù)冗余較小 子系統(tǒng)的設(shè)置應(yīng)考慮今后管理發(fā)展的需要 子系統(tǒng)的劃分應(yīng)便于系統(tǒng)分階段實現(xiàn) 子系統(tǒng)的劃分應(yīng)考慮到各類資源的充分利用,34,子系統(tǒng)結(jié)構(gòu)設(shè)計 子系統(tǒng)結(jié)構(gòu)設(shè)計的任務(wù): 確定劃分后的子系統(tǒng)模塊結(jié)構(gòu),并畫出模塊結(jié)構(gòu)圖。 子系統(tǒng)結(jié)構(gòu)設(shè)計考慮以下幾個問題: 每個子系統(tǒng)如何劃分成多個模塊。 如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調(diào)用關(guān)系。 如何評價并改進模塊結(jié)構(gòu)的質(zhì)量。 如何從數(shù)據(jù)流圖導(dǎo)出模塊結(jié)構(gòu)圖。,35,系統(tǒng)模塊結(jié)構(gòu)設(shè)計,模塊:組成系統(tǒng)的基本單位,系統(tǒng)中任何一個處理功能都可以看成是一個模塊。 特點:可以組合、分解和
11、更換。 分類標(biāo)準(zhǔn):根據(jù)模塊功能具體化程度劃分 分類:邏輯模塊和物理模塊 邏輯模塊:在系統(tǒng)邏輯模型中定義的處理功能。 物理模塊:即邏輯模塊的具體化,可以是,36,一個計算機程序、子程序或若干條程序語句,也可以是人工過程的某項具體工作。 模塊的四要素: 輸入和輸出:模塊的輸入來源和輸出去向都是同一個調(diào)用者,即一個模塊從調(diào)用者那里取得輸入,進行加工后再把輸出返回給調(diào)用者。 處理功能:模塊把輸入轉(zhuǎn)換成輸出所作工作。,37,內(nèi)部數(shù)據(jù):僅供該模塊本身引用的數(shù)據(jù)。 程序代碼:用來實現(xiàn)模塊功能的程序。 模塊特性 外部特性:反映了模塊的外貌,即前兩個要素,結(jié)構(gòu)化設(shè)計考慮外部特性。 內(nèi)部特性:即后兩個要素,其具體
12、實現(xiàn)在系統(tǒng)實施階段完成。,38,數(shù)據(jù)存儲設(shè)計,數(shù)據(jù)結(jié)構(gòu)組織和數(shù)據(jù)庫或文件設(shè)計: 根據(jù)數(shù)據(jù)的不同用途、使用要求、統(tǒng)計渠道、安全保密性等,來決定數(shù)據(jù)的整體組織形式、表或文件的形式,以及決定數(shù)據(jù)的結(jié)構(gòu)、類別、載體、組織方式、保密級別等。 任務(wù): 建立數(shù)據(jù)的整體關(guān)系結(jié)構(gòu)、數(shù)據(jù)資源分布 確定數(shù)據(jù)的安全保密性:一般有4種不同方式(只讀、只寫、刪除、修改)。,39,在過程設(shè)計階段,要決定各個模塊的實現(xiàn)算法,并精確地表達這些算法。 對每個模塊規(guī)定的功能以及算法的設(shè)計,給出適當(dāng)?shù)乃惴枋觯?圖形工具:程序流程圖, N-S ,PAD, HIPO 表格工具:判定表 語言工具: PDL , HIPO,過程設(shè)計(詳細設(shè)
13、計),40,1) 程序流程圖,順序型,選擇型,先判斷 重復(fù)型,后判斷 重復(fù)型,多分支選擇型,41,2) N-S 圖,順序型,選擇型(1),選擇型(2),先判斷重復(fù)型,后判斷重復(fù)型,多分支選擇型,42,3) 問題分析圖 (PAD),選擇型,順序型,多分支選擇型,先判斷重復(fù)型,后判斷重復(fù)型,43,4) PDL (Program Design Language),PDL是一種用于描述功能模塊的算法設(shè)計和加工細節(jié)的語言。稱為設(shè)計程序用語言。它是一種偽碼。 偽碼的語法規(guī)則分為“外語法”和“內(nèi)語法”。 PDL具有嚴格的關(guān)鍵字外語法,用于定義控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),同時它的表示實際操作和條件的內(nèi)語法可使用自然語
14、言的詞匯。,44,示例: 拼詞檢查程序,PROCEDURE spellcheck BEGIN -* split document into single words LOOP get next word add word to word list in sortorder EXIT WHEN all words processed END LOOP -* look up words in dictionary LOOP get word from word list,45,IF word not in dictionary THEN -* display words not in dictionary display word prompt on user terminal IF user response says word OK THEN add word to good word list ELSE add word to bad word list ENDIF ENDIF EXI
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育機器人技術(shù)在特殊教育中的運用
- 教育技術(shù)中的交互設(shè)計-以包容性為核心
- 公交優(yōu)先戰(zhàn)略下2025年城市交通擁堵治理成本效益分析報告
- 福建省泉州市2024-2025學(xué)年九上化學(xué)期末經(jīng)典模擬試題含解析
- 嵩山少林武術(shù)職業(yè)學(xué)院《企業(yè)文化建設(shè)》2023-2024學(xué)年第一學(xué)期期末試卷
- 承德護理職業(yè)學(xué)院《汽車造型設(shè)計2》2023-2024學(xué)年第一學(xué)期期末試卷
- 宿遷職業(yè)技術(shù)學(xué)院《網(wǎng)頁設(shè)計與制作實驗》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西科技大學(xué)鎬京學(xué)院《建筑火災(zāi)防治與風(fēng)險評估》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南彌勒市2024年化學(xué)九上期末綜合測試模擬試題含解析
- 藁城舒卿培訓(xùn)課件
- 2025年克拉瑪依市公安局招聘警務(wù)輔助人員考試筆試試題(含答案)
- 中國陶瓷史題目及答案
- 湖北省2025年中考英語真題試卷(含答案)
- 2025年中遠海運集團招聘筆試備考題庫(帶答案詳解)
- 護理查房與病歷討論
- 北京豐臺區(qū)“青苗培優(yōu)”招聘考試真題2024
- 安全生產(chǎn)法律法規(guī)匯編(2025版)
- 【MOOC】森林經(jīng)理學(xué)-北京林業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 除塵室PLC控制系統(tǒng)的設(shè)計
- 鋁粉膏水泥發(fā)泡劑發(fā)氣鋁粉制作配方及生產(chǎn)工藝技術(shù)文集
- 體驗為主的心理繪本療法對中職生心理健康教育中的應(yīng)用
評論
0/150
提交評論