




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
/復(fù)習(xí)思索題軟件工程概論試說明“軟件生命周期”的概念。同任何事物一樣,一個軟件產(chǎn)品或軟件系統(tǒng)也要閱歷孕育、誕生、成長、成熟、衰亡等階段,一般稱為軟件生存周期(軟件生命周期)。論述瀑布模型軟件開發(fā)方法的基本過程。瀑布模型規(guī)定了各項軟件工程活動,包括:制定軟件項目支配,進行需求分析和定義,軟件設(shè)計,程序編碼,測試及運行維護。并且規(guī)定了它們自上而下,相互連接的固定次序,如同瀑布流水,逐級下落。軟件工程的基本原理有哪些?1.用分階段的生命周期支配嚴(yán)格管理2.堅持進行階段評審3.實行嚴(yán)格的產(chǎn)品限制4.接受現(xiàn)代程序設(shè)計技術(shù)5.結(jié)果應(yīng)能清楚地審查6.開發(fā)小組的人員應(yīng)當(dāng)少而精7.承認(rèn)不斷改進軟件工程實踐的必要性從供選擇的答案中選出正確答案填入下列敘述中的()內(nèi)。(1)軟件開發(fā)時,一個錯誤發(fā)覺得越晚,為改正它所付出的代價就()。越大B)越小C)越不行捉摸D)越接近平均水平(2)功能模型中描述處理流程的最基本成分為()。A)數(shù)據(jù)流圖和數(shù)據(jù)結(jié)構(gòu)圖B)數(shù)據(jù)流圖和程序流程圖C)程序流程圖和數(shù)據(jù)結(jié)構(gòu)圖D)數(shù)據(jù)流圖和數(shù)據(jù)詞典(3)模塊內(nèi)聚用于衡量模塊內(nèi)部各成分之間彼此結(jié)合的緊密程度。若一組語句在程序的多處出現(xiàn),為了節(jié)約空間把這些語句放在一個模塊中,則該模塊的內(nèi)聚類型是()。A)功能內(nèi)聚B)通信內(nèi)聚C)偶然內(nèi)聚D)邏輯內(nèi)聚(5)結(jié)構(gòu)化分析方法(SA)是在軟件開發(fā)過程中常用的方法,這個方法接受的基本手段是()。A)分解和抽象B)分解和綜合C)歸納和推導(dǎo)D)摸索和回溯(6)原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互過程,適用于()系統(tǒng)。A)需求不確定性高的B)需求確定的C)管理信息D)決策支持(7)軟件測試的目的是()。A)評價軟件的質(zhì)量B)發(fā)覺軟件的錯誤C)找出軟件中的全部錯誤D)證明軟件是正確的(8)在軟件生存周期中,()階段所占的工作量最大,約70%。A)分析B)設(shè)計C)編碼D)測試E)維護(二)軟件需求分析軟件需求分析是軟件過程中交換看法最常見的步驟。為什么交換看法的途徑會經(jīng)常堵塞?軟件需求分析過程中,由于最初分析員對要解決的問題了解很少,用戶對問題的描述、對目標(biāo)軟件的要求也很凌亂、模糊,再加上分析員和用戶共同的學(xué)問領(lǐng)域不多,導(dǎo)致相互間通信的需求。首先,由于分析員和用戶之間須要通信的內(nèi)容相當(dāng)多,業(yè)務(wù)學(xué)問上的不足,表達方式的不足,可能對某些需求存在錯誤說明或誤會的可能性,造成需求的模糊性。其次,用戶和分析員之間經(jīng)常存在無意識的“我們和他們”的界限,不是按工作須要組成統(tǒng)一的精干的隊伍,而是各自定義自己的“版圖”,并通過一系列備忘錄、正式的看法書、文檔,以及提問和回答來相互通信。歷史已經(jīng)證明,這樣會產(chǎn)生大量誤會。忽視重要信息,無法建立成功的工作關(guān)系。數(shù)據(jù)流圖的作用是什么?它有哪些基本成分?數(shù)據(jù)流圖可以用來抽象地表示系統(tǒng)或軟件。它從信息傳遞和加工的角度,以圖形的方式刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程,同時可以按自頂向下、逐步分解的方法表示內(nèi)容不斷增加的數(shù)據(jù)流和功能微小環(huán)節(jié)。因此,數(shù)據(jù)流圖既供應(yīng)了功能建模的機制,也供應(yīng)了信息流建模的機制,從而可以建立起系統(tǒng)或軟件的功能模型。數(shù)據(jù)字典的作用是什么?它有哪些基本條目?數(shù)據(jù)字典(簡稱DD)是用來定義數(shù)據(jù)流圖中的各個成分的詳細含義的,它以一種精確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計及維護供應(yīng)了有關(guān)元素的一樣的定義和詳細的描述。他和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細定義而服務(wù)的,因此也像一般字典一樣,要把全部條目按確定的次序排列起來,以便查閱。數(shù)據(jù)字典有以下四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲、基本加工。數(shù)據(jù)項是組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。源點、終點不在系統(tǒng)之內(nèi),故一般不在字典中說明。從供選擇的答案中選出正確答案填入下列敘述中的()內(nèi)。原型化方法是用戶和設(shè)計者之間執(zhí)行的一種交互過程,適用于(A)系統(tǒng)。它從用戶界面設(shè)計起先,首先形成(B),用戶(C)并就(D)提出看法。它是一種(E)型的設(shè)計過程。A:①需求不確定性高的②需求確定的③管理信息④決策支持B:①用戶界面運用手冊②界面需求分析說明書③系統(tǒng)界面原型④完善的用戶界面C:①改進界面的設(shè)計②運用和不運用哪種編程語言③程序的結(jié)構(gòu)④運行界面原型D:①同意什么和不同意什么②運用和不運用哪種編程語言③程序的結(jié)構(gòu)④執(zhí)行速度是否滿足要求E:①自外向內(nèi)②自頂向下③自內(nèi)向外④自底向上(三)軟件設(shè)計模塊獨立性和信息隱藏有何關(guān)系?模塊的內(nèi)聚程度和模塊在分層結(jié)構(gòu)中的位置有關(guān)系嗎?說明你的論據(jù)。答案:模塊的內(nèi)聚性和該模塊在分層模塊結(jié)構(gòu)中的位置無關(guān)。事實上,一個好的模塊化的程序系統(tǒng),它全部的模塊可以都是功能內(nèi)聚的,即每一個模塊就只干了一件事。用結(jié)構(gòu)化設(shè)計方法建立起來的模塊結(jié)構(gòu)中的每一個模塊都符合這個要求。把探討范圍再拓寬點,在純面對對象范型的軟件系統(tǒng)中,整個系統(tǒng)看作是一個類,它的子類可以看作是系統(tǒng)的子系統(tǒng)或高層模塊,它們還可以有子類,……,這就形成一個類的層次結(jié)構(gòu)。類的構(gòu)造可以看成是一個抽象數(shù)據(jù)類型,事實上是信息內(nèi)聚的。所以整個系統(tǒng)中從上到下,全部模塊(對象類)都是信息內(nèi)聚的模塊。耦合的概念和軟件的可移植性有什么關(guān)系?請舉例說明你的論述。耦合是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的度量。耦合強弱取決于模塊之間接口的困難程度。在軟件設(shè)計的時候應(yīng)當(dāng)追求盡可能松散耦合系統(tǒng)。由于模塊之間聯(lián)系簡潔,發(fā)生在一處的錯誤傳播到整個系統(tǒng)的可能性很小,因此,模塊之間的耦合程度對系統(tǒng)的可理解性,可測試性,牢靠性和可維護性有很重要的影響。內(nèi)聚是對模塊內(nèi)各元素彼此結(jié)合的緊密程度的度量。從供選擇的答案中選出正確答案填入下列關(guān)于軟件設(shè)計敘述中的()內(nèi)。在眾多的設(shè)計方法中,SD方法是最受人留意的,也是應(yīng)用最廣泛的。這種方法可以同分析階段的(A)方法及編程階段的(B)方法前后連接。SD方法是考慮如何建立一個結(jié)構(gòu)良好的程序,提出了評價模塊質(zhì)量的兩個詳細標(biāo)準(zhǔn)——塊間聯(lián)系和塊內(nèi)聯(lián)系。SD方法的最終目標(biāo)是(C)。A,B:①Jackson(B)②SA(A)③SC④ParnasC:①塊間聯(lián)系大,塊內(nèi)聯(lián)系?、趬K間聯(lián)系大,塊內(nèi)聯(lián)系大③塊間聯(lián)系小,塊內(nèi)聯(lián)系?、軌K間聯(lián)系小,塊內(nèi)聯(lián)系大從下列關(guān)于模塊化程序設(shè)計的敘述中選出5條正確的敘述。程序設(shè)計比較便利,但比較難以維護。便于由多個人分工編制大型程序。軟件的功能便于擴充。程序易于理解,也便于排錯。在主存儲器能夠容納得下的前提下,應(yīng)使模塊盡可能大,以便削減模塊的個數(shù)。模塊之間的接口叫數(shù)據(jù)文件。只要模塊之間的接口關(guān)系不變,各模塊內(nèi)部實現(xiàn)微小環(huán)節(jié)的修改將不會影響別的模塊。模塊間的單向調(diào)用關(guān)系叫做模塊的層次結(jié)構(gòu)。模塊越小,模塊化的優(yōu)點越明顯。一般來說,模塊的大小都在10行以下。6.從供選擇的答案中選出正確答案填入下列關(guān)于詳細設(shè)計敘述中的()內(nèi)。軟件詳細設(shè)計工具可分為三類,即圖示工具、表格工具和偽碼語言。圖示工具中,(A)簡潔且應(yīng)用廣泛,(B)表示法中,每個處理過程用一個盒子表示,盒子可以嵌套。(C)可以縱橫延長,圖形的空間效果好。(D)是一種設(shè)計語言,它是一種面對(E)的語言。 A,B,C:①NS圖(B)②流程圖(A)③HIPO圖④PAD圖(C)D:①C②PDL③Prolog④PascalE:①人②機器③數(shù)據(jù)結(jié)構(gòu)④對象(四)編碼結(jié)構(gòu)化程序設(shè)計有時被錯誤地稱為“無GOTO語句”的程序設(shè)計。請說明為什么會出現(xiàn)這樣的說法,并探討圍圍著這個問題的一些爭論。嚴(yán)格限制GOTO語句,僅在用一個非結(jié)構(gòu)化的程序設(shè)計語言去實現(xiàn)一個結(jié)構(gòu)化的構(gòu)造,或者在某種可以改善而不是損害程序可讀性的狀況下才可以運用GOTO語句。大量接受GOTO語句實現(xiàn)限制路徑,會使程序路徑變得困難而混亂,因此要限制GOTO語句的運用。但有時完全不用GOTO語句進行程序編碼,比用GOTO語句編出的程序可讀性差。例如,在查找結(jié)束時,文件訪問結(jié)束時,出現(xiàn)錯誤狀況要從循環(huán)中轉(zhuǎn)出時,運用布爾變量和條件結(jié)構(gòu)來實現(xiàn)就不如用GOTO語句來得簡潔易懂。從下列關(guān)于程序編制的敘述中選出3條正確的敘述。在編制程序之前,首先必需細致閱讀給定的程序說明書。然后,必需照實地依照說明書編寫程序。說明書中常會有模糊不清或難以理解的地方,程序員在作業(yè)時應(yīng)當(dāng)對這些地方作出適當(dāng)?shù)恼f明。在著手編制程序時,重要的是接受既能使程序正確地按設(shè)計流程進行處理,又易于出錯的編寫方法。在編制程序時,首先應(yīng)當(dāng)對程序的結(jié)構(gòu)充分考慮,不要急于起先編程,而要象寫軟件文檔那樣,很好地琢磨程序具有什么樣的功能,這些功能任何支配,等等??紤]到以后的程序變更,為程序編寫完整的說明書是一項很重要的工作。只要有了完整的程序說明書,即使程序的編寫形式難以讓他人看懂也沒有什么關(guān)系。編制程序時不行缺少的條件是,程序的輸入和輸出數(shù)據(jù)的格式都應(yīng)確定。其它各項規(guī)定都是附帶的,無足輕重。作為一個好的程序,不僅處理速度要快,而且易讀易修改等也都是重要的條件。為了能得到這樣的程序,不僅要熟悉程序設(shè)計語言的語法,還要留意接受適當(dāng)?shù)囊?guī)程和單純的表現(xiàn)方法,留意使整個程序的結(jié)構(gòu)簡潔。從下列敘述中選出5條符合程序設(shè)計風(fēng)格指導(dǎo)原則的敘述。嵌套的重數(shù)應(yīng)加以限制。盡量多運用臨時變量。不濫用語言特色。不用可以省略的括號。應(yīng)盡可能把程序編得短些。運用有意義的變量名。把常見的局部優(yōu)化工作留給編譯程序去做。注解越少越好。程序的格式應(yīng)有助于讀者理解程序。應(yīng)盡可能多用GOTO語句。(五)軟件測試從供選擇的答案中選出應(yīng)填入下列()中的字句。軟件測試的目的是(A)。為了提高測試的效率,應(yīng)當(dāng)(B)。運用白盒測試方法時,確定測試數(shù)據(jù)應(yīng)依據(jù)(C)和指定的覆蓋標(biāo)準(zhǔn)。和設(shè)計測試數(shù)據(jù)無關(guān)的文檔是(D)。軟件的集成測試工作最好由(E)擔(dān)當(dāng),以提高集成測試的效果。A:①評價軟件的質(zhì)量②發(fā)覺軟件的錯誤③找出軟件中的全部錯誤④證明軟件是正確的B:①隨機地選取測試數(shù)據(jù)②取一切可能的輸入數(shù)據(jù)作為測試數(shù)據(jù)③在完成編碼以后制定軟件的測試支配④選擇發(fā)覺錯誤的可能性大的數(shù)據(jù)作為測試數(shù)據(jù)C:①程序的內(nèi)部邏輯②程序的困難程度③運用說明書④程序的功能D:①該軟件的設(shè)計文檔②程序的困難程度③源程序④項目開發(fā)支配E:①該軟件的設(shè)計人員②該軟件開發(fā)組的負(fù)責(zé)人③該軟件的編程人員④不屬于該軟件開發(fā)組的設(shè)計人員從供選擇的答案中選出同下列關(guān)于軟件測試的各條敘述關(guān)系最密切的字句。在意識到被測試模塊的內(nèi)部結(jié)構(gòu)或算法的狀況下進行測試。(⑨白盒測試)為了確認(rèn)用戶的需求,先作出系統(tǒng)的主要部分,提交給用戶試用。⑧原型在測試具有層次結(jié)構(gòu)的大型軟件時,有一種方法是從上層模塊起先,由上到下進行測試。此時,有必要用一些模塊替代尚未測試過的下層模塊。④樁(即存根模塊)A,B,C,D,E:①仿真器②代碼審查③模擬器④樁⑤驅(qū)動器 ⑥域測試⑦黑盒測試⑧原型⑨白盒測試⑩退化測試7.下面是一段求最大值的程序,其中datalist是數(shù)據(jù)表,n是datalist的長度。
intGetMax(intn,intdatalist[])
{
intk=0;
for(intj=1;j<n;j++)
if(datalist[j]>datalist[k])k=j;
returnk;
}
(1)畫出該程序的限制流圖,并計算其McCabe環(huán)路困難性。限制圖McCabe環(huán)路困難性:3
(2)用基本路徑覆蓋法給出測試路徑。Pathl:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…
(3)為各測試路徑設(shè)計測試用例。Path1:取n=1,datalist[0]=1,預(yù)期結(jié)果:k=0Path2:取:n=2,datalist[0]=1,datalist[1]=0,預(yù)期結(jié)果:k=0Path3:取n=2,datalist[0]=0,datalist[1]=1,預(yù)期結(jié)果:k=1【解析】本題考查對軟件測試概念和過程的理解,結(jié)合詳細實例運用各種測試技術(shù),學(xué)會測試用例設(shè)計、軟件測試和程序調(diào)試的方法。軟件測試是為了發(fā)覺錯誤而執(zhí)行程序的過程,其目的在于以最少的時間和人力系統(tǒng)地找出軟件中潛在的各種錯誤和缺陷。依據(jù)2004新大綱和最近兩次軟件設(shè)計師考試的真題,不難發(fā)覺各類系統(tǒng)分析理論的實例化考核比例慢慢升溫,只要讀者平常對這部分學(xué)問的實例多分析、多思索,這部分分?jǐn)?shù)其實不難拿到。答:1.限制流圖如下,McCabe環(huán)路困難性為3。
2.測試路徑:
Path1:①→③
Path2:①→②→④→⑥→…
Path3:①→②→⑤→⑥→…
3.測試用例:
Path1:取n=1,datalist[0]=1,
預(yù)期結(jié)果:k=0
Path2:取n=2,datalist[0]=1,datalist[1]=0,
預(yù)期結(jié)果:k=0
Path3:取n=2,datalist[0]=0,datalist[1]=1,
預(yù)期結(jié)果:k=18、對程序進行基本路徑的測試voidFunc(intnPosX,intnPosY){ while(nPosX>0){ intnSum=nPosX+nPosY; if(nSum>1){ nPosX--;nPosY--; } else{ if(nSum<-1)nPosX-=2; elsenPosX-=4; } } //endofwhile}步驟1:依據(jù)程序邏輯畫出流程圖步驟2:將流程圖轉(zhuǎn)換為流圖(1/2)步驟3:確定基本路徑的集合基本路徑流圖Cyclomatic困難度正好是基本路徑的數(shù)目V(G)=E–N+2V(G)=11-9+2=41-111-2,3-6-7-9-10-1-111-2,3-4,5-10-1-111-2,3-6-8-9-10-1-11步驟4:針對測試路徑設(shè)計測試用例1-11nPosX取-1,nPosY取隨意值1-2,3-4,5-10-1-11nPosX取1,nPosY取11-2,3-6-7-9-10-1–11nPosX取1,nPosY取-11-2,3-6-8-9-10-1-11nPosX取1,nPosY取-39、某模塊的源程序如下:Procedureexample(A,B:real;varx:real);BeginIf(A>1)and(B=0)Thenx:=X/A;If(A=2)or(X>1)Thenx:=x+1END對程序進行邏輯覆蓋的測試邏輯覆蓋法適用于白盒測試。有選擇地執(zhí)行程序中某些最有代表性的通路是對窮盡測試的唯一可行的替代方法。所謂邏輯覆蓋是對一系列測試過程的總稱,這組測試過程慢慢進行越來越完整的通路測試。測試數(shù)據(jù)執(zhí)行(或叫覆蓋)程序邏輯的標(biāo)準(zhǔn)大致有以下一些。條件覆蓋條件覆蓋的含義是,不僅每個語句至少執(zhí)行一次,而且使判定表達式中的每個條件都取到各種可能的結(jié)果。上例中只須要運用下面兩組測試數(shù)據(jù)就可以達到上述覆蓋標(biāo)準(zhǔn):I.A=2,B=0,X=4(滿足A>1,B=0,A=2和X>1的條件,執(zhí)行路徑sacbed)Ⅱ.A=1,B=1,X=1(滿足A≤1,B≠0,A≠2和X≤1的條件,執(zhí)行路徑sabd)條件覆蓋通常比判定覆蓋強,因為它使判定表達式中每個條件都取到了兩個不同的結(jié)果,判定覆蓋卻只關(guān)切整個判定表達式的值。但是,也可能有相反的狀況:雖然每個條件都取到了兩個不同的結(jié)果,判定表達式卻始終只取一個值。例如,假如運用下面兩組測試數(shù)據(jù),則只滿足條件覆蓋標(biāo)準(zhǔn)并不滿足判定覆蓋標(biāo)準(zhǔn)(其次個判定表達式的值總為真):I.A=2,B=0,X=1(滿足A>1,B=0,A=2和X≤1的條件,執(zhí)行路徑sacbed)Ⅱ.A=1,B=1,X=2(滿足:A≤1,B≠0,A≠2和X>1的條件,執(zhí)行路徑sabed)(六)面對對象軟件工程由RumBaugh等人提出的一種面對對象方法叫做模型化技術(shù),即三視點技術(shù),它要求把分析時收集的信息建立在三個模型中。第一個模型是(A),其作用是描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括構(gòu)成系統(tǒng)的對象和類,它們的屬性和操作,以及它們之間的聯(lián)系。其次個模型是(B),描述系統(tǒng)的限制邏輯,主要涉及系統(tǒng)中各個對象和類的時序及變更狀況。(B)包括兩種圖,即(C)和(D)。(C)描述每一類對象的行為,(D)描述發(fā)生于系統(tǒng)執(zhí)行過程中的某一特定腳本。第三個模型是(E),著重于描述系統(tǒng)內(nèi)部數(shù)據(jù)的傳送和處理,它由多個數(shù)據(jù)流圖組成。
A,B,E:①數(shù)據(jù)模型②功能模型(E)③行為模型④信息模型⑤原型 ⑥動態(tài)模型(B)⑦對象模型(A)⑧邏輯模型⑨限制模型⑩仿真模型C,D:①對象圖②概念模型圖③狀態(tài)遷移圖(C)④數(shù)據(jù)流圖⑤時序圖 ⑥事務(wù)追蹤圖(D)⑦限制流程圖⑧邏輯模擬圖⑨仿真圖⑩行為圖從供選擇的答案中選出正確答案填入下列敘述的()內(nèi)。面對對象型的程序設(shè)計語言具有數(shù)據(jù)抽象、信息隱藏、(A)等特征。作為運算單位的對象應(yīng)具有下列特性:(B)、(C)、(D)。(E)是面對對象型的語言。 A:①對象調(diào)用②對象變換③非過程性④信息繼承⑤并發(fā)性 B,C,D:①對象把數(shù)據(jù)和處理數(shù)據(jù)的操作結(jié)合為一體②在程序運行時對象都處于活動狀態(tài)③對象在計算中可向其它對象發(fā)送消息④接受消息的對象必需給消息發(fā)送者以回答⑤對象的內(nèi)部服務(wù)只依據(jù)外部送來的消息才操作 E:①C++,Smalltalk,ObjectC②C,Ada,Modula2③Pascal,C++,APL④Ada,ObjectC,C(七)軟件管理什么是軟件項目管理?軟件項目管理是為了使軟件項目能夠依據(jù)預(yù)定的成本、進度、質(zhì)量順當(dāng)完成,而對人員(People)、產(chǎn)品(Product)、過程(Process)和項目(Project)進行分析和管理的活動.什么是配置管理?它的四項基本功能是什么?配置管理(ConfigurationManagement,CM)是通過技術(shù)或行政手段對軟件產(chǎn)品及其開發(fā)過程和生命周期進行限制、規(guī)范的一系列措施并行開發(fā)支持修訂版管理版本限制產(chǎn)品發(fā)布管理建立管理過程限制變更請求管理代碼共享什么是基線?它在配置管理中有什么作用?簡述配置管理的五項主要任務(wù)。從供選擇的答案中選出正確答案填入下列敘述的()內(nèi)。任何軟件項目都必需作好項目管理工作,最常運用的支配管理工具是(A)。當(dāng)某一軟件項目的進度有可能拖延時,應(yīng)當(dāng)(B)。對于一個典型的開發(fā)項目,各開發(fā)階段需投入的工作量的百分比大致是(C)。各階段所需不同層次的技術(shù)人員大致是(D),而管理人員在各階段所需數(shù)量也不同,相對而言大致是(E)。 A:①數(shù)據(jù)流圖②程序結(jié)構(gòu)圖③因果圖④PERT圖B:①增加新的開發(fā)人員②分析拖期緣由加以補救③從別的小組抽調(diào)人員臨時幫忙④推遲預(yù)定完成時間(A/D/P/T)C:①25/25/25/25②10/20/30/40③15/30/15/40④5/10/65/30D:①初/高/高/高②中/中/高/中③高/中高/初/中高④中/中高/中/初E:①多/中/少/中②中/中/中/中③多/少/多/多④少/多/少/多從下列關(guān)于文檔編制的敘述中選出正確的敘述。可行性探討報告應(yīng)評述為了合理地達到開發(fā)目標(biāo)而困難選擇的各種方案,以便用戶選擇。因此,編寫者不必提出結(jié)論。操作手冊的編寫工作應(yīng)當(dāng)在軟件測試階段之前完成。軟件的開發(fā)單位應(yīng)當(dāng)建立本單位文檔的標(biāo)識方法,使文檔的每一頁都具有明確的標(biāo)識。為了使得文檔便于修改,保持一樣性,各文檔的內(nèi)容不應(yīng)有相互重復(fù)的地方。用戶手冊要運用特地的術(shù)語,并充分地描述該軟件系統(tǒng)的結(jié)構(gòu)及運用方法。詳細設(shè)計說明書中可以運用判定表及必要的說明來表示程序的邏輯。概要設(shè)計說明書中可以IPO圖來說明接口設(shè)計。測試分析報告應(yīng)把每個模塊實際測試的結(jié)果,和軟件需求規(guī)格說明書和概要設(shè)計說明書中規(guī)定的要求進行比照并作出結(jié)論。軟件需求規(guī)格說明書中可以對軟件的操作人員和維護人員的教化水平和技術(shù)專長提出要求。項目開發(fā)支配除去規(guī)定項目開發(fā)所需的資源、開發(fā)的進度等以外,還可以包括用戶培訓(xùn)支配。軟件過程實力成熟度的5個等級是:初始級、可重復(fù)級、_____、_____和_____。CMM(軟件過程實力成熟度模型)是英文_____的縮寫。在軟件測試中,假如一個軟件是給許多客戶運用的,那么讓每一個用戶都進行正式的接收測試是不切實際的。因此軟件廠商經(jīng)常進行這樣的測試:一種測試是由軟件的最終用戶在一個或多個用戶場所進行,開發(fā)者通常不會在場,用戶記錄錯誤和問題并報告給開發(fā)者,這種測試叫_____;另一種測試由一個用戶在開發(fā)場所,用戶在開發(fā)者的“指導(dǎo)”下進行,開發(fā)者負(fù)責(zé)記錄錯誤和問題,這種測試叫____。(13)是指計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴(yán)峻問題。(14)從理論上說,只用依次結(jié)構(gòu)、、三種基本限制結(jié)構(gòu)就可以實現(xiàn)任何單入口單出口的程序。(15)通常,把一個軟件從定義、開發(fā)、、直到最終被廢棄所閱歷的漫長時期稱為。(16)造成軟件危機的主要緣由是。A.用戶運用不當(dāng)B.軟件本身特點C.硬件不行靠D.對軟件的錯誤相識E.缺乏好的開發(fā)方法和手段三、閱讀下面說明,畫出系統(tǒng)的第0層和第1層的數(shù)據(jù)流圖。1、某公司工資和考勤管理系統(tǒng)的功能描述:系統(tǒng)依據(jù)考勤管理員和人力資源部提交的考勤統(tǒng)計表和員工業(yè)績表更新員工基本信息文件;系統(tǒng)每月底向公司總經(jīng)理辦公室提交部門消耗表和員工消耗表,并接收公司總經(jīng)理辦公室下發(fā)的部門嘉獎/懲處清單;系統(tǒng)要隨時接收人力資源部提交的員工流淌登記表,隨時向其輸出公司考勤登記表,并更新員工基本信息文件??记谧酉到y(tǒng)首先處理員工的考勤狀況,然后輸出員工考勤通知單給工資處理子系統(tǒng)處理。2、某校準(zhǔn)備開發(fā)一個學(xué)生成果管理系統(tǒng)。在該系統(tǒng)中,教務(wù)人員錄入學(xué)生信息、課程信息和成果信息,學(xué)生可以隨時查詢自己所選課程的成果。由于學(xué)生成果屬于敏感信息,系統(tǒng)必需供應(yīng)必要的平安措施以防非法存取。請畫出該系統(tǒng)的三層數(shù)據(jù)流圖。3、一個考務(wù)處理系統(tǒng)的要求如下,試畫出該系統(tǒng)的數(shù)據(jù)流圖。
(1)對考生送來的報名表進行檢查;
(2)對合格的報名表編好準(zhǔn)考證號碼后將準(zhǔn)考證送給考生,并將匯總后的考生名單送給閱卷站;
(3)對閱卷站送來的成果表進行檢查,并依據(jù)考試中心指定的合格標(biāo)準(zhǔn)審定合格者;
(4)填寫考生通知單(內(nèi)容包含考試成果及合格∕不合格標(biāo)記),送給考生;
(5)按地區(qū)、年齡、文化程度、職業(yè)、考試級別等進行成果分類統(tǒng)計及試題難度分析,產(chǎn)生統(tǒng)計分析表。四、面對對象1、依據(jù)下面描述,畫出相應(yīng)的用例圖。在醫(yī)生的辦公室里,接待員、護士和醫(yī)生運用病人記錄和支配支配系統(tǒng)。當(dāng)病人第一次來這里看病時,接待員運用該系統(tǒng)來輸入病人信息,并且支配全部的預(yù)約。護士運用系統(tǒng)來跟蹤病人每次看病的結(jié)果并輸入護理病人的信息,如醫(yī)療和診斷。護士也可以訪問這些信息以打印病人診斷結(jié)果或病人看病歷史。醫(yī)生主要用這個系統(tǒng)來查看病人的病史,間或也輸入病人醫(yī)療信息,但通常讓護士輸入這些信息。2、填空題
(1)在學(xué)校中,一個學(xué)生可以選修多門課程,一門課程可以由多個學(xué)生選修,那么學(xué)生和課程之間
關(guān)聯(lián)關(guān)系。
(2)類A的一個操作調(diào)用類B的一個操作,且這兩個類之間不存在其他關(guān)系,那么類A和類B之間是依靠關(guān)系。3)接口及其實現(xiàn)類或構(gòu)件之間是
實現(xiàn)關(guān)系。
4)一個汽車有四個輪子,那么類"汽車"和"輪子"之間的關(guān)系是聚合關(guān)系。
5)學(xué)生和探討生之間是
泛化關(guān)系。3、在系統(tǒng)開發(fā)過程中為什么須要建立模型?在系統(tǒng)開發(fā)過程中,建立模型的一個重要緣由在于描述系統(tǒng)的困難性。信息系統(tǒng)特殊困難,而且系統(tǒng)的某些部分難以明白。系統(tǒng)各個部分的模型有助于問題的簡化,并能夠使分析人員的精力一次只集中在系統(tǒng)的幾個方面上。同時,分析人員須要收集和處理大量的信息,模型供應(yīng)了以一種簡潔理解的形式為后期運用存儲信息的方法。
建立模型的另一個主要緣由是便于溝通。開發(fā)人員可以運用模型探討和溝通系統(tǒng)的設(shè)計方案,用戶可以從模型中更好地理解新系統(tǒng)所能供應(yīng)的各種可能的功能,因此,模型在支持小組人員之間和和用戶的溝通過程中起著重要的作用。
最終,模型為以后的軟件維護和升級供應(yīng)了文檔。
由于系統(tǒng)的困難性,須要建立多個模型來涵蓋微小環(huán)節(jié)信息,還須要運用許多不同類型的模型在不同的微小環(huán)節(jié)由于系統(tǒng)的困難性,須要建立多個模型來涵蓋微小環(huán)節(jié)信息,還須要運用許多不同類型的模型在不同的微小環(huán)節(jié)層次(或不同抽象層次)上表現(xiàn)系統(tǒng),既包括在高層次上對系統(tǒng)的概括,也包括針對系統(tǒng)某一方面的微小環(huán)節(jié)描述。
4、和傳統(tǒng)的結(jié)構(gòu)化方法相比,面對對象開發(fā)方法具有什么優(yōu)點?面對對象方法和傳統(tǒng)的軟件開發(fā)方法相比,具有許多顯著的優(yōu)點,其主要優(yōu)點如下:
(1)依據(jù)人類的自然思維方式,面對客觀世界建立軟件系統(tǒng)模型,有利于對問題域和系統(tǒng)責(zé)任的理解,有利于人員溝通。
(2)在整個開發(fā)過程中接受統(tǒng)一的概念和模型表示,填平了語言之間的鴻溝,使得開發(fā)活動之間平滑過渡。
(3)對象所具有的封裝性和信息隱藏等特性,使其簡潔實現(xiàn)軟件復(fù)用。對象類可以派生出新類,類可以產(chǎn)生實例對象,從而實現(xiàn)了對象類的數(shù)據(jù)結(jié)構(gòu)和操作代碼的軟構(gòu)件的復(fù)用。另外,面對對象程序設(shè)計語言的開發(fā)環(huán)境一般預(yù)定義了系統(tǒng)動態(tài)連接庫,供應(yīng)大量公用程序代碼,避開重復(fù)編寫,提高了開發(fā)效率和質(zhì)量。
(4)在面對對象的方法中,系統(tǒng)由對象構(gòu)成,對象是一個包含屬性和操作兩方面的獨立單元,對象之間通過消息聯(lián)系。這樣的系統(tǒng)一旦出錯,簡潔定位和修改,系統(tǒng)的可維護性好。五、軟件維護為什么軟件須要維護?簡述軟件維護的過程。為什么說軟件維護是一項困難的工作?改正性維護和排錯(調(diào)試)是否是一回事?為什么?什么是軟件再工程?軟件再工程的意義是什么?1、在軟件開發(fā)完成交付用戶運用后,為了保證軟件在一個相當(dāng)長的時期能夠正常運行,就須要對軟件進行維護。
軟件維護的類型有4種:改正性維護、適應(yīng)性維護、完善性維護和預(yù)防性維護。
(1)改正性維護是要改正在特定的運用條件下暴露出來的一些潛在程序錯誤或設(shè)計缺陷;
(2)適應(yīng)性維護是要在軟件運用過程中數(shù)據(jù)環(huán)境發(fā)生變更或處理環(huán)境發(fā)生變更時修改軟件以適應(yīng)這種變更;
(3)完善性維護是在用戶和數(shù)據(jù)處理人員運用軟件過程中提出改進現(xiàn)有功能,增加新的功能,以及改善總體性能的要求后,修改軟件以把這些要求納入到軟件之中;
(4)預(yù)防性維護是為了提高軟件的可維護性、牢靠性等,事先接受先進的軟件工程方法對須要維護的軟件或軟件中的某一部分(重新)進行設(shè)計、編制和測試,為以后進一步改進軟件打下良好基礎(chǔ)。
軟件維護的過程如圖所示。首先是確認(rèn)維護要求,這須要維護人員和用戶反復(fù)協(xié)商,弄清錯誤概況以及對業(yè)務(wù)的影響大小,以及用戶希望做什么樣的修改,并把這些狀況存入故障數(shù)據(jù)庫。然后由維護組織管理員確認(rèn)維護類型,依據(jù)不同的維護類型實施不同的維護過程。
(1)對于改正性維護申請,從評價錯誤的嚴(yán)峻性起先。假如存在嚴(yán)峻的錯誤,則必需支配人員,在系統(tǒng)監(jiān)督員的指導(dǎo)下,進行問題分析,找尋錯誤發(fā)生的緣由,進行"救火"性的緊急維護;對于不嚴(yán)峻的錯誤,可依據(jù)任務(wù)、機時狀況、視輕重緩急,進行排隊,統(tǒng)一支配時間。
(2)對于適應(yīng)性維護和完善性維護申請,須要先確定每項申請的優(yōu)先次序。若某項申請的優(yōu)先級特殊高,就可立刻起先維護工作,否則,維護申請和其它的開發(fā)工作一樣,進行排隊,統(tǒng)一支配時間。
(3)并不是全部的完善性維護申請都必需擔(dān)當(dāng),因為進行完善性維護等于是做二次開發(fā),工作量很大,所以須要依據(jù)商業(yè)須要、可利用資源的狀況、目前和將來軟件的發(fā)展方向、以及其它的考慮,確定是否擔(dān)當(dāng)。
盡管維護申請的類型不同,但都要進行同樣的技術(shù)工作。這些工作包括:修改軟件需求說明、修改軟件設(shè)計、設(shè)計評審、對源程序做必要的修改、單元測試、集成測試(回來測試)、確認(rèn)測試、軟件配置評審等。在每次軟件維護任務(wù)完成后,最好進行一次狀況評審,對以下問題進行總結(jié):
§在目前狀況下,設(shè)計、編碼、測試中的哪一方面可以改進?
§哪些維護資源應(yīng)當(dāng)有但沒有?
§工作中主要的或次要的障礙是什么?
§從維護申請的類型來看是否應(yīng)當(dāng)有預(yù)防性維護?
狀況評審對將來的維護工作如何進行會產(chǎn)生重要的影響,并可為軟件機構(gòu)的有效管理供應(yīng)重要的反饋信息。
2、軟件維護是一件特殊困難的工作,由于軟件需求分析和開發(fā)方法產(chǎn)生軟件的缺陷,加上軟件開發(fā)過程中沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,便會引起軟件運行時的維護困難。
軟件維護不是一件吸引人的工作,由于維護工作的困難性,維護經(jīng)常遭受挫折,而且很難出成果,所以高水平的程序員自然不愿主動去做,而公司也舍不得讓高水平的程序員去做。
軟件維護工作的困難主要表現(xiàn)在以下幾個方面:
(1)讀懂別人的程序是很困難的,而文檔的不足更增加了這種難度。一般開發(fā)人員都有這樣的體會,修改別人的程序還不如自己重新編寫程序。
(2)文檔的不一樣性是軟件維護困難的又一個因素,主要表現(xiàn)在各種文檔之間的不一樣以及文檔和程序之間的不一樣性,從而導(dǎo)致維護人員不知所措,不知怎樣進行修改。這種不一樣性是由于開發(fā)過程中文檔管理不嚴(yán)造成的,開發(fā)中經(jīng)常會出現(xiàn)修改程序而忘了修改相關(guān)的文檔,或者某一個文檔修改了,卻沒有修改和之相關(guān)的其他文檔等現(xiàn)象,解決文檔不一樣性的方法就是要加強開發(fā)工作中文檔的版本管理。
(3)軟件開發(fā)和軟件維護在人員和時間上存在差異。假如軟件維護工作是由該軟件的開發(fā)人員完成,則維護工作相對比較簡潔,因為這些人員熟悉軟件的功能和結(jié)構(gòu)等。但是,通常開發(fā)人員和維護人員是不同的,況且維護階段持續(xù)時間很長,可能是10~20年的時間,原來的開發(fā)工具、方法和技術(shù)和當(dāng)前有很大的差異,這也造成了維護的困難。
(4)軟件維護不是一件吸引人的工作。由于維護工作的困難性,維護經(jīng)常遭受挫折,而且很難出成果,所以高水平的程序員自然不愿主動去做,而公司也舍不得讓高水平的程序員去做。
3、改錯性維護和"排錯(調(diào)試)"不是一個概念。
(1)調(diào)試是作為測試的后續(xù)工作而出現(xiàn)的,在測試發(fā)覺軟件中的錯誤之后,開發(fā)人員通過調(diào)試進一步診斷和改正程序中潛在的錯誤;在軟件交付運用后,由于開發(fā)時測試的不徹底、不完全,必定會有一部分隱藏的錯誤被帶到運行階段來,這些隱藏下來的錯誤在某些特定的運用環(huán)境下就會暴露出來。改正性維護是為了識別和訂正軟件錯誤、改正軟件性能上的缺陷、解除實施中的誤運用所進行的診斷和改正錯誤的過程。
(2)調(diào)試在程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年舞臺柱型噴泉煙花項目可行性研究報告
- 2025至2030年中國高壓膠管管件數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國金帆船數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國退磁線圈數(shù)據(jù)監(jiān)測研究報告
- 2025年滌棉精梳紗項目可行性研究報告
- 2025年汽車缸套項目可行性研究報告
- 就業(yè)服務(wù)合同范本
- 2025年異形罐三工位組合機項目可行性研究報告
- 2025至2030年中國男唐裝褲數(shù)據(jù)監(jiān)測研究報告
- 2025年中國紙袋包裝行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃報告
- 2025屆東方電氣集團校園招聘正式開啟筆試參考題庫附帶答案詳解
- DeepSeek科普學(xué)習(xí)解讀
- 2024年山東公務(wù)員考試申論試題(B卷)
- 家政服務(wù)員(母嬰護理員)五級模擬試題及答案
- 化工產(chǎn)品加工協(xié)議書范本
- 四年級數(shù)學(xué)(四則混合運算帶括號)計算題專項練習(xí)與答案
- 2024年中考語文(云南卷)真題詳細解讀及評析
- 電梯消防安全與維護
- 夜景照明吊繩施工方案
- 2025借款合同范本個人向公司借款
- 文化差異下的家庭教育與親子關(guān)系探討
評論
0/150
提交評論