2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷_第1頁(yè)
2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷_第2頁(yè)
2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷_第3頁(yè)
2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷_第4頁(yè)
2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

2025年軟件設(shè)計(jì)師考試軟件系統(tǒng)分析與設(shè)計(jì)實(shí)戰(zhàn)試卷考試時(shí)間:______分鐘總分:______分姓名:______一、單項(xiàng)選擇題(本大題共25小題,每小題1分,共25分。在每小題列出的四個(gè)選項(xiàng)中,只有一項(xiàng)是最符合題目要求的,請(qǐng)將其選出并將相應(yīng)字母填在題后的括號(hào)內(nèi))1.在軟件系統(tǒng)分析與設(shè)計(jì)的初期階段,需求分析的核心任務(wù)是()。A.確定系統(tǒng)架構(gòu)B.定義用戶界面C.明確系統(tǒng)功能與用戶需求D.選擇開(kāi)發(fā)工具我記得剛開(kāi)始帶學(xué)生的時(shí)候,他們常常把需求分析和系統(tǒng)設(shè)計(jì)搞混。需求分析就像是跟用戶聊家常,得把他們的想法一點(diǎn)點(diǎn)摸清楚,不能含糊其辭。你看啊,這個(gè)選項(xiàng)里,A選項(xiàng)確定系統(tǒng)架構(gòu)太早了,這得等需求明確了再說(shuō);B選項(xiàng)定義用戶界面更是扯遠(yuǎn)了,這時(shí)候連用戶需要什么功能都沒(méi)搞明白,哪能定義界面呢?D選項(xiàng)選擇開(kāi)發(fā)工具更是開(kāi)玩笑,工具是后期的選擇,不是一開(kāi)始就考慮的。所以,只有C選項(xiàng)明確系統(tǒng)功能與用戶需求,這才是需求分析該干的活兒。2.在用例圖中,代表系統(tǒng)外部用戶或參與者的符號(hào)是()。A.矩形B.圓形C.菱形D.豎線我曾經(jīng)有個(gè)學(xué)生,畫(huà)用例圖的時(shí)候把系統(tǒng)內(nèi)部模塊也畫(huà)進(jìn)來(lái)了,結(jié)果被老師批得狗血淋頭。你看這個(gè)圖里,矩形代表用例,圓形是系統(tǒng)邊界,菱形是參與者,豎線是泳道分隔線。這個(gè)題明顯是問(wèn)參與者,所以C選項(xiàng)菱形最合適。3.下面哪個(gè)不是面向?qū)ο笤O(shè)計(jì)的“SOLID”原則?()A.單一職責(zé)原則B.開(kāi)閉原則C.接口隔離原則D.繼承復(fù)用原則“SOLID”原則可是我上課時(shí)重點(diǎn)講的內(nèi)容。單一職責(zé)原則就是一個(gè)類只干一件事,開(kāi)閉原則是對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉,接口隔離原則是接口要小而專注,繼承復(fù)用原則聽(tīng)著挺合理,但實(shí)際上用多了容易導(dǎo)致類之間耦合太緊。你看,這個(gè)題就是考這個(gè),D選項(xiàng)肯定不對(duì)。4.在UML類圖中,表示類之間繼承關(guān)系的符號(hào)是()。A.實(shí)線加空心箭頭B.虛線加實(shí)心箭頭C.實(shí)線加實(shí)心箭頭D.虛線加空心箭頭繼承關(guān)系啊,我上課時(shí)總是用“is-a”的關(guān)系來(lái)解釋。比如人是一個(gè)動(dòng)物,那么人就是動(dòng)物的子類,動(dòng)物就是人的父類。你看這個(gè)圖里,實(shí)線加空心箭頭就是繼承關(guān)系,箭頭指向父類。這個(gè)題選A。5.下面哪個(gè)不是設(shè)計(jì)模式?()A.單例模式B.觀察者模式C.責(zé)任鏈模式D.面向?qū)ο笤O(shè)計(jì)設(shè)計(jì)模式可是軟件設(shè)計(jì)的精髓??!單例模式保證一個(gè)類只有一個(gè)實(shí)例,觀察者模式是發(fā)布訂閱模式,責(zé)任鏈模式是請(qǐng)求逐級(jí)傳遞直到有人處理,這三個(gè)都是經(jīng)典模式。但面向?qū)ο笤O(shè)計(jì)不是模式,它是編程范式。所以這個(gè)題選D。6.在敏捷開(kāi)發(fā)中,Scrum框架的基本工作單元是()。A.需求B.任務(wù)C.用戶故事D.功能我?guī)н^(guò)幾個(gè)敏捷開(kāi)發(fā)團(tuán)隊(duì),Scrum框架可是核心。用戶故事是最小的可交付單元,需求太大了,任務(wù)太細(xì)了,功能太籠統(tǒng)了,只有用戶故事最合適。你看這個(gè)題,C選項(xiàng)最對(duì)。7.下面哪個(gè)不是面向?qū)ο蠓治龅姆椒??()A.用例驅(qū)動(dòng)B.統(tǒng)一建模語(yǔ)言C.模板方法模式D.聚合分析面向?qū)ο蠓治霭?,我上課時(shí)總是強(qiáng)調(diào)要抓住對(duì)象和關(guān)系。用例驅(qū)動(dòng)是需求分析的方法,統(tǒng)一建模語(yǔ)言是建模工具,模板方法模式是設(shè)計(jì)模式,只有聚合分析才是面向?qū)ο蠓治龅姆椒?。這個(gè)題選B。8.在軟件架構(gòu)設(shè)計(jì)中,表示系統(tǒng)各組件之間交互的模型是()。A.數(shù)據(jù)流圖B.組件交互圖C.狀態(tài)圖D.類圖架構(gòu)設(shè)計(jì)可是個(gè)大學(xué)問(wèn)??!數(shù)據(jù)流圖是數(shù)據(jù)流向,狀態(tài)圖是對(duì)象狀態(tài)變化,類圖是類之間的關(guān)系,只有組件交互圖才是表示組件之間怎么交互的。所以這個(gè)題選B。9.下面哪個(gè)不是RUP(統(tǒng)一過(guò)程)的四個(gè)階段?()A.初始階段B.細(xì)化階段C.構(gòu)建階段D.實(shí)施階段RUP可是老牌的軟件開(kāi)發(fā)過(guò)程了。初始階段是探索需求,細(xì)化階段是完善需求,構(gòu)建階段是編碼實(shí)現(xiàn),最后是交付階段,沒(méi)有實(shí)施階段。這個(gè)題選D。10.在軟件測(cè)試中,黑盒測(cè)試的核心思想是()。A.基于代碼路徑B.基于系統(tǒng)需求C.基于類圖D.基于設(shè)計(jì)文檔黑盒測(cè)試啊,我上課時(shí)總是說(shuō)它是“盲人摸象”,不看代碼,只看輸入輸出。所以基于系統(tǒng)需求最合適,B選項(xiàng)對(duì)。11.在面向?qū)ο笤O(shè)計(jì)中,表示一個(gè)類可以繼承另一個(gè)類的機(jī)制是()。A.封裝B.繼承C.多態(tài)D.泛型繼承可是面向?qū)ο笕筇匦灾话?!封裝是隱藏內(nèi)部細(xì)節(jié),多態(tài)是同一個(gè)接口不同實(shí)現(xiàn),泛型是類型安全,只有繼承是類之間直接繼承。這個(gè)題選B。12.在敏捷開(kāi)發(fā)中,每日站會(huì)的主要目的是()。A.完成所有任務(wù)B.計(jì)劃明天工作C.同步進(jìn)度和解決問(wèn)題D.評(píng)審代碼每日站會(huì)可是敏捷開(kāi)發(fā)的精髓??!就是每天站在一起,三分鐘說(shuō)下昨天做了什么,今天打算做什么,有沒(méi)有問(wèn)題。你看這個(gè)題,C選項(xiàng)最對(duì)。13.在用例圖中,表示系統(tǒng)內(nèi)部輔助功能的符號(hào)是()。A.矩形B.圓形C.菱形D.虛線矩形輔助功能啊,我上課時(shí)總是說(shuō)它是系統(tǒng)內(nèi)部的功能,但不是主要功能。你看這個(gè)圖里,矩形是主要用例,圓形是參與者,菱形是參與者,虛線矩形才是輔助用例。這個(gè)題選D。14.在設(shè)計(jì)模式中,表示一個(gè)對(duì)象封裝另一個(gè)對(duì)象并實(shí)現(xiàn)接口的模式是()。A.適配器模式B.裝飾器模式C.代理模式D.外觀模式代理模式啊,我上課時(shí)總是說(shuō)它是“替身”,一個(gè)對(duì)象替另一個(gè)對(duì)象干活。你看這個(gè)圖里,代理類實(shí)現(xiàn)了同一個(gè)接口,內(nèi)部持有一個(gè)真實(shí)對(duì)象的引用。這個(gè)題選C。15.在軟件架構(gòu)設(shè)計(jì)中,表示系統(tǒng)各層之間接口的模型是()。A.分層架構(gòu)B.模塊化架構(gòu)C.對(duì)象架構(gòu)D.服務(wù)化架構(gòu)分層架構(gòu)可是最經(jīng)典的架構(gòu)之一??!就是系統(tǒng)分層,各層之間通過(guò)接口交互。你看這個(gè)圖里,每一層提供接口給下一層調(diào)用。這個(gè)題選A。16.在需求分析中,表示用戶期望系統(tǒng)做什么的文檔是()。A.系統(tǒng)設(shè)計(jì)文檔B.需求規(guī)格說(shuō)明書(shū)C.用戶手冊(cè)D.測(cè)試計(jì)劃需求規(guī)格說(shuō)明書(shū)啊,我上課時(shí)總是說(shuō)它是“用戶和開(kāi)發(fā)之間的合同”,規(guī)定了系統(tǒng)要做什么。你看這個(gè)題,B選項(xiàng)最對(duì)。17.在面向?qū)ο笤O(shè)計(jì)中,表示一個(gè)類可以有多種表現(xiàn)形式的是()。A.封裝B.繼承C.多態(tài)D.泛型多態(tài)可是面向?qū)ο笕筇匦灾话?!就是同一個(gè)接口,不同實(shí)現(xiàn)。你看這個(gè)圖里,同一個(gè)接口,不同類實(shí)現(xiàn)。這個(gè)題選C。18.在敏捷開(kāi)發(fā)中,迭代的基本時(shí)間單位是()。A.天B.周C.月D.季度迭代啊,我上課時(shí)總是說(shuō)它是敏捷開(kāi)發(fā)的基本單元。一般是2-4周一個(gè)迭代。這個(gè)題選B。19.在用例圖中,表示系統(tǒng)邊界的是()。A.矩形B.圓形C.菱形D.雙矩形系統(tǒng)邊界啊,我上課時(shí)總是說(shuō)它是“系統(tǒng)內(nèi)部和外部之間的墻”。你看這個(gè)圖里,雙矩形就是系統(tǒng)邊界。這個(gè)題選D。20.在設(shè)計(jì)模式中,表示一個(gè)類可以動(dòng)態(tài)地改變另一個(gè)類行為的是()。A.策略模式B.狀態(tài)模式C.觀察者模式D.責(zé)任鏈模式策略模式啊,我上課時(shí)總是說(shuō)它是“策略切換”。你看這個(gè)圖里,可以通過(guò)上下文動(dòng)態(tài)改變策略。這個(gè)題選A。21.在軟件架構(gòu)設(shè)計(jì)中,表示系統(tǒng)各組件之間依賴關(guān)系的模型是()。A.數(shù)據(jù)流圖B.組件依賴圖C.狀態(tài)圖D.類圖組件依賴圖啊,我上課時(shí)總是說(shuō)它是“組件之間的依賴關(guān)系”。你看這個(gè)圖里,箭頭表示依賴。這個(gè)題選B。22.在需求分析中,表示用戶如何與系統(tǒng)交互的文檔是()。A.系統(tǒng)設(shè)計(jì)文檔B.用例模型C.用戶手冊(cè)D.測(cè)試計(jì)劃用例模型啊,我上課時(shí)總是說(shuō)它是“用戶故事”。你看這個(gè)圖里,用例描述了用戶和系統(tǒng)之間的交互。這個(gè)題選B。23.在面向?qū)ο笤O(shè)計(jì)中,表示一個(gè)類可以共享另一個(gè)類的屬性和方法的是()。A.封裝B.繼承C.多態(tài)D.泛型繼承啊,我上課時(shí)總是說(shuō)它是“類之間的繼承關(guān)系”。你看這個(gè)圖里,子類繼承了父類的屬性和方法。這個(gè)題選B。24.在敏捷開(kāi)發(fā)中,產(chǎn)品待辦列表的基本單位是()。A.需求B.任務(wù)C.用戶故事D.功能用戶故事啊,我上課時(shí)總是說(shuō)它是“用戶需求的最小單元”。你看這個(gè)列表里,每個(gè)用戶故事都是一個(gè)小需求。這個(gè)題選C。25.在設(shè)計(jì)模式中,表示一個(gè)類可以封裝另一個(gè)類并提供統(tǒng)一接口的是()。A.適配器模式B.裝飾器模式C.代理模式D.外觀模式外觀模式啊,我上課時(shí)總是說(shuō)它是“門面”。一個(gè)類封裝了多個(gè)類,提供統(tǒng)一接口。你看這個(gè)圖里,外觀類封裝了多個(gè)類。這個(gè)題選D。二、多項(xiàng)選擇題(本大題共10小題,每小題2分,共20分。在每小題列出的五個(gè)選項(xiàng)中,有多項(xiàng)是最符合題目要求的,請(qǐng)將其選出并將相應(yīng)字母填在題后的括號(hào)內(nèi)。多選、錯(cuò)選、漏選均不得分)26.在軟件系統(tǒng)分析與設(shè)計(jì)的初期階段,需要進(jìn)行哪些工作?()A.需求收集B.可行性分析C.系統(tǒng)架構(gòu)設(shè)計(jì)D.數(shù)據(jù)庫(kù)設(shè)計(jì)E.用戶界面設(shè)計(jì)需求收集和可行性分析啊,我上課時(shí)總是說(shuō)這是初期階段的兩塊基石。你看,需求收集是了解用戶需要什么,可行性分析是判斷能不能做。架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、界面設(shè)計(jì)都太早了。所以這個(gè)題選A和B。27.在用例圖中,哪些是常用的元素?()A.參與者B.用例C.系統(tǒng)邊界D.狀態(tài)機(jī)E.依賴關(guān)系用例圖啊,我上課時(shí)總是說(shuō)它有四個(gè)基本元素。參與者是用戶,用例是功能,系統(tǒng)邊界是雙矩形,依賴關(guān)系是用例之間的繼承。狀態(tài)機(jī)是狀態(tài)圖的東西。所以這個(gè)題選A、B、C、E。28.在面向?qū)ο笤O(shè)計(jì)中,哪些是設(shè)計(jì)原則?()A.單一職責(zé)原則B.開(kāi)閉原則C.接口隔離原則D.依賴倒置原則E.繼承復(fù)用原則設(shè)計(jì)原則啊,我上課時(shí)總是說(shuō)“SOLID”五個(gè)原則。你看,A、B、C、D都是,繼承復(fù)用原則不是。所以這個(gè)題選A、B、C、D。29.在UML類圖中,哪些是常用的關(guān)系?()A.繼承B.關(guān)聯(lián)C.依賴D.泛化E.聚合類圖啊,我上課時(shí)總是說(shuō)有四種關(guān)系。繼承和關(guān)聯(lián)都是,依賴也是,泛化是繼承的另一種說(shuō)法,聚合是整體部分關(guān)系。所以這個(gè)題選A、B、C、D、E。30.在敏捷開(kāi)發(fā)中,哪些是常見(jiàn)的實(shí)踐?()A.站會(huì)B.迭代C.回溯D.用戶故事E.架構(gòu)設(shè)計(jì)敏捷開(kāi)發(fā)啊,我上課時(shí)總是說(shuō)有三個(gè)支柱:人、流程、技術(shù)。站會(huì)、迭代、回溯都是流程,用戶故事是需求,架構(gòu)設(shè)計(jì)太早了。所以這個(gè)題選A、B、C、D。31.在軟件架構(gòu)設(shè)計(jì)中,哪些是常見(jiàn)的架構(gòu)模式?()A.分層架構(gòu)B.模塊化架構(gòu)C.對(duì)象架構(gòu)D.服務(wù)化架構(gòu)E.外觀模式架構(gòu)模式啊,我上課時(shí)總是說(shuō)有幾種經(jīng)典模式。分層、模塊化、服務(wù)化都是,對(duì)象架構(gòu)太籠統(tǒng),外觀模式是設(shè)計(jì)模式。所以這個(gè)題選A、B、D。32.在需求分析中,哪些是常用的方法?()A.訪談B.觀察法C.問(wèn)卷調(diào)查D.用例分析E.數(shù)據(jù)流分析需求分析啊,我上課時(shí)總是說(shuō)有幾種方法。訪談、觀察法、問(wèn)卷調(diào)查都是,用例分析是需求建模,數(shù)據(jù)流分析是分析數(shù)據(jù)流向。所以這個(gè)題選A、B、C、D、E。33.在面向?qū)ο笤O(shè)計(jì)中,哪些是常用的設(shè)計(jì)模式?()A.單例模式B.觀察者模式C.責(zé)任鏈模式D.策略模式E.繼承復(fù)用原則設(shè)計(jì)模式啊,我上課時(shí)總是說(shuō)有23種模式。你看,A、B、C、D都是,繼承復(fù)用原則不是模式。所以這個(gè)題選A、B、C、D。34.在軟件測(cè)試中,哪些是常用的測(cè)試類型?()A.單元測(cè)試B.集成測(cè)試C.系統(tǒng)測(cè)試D.回歸測(cè)試E.需求測(cè)試測(cè)試啊,我上課時(shí)總是說(shuō)測(cè)試有幾種類型。你看,A、B、C、D都是,需求測(cè)試不是測(cè)試類型。所以這個(gè)題選A、B、C、D。35.在軟件項(xiàng)目管理中,哪些是常用的工具?()A.敏捷工具B.計(jì)劃工具C.風(fēng)險(xiǎn)管理工具D.代碼管理工具E.測(cè)試管理工具項(xiàng)目管理啊,我上課時(shí)總是說(shuō)有幾種工具。你看,A、B、C、D、E都是。所以這個(gè)題全選。三、簡(jiǎn)答題(本大題共5小題,每小題4分,共20分。請(qǐng)將答案寫(xiě)在答題卡上對(duì)應(yīng)題號(hào)的位置)36.請(qǐng)簡(jiǎn)述需求分析的主要步驟。需求分析啊,我上課時(shí)總是說(shuō)它是軟件開(kāi)發(fā)的第一步,也是最關(guān)鍵的一步。得把用戶的需求搞清楚,不能含糊其辭。我一般跟學(xué)生講,需求分析主要分四個(gè)步驟。第一步是需求獲取,就是跟用戶聊,了解他們到底需要什么。第二步是需求分析,就是把獲取到的需求整理分析,找出哪些是必須的,哪些是可以的,哪些是不可能的。第三步是需求規(guī)格說(shuō)明,就是把分析后的需求寫(xiě)成文檔,讓用戶和開(kāi)發(fā)都看明白。最后一步是需求驗(yàn)證,就是讓用戶看看文檔,確認(rèn)是不是他們想要的。你看,這四個(gè)步驟,一步一步來(lái),需求分析就能做好。37.請(qǐng)簡(jiǎn)述面向?qū)ο笤O(shè)計(jì)的基本原則。面向?qū)ο笤O(shè)計(jì)啊,我上課時(shí)總是說(shuō)它是軟件設(shè)計(jì)的核心。設(shè)計(jì)得好不好,就看類之間的關(guān)系處理得怎么樣。我一般跟學(xué)生講,面向?qū)ο笤O(shè)計(jì)有五個(gè)基本原則,簡(jiǎn)稱“SOLID”。第一個(gè)是單一職責(zé)原則,就是一個(gè)類只干一件事,不能干太多事。第二個(gè)是開(kāi)閉原則,就是對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉,這樣系統(tǒng)才容易擴(kuò)展。第三個(gè)是接口隔離原則,就是接口要小而專注,不能太大太雜。第四個(gè)是依賴倒置原則,就是高層模塊不應(yīng)該依賴低層模塊,它們都應(yīng)該依賴抽象。第五個(gè)是組合復(fù)用原則,就是優(yōu)先組合復(fù)用,而不是繼承復(fù)用,這樣耦合度才低。你看,這五個(gè)原則,一條一條來(lái),面向?qū)ο笤O(shè)計(jì)就能做好。38.請(qǐng)簡(jiǎn)述敏捷開(kāi)發(fā)的基本流程。敏捷開(kāi)發(fā)啊,我上課時(shí)總是說(shuō)它是現(xiàn)代軟件開(kāi)發(fā)的主流方法。靈活、快速、迭代,這是它的特點(diǎn)。我一般跟學(xué)生講,敏捷開(kāi)發(fā)的基本流程有三步。第一步是計(jì)劃,就是確定要做哪些用戶故事,排個(gè)優(yōu)先級(jí)。第二步是迭代,就是每個(gè)迭代都是一個(gè)小循環(huán),包括需求分析、設(shè)計(jì)、編碼、測(cè)試、交付。最后一步是評(píng)審,就是每個(gè)迭代結(jié)束后,讓用戶看看成果,提出意見(jiàn)。你看,這個(gè)流程簡(jiǎn)單吧,但關(guān)鍵是要嚴(yán)格執(zhí)行,不能隨便改。39.請(qǐng)簡(jiǎn)述軟件架構(gòu)設(shè)計(jì)的主要考慮因素。軟件架構(gòu)設(shè)計(jì)啊,我上課時(shí)總是說(shuō)它是軟件設(shè)計(jì)的頂層設(shè)計(jì)。架構(gòu)選得好不好,直接關(guān)系到系統(tǒng)的性能、可維護(hù)性、可擴(kuò)展性。我一般跟學(xué)生講,軟件架構(gòu)設(shè)計(jì)主要考慮四個(gè)因素。第一個(gè)是功能性,就是系統(tǒng)要實(shí)現(xiàn)哪些功能,這些功能怎么分配給各個(gè)組件。第二個(gè)是非功能性,就是系統(tǒng)的性能、安全性、可靠性等。第三個(gè)是約束,就是開(kāi)發(fā)環(huán)境、技術(shù)選型、團(tuán)隊(duì)技能等方面的限制。第四個(gè)是演化,就是系統(tǒng)未來(lái)怎么擴(kuò)展,怎么適應(yīng)變化。你看,這四個(gè)因素,一個(gè)一個(gè)考慮,軟件架構(gòu)設(shè)計(jì)就能做好。40.請(qǐng)簡(jiǎn)述黑盒測(cè)試和白盒測(cè)試的區(qū)別。測(cè)試啊,我上課時(shí)總是說(shuō)它是保證軟件質(zhì)量的重要手段。黑盒測(cè)試和白盒測(cè)試,這是兩種不同的測(cè)試方法。我一般跟學(xué)生講,黑盒測(cè)試是不看代碼,只看輸入輸出,就像盲人摸象一樣,不知道里面是怎么實(shí)現(xiàn)的。測(cè)試人員就像用戶一樣,輸入數(shù)據(jù),看輸出對(duì)不對(duì)。白盒測(cè)試是看代碼,測(cè)試人員知道系統(tǒng)內(nèi)部的結(jié)構(gòu),可以測(cè)試每個(gè)分支、每個(gè)路徑。你看,黑盒測(cè)試像用戶,白盒測(cè)試像開(kāi)發(fā)者,各有各的好處,要根據(jù)情況選擇。四、論述題(本大題共2小題,每小題10分,共20分。請(qǐng)將答案寫(xiě)在答題卡上對(duì)應(yīng)題號(hào)的位置)41.請(qǐng)論述用例圖在軟件系統(tǒng)分析與設(shè)計(jì)中的作用。用例圖啊,我上課時(shí)總是說(shuō)它是軟件系統(tǒng)分析與設(shè)計(jì)的“靈魂”。得把它畫(huà)好,整個(gè)系統(tǒng)才能跑起來(lái)。我一般跟學(xué)生講,用例圖在軟件系統(tǒng)分析與設(shè)計(jì)中的作用有三個(gè)。第一個(gè)是需求建模,用例圖可以把用戶的需求表示清楚,讓用戶和開(kāi)發(fā)都明白系統(tǒng)要做什么。第二個(gè)是系統(tǒng)邊界定義,用例圖可以明確系統(tǒng)的外部用戶和系統(tǒng)內(nèi)部的交互,系統(tǒng)邊界就是雙矩形。第三個(gè)是后續(xù)設(shè)計(jì)的基礎(chǔ),用例圖是后續(xù)設(shè)計(jì)的基礎(chǔ),比如類圖、時(shí)序圖等,都是基于用例圖設(shè)計(jì)的。你看,用例圖的作用太重要了,不能含糊其辭。42.請(qǐng)論述設(shè)計(jì)模式在軟件系統(tǒng)分析與設(shè)計(jì)中的重要性。設(shè)計(jì)模式啊,我上課時(shí)總是說(shuō)它是軟件設(shè)計(jì)的“圣經(jīng)”。得把它學(xué)好了,才能設(shè)計(jì)出高質(zhì)量的軟件。我一般跟學(xué)生講,設(shè)計(jì)模式在軟件系統(tǒng)分析與設(shè)計(jì)中的重要性有四個(gè)。第一個(gè)是提高代碼質(zhì)量,設(shè)計(jì)模式是前人總結(jié)的經(jīng)驗(yàn),用好了可以提高代碼的可讀性、可維護(hù)性。第二個(gè)是減少重復(fù)代碼,設(shè)計(jì)模式可以解決很多常見(jiàn)的問(wèn)題,不用每次都重新發(fā)明輪子。第三個(gè)是提高團(tuán)隊(duì)協(xié)作效率,設(shè)計(jì)模式是通用的語(yǔ)言,團(tuán)隊(duì)成員都用設(shè)計(jì)模式,溝通起來(lái)就方便多了。第四個(gè)是提高系統(tǒng)可擴(kuò)展性,設(shè)計(jì)模式可以降低系統(tǒng)的耦合度,系統(tǒng)才容易擴(kuò)展。你看,設(shè)計(jì)模式的重要性不言而喻,得好好學(xué)。本次試卷答案如下一、單項(xiàng)選擇題1.C解析:需求分析的核心任務(wù)是明確系統(tǒng)功能與用戶需求,這是在軟件系統(tǒng)分析與設(shè)計(jì)的初期階段最重要的工作。確定系統(tǒng)架構(gòu)(A)是在需求明確之后的設(shè)計(jì)階段;定義用戶界面(B)是在需求細(xì)化后設(shè)計(jì)階段;選擇開(kāi)發(fā)工具(D)是在技術(shù)選型階段。只有C選項(xiàng)最符合需求分析的核心任務(wù)。2.C解析:在用例圖中,菱形代表系統(tǒng)外部用戶或參與者,也稱為角色。矩形代表用例,是系統(tǒng)提供的服務(wù);圓形代表系統(tǒng)邊界;豎線是分隔符。所以C選項(xiàng)菱形最合適。3.D解析:SOLID原則是面向?qū)ο笤O(shè)計(jì)中的五個(gè)重要原則,分別是單一職責(zé)原則(SingleResponsibilityPrinciple)、開(kāi)閉原則(Open-ClosedPrinciple)、接口隔離原則(InterfaceSegregationPrinciple)、依賴倒置原則(DependencyInversionPrinciple)和組合復(fù)用原則(CompositionReusePrinciple)。繼承復(fù)用原則(D)不是SOLID原則之一,雖然繼承是實(shí)現(xiàn)復(fù)用的方式之一,但組合復(fù)用原則更強(qiáng)調(diào)組合優(yōu)于繼承。4.A解析:在UML類圖中,表示類之間繼承關(guān)系的符號(hào)是實(shí)線加空心箭頭,箭頭指向父類。虛線加實(shí)心箭頭表示依賴關(guān)系;實(shí)線加實(shí)心箭頭表示關(guān)聯(lián)關(guān)系;虛線加空心箭頭表示泛化關(guān)系。所以A選項(xiàng)最符合繼承關(guān)系的表示。5.D解析:設(shè)計(jì)模式是解決軟件設(shè)計(jì)中常見(jiàn)問(wèn)題的可復(fù)用方案,包括單例模式(A)、觀察者模式(B)、責(zé)任鏈模式(C)等。面向?qū)ο笤O(shè)計(jì)(D)不是設(shè)計(jì)模式,而是編程范式。所以D選項(xiàng)不屬于設(shè)計(jì)模式。6.C解析:在敏捷開(kāi)發(fā)中,Scrum框架的基本工作單元是用戶故事,它是小的、可估算的、可交付的軟件需求。需求(A)太籠統(tǒng);任務(wù)(B)太細(xì);功能(D)太宏觀。只有用戶故事最符合基本工作單元的定義。7.B解析:面向?qū)ο蠓治龅姆椒òㄓ美?qū)動(dòng)、面向?qū)ο蠼?、?duì)象識(shí)別等。統(tǒng)一建模語(yǔ)言(B)是建模工具,不是分析方法。模板方法模式(C)是設(shè)計(jì)模式。聚合分析(D)是面向?qū)ο蠓治龅姆椒ㄖ?。所以B選項(xiàng)不屬于面向?qū)ο蠓治龇椒ā?.B解析:在軟件架構(gòu)設(shè)計(jì)中,組件交互圖表示系統(tǒng)各組件之間如何交互。數(shù)據(jù)流圖(A)表示數(shù)據(jù)流向;狀態(tài)圖(C)表示對(duì)象狀態(tài)變化;類圖(D)表示類之間的關(guān)系。所以B選項(xiàng)最符合組件交互圖的定義。9.D解析:RUP(統(tǒng)一過(guò)程)的四個(gè)階段是初始階段、細(xì)化階段、構(gòu)建階段和交付階段。實(shí)施階段(D)不是RUP的階段。所以D選項(xiàng)不屬于RUP的階段。10.B解析:黑盒測(cè)試的核心思想是基于系統(tǒng)需求,不看代碼,只測(cè)試系統(tǒng)的輸入輸出是否滿足需求?;诖a路徑(A)是白盒測(cè)試;基于類圖(C)和基于設(shè)計(jì)文檔(D)也不是黑盒測(cè)試的思想。所以B選項(xiàng)最符合黑盒測(cè)試的核心思想。11.B解析:表示一個(gè)類可以繼承另一個(gè)類的機(jī)制是繼承,這是面向?qū)ο缶幊痰幕咎匦灾?。封裝(A)是隱藏內(nèi)部細(xì)節(jié);多態(tài)(C)是同一個(gè)接口不同實(shí)現(xiàn);泛型(D)是類型安全的模板。所以B選項(xiàng)最符合繼承的定義。12.C解析:在敏捷開(kāi)發(fā)中,每日站會(huì)的主要目的是同步進(jìn)度和解決問(wèn)題,讓團(tuán)隊(duì)成員了解彼此的工作狀態(tài),及時(shí)發(fā)現(xiàn)和解決問(wèn)題。完成所有任務(wù)(A)不現(xiàn)實(shí);計(jì)劃明天工作(B)不是主要目的;評(píng)審代碼(D)也不是每日站會(huì)的內(nèi)容。所以C選項(xiàng)最符合每日站會(huì)的主要目的。13.D解析:在用例圖中,表示系統(tǒng)內(nèi)部輔助功能的符號(hào)是虛線矩形。矩形(A)是主要用例;圓形(B)是參與者;菱形(C)是參與者;虛線矩形(D)是輔助用例。所以D選項(xiàng)最符合輔助功能的表示。14.C解析:表示一個(gè)對(duì)象封裝另一個(gè)對(duì)象并實(shí)現(xiàn)接口的模式是代理模式。適配器模式(A)是適配不同接口;裝飾器模式(B)是增強(qiáng)功能;外觀模式(D)是提供統(tǒng)一接口。所以C選項(xiàng)最符合代理模式的特點(diǎn)。15.A解析:表示系統(tǒng)各層之間接口的模型是分層架構(gòu)。模塊化架構(gòu)(B)是系統(tǒng)分模塊;對(duì)象架構(gòu)(C)是系統(tǒng)分對(duì)象;服務(wù)化架構(gòu)(D)是系統(tǒng)分服務(wù)。只有分層架構(gòu)(A)是表示層之間接口的模型。16.B解析:表示用戶期望系統(tǒng)做什么的文檔是需求規(guī)格說(shuō)明書(shū),它是需求分析階段的產(chǎn)物,詳細(xì)描述了系統(tǒng)的功能和非功能需求。系統(tǒng)設(shè)計(jì)文檔(A)是設(shè)計(jì)階段的;用戶手冊(cè)(C)是用戶使用的;測(cè)試計(jì)劃(D)是測(cè)試階段的。所以B選項(xiàng)最符合需求規(guī)格說(shuō)明書(shū)的定義。17.C解析:表示一個(gè)類可以有多種表現(xiàn)形式的是多態(tài),這是面向?qū)ο缶幊痰幕咎匦灾?。封裝(A)是隱藏內(nèi)部細(xì)節(jié);繼承(B)是類之間繼承;泛型(D)是類型安全的模板。所以C選項(xiàng)最符合多態(tài)的定義。18.B解析:在敏捷開(kāi)發(fā)中,迭代的基本時(shí)間單位是周,一般是2-4周的迭代。天(A)太短;月(C)太長(zhǎng);季度(D)太長(zhǎng)。所以B選項(xiàng)最符合迭代的基本時(shí)間單位。19.D解析:在用例圖中,表示系統(tǒng)邊界的是雙矩形。矩形(A)是主要用例;圓形(B)是參與者;菱形(C)是參與者;雙矩形(D)是系統(tǒng)邊界。所以D選項(xiàng)最符合系統(tǒng)邊界的表示。20.A解析:表示一個(gè)類可以動(dòng)態(tài)地改變另一個(gè)類行為的是策略模式。狀態(tài)模式(B)是改變對(duì)象狀態(tài);觀察者模式(C)是發(fā)布訂閱;責(zé)任鏈模式(D)是請(qǐng)求逐級(jí)傳遞。所以A選項(xiàng)最符合策略模式的特點(diǎn)。21.B解析:表示系統(tǒng)各組件之間依賴關(guān)系的模型是組件依賴圖。數(shù)據(jù)流圖(A)表示數(shù)據(jù)流向;狀態(tài)圖(C)表示對(duì)象狀態(tài)變化;類圖(D)表示類之間的關(guān)系。所以B選項(xiàng)最符合組件依賴圖的定義。22.B解析:表示用戶如何與系統(tǒng)交互的文檔是用例模型,它是需求分析階段的產(chǎn)物,描述了用戶和系統(tǒng)之間的交互。系統(tǒng)設(shè)計(jì)文檔(A)是設(shè)計(jì)階段的;用戶手冊(cè)(C)是用戶使用的;測(cè)試計(jì)劃(D)是測(cè)試階段的。所以B選項(xiàng)最符合用例模型的特點(diǎn)。23.B解析:表示一個(gè)類可以共享另一個(gè)類的屬性和方法的是繼承,這是面向?qū)ο缶幊痰幕咎匦灾?。封裝(A)是隱藏內(nèi)部細(xì)節(jié);多態(tài)(C)是同一個(gè)接口不同實(shí)現(xiàn);泛型(D)是類型安全的模板。所以B選項(xiàng)最符合繼承的定義。24.C解析:產(chǎn)品待辦列表的基本單位是用戶故事,它是小的、可估算的、可交付的軟件需求。需求(A)太籠統(tǒng);任務(wù)(B)太細(xì);功能(D)太宏觀。只有用戶故事最符合基本單位的定義。25.D解析:表示一個(gè)類可以封裝另一個(gè)類并提供統(tǒng)一接口的是外觀模式。適配器模式(A)是適配不同接口;裝飾器模式(B)是增強(qiáng)功能;代理模式(C)是代理對(duì)象;外觀模式(D)是提供統(tǒng)一接口。所以D選項(xiàng)最符合外觀模式的特點(diǎn)。二、多項(xiàng)選擇題26.A,B解析:需求分析的主要步驟包括需求獲?。ˋ)和可行性分析(B)。需求收集是了解用戶需要什么,可行性分析是判斷能不能做。架構(gòu)設(shè)計(jì)(C)、數(shù)據(jù)庫(kù)設(shè)計(jì)(D)、用戶界面設(shè)計(jì)(E)都太早了。所以A和B是需求分析的主要步驟。27.A,B,C,E解析:用例圖常用的元素包括參與者(A)、用例(B)、系統(tǒng)邊界(C)和依賴關(guān)系(E)。狀態(tài)機(jī)(D)是狀態(tài)圖的東西,不是用例圖元素。所以A、B、C、E是常用元素。28.A,B,C,D解析:面向?qū)ο笤O(shè)計(jì)原則包括單一職責(zé)原則(A)、開(kāi)閉原則(B)、接口隔離原則(C)和依賴倒置原則(D)。繼承復(fù)用原則(E)不是設(shè)計(jì)原則。所以A、B、C、D是設(shè)計(jì)原則。29.A,B,C,D,E解析:UML類圖中常用的關(guān)系包括繼承(A)、關(guān)聯(lián)(B)、依賴(C)、泛化(D)和聚合(E)。這五種關(guān)系都是常用的。所以A、B、C、D、E都是常用關(guān)系。30.A,B,C,D解析:敏捷開(kāi)發(fā)常見(jiàn)的實(shí)踐包括站會(huì)(A)、迭代(B)、回溯(C)和用戶故事(D)。架構(gòu)設(shè)計(jì)(E)太早了,不是敏捷開(kāi)發(fā)的實(shí)踐。所以A、B、C、D是常見(jiàn)實(shí)踐。31.A,B,D解析:軟件架構(gòu)設(shè)計(jì)常見(jiàn)的架構(gòu)模式包括分層架構(gòu)(A)、模塊化架構(gòu)(B)和服務(wù)化架構(gòu)(D)。對(duì)象架構(gòu)(C)太籠統(tǒng);外觀模式(E)是設(shè)計(jì)模式。所以A、B、D是常見(jiàn)架構(gòu)模式。32.A,B,C,D,E解析:需求分析常用的方法包括訪談(A)、觀察法(B)、問(wèn)卷調(diào)查(C)、用例分析(D)和數(shù)據(jù)流分析(E)。這五種方法都是常用的。所以A、B、C、D、E都是常用方法。33.A,B,C,D解析:常用的設(shè)計(jì)模式包括單例模式(A)、觀察者模式(B)、責(zé)任鏈模式(C)和策略模式(D)。繼承復(fù)用原則(E)不是模式。所以A、B、C、D是常用設(shè)計(jì)模式。34.A,B,C,D解析:常用的測(cè)試類型包括單元測(cè)試(A)、集成測(cè)試(

溫馨提示

  • 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)論