中文字幕高清在线,中文字幕在线电影观看,中文字幕在线看,免费国产一区二区三区,男攻调教双性男总裁,热热涩热热狠狠色香蕉综合,亚洲精品网站在线观看不卡无广告

軟件工程試題及答案

時(shí)間:2024-10-11 15:38:23 松濤 試題 我要投稿

軟件工程試題及答案

  在各個(gè)領(lǐng)域,我們都離不開試題,試題是用于考試的題目,要求按照標(biāo)準(zhǔn)回答。你知道什么樣的試題才能切實(shí)地幫助到我們嗎?以下是小編為大家收集的軟件工程試題及答案,僅供參考,大家一起來看看吧。

軟件工程試題及答案

  一、填空(10*1分=10);

  (1)產(chǎn)品設(shè)想是產(chǎn)品用途和形式的概括描述,可以通;

  (2)項(xiàng)目范圍是項(xiàng)目中要完成的工作;

 。3)產(chǎn)品設(shè)計(jì)過程的特點(diǎn)可以概括為自頂向下和以用;

  (4)備選需求的思想可以來自設(shè)計(jì)團(tuán)隊(duì)的內(nèi)部或外部;

  (5)工程設(shè)計(jì)的第一步是工程設(shè)計(jì)分析;

  (6)體系結(jié)構(gòu)設(shè)計(jì)必須既考慮功能需求,又考慮非功;

 。7)設(shè)計(jì)模式出現(xiàn)在幾個(gè)不同的抽象級(jí)別上,包括體;

  一、填空(10X1分=10)

 。1)產(chǎn)品設(shè)想是產(chǎn)品用途和形式的概括描述,可以通過主要產(chǎn)品功能列表的形式詳細(xì)闡明。

 。2)項(xiàng)目范圍是項(xiàng)目中要完成的工作。風(fēng)險(xiǎn)承擔(dān)者是受產(chǎn)品影響或參與。影響產(chǎn)品開發(fā)的任何人。

 。3)產(chǎn)品設(shè)計(jì)過程的特點(diǎn)可以概括為自頂向下和以用戶為中心。前者意味著設(shè)計(jì)人員首先要在高抽象級(jí)別上引出需要并生成、改進(jìn)、評(píng)估和選擇需求,然后再依次在更低的級(jí)別上引出需要并生成、改進(jìn)、評(píng)估和選擇需求。后者意味著設(shè)計(jì)過程是以風(fēng)險(xiǎn)承擔(dān)者為焦點(diǎn),使用實(shí)驗(yàn)評(píng)估,而且高度重復(fù)。

 。4)備選需求的思想可以來自設(shè)計(jì)團(tuán)隊(duì)的內(nèi)部或外部。前一種來源包括用戶和其他風(fēng)險(xiǎn)承擔(dān)者、專家、現(xiàn)實(shí)物品和比喻、競(jìng)爭(zhēng)產(chǎn)品和相似產(chǎn)品。后一種來源包括團(tuán)隊(duì)集體討論、個(gè)人獨(dú)立思考和建模。

 。5)工程設(shè)計(jì)的第一步是工程設(shè)計(jì)分析。這項(xiàng)活動(dòng)的輸入包括可能以各種模型和原型作為其補(bǔ)充的SRS,它們都是在產(chǎn)品設(shè)計(jì)過程中產(chǎn)生的。從軟件的生命周期的觀點(diǎn)來說,工程設(shè)計(jì)發(fā)生在設(shè)計(jì)階段。在這項(xiàng)活動(dòng)中分析問題的好方法是建模,這將產(chǎn)生該活動(dòng)的主要輸出。

  (6)體系結(jié)構(gòu)設(shè)計(jì)必須既考慮功能需求,又考慮非功能需求。使程序能夠滿足其功能需求的體系結(jié)構(gòu)可能有任意多個(gè),但其中只有質(zhì)量特性能夠同時(shí)使程序滿足其非功能需求。軟件體系結(jié)構(gòu)設(shè)計(jì)者必須考慮多種程序以找出那些所能指定的程序既能滿足功能需求,又能滿足非功能需求的結(jié)構(gòu)。

 。7)設(shè)計(jì)模式出現(xiàn)在幾個(gè)不同的抽象級(jí)別上,包括體系結(jié)構(gòu)風(fēng)格,它是處于體系結(jié)構(gòu)級(jí)別的模式;中級(jí)設(shè)計(jì)模型它是設(shè)計(jì)類及其交互作用的模式;數(shù)據(jù)結(jié)構(gòu)和算法它是實(shí)現(xiàn)抽象數(shù)據(jù)類型和有效操作的模式;編程慣用法,它是能夠有效使用特定編程語言的模式。

 。8)在應(yīng)用樹中,樹根以u(píng)tility加以標(biāo)記,根的子樹是概貌的名稱,樹葉表示場(chǎng)景。這些樹幫助生成用來評(píng)估體系結(jié)構(gòu)方案的場(chǎng)景的集合。

  (9)正確使用表示方法的SAD是結(jié)構(gòu)良好的SAD,全部可以由一個(gè)程滿足的一組設(shè)計(jì)說明是一致的。所指定的程序能夠滿足其所有需求的軟件體系結(jié)構(gòu)是完整的。如果SAD易于理解,則是清晰的。

 。10)詳細(xì)設(shè)計(jì)解析非常類似于體系結(jié)構(gòu)設(shè)計(jì)解析?捎糜谏珊透倪M(jìn)設(shè)計(jì)方案的技術(shù)包括基于程序功能的分解、基于質(zhì)量特性的分解、從概念模型中復(fù)制設(shè)計(jì)、根據(jù)類似程序的設(shè)計(jì)模型創(chuàng)建設(shè)計(jì)以及使設(shè)計(jì)基于設(shè)計(jì)模式之上。

  二、名詞解釋(5*3分=15)

  1. 模型

  模型是用來表示另一個(gè)實(shí)體(目標(biāo))的實(shí)體,建立模型要確定目標(biāo)的部件或元素與模型的部件或元素之間的對(duì)應(yīng)關(guān)系,還要確定目標(biāo)的部件或元素間相互關(guān)系與模型的部件或元素間相互關(guān)系之間的對(duì)應(yīng)關(guān)系。

  2. 靜態(tài)設(shè)計(jì)模型

  靜態(tài)設(shè)計(jì)模型表示不會(huì)在程序執(zhí)行過程中發(fā)生變化的程序方面。

  3. 動(dòng)態(tài)設(shè)計(jì)模型

  動(dòng)態(tài)設(shè)計(jì)模型表示在程序執(zhí)行過程中所發(fā)生的事情。

  4. 用例

  用例是產(chǎn)品與環(huán)境之間完整交互作用的類型。

  5. 場(chǎng)景

  場(chǎng)景是產(chǎn)品與特定個(gè)人之間的交互作用。

  6. 類模型

  問題或軟件解決方案中類的表示。

  7. 抽象類

  它是一個(gè)不能被實(shí)例化的類,任何至少有一個(gè)抽象操作的類都必定是抽象類,因?yàn)槿绻麑?shí)例化這樣的類,那么客戶并不能調(diào)用其包含的抽象操作,不是抽象類的類是具體類。

  8. UML接口

  是公有的屬性和抽象操作的有名集合。

  9. 虛擬設(shè)備

  真實(shí)硬件設(shè)備或系統(tǒng)的軟件模擬或接口。

  10. 同步消息

  從一個(gè)對(duì)象到另一個(gè)對(duì)象的通信,而這個(gè)發(fā)送個(gè)體在發(fā)送信息之后暫停執(zhí)行。

  11. 異步消息

  從一個(gè)對(duì)象到另一個(gè)對(duì)象的通信,而這個(gè)發(fā)送個(gè)體在發(fā)送信息之后繼續(xù)執(zhí)行。

  12. 嚴(yán)格分層體系結(jié)構(gòu)

  允許每層只使用緊鄰其下的那一層的分層體系結(jié)構(gòu)

  13. 松弛分層體系結(jié)構(gòu)

  允許每層都可以使用其下的所有層的分層體系結(jié)構(gòu)

  14. 黑板體系結(jié)構(gòu)風(fēng)格

  當(dāng)共享數(shù)據(jù)庫(kù)改變時(shí),共享數(shù)據(jù)庫(kù)將激活存取器。這種變體稱為黑板體系結(jié)構(gòu)風(fēng)格,共享數(shù)據(jù)庫(kù)稱為黑板

  15. 倉(cāng)庫(kù)體系結(jié)構(gòu)風(fēng)格

  共享數(shù)據(jù)庫(kù)是被動(dòng)的,由存取器對(duì)其進(jìn)行查詢,這些存取器可以繼續(xù)運(yùn)行,或者由其他某個(gè)組件控制,這種變體稱為倉(cāng)庫(kù)體系結(jié)構(gòu)風(fēng)格,共享數(shù)據(jù)庫(kù)稱為倉(cāng)庫(kù)

  16. 異構(gòu)體系結(jié)構(gòu)

  采用兩種或多種體系結(jié)構(gòu)風(fēng)格的體系結(jié)構(gòu)

  三、簡(jiǎn)答題(30分)

  1. 說出設(shè)計(jì)當(dāng)作問題解決方案來考慮的3個(gè)優(yōu)點(diǎn)。

  第一:這意味著信息在問題和解決方案之間可能是隔離的

  第二:由此產(chǎn)生的看待設(shè)計(jì)的觀點(diǎn)

  第三:意味著要在設(shè)計(jì)中使用歷史悠久的一般的問題解決技術(shù)

  2. 為什么說抽象化是重要的問題解決技術(shù)?說出3點(diǎn)理由。

  a) 使問題簡(jiǎn)化——真實(shí)的問題總是有許多與其解決方案無關(guān)的細(xì)節(jié)

  b) 使問題的解決結(jié)構(gòu)化——許多設(shè)計(jì)問題都太大太復(fù)雜,以致不能完全解決

  c) 有助于以自頂向下的方式構(gòu)成問題解決過程

  3. 例舉建模的好處和危險(xiǎn)。

  好處:可以簡(jiǎn)化要表示的目標(biāo),從而使我們更容易理解,記錄和研究目標(biāo)。研究模型還可能比直接研究目標(biāo)更省成本,更安全。

  危險(xiǎn):模型永遠(yuǎn)不能精確再現(xiàn)所表示的目標(biāo),因此研究模型得出的結(jié)論有可能不正確。

  4. 例舉軟件的產(chǎn)品設(shè)計(jì)人員和工程設(shè)計(jì)人員所關(guān)注的具體方面。

  部分具體的軟件產(chǎn)品設(shè)計(jì):屏幕布局——包括用戶界面組件的布置以及這些組件的大小,字體顏色和外觀;用戶與程序之間的交互順序;消息的編寫;圖像的使用和外觀;

  程序?qū)?zhí)行的功能;程序所需的輸入和產(chǎn)生的輸出;程序的質(zhì)量和可靠性;用戶使用該程序達(dá)到其目標(biāo)的易用性;程序是如何適應(yīng)和改變用戶工作方式

  部分具體的軟件工程設(shè)計(jì):構(gòu)成程序的主要部件或子系統(tǒng),包括它們的接口,功能,交互作用,速度等;程序中的模塊以及這些模塊的接口;程序中模塊之間的交互作用;模塊的內(nèi)部細(xì)節(jié),包括它們的數(shù)據(jù)和行為;程序中使用的數(shù)據(jù)結(jié)構(gòu)和算法;程序中異常和錯(cuò)誤處理機(jī)制;程序中的進(jìn)程和線程。

  5. 為了核實(shí)某個(gè)用例圖是否包括所有應(yīng)該包括的用例,設(shè)計(jì)人員應(yīng)該怎樣做?

  通過檢查產(chǎn)品需要清單來確保所有需要都已得到滿足,或者確保所有未被滿足的需要都是故意為之的,設(shè)計(jì)人員可以檢查用例圖的完整性

  6. 給出3個(gè)因太小而不應(yīng)成為用例的活動(dòng)示例。

  某些因太小而不宜作為用例的活動(dòng)示例是:給設(shè)備或另一個(gè)系統(tǒng)發(fā)送信號(hào)或消息,接收來自設(shè)備或另一個(gè)系統(tǒng)的信號(hào)或消息,向用戶顯示消息。

  7. 哪些表示法可用于用例描述?

  任何能夠說明交互作用中活動(dòng)流程的表示法都可以用于用例描述,其中包括uml活動(dòng)圖,uml交互作用圖,流程圖,編程語言和自然語言。

  8. 為什么至少必須有一個(gè)風(fēng)險(xiǎn)承擔(dān)者的需要與用例有關(guān)?

  如果某種產(chǎn)品的任何風(fēng)險(xiǎn)承擔(dān)者都沒有與某個(gè)用例相關(guān)的需要,則該產(chǎn)品就沒有理由支持這個(gè)用例。產(chǎn)品應(yīng)該滿足風(fēng)險(xiǎn)承擔(dān)者的需要和要求,產(chǎn)品的所有特點(diǎn)和功能都應(yīng)該服務(wù)于這個(gè)目標(biāo)。

  9. 如果在開始工作時(shí)沒有完整、正確和一致的產(chǎn)品設(shè)計(jì),那么工程設(shè)計(jì)人員必須做什么?

  如果工程設(shè)計(jì)人員沒有得到由產(chǎn)品設(shè)計(jì)人員提供的完整,正確和一致的產(chǎn)品設(shè)計(jì),則除了親自完成產(chǎn)品設(shè)計(jì)以外別無選擇,如果完全不知道產(chǎn)品是什么,就不可能想出如何來實(shí)現(xiàn)產(chǎn)品。

  10.對(duì)工程設(shè)計(jì)分析最有用的靜態(tài)和動(dòng)態(tài)模型是什么?

  對(duì)面向?qū)ο蟮墓こ谭治鲎钣杏玫撵o態(tài)模型是分析類模型,最有用的動(dòng)態(tài)模型是用例模型

  11.給出一些不應(yīng)該出現(xiàn)在概念模型中但應(yīng)該出現(xiàn)在設(shè)計(jì)類模型中的實(shí)例。

  不應(yīng)該出現(xiàn)在概念模型中但應(yīng)當(dāng)出現(xiàn)在設(shè)計(jì)類模型中的示例是那些與軟件系統(tǒng)有關(guān)而問題無關(guān)的實(shí)體,具體例子包括只與實(shí)現(xiàn)有關(guān)的類屬性,比如:計(jì)數(shù)器,引用以及僅僅為了方便的變量;還有只與實(shí)現(xiàn)有關(guān)的屬性的特征,比如屬性是公有還是私有,屬性的數(shù)據(jù)結(jié)構(gòu)是什么;以及只與實(shí)現(xiàn)有關(guān)的操作,比如構(gòu)造函數(shù),析構(gòu)函數(shù),結(jié)束函數(shù),獲取惡化設(shè)置屬性的方法;或者是只與實(shí)現(xiàn)有關(guān)的操作的特征,比如操作是公有還是私有,它們支持哪種并發(fā)性。

  12.給出一些不應(yīng)該出現(xiàn)在設(shè)計(jì)類模型中但應(yīng)該出現(xiàn)在實(shí)現(xiàn)類模型中的實(shí)例。

  不應(yīng)該出現(xiàn)在設(shè)計(jì)類模型中但應(yīng)當(dāng)出現(xiàn)在實(shí)現(xiàn)類模型中的示例是那些與特定環(huán)境和語言中的程序?qū)崿F(xiàn)有關(guān)的實(shí)體。具體的例子有來自類庫(kù)的具體類,比如Java.lang.integer;還有哪些為語言所特有的數(shù)據(jù)類型,比如unsinged long;以及操作和初始化表達(dá)式

  13.在軟件體系結(jié)構(gòu)文檔中應(yīng)該包括什么信息?

  軟件體系結(jié)構(gòu)文檔應(yīng)該包括產(chǎn)品概述,給出體系結(jié)構(gòu)模型,提供模型之間的映射,解釋設(shè)計(jì)的理論依據(jù),并包括詞匯表

  14.什么圖可以用來模擬程序部件之間的協(xié)作?說出五種。

  Uml順序圖,通信圖,活動(dòng)圖,用例模型,數(shù)據(jù)流程圖

  15.描述用于生成中級(jí)設(shè)計(jì)模型的兩種創(chuàng)建技術(shù)和兩種轉(zhuǎn)換技術(shù)。

  兩種創(chuàng)建技術(shù)是功能分解和基于主題的分解。在功能分解技術(shù)中,為得到低級(jí)別的組件而分解高級(jí)別組件的功能。在基于主題的分解技術(shù)中,設(shè)計(jì)主題從設(shè)計(jì)故事中被吸取出來,然后用來生成解決各個(gè)主題的模式。

  兩種轉(zhuǎn)換技術(shù)是把概念模型轉(zhuǎn)換為設(shè)計(jì)模型以及轉(zhuǎn)換類似程序的設(shè)計(jì),轉(zhuǎn)換概念模型從概念模型著手,將其元素從問題實(shí)體轉(zhuǎn)換為設(shè)計(jì)組件,修改這些組件并添加必要的新組件,。轉(zhuǎn)換類似的設(shè)計(jì)需要修改原來的設(shè)計(jì),以滿足新產(chǎn)品的需求。

  16.職責(zé)是如何幫助做出模塊中應(yīng)該放入哪些操作和數(shù)據(jù)的決策?

  某個(gè)模塊為履行其職能所需的全部數(shù)據(jù)和操作都應(yīng)該被放入該模塊中,也只有這樣的數(shù)據(jù)和操作才應(yīng)該被放入該模塊之中。這將增強(qiáng)模塊的內(nèi)聚性,并降低模塊的耦合性。

  17.解釋操作何時(shí)活動(dòng)、暫;驁(zhí)行。對(duì)象可以暫停嗎?為什么?

  操作當(dāng)某個(gè)進(jìn)程在運(yùn)行其代碼時(shí)處于執(zhí)行狀態(tài),當(dāng)?shù)却较⒎祷貢r(shí)處于暫停狀態(tài),當(dāng)執(zhí)行或暫停時(shí)屬于活動(dòng)狀態(tài),對(duì)象可以是活動(dòng)的,因?yàn)閷?duì)象可以有一個(gè)或多個(gè)活動(dòng)的操作,但對(duì)象不能被暫停,。有人可能會(huì)說,如果某個(gè)對(duì)象的一個(gè)或多個(gè)操作被暫停,則該對(duì)象就處于暫停狀態(tài),但是,一個(gè)或多個(gè)操作被暫停的對(duì)象卻可能有一個(gè)或多個(gè)操作正在執(zhí)行,因?yàn)榭赡苡卸鄠(gè)進(jìn)程在運(yùn)行該對(duì)象的代碼,因此說一個(gè)或多個(gè)操作被暫停的對(duì)象處于暫停狀態(tài)是沒有意義的。

  18.可選、選擇、中斷和循環(huán)片斷分別可以有多少個(gè)操作數(shù)?

  可選,中斷和循環(huán)片段只能有一個(gè)操作數(shù),選擇片段可以有一個(gè)或多個(gè)操作數(shù)。

  19.解釋分層風(fēng)格如何支持重用的

  在分層體系結(jié)構(gòu)中,每一層都應(yīng)當(dāng)包含內(nèi)聚元素,并只和它下面的那個(gè)模塊耦合,這樣可以比較容易的提取有一個(gè)層并在另一個(gè)程序中使用它,此外,類似的程序可能需要類似的層,所以層的重用也將更加容易。

  20.解釋分層風(fēng)格的程序難以調(diào)試的原因。

  在具有分層體系結(jié)構(gòu)的程序中實(shí)現(xiàn)許多程序特性將跨越幾個(gè)層,也許是大部分層,如果出現(xiàn)bug,則難以確定發(fā)生故障的層,從而使程序難以調(diào)試。

  10. 下面的UML序列圖是對(duì)一個(gè)自動(dòng)氣象站中對(duì)象的交互行為建模。在圖中直接圈出所有

  錯(cuò)誤,并重新繪制順序圖。(10分)

  (1) 根據(jù)上圖中,什么消息被發(fā)送Weathervane對(duì)象?

  cheeckDirection() checkSpeed()

  (2)創(chuàng)建了多少個(gè)Observation 對(duì)象?

  1個(gè)

  (3)record( )操作在其參數(shù)設(shè)置前是否能被調(diào)用?

  否

  (4)self對(duì)象的類型是什么?

  整型

 。5)Weathervane對(duì)象的名稱是什么?

  W

  11. 下面兩張圖中,哪一張圖是框線圖,并簡(jiǎn)述框線圖的用途。(5分)

  第一張圖是

  框線圖的用途:因?yàn)殛P(guān)于框線圖的規(guī)定非常松散,所以它們不僅可用于靜態(tài)建模,也可用于動(dòng)態(tài)建模,還能表示體系結(jié)構(gòu)設(shè)計(jì)者想要表示的任何程序方面。在實(shí)踐中,框線圖的最常見用途是表示把系統(tǒng)分解為主要構(gòu)件或子系統(tǒng),并表明其交互作用關(guān)系的靜態(tài)模型。

  12. 下面兩張圖中,哪一張圖是部署圖,并簡(jiǎn)述部署圖的用途。(5分)

  deviceServerPC;artifactGameServer;TCP/IPRMIdeviceGameDat;deviceClientPCdeploy;第二張圖是;部署圖的用途:部署圖顯示了系統(tǒng)中使用的實(shí)際和虛擬;

  13.下面兩張圖中,哪一張圖描述的管道過濾器風(fēng)格;(10分);第一張圖是;管道過濾器風(fēng)格的特征:a:以數(shù)據(jù)流向的過程為核心

  deviceServerPC

  artifactGameServer

  TCP/IPRMIdeviceGameDataServerDBGameDataRulesBoardImageTokenImage

  deviceClientPCdeployartifactGameClient

  部署圖的用途:部署圖顯示了系統(tǒng)中使用的實(shí)際和虛擬的機(jī)器,這些機(jī)器的通信路徑、實(shí)現(xiàn)該系統(tǒng)的程序和數(shù)據(jù)文件以及程序運(yùn)行和數(shù)據(jù)主流所在的位置。因此,部署圖為模擬物理體系結(jié)構(gòu)提供了功能豐富的表示方法。部署圖在體系結(jié)構(gòu)(特別是分布式系統(tǒng))的設(shè)計(jì)過程中是有用的,在詳細(xì)設(shè)計(jì)過程中亦可用于模擬物理的部署。

  13. 下面兩張圖中,哪一張圖描述的管道過濾器風(fēng)格。簡(jiǎn)述管道過濾器風(fēng)格的特征和優(yōu)缺點(diǎn)。

 。10分)

  管道過濾器風(fēng)格的特征:a:以數(shù)據(jù)流向的過程為核心,因此也被稱為:數(shù)據(jù)流風(fēng)格。

  b:過濾器自身功能獨(dú)立而完整,不需要知道其他過濾器的存在與否,相互之間無狀態(tài)交互。 c:過濾器對(duì)輸入的數(shù)據(jù)流有限制,并必須保證輸出流的正確性。

  d:系統(tǒng) 優(yōu)點(diǎn)

 。1)過濾器易于修改或替換,這樣在解決問題或修改程序的行為時(shí),程序的修改將非常簡(jiǎn)單。

 。2)過濾器的重新排列幾乎毫不費(fèi)力,這便于開發(fā)幾個(gè)完成類似任務(wù)的程序。

 。3)過濾器具有高可重用性。

 。4)假設(shè)可以使用同步管道,那么這種風(fēng)格支持并執(zhí)行,而且相對(duì)容易實(shí)現(xiàn)。

  缺點(diǎn)

 。1)過濾器只能通過管道進(jìn)行通行,所以它們的活動(dòng)難以協(xié)調(diào)。

  (2)過濾器通產(chǎn)使用和生成非常簡(jiǎn)單的數(shù)據(jù)流,如字符流,這意味著,在把輸入轉(zhuǎn)換成有用的格式,然后再把結(jié)果轉(zhuǎn)換成輸出時(shí)使用的簡(jiǎn)單格式時(shí),過濾器可能必須完成大量的操作。

 。3)錯(cuò)誤處理非常困難,錯(cuò)誤信息只能通過管道輸出或傳送。當(dāng)可靠性和安全性很重要時(shí),由于錯(cuò)誤檢測(cè)和恢復(fù)難以完成,所以不適合使用這種風(fēng)格。

  (4)并行執(zhí)行的好處可能并不牢靠。管線也許不能有效地同步過濾器,一些過濾器在進(jìn)行輸出之前可能需要等待所有的輸入。

  14. 下面兩張圖中,哪一張圖描述的事件驅(qū)動(dòng)風(fēng)格。簡(jiǎn)述事件驅(qū)動(dòng)風(fēng)格的特征和優(yōu)缺點(diǎn)。(10分)

  第二張圖是

  事件驅(qū)動(dòng)風(fēng)格的特征:事件驅(qū)動(dòng)系統(tǒng)的基本觀點(diǎn)是一個(gè)系統(tǒng)對(duì)外部的表現(xiàn)可以從它對(duì)事件的處理表現(xiàn)出來。

  優(yōu)點(diǎn):(1)易于添加、刪除和修改組件,所以利用這種風(fēng)格編寫的程序具有可變性和可維護(hù)性(2)程序組件的獨(dú)立性支持可重用性、健壯性和容錯(cuò)性。

  缺點(diǎn):(1)盡管時(shí)間可以攜帶數(shù)據(jù),但是在由事件分配器進(jìn)行中介時(shí),組件的交互作用將難以到達(dá)。為了解決這個(gè)問題,事件驅(qū)動(dòng)的系統(tǒng)通常還支持顯示的調(diào)用操作,盡管這將耦合組件。(2)宣布事件的組件不能保證有組件對(duì)他們進(jìn)行相應(yīng),也不能對(duì)組件相應(yīng)他們的順序寄予任何期望。有時(shí),這會(huì)造成難以編寫出正確的程序。(3)事件通信量往往有很大的變化:事件分配器經(jīng)常處于空閑狀態(tài),而在其他時(shí)間,它則會(huì)收到大量事件,這樣將難以達(dá)到性能目標(biāo)。

  四、綜合設(shè)計(jì)題(每小題14分,共35分)

  1. 繪制活動(dòng)圖,說明一般設(shè)計(jì)的步驟,并說明活動(dòng)圖的用途。(7分)

  一般設(shè)計(jì)的步驟:一般設(shè)計(jì)過程遵循一般的問題解決策略。首先是理解設(shè)計(jì)問題。尋找設(shè)計(jì)問題解決方案的過程是重復(fù)生成新候選解決方案或細(xì)化現(xiàn)有候選解決方案,然后依據(jù)設(shè)計(jì)問題對(duì)它們進(jìn)行評(píng)估。最終應(yīng)該有一個(gè)或多個(gè)令人滿意的解決方案出現(xiàn),然后即可把最好的一個(gè)以文檔形式記錄下來并交付。

  活動(dòng)圖的用途:一般設(shè)計(jì)過程分析和解析之間的重復(fù)。表示任何在問題解析過程中發(fā)現(xiàn)的對(duì)問題的誤解都將導(dǎo)致返回到分析活動(dòng)。

  2. 繪制活動(dòng)圖,模擬洗衣過程。該模型中應(yīng)包括并發(fā)動(dòng)作,并說明活動(dòng)圖的用途。(7分) 活動(dòng)圖的用途:簡(jiǎn)化描述了洗衣過程:包括對(duì)系統(tǒng)的工作流建;蛘邔(duì)具體的操作建模。

  3. 繪制自助洗車系統(tǒng)的用例圖,并說明用例圖的用途。(7分)

  4. 繪制自動(dòng)取款機(jī)的用例圖,并說明用例圖的用途。(7分)

  5. 使用狀態(tài)機(jī)圖繪制交通路口紅綠燈的并發(fā)行為模型,并說明狀態(tài)機(jī)圖的用途。(7分)

  軟件工程基礎(chǔ)試題及答案

  一、選擇題

  【例1】對(duì)軟件的特點(diǎn),下面描述正確的是_______。(考點(diǎn)1)

  A)軟件是一種物理實(shí)體

  B)軟件在運(yùn)行使用期間不存在老化問題

  C)軟件開發(fā)、運(yùn)行對(duì)計(jì)算機(jī)沒有依賴性,不受計(jì)算機(jī)系統(tǒng)的限制

  D)軟件的生產(chǎn)有一個(gè)明顯的制作過程

  解析:軟件在運(yùn)行期間不會(huì)因?yàn)榻橘|(zhì)的磨損而老化,只可能因?yàn)檫m應(yīng)硬件環(huán)境以及需求變化進(jìn)行修改而引入錯(cuò)誤,導(dǎo)致失效率升高從而軟件退化,所以本題正確答案為B)。

  答案:B)

  【例2】以下哪項(xiàng)是軟件生命周期的主要活動(dòng)階段_______(考點(diǎn)2)

  A)需求分析

  B)軟件開發(fā)

  C)軟件確認(rèn)

  D)軟件演進(jìn)

  解析:B)、C)、D)項(xiàng)都是軟件工程過程的基本活動(dòng),還有一個(gè)是軟件規(guī)格說明。

  答案:A)

  【例3】從技術(shù)觀點(diǎn)看,軟件設(shè)計(jì)包括_______。(考點(diǎn)3)

  A)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、程序設(shè)計(jì)

  B)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)

  C)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、文檔設(shè)計(jì)、過程設(shè)計(jì)

  D)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、文檔設(shè)計(jì)、程序設(shè)計(jì)

  解析:技術(shù)角度,要進(jìn)行結(jié)構(gòu)、接口、數(shù)據(jù)、過程的設(shè)計(jì)。結(jié)構(gòu)設(shè)計(jì)是定義系統(tǒng)各部件關(guān)系,數(shù)據(jù)設(shè)計(jì)是根據(jù)分析模型轉(zhuǎn)化數(shù)據(jù)結(jié)構(gòu),接口設(shè)計(jì)是描述如何通信,過程設(shè)計(jì)是把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)化為軟件的過程性描述。

  答案:B)

  【例4】以下哪個(gè)是軟件測(cè)試的目的_______(考點(diǎn)5)

  A)證明程序沒有錯(cuò)誤

  B)演示程序的正確性

  C)發(fā)現(xiàn)程序中的錯(cuò)誤

  D)改正程序中的錯(cuò)誤

  解析:關(guān)于測(cè)試目的的基本知識(shí),IEEE的定義是:使用人工或自動(dòng)手段來運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求,或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別,所以正確答案是C)。

  答案:C)

  【例5】以下哪個(gè)測(cè)試要對(duì)接口測(cè)試_______。(考點(diǎn)6)

  A)單元測(cè)試

  B)集成測(cè)試

  C)驗(yàn)收測(cè)試

  D)系統(tǒng)測(cè)試

  解析:檢查對(duì)測(cè)試實(shí)施各階段的了解,集成測(cè)試時(shí)要進(jìn)行接口測(cè)試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試、邊界條件測(cè)試和非法輸入的測(cè)試等,所以正確答案是B)。

  答案:B)

  【例6】程序調(diào)試的主要任務(wù)是_______。(考點(diǎn)7)

  A)檢查錯(cuò)誤

  B)改正錯(cuò)誤

  C)發(fā)現(xiàn)錯(cuò)誤

  D)以上都不是

  解析:程序的調(diào)試任務(wù)是診斷和改正程序中的錯(cuò)誤。調(diào)試主要在開發(fā)階段進(jìn)行。

  答案:B)

【軟件工程試題及答案】相關(guān)文章:

關(guān)于軟件工程試題及答案05-12

氣候的試題及答案05-26

語文試題及答案04-04

護(hù)理試題及答案11-04

消防試題及答案08-30

安全生產(chǎn)法試題及答案安全生產(chǎn)法試題及答案04-13

中醫(yī)復(fù)習(xí)試題與答案06-28

春閱讀試題及答案03-21

《渡江》鑒賞試題及答案04-13