廣東海洋大學《軟件工程》歷年考題總集_第1頁
廣東海洋大學《軟件工程》歷年考題總集_第2頁
廣東海洋大學《軟件工程》歷年考題總集_第3頁
廣東海洋大學《軟件工程》歷年考題總集_第4頁
廣東海洋大學《軟件工程》歷年考題總集_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

廣東海洋大學《軟件工程》歷年考題總集-答案填空題(每空1分,共20分)1.軟件工程方法學包含3個要素:__過程__、__方法__和__工具__。2.瀑布模型的成功在很大程度上是由于它基本上是一種__文檔___驅動的模型。3.面向過程方法學強調__自頂向下___順序地完成軟件開發的各階段任務;面向對象方法學的出發點和基本原則是盡量模擬人類習慣的__思維方式__,使開發軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程。4.數據流圖有四種基本符號:正方形(或立方體)表示數據的__源點或終點__;圓角矩形(或圓形)代表___數據加工(或數據處理)___;開口矩形(或兩條平行橫線)代表___數據存儲___;箭頭表示___數據流___。5.軟件結構的設計是以模塊為基礎的,以__數據流圖___的結果為依據,從實現的角度進一步劃分為模塊,并組成模塊的__層次結構___。6.信息流有__變換流____和___事務流____兩種類型。7.對象的兩個基本要素:___屬性____和__服務____。8.軟件維護包括__改正性____維護、__適應性___維護、__完善性___維護、__預防性___維護四項活動。1.面向過程方法學強調自頂向下順序地完成軟件開發的各階段任務;面向對象方法學的出發點和基本原則是模擬人類習慣的思維方式,使開發軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程。2.總體設計階段必須回答的關鍵問題是系統應該如何實現。3.數據流圖和數據字典共同構成系統的邏輯模型,4.需求分析過程應該建立數據模型、功能模型、行為模型3種模型。5.模塊的獨立程度可以由內聚、藕合兩個定性標準度量。6.進行邊界條件測試時,使用剛好等于、剛好小于和剛好大于最大值或最小值的數據結構、控制量和數據值的測試方案,非常可能發現軟件中的錯誤。7.對象的兩個基本要素是:屬性和服務。8.發現和定義系統中的對象類是在用例模型的基礎上,識別實體類、邊界類和控制類。9.面向對象程序設計風格強調提高可重用性、可擴充性、健壯性。1.需求分析階段必須回答的關鍵問題是系統必須做什么。2.系統流程圖是概括地描繪物理系統的傳統工具。3.數據對象彼此之間的聯系可分為一對一聯系、一對多聯系、多對多聯系3種類型。4.軟件可靠性指程序在給定的時間間隔內,按照規格說明書的規定成功地運行的概率;而軟件的可用性指程序在給定的時間點,按照規格說明書的規定,成功地運行的概率。5.封裝使對象形成兩個部分:接口和實現。6.對象之間的外部聯系有泛化、聚合、關聯、依賴。7.甘特圖用水平線段表示任務的工作階段,線段的起點和終點分別對應著任務的開工時間和完成時間,線段的長度表示完成任務所需的時間。8.Pareto原理:測試發現的錯誤中的80%很可能是由程序中20%的模塊造成的。9.發現和定義系統中的對象類是在用例模型的基礎上,識別實體類、邊界類和控制類。1、可行性研究需要從技術可行性、經濟可行性、社會可行性、操作可行性四個方面分析研究每種解決方法的可行性。2、數據流圖有四個基本成分:數據流、數據處理(加工)、數據存儲、外部實體(數據源點和終點)。3、軟件結構的設計是以模塊為基礎的,以需求分析的結果為依據,從實現的角度進一步劃分為模塊,并組成模塊的層次結構。4、程序流程圖又稱為程序框圖,應由三種基本控制結構順序組合和完整嵌套而成,不能有相互交叉的情況,這樣的流程圖是結構化的流程圖。5、“面向對象”是把一組對象中的數據結構和行為緊密地結合在一起組織系統的一種策略,傳統的思想是將數據結構和行為松散地連接在一起。6、到目前為止,軟件生產的發展經過了三個階段即程序設計時代、程序系統時代、軟件工程時代。1、軟件生命周期由軟件定義、軟件開發和運行維護3個時期組成。2、軟件產品在交付使用之前一般要經過以下四步測試單元測試、集成測試、確認測試和系統測試。3、典型的可行性研究有下列步驟:系統定義、分析問題、提出解法、設計方案、推薦可行的2、在需求分析過程中,分析員要從用戶那里解決的最重要的問題是給該軟件提供哪些信息。(×)3、需求規格說明書在軟件開發中具有重要的作用,它也可以作為軟件可行性分析的依據。(×)4、UML語言支持面向對象的主要概念,并與具體的開發過程相關。(×)5、用例圖定義了系統的功能需求,它是從系統的外部看系統功能,并不描述系統內部對功能的具體實現。(√)6、軟件配置管理是一組標識、組織和控制修改源程序的活動。(×)7、好的測試是用少量的測試用例運行程序,發現被測程序盡可能多的錯誤。(√)8、邊界值分析方法是取輸入/輸出等價類的邊界值作為測試用例。(√)9、軟件錯誤可能出現在開發過程的早期,越早修改越好。(√)10、面向對象的分析是面向計算機系統建立軟件系統的對象模型。(×)1.建立用例模型的步驟包括確定角色、確定用例和繪制用例圖。(×)2.只有質量差的軟件產品才需要維護。(×)3.一個好的測試用例在于能發現至今未發現的錯誤。(√)4.不完善的系統定義往往是導致軟件項目失敗的主要原因。(√)5.瀑布模型是一種文檔驅動的模型。(√)6.UML是一種方法。(×)7.在時間允許的情況下,適當減少人員會提高工作效率,降低軟件開發成本。(√)8.一個成功的項目唯一提交的就是運行程序。(×)9.數據流圖建立系統的功能模型,它由數據流、加工和數據存貯組成。(×)10.UML是一種直觀化、明確化、構建和文檔化軟件產物的通用語言。(×)1、在項目計劃發生延遲的情況下,增加更多的程序員一定會加快進度。(×)2、軟件工作的考慮范圍主要是程序設計和實現。(×)3、等價類劃分方法將所有可能的輸入數據劃分成若干部分,然后從每一部分中選取少數有代表性的數據作為測試用例。(√)4、在軟件開發的過程中,若能推遲暴露其中的錯誤,則為修復和改正錯誤所花費的代價就會降低。(×)5、模型是對現實的簡化,建模是為了更好地理解所開發的系統。(√)6、好的測試用例應能證明軟件是正確的。(×)7、白盒測試僅與程序的內部結構有關,完全可以不考慮程序的功能要求。(√)名詞解釋(每小題4分,共20分)1、軟件危機:軟件危機是指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題。概括地說,包含兩方面的問題:如何開發軟件,以滿足對軟件日益增長的需求;如何維護數量不斷膨脹的已有軟件。2、結構程序設計:如果一個程序的代碼塊僅僅通過順序、選擇和循環這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。3、類:具有相同屬性和服務的一組對象的集合,它為屬于該類的全部對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。4、軟件項目管理:為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。1、軟件生命周期:軟件產品從考慮其概念開始到該軟件產品交付使用,直至最終退役為止的整個過程,一般包括計劃、分析、設計、實現、測試、集成、交付、維護等階段。2、對象:系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位,由一組屬性和對這組屬性進行操作的一組服務組成。3、α測試:指軟件開發公司組織內部人員模擬各類用戶行對即將面市軟件產品(稱為α版本)進行測試,試圖發現錯誤并修正。4、UML:UML即統一建模語言,是一種直觀化、明確化、構建和文檔化軟件系統產物的通用可視化建模語言。5、軟件再工程:對現存的大量軟件系統進行挖掘、整理以得到有用的軟件構件,或對已有軟件構件進行維護以延長其生存期。1、軟件建模:將所要設計的結構和系統的行為融匯貫通,對系統的體系結構進行可視化和控制,化解復雜性的問題,有效地管理開發風險,從而開發出高品質的軟件。2、軟件工程:①把系統的、規范的、可度量的途徑應用于軟件開發、運行和維護過程,也就是把工程應用于軟件;②研究①中提到的途徑。3、β測試:指軟件開發公司組織各方面的典型用戶在日常工作中實際使用β版本(經過α測試調整的軟件產品),并要求用戶報告異常情況、提出批評意見,然后軟件開發公司再對β版本進行改錯和完善。4、結構化維護:采用軟件工程的方法進行軟件開發,保證每個階段都有完整且詳細的文檔。對這樣的軟件進行的維護活動叫結構化維護。問答題(每小題6分,共30分)產生軟件危機的原因是什么?答:“軟件作坊”基本上仍然沿用早期形成的個體化軟件開發方法,導致在計算機軟件的開發和維護過程中遇到一系列嚴重問題。如:軟件開發的進度難以控制,經常出現經費超預算等。按照模塊化的理論,模塊的數目是否越多越好?為什么?答:否,根據模塊化和軟件成本的關系,隨著模塊數目的增加,模塊成本減小,但接口成本增加,開始時總的成本逐漸減小,模塊數超過一定數目之后,總的成本增加。所以模塊數應取最小成本區數目。一個程序計算任何一個在1~1000內整數的平方數,那么其輸入項的等價類應如何劃分?答:為什么說面向對象方法對需求變化有較好的適應性?答:面向對象的封裝機制使開發人員可以把最穩定的部分(即對象)作為構筑系統的基本單位,而把容易發生變化的部分(即屬性與操作)封裝在對象之內;對象之間通過接口聯系,使得需求變化的影響盡可能地限制在對象內部。在下列用例圖中,哪些是系統角色?哪些是系統用例?答:角色:Banknetwork,Manager,Clerk,Customer用例:Authorizepurchase,Openstore,Logontoredister,Sellgoods,Restockinventory1、Jackson圖和層次圖有何區別?答:(1)層次圖中的一個方框通常代表一個模塊;而Jackson圖中的一個方框通常只代表幾個語句。(2)層次圖表現的是調用關系;而Jackson圖表現的是組成關系,即一個方框中包括的操作僅僅由它下層框中的那些操作組成。2、面向對象方法是如何支持軟件復用的?答:(1)對象具有封裝性和信息隱蔽等特性,使其容易實現軟件復用。(2)對象類可以派生出新類,類可以產生實例對象,從而實現了對象類數據結構和操作代碼的軟構件復用。(3)面向對象程序設計語言的開發環境一般預定義了系統動態連接庫,提供了大量公用程序代碼,避免重復編寫,提高了開發效率和質量。3、系統的靜態結構和動態行為分別由UML中哪些圖進行描述?答:靜態結構由類圖和對象圖描述,動態行為由狀態圖、時序圖、協作圖和活動圖描述。4、將下列各對事物之間的關系(繼承、聚集或關聯)寫在括弧內。(5分)(1)讀者——借出的書(關聯)(2)班級——學生(聚集)(3)教師——教授(繼承)(4)丈夫——妻子(關聯)(5)列車——餐車(聚集)5、指出下列時序圖中各符號的含義。答:(1)發起交互的對象(2)回調消息(3)生命線(4)控制焦點(5)消息(6)接收消息的對象1、簡述變換流的設計步驟。答:確定數據流圖中的變換中心、邏輯輸入和邏輯輸出;設計軟件結構的頂層和第一層;設計中、下層模塊;設計優化。2、下面是一段求最大值的程序,其中datalist是數據表,n是datalist的長度。intGetMax(intn,intdatalist[]){intk=0;for(intj=1;j<n;j++)if(datalist[j]>datalist[k])k=j;returnk;}(1)畫出該程序的控制流圖,并計算其McCabe環路復雜性。(2)用基本路徑覆蓋法給出測試路徑。(3)為各測試路徑設計測試用例。答:(1)控制流圖如右圖所示,McCabe環路復雜性為3。(2)測試路徑:

