電大軟件工程簡答題參考_第1頁
電大軟件工程簡答題參考_第2頁
電大軟件工程簡答題參考_第3頁
電大軟件工程簡答題參考_第4頁
電大軟件工程簡答題參考_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、3、軟件工程為什么要強調(diào)規(guī)范化和文檔化?答案:軟件工程強調(diào)規(guī)范化和文檔化。規(guī)范化的目的是使眾多的開發(fā)者遵守相同的規(guī)范,使軟件生產(chǎn)擺脫個人生產(chǎn)方式,進入標準化、工程化的生產(chǎn)方式。文檔化是將軟件的設(shè)計思想、設(shè)計過程和實現(xiàn)過程完整地記錄下來,以便于后人的使用和維護,在開發(fā)過程中各類相關(guān)人員借助于文檔進行交流和溝通。另外,在開發(fā)過程中產(chǎn)生的各類文檔使得軟件的生產(chǎn)過程由不可見變?yōu)榭梢?,便于管理者對軟件生產(chǎn)進度和開發(fā)過程進行管理。在用戶最終驗收時可以通過對提交的文檔進行技術(shù)審查和管理審查,保證軟件的質(zhì)量。8、請畫圖說明軟件工程的層次化結(jié)構(gòu),并詳細分析中間兩層的內(nèi)容。軟件工程的內(nèi)容具有層次化結(jié)構(gòu),最底層是質(zhì)

2、量保證層,中間是過程層和方法層,最上層是工具層。見圖:工具層方法層過程層質(zhì)量保證層其中過程層定義了一組關(guān)鍵過程域,目的是保證軟件開發(fā)過程的規(guī)范性和可控性。方法層提供了軟件開發(fā)的各種方法,包括如何進行軟件需求分析和設(shè)計,如何實現(xiàn)設(shè)計,如何測試和維護等方法。15、請給出軟件工程七條基本原理中的任意三條基本原理。原理1.用分階段的生命周期計劃嚴格管理原理2.堅持進行階段評審原理3.實行嚴格的產(chǎn)品控制原理4.采用現(xiàn)代程序設(shè)計技術(shù)原理5.結(jié)果應能清楚地審查原理6.開發(fā)小組的人員應該少而精原理7.承認不斷改進軟件工程實踐的必要性1.軟件工程的主要目標是什么?軟件工程旨在開發(fā)滿足用戶需要、及時交付、不超過預

3、算和無故障的軟件,其主要目標如下:1實現(xiàn)預期的軟件功能,達到較好的軟件性能,滿足用戶的需求。2增強軟件過程的可見性和可控性,保證軟件的質(zhì)量。3提高所開發(fā)軟件的可維護性,降低維護費用。4提高軟件開發(fā)生產(chǎn)率,及時交付使用。5合理預算開發(fā)成本,付出較低的開發(fā)費用。2.簡述軟件過程模型答:1)軟件過程是人們開發(fā)和維護軟件及相關(guān)產(chǎn)品的活動、方法、實踐和改進的集合。它明確定義軟件過程中所執(zhí)行的活動及其順序,確定沒一個活動內(nèi)容和步驟,定義每個角色和職責。(2)軟件工程將軟件開發(fā)和維護的過程概況為8個大的活動:問題定義、可行性研究、需求分析、總體設(shè)計、詳細設(shè)計、編碼、系統(tǒng)測試和運行維護。1試從軟件的特點出發(fā)分

4、析軟件危機產(chǎn)生的原因。答案:1軟件是一種邏輯實體,具有抽象性,無法看到軟件本身的形態(tài),必須通過觀察、分析、思考和判斷才能了解它的功能和性能。2軟件對硬件和環(huán)境有著不同程度的依賴性,這導致了軟件升級和移植的問題。計算機硬件和支撐環(huán)境不斷升級,為了適應運行環(huán)境的變化,軟件也需要不斷維護,并且維護的成本通常比開發(fā)成本高許多。3軟件生產(chǎn)至今尚未擺脫手工方式,軟件開發(fā)的手工行為造就了一個致命的問題,就是為應用“量身訂做”軟件。長期以來,軟件給人的感覺是修改幾條指令很簡單,客戶總是強調(diào)軟件要適應自己的業(yè)務需求。因此,軟件產(chǎn)品大多是為客戶“訂做”的,通用性差。4軟件涉及人類社會的各行各業(yè),常常涉及一些行業(yè)知

