軟件工程復習題_第1頁
軟件工程復習題_第2頁
軟件工程復習題_第3頁
軟件工程復習題_第4頁
軟件工程復習題_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《軟件工程》復習內容一.填空題1、軟件是數(shù)據、計算機程序及其說明程序的各種文檔。2、概要設計主要是把各項功能需求轉換成系統(tǒng)的體系結構。3、面向對象開發(fā)方法包括OOA、OOD、OOP三部分。4、結構化設計中以數(shù)據流圖為基礎的兩種具體分析設計方法是變換分析、事物分析設計。5、在單元測試時,需要為被測模塊設計驅動模塊和樁模塊。6、CMM把軟件過程從無序到有序的進化分成5個階段,排序而形成5個逐層提高的等級,分別是初始級、可重復級、已定義級、已管理級和可優(yōu)化級。7.子類自動共享父類的屬性和操作的機制稱為繼承。8.軟件工程管理的具體內容包括對開發(fā)人員、組織機構、用戶、文檔資料等方面的管理。9、可行性研究的三個方面是技術可行性、社會可行性和__經濟可行性__。10、在軟件概要設計階段,建立軟件結構后,還應為每個模塊寫一份處理說明和_接口說明__。11、在畫分層的DFD時,父圖與子圖的輸入輸出數(shù)據流要__平衡__。12、在詳細設計階段,除了對模塊內的算法進行設計,還應對模塊內的__數(shù)據結構_進行設計。14.基線的作用是把各階段的開發(fā)工作劃分得更加明確,便于檢查與確認階段成果。因此,基線可以作為項目的一個___檢查點__。15.軟件工程包括軟件開發(fā)技術和__軟件工程管理__兩大部分內容。16、開發(fā)過程管理包括項目計劃、控制和___任務管理__等。17、CASE是多年來在軟件開發(fā)管理、軟件開發(fā)方法、軟件開發(fā)環(huán)境和__軟件工具__等方面研究和發(fā)展的產物。18、數(shù)據字典中有四類條目,分別是___數(shù)據流、數(shù)據項、數(shù)據存儲、基本加工。19、用于描述基本加工的小說明的三種描述工具是結構化語言、判定表、判定樹_。20、子類只繼承一個父類的屬性和操作,這稱為__單重繼承__。21、McCabe復雜性度量又稱__環(huán)路度量_。22、噴泉模型是一種以用戶需求為動力,以__對象__為驅動的模型。23、Jackson圖不僅可表示程序結構,還可表示___數(shù)據結構__。24、詳細設計的任務是確定每個模塊的內部特性,即模塊的算法和數(shù)據結構。25、UML提供的構建系統(tǒng)動態(tài)模型的機制有動態(tài)視圖視圖(包括順序圖和協(xié)作圖)、靜態(tài)視圖視圖、功能視圖。26、軟件質量管理由軟件質量保證、軟件質量規(guī)劃和軟件質量控制三方面活動組成。27、用等價類劃分法設計一個測試用例時,使其覆蓋__盡可能多的__尚未被覆蓋的合理等價類;覆蓋__一個_不合理等價類。28、需求分析階段產生的最重要的文檔是__需求規(guī)格說明書_。29、兩個模塊都使用同一張表,模塊的這種耦合稱為___公共耦合__。30、被測試程序不在機器上運行,而是采用人工檢測和計算機輔助分析檢測的手段稱為_靜態(tài)_測試。31、采用手工方法開發(fā)軟件只有程序而無文檔,維護困難,這是一種__非結構化__維護。32、結構化方法是一種面向數(shù)據流的開發(fā)方法。由結構化分析、_結構化方法_、結構化程序設計構成。33、對象之間進行通信的構造叫做_消息_。34、按軟件服務對象的范圍可以把軟件劃分為項目軟件和產品軟件。35、瀑布模型將軟件生命期劃分為若干階段,各個階段之間是通過文檔實現(xiàn)過渡的。36、概要設計主要是把各項功能需求轉換成系統(tǒng)的__體系結構__。38、結構化程序設計方法提倡開發(fā)人員的組織形式是__主程序員組_。40、類具有操作,它是對象__行為