Path1:①→③

Path2:①→②→④→⑥→…

Path3:①→②→⑤→⑥→…(3)測試用例:

Path1:取n=1,datalist[0]=1,

預期結果:k=0

Path2:取n=2,datalist[0]=0,datalist[1]=1,

預期結果:k=1

Path3:取n=2,datalist[0]=1,datalist[1]=0,

預期結果:k=03、UML關系包括關聯、聚合、泛化、實現、依賴等5種類型,請將合適的關系填寫在下列描述的()中。①用例及其協作之間是(關聯)關系。②在學校中,一個學生可以選修多門課程,一門課程可以由多個學生選修,那么學生和課程之間是(依賴)關系。③類A的一個操作調用類B的一個操作,且這兩個類之間不存在其他關系,那么類A和類B之間是(聚合)關系。④在MFC類庫中,Window類和DialogBox類之間是(泛化)關系。⑤森林和樹木之間是(實現)關系。4、對整個系統而言,其功能、靜態結構、動態行為和物理架構分別由UML中什么圖來描述?答:對整個系統而言,其功能由用例圖描述,靜態結構由類圖和對象圖描述,動態行為由狀態圖、時序圖、協作圖和活動圖描述,而物理架構則是由組件圖和分布圖描述。1、簡述事物流的設計步驟。答:由事務流映射成的軟件結構包括一個接收分支和一個發送分支。接收分支:從事務中心的邊界開始,把沿著接收流通路的處理映射成模塊。發送分支:包含一個調度模塊,它控制下層的所有活動模塊;然后把數據流圖中的每個活動流通路映射成與它的流特征相對應的結構。2、對整個系統而言,其功能、靜態結構、動態行為和物理架構分別由UML中什么圖來描述?答:功能由用例圖描述,靜態結構由類圖和對象圖描述,動態行為由狀態圖、時序圖、協作圖和活動圖描述,而物理架構則是由組件圖和分布圖描述。3、將下列各對事物之間的關系(繼承、聚集或關聯)寫在括弧內。(5分)(1)小汽車——富康牌小汽車(繼承)(2)人員——雇員(繼承)(3)圖書館——期刊閱覽室(聚集)(4)書——圖書館館員(關聯)(5)小汽車——司機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論