5、識,這對軟件工程師提出了很高的要求。5軟件是與文學藝術(shù)作品相似的精神作品,與體力勞動相比,精神活動過程的特點是“不可見性”,這大大增加了組織管理上的困難。2、面向?qū)ο蟮姆治鐾ǔR⑷齻€模型,請問三個模型的作用?1)功能模型:表達系統(tǒng)的詳細需求,為軟件的進一步分析和設(shè)計打下基礎(chǔ)。在面向?qū)ο蠓椒ㄖ?,由用例圖和場景描述組成。2)對象模型:表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)“數(shù)據(jù)”性質(zhì)。描述現(xiàn)實世界中實體的對象以及它們之間的關(guān)系,表示目標系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。3)動態(tài)模型:描述系統(tǒng)的動態(tài)結(jié)構(gòu)和對象之間的交互,表示瞬時的、行為化的系統(tǒng)的“控制”特性。5、請說明對象模型的作用是什么?對象模型:表示靜態(tài)的、結(jié)構(gòu)化的系

6、統(tǒng)“數(shù)據(jù)”性質(zhì)。描述現(xiàn)實世界中實體的對象以及它們之間的關(guān)系,表示目標系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu)。在面向?qū)ο蠓椒ㄖ?,類圖是構(gòu)建對象模型的核心工具。6、請說明IPO圖的作用,并給出一個IPO圖的模板。數(shù)據(jù)流程圖中的處理本應該放在數(shù)據(jù)字典中進行定義,但是由于處理與數(shù)據(jù)是有一定區(qū)別的兩類事物,它們各自有獨立的描述格式,因此在實際項目中通常將處理說明用IPO圖標描述。下面是項目中常用的處理說明模板:系統(tǒng)名稱:作者:處理編號:日期:輸入?yún)?shù)說明:輸出參數(shù)說明:1處理說明:局部數(shù)據(jù)兀素:備注:6 .簡述模塊獨立性,內(nèi)聚與耦合。答:模塊獨立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其它的模

7、塊的接口是簡單的。一般采用兩個準則度量模塊獨立性。即模塊間耦合和模塊內(nèi)聚。耦合是模塊之間的互相連接的緊密程度的度量。內(nèi)聚是模塊功能強度(一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度)的度量。模塊獨立性比較強的模塊應是高內(nèi)聚低耦合的模塊。7 .衡量模塊獨立性的兩個標準是什么?它們各表示什么含義?答:(1)兩個定性的度量標準:耦合與內(nèi)聚性。(2)耦合性:也稱塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。(3)內(nèi)聚性:也稱塊內(nèi)聯(lián)系。指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。模塊內(nèi)元素聯(lián)系越緊密,內(nèi)聚性越高

8、。7、什么是耦合?什么是內(nèi)聚?在軟件設(shè)計中應該保持模塊的獨立性原則。反映模塊獨立性的有兩個標準:內(nèi)聚和耦合。內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度;耦合衡量模塊之間彼此依賴的程度。軟件設(shè)計時追求高內(nèi)聚、低耦合。9、請說明快速原型化模型的基本思想。在需求分析的同時,以比較小的代價快速建立一個能夠反映用戶主要需求的原型系統(tǒng)。用戶在原型系統(tǒng)上可以進行基本操作,并且提出改進意見,分析人員根據(jù)用戶的意見完善原型,然后再由用戶評價,提出建議,如此往復,直到開發(fā)的原型系統(tǒng)滿足了用戶的需求為止?;诳焖僭突P偷拈_發(fā)過程基本上是線性的,從創(chuàng)建系統(tǒng)原型到系統(tǒng)運行,期間沒有反饋環(huán)。這是由于開發(fā)人員是在原