_的抽象。41、產品管理包括版本管理和__配置管理___。42、集成測試中的具體方法是___漸增式和非漸增式___測試方法。43、增量模型適合于__軟件需求_不明確、設計方案有一定風險的軟件項目。44、結構化分析方法的分析策略是__自頂向下逐步求精__。45、可行性研究實質上是要在較高層次上以較抽象的方式進行___需求分析和設計__的過程。46、衡量模塊獨立性的兩個定性標準是__耦合性與內聚性___。49、繼承性是子類自動共享其父類的__數(shù)據結構和方法__機制。50、在面向對象方法中,人們常用狀態(tài)圖描述類中對象的_動態(tài)行為_。51、規(guī)定功能的軟件,在一定程度上能從錯誤狀態(tài)自動恢復到正常狀態(tài),則稱該軟件為___容錯__軟件。53.軟件生存周期是指一個軟件從提出開發(fā)要求開始直到該軟件報廢不止的整個時期。通常,軟件生存周期包括問題定義、可行性研究,需求分析,總體設計,詳細設計,_編碼_,測試,維護活動,可以將這些活動以適當方式分配到不同階段去完成54.數(shù)據流圖中的箭頭表示__數(shù)據流__。軟件結構圖中的箭頭方向表示___模塊調用__。56.數(shù)據流圖僅反映系統(tǒng)必須完成的邏輯功能,所以它是一種__功能_模型。軟件從定義、開發(fā)、使用和維護,直到最終被廢棄,要經歷一個漫長的時期,稱為軟件的生命周期。軟件是程序、數(shù)據及相關文檔的完整集合。其中程序是能夠完成預定功能和性能的可執(zhí)行的指令序列;數(shù)據是使程序能夠適當?shù)靥幚硇畔⒌臄?shù)據結構;文檔是開發(fā)、使用和維護程序所需要的圖文資料。采用工程的概念、原理、技術和方法來開發(fā)與維護軟件,把經過時間考驗而證明是正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地開發(fā)出高質量的軟件并有效地維護它,這就是軟件工程。目前使用得最廣泛的軟件工程方法學是傳統(tǒng)方法學與面向對象學。軟件過程是為了獲得高質量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內確定問題是否能夠解決。系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具;而數(shù)據流圖是系統(tǒng)邏輯功能的圖形表示工具。對數(shù)據流圖(DFD)中包含的所有元素的定義和集合稱為數(shù)據字典。面向對象方法學的出發(fā)點和基本原則,是盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界解決問題的方法與過程,也就是使描述問題的問題空間與實現(xiàn)解法的解空間在結構上盡可能一致。在軟件的設計原理中,____抽象___和_____求精_____是一對互補的概念。衡量模塊獨立程序的兩個定性標準是內聚和耦合。如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結構進行連結,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是___結構化_____的。___軟件測試_____是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。軟件可靠性是指程序在給定的時間間隔內,按照規(guī)格說明書得規(guī)定成功地運行的概率。軟件維護是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需要而修改軟件過程。CMM的中文名稱為_能力成熟度模型_,它分為__5__個等級。軟件需求分析是指_軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。其中軟件需求是指(1)用戶解決問題或達到目標所需的條件或權能(Capability)。31、下列哪個改變不屬于軟件維護中的副作用?(

C)

A.修改代碼

B.修改數(shù)據

C.修改需求分析

D.修改文檔32.作坊式小團體合作生產方式的時代是(

C

)時代。

A.程序設計

B.軟件生產自動化C.程序系統(tǒng)

D.軟件工程33.來輔助軟件開發(fā)、運行、維護、管理、支持等過程中的活動的軟件稱為軟件開發(fā)工具,通常也稱為(D)工具。A.CADB.CAIC.CAMD.CASE34.在軟件需求規(guī)范中,下述哪些要求可以歸類為過程要求(

A)A.執(zhí)行要求

B.效率要求C.可靠性要求

D.可移植性要求35.Jackson方法實現(xiàn)從(

A

)導出(

C)。A.數(shù)據結構

B.數(shù)據流圖

C.程序結構

D.軟件模塊層次結構36、PAD圖的控制執(zhí)行流程為(

C)

A、自下而下、從左到右

B、自上而下、循環(huán)執(zhí)行

C、自上而下、從左到右

D、都不對37.程序設計語言的心理特性在語言中表現(xiàn)不應包括(

C)。

A.歧義性

B.簡潔性

C.保密性

D.傳統(tǒng)性38.在軟件工程中,白箱測試方法可用于測試程序的內部結構。此方法將程序可作為(A

)

A.路徑的集合

B.循環(huán)的集合

C.目標的集合

D.地址的集合39.集成測試的主要方法有兩個,一個是(

B

)

A.白箱測試方法、黑箱測試方法B.漸增式測試方法、非漸增式測試方法C.等價分類方法、邊緣值分析方法D.因果圖方法、錯誤推測方法40、軟件產品質量是生產者和用戶都十分關心的問題,質量管理只看到產品的質量,近年來質量管理向(

A)發(fā)展,重要的基本假設是過程的質量直接影響產品的質量。

