2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析_第1頁
2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析_第2頁
2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析_第3頁
2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析_第4頁
2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

國家開放大學(xué)

2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解

一、課程介紹

《軟件設(shè)計(jì)與體系結(jié)構(gòu)》是“軟件工程”專業(yè)(本科)的一門統(tǒng)設(shè)必修課,

并作為其他專業(yè)的選修課。本課程的主要任務(wù)是講授軟件設(shè)計(jì)和軟件結(jié)構(gòu)方面的

基本思想、知識、原理和方法,包括軟件設(shè)計(jì)與軟件體系結(jié)構(gòu)在軟件工程中的地

位與作用、軟件設(shè)計(jì)基本方法與原則、統(tǒng)一建模涪言UML2.0、面向?qū)ο蟮能浖?/p>

設(shè)計(jì)方法、軟件體系結(jié)構(gòu)風(fēng)格與設(shè)計(jì)模式、基于構(gòu)件的軟件體系結(jié)構(gòu)、軟件體系

結(jié)構(gòu)評估、軟件設(shè)計(jì)的進(jìn)化等內(nèi)容。

本課程的教學(xué)目的是使學(xué)生在軟件工程思想的基礎(chǔ)上,掌握軟件體系結(jié)構(gòu)相

關(guān)知識、原理和各種類型設(shè)計(jì)模式的基本結(jié)構(gòu),對現(xiàn)有軟件體系結(jié)構(gòu)有比較深入

的理解,能夠從系統(tǒng)結(jié)構(gòu)角度分析現(xiàn)有軟件系統(tǒng),能夠運(yùn)用具體的軟件設(shè)計(jì)方法

解決實(shí)際的軟件工程問題,并能利用所學(xué)到的軟作系統(tǒng)結(jié)構(gòu)知識高效地設(shè)計(jì)軟件

系統(tǒng),為從事大型復(fù)雜軟件開發(fā)打下良好的基礎(chǔ)。

二、考核說明

1.考核對象

國家開放大學(xué)軟件工程專業(yè)(本科)學(xué)生。

2.啟用時(shí)間

2020年秋季學(xué)期。

第1頁共54頁

3.考核目標(biāo)

通過考核使學(xué)生在軟件工程思想的基礎(chǔ)上,掌握軟件體系結(jié)構(gòu)相關(guān)知識、原

理和各種類型設(shè)計(jì)模式的基本結(jié)構(gòu),對現(xiàn)有軟件體系結(jié)構(gòu)有比較深入的理解,能

夠從系統(tǒng)結(jié)構(gòu)角度分析現(xiàn)有軟件系統(tǒng),能夠運(yùn)用具體的軟件設(shè)計(jì)方法解決實(shí)際的

軟件工程問題,并能利用所學(xué)到的軟件系統(tǒng)結(jié)構(gòu)知識高效地設(shè)計(jì)軟件系統(tǒng),為從

事大型復(fù)雜軟件開發(fā)打下良好的基礎(chǔ)。

4.考核依據(jù)

本課程考核說明是依據(jù)國家開放大學(xué)“軟件設(shè)計(jì)與體系結(jié)構(gòu)”課程教學(xué)大綱、

文字教材《軟件設(shè)計(jì)與體系結(jié)構(gòu)》(高等教育出版社2017年12月第2版)制定

的。本課程考核說明是課程考核命題的基本依據(jù)。

5.考核方式及計(jì)分方法

本課程考核采用形成性考核與終結(jié)性考核相結(jié)合的方式。形成性考核占課程

綜合成績的30%,終結(jié)性考核占課程綜合成績的7()%。課程考核成績統(tǒng)一采用百

分制,即形成性考核、終結(jié)性考核、課程綜合成饋均采用百分制。

課程綜合成績達(dá)到60分及以上(及格),可獲得本課程相應(yīng)學(xué)分。

考核方式相關(guān)信息以國家開放大學(xué)當(dāng)學(xué)期發(fā)布的考試安排文件為準(zhǔn)。

6.終結(jié)性考核

(1)考核目的

終結(jié)性考核是在形成性考核的基礎(chǔ)上,對學(xué)生學(xué)習(xí)情況和學(xué)習(xí)效果進(jìn)行的一

次全面檢測。

(2)命題原則

第一,本課程的考試命題嚴(yán)格控制在教學(xué)大綱規(guī)定的教學(xué)內(nèi)容和考核要求的

第2頁共54頁

范圍之內(nèi)。

第二,按掌握、理解、了解三個(gè)層次命題。

第三,每份試卷所考的內(nèi)容,覆蓋本課程教材所學(xué)內(nèi)容的70%以上章節(jié)。

第四,試題難度適中。一般來講,可分為容易、適中、較難三個(gè)程度,所占

比例大致為:容易占<)%,適中占40%,較難占20%o

(3)考核手段

網(wǎng)考

(4)考核方式

閉卷

(5)考核時(shí)限

90分鐘

(6)每套試卷的試題類型、數(shù)量及分值

a)單項(xiàng)選擇題:12道題。

b)多項(xiàng)選擇題:10道題。

c)簡答題:3道題。

d)應(yīng)用題:0(考題不包含應(yīng)用題)

試卷試題數(shù)合計(jì)25道題;試卷總分?jǐn)?shù)100分。

三、模擬題

(一)單選題

1.關(guān)于瀑布模型的描述,下面不正確的是()o

[Al瀑布模型的核心思想是按工序?qū)栴}化簡,將功能的實(shí)現(xiàn)與設(shè)計(jì)分開,便

第3頁共54頁

[B.]對可選方案和約束條件的強(qiáng)調(diào)既有利于已有軟件的重用,也有助于把軟件

質(zhì)量作為軟件開發(fā)的目標(biāo)