9、型的基礎(chǔ)上進行系統(tǒng)分析和設(shè)計,而原型已經(jīng)通過了用戶和開發(fā)組的審查,在設(shè)計階段由于有原型作設(shè)計參考,所以設(shè)計的結(jié)果正確率比較高。10、請舉例說明用例之間的包含關(guān)系和擴展關(guān)系的區(qū)別?包含關(guān)系用于構(gòu)造多個用例共同的活動。例如,在ATM系統(tǒng)中,取錢、查詢、更改密碼等功能都需要驗證用戶密碼。這種情況下應該將密碼驗證功能獨立出來,便于復用、減少冗余。一個用例擴展另一個用例的功能,例如,在圖書館信息管理系統(tǒng)中,讀者還書時,系統(tǒng)檢查所還圖書是否有預訂記錄,如果有則執(zhí)行“通知”用例。9.簡述在項目開發(fā)時選擇程序設(shè)計語言的主要考慮的因素。答:1編程人員的水平和編程經(jīng)歷;2待開發(fā)的軟件類型;3算法和計算復雜性;4數(shù)

10、據(jù)結(jié)構(gòu)的復雜性;5軟件的開發(fā)成本和時間要求;6軟件可移植性要求;7可用的軟件工具。11、軟件設(shè)計中的抽象是什么意思?所謂抽象就是將事務的相似方面集中和概括起來,暫時忽略它們之間的差異?;蛘哒f,抽象就是抽出事務的本質(zhì)特性而暫時不考慮它們的細節(jié).9.活動圖與狀態(tài)圖的區(qū)別?答:(1)描述的重點不同:活動圖描述的是從活動到活動的控制流;狀態(tài)圖描述的是對象的狀態(tài)及狀態(tài)之間的轉(zhuǎn)移。(2)使用的場合不同:在分析用例、理解涉及多個用例的工作流、處理多線程應用等情況下,一般使用活動圖;在顯示一個對象在其生命周期內(nèi)的行為時,一般使用狀態(tài)圖。7.等價分類法的基本思想是什么?答:根據(jù)程序的輸入特性,將程序的定義域劃分

11、為有限個等價區(qū)段“等價類”,從等價類中選擇出的用例具有“代表性”,即測試某個等價類的代表值就等價于對這一類其他值的測試。如果某個等價類的一個輸入數(shù)據(jù)(代表值)測試中查出了錯誤,說明該類中其他測試用例也會有錯誤。13試分析結(jié)構(gòu)化方法存在的主要問題是什么?答1結(jié)構(gòu)化方法分析和設(shè)計階段所應用的模型之間存在鴻溝。分析階段的主要模型是數(shù)據(jù)流程圖,設(shè)計階段的主要模型是軟件模塊結(jié)構(gòu)圖,數(shù)據(jù)流程圖和軟件模塊結(jié)構(gòu)圖之間需要進行轉(zhuǎn)換。不同的人轉(zhuǎn)換出的模塊圖可能不同,有很大的隨意性。2需求分析的細化程度沒有標準,只能憑借分析人員的經(jīng)驗自己把握;需求分析的過程是在一種瀑布形式,當需求變更時,功能變化就會導致軟件模塊結(jié)