A.過程質量的控制

B.過程的改進

C.產品的改進

D.技術的革新41、在結構化分析方法中,數(shù)據字典是重要的文檔。對加工的描述是數(shù)據字典的組成內容之一,常用的加工描述方法(

C)。A.只有結構化語言B.有結構化語言和判定樹C.有結構化語言、判定樹和判定表D.有判定樹和判定表42、項目管理工具中,將網絡方法用于工作計劃安排的評審和檢查的是(

A)。A.Gantt圖B.PERT網圖C.因果分析圖D.流程圖43、軟件設計的主要任務是設計軟件的結構、過程和模塊,其中軟件結構設計的主要任務是要確定(

C)。A.模塊間的操作細節(jié)B.模塊間的相似性C.模塊間的組成關系D.模塊的具體功能44、下述任務中,不屬于軟件工程需求分析階段的是(

D)。A.分析軟件系統(tǒng)的數(shù)據要求B.確定軟件系統(tǒng)的功能需求C.確定軟件系統(tǒng)的性能要求D.確定軟件系統(tǒng)的運行平臺45.PDL是軟件開發(fā)過程中用于(

C

)階段的描述工具。

A.需求分析

B.概要設計

C.詳細設計

D.編程46、McCall提出的軟件質量的11個質量特性分為三組,下面哪一個不屬于這三組(

A)

A.產品需求

B.產品運行

C.產品修正

D.產品轉移47.軟件詳細設計的主要任務是確定每個模塊的(C)。A.功能 B.外部接口 C.算法和使用的數(shù)據結構 D.編程48.在考察系統(tǒng)的一些涉及時序和改變的狀態(tài)時,要用動態(tài)模型來表示。動態(tài)模型著重于系統(tǒng)的控制邏輯,它包括兩個圖:一個是事件追蹤圖,另一個是(A)。A.狀態(tài)圖B.數(shù)據流圖C.系統(tǒng)結構圖D.時序圖49.具有風險分析的軟件生存周期模型是(C)A.瀑布模型 B.噴泉模型C.螺旋模型 D.增量模型50.模塊(B)定義為受該模塊內一個判斷影響的所有模塊集合。A.控制域B.作用域C.寬度D.接口51.在對數(shù)據流的分析中,主要是找到中心變換,這是從(C)導出結構圖的關鍵。A.數(shù)據結構B.實體關系C.數(shù)據流圖D.E—R圖52.快速原型模型的主要特點之一是(D)A.開發(fā)完畢才見到產品B.及早提供全部完整的軟件產品C.開發(fā)完畢后才見到工作軟件D.及早提供工作軟件53.模塊的內聚性最低的是(C)A.邏輯內聚B.時間內聚C.偶然內聚D.功能內聚54.軟件詳細設計主要采用的方法是(D)A.模塊設計B.結構化設計C.PDL語言D.結構化程序設計55.通過(B)可以完成數(shù)據流圖的細化。A.結構分解B、功能分解C、數(shù)據分解D、系統(tǒng)分解56.在考察系統(tǒng)的一些涉及時序和改變的狀態(tài)時,要用對象-行為模型來表示。動態(tài)模型著重于系統(tǒng)的控制邏輯,它包括三個圖:一個是事件軌跡圖和事件流圖,另一個是(A)。A.狀態(tài)轉換圖B.數(shù)據流圖C.系統(tǒng)結構圖D.時序圖57.在多層次的結構圖中,其模塊的層次數(shù)稱為結構圖的(A)。A.深度B.跨度C.控制域D.粒度58.軟件結構圖中,模塊框之間若有直線連接,表示它們之間存在(A)。A.調用關系 B.組成關系 C.鏈接關系 D.順序執(zhí)行關系59.在詳細設計階段,經常采用的工具有(A)。A.PADB.SAC.SCD.DFD60.()能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。A.等價類劃分B.邊界值分析C.錯誤推測D.因果圖61、軟件結構圖的形態(tài)特征能反映程序重用率的是()A、深度B、寬度C、扇入D、扇出62、若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0,1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001,-1.0,1.0,1.001。設計這組測試用例的方法是()A、條件覆蓋法 B、等價分類法C、邊界值分析法 D、錯誤推測法63、按軟件生命周期方法設計軟件的過程中,畫數(shù)據流圖屬于下面哪個階段的工作()A、需求分析B、程序設計C、詳細設計D、軟件維護64、確認軟件的功能是否與需求規(guī)格說明書中所要求的功能相符的測試屬于()A、集成測試B、恢復測試C、確認測試D、單元測試65、要顯示描繪軟件開發(fā)項目各作業(yè)的依賴關系,應選擇(

)。A.

