2018-10-19 學(xué)信網(wǎng)教育 http://www.glbcc.cn
2020年自考《軟件工程》單元七
(四)簡答題
1. 什么是軟件概要設(shè)計(jì)?該階段的基本任務(wù)是什么?
2. 軟件設(shè)計(jì)的基本原理包括哪些內(nèi)容?
3. 什么是模塊間的耦合性?有哪幾種耦合性?簡述降低模塊間耦合度的方法。
4. 什么是軟件結(jié)構(gòu)?簡述軟件結(jié)構(gòu)設(shè)計(jì)優(yōu)化準(zhǔn)則。
5. 變換分析設(shè)計(jì)與事務(wù)分析設(shè)計(jì)有什么區(qū)別?簡述其設(shè)計(jì)步驟。
(四)簡答題答案
1. 軟件概要設(shè)計(jì)又稱結(jié)構(gòu)設(shè)計(jì),這是一個(gè)把軟件需求轉(zhuǎn)換為軟件表示(只是描述軟件的總的體系結(jié)構(gòu))的過程。該階段的基本任務(wù)是:
① 設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu):
·采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊。
·確定每個(gè)模塊的功能。
·確定模塊之間的調(diào)用關(guān)系。
·確定模塊之間的接口,即模塊之間傳遞的信息。
·評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量。
② 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設(shè)計(jì):在概要設(shè)計(jì)階段,數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)應(yīng)用抽象的數(shù)據(jù)類型、數(shù)據(jù)庫設(shè)計(jì)應(yīng)用數(shù)據(jù)庫的邏輯設(shè)計(jì)。
③ 編寫概要設(shè)計(jì)文檔:包括概要設(shè)計(jì)說明書、數(shù)據(jù)庫設(shè)計(jì)說明書、用戶手冊(cè)、組裝測試計(jì)劃。
④ 評(píng)審:對(duì)設(shè)計(jì)部分是否完整地實(shí)現(xiàn)了需求中規(guī)定的功能、性能等要求,設(shè)計(jì)方案的可行性,關(guān)鍵的處理及內(nèi)外部接口定義正確性、有效性,各部分之間的一致性等一一進(jìn)行評(píng)審。
2. 軟件設(shè)計(jì)的基本原理包括:
① 模塊化:指解決一個(gè)復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。每個(gè)模塊完成一個(gè)特定的子功能,所有模塊按某種方法組裝起來,成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。模塊化是軟件解決復(fù)雜問題所具備的手段。
② 抽象:是認(rèn)識(shí)復(fù)雜現(xiàn)象過程中使用的思維工具,即抽出事物本質(zhì)的共同的特性而暫不考慮它的細(xì)節(jié),不考慮其他因素。軟件工程中每一步都是對(duì)軟件解決方法的抽象層次的一次細(xì)化。
③ 信息隱蔽:指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說,是不能訪問的。通過信息隱蔽,可以定義和實(shí)施對(duì)模塊的過程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。
④ 模塊獨(dú)立性。指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量模塊獨(dú)立性有兩個(gè)標(biāo)準(zhǔn)耦合性和內(nèi)聚性,可判斷設(shè)計(jì)方案的優(yōu)劣。
3. 模塊間的耦合性是根據(jù)模塊的外部特征提出的,是對(duì)軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量,也稱塊間關(guān)系。耦合程度由低到高分為6種:
① 無直接耦合(不傳遞任何消息)。
② 數(shù)據(jù)耦合(傳遞的是值)。
③ 標(biāo)記耦合(傳遞的是數(shù)據(jù)結(jié)構(gòu))。
④ 控制耦合(傳遞的是控制變量,例如開關(guān)、標(biāo)志等)。
⑤ 外部耦合(傳遞的是I/O環(huán)境)
⑥公共耦合(傳遞的是在公共數(shù)據(jù)環(huán)境中的數(shù)據(jù))。
⑦ 內(nèi)容耦合(傳遞的是一個(gè)模塊的內(nèi)部數(shù)據(jù),往往出現(xiàn)在匯編語言中)。
模塊間聯(lián)系越緊密,其耦合性越強(qiáng),模塊的獨(dú)立性越差。提高模塊獨(dú)立性,降低模塊間耦合度的措施是:
① 在耦合方式上降低模塊間接口的復(fù)雜性。
·模塊接口方式不采用直接引用(內(nèi)容耦合),而采用調(diào)用方式(例如過程語句調(diào)用);
·模塊接口信息通過參數(shù)傳遞且傳遞信息的結(jié)構(gòu)盡量簡單,不用復(fù)雜數(shù)據(jù)結(jié)構(gòu)(例如過程、指針等),參數(shù)個(gè)數(shù)不宜過多。
② 在傳遞信息類型上盡量使用數(shù)據(jù)耦合,避免控制耦合,慎用或有控制地使用公共耦合。
4. 軟件結(jié)構(gòu)設(shè)計(jì)優(yōu)化準(zhǔn)則如下:
① 劃分模塊時(shí),盡量做到高內(nèi)聚、低耦合,保持模塊相對(duì)獨(dú)立性,以此優(yōu)化初始的軟件結(jié)構(gòu)。
② 一個(gè)模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)與受其影響的模塊在層次上盡量靠近。
③ 軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當(dāng)。
④ 模塊的大小要適中。
⑤ 模塊的接口要簡單、清晰、含義明確,便于理解,易于實(shí)現(xiàn)、測試與維護(hù)。
5. 變換分析設(shè)計(jì)是一個(gè)順序結(jié)構(gòu),由輸入、變換和輸出三部分組成,其工作過程有3步:取得數(shù)據(jù)、變換數(shù)據(jù)和給出數(shù)據(jù)。事務(wù)分析設(shè)計(jì)是將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入的值選擇其中一個(gè)路徑來執(zhí)行。二者區(qū)別:變換分析設(shè)計(jì)適用于具有明顯變換特征的數(shù)據(jù)流圖,事務(wù)分析設(shè)計(jì)適用于具有明顯事務(wù)特征的數(shù)據(jù)流圖。
變換分析設(shè)計(jì)步驟:
① 確定DFD中的變換中心、邏輯輸入和邏輯輸出:
·從物理輸入端開始,沿著數(shù)據(jù)流方向向系統(tǒng)中心尋找,直到有這樣的數(shù)據(jù)流,它不能再被看做是系統(tǒng)的輸入,則它的前一個(gè)數(shù)據(jù)流是系統(tǒng)的邏輯輸入。
·從物理輸出端開始,逆數(shù)據(jù)流方向向中間移動(dòng),可以確定系統(tǒng)的邏輯輸出。
·介于邏輯輸入和邏輯輸出之間的加工就是變換中心,即主加工。
② 設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層——變換結(jié)構(gòu):
·頂層即主模塊,主要完成所有模塊的控制。
聲明:熱門院校推薦
熱門專業(yè)推薦