12、構(gòu)發(fā)生變化,造成了軟件結(jié)構(gòu)不穩(wěn)定。3結(jié)構(gòu)化程序設(shè)計將數(shù)據(jù)定義與處理數(shù)據(jù)的過程相分離,不利于軟件復用。4結(jié)構(gòu)化方法設(shè)計的軟件結(jié)構(gòu)不穩(wěn)定,缺乏靈活性,可維護性差。14、請說明判定表的作用及其結(jié)構(gòu)。判定表是結(jié)構(gòu)花設(shè)計的工具,用于描述多重條件的處理。分為4各部分:條件列表、條件組合、操作列表、特定條件下的操作組合。16、結(jié)構(gòu)化程序設(shè)計的特征是什么?結(jié)構(gòu)化程序設(shè)計的特征如下:程序模塊只有一個入口和一個出口、程序中只包含順序、條件和循環(huán)三種控制結(jié)構(gòu)。3. 簡述結(jié)構(gòu)化分析的主要步驟答:(1)根據(jù)用戶的需求畫出初始的數(shù)據(jù)流程圖,寫出數(shù)據(jù)字典和初始的加工處理說明(IPO圖),實體關(guān)系圖。( 2)以初始數(shù)據(jù)流程圖

13、為基礎(chǔ),從數(shù)據(jù)流程圖的輸出端開始回溯。在對數(shù)據(jù)流程圖進行回溯的過程中可能會發(fā)現(xiàn)丟失的處理和數(shù)據(jù),應將數(shù)據(jù)流程圖補充完善。( 3)對軟件性能指標、接口定義、設(shè)計和實現(xiàn)的約束條件等逐一進行分析。( 4)系統(tǒng)分析人員與用戶一起對需求分析的結(jié)果進行復查。( 5)根據(jù)細化的需求修訂開發(fā)計劃。( 6)編寫需求規(guī)格說明書和初始的用戶手冊,測試人員開始編寫功能測試用的測試數(shù)據(jù)。1 8.什么是軟件危機?軟件危機表現(xiàn)在哪幾個方面?( 1)軟件危機是指在計算機軟件的開發(fā)和維護過程中,所遇到的一系列嚴重問題。( 2)典型表現(xiàn):開發(fā)費用和進度難以估算和控制,大大超過預期的資金和規(guī)定日期;軟件需求分析不夠充分,用戶不滿意

14、“已經(jīng)完成”的軟件系統(tǒng)。軟件質(zhì)量難于保證;軟件維護困難;通常沒有保留適當?shù)奈臋n資料開發(fā)成本逐年上升;軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢2軟件需求可以分為業(yè)務需求、用戶需求、功能需求和非功能需求,請分析功能需求和非功能需求的區(qū)別?答:( 1)功能需求定義了軟件開發(fā)人員必須實現(xiàn)的軟件功能。用戶從他們完成任務的角度對軟件提出了用戶需求,這些需求通常是凌亂的、非系統(tǒng)化的、有冗余的,開發(fā)人員不能據(jù)此編寫程序。軟件分析人員要充分理解用戶需求,將用戶需求整理成軟件功能需求。開發(fā)人員根據(jù)功能需求進行軟件設(shè)計和編碼。( 2)非功能需求是對功能需求的補充,可以分兩類。一類對用戶來說是

15、最重要的屬性,包括有效性、高效性、靈活性、完整性、互操作性、可靠性、健壯性、可用性。另一類對開發(fā)者來說是很重要的質(zhì)量屬性,包括可維護性、可移植性、可重用性、可測試性。4什么是軟件?如何評價軟件的質(zhì)量?答:(1)軟件是程序以及開發(fā)、使用和維護程序所需的所有文檔。( 2)軟件質(zhì)量從可維護性、可靠性、可理解性和效率等方面對軟件作較全面的評價。5.為了提高軟件的可維護性,在軟件開發(fā)過程的各個階段要充分考慮軟件的可維護性因素。答:(1)在需求分析階段應該明確維護的范圍和責任,檢查每條需求,分析維護時這條需求可能需要的支持,對于那些可能發(fā)生變化的需求要考慮系統(tǒng)的應 變能力。(2)在設(shè)計階段應該做一些表更實