Gantt圖

B.工程網絡

C.

COCOMO模型

D.數(shù)據流圖

66、結構化程序設計主要強調的是()A、程序的規(guī)模B、程序的效率C、程序設計語言的先進性D、程序易讀性67、軟件工程管理對軟件項目的開發(fā)管理,即對整個軟件()的一切活動的管理。A、軟件項目B、生存期C、軟件開發(fā)計劃D、軟件開發(fā)68.在面向對象軟件開發(fā)方法中,類與類之間主要有以下結構關系(1)(1)繼承和聚集(2)繼承和一般(3)聚集和消息傳遞(4)繼承和方法調用69.軟件維護的副作用主要有以下哪幾種(3)(1)編碼副作用、數(shù)據副作用、測試副作用(2)編碼副作用、數(shù)據副作用、調試副作用(3)編碼副作用、數(shù)據副作用、文檔副作用(4)編碼副作用、文檔副作用、測試副作用70.測試的關鍵問題是()A.如何組織對軟件的評審B.如何驗證程序的正確性C.如何采用綜合策略D.如何選擇測試用例71.快速原型是利用原型輔助軟件開發(fā)的一種新思想,它是在研究()的方法和技術中產生的。A.需求階段B.設計階段C.測試階段D.軟件開發(fā)的各個階段72.下列文檔與維護人員有關的有()A.軟件需求說明書B.項目開發(fā)計劃C.概要設計說明書D.操作手冊73.CASE工具的表示集成是指CASE工具提供相同的()A.編程環(huán)境B.用戶界面C.過程模型D.硬件/操作系統(tǒng)74.用白盒技術設計測試用例的方法包括(條件組合覆蓋)A.邊界值分析B.條件組合覆蓋C.因果圖D.錯誤推測D.為了評價程序的質量75.針對軟件需求分析所進行的軟件測試是指()A.集成測試B.確認測試C.黑盒子測試D.白盒子測試76.在軟件設計中詳細描述處理過程常用的三種工具是()A.SA,SD,SPB.程序流程圖,IPO,PADC.SA,SC,SDD.圖形,表格,語言77.通信內聚、邏輯內聚、順序內聚和時間內聚的內聚性從高到低順序是()A.通信、邏輯、順序、時間B.通信、時間、順序、邏輯C.順序、通信、時間、邏輯D.順序、通信、邏輯、時間78.在軟件生產的(),使用的工具主要是機器語言和匯編語言。A.程序系統(tǒng)時代B.軟件工程時代C.面向對象時代D.人工智能時代79.在McCall軟件質量度量模型中,_________屬于面向軟件產品操作。()A.正確性B.可維護性C.適應性D.互操作性80.軟件測試中根據測試用例設計的方法的不同可分為黑盒測試和白盒測試兩種,它們(都屬于動態(tài)測試)81.JSP方法是一種面向_________的設計方法。()A.控制結構B.對象Jackson方法是面向數(shù)據結構的設計方法C.數(shù)據流D.數(shù)據結構82.數(shù)據流圖(DFD)是_________方法中用于表示系統(tǒng)的邏輯模型的一種圖形工具。()A.SAB.SDC.SPD.SC83.數(shù)據字典是用來定義__數(shù)據流圖__中的各個成份的具體含義的。()A.流程圖B.功能結構圖C.系統(tǒng)結構圖D.數(shù)據流圖84.Putnam成本估算模型是一個()模型。A.靜態(tài)單變量B.動態(tài)單變量C.靜態(tài)多變量D.動態(tài)多變量85.軟件復雜性度量的參數(shù)包括()A.效率B.規(guī)模C.完整性D.容錯性86.軟件調試技術包括()A.邊界值分析B.演繹法C.循環(huán)覆蓋D.集成測試87.軟件測試方法中的靜態(tài)測試方法之一為()A.計算機輔助靜態(tài)分析前面還寫了一個寫什么文檔也屬于B.黑盒法C.路徑覆蓋D.邊界值分析88.在詳細設計階段,經常采用的工具有()A.PADB.SAC.SCD.DFD89.可行性分析是在系統(tǒng)開發(fā)的早期所做的一項重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據,因必須給出()的回答。A.確定B.行或不行C.正確D.無二義90.結構化分析方法是以數(shù)據流圖、()和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。A.DFD圖B.PAD圖C.IPO圖D.DD91.信息隱蔽概念與()這一概念直接的相關。A.模塊的獨立性B.模塊類型的劃分C.軟件結構定義D.軟件生命周期92.不屬于詳細設計的主要工具有()。A.IPO圖B.PAD圖C.PDLD.SC138.單元測試階段主要涉及()的文檔。A.需求設計B.編碼和詳細設計C.詳細設計D.概要設計93.需求分析是分析員經了解用戶的要求,認真細致地調研、分析,最終建立目標系統(tǒng)的邏輯模型并寫出()的過程。A.模塊說明書B.軟件規(guī)格說明C.項目開發(fā)計劃D.合同文檔94.Putnam成本估算模型是一個()模型。A.靜態(tài)單變量B.動態(tài)單變量C.靜態(tài)多變量D.動態(tài)多變量95.下列方法中不屬于面向對象的開發(fā)方法有()。A.Booch方法B.Coad方法C.OMT方法D.SD方法96.結構化分析方法是以數(shù)據流圖、()和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。A.DFD圖B.PAD圖C.IPO圖D.DD三、判斷題1.軟件概要設計包括軟件系統(tǒng)結構設計以及數(shù)據結構和數(shù)據庫設計。(對)2.數(shù)據字典是對數(shù)據流圖中的數(shù)據流,加工、數(shù)據存儲、數(shù)據的源和終點進行詳細定義。(錯)3.JAVA語言編譯器是一個CASE工具。(對)。4.過程描述語言可以用于描述軟件的系統(tǒng)結構。(錯)5.快速原型模型可以有效地適應用戶需求的動態(tài)變化。(對)6.在可行性研究中最難決斷和最關鍵的問題是經濟可行性。(錯)7.耦合是指一個模塊內各個元素彼此結合的緊密程度。(錯)8.確認測試計劃應該在可行性研究階段制定(錯)9.概要設計階段完成的主要文檔是概要設計說明書。(對)10.過大的模塊可能是由于分解不充分造成的,即使降低模塊獨立性也必須繼續(xù)分解。(錯)四、名詞解釋數(shù)據字典軟件工程數(shù)據流圖白盒測試黑盒測試完善性維護軟件可靠性軟件配置軟件再工程α測試內聚耦合五、簡答和應用題1.什么是軟件危機?它有哪些典型的表現(xiàn)?為什么會出現(xiàn)軟件危機?怎樣解決軟件危機?答:軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和難題。它包括兩方面:如何開發(fā)軟件,已滿足對軟件日益增長的需求;如何維護數(shù)量不斷增長的已有軟件。軟件危機的典型表現(xiàn):(1)對軟件開發(fā)成本和進度的估計常常很不準確。常常出現(xiàn)實際成本比估算成本高出一個數(shù)量級、實際進度比計劃進度拖延幾個月甚至幾年的現(xiàn)象。而為了趕進度和節(jié)約成本所采取的一些權宜之計又往往損害了軟件產品的質量。這些都降低了開發(fā)商的信譽,引起用戶不滿。(2)用戶對已完成的軟件不滿意的現(xiàn)象時有發(fā)生。(3)軟件產品的質量往往是靠不住的。 (4)軟件常常是不可維護的。(5)軟件通常沒有適當?shù)奈臋n資料。文檔資料不全或不合格,必將給軟件開發(fā)和維護工作帶來許多難以想象的困難和難以解決的問題。(6)軟件成本、軟件維護費在計算機系統(tǒng)總成本中所占比例逐年上升。(7)開發(fā)生產率提高的速度遠跟不上計算機應用普及的需求。軟件危機出現(xiàn)的原因:(1)來自軟件自身的特點:是邏輯部件,缺乏可見性;規(guī)模龐大、復雜,修改、維護困難。(2)軟件開發(fā)與維護的方法不當:忽視需求分析;認為軟件開發(fā)等于程序編寫;輕視軟件維護。(3)供求矛盾將是一個永恒的主題:面對日益增長的軟件需求,人們顯得力不從心。2.簡述文檔在軟件工程中的作用。答:(1)提高軟件開發(fā)過程的能見度(2)提高開發(fā)效率(3)作為開發(fā)人員階段工作成果和結束標志(4)記錄開發(fā)過程的有關信息便于使用與維護;(5)提供軟件運行、維護和培訓有關資料;(6)便于用戶了解軟件功能、性能。3.可行性研究包括哪幾方面的內容?答:(1)經濟可行性:是否有經濟效益,多長時間可以收回成本;(2)技術可行性:現(xiàn)有技術能否實現(xiàn)本系統(tǒng),現(xiàn)有技術人員能否勝任,開發(fā)系統(tǒng)的資源能否滿足;(3)運行可行性:系統(tǒng)操作在用戶內部行得通嗎?(4)法律可行性:新系統(tǒng)開發(fā)是否會侵犯他人、集體或國家利益,是否違反國家法律。4.結構化的需求分析描述工具有哪些?答:有數(shù)據流圖(DFD)、數(shù)據字典(DD)、判定表、判定樹、結構化語言(PDL)、層次方框圖、Warnier圖、IPO圖、控制流圖(CFD)、控制說明(CSPEC)、狀態(tài)轉換圖(STD)和實體—關系圖(E—R)等。5.有人說軟件就是程序,你認為這種說法正確嗎?請從軟件的定義來闡述你的觀點。不正確,軟件是一系列按照特定順序組織的計算機數(shù)據和指令的集合。一般來講軟件被劃分為編程語言、系統(tǒng)軟件、應用軟件和介于這兩者之間的中間件。軟件并不只是包括可以在計算機(這里的計算機是指廣義的計算機)上運行的電腦程序,與這些電腦程序相關的文檔一般也被認為是軟件的一部分。簡單的說軟件就是程序加文檔的集合體。6.一般面向對象分析建模的工具(圖形)有哪些?答:用例圖、類/對象圖、對象關系圖、實體—關系圖(E—R)、事件軌跡圖(時序圖)和狀態(tài)轉換圖(STD)等7.UML統(tǒng)一建模語言有哪幾種圖形?用例圖、類圖、對象圖、構件(組件)圖、部署(配置)圖、狀態(tài)圖、活動圖、順序(時序)圖、合作(協(xié)作)圖等九種圖。8.在面向對象分析時類和對象的靜態(tài)關系主要有哪幾種?答:類和對象的靜態(tài)關系主要有關聯(lián)、聚集、泛化、依賴等四種關系。9.什么是模塊化?模塊設計的準則?模塊化是按規(guī)定的原則將一個大型軟件劃分為一個個較小的、相對獨立但又相關的模塊。模塊設計的準則:(1)改進軟件結構,提高模塊獨立性:在對初步模塊進行合并、分解和移動的分析、精化過程中力求提高模塊的內聚,降低藕合。(2)模塊大小要適中:大約50行語句的代碼,過大的模塊應分解以提高理解性和可維護性;過小的模塊,合并到上級模塊中。(3)軟件結構圖的深度、寬度、扇入和扇出要適當。一般模塊的調用個數(shù)不要超過5個。(4)盡量降低模塊接口的復雜程度;(5)設計單入口、單出口的模塊。(6)模塊的作用域應在控制域之內。10.什么是模塊獨立性?用什么度量?答:模塊獨立性概括了把軟件劃分為模塊時要遵守的準則,也是判斷模塊構造是不是合理的標準。獨立性可以從兩個方面來度量:即模塊本身的內聚和模塊之間的耦合。11.變換型數(shù)據流由哪幾部分組成?變換分析設計的步驟?變換型結構由三部分組成:傳入路徑、變換(加工)中心和傳出路徑。(1)區(qū)分傳入、傳出和變換中心三部分,劃分DFD圖的分界線;(2)完成第一級分解:建立初始SC圖的框架;(3)完成第二級分解:分解SC圖的各個分支;(4)對初始結構圖按照設計準則進行精化與改進。12.什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:一個軟件從開始計劃起,到廢棄不用止,成為軟件的生存周期。把整個生存周期劃分為較小的階段,給每個階段賦予確定而有限的任務,能夠簡化每一步的工作內容,使因為軟件規(guī)模增長而大大增加了的軟件復雜性變得較易控制和管理。13.事務型數(shù)據流由哪幾部分組成?事務分析設計的步驟?事務型結構由至少一條接受路徑、一個事務中心與若干條動作路徑組成。(1)在DFD圖中確定事務中心、接收部分(包含全部接收路徑)和發(fā)送部分(包含全部動作路徑);(2)畫出SC圖框架,把DFD圖的三部分,分別映射"為事務控制模塊,接收模塊和動作發(fā)送模塊.一般得到SC圖的頂層和第一層(如果第一層簡單可以并入頂層);(3)分解和細化接收分支和動作分支,完成初始的SC圖;(4)對初始結構圖按照設計準則進行精化與改進。14.詳細設計的目的?為軟件結構圖(SC圖或HC圖)中的每一個模塊確定采用的算法和塊內數(shù)據結構,用某種選定的表達工具給出清晰的描述.15.軟件生存周期大致可以分成8個階段,請問是哪8個階段?各個階段的主要任務是什么?答:1系統(tǒng)定義2可行性分析3需求分析4概念設計5詳細設計6編寫代碼7用戶測試8軟件維護16.簡述自己對軟件工程的認識(此題沒有標準答案,答題時應結合軟件工程的概念、作用、現(xiàn)狀等方面闡述自己的理解或觀點)17.什么是軟件的需求分析?為什么說需求分析是軟件生存周期中最重要的階段?18.詳細設計的任務是什么?為每個模塊確定采用的算法;確定每一模塊使用的數(shù)據結構;確定模塊接口的細節(jié);編寫過程設計說明書;設計每一模塊的測試用例。19.

