軟件工程導(dǎo)論(第五版)課件-第5、6章.doc_第1頁(yè)
軟件工程導(dǎo)論(第五版)課件-第5、6章.doc_第2頁(yè)
軟件工程導(dǎo)論(第五版)課件-第5、6章.doc_第3頁(yè)
軟件工程導(dǎo)論(第五版)課件-第5、6章.doc_第4頁(yè)
軟件工程導(dǎo)論(第五版)課件-第5、6章.doc_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第五章 總體設(shè)計(jì) & 第六章 詳細(xì)設(shè)計(jì)一、復(fù)習(xí)要求1. 了解軟件概要設(shè)計(jì)(總體設(shè)計(jì))和詳細(xì)設(shè)計(jì)的內(nèi)容。2、了解軟件設(shè)計(jì)的基本原理2. 掌握軟件結(jié)構(gòu)的設(shè)計(jì)工具(O)。3. 掌握結(jié)構(gòu)化設(shè)計(jì)工具。(SC、流程圖、盒圖、圖)4. 了解Jackson系統(tǒng)開(kāi)發(fā)方法二、內(nèi)容提要1. 軟件設(shè)計(jì)的過(guò)程(1) 軟件設(shè)計(jì)在開(kāi)發(fā)階段中的重要性在軟件需求分析階段已經(jīng)完全弄清楚了軟件的各種需求,較好地解決了要讓所開(kāi)發(fā)的軟件“做什么”的問(wèn)題,并已在軟件需求規(guī)格說(shuō)明和數(shù)據(jù)要求規(guī)格說(shuō)明中詳盡和充分地闡明了這些需求。下一步就要著手實(shí)現(xiàn)軟件的需求,即要著手解決“怎么做”的問(wèn)題。分析模型中的每一個(gè)成份都提供了建立設(shè)計(jì)模型所需的信息。軟件設(shè)計(jì)的信息流如圖所示。根據(jù)用數(shù)據(jù)、功能和行為模型表示的軟件需求,采用某種設(shè)計(jì)方法進(jìn)行數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。圖 將分析模型轉(zhuǎn)換為軟件設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)將實(shí)體關(guān)系圖中描述的對(duì)象和關(guān)系,以及數(shù)據(jù)詞典中描述的詳細(xì)數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。體系結(jié)構(gòu)設(shè)計(jì)定義軟件系統(tǒng)各主要成份之間的關(guān)系。接口設(shè)計(jì)根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機(jī)制。過(guò)程設(shè)計(jì)則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過(guò)程性描述。在編碼步驟,根據(jù)這種過(guò)程性描述,生成源程序代碼,然后通過(guò)測(cè)試最終得到完整有效的軟件。軟件設(shè)計(jì)是開(kāi)發(fā)階段中最重要的步驟,它是軟件開(kāi)發(fā)過(guò)程中質(zhì)量得以保證的關(guān)鍵步驟。(2) 軟件設(shè)計(jì)的過(guò)程從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步完成。首先做概要設(shè)計(jì),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),并建立接口。然后是詳細(xì)設(shè)計(jì),即過(guò)程設(shè)計(jì)。通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。McGlanghlin給出在將需求轉(zhuǎn)換為設(shè)計(jì)時(shí)判斷設(shè)計(jì)好壞的三條特征: 設(shè)計(jì)必須實(shí)現(xiàn)分析模型中描述的所有顯式需求,必須滿足用戶希望的所有隱式需求。 設(shè)計(jì)必須是可讀、可理解的,使得將來(lái)易于編程、易于測(cè)試、易于維護(hù)。 設(shè)計(jì)應(yīng)從實(shí)現(xiàn)角度出發(fā),給出與數(shù)據(jù)、功能、行為相關(guān)的軟件全貌。以上三點(diǎn)就是軟件設(shè)計(jì)過(guò)程的目標(biāo)。為達(dá)到這些目標(biāo),必須建立衡量設(shè)計(jì)的技術(shù)標(biāo)準(zhǔn)。 設(shè)計(jì)出來(lái)的結(jié)構(gòu)應(yīng)是分層結(jié)構(gòu),從而建立軟件成份之間的控制。 設(shè)計(jì)應(yīng)當(dāng)模塊化,從邏輯上將軟件劃分為完成特定功能或子功能的構(gòu)件。 設(shè)計(jì)應(yīng)當(dāng)既包含數(shù)據(jù)抽象,也包含過(guò)程抽象。 設(shè)計(jì)應(yīng)當(dāng)建立具有具有獨(dú)立功能特征的模塊。 設(shè)計(jì)應(yīng)當(dāng)建立能夠降低模塊與外部環(huán)境之間復(fù)雜連接的接口。 設(shè)計(jì)應(yīng)能根據(jù)軟件需求分析獲取的信息,建立可驅(qū)動(dòng)可重復(fù)的方法。 軟件設(shè)計(jì)過(guò)程根據(jù)基本的設(shè)計(jì)原則,使用系統(tǒng)化的方法和完全的的設(shè)計(jì)評(píng)審來(lái)建立良好的設(shè)計(jì)。 三、例題分析一、 選擇題1. SD方法的設(shè)計(jì)總則是 ( C、D )。2個(gè)A) 程序簡(jiǎn)潔、操作方便B) 模塊調(diào)用少C) 模塊內(nèi)聚性強(qiáng)D) 模塊之間耦合度低2. 軟件設(shè)計(jì)的主要任務(wù)是 ( A、B、D )。3個(gè)A) 將分析階段獲得的需求說(shuō)明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng)B) 完成系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)設(shè)計(jì)C) 完成模塊的編碼和測(cè)試D) 對(duì)模塊內(nèi)部的過(guò)程進(jìn)行設(shè)計(jì)3. 從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步完成 ( D )。A) 系統(tǒng)分析模塊設(shè)計(jì)B) 詳細(xì)設(shè)計(jì)功能設(shè)計(jì)C) 模塊設(shè)計(jì)詳細(xì)設(shè)計(jì)D) 總體設(shè)計(jì)詳細(xì)設(shè)計(jì)4. 模塊獨(dú)立性準(zhǔn)則由以下定性指標(biāo)來(lái)衡量 ( 、 )。A) 分解度B) 耦合度C) 屏蔽性D) 內(nèi)聚性5 . 軟件結(jié)構(gòu)使用的圖形工具,一般采用( C )圖。A) DFDB) PADC) SCD) E-R6. PDL 是下列的什么語(yǔ)言( C )。A) 高級(jí)程序設(shè)計(jì)語(yǔ)言B) 中級(jí)程序設(shè)計(jì)語(yǔ)言C) 偽碼D) 低級(jí)程序設(shè)計(jì)語(yǔ)言7. 結(jié)構(gòu)化程序設(shè)計(jì)的一種基本方法是( D )。A) 篩選法B) 遞歸法C) 迭代法D) 逐步求精法二、判斷題1. 劃分模塊可以降低軟件的復(fù)雜度和工作量,所以應(yīng)該將模塊分得越小越好。 ()2. 在網(wǎng)狀結(jié)構(gòu)中任何兩個(gè)模塊都是平等的,沒(méi)有從屬關(guān)系,所以在軟件開(kāi)發(fā)過(guò)程中常常被使用。()3. 信息隱蔽原則有利于提高模塊的內(nèi)聚性。()4. 中心變換型的DFD圖可看成是對(duì)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理,因此可以使 用事務(wù)分析技術(shù)得到初始的模塊結(jié)構(gòu)圖。()5. SD法是一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,強(qiáng)調(diào)程序結(jié)構(gòu)與問(wèn)題結(jié)構(gòu)相對(duì)應(yīng)。 ()6. JACKSON方法是以數(shù)據(jù)流、數(shù)據(jù)封閉性準(zhǔn)則逐層分解的。()三、簡(jiǎn)答題1. 模塊內(nèi)聯(lián)系和模塊間聯(lián)系有哪些種類?答:塊間聯(lián)系的各種類型的劃分,從以下3方面考慮: 按塊間聯(lián)系的方式(可分為直接引用與過(guò)程調(diào)用); 按塊間共用信息的作用(可分為數(shù)據(jù)型、控制型與混合型); 按塊間共用的信息數(shù)量多少(信息多聯(lián)系緊密)。(1) 塊間聯(lián)系的類型,按照耦合度由大到小分為:內(nèi)容型:直接引用另一模塊的內(nèi)部信息;公共型:兩個(gè)模塊引用共同的全程數(shù)據(jù)區(qū);控制型:模塊間傳送的信息用于控制模塊的內(nèi)部邏輯;復(fù)合型:模塊間傳送復(fù)合的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)型:模塊間傳送單個(gè)數(shù)據(jù)項(xiàng)。(2) 塊內(nèi)聯(lián)系的類型,按照內(nèi)聚性從小到大分為:偶然型:模塊內(nèi)部沒(méi)有必然聯(lián)系;邏輯型:邏輯上相似的功能放進(jìn)一個(gè)模塊;瞬時(shí)型:將同時(shí)執(zhí)行的語(yǔ)句放在一個(gè)模塊;通信型:模塊中的各部分引用共同的數(shù)據(jù);順序型:模塊中一部分的輸出是另一部分的收入;功能型: 模塊中剛好包含了完成一個(gè)基本任務(wù)所必需的成分。2. 分析以下DFD圖,說(shuō)明屬于哪種類型的DFD圖,請(qǐng)確定其主加工。并按照相應(yīng)的變換將其轉(zhuǎn)換為初始的模塊結(jié)構(gòu)圖。 參考答案:(略)3. 按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計(jì)總則對(duì)模塊進(jìn)行修改,具體從哪些方面進(jìn)行改進(jìn)?解:(1) 盡可能建立功能模塊;(2) 消除重復(fù)功能;(3) 模塊的作用范圍與控制范圍,即當(dāng)作用范圍為控制范圍的子集時(shí),才能獲得較低的塊間 聯(lián)系;(4) 模塊的大小適當(dāng);(5) 模塊的扇入扇出數(shù)不宜太多。4. 請(qǐng)將下述有關(guān)模塊獨(dú)立性的各種模塊之間的耦合,按其耦合度從低到高排列起來(lái)。 內(nèi)容耦合 控制耦合 非直接耦合 標(biāo)記耦合 數(shù)據(jù)耦合 外部耦合 公共耦合答案:、 5. 請(qǐng)將下述有關(guān)模塊獨(dú)立性的各種模塊內(nèi)聚,按其內(nèi)聚度(強(qiáng)度)從高到低排列起來(lái)。 巧合內(nèi)聚 時(shí)間內(nèi)聚 功能內(nèi)聚 通信內(nèi)聚 邏輯內(nèi)聚 信息內(nèi)聚 過(guò)程內(nèi)聚答案: 、 6. 如何理解模塊獨(dú)立性?答:如果兩個(gè)模塊互相獨(dú)立,那么對(duì)其中一個(gè)模塊進(jìn)行編碼、測(cè)試或修改時(shí)可以完全不考慮另一個(gè)模塊對(duì)它的影響。因此,用模塊獨(dú)立性作為衡量模塊結(jié)構(gòu)是否容易編碼、容易測(cè)試、容易修改的標(biāo)準(zhǔn)是合適的。但是,在一個(gè)系統(tǒng)的模塊結(jié)構(gòu)中沒(méi)有哪兩個(gè)模塊可以完全獨(dú)立,所以,要力爭(zhēng)模塊之間盡量獨(dú)立,以得到一個(gè)質(zhì)量良好的模塊結(jié)構(gòu)。7. 模塊獨(dú)立性與信息隱蔽(反映模塊化有效程度的屬性)有何關(guān)系?答:所謂“模塊獨(dú)立性”是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其它的模塊的接口是簡(jiǎn)單的。所謂的“信息隱蔽”是指每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其它模塊來(lái)說(shuō)是隱蔽的。也就是說(shuō),模塊中所包含的信息(包括數(shù)據(jù)和過(guò)程)不允許其它不需要這些信息的模塊使用。如果軟件系統(tǒng)做到了信息隱蔽,即定義和實(shí)施了對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制,那么這些模塊相互間的接口就是簡(jiǎn)單的。這組模塊的獨(dú)立性就比較強(qiáng)。事實(shí)上,衡量模塊獨(dú)立性的一個(gè)準(zhǔn)則就是模塊內(nèi)聚,達(dá)到信息隱蔽的模塊是信息內(nèi)聚模塊,它是高內(nèi)聚情形,模塊獨(dú)立性當(dāng)然很強(qiáng)了。8. 概要設(shè)計(jì)的基本任務(wù)是什么?軟件設(shè)計(jì)是一個(gè)把軟件需求轉(zhuǎn)換為軟件表示的過(guò)程。最初這種表示只是描述了軟件的總體結(jié)構(gòu),稱為概要設(shè)計(jì)。概要設(shè)計(jì)的基本任務(wù)包括:軟件結(jié)構(gòu)的設(shè)計(jì)、總體數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)、接口設(shè)計(jì)、界面設(shè)計(jì)、編寫概要設(shè)計(jì)文檔、概要設(shè)計(jì)評(píng)審。9. 詳細(xì)設(shè)計(jì)的基本任務(wù)?10. 下面是兩個(gè)程序流程圖,試分別用PAD表示之,并計(jì)算它們的McCabe復(fù)雜性度量。FTQE

溫馨提示

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

評(píng)論

0/150

提交評(píng)論