16、驗,檢查系統(tǒng)的可維護性、靈活性和可移植性, 設(shè)計時應該將今后可能變更的內(nèi)容與答:判斷覆蓋標準為,丕僅使條語句都至少執(zhí)行一次,還要是4程序中每個分支都至少執(zhí)行一次。也就是說,設(shè)計的測試用例使每個判定都有一次取“真”和仃假”的機會,。一測試用例(丕唯一):16Db=l1o16t-0b10c=15*其他部分分離出來,并且遵循高內(nèi)聚、低耦合的原則。(3)編碼階段要保持源程序與文檔的一致性、源程序的可理解性和規(guī)范性。(4)在測試階段測試人員應該按照需求文檔和設(shè)計文檔測試軟件的有效性和可用性,收集出錯信息并進行分類統(tǒng)計,為今后的維護打下基礎(chǔ)。10.設(shè)計下列偽程序的判定覆蓋測試用例。BEGININPUT(a

17、,b,c,x,y,z,t);IF(a>10)THENx=10ELSEx=1ENDIFIF(b>10)AND(t<3)THENy=20ELSEy=2ENDIFIF(c>15)THENz=30ELSEz=3ENDIFPRINT(x,y,z)END3、讀懂下面的程序,調(diào)整格式,使其更容易理解,并添加注釋。intmain()inta10;for(inti=0;i<10;i+)scanf("%d',ai);intmax=a0,min=a1;for(intj=0;j<10;j+)max=(max>aj?max:aj);min=(min<aj

18、?min:aj);printf("max=%d",max);printf("min=%d",min);printf("n");return0;答案:¥ini u:ain 0*int a_10_ :+'。讀入10個數(shù)據(jù)/:cr fint i =0;i<10;1+-) "VWWw岑一flRf上飛產(chǎn) 'EK存放最大值J Din存放最小值/n& max=a_0_; i.in=a_0 >'。從10個數(shù)中發(fā)現(xiàn)最大、最小值加(int j = 0: j<10:( /gdn=lxin

19、<alj?ii:in:aljl) j+J出結(jié)果四山二£"min=;*還王旦© 0;*16 / 75、一個程序片段如下,請設(shè)計符合判定覆蓋的測試用例。if(a>=5)&&(b<0)c=a+b;elsec=a-b;if(c>5)|(c<1)printf(“c不在計算區(qū)域n”)elseprintf(“%dn”,c);答案條件:a>=5b<0a>=5b<0c<11<c<5a=5,b=5,c=0;符合判定覆蓋的測試用例(不唯一):a=5,b=-1,c=4;4.設(shè)計下列偽程序的語句覆蓋測試

20、用例。BEGININPUT(A,B,C)IFA>5THENX=10ELSEX=1ENDIFIFB>10THENY=20ELSEY=2ENDIFIFC>15THENZ=30ELSEZ=3ENDIFPRINT(X,Y,Z)END答:因為每個判定表達式為真或假時均有賦值語句,為了使每個語句都至少執(zhí)行一次,總共需要兩組測試數(shù)據(jù),以便使得每個判定表達式取值為真或假各一次。下面是實現(xiàn)語句覆蓋的典型測試用例:(1)使3個判定表達式之值全為假輸入:A=1,B=1,C=1預期的輸出:X=1,Y=2,Z=3(2)使3個判定表達式之值全為真輸入:A=20,B=40,C=60預期的輸出:X=10,Y=20,Z=3010設(shè)計下列偽程序的條件組合覆蓋測試用例。BEGININPUT(A,B)IF(A>0)AND(B>0)THENX=A+BELSEX=A-BENDIF(C>A)OR(D<B)THENY=C-DELSEY=C+DENDPRINT(X,Y)END答:條件組合覆蓋標準為,使得每個判定表達式中條件的各種可能組合都至少出現(xiàn)一次。本程序中共有兩個判定表達式,每個判定表達式中有兩個簡單條件,因此,總共有8種可能的條件組合,它們是:A>0,B>0A>0,B<=0A<=0,B>0A<=0,B<=0C>A,

溫馨提示

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

評論

0/150

提交評論