編碼的任務?使用選定的程序設計語言,把模塊的過程性描述翻譯為用語言書寫的源程序(源代碼)。20.軟件測試的基本任務?軟件測試是按照特定的規(guī)則,發(fā)現(xiàn)軟件錯誤的過程;好的測試方案是盡可能發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;成功的測試方案是發(fā)現(xiàn)迄今尚未發(fā)現(xiàn)錯誤的測試;21.什么是黑盒測試?黑盒測試主要采用的技術有哪些?黑盒測試也稱為功能測試,它著眼于程序的外部特征,而不考慮程序的內部邏輯結構。測試者把被測程序看成一個黑盒,不用關心程序的內部結構。黑盒測試是在程序接口處進行測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據產生正確的輸出信息,并且保持外部信息(如數(shù)據庫或文件)的完整性。黑盒測試主要采用的技術有:等價分類法、邊界值分析法、錯誤推測法和因果圖等技術。22.什么是白盒測試?白盒測試主要采用的技術有哪些?白盒測試是測試者了解被測程序的內部結構和處理過程,對程序的所有邏輯路徑進行測試,在不同點檢查程序狀態(tài),確定實際狀態(tài)與預期狀態(tài)是否一致。白盒測試主要采用的技術有:路徑測試技術和事務處理流程技術,對包含有大量邏輯判斷或條件組合的程序采用基于邏輯的測試技術。23.路徑測試技術中幾種主要覆蓋的含義?舉例說明?語句覆蓋:至少執(zhí)行程序中所有語句一次。判定覆蓋:使被測程序中的每一個分支至少執(zhí)行一次。故也稱為分支覆蓋。條件覆蓋:執(zhí)行所有可能的穿過程序的控制路流程。條件組合測試:設計足夠的測試用例,使每個判定中的所有可能條件取值組合至少執(zhí)行一次。(例略)24.等價分類法的測試技術采用的一般方法?舉例說明?(1)

