《第4章 總體設計》由會員分享,可在線閱讀,更多相關《第4章 總體設計(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、04總體設計
一、選擇題⑴模塊的內(nèi)聚性最高的是(D)
A. 邏輯內(nèi)聚B.時間內(nèi)聚
C.偶然內(nèi)聚D.功能內(nèi)聚(2)總體設計的目的是確定整個系統(tǒng)的(B)。
A. 規(guī)模B?功能及模塊結(jié)構(gòu)
C.費用D.測試方案(3)一個模塊內(nèi)部各程序都在同一數(shù)據(jù)結(jié)構(gòu)上操作,這個模塊的內(nèi)聚性稱為(C)。
A. 時間內(nèi)聚B.功能內(nèi)聚
C.通信內(nèi)聚C?過程內(nèi)聚(4)軟件總體設計是指軟件總體結(jié)構(gòu)設計和數(shù)據(jù)設計,該階段的主要任務不包括(C)。
A.設計軟件的模塊結(jié)構(gòu)B.定義接口并建立數(shù)據(jù)結(jié)構(gòu)
C.模塊設計D.生成概要設計規(guī)格說明⑸如果某種內(nèi)聚要求一個模塊中包含的任務必須在同一段時間內(nèi)執(zhí)行,則這種內(nèi)聚為(A)。
2、
A.時間內(nèi)聚B.邏輯內(nèi)聚C.通信內(nèi)聚D.信息內(nèi)聚⑹為了提高模塊的獨立性,模塊之間最好使用(D)。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合⑺結(jié)構(gòu)化程序設計的一種基本方法是(D)(8)對軟件進行分解,是為了(B)。
A.篩選法B.遞歸法
C.歸納法D.逐步求精法
A.降低模塊間接口的復雜程度
B. 降低模塊的復雜程度
C. 降低模塊的復雜程度,并降低模塊間接口的復雜程度
降低模塊的復雜程度,并提高模塊間接口的復雜程度(9)在軟件工程中,描繪軟件結(jié)構(gòu)的圖形工具不包括(C)
A.層次圖B.HIP0圖C.PAD圖D.H圖(10)兩個模塊彼此傳遞的信息中有控制信息,這種耦
3、合稱為(D)。
A.數(shù)據(jù)耦合B.公共環(huán)境耦合C.內(nèi)容耦合D.控制耦合(11)耦合是對軟件不同模塊之間互連程度的度量。各種耦合按從強到弱排列如下:(C)
A. 內(nèi)容耦合,控制耦合,數(shù)據(jù)耦合,公共環(huán)境耦合。
B. 內(nèi)容耦合,控制耦合,公共環(huán)境耦合,數(shù)據(jù)耦合。
C. 內(nèi)容耦合,公共環(huán)境耦合,控制耦合,數(shù)據(jù)耦合。
D. 控制耦合,內(nèi)容耦合,數(shù)據(jù)耦合,公共環(huán)境耦合。
(12)結(jié)構(gòu)化設計又稱為(B)。
A.概要設計B.面向數(shù)據(jù)流設計C.面向?qū)ο笤O計D.詳細設計
(13)按照總體設計中的啟發(fā)式規(guī)則,模塊的作用域和模塊的控制域之間的關系應為(A)。
A. 模塊的作用域應在模塊的控制域之內(nèi)。
4、
B. 模塊的控制域應在模塊的作用域之內(nèi)。
C. 模塊的控制域與模塊的作用域互相獨立。
D. 以上說法都不對。
(14)在SD方法中全面指導模塊劃分的最重要的原則是(D)。
A.程序模塊化B.模塊高內(nèi)聚C.模塊低耦合D.模塊獨立性
(15)軟件總體設計是指軟件總體結(jié)構(gòu)設計和數(shù)據(jù)設計,該階段的主要任務不包括(C)。
A.設計軟件的模塊結(jié)構(gòu)B.定義接口并建立數(shù)據(jù)結(jié)構(gòu)C.模塊內(nèi)部算法設計D.生成概要設計規(guī)格說明二、填空
1. 軟件設計的主要任務是根據(jù)導出系統(tǒng)的實現(xiàn)方案。
(軟件需求規(guī)格說明書)
2. 一個模塊擁有的直屬下級模塊的個數(shù)稱為,一個模塊的直接上級模塊的個數(shù)稱為。
(模塊
5、的扇出、模塊的扇入)
3. 將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)時,所用映射方法涉及信息流的類型。
其信息流分為和兩種類型。
(變換型數(shù)據(jù)流圖、事務型數(shù)據(jù)流圖)
耦合的強弱取決于的復雜性、進入或調(diào)用模塊的位置以及通過界面?zhèn)魉蛿?shù)據(jù)的多少等。
(模塊間接口)
4. 總體設計確定模塊的,而詳細設計確定模塊的。
(外部結(jié)構(gòu)、內(nèi)部結(jié)構(gòu))
5. 軟件結(jié)構(gòu)是以為基礎而組成的一種控制層次結(jié)構(gòu)。
(模塊)
三、判斷題
1. 耦合是影響軟件復雜度的重要因素。設計時應盡量使用內(nèi)容耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合,完全不用數(shù)據(jù)耦合。(F)
2. 采用信息隱藏原理指導模塊設計可以支持模塊的并行
6、開發(fā),減少軟件測試和軟件維護的工作量。(T)
3. 模塊接口設計要簡單,以便降低復雜程度和冗余度。(T)
4. 在模塊化原理中,模塊的作用域應該在控制域內(nèi)。(T)
5. 系統(tǒng)分析階段和系統(tǒng)設計階段一般不考慮測試。(F)
6. 改造程序結(jié)構(gòu),要降低耦合度,提高內(nèi)聚度。(T)
7. 一個軟件系統(tǒng)中可能會出現(xiàn)所有模塊之間沒有任何聯(lián)系的情況。(F)
8. 概要設計也稱總體設計,其過程由確定設計方案和結(jié)構(gòu)設計兩個階段組成。(T)
9. 模塊的扇入是指該模塊被其它模塊調(diào)用的個數(shù),扇入應盡可能的小。(F)
10. 軟件概要設計包括軟件系統(tǒng)結(jié)構(gòu)設計以及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫設計。(T)
四、名詞解
7、釋
1. 結(jié)構(gòu)化設計
基于數(shù)據(jù)流的設計方法,該方法定義了一些不同的“映射”,利用這些映射可以把數(shù)據(jù)流圖變換成軟件結(jié)構(gòu)。
2. 耦合
是指軟件結(jié)構(gòu)中各模塊間相互聯(lián)系的緊密程度的一種度量。
3. 內(nèi)聚
是指一個模塊內(nèi)的各個元素彼此結(jié)合的緊密程度的度量。
4. 深度
是指軟件結(jié)構(gòu)中模塊的層次數(shù)
5. 寬度
同一層次中最大的模塊個數(shù)
五、簡答題
⑴什么是模塊化?模塊化的根據(jù)是什么?采用模塊化原理的優(yōu)點是什么?
答:1.模塊化
是指解決一個復雜的問題時自頂向下逐層把軟件結(jié)構(gòu)劃分成若干模塊的過程。
2. 由大化小,各個擊破
把復雜的問題分解成許多容易解決的小問題,原來的問題
8、也就容易解決了。
3?采用模塊化原理可以使軟件結(jié)構(gòu)清晰,不僅容易設計也容易閱讀。模塊化有助于提高軟件的可靠性也有助于提高軟件開發(fā)工程的組織管理。一個復雜的大型程序可以由許多程序員分工編寫不同的模塊,并且可以進一步分配技術熟練的程序員編寫困難的模塊。
(2) 簡述總體設計過程應該遵循的基本原理。
答:1.模塊化是指解決一個復雜的問題時自頂向下逐層把軟件結(jié)構(gòu)劃分成若干模塊的過程。
抽象是指抽出事物的本質(zhì)而暫不考慮它的細節(jié)。
逐步求精是為了能集中精神解決主要問題而盡力推遲考慮問題的細節(jié)。
4?信息隱藏
是在設計中確定模塊時,使得一個模塊內(nèi)包含的信息(過程和數(shù)據(jù)),對于不需要這些信息的其
9、他模塊來說,是不能訪問的。
5?局部化把一些關系密切的軟件元素物理地放得彼此靠近。
模塊獨立性是指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。
(3) 軟件結(jié)構(gòu)設計的啟發(fā)式規(guī)則有哪些?
答:1:模塊獨立性準則
設計出軟件的初步結(jié)構(gòu)后,應該審查分析這個結(jié)構(gòu),通過模塊分解和合并,力求做到降低耦合提高內(nèi)聚,保持模塊相對獨立性。
2.模塊的作用域在控制域內(nèi)模塊的作用域指受該模塊內(nèi)一個判斷影響的所有模塊的集合。
模塊的控制域指模塊本身以及其所有直接或者間接從屬于它的模塊集合。
一個模塊的影響范圍應在其控制范圍內(nèi),且判定條件所在的模塊應與其受影響的模塊在層次上盡量接近。
軟件結(jié)構(gòu)的形態(tài)特征準則模塊結(jié)構(gòu)的深度、寬度、扇入和扇出。
3. 模塊大小準則
在考慮模塊的獨立性時,為了增加可理解性,模塊的大小最好在50-150條語句左右,可以用1-2頁紙打印,便于人們閱讀與研究。
5?模塊接口準則(1)模塊接口設計要簡單,以便降低復雜程度和冗余度。
(2)設計功能可預測并能得到一個驗證的模塊。
(3)適當劃分模塊規(guī)模,以保持其獨立性。