第一篇:軟件工程復(fù)習(xí)資料
1.軟件是(程序及其文檔)。
2.從事物的組成部件及每個(gè)部件的屬性、功能來(lái)認(rèn)識(shí)事物。這種方法被稱為(面向?qū)ο?的方法。
3.程序的三種基本控制結(jié)構(gòu)是(順序、選擇和重復(fù))。
4.根據(jù)用戶在軟件使用過(guò)程中提出的建設(shè)性意見(jiàn)而進(jìn)行的維護(hù)活動(dòng)稱為(改善性維護(hù))。
5.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷?lèi)模型,即(對(duì)象模型、動(dòng)態(tài)模型、功能模型)。
6.可行性研究的步驟中不包括的內(nèi)容是(導(dǎo)出新系統(tǒng)高層邏輯模型)。7.軟件測(cè)試的目標(biāo)是(發(fā)現(xiàn)錯(cuò)誤、降低錯(cuò)誤帶來(lái)的風(fēng)險(xiǎn))。8.將軟件組裝成系統(tǒng)的一種測(cè)試技術(shù)叫(集成測(cè)試)。
9.技術(shù)可行性是可行性研究的關(guān)鍵,其主要內(nèi)容一般不包括(人員分析)。10.軟件生命周期中所花費(fèi)用最多的階段是(軟件維護(hù))11.(軟件有效性)指軟件系統(tǒng)的時(shí)間和空間效率。
12.在E-R模型中,包含以下基本成分(實(shí)體、聯(lián)系、屬性)。
13.軟件工程中的各種方法是完成軟件工程項(xiàng)目的技術(shù)手段,它們支持軟件工程的(各個(gè))階段。
14.軟件需求規(guī)格說(shuō)明的內(nèi)容不應(yīng)包括(算法的詳細(xì)描述)。
15.盒圖也稱為(N-S圖)。這種表達(dá)方式取消了流程線,它強(qiáng)迫程序員以結(jié)構(gòu)化方式思考和解決問(wèn)題。
16.從事物的屬性側(cè)面來(lái)描述事物的方法就是(面向數(shù)據(jù))的方法。9.以下不屬于白盒測(cè)試技術(shù)的是(等價(jià)類(lèi)劃分)。
17.為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的維護(hù)活動(dòng)稱為(糾錯(cuò)性維護(hù))18.一個(gè)模塊的(扇入數(shù))是指能直接控制該模塊的模塊數(shù)。19.軟件的發(fā)展經(jīng)歷了(三)個(gè)發(fā)展階段。
20.Jackson方法在需求分析階段的主要步驟不包括(了解實(shí)體行為)。21.實(shí)踐表明,確定發(fā)生錯(cuò)誤的位置和內(nèi)在原因所需的工作量幾乎占整個(gè)調(diào)試工作量的(90)%。
22.軟件工程過(guò)程中最普通應(yīng)用的是瀑布模型,下面敘述哪個(gè)不是它的主要特征(嚴(yán)格定義需求)
23.(類(lèi))是對(duì)具有共同特征的對(duì)象的進(jìn)一步抽象。13.為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)的軟件維護(hù)稱為(預(yù)防性維護(hù))。
24.為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)的軟件維護(hù)稱為(預(yù)防性維護(hù))。
25.按軟件的功能進(jìn)行劃分,軟件分為(系統(tǒng)軟件)、支撐軟件和應(yīng)用軟件。26.軟件定義的基本任務(wù)是確定軟件系統(tǒng)的工程(需求),也就是要搞清“做什么”。
27.數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),描繪信息和數(shù)據(jù)從輸入移動(dòng)到輸出的過(guò)程所經(jīng)受的變換。
28.任何一個(gè)基于計(jì)算機(jī)系統(tǒng)都可以用輸入-處理-輸出(IPO)圖來(lái)描述,它將該系統(tǒng)轉(zhuǎn)換成一個(gè)信息變換模型。
29.純收入衡量工程價(jià)值的經(jīng)濟(jì)指標(biāo)之一,它等于(折合現(xiàn)價(jià)的總收入-當(dāng)前投資額)30.以詳細(xì)設(shè)計(jì)說(shuō)明書(shū)為輸入,將該輸入用某種程序設(shè)計(jì)語(yǔ)言翻譯成計(jì)算機(jī)可以理解并最終可運(yùn)行的代碼的過(guò)程叫(編碼)過(guò)程。
31.驗(yàn)證軟件需求正確性的四個(gè)方面是一致性、完整性、現(xiàn)實(shí)性和(有效性)。32.(概要設(shè)計(jì)),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。33.改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性爭(zhēng)取(低耦合、高內(nèi)聚)。
34.軟件定義過(guò)程可通過(guò)軟件系統(tǒng)的可行性研究和(需求分析)兩個(gè)階段來(lái)完成。
35.(調(diào)試)的目的是確定錯(cuò)誤的位置和引起錯(cuò)誤的原因,并加以改正。36.面向(數(shù)據(jù)流)的設(shè)計(jì)方法是把信息流映射成軟件結(jié)構(gòu)。37.(軟件維護(hù))是軟件生命周期的最后一個(gè)階段。38.(軟件測(cè)試)的目標(biāo)是發(fā)現(xiàn)錯(cuò)誤、降低錯(cuò)誤帶來(lái)的風(fēng)險(xiǎn)。
39.為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)的軟件維護(hù)稱為(預(yù)防性維護(hù))。
40.文檔:一種數(shù)據(jù)媒體和其上所記錄的(數(shù)據(jù))。
41.程序的三種基本控制結(jié)構(gòu)是(順序)、(選擇)、(重復(fù))。42.軟件定義的基本任務(wù)是確定軟件系統(tǒng)的工程(需求),也就是要搞清“做什么”。
43.所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱(軟件問(wèn)題)報(bào)告。
44.軟件可靠性是指在給定的時(shí)間間隔內(nèi),程序成功運(yùn)行的(概率)。45.軟件工程過(guò)程中最普通應(yīng)用的是(瀑布)模型。46.軟件有效性,指軟件系統(tǒng)的時(shí)間和(空間)效率。47.高級(jí)語(yǔ)言:獨(dú)立于機(jī)器,面向過(guò)程或面向(對(duì)象)。
48.在軟件測(cè)試中,已知產(chǎn)品內(nèi)部工作過(guò)程,通過(guò)測(cè)試檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照產(chǎn)品規(guī)格說(shuō)明的規(guī)定正常進(jìn)行的方法稱為(白盒)測(cè)試法。
49.任何一個(gè)基于計(jì)算機(jī)系統(tǒng)都可以用輸入-處理-輸出(IPO)圖來(lái)描述,它將該系統(tǒng)轉(zhuǎn)換成一個(gè)信息變換模型。
50.面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷?lèi)模型,即對(duì)象模型、動(dòng)態(tài)模型、(功能模型)。
51.軟件工程由方法、工具和過(guò)程三部分組成,稱為(軟件工程)的三要素。52.軟件工程由(方法)、工具和過(guò)程三部分組成,稱為軟件工程的三要素。53.軟件測(cè)試的目標(biāo)是(發(fā)現(xiàn)錯(cuò)誤、降低錯(cuò)誤帶來(lái)的風(fēng)險(xiǎn))。54.(耦合度)是對(duì)軟件結(jié)構(gòu)中??扉g關(guān)聯(lián)程度的一種度量。
55.在E-R模型中,包含的基本成分有(實(shí)體)、聯(lián)系和屬性。
56.軟件定義過(guò)程可通過(guò)軟件系統(tǒng)的(可行性研究)和需求分析兩個(gè)階段來(lái)完成。
57.機(jī)器語(yǔ)言、匯編語(yǔ)言:依賴于機(jī)器,面向(機(jī)器)
58.調(diào)試的目的是確定錯(cuò)誤的位置和引起錯(cuò)誤的原因,并加以(改正)。59.將下面的關(guān)系按繼承關(guān)系、聚集關(guān)系或普通關(guān)聯(lián)進(jìn)行分類(lèi)。
小汽車(chē)---------紅旗轎車(chē)(繼承)小汽車(chē)---------駕駛員(普通關(guān)聯(lián))班級(jí)------------學(xué)生(聚集)60.以詳細(xì)設(shè)計(jì)說(shuō)明書(shū)為輸入,將該輸入用某種程序設(shè)計(jì)語(yǔ)言翻譯成計(jì)算機(jī)可以理解并最終可運(yùn)行的代碼的過(guò)程叫(編碼)過(guò)程。61.軟件維護(hù)是軟件生命周期的(最后)一個(gè)階段。62.將下列各項(xiàng)分為類(lèi)或類(lèi)的實(shí)例
我的汽車(chē)(實(shí)例)交通工具(類(lèi))63.用戶對(duì)軟件需求的描述不精確,往往是產(chǎn)生軟件危機(jī)的原因之一。64.一個(gè)好的開(kāi)發(fā)人員應(yīng)具備的素質(zhì)和能力包括善于與周?chē)藛T團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系,善于聽(tīng)取別人的意見(jiàn)。
65.面向數(shù)據(jù)的設(shè)計(jì)方法的適用場(chǎng)合是具有明顯的層次信息結(jié)構(gòu)的應(yīng)用如:企事業(yè)的信息管理系統(tǒng);系統(tǒng)軟件如操作系統(tǒng)等。
66.如果在分析階段和設(shè)計(jì)階段采用的是面向?qū)ο蟮姆椒?,而在編碼階段采用的是面向過(guò)程的語(yǔ)言,那么這種翻譯就比較困難。67.類(lèi)是對(duì)具有共同特征的對(duì)象的進(jìn)一步抽象。
68.軟件測(cè)試是對(duì)軟件規(guī)格說(shuō)明、軟件設(shè)計(jì)和編碼的最全面也是最后的審查。69.軟件開(kāi)發(fā)、設(shè)計(jì)幾乎都是從頭開(kāi)始,成本和進(jìn)度很難估計(jì)。70.缺乏有力的方法學(xué)的指導(dǎo)和有效的開(kāi)發(fā)工具的支持,這往往是產(chǎn)生軟件危機(jī)的原因之一。
71.流程圖也稱為程序框圖是最常用的一種表示法。
72.面向數(shù)據(jù)設(shè)計(jì)方法一般都包括下列任務(wù):確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復(fù)三種基本形式表示數(shù)據(jù)等步驟。73.軟件工程的出現(xiàn)主要是由于軟件危機(jī)的出現(xiàn)。
74.結(jié)構(gòu)化分析方法是一種預(yù)先嚴(yán)格定義需求的方法,它在實(shí)施時(shí)強(qiáng)調(diào)的是分析對(duì)象的數(shù)據(jù)流。
75.在信息系統(tǒng)的物理模型中,表示系統(tǒng)各個(gè)物理組成部分之間的數(shù)據(jù)流動(dòng)情況的工具是系統(tǒng)流程圖。
76.成本效益分析的目的是從經(jīng)濟(jì)角度評(píng)價(jià)開(kāi)發(fā)一個(gè)項(xiàng)目是否可行。
第二篇:軟件工程復(fù)習(xí)資料
軟件工程復(fù)習(xí)資料
一、熟悉和理解
(一)軟件工程概述
1.螺旋模型是在瀑布模型和增量模型的基礎(chǔ)上增加了風(fēng)險(xiǎn)分析活動(dòng),關(guān)鍵不足在于不能適應(yīng)需求的動(dòng)態(tài)變更。2.軟件不只是用程序設(shè)計(jì)語(yǔ)言(如PASCAL ,C,VISUAL BASIC 等)編寫(xiě)的程序,編寫(xiě)程序代碼只是軟件開(kāi)發(fā)的一個(gè)部分。
3.快速原型模型可以有效地適應(yīng)用戶需求的動(dòng)態(tài)變化。4.生產(chǎn)高質(zhì)量的軟件產(chǎn)品是軟件工程的首要目標(biāo)。5.軟件開(kāi)發(fā)人員對(duì)用戶需求的理解有偏差,這將導(dǎo)致軟件產(chǎn)品與用戶的需求不一致,是產(chǎn)生軟件危機(jī)的一個(gè)原因。6.開(kāi)發(fā)一個(gè)軟件項(xiàng)目總存在某些不確定性,即存在風(fēng)險(xiǎn).有些風(fēng)險(xiǎn)如果控制得不好,可能導(dǎo)致災(zāi)難性的后果。7.缺乏處理大型軟件項(xiàng)目的經(jīng)驗(yàn).是產(chǎn)生軟件危機(jī)的一個(gè)原因。
8.瀑布模型本質(zhì)上是一種線性順序模型,增量模型本質(zhì)上是一種快速原型模型。
9.可行性分析是在系統(tǒng)開(kāi)發(fā)的早期所做的一項(xiàng)重要的論 證工作,它是決定該系統(tǒng)是否開(kāi)發(fā)的決策依據(jù),因必須給出可行或不可行的回答。
10. 軟件生存周期模型包括瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型等。11. 軟件是一種邏輯產(chǎn)品。
12. “軟件危機(jī)”是指軟件開(kāi)發(fā)和維護(hù)中出現(xiàn)的一系列問(wèn)題,成本高、生產(chǎn)率低、質(zhì)量得不到保證、需求不能充分理解都是是軟件危機(jī)的表現(xiàn)形式。
13. 原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互過(guò)程,適用于需求不確定性高的系統(tǒng)。
14. 軟件工程中的各種方法是完成軟件工程項(xiàng)目的技術(shù)手段,它們支持軟件工程的各個(gè)階段.15. 研究開(kāi)發(fā)所需要的成本和資源是屬于可行性研究中的經(jīng)濟(jì)可行性研究的一方面。
16. 快速原型模型的主要特點(diǎn)之一是及早提供工作軟件。
17. 軟件工程由方法,工具和過(guò)程三部分組成,稱軟件工程的三要素.18. 基于計(jì)算機(jī)系統(tǒng)的軟件要素中的軟部件由程序,數(shù)據(jù)和文檔組成.19. 瀑布模型是以文檔為驅(qū)動(dòng)、適合于軟件需求明確的軟件項(xiàng)目的模型。20. 螺旋模型是風(fēng)險(xiǎn)驅(qū)動(dòng)的,而瀑布模型是文檔驅(qū)動(dòng)的。21. 從事物的組成部件及每個(gè)部件的屬性,功能來(lái)認(rèn)識(shí)事物.這種方法被稱為面向?qū)ο蟮姆椒ā?/p>
22. 從事物的屬性側(cè)面來(lái)描述事物的方法就是面向數(shù)據(jù)的方法。
23. 面向?qū)ο?Object Oriented)方法是將現(xiàn)實(shí)世界的事物以對(duì)象的方式映射到計(jì)算機(jī)世界的方法。
(二)軟件項(xiàng)目管理
24. 一個(gè)好的開(kāi)發(fā)人員應(yīng)具備的素質(zhì)和能力包括善于與周?chē)藛T團(tuán)結(jié)協(xié)作,建立良好的人際關(guān)系,善于聽(tīng)取別人的意見(jiàn),具有良好的書(shū)面和口頭表達(dá)能力。
25. 為了充分發(fā)揮開(kāi)發(fā)人員的潛力,縮短工期,軟件工程項(xiàng)目的任務(wù)分解與安排應(yīng)盡力挖掘可并行開(kāi)發(fā)的部分。26. 任務(wù)是管理有關(guān)項(xiàng)目工作的最小的單元。27. 任務(wù)是一項(xiàng)已經(jīng)定義得很好的工作,該工作可分配給一個(gè)項(xiàng)目參與者或分配給一個(gè)團(tuán)隊(duì)。
(三)需求分析
28. 軟件需求是指用戶對(duì)目標(biāo)軟件系統(tǒng)在功能,性能,行為,設(shè)計(jì)約束等方面的期望.29. 數(shù)據(jù)流圖就是用來(lái)刻畫(huà)數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建 3 模技術(shù)。
30. 用戶對(duì)軟件需求的描述不精確,往往是產(chǎn)生軟件危機(jī)的原因之一。
31. 需求分析階段的成果主要是需求規(guī)格說(shuō)明,該成果與軟件設(shè)計(jì),編碼,測(cè)試直至維護(hù)都有較大關(guān)系。
32. 需求規(guī)格說(shuō)明書(shū)是需求分析階段最重要的技術(shù)文檔之一
33. 需求分析最終結(jié)果是產(chǎn)生需求規(guī)格說(shuō)明書(shū) 34. DFD中的每個(gè)加工至少需要一個(gè)輸入流和一個(gè)輸出流。
35. 需求分析階段的任務(wù)是確定軟件系統(tǒng)的功能 36. 需求分析的任務(wù)不包括系統(tǒng)設(shè)計(jì)。
37. 需求規(guī)格說(shuō)明書(shū)的作用包括:作為軟件驗(yàn)收的依據(jù)、用戶與開(kāi)發(fā)人員對(duì)軟件要做什么的共同理解、作為軟件設(shè)計(jì)的依據(jù)等
38. 在結(jié)構(gòu)化分析方法中,用以表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的運(yùn)動(dòng)情況的工具有數(shù)據(jù)流圖。
39. 結(jié)構(gòu)化分析方法(SA)是一種面向數(shù)據(jù)流的需求分析方法.
40. 驗(yàn)證軟件需求正確性的四個(gè)方面包括一致性、完整性、現(xiàn)實(shí)性、有效性。
41. 在面向?qū)ο筌浖_(kāi)發(fā)方法中,類(lèi)與類(lèi)之間主要有繼 承和聚集的關(guān)系。
42. 面向?qū)ο蟮奶卣髦饕ǘ鄳B(tài)性、繼承性、封裝性。43. 軟件開(kāi)發(fā)過(guò)程中,抽取和整理用戶需求并建立問(wèn)題域精確模型的過(guò)程叫面向?qū)ο蟮姆治觥?/p>
(四)概要設(shè)計(jì)
44. 軟件概要設(shè)計(jì)的主要任務(wù)就是軟件結(jié)構(gòu)的設(shè)計(jì),面向數(shù)據(jù)流的設(shè)計(jì)方法是將數(shù)據(jù)流映射成軟件結(jié)構(gòu)。45. 軟件模塊之間的耦合性越弱越好。
46. 模塊化,信息隱藏,抽象和逐步求精的軟件設(shè)計(jì)原則有助于得到高內(nèi)聚,低耦合度的軟件產(chǎn)品。
47. 內(nèi)聚度標(biāo)志一個(gè)模塊內(nèi)部各成分彼此結(jié)合的緊密程度,按其高低程度可分為七級(jí),內(nèi)聚度越高越好。
48. 在模塊耦合性類(lèi)型中,模塊之間獨(dú)立性最差的類(lèi)型是內(nèi)容耦合,在實(shí)際編程時(shí)一定要避免出現(xiàn),為了提高模塊的獨(dú)立性,模塊之間最好是數(shù)據(jù)耦合。模塊耦合越弱,則說(shuō)明模塊的獨(dú)立性強(qiáng)。
49. 在軟件結(jié)構(gòu)圖中,扇入數(shù)大說(shuō)明該模塊的重用率高。50. 為了提高模塊的獨(dú)立性,模塊內(nèi)部最好是功能內(nèi)聚,模塊的內(nèi)聚性最高的是功能內(nèi)聚。
51. 軟件結(jié)構(gòu)圖中,模塊框之間若有直線連接,表示它們之間存在調(diào)用關(guān)系一個(gè)軟件的寬度是指其控制的跨度,一個(gè) 軟件的深度是指其控制的層數(shù),一個(gè)模塊的扇入數(shù)是指能直接控制該模塊的模塊數(shù),一個(gè)模塊的“扇出數(shù)”是指該模塊直接控制的其他模塊數(shù)。
52. 當(dāng)一個(gè)模塊直接使用另一個(gè)模塊的內(nèi)部數(shù)據(jù),這種模塊之間的耦合為內(nèi)容耦合。
53. 在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)該遵循的最主要的原理是模塊獨(dú)立原理。
54. 變換型數(shù)據(jù)處理問(wèn)題的工作過(guò)程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。
55. 按數(shù)據(jù)流的類(lèi)型,結(jié)構(gòu)化設(shè)計(jì)方法有兩種設(shè)計(jì)策略,它們是變換分析設(shè)計(jì)和事務(wù)分析設(shè)計(jì)。
56. 衡量模塊的獨(dú)立性的兩個(gè)定性的度量標(biāo)準(zhǔn)是內(nèi)聚度和耦合度。
(五)詳細(xì)設(shè)計(jì)
57. 軟件詳細(xì)設(shè)計(jì)的主要任務(wù)是對(duì)算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行的詳細(xì)設(shè)計(jì),軟件詳細(xì)設(shè)計(jì)主要采用的方法是結(jié)構(gòu)化程序設(shè)計(jì)。
58. 過(guò)程描述語(yǔ)言可以用于算法和數(shù)據(jù)結(jié)構(gòu)的描述。59. 結(jié)構(gòu)化程序設(shè)計(jì)方法是使用三種基本控制結(jié)構(gòu)構(gòu)造程序,程序的三種基本控制結(jié)構(gòu)是順序,選擇和循環(huán)。60. 在詳細(xì)設(shè)計(jì)階段,經(jīng)常采用的工具有盒圖、PAD圖、PDL語(yǔ)言、判定表和判定樹(shù)等工具,其中PAD圖為自動(dòng)分析數(shù)據(jù)提供了有力的工具.61. 盒圖也稱為N-S圖,種表達(dá)方式取消了流程線,它強(qiáng)迫程序員以結(jié)構(gòu)化方式思考和解決問(wèn)題.62. 當(dāng)模塊中包含復(fù)雜的條件組合,只有判定表和判定樹(shù)能夠清晰地表達(dá)出各種動(dòng)作之間的對(duì)應(yīng)關(guān)系.63. 模塊的內(nèi)部過(guò)程描述就是模塊內(nèi)部的算法設(shè)計(jì),它的表達(dá)形式就是詳細(xì)設(shè)計(jì)語(yǔ)言.
64. 程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是只有一個(gè)入口和一個(gè)出口。
65. 調(diào)試的目的是確定錯(cuò)誤的位置和引起錯(cuò)誤的原因,并加以改正。
66. 匯編語(yǔ)言是面向機(jī)器的,可以完成高級(jí)語(yǔ)言無(wú)法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。
(六)編碼、測(cè)試、維護(hù)
67. 以詳細(xì)設(shè)計(jì)說(shuō)明書(shū)為輸入,將該輸入用某種程序設(shè)計(jì)語(yǔ)言翻譯成計(jì)算機(jī)可以理解并最終可運(yùn)行的代碼的過(guò)程叫編碼過(guò)程。
68. 面向?qū)ο蟮拈_(kāi)發(fā)方法中,UML是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語(yǔ)言。
69. 軟件測(cè)試是執(zhí)行程序發(fā)現(xiàn)并排除程序中潛伏的錯(cuò)誤 的過(guò)程。
70. 是對(duì)軟件規(guī)格說(shuō)明,軟件設(shè)計(jì)和編碼的最全面也是最后的審查。
71. 軟件測(cè)試并不能發(fā)現(xiàn)軟件中所有潛伏的錯(cuò)誤,通過(guò)軟件測(cè)試沒(méi)有發(fā)現(xiàn)錯(cuò)誤,不能說(shuō)明軟件是正確的。72. 動(dòng)態(tài)測(cè)試方法中根據(jù)測(cè)試用例的設(shè)計(jì)方法不同,分為黑盒和白盒兩類(lèi).73. 黑盒測(cè)試無(wú)需考慮模塊內(nèi)部的執(zhí)行過(guò)程和程序結(jié)構(gòu),只要了解模塊的功能即可。
74. 自頂向下的漸增式測(cè)試初期一般不可以并行進(jìn)行。75. 在現(xiàn)實(shí)項(xiàng)目中,路徑測(cè)試和窮舉測(cè)試是經(jīng)常難以實(shí)現(xiàn)。
76. 單元測(cè)試的測(cè)試對(duì)象是程序模塊。
77. 計(jì)算機(jī)輔助靜態(tài)分析是軟件測(cè)試方法中的靜態(tài)測(cè)試方法之一。
78. 基本路徑測(cè)試、循環(huán)覆蓋測(cè)試、邏輯覆蓋測(cè)試屬于白盒測(cè)試技術(shù)。
79. 等價(jià)類(lèi)劃分、邊界值分析測(cè)試等屬于黑盒測(cè)試技術(shù)。80. 邏輯覆蓋一般包括語(yǔ)句覆蓋、判定覆蓋、條件覆蓋、條件/判定覆蓋、邊覆蓋、路徑覆蓋等。
81. 將軟件組裝成系統(tǒng)的一種測(cè)試技術(shù)叫集成測(cè)試。82. 軟件測(cè)試中根據(jù)測(cè)試用例設(shè)計(jì)的方法的不同可分為 黑盒測(cè)試和白盒測(cè)試兩種,它們都屬于動(dòng)態(tài)測(cè)試。83. 在設(shè)計(jì)測(cè)試用例時(shí),邊界值分析是用的最多的一種黑盒測(cè)試方法。
84. 在進(jìn)行軟件測(cè)試時(shí),首先應(yīng)當(dāng)進(jìn)行單元測(cè)試,然后再進(jìn)行集成測(cè)試,最后再進(jìn)行有效性測(cè)試。
85. 質(zhì)量保證是為了保證產(chǎn)品和服務(wù)充分滿足消費(fèi)者要求的質(zhì)量而進(jìn)行的有計(jì)劃.有組織的活動(dòng),質(zhì)量保證是為了使用產(chǎn)品實(shí)現(xiàn)用戶要求的功能。
86. 在結(jié)構(gòu)測(cè)試用例設(shè)計(jì)中,有語(yǔ)句覆蓋,條件覆蓋,判定覆蓋(即分支覆蓋),路徑覆蓋,其中路徑覆蓋是最強(qiáng)的覆蓋準(zhǔn)則.
87. 自頂向下結(jié)合的漸增式測(cè)試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和寬度優(yōu)先策略。
88. 為了提高測(cè)試的效率,應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù)。
89. 使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)。
90. 黑盒測(cè)試在設(shè)計(jì)測(cè)試用例時(shí),主要需要研究需求規(guī)格說(shuō)明與概要設(shè)計(jì)說(shuō)明。
91. 軟件按照設(shè)計(jì)的要求,在規(guī)定時(shí)間和條件下達(dá)到不出故障,持續(xù)運(yùn)行的要求的質(zhì)量特性稱為可靠性。92. 軟件維護(hù)是軟件生命周期的最后一個(gè)階段,軟件生 命周期中所花費(fèi)用最多的階段是軟件維護(hù)。
93. 在軟件維護(hù)的內(nèi)容中,有四種維護(hù):校正性維護(hù),完善性維護(hù),適應(yīng)性維護(hù),預(yù)防性維護(hù),其中占維護(hù)活動(dòng)工作量比例最高的是完善性維護(hù),最少的一般是預(yù)防性維護(hù)。94. 為改正軟件系統(tǒng)中潛藏的錯(cuò)誤而進(jìn)行的維護(hù)活動(dòng)稱為糾錯(cuò)性維護(hù)。
95. 根據(jù)用戶在軟件使用過(guò)程中提出的建設(shè)性意見(jiàn)而進(jìn)行的維護(hù)活動(dòng)稱為完善性維護(hù),完善性維護(hù)可以提高或完善軟件的性能。
96. 為適應(yīng)軟件運(yùn)行環(huán)境的變化而修改軟件的活動(dòng)稱為適應(yīng)性維護(hù)。
97. 為了進(jìn)一步改善軟件系統(tǒng)的可維護(hù)性和可靠性,并為以后的改進(jìn)奠定基礎(chǔ)的軟件維護(hù)稱為預(yù)防性維護(hù)。98. 軟件中因修改軟件而造成的錯(cuò)誤稱為維護(hù)的副作用。
99. 非結(jié)構(gòu)化維護(hù)用于軟件的配置中只有源代碼維護(hù)。100. 維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是編碼副作用。
101. 軟件可維護(hù)性,是指軟件產(chǎn)品交付使用后,在實(shí)現(xiàn)改正潛伏的錯(cuò)誤,改進(jìn)性能等屬性,適應(yīng)環(huán)境變化等方面工作的難易程度。
102. 軟件可靠性是指在給定的時(shí)間間隔內(nèi),程序成功運(yùn) 行的概率。
103. 由于維護(hù)或在維護(hù)過(guò)程中其他一些不期望的行為引入的錯(cuò)誤稱為維護(hù)的 副作用。
104. 軟件可修改性,是指允許對(duì)軟件系統(tǒng)進(jìn)行修改而不增加其復(fù)雜性,105. 所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱軟件問(wèn)題報(bào)告。
二、掌握和記憶
(一)概念
1. 耦合性:也稱塊間聯(lián)系,指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。
2. 軟件生存周期模型:是描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型.3. 數(shù)據(jù)字典(DD):是用來(lái)定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的.它以一種準(zhǔn)確的,無(wú)二義性的說(shuō)明方式為系統(tǒng)的分析,設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述.4. 內(nèi)聚性:是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量.5. 白盒測(cè)試:又稱結(jié)構(gòu)測(cè)試,是已經(jīng)知道產(chǎn)品內(nèi)部工作過(guò)程,檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按規(guī)定正常使用的測(cè)試方法。
6. 軟件生存周期:就是從提出軟件產(chǎn)品開(kāi)始,直到該軟件產(chǎn)品被淘汰的全過(guò)程,具體包括問(wèn)題定義、可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼與測(cè)試、運(yùn)行和維護(hù)。
7. 模塊化:就是將程序劃分為若干個(gè)獨(dú)立模塊的這樣一個(gè)過(guò)程,其中每個(gè)模塊完成一個(gè)特定子功能,每個(gè)模塊既是相對(duì)獨(dú)立的,又是相互聯(lián)系的,它們共同完成系統(tǒng)指定的各項(xiàng)功能。
8. 樁模塊:用于代替所測(cè)模塊調(diào)用的子模塊,樁模塊可以做少量的數(shù)據(jù)操作。
9. 驅(qū)動(dòng)模塊:用于模擬被測(cè)模塊的上級(jí)模塊。它接收測(cè)試數(shù)據(jù),把這些數(shù)據(jù)傳送給所測(cè)模塊,最后再輸出實(shí)際測(cè)試結(jié)果。
10. 模塊:模塊是一個(gè)擁有明確定義的輸入、輸出和特性的程序?qū)嶓w。
11. 模塊獨(dú)立性:概括了把軟件劃分為模塊時(shí)要遵守的準(zhǔn)則,也是判斷模塊構(gòu)造是否合理的標(biāo)準(zhǔn),同時(shí)也是模塊化、抽象及信息隱藏概念的直接產(chǎn)物。
12. 軟件工程:即運(yùn)用工程學(xué)的基本原理和方法來(lái)組織和管理軟件生產(chǎn)。13. 程序的可移植性:指把一個(gè)軟件(或程序)從一臺(tái)計(jì)算機(jī)環(huán)境移植到另一臺(tái)計(jì)算機(jī)環(huán)境的容易程度。
14. 模塊的作用范圍:一個(gè)模塊的作用范圍是指受該模塊內(nèi)一個(gè)判定影響的所有模塊的集合。
15. 信息隱藏:信息隱蔽是指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過(guò)程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來(lái)說(shuō)是不能訪問(wèn)的。
16. 集成測(cè)試也稱組裝測(cè)試或聯(lián)合測(cè)試。是指在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。組裝模塊的方式有兩種:漸增式測(cè)試和非漸增式測(cè)試。
17. 類(lèi):某些對(duì)象共同特征(屬性和操作)的表示。18. 對(duì)象:是現(xiàn)實(shí)世界中個(gè)體或事物的抽象表示,是其屬性和相關(guān)操作的封裝。
19. 繼承:是現(xiàn)實(shí)世界中遺傳關(guān)系的直接模型,它表示類(lèi)間的內(nèi)在聯(lián)系以及對(duì)屬性和操作的共享。
20. 聚集:現(xiàn)實(shí)世界中部分-整體關(guān)系的模擬。21. 消息:對(duì)象與外部世界相互關(guān)聯(lián)的唯一途徑。
(二)原理
1、螺旋模型的適應(yīng)場(chǎng)合:支持需求不明確,特別是大型軟件系統(tǒng)的開(kāi)發(fā),并支持面向規(guī)格說(shuō)明,面向過(guò)程,面向?qū)ο?等多種軟件開(kāi)發(fā)方法,是一種具有廣闊前景的模型。
2、軟件開(kāi)發(fā)風(fēng)險(xiǎn)分析實(shí)際上就是貫穿于軟件工程過(guò)程中的一系列風(fēng)險(xiǎn)管理步驟,它包括以下內(nèi)容:
1)風(fēng)險(xiǎn)標(biāo)識(shí); 2)風(fēng)險(xiǎn)估算; 3)風(fēng)險(xiǎn)評(píng)價(jià); 4)風(fēng)險(xiǎn)駕馭和監(jiān)控。
3、需求分析的任務(wù)是確定待開(kāi)發(fā)的軟件系統(tǒng)“做什么”.具體任務(wù)包括確定軟件系統(tǒng)的功能需求,性能需求和運(yùn)行環(huán)境約束,編制軟件需求規(guī)格說(shuō)明書(shū),軟件系統(tǒng)的驗(yàn)收測(cè)試準(zhǔn)則和初步的用戶手冊(cè)。
4、快速原型技術(shù)的基本思想是:在軟件開(kāi)發(fā)的早期,快速開(kāi)發(fā)一個(gè)目標(biāo)軟件系統(tǒng)的原型,讓用戶對(duì)其進(jìn)行評(píng)價(jià)并提出修改意見(jiàn),然后開(kāi)發(fā)人員根據(jù)用戶的意見(jiàn)對(duì)原型進(jìn)行改進(jìn)。
5、原型法模型一般適應(yīng)的場(chǎng)合:它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開(kāi)發(fā),更適合于那些項(xiàng)目組成員(包括分析員,設(shè)計(jì)員,程序員和用戶)不能很好交流或通信有困難的情況。
6、軟件復(fù)雜性度量的主要參數(shù)極其含義:1)規(guī)模:總共的指令數(shù)或源程序行數(shù);2)難度:通常由程序中出現(xiàn)的操作數(shù)的數(shù)目所決定的量來(lái)表示;3)結(jié)構(gòu):通常用與程序結(jié)構(gòu)有 關(guān)的度量來(lái)表示;4)智能度:即算法的難易程序。
7、非漸增式測(cè)試與漸增式測(cè)試的區(qū)別:
非漸增式測(cè)試:分別測(cè)試每個(gè)模塊,再放在一起結(jié)合成所要的程序;
漸增式測(cè)試:將下一個(gè)要測(cè)試的模塊同已測(cè)試好的模塊放在一起測(cè)試,類(lèi)推結(jié)合成所要的程序;
優(yōu)缺點(diǎn):
? 漸增式測(cè)試可以較早發(fā)現(xiàn)模塊間的接口錯(cuò)誤 ? 非漸增式測(cè)試最后才組裝,因此錯(cuò)誤發(fā)現(xiàn)得晚。? 非漸增式測(cè)試中發(fā)現(xiàn)錯(cuò)誤后難以診斷定位 ? 漸增式測(cè)試中,出現(xiàn)的錯(cuò)誤往往跟最新加入的模塊有關(guān)。
? 漸增式測(cè)試在不斷集成的過(guò)程中使模塊不斷在新的條件下受到新的檢測(cè),測(cè)試更徹底。? 漸增式測(cè)試較非漸增式測(cè)試費(fèi)時(shí)。? 非漸增式測(cè)試可以同時(shí)并行測(cè)試所有模塊,能充分利用人力。
8、軟件工程目標(biāo):是研制、開(kāi)發(fā)與生產(chǎn)出具有良好軟件質(zhì)量和費(fèi)用合算的產(chǎn)品。軟件工程的內(nèi)容是:1)采用工程化方法和途徑來(lái)開(kāi)發(fā)與維護(hù)軟件;2)應(yīng)該開(kāi)發(fā)和使用更好的軟件工具;3)采取必要的管理措施。
9、模塊的內(nèi)聚性包括的一般類(lèi)型:(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時(shí)間內(nèi)聚(4)通信內(nèi)聚(5)順序內(nèi)聚(6)功能內(nèi)聚
10、軟件測(cè)試的幾個(gè)主要步驟:
1)模塊測(cè)試 2)子系統(tǒng)測(cè)試 3)系統(tǒng)測(cè)試 4)驗(yàn)收測(cè)試 5)平行運(yùn)行
11、軟件測(cè)試和調(diào)試的目的的區(qū)別:測(cè)試的目的是判斷和發(fā)現(xiàn)軟件是否有錯(cuò)誤,調(diào)試的目的是定位軟件錯(cuò)誤并糾正錯(cuò)誤。
12、軟件的可行性研究的目的:就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開(kāi)發(fā),是否值得去開(kāi)發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過(guò)程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過(guò)程。
13、文檔在軟件工程中的作用:(1)提高軟件開(kāi)發(fā)過(guò)程的能見(jiàn)度;(2)提高開(kāi)發(fā)效率;
(3)作為開(kāi)發(fā)人員階段工作成果和結(jié)束標(biāo)志;(4)記錄開(kāi)發(fā)過(guò)程的有關(guān)信息便于使用與維護(hù);(5)提供軟件運(yùn)行、維護(hù)和培訓(xùn)有關(guān)資料;(6)便于用戶了解軟件功能、性能。
(三)運(yùn)用
1、某單位工卡包含信息如下:
該卡包括工號(hào)、英文名、年齡、性別、部門(mén),工號(hào)從001至200,英文名是任意長(zhǎng)度為從3至20的字母,年齡范圍1至200,性別男或女,部門(mén)只能是“技術(shù)部”、“市場(chǎng)部”、“財(cái)務(wù)部”、“行政部”中的一個(gè)。
在數(shù)據(jù)字典中,工卡的數(shù)據(jù)條目定義如下:
工卡 = 工號(hào) + 英文名 + 年齡 + 性別 + 部門(mén) 工號(hào) = 001..200 英文名 = 3{字母}20 年齡 = 1..200 性別 = [男|女] 部門(mén) = [技術(shù)部|市場(chǎng)部|財(cái)務(wù)部|行政部] 解析:先明確要說(shuō)明數(shù)據(jù)條目是誰(shuí),由哪些分量組成,這些分量是“+”的關(guān)系,還是“或”的關(guān)系,如本例的第一條是“+”的關(guān)系,然后分析它的組成是什么,再對(duì)其各個(gè)組成部分依次說(shuō)明,如本例的第二至六條,要一條一條地寫(xiě)出來(lái),不要都寫(xiě)到一條中。
2、能根據(jù)文字描述畫(huà)出數(shù)據(jù)流圖。
3、掌握變換型和事務(wù)性數(shù)據(jù)流圖轉(zhuǎn)化為系統(tǒng)結(jié)構(gòu)圖的原理,能根據(jù)給定的數(shù)據(jù)流圖畫(huà)出系統(tǒng)結(jié)構(gòu)圖。
第三篇:軟件工程復(fù)習(xí)資料
選擇題:
1、軟件是一種(B)產(chǎn)品
A、有形
B、邏輯
C、物質(zhì)
D、消耗
2、軟件的主要功能和結(jié)構(gòu)是在(A)階段覺(jué)決定的
A、分析設(shè)計(jì)
B、編程
C、測(cè)試
D、維護(hù)
3、軟件工程學(xué)的目的應(yīng)該是解決軟件生成的(D)問(wèn)題
A、提高軟件開(kāi)發(fā)效率
B、使軟件生產(chǎn)工程化
C、消除軟件的生產(chǎn)危機(jī) d、加強(qiáng)軟件的質(zhì)量保證
4、研究開(kāi)發(fā)所需要的成本和資源是屬于可行性研究中的(B)研究的一方面
A、技術(shù)可行性
B、經(jīng)濟(jì)可行性
c、社會(huì)可行性
d、法律可行性
5、經(jīng)濟(jì)可行性研究的范圍包括(C)
A、資源有效性
b、管理制度
c、效益分析
d、開(kāi)發(fā)風(fēng)險(xiǎn)
6、系統(tǒng)流程圖是描述(D)的工具
A、邏輯系統(tǒng)
b、程序系統(tǒng)
c、體系結(jié)構(gòu)
d、物理系統(tǒng)
7、可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題的(A)
A、能否可解
b、工程進(jìn)度
c、開(kāi)發(fā)計(jì)劃
d、人員配置
8、需求分析階段的任務(wù)是確定(D)
A、軟件開(kāi)發(fā)方法
b、軟件開(kāi)發(fā)工具
c、軟件開(kāi)發(fā)費(fèi)
d、軟件系統(tǒng)的功能
9、系統(tǒng)流程圖用于可行性分析中(A)的描述
A、當(dāng)前運(yùn)行系統(tǒng)
b、當(dāng)前邏輯模型
c、目標(biāo)系統(tǒng)
d、新系統(tǒng)
10、數(shù)據(jù)字典是用來(lái)定義(D)中的各個(gè)成分的具體含義的
A、流程圖
b、功能結(jié)構(gòu)圖
c、系統(tǒng)結(jié)構(gòu)圖
d、數(shù)據(jù)流圖
11、在數(shù)據(jù)流圖中,符號(hào)方框表示(B)
A、變換/加工
b、外部實(shí)體
c、數(shù)據(jù)流
d、數(shù)據(jù)存儲(chǔ)
12、數(shù)據(jù)字典是對(duì)數(shù)據(jù)定義信息的集合,他所定義的對(duì)象都包含于(A)
A、數(shù)據(jù)流圖
b、程序框圖
c、軟件結(jié)構(gòu)
d、方框圖
13、數(shù)據(jù)流圖是表示軟件模型的一種圖示方法,畫(huà)數(shù)據(jù)流圖應(yīng)遵循的原則是(B)
A、自底向上、分層繪制、逐步求精
B、自頂向下、分層繪制、逐步求精
C、自定向下、逐步求精
D、自頂向上、分層繪制
14、劃分模塊時(shí),一個(gè)模塊的(A)
A、作用范圍應(yīng)在其控制范圍之內(nèi)
b、控制范圍應(yīng)在其作用范圍內(nèi)
C、作用范圍與控制范圍互不包含
d、作用范圍矛控制范圍不受任何限制
15、結(jié)構(gòu)化設(shè)計(jì)方法在軟件開(kāi)發(fā)中,用于(B)
A、測(cè)試用例設(shè)計(jì)
b、概要設(shè)計(jì)
c、程序設(shè)計(jì)
d、詳細(xì)設(shè)計(jì)
16、在軟件結(jié)構(gòu)圖中,模塊框之間若有直線連接,表示他們之間存在著(A)關(guān)系
A、調(diào)用
b、組成 c、連接
d、順序執(zhí)行
17、在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)遵循的最主要的原理是(C)
A、抽象
b、模塊化
c、模塊獨(dú)立
d、信息隱藏
18、設(shè)計(jì)軟件結(jié)構(gòu)一般不確定(C)
A、模塊功能
b、模塊接口
c、模塊內(nèi)的局部數(shù)據(jù)
d、模塊間的調(diào)用關(guān)系
19、在軟件的結(jié)構(gòu)化設(shè)計(jì)方法中,一般分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩階段,其中詳細(xì)設(shè)計(jì)主要要建立(D)
A、軟件結(jié)構(gòu)
b、軟件過(guò)程
c、軟件模型
d、軟件模塊 20、軟件詳細(xì)設(shè)計(jì)階段的任務(wù)是(A)
A、算法設(shè)計(jì)
b、功能設(shè)計(jì)
c、調(diào)用關(guān)系設(shè)計(jì)
d、輸入/輸出設(shè)計(jì)
21、軟件詳細(xì)設(shè)計(jì)階段主要采用的工具是(B)
A、DFD
B、PAD
C、DD
D、SA
22、軟件詳細(xì)設(shè)計(jì)階段采用自左向右的二維圖形結(jié)構(gòu)描述算法的是(C)
A、IPO
B、JSP
C、PAD
D、JSD
23、Jackson方法以(B)為中心
A、控制
b、數(shù)據(jù)結(jié)構(gòu)
c、活動(dòng)事件
d、數(shù)據(jù)流
24、詳細(xì)設(shè)計(jì)與概要設(shè)計(jì)銜接的圖形工具是(D)
A、DFD圖
b、程序圖
c、PAD圖
d、SC圖
25、在確定屬性時(shí),所有(B)事候選屬性
A、動(dòng)詞
b、名詞
c、修飾性名詞詞組
d、詞組
26、動(dòng)態(tài)模型的構(gòu)成不包括(C)
A、事件
b、關(guān)聯(lián)
c、操作
d、狀態(tài)
27、對(duì)象模型的描述工具是(C)
A、狀態(tài)圖
b、數(shù)據(jù)流圖
c、對(duì)象圖
d、結(jié)構(gòu)圖
28、通過(guò)執(zhí)行對(duì)象的操作改變對(duì)象的屬性,但他必須通過(guò)(B)來(lái)執(zhí)行
A、接口
b、消息
c、信息
d、操作
29、描述對(duì)象的行為,反映對(duì)象的狀態(tài)與事件的關(guān)系是(A)
A、狀態(tài)圖
b、對(duì)象圖
c、流程圖
d、結(jié)構(gòu)圖 30、軟件測(cè)試可能發(fā)展軟件中的(),但不能證明軟件(B)
A、所有錯(cuò)誤、沒(méi)有錯(cuò)誤
b、錯(cuò)誤、沒(méi)有錯(cuò)誤
C、邏輯錯(cuò)誤、沒(méi)有錯(cuò)誤
d、設(shè)計(jì)錯(cuò)誤,沒(méi)有錯(cuò)誤
31、發(fā)現(xiàn)錯(cuò)誤能力最弱的是(A)
A、語(yǔ)句覆蓋
b、判定覆蓋
c、條件覆蓋
d、路徑覆蓋
32、從已經(jīng)發(fā)現(xiàn)故障的存在到找到準(zhǔn)確的故障位置并確定故障的性質(zhì),這一過(guò)程稱為(C)
A、邏輯檢測(cè)
b、故障排除
c、調(diào)試
d、測(cè)試
33、超出軟件工程范圍的測(cè)試是(D)
A、單元測(cè)試
b、集成測(cè)試
c、確定測(cè)試
d、系統(tǒng)測(cè)試
34、下列文檔與維護(hù)人員有關(guān)的有(C)
A、軟件需求說(shuō)明書(shū)
b、項(xiàng)目開(kāi)發(fā)計(jì)劃
c、概要設(shè)計(jì)說(shuō)明書(shū)
d、操作手冊(cè)
35、在軟件生存周期中,工作量所占比例最大的階段是(D)階段
A、需求分析
b、設(shè)計(jì)
c、測(cè)試
d、維護(hù)
36、軟件維護(hù)困難的主要原因是(C)
A、費(fèi)用低
b、人員少
c、開(kāi)發(fā)方法的缺陷
d、維護(hù)難
37、維護(hù)階段的文檔是(C)
A、軟件需求說(shuō)明
b、操作手冊(cè)
c、軟件問(wèn)題報(bào)告
d、測(cè)試分析報(bào)告
填空題:
1、在軟件的生存周期開(kāi)發(fā)階段要經(jīng)過(guò)概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、軟件設(shè)計(jì)三個(gè)步驟。
2、軟件工程師指導(dǎo)軟件開(kāi)發(fā)和維護(hù)的一門(mén)工程學(xué)科,采用工程的概念、原理、技術(shù)和方法來(lái)開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),就是是軟件工程。
3、軟件危機(jī)是在軟件發(fā)展的第二階段末期。
4、軟件生存期可分為三個(gè)大階段:軟件開(kāi)發(fā)、使用、維護(hù)。
5、技術(shù)可行性研究包括風(fēng)險(xiǎn)分析、資源分析、技術(shù)分析
6、可行性研究實(shí)質(zhì)上進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析和設(shè)計(jì)。
7、需求分析的步驟有:調(diào)查研究、分析與綜合、書(shū)寫(xiě)文檔、需求分析評(píng)審。
8、瀑布模型是以文檔為驅(qū)動(dòng)、適合于需求很明確的軟件項(xiàng)目的模型。
9、模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性就越差。
10、將軟件系統(tǒng)劃分模塊時(shí),要盡量做到高內(nèi)聚低耦合,提高模塊的獨(dú)立性。
11、數(shù)據(jù)流圖一般可分為交換型和事物型兩類(lèi)。事物型的DFD是一個(gè)順序結(jié)構(gòu)。
12、軟件結(jié)構(gòu)從形態(tài)上總的考慮是:頂層扇出數(shù)較高一些,中間層扇出數(shù)較少一些,底層扇入數(shù)較少一些。
13、一個(gè)模塊的作用范圍是指模塊內(nèi)一個(gè)判定影響的所有模塊的集合。
14、軟件的詳細(xì)設(shè)計(jì)可以用來(lái)采用圖形、表格、語(yǔ)言三種形式描述工具表示模塊的處理過(guò)程。
15、在詳細(xì)設(shè)計(jì)階段的文檔是詳細(xì)設(shè)計(jì)說(shuō)明書(shū),他是程序運(yùn)行過(guò)程的描述。
16、程序流程圖又稱程序框圖,他是軟件開(kāi)發(fā)者最熟悉的一種算法表達(dá)工具。
17、對(duì)象之間通過(guò)接口互相聯(lián)系,以模擬現(xiàn)實(shí)世界中的不同事件彼此之間的聯(lián)系。
18、類(lèi)的實(shí)例化是定義類(lèi)的對(duì)象。
19、子類(lèi)只繼承一個(gè)父類(lèi)的屬性和操作,稱為單重繼承。20、類(lèi)具有操作,它是對(duì)象的行為的抽象。
21、在用例圖中用例之間也存在一定的聯(lián)系,用例之間通常有執(zhí)行者、用例和用例之間三種關(guān)系。
22、在UML用例圖中,橢圓表示用例,方框表示系統(tǒng),小人狀圖案表示執(zhí)行者
23、軟件測(cè)試過(guò)程按測(cè)試的先后次序可先分為四個(gè)步驟進(jìn)行:?jiǎn)卧獪y(cè)試、集成測(cè)試、確定測(cè)試和系統(tǒng)測(cè)試,最后進(jìn)行驗(yàn)收測(cè)試。
24、軟件測(cè)試的種類(lèi)大致可以分為人工測(cè)試和基于計(jì)算機(jī)的測(cè)試?;谟?jì)算機(jī)的測(cè)試還有兩種方法,分別是黑盒測(cè)試和白盒測(cè)試。
25、軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤執(zhí)行程序的過(guò)程。
26、所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱軟件問(wèn)題報(bào)告。
27、維護(hù)階段是軟件生存周期中時(shí)期最長(zhǎng)的階段,花費(fèi)精力和費(fèi)用最多的階段
名詞解釋?zhuān)?/p>
軟件工程:指用科學(xué)的原理和理論定義,開(kāi)發(fā)、維護(hù)軟件的學(xué)科。
軟件危機(jī):指計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題
瀑布模型:是將軟件生存各個(gè)活動(dòng)規(guī)定為依線性順序聯(lián)接的若干階段的模型。它包括可行性分析、項(xiàng)目開(kāi)發(fā)計(jì)劃、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試和維護(hù)。它規(guī)定了由前至后,相互銜接的固定次序,如同瀑布流水,逐級(jí)下落。
可行性研究:指對(duì)項(xiàng)目有關(guān)的運(yùn)行、經(jīng)濟(jì)、技術(shù)、法律和開(kāi)發(fā)方案可行性等各方面研究可行性。
需求分析:需求分析是指開(kāi)發(fā)人員要準(zhǔn)確理解用戶的需求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化成完整的需求定義,再由需求定義轉(zhuǎn)換到相應(yīng)的形式功能規(guī)約(需求規(guī)格說(shuō)明)的過(guò)程。
數(shù)據(jù)流圖:一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出過(guò)程中所經(jīng)受的變
換
耦合性: 耦合性也稱塊間關(guān)系,指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量
簡(jiǎn)答題:
10、軟件工程有哪些原則?
答:
1、分解
2、抽象和信息隱蔽
3、一致性
4、確定性
5、完備性
6、可嚴(yán)驗(yàn)證性
11、簡(jiǎn)述軟件工程目標(biāo)和面臨的主要問(wèn)題?
答:軟件工程是一門(mén)工程性的學(xué)科,其目標(biāo)主要是:付出較低的開(kāi)發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開(kāi)發(fā)的軟件易于移植;需要較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。
面臨的主要問(wèn)題是:軟件費(fèi)用 軟件可靠性 軟件維護(hù) 軟件生產(chǎn)率 軟件重用。
第四篇:軟件工程復(fù)習(xí)資料(推薦)
1.軟件工程是什么?
軟件工程是一項(xiàng)解決問(wèn)題的工程活動(dòng),通過(guò)分析對(duì)問(wèn)題進(jìn)行研究, 將問(wèn)題分解成可以理解并能夠處理的若干小部分。
軟件工程是一項(xiàng)建模活動(dòng),通過(guò)抽象找到事物的重要特征而忽略非 本質(zhì)的細(xì)節(jié),從不同側(cè)面建立系統(tǒng)模型,有效地簡(jiǎn)化和處理復(fù)雜性。
軟件工程是一項(xiàng)受軟件工程原理指導(dǎo)的活動(dòng),軟件工程師要捕捉和 理解一個(gè)系統(tǒng)的基本原理模型,并根據(jù)評(píng)價(jià)標(biāo)準(zhǔn)提出合理開(kāi)發(fā)決策。
2.軟件危機(jī)的概念
落后的軟件生產(chǎn)方式無(wú)法滿足迅速增長(zhǎng)的計(jì)算機(jī)軟件需求,從而導(dǎo)致軟件開(kāi)發(fā)與維護(hù)過(guò)程中出現(xiàn)一系列嚴(yán)重問(wèn)題的現(xiàn)象。軟件危機(jī)泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。3.軟件危機(jī)的表現(xiàn)
(1)軟件開(kāi)發(fā)費(fèi)用和進(jìn)度失控。(2)軟件的可靠性差。
(3)生產(chǎn)出來(lái)的軟件難以維護(hù)。
(4)用戶對(duì)“已完成”的系統(tǒng)不滿意現(xiàn)象經(jīng)常發(fā)生。
(5)軟件產(chǎn)品質(zhì)量難以保證。
(6)軟件文檔不完備,并且存在文檔內(nèi)容與軟件產(chǎn)品不符情況。4.軟件危機(jī)的原因
軟件本身的特點(diǎn)(如:軟件規(guī)模龐大)導(dǎo)致開(kāi)發(fā)和維護(hù)困難
軟件開(kāi)發(fā)的方法不正確
開(kāi)發(fā)人員與管理人員重視開(kāi)發(fā)而輕視問(wèn)題的定義和軟件維護(hù) 軟件開(kāi)發(fā)技術(shù)落后
5.軟件管理技術(shù)差從軟件開(kāi)發(fā)危機(jī)的種種表現(xiàn)和軟件開(kāi)發(fā)作為邏輯產(chǎn)品的特殊性可以發(fā)現(xiàn)軟件開(kāi)發(fā)危機(jī)的原因:(1)用戶需求不明確
(2)缺乏正確的理論指導(dǎo)(3)軟件開(kāi)發(fā)規(guī)模越來(lái)越大(4)軟件開(kāi)發(fā)復(fù)雜度越來(lái)越高
6.解決軟件危機(jī)的途徑:軟件工程學(xué) 采用工程化方法和工程途徑來(lái)研制與維護(hù)軟件
采用先進(jìn)的技術(shù)、方法與工具來(lái)開(kāi)發(fā)與設(shè)計(jì)軟件
采用必要的組織管理措施 7.軟件生存周期
從一個(gè)軟件開(kāi)始立項(xiàng)起,到廢棄不用止 一個(gè)周期被劃分為計(jì)劃、開(kāi)發(fā)、運(yùn)行3個(gè)時(shí)期
計(jì)劃時(shí)期:?jiǎn)栴}定義——可行性分析 開(kāi)發(fā)時(shí)期:需求分析——軟件分析——軟件設(shè)計(jì)——編碼(測(cè)試)——測(cè)試 運(yùn)行時(shí)期:軟件維護(hù)8.軟件可行性研究的步驟
(1)對(duì)當(dāng)前系統(tǒng)進(jìn)行調(diào)查和研究(2)導(dǎo)出新系統(tǒng)的解決方案(3)提出推薦的方案
(4)編寫(xiě)可行性論證報(bào)告(系統(tǒng)概述、可
行性分析、結(jié)論意見(jiàn))9.面向?qū)ο箝_(kāi)發(fā)的有點(diǎn)
(1)提高軟件系統(tǒng)的可復(fù)用性
可復(fù)用性是面向?qū)ο箝_(kāi)發(fā)的核心思路。軟件復(fù)用的途徑主要包括:創(chuàng)建類(lèi)的實(shí)例對(duì)象;從已有類(lèi)派生新的子類(lèi)。派生類(lèi)既可以繼承其父類(lèi)的屬性、方法、也可以添加新的屬性和方法。
(2)提高軟件系統(tǒng)的可拓展性
開(kāi)發(fā)人員可以根據(jù)對(duì)用戶需求的理解,不斷地修改及完善有關(guān)類(lèi)的描述。既可以利用繼承對(duì)新的類(lèi)添加屬性和方法;或者在征求用戶意見(jiàn)后加入新的累以及類(lèi)的方法與屬性等。
(3)提高軟件系統(tǒng)的可維護(hù)性
一個(gè)系統(tǒng)是由對(duì)象組成的。當(dāng)系統(tǒng)的功能需求發(fā)生變化時(shí),通常僅需修改與之相關(guān)的對(duì)象或者類(lèi)。10.軟件測(cè)試目的測(cè)試是一個(gè)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程 一個(gè)好的測(cè)試用例是指很可能找到迄今為至尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試用例
一個(gè)成功的測(cè)試是指揭示了迄今為至尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試 11.測(cè)試方法
黑盒測(cè)試:已經(jīng)知道了軟件產(chǎn)品應(yīng)該具有的功能,通過(guò)測(cè)試來(lái)檢驗(yàn)是否每個(gè)功能都能正常使用。這種測(cè)試方法又稱功能測(cè)試。白盒測(cè)試:知道軟件產(chǎn)品內(nèi)部的工作過(guò)程,通過(guò)測(cè)試來(lái)檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行。這種測(cè)試方法又稱結(jié)構(gòu)測(cè)試。
12.軟件維護(hù)的定義
什么是軟件維護(hù)
是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過(guò)程軟件維護(hù)的種類(lèi):
糾錯(cuò)性維護(hù):為了改正軟件系統(tǒng)中的錯(cuò)誤,使軟件能夠滿足預(yù)期的正常運(yùn)行狀態(tài)的要求而進(jìn)行的維護(hù)
適應(yīng)性維護(hù):為了使軟件適應(yīng)內(nèi)部或外部環(huán)境變化,而去修改軟件的過(guò)程
改善性維護(hù):滿足使用過(guò)程中用戶提出增加新功能或修改已有功能的建議維護(hù) 預(yù)防性維護(hù):為了提高軟件的可維護(hù)性、可靠性等,為以后進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)而修改軟件的活動(dòng)
第五篇:軟件工程復(fù)習(xí)資料-2016-3-25分析
第一章 軟件工程概述
1﹑軟件產(chǎn)品的特性是什么? 產(chǎn)品特性:
⑴是一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。
⑵軟件產(chǎn)品的生產(chǎn)主要是研制,生產(chǎn)成本主要在開(kāi)發(fā)和研制,開(kāi)發(fā)研制完成后,通過(guò)復(fù)制就產(chǎn)生了大量軟件產(chǎn)品。
⑶軟件產(chǎn)品不會(huì)用壞,不存在磨損,消耗。
⑷生產(chǎn)主要是腦力勞動(dòng),還末完全擺脫手工開(kāi)發(fā)方式,大部分產(chǎn)品是“定做”的 ⑸開(kāi)發(fā)軟件的費(fèi)用不斷增加,致使生產(chǎn)成本相當(dāng)昂貴。2﹑軟件生產(chǎn)有幾個(gè)階段?各有何特征?
⑴程序設(shè)計(jì)時(shí)代:這個(gè)階段生產(chǎn)方式是個(gè)體勞動(dòng),使用的生產(chǎn)工具是機(jī)器語(yǔ)言,匯編語(yǔ)言。
⑵程序系統(tǒng)時(shí)代:這個(gè)階段生產(chǎn)方式是小集團(tuán)合作生產(chǎn),使用的生產(chǎn)工具是高級(jí)語(yǔ)言,開(kāi)發(fā)方法仍依靠個(gè)人技巧,但開(kāi)始提出結(jié)構(gòu)化方法。
⑶軟件工程時(shí)代:這個(gè)階段生產(chǎn)方式是工程化的生產(chǎn),使用數(shù)據(jù)庫(kù)﹑開(kāi)發(fā)工具﹑開(kāi)發(fā)環(huán)境﹑網(wǎng)絡(luò)﹑分布式﹑面向?qū)ο蠹夹g(shù)來(lái)開(kāi)發(fā)軟件。3﹑什么是軟件危機(jī)?主要表現(xiàn)在哪些方面? 軟件開(kāi)發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開(kāi)發(fā)中遇到的問(wèn)題找不到解決的辦法,問(wèn)題積累起來(lái),形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機(jī)。表現(xiàn)方面:
(1)用戶對(duì)開(kāi)發(fā)出的軟件很難滿意。(2)軟件產(chǎn)品的質(zhì)量往往靠不住。
(3)一般軟件很難維護(hù)。
(4)軟件生產(chǎn)效率很低。
(5)軟件開(kāi)發(fā)成本越來(lái)越大。
(6)軟件成本與開(kāi)發(fā)進(jìn)度難以估計(jì)。
(7)軟件技術(shù)的發(fā)展遠(yuǎn)遠(yuǎn)滿足不了計(jì)算機(jī)應(yīng)用的普及與深入的需要。4﹑什么是軟件工程?它目標(biāo)和內(nèi)容是什么?
軟件工程:就是用科學(xué)的知識(shí)工程和技術(shù)原理來(lái)定義,開(kāi)發(fā),維護(hù)軟件的一門(mén)學(xué)科。
軟件工程的目標(biāo):付出較低開(kāi)發(fā)成本;達(dá)到要求的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。
軟件工程的內(nèi)容:研究?jī)?nèi)容包括開(kāi)發(fā)技術(shù)和開(kāi)發(fā)管理兩個(gè)方面。開(kāi)發(fā)技術(shù)主要研究:軟件開(kāi)發(fā)方法,開(kāi)發(fā)過(guò)程,開(kāi)發(fā)工具和環(huán)境。開(kāi)發(fā)管理主要研究:軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。
5﹑軟件工程面臨的問(wèn)題是什么?
軟件工程需要解決的問(wèn)題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。6﹑什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?
軟件生存周期:一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。
包括:可行性分析和項(xiàng)目開(kāi)發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。7﹑什么是軟件生存周期模型?有哪些主要模型?
生存周期模型:描述軟件開(kāi)發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開(kāi)發(fā)提供強(qiáng)有力的支持,為開(kāi)發(fā)過(guò)程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開(kāi)發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開(kāi)發(fā)環(huán)境的核心。
主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。8﹑什么是軟件開(kāi)發(fā)方法?有哪些主要方法?
使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣來(lái)組織軟件生產(chǎn)的過(guò)程。通過(guò)使用成功的軟件開(kāi)發(fā)方法,在規(guī)定的投資和時(shí)間內(nèi),開(kāi)發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件開(kāi)發(fā)方法是克服軟件危機(jī)的重要方面之一,對(duì)軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。主要有:結(jié)構(gòu)化方法,JACKSON方法,維也納開(kāi)發(fā)方法﹙VDM﹚,面向?qū)ο箝_(kāi)發(fā)方法。
9、軟件工程方法學(xué)包含3個(gè)要素分別是什么? 分別是:方法、工具和過(guò)程。
? 方法是完成軟件開(kāi)發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問(wèn)題; ? 工具是為運(yùn)用方法而提供的自動(dòng)的或半自動(dòng)的軟件工程支撐環(huán)境;
? 過(guò)程是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。
10、什么是軟件過(guò)程?
為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。在完成開(kāi)發(fā)任務(wù)時(shí)必須進(jìn)行一些開(kāi)發(fā)活動(dòng),并且使用適當(dāng)?shù)馁Y源,在過(guò)程結(jié)束時(shí)將把輸入轉(zhuǎn)化為輸出。
11、瀑布模型的特點(diǎn)及優(yōu)點(diǎn)? 特點(diǎn):
?(1)各個(gè)階段的順序性和依賴性;
?(2)劃分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序的物理實(shí)現(xiàn);
?(3)每個(gè)階段必須完成規(guī)定的文檔,對(duì)其中問(wèn)題通過(guò)復(fù)審及早發(fā)現(xiàn),及早解決。
優(yōu)點(diǎn):
? 可強(qiáng)迫開(kāi)發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù));
? 嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔;
? 要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證。
12、螺旋模型的優(yōu)點(diǎn)?
? 對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開(kāi)發(fā)的一個(gè)重要目標(biāo);
? 減少了過(guò)多測(cè)試(浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn);
? 在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開(kāi)發(fā)之間并沒(méi)有本質(zhì)區(qū)別。
螺旋模型主要適用于內(nèi)部開(kāi)發(fā)的大規(guī)模軟件項(xiàng)目。項(xiàng)目越大,風(fēng)險(xiǎn)也越大,因此,進(jìn)行風(fēng)險(xiǎn)分析的必要性也越大。此外,只有內(nèi)部開(kāi)發(fā)的項(xiàng)目,才能在風(fēng)險(xiǎn)過(guò)大時(shí)方便地中止項(xiàng)目。
13、快速原型的分類(lèi)、特點(diǎn)及使用策略? 分類(lèi):探索型、實(shí)驗(yàn)型、進(jìn)化型
特點(diǎn):盡快向用戶提供一個(gè)可在計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型,以便使用戶和開(kāi)發(fā)者在目標(biāo)系統(tǒng)應(yīng)該“做什么”這個(gè)問(wèn)題上盡可能快地達(dá)成共識(shí)。? 快速原型應(yīng)該具備的第一個(gè)特點(diǎn)是“快速”;
? 快速原型應(yīng)該具備的第二個(gè)特點(diǎn)是“容易修改”。原型的“修改—試用—反饋”過(guò)程可能重復(fù)多遍。
使用策略:廢棄策略和追加策略。
14、軟件工程的目標(biāo)?
付出較低開(kāi)發(fā)成本;達(dá)到要求的功能;取得較好的性能;開(kāi)發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開(kāi)發(fā)任務(wù),及時(shí)交付使用;開(kāi)發(fā)的軟件可靠性高。
15、軟件開(kāi)發(fā)技術(shù)主要研究?jī)?nèi)容?
軟件開(kāi)發(fā)方法,開(kāi)發(fā)過(guò)程,開(kāi)發(fā)工具和環(huán)境。
16、軟件開(kāi)發(fā)管理主要研究?jī)?nèi)容?
軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。
17、快速原型開(kāi)發(fā)的步驟?
快速開(kāi)發(fā)、需求、構(gòu)造原形、原形、運(yùn)行原形、評(píng)價(jià)原形、修改意見(jiàn)。
18、某計(jì)算機(jī)系統(tǒng)投入使用后、5年內(nèi)每年可節(jié)省人民幣 2O0O元,假設(shè)系統(tǒng)的投資額為5000元,年利率為 12%。試計(jì)算投資回收期和純收入。
第二章 可行性研究
1、可行性研究的任務(wù)是什么? 可行研究的任務(wù):首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模,目標(biāo),約束和限制。分析員再進(jìn)行簡(jiǎn)要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過(guò)壓縮的設(shè)計(jì),探索出若干種可供選擇的解決方法,對(duì)每種解決方法都要研究它的可行性。主要從四個(gè)方面考慮:
⑴.技術(shù)可行性:一般要考慮的情況包括 開(kāi)發(fā)的風(fēng)險(xiǎn)即設(shè)計(jì)出的系統(tǒng)能否達(dá)到要求的功能和性能;資源的有效性;相關(guān)技術(shù)的發(fā)展是否支持;⑵.經(jīng)濟(jì)可行性:進(jìn)行開(kāi)發(fā)成本的估算以及了解取得效益的評(píng)估,確定要開(kāi)發(fā)的項(xiàng)目是否值得投資。
⑶.法律可行性:要開(kāi)發(fā)的項(xiàng)目是否存在任何侵權(quán)問(wèn)題。
(4).管理可行性:運(yùn)行方式在用戶組織內(nèi)是否可行,現(xiàn)有管理制度﹑人員素質(zhì)﹑操作方式是否可行。
2、可行性研究有哪些步驟? ⑴.確定項(xiàng)目規(guī)模和目標(biāo);
⑵.研究正在運(yùn)行的系統(tǒng);收集﹑研究﹑分析現(xiàn)有系統(tǒng)的文檔資料,實(shí)地考察系統(tǒng)訪問(wèn)有關(guān)人員,然后描繪現(xiàn)有系統(tǒng)的高層系統(tǒng)流程圖。
⑶.建立新系統(tǒng)的高層邏輯模型;使用數(shù)據(jù)流圖和數(shù)據(jù)字典描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理情況。
⑷.導(dǎo)出和評(píng)價(jià)各種方案;導(dǎo)出若干較高層次的物理解決方法,根據(jù)技術(shù)可行性﹑經(jīng)濟(jì)可行性﹑社會(huì)可行性進(jìn)行評(píng)估,得到可行的解決方法。
⑸.推薦可行方案;進(jìn)行成本~效益分析,決定該項(xiàng)目是否值得開(kāi)發(fā),若值得開(kāi)發(fā)那么解決方案是什么,并且說(shuō)明該方案可行的原因和理由。
⑹.編寫(xiě)可行性研究報(bào)告;將上述可行性過(guò)程的結(jié)果寫(xiě)成相應(yīng)文檔,即可行性研究報(bào)告。
3、可行性研究過(guò)程包括哪些?
1.復(fù)查系統(tǒng)規(guī)模和目標(biāo) 2.研究目前正在使用的系統(tǒng)
45678示樓號(hào),CNO表示課程號(hào),G表示成績(jī)。函數(shù)依賴有:(SNO,CNO)→G;SDEPT→SLOC;SNO→SDEPT,對(duì)關(guān)系進(jìn)行規(guī)范化,達(dá)到三范式要求。
(1)SC(SNO,CNO,G)和
(2)S-D(SNO,SDEPT,)(3)S-L(SDEPT ,SLOC)
11、狀態(tài)轉(zhuǎn)換圖
狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱為狀態(tài)圖)通過(guò)描繪系統(tǒng)的狀態(tài)及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為。提供了行為建模機(jī)制。
12、層次方框圖
層次方框圖用樹(shù)形結(jié)構(gòu)的一系列多層次的矩形框描繪數(shù)據(jù)的層次結(jié)構(gòu)。樹(shù)形結(jié)構(gòu)的頂層是一個(gè)單獨(dú)的矩形框,它代表完整的數(shù)據(jù)結(jié)構(gòu),下面的各層矩形框代表這個(gè)數(shù)據(jù)的子集,最底層的各個(gè)框代表組成這個(gè)數(shù)據(jù)的實(shí)際數(shù)據(jù)元素(不能再分割的元素)。
13、IPO圖
IPO圖是輸入、處理、輸出圖的簡(jiǎn)稱,能夠方便地描繪輸入數(shù)據(jù)、對(duì)數(shù)據(jù)的處理和輸出數(shù)據(jù)之間的關(guān)系。
14、從哪些方面驗(yàn)證軟件需求的正確性
(1)一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。
(2)完整性需求必須是完整的,規(guī)格說(shuō)明書(shū)應(yīng)該包括用戶需要的每一個(gè)功能或性能。
(3)現(xiàn)實(shí)性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。對(duì)硬件技術(shù)的進(jìn)步可以做些預(yù)測(cè),對(duì)軟件技術(shù)的進(jìn)步則很難做出預(yù)測(cè),只能從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實(shí)性。
(4)有效性必須證明需求是正確有效的,確實(shí)能解決用戶面對(duì)的問(wèn)題。
第四章 總體設(shè)計(jì)
1、什么是總體設(shè)計(jì)?總體設(shè)計(jì)的任務(wù)是什么?
總體設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。確定系統(tǒng)功能是實(shí)現(xiàn)?;救蝿?wù)是:建立軟件系統(tǒng)結(jié)構(gòu)(劃分模塊、定義模塊功能、模塊間的調(diào)用關(guān)系、定義模塊的接口、評(píng)價(jià)模塊的質(zhì)量)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的設(shè)計(jì)(數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì))、編寫(xiě)概要設(shè)計(jì)文檔(概要設(shè)計(jì)說(shuō)明書(shū)、用戶手冊(cè)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、修訂測(cè)試計(jì)劃)。
2、總體設(shè)計(jì)分為哪兩個(gè)階段?
系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階段,確定軟件結(jié)構(gòu)。
3、總體設(shè)計(jì)過(guò)程包括幾個(gè)步驟?
1.設(shè)想供選擇的方案 2.選取合理的方案 3.推薦最佳方案 4.功能分解 5.設(shè)計(jì)軟件結(jié)構(gòu) 6.設(shè)計(jì)數(shù)據(jù)庫(kù) 7.制定測(cè)試計(jì)劃 8.書(shū)寫(xiě)文檔 9.審查和復(fù)審
4、模塊化
是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。
5、模塊化的優(yōu)點(diǎn)
(1)模塊化使軟件容易測(cè)試和調(diào)試,因而有助于提高軟件的可靠性。
011控制范圍:是模塊本身和它的下屬模塊的集合。作用范圍:模塊中的一個(gè)判定影響的所有模塊的集合。作用范圍應(yīng)該在控制范圍內(nèi)。
33、什么是變換流?什么是事物流? 變換流由輸入、變換(或處理)、輸出三部分組成。
事物流某個(gè)加工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入選擇其中一個(gè)路徑來(lái)執(zhí)行。
34、試述“變換分析”﹑“事物分析”設(shè)計(jì)步驟。變換分析設(shè)計(jì)步驟:
⑴確定變換中心,邏輯輸入和輸出。
⑵設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層--變換結(jié)構(gòu):頂層的功能是完成所有模塊的控制(名稱應(yīng)是系統(tǒng)名,以體現(xiàn)完成整個(gè)系統(tǒng)功能)
第一層至少有三種功能模塊:輸入﹑輸出和變換模塊
⑶設(shè)計(jì)中﹑下層模塊,對(duì)第一層的模塊自頂向下分解。
輸入模塊由兩部分組成:接收數(shù)據(jù)﹑轉(zhuǎn)換成調(diào)用模塊所需信息。
輸出模塊由兩部分組成:將數(shù)據(jù)轉(zhuǎn)換成下屬模塊所需的形式﹑ 發(fā)送數(shù)據(jù) 變換模塊:對(duì)每個(gè)基本加工建立一功能模塊
⑷設(shè)計(jì)的優(yōu)化 :輸入部分求精,每個(gè)物理輸入設(shè)置專(zhuān)門(mén)模塊,以體現(xiàn)系統(tǒng)的外部接口。其它輸入模塊與轉(zhuǎn)換數(shù)據(jù)模塊都很簡(jiǎn)單時(shí),可將它們合并。
輸出部分求精:每個(gè)物理輸出設(shè)置專(zhuān)門(mén)模塊,其它也可適當(dāng)合并。變換部分求精:根據(jù)設(shè)計(jì)準(zhǔn)則,對(duì)模塊適當(dāng)合并。
事務(wù)分析的設(shè)計(jì)步驟:
⑴確定事務(wù)中心和加工路徑
⑵設(shè)計(jì)頂層(事務(wù)機(jī)構(gòu))和第一層 頂層模塊有兩個(gè)功能:接收數(shù)據(jù)和根據(jù)事務(wù)類(lèi)型調(diào)動(dòng)相應(yīng)處理模塊。
⑶中下層模塊的設(shè)計(jì)﹑優(yōu)化工作與變換結(jié)構(gòu)相同。
事務(wù)型軟件結(jié)構(gòu)包括兩部分: 接收分支 發(fā)送分支出 通常包括一調(diào)度模塊,當(dāng)事務(wù)類(lèi)型不多時(shí),可與主模塊合并。
35、請(qǐng)將下圖的DFD轉(zhuǎn)換為軟件結(jié)構(gòu)圖。
解:
第五章 詳細(xì)設(shè)計(jì)
1、詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有那幾種描述方法?
設(shè)計(jì)模塊的數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)、設(shè)計(jì)模塊的詳細(xì)算法、其它(代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì))、編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)、評(píng)審。
程序流程圖、PAD圖、PDL。
2、請(qǐng)使用流程圖、PAD圖和PDL語(yǔ)言描述下列程序的算法。(1)在數(shù)據(jù)A(1)~A(10)中求最大數(shù)和次大數(shù)。
PDL語(yǔ)言描述:
GET(a[1],a[2],...a[10])
max=a[1];
max2=a[2];
FOR i=2 TO 10
IF a[i]>max
max2=max;
max=a[i];
ELSE
IF a[i]>max2
max2=a[i];
ENDIF
ENDIF
ENDFOR
PUT(max,max2)
END
3、輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等邊、等腰還是一般三角形。使用流程圖、PAD圖和PDL語(yǔ)言描述。解:如圖:
PDL語(yǔ)言描述如下:
GET(a,b,c)
IF(a+b>c and b+c>a and c+a>b)
IF(a=b)
IF(a=c)
PUT(“等邊三角形”)
ELSE
PUT(“等腰三角形”)
ENDIF
ELSE
IF(a=c)
PUT(“等腰三角形”)
ELSE
IF(b=c)
6(6)對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。
(7)程序員應(yīng)避免測(cè)試自己的程序。測(cè)試是一種“挑剔性”的行為,心理狀態(tài)是測(cè)試自己程序的障礙。
2、什么是白盒測(cè)試法?有哪些覆蓋標(biāo)準(zhǔn)?試對(duì)他們的檢錯(cuò)能力進(jìn)行比較? 答:白盒法測(cè)試法把測(cè)試對(duì)象看作一個(gè)打開(kāi)的盒子,測(cè)試人員須了解程序內(nèi)部結(jié)構(gòu)和處理過(guò)程,以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法有下列幾種覆蓋標(biāo)準(zhǔn):
? 語(yǔ)句覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。? 判定覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的取真分支和取假分支至少經(jīng)歷一次。
? 條件覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。
? 判定/條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷中的每個(gè)條件的可能取值至少執(zhí)行一次。
? 條件組合覆蓋:設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。
? 路徑覆蓋:設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。從上到下的覆蓋標(biāo)準(zhǔn)其檢錯(cuò)能力也從弱到強(qiáng),其中條件組合發(fā)現(xiàn)錯(cuò)誤的能力較強(qiáng),凡滿足其標(biāo)準(zhǔn)的測(cè)試用例,也必然滿足前四種覆蓋標(biāo)準(zhǔn)。在實(shí)際的邏輯測(cè)試中,一般以條件組合覆蓋為主設(shè)計(jì)測(cè)試用例,然后再補(bǔ)充部分用例來(lái)達(dá)到路徑覆蓋的測(cè)試標(biāo)準(zhǔn)。
3、什么是黑盒測(cè)試法?采用黑盒技術(shù)測(cè)試用例有哪幾種方法?這些方法各有什么特點(diǎn)? 答:黑盒測(cè)試法把被測(cè)試對(duì)象看成是一個(gè)黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,只在軟件接口處進(jìn)行測(cè)試,依據(jù)需求規(guī)格說(shuō)明書(shū),檢查程序是否滿足功能要求。采用黑盒技術(shù)測(cè)試用例的方法有:
等價(jià)類(lèi)的劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖。
? 等價(jià)類(lèi)的劃分:是將輸入數(shù)據(jù)按有效的或無(wú)效的(也稱合理的或不合理的)劃分成若干個(gè)等價(jià)類(lèi),測(cè)試每個(gè)等價(jià)類(lèi)的代表值就等于對(duì)該類(lèi)其他值的測(cè)試。這樣就把漫無(wú)邊跡的隨機(jī)測(cè)試改為有針對(duì)性的等價(jià)類(lèi)測(cè)試,用少量有代表性的例子代替大量測(cè)試目的相同的例子,能有效地提高測(cè)試效率。但這個(gè)方法的缺點(diǎn)是沒(méi)有注意選擇某些高效的、能夠發(fā)現(xiàn)更多錯(cuò)誤的測(cè)試用例。
? 邊界值分析法:是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于和剛剛小于邊界值的測(cè)試數(shù)據(jù)。(邊界情況是指輸入等價(jià)類(lèi)和輸入等價(jià)類(lèi)邊界上的情況。)這種方法可以查出更多的錯(cuò)誤,因?yàn)樵诔绦蛑型谔幚磉吔缜闆r時(shí)易發(fā)生錯(cuò)誤。
? 錯(cuò)誤推測(cè)法:是在測(cè)試程序時(shí),人們根據(jù)經(jīng)驗(yàn)或直覺(jué)推測(cè)程序中可能存在的錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的測(cè)試用例。? 因果圖:能夠有效地檢測(cè)輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。它的基本原理是通過(guò)畫(huà)因果圖,把用自然語(yǔ)言描述的功能說(shuō)明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。
這幾種方法都不能提供一組完整的測(cè)試用例,在實(shí)際測(cè)試中應(yīng)把各種方法結(jié)合起來(lái)使用。綜合策略:就是聯(lián)合使用上述幾種測(cè)試方法,盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。
4、軟件測(cè)試要經(jīng)過(guò)哪些步驟?這些測(cè)試與軟件開(kāi)發(fā)各階段之間有什么關(guān)系?
-***3-