為每個等價類編號;(2)

設計一個新的測試方案,以盡可能多的覆蓋尚未被覆蓋的有效等價類,重復這一步驟,直到所有有效等價類被覆蓋為止。(3)

設計一個新的測試方案,使它覆蓋一個尚未被覆蓋的無效等價類,重復這一步驟,直到所有無效等價類被覆蓋為止。(例略)25.為什么說軟件的維護是不可避免的?因為軟件的開發(fā)過程中,一般很難檢測到所有的錯誤,其次軟件在應用過程中需要隨用戶新的要求或運行環(huán)境的變化而進行軟件的修改或完成功能的增刪等,為了提高軟件的應用水平和使用壽命,軟件的維護是不可避免的。26.軟件測試包括哪些步驟?同時說明這些步驟的測試目的是什么?答:(1)單元測試,目的是代碼達到模塊說明書的要求(2)集成測試,目的是將經過單元測試的模塊逐步組裝成具有良好一致性的完整的程序(3)確認測試,目的是確認程序系統(tǒng)是否滿足軟件需求規(guī)格說明書的要求(4)系統(tǒng)測試,目的是檢查能否與系統(tǒng)的其余部分協(xié)調運行,并且完成SRS對他的要求。27.需求分析與軟件設計二個階段任務的主要區(qū)別是什么?答:需求分析定義軟件的用戶需求,即定義待開發(fā)軟件能做什么軟件設計定義軟件的實現(xiàn)細節(jié)以滿足用戶需求,即研究如何實現(xiàn)軟件。28.說明軟件測試和調試的目的有何區(qū)別?答:測試的目的是判斷和發(fā)現(xiàn)軟件是否有錯誤,調試的目的是定位軟件錯誤并糾29.什么是軟件復用?簡述軟件復用和軟件共享、軟件移植的差別。答:軟件復用是指在構造新的軟件系統(tǒng)的過程中,對已存在的軟件人工制品的使用技術。如果是在一個系統(tǒng)中多次使用一個相同的軟件成分,這叫軟件共享;對一個軟件進行修改,使它能運行于新的軟、硬件平臺這稱作軟件移植。30.軟件的維護一般分為哪幾類?完善性維護:滿足用戶在使用過程中提出增加新的功能或修改已有功能,以滿足用戶日益增長的需要而進行的工作;適應性維護:是軟件適應新的運行環(huán)境而進行的工作;s糾錯性維護:糾正開發(fā)期間未發(fā)現(xiàn)的遺留錯誤,即在程序使用期間發(fā)現(xiàn)的程序錯誤進行診斷和改正的過程;預防性維護:為了改善未來的可維護性或可靠性而修改軟件的工作。31.決定軟件可維護性的因素?(1)軟件的可理解性、可測試性、可修改性;(2)文檔描述符合要求、用戶文檔簡潔明確、系統(tǒng)文檔完整并且標準。32.分析軟件危機產生的主要原因有哪些?答:導致軟件危機的主要原因有:(1)軟件日益復雜和龐大(2)軟件開發(fā)管理困難和復雜(3)軟件開發(fā)技術落后(4)生產方式落后(5)開發(fā)工具落后(6)軟件開發(fā)費用不斷增加33.說明結構化程序設計的主要思想是什么?答:(1)自頂向下、逐步求精的程序設計方法(2分)(2)使用3種基本控制結構、單入口、單出口來構造程序。34.軟件測試的基本任務是什么?測試與糾錯有什么區(qū)別?答:軟件測試的基本任務是通過在計算機上執(zhí)行程序,暴露程序中潛在的錯誤。測試和糾錯目的和任務都不相同,測試是為了發(fā)現(xiàn)程序的錯誤,糾錯是為了定位和糾正錯誤,從而消除軟件故障,保證程序的可靠運行。35.什么是軟件再工程?軟件再工程的主要活動有哪些?答:軟件再工程是運用逆向工程、重構等技術,在充分理解原有軟件的基礎上,進行分解、綜合,并重新構建軟件,用以提高軟件的可理解性、可維護性、可復用性或演化性。主要活動:信息庫分析、文檔重構、逆向工程、代碼重構、數(shù)據重構、正向工程。36.試由程序流程圖導出程序圖1入口1入口2A>1F2A>138B=0TT38B=0X=X/AX=X/A4F4A=2A=25T5X>1FX>196X=X+1T96X=X+17出口F7出口(a)程序流程圖(b)導出程序圖37.把事務型數(shù)據流圖映射成軟件結構圖:AABC+f1f2f4f5f3主模塊Readf1ABCWritef4Writef5主模塊f1f2f1f3f4f538.把變換型數(shù)據流圖映射成軟件結構圖:BBACf1f2f3f4主模塊Getf2BGetf3Readf1主模塊Readf1主模塊ACWritef4主模塊f1f1f2f2f3f3f4f439.用自頂向下結構化程序設計方法編寫直接選擇排序從小到大排列的程序。要求保持良好的程序風格,加上必要的注釋()。用C語言編寫:/*程序名稱:直接選擇排序;*//*作者:陳明銳;*//*完成日期:2006年6月9日;*//*過程頭:selectsort(int*A;intN)*//*輸入參數(shù):N為元素個數(shù)(N<=1000);A整型數(shù)組,從1到N存放待排序元素;*//*返回結果:數(shù)組A為指針,由它返回排序結果;*/voidselectsort(int*A;intN){inti,j,k,x;for(i=1;i<N;i++)/*求第I個最小值*/{k=i;/*先假設I位置上的值最小*/for(j+=i;j<=N;j++)/*求I到N位置上的最小值*/if(A(j)<A(k))k=j;if(k<>i)/*需要交換A(K)和A(I)的值*/{/*交換A(K)和A(I)*/x=A(i);A(i)=A(k);A(k)=x}/*結束交換*/}/*求出了第I個最小值*/}/*SELECTSORT*/40.某公司的工作分配原則如下:1)如果年齡不滿18歲,學歷是本科,男性要求報考研究生,女性則擔任行政工作;2)如果年齡滿18歲不滿50歲,學歷本科,不分男女,任中層領導職務,學歷是碩士不分男女,任課題組組長;3)如果年齡滿50歲,學歷本科,男性任科研人員,女性則擔任資料員,學歷是碩士不分男女,任課題組組長。請用結構化語言﹑判定表或判定樹描述上述問題的加工邏輯。解答如下:(1)判定條件可能的取值如表A-4所示

溫馨提示

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

評論

0/150

提交評論