[C1過多的迭代次數(shù)會增加開發(fā)成本,延遲提交時(shí)間

[D]增加了過多測試或測試不足所帶來的風(fēng)險(xiǎn)

【答案】B

4.關(guān)于增量模型,下面不正確的是()o

[Al增量模型的各個(gè)構(gòu)件是一次性并入已有的軟件體系結(jié)構(gòu),因此不需要軟件

具備開放式的體系結(jié)構(gòu)

[B.]作為瀑布模型和快速原型模型的綜合,能在較短的時(shí)間內(nèi)向用戶提交可完

成部分工作的產(chǎn)品

[C1將待開發(fā)的軟件系統(tǒng)模塊化,可以分批次地提交軟件產(chǎn)品,使用戶可以及

時(shí)了解軟件項(xiàng)目的進(jìn)展

[D]以組件為單位進(jìn)行開發(fā)降低了軟件開發(fā)的風(fēng)險(xiǎn)。一個(gè)開發(fā)周期內(nèi)的錯誤不

會影響到整個(gè)軟件系統(tǒng)的開發(fā)

【答案】A

5.以下哪項(xiàng)不屬于軟件工程的三要素()。

[AJ方法

[B.]工具

[C1過程

[D.]質(zhì)量

第5頁共54頁

【答案】D

6.關(guān)于軟件工程中結(jié)構(gòu)化方法的設(shè)計(jì)原則,以下描述錯誤的是()o

[AJ每個(gè)模塊執(zhí)行一個(gè)功能,每個(gè)模塊只有一個(gè)入口和一個(gè)出口

[B.]每個(gè)模塊由過程語句或函數(shù)方式等歸其上級模塊調(diào)用

[C1應(yīng)當(dāng)構(gòu)造內(nèi)部聯(lián)系緊密的模塊,降低模塊間的聯(lián)系

[D]結(jié)構(gòu)化設(shè)計(jì)采住自下而上的模塊化設(shè)計(jì)方法

【答案】D

7.以下哪項(xiàng)不是面向?qū)ο蠓椒ǖ闹饕卣鳎ǎ?/p>

[A]封裝性

[B.]繼承性

[CJ多態(tài)性

[D]適應(yīng)性

【答案】D

8.耦合是模塊之間依賴程度的度量。以下關(guān)于羯合的說法,錯誤的是()。

[A]如果兩模塊中任一個(gè)都不依賴于對方能獨(dú)立工作,則稱這兩模塊為非直接

耦合

[B.]如果兩模塊都與同一個(gè)數(shù)據(jù)結(jié)構(gòu)有關(guān),則稱這兩個(gè)模塊為特征耦合

[C]當(dāng)若干模塊均與同一個(gè)外部環(huán)境關(guān)聯(lián),它們之間存在內(nèi)容耦合

[D]當(dāng)若干模塊通過全局的數(shù)據(jù)環(huán)境相互作用時(shí),它們之間存在公共耦合

第6頁共54頁

【答案】C

9.關(guān)于軟件體系結(jié)構(gòu)核心模型的組成元素,以下說法錯誤的是()o

[AJ連接件用來表示構(gòu)件之間的交互

[B.]配置用來表示構(gòu)件和連接件的拓?fù)溥壿嫼图s束

[C1構(gòu)件作為封裝實(shí)體,不需要借助其接口即可與外部環(huán)境交互

[D]構(gòu)件用來表示系統(tǒng)中主要的計(jì)算元素和數(shù)據(jù)存儲

【答案】C

10.關(guān)于軟件體系結(jié)閡描述語言,以下說法錯誤的是()。

[A]作為一種形式化語言,它為軟件系統(tǒng)的概念體系結(jié)構(gòu)建模提供了具體語法

和概念框架

[B.]基于底層語義的工具為體系結(jié)構(gòu)的表示、分析、進(jìn)化、細(xì)化、設(shè)計(jì)過程等

提供支持

[C1軟件體系結(jié)構(gòu)描述語言的三個(gè)基本元素包括構(gòu)件、連接件、體系結(jié)構(gòu)配置

[D]編程語言、面向?qū)ο蟮慕7?、形式化說明語言均屬于軟件體系結(jié)構(gòu)描

述語言

【答案】D

11.關(guān)于調(diào)用/返回風(fēng)格的體系結(jié)構(gòu)中的主-子程序體系結(jié)構(gòu)風(fēng)格,以下說法錯

誤的是()。

[A1由于單線程控制,計(jì)算的順序得以保障

[B.]有用的計(jì)算結(jié)果在同一時(shí)刻會產(chǎn)生多個(gè)

第7頁共54頁

【C.】單線程的控制可以直接由程序設(shè)計(jì)語言來支持

[D]子程序的正確性與它調(diào)用的子程序的正確畦有關(guān)

【答案】B

12.關(guān)于調(diào)用/返回風(fēng)格的體系結(jié)構(gòu)中的分層體系結(jié)構(gòu)風(fēng)格,以下說法錯誤的是

()。

[A1支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì),使得設(shè)計(jì)者可以把復(fù)雜系統(tǒng)按遞增的

步驟進(jìn)行分解

[B.]支持功能增強(qiáng),每一層至多和相鄰的上下層交互,因此功能的改變最多影

響相鄰的上下層

[C1每個(gè)系統(tǒng)都可以很容易地劃分為分層體系結(jié)構(gòu)

[1)1支持復(fù)用,只要提供的服務(wù)接口定義不變,同一層的不同實(shí)現(xiàn)可以交換使

【答案】C

13.在進(jìn)行軟件設(shè)計(jì)過程中,以下關(guān)于“逐步求精”與“抽象”的說法,錯誤的

是()。

[A1過程抽象是把完成一個(gè)特定功能的動作序列抽象為一個(gè)過程名和參數(shù)表,

以后通過指定過程名和實(shí)際參數(shù)調(diào)用此過程

[B.]數(shù)據(jù)抽象是把一個(gè)數(shù)據(jù)對象的定義抽象為一個(gè)數(shù)據(jù)類型名,用此類型名可

定義多個(gè)具有相同性質(zhì)的數(shù)據(jù)對象

[C]逐步求精的主要思想是,針對某個(gè)功能的宏觀描述用逐步求精的方法不斷

第8頁共54頁

地分解,逐步確立過程細(xì)節(jié),直至該功能用程序話言描述的算法實(shí)現(xiàn)為止

[D]逐步求精的每一步是用更為簡單的描述代替上一層次的描述

【答案】D

14.信息隱藏是使模決化開發(fā)活動更加簡單的重要因素。以下關(guān)于信息隱藏的

說法錯誤的是()o

[Al為達(dá)到信息隱藏的目的,模塊所含信息對于那些不需要這些信息的模塊不

可訪問

[B.]為達(dá)到信息隱藏的目的,每個(gè)模塊只完成一個(gè)相對獨(dú)立的特定功能

[C1為達(dá)到信息隱藏的目的,每個(gè)模塊可與其他模塊共同完成特定功能

[1>]為達(dá)到信息隱藏的目的,模塊之間僅僅交換那些為完成系統(tǒng)功能必須交換

的信息

【答案】C

15.內(nèi)聚是一個(gè)模塊內(nèi)部各成分之間關(guān)聯(lián)程度的度量。以下哪項(xiàng)不屬于低等級

內(nèi)聚()o

[Al偶然性內(nèi)聚

[B.]邏輯性內(nèi)聚

[C]時(shí)序內(nèi)聚

[D1過程性內(nèi)聚

【答案】D

16.耦合是模塊之間依賴程度的度量。以下關(guān)于耦合的說法,錯誤的是()o

第9頁共54頁

[A]如果兩模塊中任一個(gè)需依賴對方才能工作,則稱這兩模塊為非直接耦合

[B.]如果兩模塊間通過參數(shù)交換信息,而信息僅限于數(shù)據(jù),則稱這兩模塊為數(shù)

據(jù)耦合

[C1若兩個(gè)模塊傳遞的信息中含有控制信息,則稱這兩模塊耦合度為控制耦合

[0]當(dāng)一個(gè)模塊使用另一模塊內(nèi)部的數(shù)據(jù)或控制信息,或一個(gè)模塊直接轉(zhuǎn)移到

另一模塊內(nèi)部,則稱這兩模塊為內(nèi)容耦合

【答案】A

17.以下關(guān)于軟件結(jié)溝評價(jià)的說法,錯誤的是()o

[Al一個(gè)軟件的深度說明其控制的層數(shù)

[B.]一個(gè)軟件的寬度說明其控制的層數(shù)

[C1一個(gè)模塊的扇出率指該模塊直接控制的其他模塊數(shù)

[DJ一個(gè)模塊的扇入率指能直接控制該模塊的噗塊數(shù)

【答案】B

18.以下關(guān)于軟件結(jié)為評價(jià)的說法,錯誤的是()o

[Al一個(gè)軟件的深度說明其控制的層數(shù)

[R]一個(gè)軟件的寬度說明其控制的跨度

[CJ一個(gè)模塊的扇出率指該模塊直接控制的其他模塊數(shù)

[OJ一個(gè)模塊的扇入率指該模塊直接控制的其他模塊數(shù)

【答案】D

第10頁共54頁

19.關(guān)于用戶界面分圻和設(shè)計(jì)模型,以下說法錯誤的是()o

[Al用戶模型給出了系統(tǒng)用戶的介紹

[B.]設(shè)計(jì)模型用以理解潛在的系統(tǒng)用戶

[C1心智模型是用戶對所使用系統(tǒng)的想象

實(shí)現(xiàn)模型結(jié)合了基于計(jì)算機(jī)的系統(tǒng)外部顯示以及所有描述系統(tǒng)語法和語義

的信息

【答案】B

20.以下哪項(xiàng)不屬于常用的用戶界面原型構(gòu)建方式()。

【A.】腳本驅(qū)動方式

[B.]可視化的程序語言

[C1手工勾畫

[D]基于因特網(wǎng)的原型

【答案】D

21.在UML2.0建模機(jī)制中,()屬于結(jié)構(gòu)建模。

[A]活動圖

[R]類圖

[C1順序圖

[D]通信圖

【答案】B

第頁共54頁

22.在UML2.0建模機(jī)制中,()既屬于行為建模又可以歸屬為交互圖。

[AJ活動圖

[B.]用例圖

[C]順序圖

[D.]狀態(tài)圖

【答案】C

23.在UML2.0類圖中,關(guān)于“關(guān)聯(lián)關(guān)系”描述錯誤的是()o

[Al關(guān)聯(lián)關(guān)系可以具有方向性

[B.]關(guān)聯(lián)未必是雙向的,必須用“有向連線”表示

[C]在關(guān)聯(lián)關(guān)系上可以寫明關(guān)聯(lián)名稱,每個(gè)類在關(guān)聯(lián)中的角色以及兩個(gè)類的實(shí)

例在實(shí)際關(guān)聯(lián)中的數(shù)量對應(yīng)關(guān)系

[DJ在關(guān)聯(lián)關(guān)系表示中,用星號表示多個(gè),用n表示n個(gè)實(shí)例,n..m表

示數(shù)量的范圍

【答案】B

24.在UML2.0類圖中,下面哪個(gè)符號表示泛化(繼承)關(guān)系()。

(A1

[C]

[D]----------O

第12頁共54頁

【答案】B

25.面向?qū)ο蟮脑O(shè)計(jì)任務(wù)不包括以下哪個(gè)內(nèi)容()o

[A]系統(tǒng)整體設(shè)計(jì)

[B.]對象設(shè)計(jì)

[C1功能設(shè)計(jì)

[D]在消息設(shè)計(jì)

【答案】C

26.面向?qū)ο蟮脑O(shè)計(jì)任務(wù)不包括以下哪個(gè)內(nèi)容()o

[A]系統(tǒng)整體設(shè)計(jì)

[B.]對象設(shè)計(jì)

[C1功能設(shè)計(jì)

[DJ在消息設(shè)計(jì)

【答案】C

27.關(guān)于面向?qū)ο蟪绦蛟O(shè)計(jì)的特征,以下說法錯誤的是()。

[A1每個(gè)對象有自己的惟一標(biāo)識,以便區(qū)別屬于同一個(gè)類的不同對象

[R]所有待處理的內(nèi)容都表示成對象

[C1對象之間依靠相互發(fā)送信息或響應(yīng)信息實(shí)現(xiàn)通信

【D.】每個(gè)對象的標(biāo)識不是唯一的

【答案】D

第13頁共54頁

28.關(guān)于面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,以下說法錯誤的是()o

[Al抽象是解決任何問題所采用的基本策略,是人類認(rèn)識世界的本能形式

【B.】封裝是指將現(xiàn)實(shí)世界中某個(gè)客體的屬性與行為聚集在一個(gè)邏輯單元內(nèi)部的

機(jī)制

[C]對象是用來描述現(xiàn)實(shí)世界中客體的部件,是面向?qū)ο筌浖到y(tǒng)在運(yùn)行時(shí)的

基本單位

[D]對象是面向?qū)ο蟪绦虻奈┮粯?gòu)造單位,也是抽象數(shù)據(jù)類型的具體實(shí)現(xiàn)

【答案】D

29.關(guān)于面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,以下說法錯誤的是()o

[AJ抽象是指從許多事物中,舍棄本質(zhì)屬性,抽取個(gè)別的、非本質(zhì)的屬性的過

[B.]消息是一個(gè)對象要求另一個(gè)對象實(shí)施某項(xiàng)操作的請求

[C1繼承是類之間的一種常見關(guān)系,它為共享數(shù)據(jù)和操作提供了良好的機(jī)制

[D1不同的類對象收到同一個(gè)消息可以產(chǎn)生完全不同的響應(yīng)效果,這種現(xiàn)象叫

做多態(tài)

【答案】A

30.在設(shè)計(jì)模式中,()的核心思想是:定義一個(gè)用于創(chuàng)建產(chǎn)品對象的工廠

接口,由子類決定生產(chǎn)什么產(chǎn)品。

[A1工廠方法

[B.]單例

第14頁共54頁

[C]組合

[D]代理

【答案】A

31.在設(shè)計(jì)模式中,()的核心思想是,一個(gè)類必須自行創(chuàng)建一個(gè)實(shí)例且

僅能有一個(gè)實(shí)例,并向系統(tǒng)提供該實(shí)例。完成上述行為的操作是將類的構(gòu)造方法

聲明為私有類型,就可以防止用戶利用類的構(gòu)造方法創(chuàng)建出多個(gè)實(shí)例。

[A1工廠方法

[B.]單例

[C1組合

[D.1代理

【答案】B

32.在設(shè)計(jì)模式中,()以樹形結(jié)構(gòu)將多個(gè)對象組合起來,用來表示“整

體-部分”的層次結(jié)構(gòu),其核心思想是通過定義抽象構(gòu)件類,既可用來表示葉子,

又可用來表示容器,用戶針對抽象構(gòu)件類進(jìn)行編程,能夠?qū)θ~子和容器進(jìn)行容易

處理。

[A1工廠方法

[B.]單例

[C]組合

[DJ代理

【答案】C

第15頁共54頁

33.在設(shè)計(jì)模式中,()的核心思想是,引入一個(gè)新的代理對象,該對象

在客戶端對象和目標(biāo)對象之間起到橋梁的作用,它隱藏客戶不能看到的內(nèi)容和服

務(wù)或者為客戶添加需要的額外服務(wù)。

[A1工廠方法

[BJ單例

[C]組合

[D1代理

【答案】D

34.在設(shè)計(jì)模式中,()將一個(gè)類的接口轉(zhuǎn)換為用戶希望的另一個(gè)接口,

解決了一些類之間由于接口不兼容而無法一起工作的問題。

[A]適配器

[B.]橋接

[C1享元

[D]外觀

【答案】A

35.在設(shè)計(jì)模式中,()的核心思想是,通過將列表對象中對列表的訪問和

遍歷從中抽離出來并放入到一個(gè)迭代器對象中,提供一種訪問聚合對象中所有元

素的方法,而不暴露該對象的內(nèi)部表示。

[A1工廠方法

第16頁共54頁

[B.]迭代器

[Cl命令

[D]代理

【答案】B

36.在設(shè)計(jì)模式中,()的核心思想是,對象是對數(shù)據(jù)和函數(shù)的封裝,當(dāng)一

個(gè)類包含了太多的函教(或稱操作)時(shí),傾向于將其拆分為多個(gè)相互協(xié)作的類,

每個(gè)協(xié)作類描述一部分行為,包含原來的一部分?jǐn)?shù)據(jù)和函數(shù),但這種拆分有一個(gè)

副作用,因?yàn)楦鲄f(xié)作對象很可能會共享部分?jǐn)?shù)據(jù),所以需要維護(hù)相關(guān)對象在數(shù)據(jù)

上的一致性。通過使用Observer模式,能夠?yàn)橄嚓P(guān)對象制定一個(gè)交互協(xié)議,專門

用作數(shù)據(jù)的一致性維護(hù)。

[AJ工廠方法

[B.]迭代器

[C]觀察者

[D]代理

【答案】C

37.在設(shè)計(jì)模式中,()的核心思想是,通過定義一些用來封裝不同算法的

相互獨(dú)立的類,且每一個(gè)類都封裝了一個(gè)具體的算法并將其逐一封裝起來,使得

它們之間能夠互相替換。

[A1策略

[B.]迭代器

第17頁共54頁

[C]組合

[D]代理

【答案】A

38.在設(shè)計(jì)模式中,()的核心思想是,在不破壞封裝性的前提下,捕獲

一個(gè)對象的內(nèi)部狀態(tài),并在該對象之外保存這個(gè)狀態(tài),便于日后將對象復(fù)原到先

前保存的狀態(tài)。

[A1策略

【B.】備忘錄

[C1組合

[D.1代理

【答案】B

39.在設(shè)計(jì)模式中,()表示一個(gè)作用于某個(gè)對象結(jié)構(gòu)中各元素的操作,

它使我們能夠無須改變各元素的類而定義作用在這些元素的新操作,由兩部分組

成:被訪問元素和訪問者。

[A.]適配器

[R]迭代器

[C]觀察者

[DJ訪問者

【答案】D

第18頁共54頁

40.數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù),它用簡單的圖

形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體,下面()是外部實(shí)體的

圖形記號。

[AlI——H

[D]

【答案】A

41.數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù),它用簡單的圖

形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體,下面()是轉(zhuǎn)換的圖

形記號。

[AlI——H

[C1

[D1----------

【答案】B

第19頁共54頁

42.數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù),它用簡單的圖

形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體,下面()是數(shù)據(jù)流的

圖形記號。

[AlI——H

[C1

[D1

【答案】C

43.數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù),它用簡單的圖

形記號分別表示數(shù)據(jù)流、轉(zhuǎn)換、數(shù)據(jù)源以及外部實(shí)體,下面()是數(shù)據(jù)源的圖

形記號。

[AlI——H

[B.]

[C]

[D1

第20頁共54頁

【答案】D

44.在軟件進(jìn)化策略選擇方面,關(guān)于遺留系統(tǒng)的評價(jià)結(jié)果以下說法錯誤的是

()

【A.】對于低業(yè)務(wù)價(jià)值、低系統(tǒng)質(zhì)量的系統(tǒng),因使用這些系統(tǒng)開銷較小,只需對

其進(jìn)行常規(guī)維護(hù)

[B.]對于高業(yè)務(wù)價(jià)值、低系統(tǒng)質(zhì)量的系統(tǒng),它們對于業(yè)務(wù)來說非常重要,不能

放棄;但因低質(zhì)量系統(tǒng)維護(hù)起來代價(jià)會比較大,應(yīng)該進(jìn)行進(jìn)化這類系統(tǒng)來提高質(zhì)

[C1對于低業(yè)務(wù)價(jià)值、高系統(tǒng)質(zhì)量的系統(tǒng),它們對業(yè)務(wù)沒有太大貢獻(xiàn),但其維

護(hù)起來代價(jià)較小。若變更代價(jià)不大,可對這類系統(tǒng)進(jìn)行常規(guī)的維護(hù);若需要變更

且代價(jià)高昂,則應(yīng)放棄這些系統(tǒng)

【D.】對于高業(yè)務(wù)價(jià)值、高系統(tǒng)質(zhì)量的系統(tǒng),由于業(yè)務(wù)的需要它們必須要繼續(xù)使

用;同時(shí)它們有較高的質(zhì)量,所以不需要投入大量的資金來更新系統(tǒng),只需要進(jìn)

行常規(guī)維護(hù)

【答案】A

45.在軟件體系結(jié)構(gòu)的迭代過程中,()活動是從文檔、代碼、專家等方面

獲取所有可能得到的軟件信息或設(shè)計(jì)要素

[A.1提取

[BJ分類

[C1合并

第21頁共54頁

[D]融合

【答案】A

46.在軟件體系結(jié)構(gòu)的迭代過程中,()活動是把提取出的信息按照不同視

點(diǎn)進(jìn)行分類;除了靜態(tài)和動態(tài)視點(diǎn)的劃分方式外,還存在其他更具體的劃分。

[AJ提取

[B.]分類

[C1合并

[D]融合

【答案】B

47.在軟件體系結(jié)構(gòu)的迭代過程中,()活動是對分類后每個(gè)視點(diǎn)中的信息

進(jìn)行分析和合并,形成一種系統(tǒng)、一致的方式來描述軟件關(guān)于該視點(diǎn)的特征。

[A]提取

[B.]分類

[C1合并

[D]融合

【答案】C

48.在軟件體系結(jié)構(gòu)的迭代過程中,()活動是把分別合并后的各個(gè)視點(diǎn)進(jìn)

行融合,檢查各個(gè)視點(diǎn)之間的一致性,并把這些視點(diǎn)統(tǒng)一稱為一個(gè)整體的軟件體

系結(jié)構(gòu)描述。

第22頁共54頁

[A]提取

[B.]分類

[Cl合并

[D]融合

【答案】D

49.重構(gòu)就是在不改變軟件系統(tǒng)外部行為的前提下,改善它的內(nèi)部結(jié)構(gòu),提高

其可理解性,降低其修改成本。其中,()的目標(biāo)是生成具有相同功能、但

質(zhì)量比原來程序更高的代碼。

[A]文本重構(gòu)

[B.]邏輯重構(gòu)

[C1代碼重構(gòu)

【D.】數(shù)據(jù)重構(gòu)

【答案】C

50.重構(gòu)就是在不改變軟件系統(tǒng)外部行為的前提下,改善它的內(nèi)部結(jié)構(gòu),提高

其可理解性,降低其修改成本。其中,()從一種格式到另一種格式的轉(zhuǎn)換,

以實(shí)現(xiàn)空間數(shù)據(jù)在結(jié)構(gòu)、格式、類型上的統(tǒng)一,以及多源和異構(gòu)數(shù)據(jù)的聯(lián)接與融

合。

[A.1文本重構(gòu)

[BJ邏輯重構(gòu)

[C1代碼重構(gòu)

第23頁共54頁

[Dl數(shù)據(jù)重構(gòu)

【答案】D

51.在軟件再工程過程模型中,()是對程序進(jìn)行分析,以便在比源代碼更

高的抽象層次上創(chuàng)建程序的某種表示的過程。其需要從現(xiàn)存的程序中抽取數(shù)據(jù)設(shè)

計(jì)、軟件體系結(jié)構(gòu)設(shè)計(jì)和過程設(shè)計(jì)等信息。

[A1庫存目錄分析

[B.]文檔重構(gòu)

[C]逆向工程

[D]代碼重構(gòu)

【答案】C

52.在軟件再工程過程模型中,()通過用重構(gòu)工具分析源代碼,標(biāo)注出和

結(jié)構(gòu)化程序設(shè)計(jì)概念相違背的部分,然后重構(gòu)有問題的代碼,復(fù)審和測試生成的

重構(gòu)代碼以保證沒有弓入異常并更新代碼文檔。

[A.]逆向工程

[B.]正向工程

[C1數(shù)據(jù)重構(gòu)

[1>1代碼重構(gòu)

【答案】D

第24頁共54頁

第25頁共54頁

(二)多選題

1.為了開發(fā)出低成本、高質(zhì)量的軟件產(chǎn)品,在軟件開發(fā)過程中必須遵循哪些軟

件工程的原則()o

[Al采取固定的開發(fā)模型,不考慮易變需求

[B.]采用適合的設(shè)計(jì)方法

[CJ提供高質(zhì)量的工程支持

[D.1重視開發(fā)過程的管理

【答案】ABD

2.軟件生命周期包括()等階段。

[AJ計(jì)劃

[B1開發(fā)

[C1測試

[DJ維護(hù)

【答案】ABD

3.瀑布模型的優(yōu)點(diǎn)主要包括()。

[AJ方便為項(xiàng)目提供了按階段劃分的檢查點(diǎn)

[B.]當(dāng)前一階段完成后,只需要去關(guān)注后續(xù)階段

第26頁共54頁

[C]瀑布模型提供了一個(gè)模板,該模板使得分析、設(shè)計(jì)、編碼、測試和支持的

方法可以在該模板下有一個(gè)共同的指導(dǎo)

[D]瀑布模型的各個(gè)階段劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增

加了工作量

【答案】ABC

4.瀑布模型的缺點(diǎn)主要包括()o

[AJ由于開發(fā)模型是線性的,凡后一階段出現(xiàn)的問題需要通過前一階段的重新

確認(rèn)來解決

【B.】模型缺乏靈活性,無法解決需求模糊或需求經(jīng)常變動的問題

[C]最終產(chǎn)品往往反映用戶的初始需求而不是最終需求

[1)1瀑布模型的各個(gè)階段劃分完全固定,階段之間產(chǎn)生大量的文檔,極大地增

加了工作量

【答案】ABCD

5.快速原型模型的優(yōu)點(diǎn)主要包括()o

【A.】克服瀑布模型的缺點(diǎn),減少因軟件需求不明確帶來的開發(fā)風(fēng)險(xiǎn)

[R]適合預(yù)先不能確切定義需求的軟件系統(tǒng)的開發(fā)

【CJ快速原型模型使總的開發(fā)費(fèi)用降低,時(shí)間縮短

[0.1快速原型模型所選用的開發(fā)技術(shù)和工具不一定符合主流的發(fā)展

【答案】ABC

第27頁共54頁

6.快速原型模型的缺點(diǎn)主要包括()o

[Al快速原型模型所選用的開發(fā)技術(shù)和工具不一定符合主流的發(fā)展

【B.】快速原型模型建立起來的系統(tǒng)結(jié)構(gòu)加上連續(xù)的修改可能會導(dǎo)致產(chǎn)品質(zhì)量低

【C.】快速原型模型使用前提是要有展示性的產(chǎn)品原型,一定程度上可能會限制

開發(fā)人員的創(chuàng)新

【D.】用戶不知道快速原型模型是臨時(shí)搭起來的,也不知道為了使其盡快運(yùn)行還

沒考慮軟件的總體質(zhì)量或今后的可維護(hù)性問題

【答案】ABCD

7.從審視角度看,關(guān)于軟件體系結(jié)構(gòu)的定義,說法正確的是()。

[A1從概念角度,軟件體系結(jié)構(gòu)描述系統(tǒng)的主要構(gòu)件以及它們之間的關(guān)系

[B.]從模塊角度,軟件體系結(jié)構(gòu)包含功能分解與層次結(jié)構(gòu)

[C1從運(yùn)行角度,軟件體系結(jié)構(gòu)描述了一個(gè)系統(tǒng)的動態(tài)結(jié)構(gòu)

[D]從代碼角度,軟件體系結(jié)構(gòu)描述了各種代碼和庫函數(shù)在開發(fā)環(huán)境中的組織

【答案】ABCD

8.關(guān)于刻畫軟件體系結(jié)構(gòu)的場景視圖模型,其缺陷主要包括()。

[AJ不能充分表達(dá)系統(tǒng)的體系結(jié)構(gòu)風(fēng)格

[B.]不能充分體現(xiàn)數(shù)據(jù)

[C]不能充分體現(xiàn)系統(tǒng)要素之間關(guān)系

[D]實(shí)現(xiàn)體系結(jié)構(gòu)模型時(shí),缺乏構(gòu)造視圖和建立視圖之間關(guān)系的指導(dǎo)信息

第28頁共54頁

【答案】ABCD

9.軟件體系結(jié)構(gòu)的描述方法主要包括()。

(A1圖形表達(dá)工具

[B.]模塊內(nèi)連接語言

[C]基于軟構(gòu)件的系統(tǒng)描述語言

[D.]體系結(jié)構(gòu)描述語言

【答案】ABCD

10.軟件體系結(jié)構(gòu)描述語言的三個(gè)基本元素是()。

[A1構(gòu)件

[B.]連接件

【C.】體系結(jié)構(gòu)配置

[D.1角色

【答案】ABC

11.軟件體系結(jié)構(gòu)的設(shè)計(jì)原則主要包括()。

[A1合適性

[B.]結(jié)構(gòu)穩(wěn)定性

[CJ可擴(kuò)展性

[DJ可復(fù)用性

【答案】ABCD

第29頁共54頁

12.軟件體系結(jié)構(gòu)風(fēng)格是描述某一特定應(yīng)用領(lǐng)域中系統(tǒng)組織方式的慣用模式,

其關(guān)鍵要素包括()。

[A]提供一個(gè)詞匯表

[B.]定義一套配置規(guī)則

[C]定義一套語義解釋原則

[D]定義對基于這種風(fēng)格的系統(tǒng)所進(jìn)行的分析

【答案】ABCD

13.以下關(guān)于軟件設(shè)計(jì)可能對最終軟件產(chǎn)品質(zhì)量產(chǎn)生的影響,正確的是()。

[A]正確性:軟件設(shè)計(jì)中如果存在錯誤,會導(dǎo)致軟件實(shí)現(xiàn)的錯誤,影響最終軟

件的正確性

[B.]可靠性:如果軟件設(shè)計(jì)中錯誤、缺陷較多,那么會導(dǎo)致最終軟件的可靠性

降低

[C1運(yùn)行效率:軟件運(yùn)行的效率可能會受到設(shè)計(jì)中選擇的算法、數(shù)據(jù)結(jié)構(gòu)的影

[D1可移植性:良好的設(shè)計(jì)使得與運(yùn)行平臺和環(huán)境相關(guān)的代碼最小化,并進(jìn)行

良好的封裝和接口定義,這使得軟件移植更加容易

【答案】ABCD

14.以下關(guān)于軟件設(shè)計(jì)可能對最終軟件產(chǎn)品質(zhì)量產(chǎn)生的影響,正確的是()o

[Al可靠性:如果軟件設(shè)計(jì)中錯誤、缺陷較多,那么會導(dǎo)致最終軟件的可靠性

第30頁共54頁

降低

[B.]可維護(hù)性:軟件可能會因?yàn)榘l(fā)生錯誤或環(huán)境變化而進(jìn)行維護(hù),具有良好結(jié)

構(gòu)的軟件設(shè)計(jì)會使得維護(hù)人員更容易理解軟件結(jié)構(gòu)

[C1可移植性:良好的設(shè)計(jì)使得與運(yùn)行平臺和環(huán)境相關(guān)的代碼最小化,并進(jìn)行

良好的封裝和接口定義,這使得軟件移植更加容易

[D]可復(fù)用性:由于軟件設(shè)計(jì)描述了軟件如何分解,子系統(tǒng)和模塊之間的接口

如何定義,因此對于軟件模塊的復(fù)用具有重要影響

【答案】ABCD

15.用戶界面設(shè)計(jì)基本原則包括()。

[A]用戶熟悉程度

[B.]一致性

[CJ使驚訝最小化

[D]用戶幫助

[E]可恢復(fù)性

[F1用戶多樣性

【答案】ABCDEF

16.用戶交互實(shí)質(zhì)上就是用戶向計(jì)算機(jī)系統(tǒng)發(fā)出命令和相應(yīng)的數(shù)據(jù)來完成相應(yīng)

的任務(wù)。用戶交互方式主要包括()。

[AJ直接操作

[B.]菜單選擇

第31頁共54頁

[C]表格填寫

[D]命令語言

【答案】ABCD

17.常用的用戶界面原型的構(gòu)建方式包括()o

[AJ腳本驅(qū)動方式

[B.]可視化的程序語言

[C.J手工勾畫

[D]基于因特網(wǎng)的原型

【答案】ABD

18.統(tǒng)一建模語言UML的目標(biāo)是定義一種通用建模語言并對這些建模語言做

出簡單的說明,供系統(tǒng)建模者理解與使用。其主要特點(diǎn)包括()。

[A]UML統(tǒng)一了各種方法對不同類型的系統(tǒng)、不同開發(fā)階段以及不同內(nèi)部概

念的各種觀點(diǎn),有效她消除了各種建模語言之間不必要的差異

【B.】UML建模能力比其它面向?qū)ο蠼7椒ǜ訌?qiáng)大,不僅適合于一般系統(tǒng)的

開發(fā),還特別適用于對并行和分布式系統(tǒng)進(jìn)行建模

[ClUML是一個(gè)開發(fā)過程

[1>1UML是一種建模語言

【答案】ABD

19.統(tǒng)一建模語言UML在表達(dá)能力、對新技術(shù)的包容能力和擴(kuò)展性等方面具備

第32頁共54頁

的優(yōu)勢包括()o

[Al提供了一種通用、表達(dá)能力強(qiáng)的可視化建模語言,用于描述應(yīng)用問題的需

求模型、設(shè)計(jì)模型和實(shí)現(xiàn)模型

[B.]提供了對核心概念的擴(kuò)展機(jī)制,用戶可自行加入核心概念中沒有提供的概

念和符號,可為特定應(yīng)用領(lǐng)域提出具體的概念、符號表示以及約束

[C1增強(qiáng)面向?qū)ο蠊ぞ咧g的相互可操作性,便于對不同系統(tǒng)進(jìn)行集成

[D]支持較高抽象層次開發(fā)所需的各種概念,更于系統(tǒng)的重用

【答案】ABCD

20.在面向?qū)ο筌浖O(shè)計(jì)過程中,持久數(shù)據(jù)模型設(shè)計(jì)主要包括以下幾個(gè)步驟

()o

[Al確定設(shè)計(jì)模型中需要持久保存的類的對象及其屬性,其中實(shí)體類是主要關(guān)

注對象

[B.]確定持久存儲的數(shù)據(jù)之間的組織方式

[C1確定數(shù)據(jù)模型中的操作行為

[D1進(jìn)一步優(yōu)化持久數(shù)據(jù)操作的性能

【答案】ABCD

21.在面向?qū)ο筌浖O(shè)計(jì)過程中,部署模型設(shè)計(jì)需要考慮以下幾個(gè)要素()o

[A]最終開發(fā)完成的軟件包括哪些制品形式

[BJ軟件運(yùn)行環(huán)境存在哪些類型的物理節(jié)點(diǎn)

[C1不同節(jié)點(diǎn)之間的連接和通信形式是什么

第33頁共54頁

[D]軟件制品應(yīng)該如何在物理節(jié)點(diǎn)上進(jìn)行部署,即它們的部署映射關(guān)系

【答案】ABCD

22.在面向數(shù)據(jù)流的軟件設(shè)計(jì)過程中,數(shù)據(jù)對象的屬性包括()。

[A]物理屬性

[BJ命名性屬性

[C1描述性屬性

[D1引用性屬性

【答案】BCD

23.在實(shí)體關(guān)系圖進(jìn)行復(fù)雜數(shù)據(jù)建模過程中,為確保模型的一致性并消除數(shù)據(jù)

冗余,分析人員要掌握()。

【A.】數(shù)據(jù)對象的任何實(shí)例對每個(gè)屬性必須有且僅有一個(gè)屬性值

[B.]屬性是原子數(shù)據(jù)項(xiàng),不能包含內(nèi)部數(shù)據(jù)結(jié)構(gòu)

[C1如果數(shù)據(jù)對象的關(guān)鍵屬性多于一個(gè),那么其他的非關(guān)鍵屬性必須表示整個(gè)

數(shù)據(jù)對象而不是部分關(guān)鍵屬性的特征

[D1所有的非關(guān)鍵屬性既可以表示整個(gè)對象,也可以表示部分屬性的特征

【答案】ABC

24.數(shù)據(jù)流圖必須與璜述并組織數(shù)據(jù)條目的數(shù)據(jù)字典配套使用。通常,數(shù)據(jù)字

典中的每一條數(shù)據(jù)條目包含()o

[Al在數(shù)據(jù)流圖中標(biāo)識數(shù)據(jù)流、數(shù)據(jù)源或外部實(shí)體的名稱與別名

第34頁共54頁

[B.]數(shù)據(jù)類型

[Cl所有以它作為輸入流或輸出流的轉(zhuǎn)換列表

[D]如何使用該數(shù)據(jù)條目的簡要說明

【答案】ABCD

25.在面向?qū)ο蟮臄?shù)據(jù)模型設(shè)計(jì)中,持久數(shù)據(jù)模型設(shè)計(jì)主要包括以下幾個(gè)步驟

()o

[Al確定設(shè)計(jì)模型中需要持久保存的類的對象及其屬性,其中實(shí)體類是主要關(guān)

注對象

[B.]確定持久存儲的數(shù)據(jù)之間的組織方式

[C]確定數(shù)據(jù)模型中的操作行為,例如數(shù)據(jù)完整性驗(yàn)證、數(shù)據(jù)讀取、存儲與更

新、數(shù)據(jù)求和、求數(shù)據(jù)平均值

[DJ進(jìn)一步優(yōu)化持久數(shù)據(jù)操作的性能,例如使用數(shù)據(jù)索引、存儲過程、觸發(fā)器

等方式

【答案】ABCD

26.在進(jìn)行部署模型設(shè)計(jì)時(shí),一般需要考慮()。

[A]最終開發(fā)完成的軟件包括哪些制品形式

[B.]軟件運(yùn)行環(huán)境存在哪些類型的物理節(jié)點(diǎn)

[C1不同的節(jié)點(diǎn)之間的連接和通信形式是什么

[D]軟件制品應(yīng)該如何在物理節(jié)點(diǎn)上進(jìn)行部署

【答案】ABCD

第35頁共54頁

27.在進(jìn)行部署模型設(shè)計(jì)時(shí),一般需要考慮()o

[A]最終開發(fā)完成的軟件包括哪些制品形式

[B.]軟件運(yùn)行環(huán)境存在哪些類型的物理節(jié)點(diǎn)

[C]物理節(jié)點(diǎn)應(yīng)采用本地部署,還是考慮采用云計(jì)算環(huán)境上進(jìn)行部署

[D]軟件制品應(yīng)該如何在物理節(jié)點(diǎn)上進(jìn)行部署

【答案】ABD

28.以下哪項(xiàng)不屬于屬性和操作的作用范圍有哪幾種()o

[A.]public

[B.]protected

[C.]static

[D.]private

【答案】ABD

29.四位著名的軟件工程學(xué)者(ErichGamma,RichardHelm,RalphJohnson和John

Vlissides)在《設(shè)計(jì)模式:可復(fù)用面向?qū)ο筌浖A(chǔ)》一書中總結(jié)出軟件工程設(shè)計(jì)

模式的基本要素包括()。

[A]模式名稱

[B.]問題

[C]解決方案

[DJ效果

【答案】ABCD

第36頁共54頁

30.軟件設(shè)計(jì)模式的應(yīng)用對軟件開發(fā)所起的重大作用包括()o

[Al代碼重用性

[B.]節(jié)約設(shè)計(jì)實(shí)踐,提高設(shè)計(jì)效率

[C]可讀性

[DJ可擴(kuò)展性

【答案】ABCD

31.依照軟件設(shè)計(jì)的習(xí)的和范圍準(zhǔn)則,軟件設(shè)計(jì)模式包括()o

[Al創(chuàng)建型設(shè)計(jì)模式

[B.]結(jié)構(gòu)型設(shè)計(jì)模式

[C1行為型設(shè)計(jì)模式

[DJ創(chuàng)新型設(shè)計(jì)模式

【答案】ABC

32.對于遺留軟件,可以選擇的進(jìn)化策略包括()。

[A1完全放棄該軟件

[R]繼續(xù)維護(hù)系統(tǒng)

[C]通過軟件工程技術(shù)轉(zhuǎn)換系統(tǒng)以提高系統(tǒng)的可維護(hù)性

[0.1開發(fā)一個(gè)新系統(tǒng)來代替遺留系統(tǒng)

【答案】ABCD

第37頁共54頁

33.在軟件進(jìn)化策略選擇方面,遺留系統(tǒng)的評價(jià)結(jié)果根據(jù)業(yè)務(wù)價(jià)值和系統(tǒng)質(zhì)量

可分為()o

[Al低業(yè)務(wù)價(jià)值,低系統(tǒng)質(zhì)量

[B.]高業(yè)務(wù)價(jià)值,低系統(tǒng)質(zhì)量

[C]低業(yè)務(wù)價(jià)值,高系統(tǒng)質(zhì)量

[D]高業(yè)務(wù)價(jià)值,高系統(tǒng)質(zhì)量

【答案】ABCD

34.為了評價(jià)軟件系疏的業(yè)務(wù)價(jià)值,需要從以下哪幾個(gè)主要方面對系統(tǒng)進(jìn)行考

察()。

[A1系統(tǒng)的使用

[B.]系統(tǒng)支持的業(yè)務(wù)過程

[C]系統(tǒng)的可靠性

[D.]系統(tǒng)的輸出

【答案】ABCD

35.軟件再工程是指通過對目標(biāo)系統(tǒng)的檢查和改造,將逆向工程、重構(gòu)和正向

工程組合起來,將現(xiàn)存系統(tǒng)重新構(gòu)造為新的形式,以開發(fā)出質(zhì)量更高、維護(hù)性更

好的軟件。其具體目標(biāo)包括()。

[A1為追加、增強(qiáng)功能做準(zhǔn)備

[B.]提高可維護(hù)性

[CJ軟件的移植

[D]提高可靠性

第38頁共54頁

【答案】ABCD

36.完整軟件體系結(jié)閡的迭代過程包括以下幾種活動()o

[A]提?。杭磸奈臋n、代碼、專家等方面獲取所有可能得到的軟件信息或設(shè)計(jì)

要素

[BJ分類:把提取出的信息按照不同視點(diǎn)進(jìn)行分類

[C]合并:對分類后每個(gè)視點(diǎn)中的信息進(jìn)行分析和合并,形成一種系統(tǒng)、一致

的方式來描述軟件關(guān)于該視點(diǎn)的特征

[D]融合:把分別合并后的各個(gè)視點(diǎn)進(jìn)行融合,檢查各個(gè)視點(diǎn)之間的一致性,

并把這些視點(diǎn)統(tǒng)一稱為一個(gè)整體的軟件體系結(jié)構(gòu)描述

【答案】ABCD

37.對軟件實(shí)施代碼和數(shù)據(jù)重構(gòu)的優(yōu)點(diǎn)主要包括()o

[A]改進(jìn)軟件的設(shè)計(jì)

[B.]提高代碼質(zhì)量,更容易被理解

[C]幫助盡早發(fā)現(xiàn)錯誤

[D]可以提高開發(fā)速度

【答案】ABCD

38.軟件設(shè)計(jì)的發(fā)展趨勢主要包括()o

[Al服務(wù)性:以人為本的服務(wù)是計(jì)算機(jī)軟件開發(fā)最基本的目的,是未來發(fā)展的

趨勢

第39頁共54頁

【BJ開放化:只有保持信息以及軟件的開放化,企業(yè)才能擁有更加全面的視野,

取各行業(yè)之間的優(yōu)勢,彌補(bǔ)自身的不足

[C1智能化和網(wǎng)絡(luò)化:大多數(shù)的計(jì)算機(jī)軟件已經(jīng)朝智能化發(fā)展,這代表著計(jì)算

機(jī)軟件開發(fā)技術(shù)在未來向智能化方向轉(zhuǎn)化;在軟件開發(fā)技術(shù)研究中,物聯(lián)網(wǎng)就是

主要的研究內(nèi)容

[DJ復(fù)雜化:計(jì)算機(jī)軟件設(shè)計(jì)因功能的完備性趨于復(fù)雜

【答案】ABC

39.軟件再工程通過改造遺留系統(tǒng),使系統(tǒng)變得容易理解,進(jìn)而提高系統(tǒng)的可

維護(hù)性。具體包括()o

[A]系統(tǒng)文檔的再建、修改

[B.]更新系統(tǒng)的結(jié)構(gòu)

[C]用先進(jìn)的程序設(shè)計(jì)語言轉(zhuǎn)換源代碼

[D-]數(shù)據(jù)再工程

【答案】ABCD

(三)簡答題

1.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)和過程設(shè)計(jì)。作為一個(gè)

完整的軟件設(shè)計(jì)方案,請簡要闡述軟件設(shè)計(jì)包含的組成要素。

【答案】(1)目標(biāo)描述。設(shè)計(jì)方案需要清楚地描述它要解決的問題和將要達(dá)到的

第40頁共54頁

目標(biāo)。

(2)設(shè)計(jì)約束。設(shè)計(jì)目標(biāo)的獲得通常要在某些約束的限制范圍內(nèi),這些約束定

義了要解決問題的解空間。

(3)設(shè)計(jì)原理。工程化的設(shè)計(jì)活動必須以一定的科學(xué)原理和技術(shù)手段為基礎(chǔ),

它們將表明問題可以通過該設(shè)計(jì)得到合理的解決。

(4)開發(fā)規(guī)劃。工程化的設(shè)計(jì)活動不僅需要讓人知道該設(shè)計(jì)能解決問題,還需

要讓人們了解該設(shè)計(jì)在實(shí)際開發(fā)中是可行的,以及如何實(shí)現(xiàn)該設(shè)計(jì)。

(5)使用描述。產(chǎn)品經(jīng)常在某些特定條件下才能被可靠、高效地使用,并達(dá)到

最初的設(shè)計(jì)目標(biāo)。因此,描述產(chǎn)品如何使用非常重要。

2.簡要闡述軟件體系結(jié)構(gòu)描述語言(ADL)的三個(gè)基本元素及其作用。

【答案】(1)構(gòu)件:計(jì)算或數(shù)據(jù)存儲單元。

(2)連接件:用于構(gòu)件之間交互建模的體系結(jié)構(gòu)構(gòu)造塊及其支配這些交互為規(guī)

則。

(3)體系結(jié)構(gòu)配置:描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。

3.軟件體系結(jié)構(gòu)設(shè)計(jì)方法是指通過一系列的設(shè)計(jì)活動,獲得滿足系統(tǒng)功能性需

求,并且符合一定非功能性需求約束的軟件體系結(jié)構(gòu)模型。簡述不同類型的

軟件體系結(jié)構(gòu)設(shè)計(jì)方法及其特點(diǎn)。

【答案】(1)工業(yè)驅(qū)動的方法。工業(yè)驅(qū)動的體系結(jié)構(gòu)設(shè)計(jì)方法從方法的工件描述

中提取體系結(jié)構(gòu)描述。工件驅(qū)動的體系結(jié)構(gòu)設(shè)計(jì)方法的例子包括廣為流行的面向

對象分析和設(shè)計(jì)方法OMT。

第41頁共54頁

(2)用例驅(qū)動的方法。用例驅(qū)動的體系結(jié)構(gòu)設(shè)計(jì)方法主要從用例導(dǎo)出體系結(jié)構(gòu)

抽象。一個(gè)用例,是指系統(tǒng)進(jìn)行的一個(gè)活動系列,它為參與者提供一些結(jié)果值,

參與者通過用例使用系統(tǒng)。參與者和用例共同構(gòu)成了用例模型。

(3)模式驅(qū)動的方法。模式驅(qū)動的體系結(jié)構(gòu)設(shè)計(jì)方法從模式導(dǎo)出體系結(jié)構(gòu)抽象。

該方法在處理范圍廣泛的體系結(jié)構(gòu)問題時(shí),模式庠可能不夠充足,且對模式的選

擇僅僅依靠通用知識和軟件工程師的經(jīng)驗(yàn)。

(4)領(lǐng)域驅(qū)動的方法。在領(lǐng)域驅(qū)動的體系結(jié)構(gòu)設(shè)計(jì)方法中,體系結(jié)構(gòu)抽象是從

領(lǐng)域模型導(dǎo)出來的。領(lǐng)域模型可以有很多種不同的表示方法,比如,類、實(shí)體關(guān)

系圖、框架、語義網(wǎng)絡(luò)和規(guī)格等。

4.請闡述軟件開發(fā)過程中的抽象原則和信息隱藏原則。

【答案】(1)抽象是指抽取事物最基本的特征和行為,忽略非基本的細(xì)節(jié),采用

分層次抽象的辦法,可以控制軟件開發(fā)過程的復(fù)雜性,有利于軟件的可理解性和

開發(fā)過程的管理。

(2)信息隱藏是將模塊中的軟件設(shè)計(jì)決策封裝起來的技術(shù),是使模塊化開發(fā)活

動更加簡單的重要因素。在設(shè)計(jì)和確定模塊時(shí)信息隱藏使一個(gè)模塊的開發(fā)者不必

看到其他模塊的內(nèi)部,只需知道其接口即可。這使得每個(gè)模塊的開發(fā)人員所要處

理的復(fù)雜性顯著降低。

5.請闡述軟件開發(fā)過程中模塊化設(shè)計(jì)原則的要點(diǎn)。

【答案】(1)模塊是程序中邏輯上相對獨(dú)立的成分,它是一個(gè)獨(dú)立的編程單位,

應(yīng)有良好的接口定義,模塊化有助于信息隱藏和抽象,有助于表示復(fù)雜軟件系統(tǒng)。

第42頁共54頁

(2)模塊的大小要適中,模塊過大會導(dǎo)致模塊內(nèi)部復(fù)雜的增加,不利于模塊的

調(diào)試和重用,也不利于對模塊的理解和修改。

(3)模塊太小會導(dǎo)致整個(gè)系統(tǒng)的表示過于復(fù)雜,不利于控制復(fù)雜性。

6.請闡述軟件界面設(shè)計(jì)的基本原則。

【答案】(1)用戶熟悉程度:界面應(yīng)該采用經(jīng)常使用系統(tǒng)用戶熟悉的術(shù)語和概念。

(2)一致性:界面必須一致,在任何可能的情況下,相同的操作應(yīng)該以同樣的

方式被激活。

(3)使驚訝最小化:盡量避免使用戶對系統(tǒng)的行為感到驚訝。

(4)可恢復(fù)性:界面應(yīng)該為用戶提供錯誤恢復(fù)機(jī)制。

(5)用戶幫助:界面應(yīng)該在錯誤發(fā)生時(shí)提供有意義的反饋,并提供上下文敏感

用戶幫助系統(tǒng)。

(6)用戶多樣性:界面應(yīng)該為不同類型的用戶提供恰當(dāng)?shù)慕换シ绞健?/p>

7.簡要描述基于UML的分析與設(shè)計(jì)過程。

【答案】(1)用例分析與設(shè)計(jì)

(2)概念模型與頂層架構(gòu)設(shè)計(jì)

(3)用戶界面設(shè)計(jì)

(4)數(shù)據(jù)模型設(shè)計(jì)

(5)設(shè)計(jì)精化

(6)類設(shè)計(jì)

(7)部署模型設(shè)計(jì)

第43頁共54頁

8.在創(chuàng)建用戶需求的數(shù)據(jù)流模型的過程中,簡要描述分析人員應(yīng)遵循的原則。

【答案】(1)首先建立頂級數(shù)據(jù)流圖,其中只含有一個(gè)代表目標(biāo)軟件系統(tǒng)整體處

理功能的轉(zhuǎn)換。

(2)對用戶需求的文字描述進(jìn)行語法分析,其中的名詞和名詞短語構(gòu)成潛在的

外部實(shí)體、數(shù)據(jù)源或教據(jù)流、動詞構(gòu)成潛在的處理功能。

(3)采用通常的功能分解方法,按照“強(qiáng)內(nèi)聚,松耦合”原則,逐個(gè)對處理功

能進(jìn)行精化,與此同時(shí)逐步完成對數(shù)據(jù)流的精化,并針對被精化的處理功能生成

下一級數(shù)據(jù)流圖。

(4)在精化過程中,必須維持各級數(shù)據(jù)流圖的平衡。

(5)精化過程應(yīng)適可而止,避免涉及軟件設(shè)計(jì)細(xì)節(jié)。

9.在面向?qū)ο蟮能浖O(shè)計(jì)中,類設(shè)計(jì)的目的是時(shí)各種設(shè)計(jì)模型中出現(xiàn)的類進(jìn)行

細(xì)化設(shè)計(jì),以使它們精細(xì)至能夠直接提交給軟件構(gòu)造階段進(jìn)行編碼實(shí)現(xiàn)。請

簡述類設(shè)計(jì)的主要任務(wù)。

【答案】(1)對類的屬性與操作進(jìn)行精化。

(2)對類的對象實(shí)例在其生存周期中對外部消息的響應(yīng)和狀態(tài)變化過程進(jìn)行建

模。

(3)對類中重要操作的實(shí)現(xiàn)過程成算法進(jìn)行描述。

10.簡述啟發(fā)式設(shè)計(jì)策略的主要經(jīng)驗(yàn)。

【答案】(1)改造程序結(jié)構(gòu),減小耦合度,提高內(nèi)聚度。

第44頁共54頁

(2)改造程序結(jié)構(gòu),減少高扇出,在增加程序深度的前提下追求高扇入。

(3)改造程序結(jié)構(gòu),使任一模塊的作用域在其控制域之內(nèi)。

(4)改造程序結(jié)構(gòu),臧少接口的復(fù)雜性和和冗余程度,提高協(xié)調(diào)性。

(5)模塊功能應(yīng)該可預(yù)言,避免對模塊施加過多限制。

(6)改造程序結(jié)構(gòu),追求單入口單出口的模塊。

(7)為滿足設(shè)計(jì)或可移植性的要求,把某些軟件用包的形式封裝起來。

11.簡述軟件設(shè)計(jì)模式的應(yīng)用對軟件開發(fā)的重要作用。

【答案】(1)代碼重用性。大部分模式都兼顧了系統(tǒng)的可重用性,這使得開發(fā)人

員可以更好地重用一些已有的設(shè)計(jì)方案、功能模塊甚至一個(gè)完整的軟件系統(tǒng),提

高最佳設(shè)計(jì)實(shí)踐的復(fù)用性。

(2)節(jié)約設(shè)計(jì)實(shí)踐,提高設(shè)計(jì)效率。模式是眾多專家從諸多優(yōu)秀的軟件系統(tǒng)中

總結(jié)出的設(shè)計(jì)方案,使用這些設(shè)計(jì)方案能為開發(fā)人員提供設(shè)計(jì)思路,有助于開發(fā)

人員提高開發(fā)和設(shè)計(jì)效率,幫助設(shè)計(jì)新手快速系統(tǒng)地學(xué)習(xí)專家的成功設(shè)計(jì)經(jīng)驗(yàn)。

(3)可讀性。模式為沒計(jì)人員提供了一套統(tǒng)一的設(shè)計(jì)詞匯,包括設(shè)計(jì)、管理和

組織方面,同時(shí)也為設(shè)計(jì)人員提供了一個(gè)規(guī)范和描述抽象事物的標(biāo)準(zhǔn),以便開發(fā)

人員之間的溝通和交流。

(4)可擴(kuò)展性。隨著軟件規(guī)模的日益增大,軟件壽命逐漸延長,軟件系統(tǒng)的可

擴(kuò)展性也越來越重要,許多模式將有助于提高系統(tǒng)的靈活性和可擴(kuò)展性,讓開發(fā)

人員在不修改或者在現(xiàn)有系統(tǒng)的基礎(chǔ)上根據(jù)實(shí)際情況增加、刪除或者替換相應(yīng)的

功能模塊。

第45頁共54頁

12.軟件設(shè)計(jì)模式能夠幫助軟件設(shè)計(jì)者更快地完成面向?qū)ο蟮能浖O(shè)計(jì)。請簡述

軟件設(shè)計(jì)模式選擇的具體步驟。

【答案】人們在選擇模式時(shí)可遵循以下步驟和原則。

(1)理解問題需求。問題的需求是進(jìn)行模式選擇的基礎(chǔ),通過對需求的分析可

以找到多個(gè)模式,并將其形成相應(yīng)的模式組。

(2)研究組內(nèi)模式。需求分析得出的組內(nèi)模式存在一些共同特性,但是不同的

模式都有其獨(dú)特的使用動機(jī)、意圖和使用條件等等,因此對組內(nèi)模式進(jìn)行研究,

研究模式之間的相互關(guān)聯(lián)具有一定的實(shí)際意義。

(3)考慮設(shè)計(jì)模式是如何解決設(shè)計(jì)問題的。在系統(tǒng)的設(shè)計(jì)過程中會產(chǎn)生許多變

化因素。為了支持這種變化,應(yīng)明確設(shè)計(jì)模式在設(shè)計(jì)中支持哪些可變化因素,而

這些可變因素是否會導(dǎo)致系統(tǒng)必須進(jìn)行重新設(shè)計(jì),基于此可找到所需的設(shè)計(jì)模式

以盡量避免引起重新設(shè)計(jì)。

13.軟件設(shè)計(jì)模式能夠幫助軟件設(shè)計(jì)者更快地完成面向?qū)ο蟮能浖O(shè)計(jì)。請簡

述軟件設(shè)計(jì)模式使用的方法與原則。

【答案】(1)首先理解所選擇的模式。特別注意模式的適用條件和使用效果部分,

確定該模式是否適合對此類問題的求解。

(2)研究模式的結(jié)構(gòu)部分、參與者部分和協(xié)作部分。確保對這個(gè)模式的類、對

象以及它們之間的關(guān)聯(lián)關(guān)系有一定的了解。

(3)看代碼示例部分。研究該模式代碼形式的具體例子將有助于設(shè)計(jì)人員更好

的理解和實(shí)現(xiàn)模式。

(4)選擇模式參與者的名字,使它們在應(yīng)用上下文中有意義。

第46頁共54頁

(5)定義類。聲明它,‘門之間的接口,建立它們的繼承關(guān)系,定義代表數(shù)據(jù)和對

象引用的實(shí)例變量。

(6)定義模式中專用于應(yīng)用的操作名稱。應(yīng)用中的類、變量和對象的名稱定義

都會依賴于應(yīng)用所涉及到的實(shí)體,對模式名稱的定義也應(yīng)該和實(shí)際中的具體操作

相關(guān)聯(lián),要盡量和實(shí)際中的名字一致。

(7)實(shí)現(xiàn)執(zhí)行模式中責(zé)任和協(xié)作的操作。實(shí)現(xiàn)部分提供線索指導(dǎo)人們進(jìn)行實(shí)現(xiàn)。

14.簡述軟件再工程的定義及突出特征。

【答案】(1)軟件再工程是指通過對目標(biāo)系統(tǒng)的檢查和改造,其中包括設(shè)計(jì)恢復(fù)

(庫存目錄分析)、再文檔、逆向工程、程序和數(shù)據(jù)重構(gòu)以及正向工程等一系列活

動,旨在將逆向工程、重構(gòu)和正向工程組合起來,將現(xiàn)存系統(tǒng)重新構(gòu)造為新的形

式,以開發(fā)出質(zhì)量更高、維護(hù)性更好的軟件。

(2)軟件再工程有兩個(gè)突出特征:一是比一次軟件工程更迫切地需要計(jì)算機(jī)輔助

支持,二是測試工作比例遠(yuǎn)大于一次軟件工程。前者在再工程方法學(xué)研究和軟件

模式運(yùn)動推動下可以找到自動化解決方案,后者則須強(qiáng)化對測試方法學(xué)體系的研

究。

15.簡述軟件再工程的具體目標(biāo)。

【答案】(1)為追加、增強(qiáng)功能做準(zhǔn)備。軟件再工程通過對原系統(tǒng)用新的設(shè)計(jì)思

想加以重新實(shí)現(xiàn)。使今后能方便地對系統(tǒng)進(jìn)行功能的追加和增強(qiáng)。

(2)提高可維護(hù)性。經(jīng)過不斷維護(hù)日趨復(fù)雜的系統(tǒng).經(jīng)過軟件的再工程和再設(shè)

計(jì),其模塊劃分會更合理,接口定義更清晰,文檔更齊全,從而更易維護(hù)。

第47頁共54頁

(3)軟件的移植。軟件再工程將一些優(yōu)秀軟件移植到新硬件平臺、操作系統(tǒng)或

語言環(huán)境中,從而使它們能夠利用新環(huán)境的新特唾,更好地發(fā)揮作用。

(4)提高可靠性。軟件的維護(hù)修改容易引起“波動效應(yīng)”,即修改一處,波及多

方。軟件的再工程可較好地解決這一問題。

16.簡述軟件設(shè)計(jì)的發(fā)展與趨勢。

【答案】(1)服務(wù)性:計(jì)算機(jī)軟件技術(shù)的開發(fā)和發(fā)展主要是通過相關(guān)人員的操作

完成的,要達(dá)到的目的是為了給人類提供最好的服務(wù)。以人為本的服務(wù)是計(jì)算機(jī)

軟件開發(fā)最基本的目的,是未來發(fā)展的趨勢。

(2)開放化:從知識的角度來看,計(jì)算機(jī)技術(shù)屬于高水平知識。長遠(yuǎn)發(fā)展眼光

來看,只有保持信息以及軟件的開放化,企業(yè)才能擁有更加全面的視野,取各行

業(yè)之間的優(yōu)勢,彌補(bǔ)自身的不足,從而促進(jìn)社會經(jīng)濟(jì)取得更深層次的發(fā)展。

(3)智能化和網(wǎng)絡(luò)化:現(xiàn)階段,大多數(shù)的計(jì)算機(jī)軟件已經(jīng)朝智能化發(fā)展,這代表

著計(jì)算機(jī)軟件開發(fā)技術(shù)在未來向智能化方向轉(zhuǎn)化。在軟件開發(fā)技術(shù)研究中,物聯(lián)

網(wǎng)就是主要的研究內(nèi)容。

17.開發(fā)者需要對遺留軟件系統(tǒng)的實(shí)際情況進(jìn)行評價(jià),然后選擇最合適的進(jìn)化策

略。簡述對于不同的遺留軟件,可選擇的進(jìn)化策略有哪些。

【答案】(1)完全放棄該軟件。當(dāng)系統(tǒng)所支持的業(yè)務(wù)對機(jī)構(gòu)來說已經(jīng)過時(shí),或者

說機(jī)構(gòu)的業(yè)務(wù)根本

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論