中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考 答案《軟件工程》_第1頁(yè)
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考 答案《軟件工程》_第2頁(yè)
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考 答案《軟件工程》_第3頁(yè)
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考 答案《軟件工程》_第4頁(yè)
中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考 答案《軟件工程》_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中南大學(xué)現(xiàn)代遠(yuǎn)程教育課程考試(專(zhuān)科)復(fù)習(xí)題及參考答案軟件工程一.填空題1.基于計(jì)算機(jī)系統(tǒng)總體可靠性與以下三個(gè)方面緊密關(guān)聯(lián):硬件可靠性、軟件可靠性和 。 2.面向?qū)ο蟮能浖^(guò)程是以 為基礎(chǔ),利用特定的軟件工具直接完成從對(duì)象客體的描述到軟件結(jié)構(gòu)之間的轉(zhuǎn)換。3.需求分析的任務(wù)主要有兩個(gè):通過(guò)對(duì)問(wèn)題及環(huán)境的理解、分析和綜合,建立分析模型;在完全弄清用戶(hù)對(duì)軟件系統(tǒng)的確切要求的基礎(chǔ)上,用 把用戶(hù)的需求表達(dá)出來(lái)。4.需求開(kāi)發(fā)又分為可行性研究、需求導(dǎo)出和分析、 和需求驗(yàn)證。5對(duì)象包含兩個(gè)基本的因素, 和方法。6數(shù)據(jù)流圖包括以下兩種類(lèi)型:變換型數(shù)據(jù)流圖和 。7系統(tǒng)設(shè)計(jì)階段的輸出結(jié)果是適應(yīng)應(yīng)用軟件要求的 、類(lèi)間關(guān)

2、系以及子系統(tǒng)的規(guī)格說(shuō)明。8軟件測(cè)試是為了發(fā)現(xiàn) 而執(zhí)行程序的過(guò)程。9軟件測(cè)試是根據(jù)軟件開(kāi)發(fā)各階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)一批 ,并利用它們?nèi)ミ\(yùn)行程序,以發(fā)現(xiàn)程序錯(cuò)誤的過(guò)程。10軟件變更可以是修改代碼錯(cuò)誤的簡(jiǎn)單變更、更正設(shè)計(jì)錯(cuò)誤的較大范圍的變更、對(duì)描述錯(cuò)誤進(jìn)行修正或者增加新需求的重大改進(jìn)。軟件變更可以考慮以下幾個(gè)策略: 、體系結(jié)構(gòu)轉(zhuǎn)換、軟件再工程等策略。11軟件維護(hù)性是軟件的內(nèi)在固有屬性,它是 的重要組成部分。 12質(zhì)量評(píng)審和自動(dòng)化的軟件評(píng)估是質(zhì)量控制的兩種方式。評(píng)審活動(dòng)主要包括 、進(jìn)展評(píng)審和質(zhì)量評(píng)審等幾種不同類(lèi)型。二.選擇題1. 關(guān)于軟件的形式化定義,下列哪種說(shuō)法不正確( )A.能夠

3、完成預(yù)定功能和性能的可執(zhí)行指令B.使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)C.軟件成本相當(dāng)昂貴D.描述程序的操作和使用的文檔2. 下列哪種說(shuō)法不是軟件危機(jī)的表現(xiàn)( )A.對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估算很不準(zhǔn)確B.需要有大量的文檔C.用戶(hù)對(duì)完成的軟件很不滿(mǎn)意D.軟件開(kāi)發(fā)生產(chǎn)效率低下3. 下列哪項(xiàng)不屬于軟件系統(tǒng)需求( )A.功能需求B.非功能需求C.非領(lǐng)域需求D.領(lǐng)域需求4面向?qū)ο蠓椒ǖ闹饕獌?yōu)點(diǎn)不包括( )A.穩(wěn)定性好B.系統(tǒng)可長(zhǎng)期使用C.可重用性好D.符合人類(lèi)習(xí)慣的思維方法5軟件重用是提高軟件生產(chǎn)率的重要手段,重用性越高,則軟件生產(chǎn)率越高,重用性不包括下列哪種類(lèi)型( )A.需求分析重用B.代碼重用C.設(shè)

4、計(jì)結(jié)果重用D.分析結(jié)果重用6面向?qū)ο笾?,模塊又稱(chēng)構(gòu)件,下列哪個(gè)不是其基本屬性( )A.功能B.結(jié)構(gòu)C.狀態(tài)D.邏輯7對(duì)象的實(shí)現(xiàn)描述中不包括以下哪個(gè)信息( )A.由一組消息和注釋組成的協(xié)議描述B.對(duì)象名及所屬對(duì)象類(lèi)C.私有數(shù)據(jù)結(jié)構(gòu)的每一數(shù)據(jù)項(xiàng)及其類(lèi)型 D.每個(gè)操作的過(guò)程性描述或指向這樣一個(gè)過(guò)程性描述的指針8Grenford J.Myers就軟件測(cè)試目的提出的觀(guān)點(diǎn)不包括以下哪項(xiàng)( )A.測(cè)試是程序的執(zhí)行過(guò)程,目的在于發(fā)現(xiàn)錯(cuò)誤B.證明軟件的功能和性能與需求說(shuō)明相符合C.一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤D.一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試9黑盒測(cè)試又稱(chēng)為( )A.結(jié)構(gòu)測(cè)試B.代碼

5、測(cè)試C.功能測(cè)試D.路徑測(cè)試10糾錯(cuò)技術(shù)主要是指定位程序錯(cuò)誤采用的工具和手段,常用的定位錯(cuò)誤方法不包括( ) A.插入打印語(yǔ)句B.設(shè)置斷點(diǎn)C.根據(jù)結(jié)果推理D.掩蔽部分程序 11為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過(guò)程,就叫做( )A.完善性維護(hù)B.適應(yīng)性維護(hù)C.改正性維護(hù)D.預(yù)防性維護(hù)12( )和自動(dòng)化的軟件評(píng)估是質(zhì)量控制的兩種方式,其中前者是由一組人員對(duì)軟件、文檔編制和軟件制作過(guò)程進(jìn)行評(píng)審。A.質(zhì)量評(píng)審B. 質(zhì)量保證C. 質(zhì)量標(biāo)準(zhǔn)D. 質(zhì)量規(guī)劃三.名詞解釋1軟件 2軟件工程 3數(shù)據(jù)流圖 4對(duì)象 5消息 6封裝性 7模塊的耦合性 8模塊的

6、扇入數(shù) 9程序流程圖 10程序編碼風(fēng)格 11功能性注釋12白盒測(cè)試 13系統(tǒng)測(cè)試 14完善性維護(hù) 15軟件重用 四.簡(jiǎn)答題1與硬件相比,軟件具有哪些特點(diǎn)?2軟件系統(tǒng)需求分為哪三類(lèi)?每類(lèi)主要包含哪些內(nèi)容?3從系統(tǒng)設(shè)計(jì)的角度出發(fā),軟件設(shè)計(jì)方法分為哪三大類(lèi)?4結(jié)構(gòu)圖中主要有哪四種類(lèi)型的模塊?5按照Rumbaugh等人提出的對(duì)象建模技術(shù),面向?qū)ο笤O(shè)計(jì)過(guò)程主要由哪些步驟組成?6對(duì)象的實(shí)現(xiàn)描述中包括主要包括哪些信息?7結(jié)構(gòu)化程序設(shè)計(jì)的主要原則有哪些?8編程階段主要要完成的三大任務(wù)是什么?9軟件測(cè)試時(shí)應(yīng)注意和遵循哪些原則?10單元測(cè)試的主要內(nèi)容由哪些?11何謂軟件的維護(hù)性?12影響維護(hù)代價(jià)的技術(shù)因素主要有哪

7、些?五.應(yīng)用題1試舉例說(shuō)明,黑盒測(cè)試時(shí)不可能把所有可能的輸入數(shù)據(jù)都拿來(lái)進(jìn)行窮舉測(cè)試。2比較下列兩段語(yǔ)句,從編碼風(fēng)格的角度分析哪一段好些,并說(shuō)明好在哪些方面。程序段一:if a>bthenif x>ythen b=yelsea=xend ifelsea=bend if程序段二:/ position_x is the position x of object; position_y is the position y of object; /if a>b then a=belse if position_x>position_y then b=position_y else

8、a=position_x end ifend if3根據(jù)下列描述,畫(huà)出教材征訂系統(tǒng)的第一層數(shù)據(jù)流圖。學(xué)生入學(xué)后到教材科訂書(shū),教材科根據(jù)教材庫(kù)存情況分析是否需要買(mǎi)書(shū),如需購(gòu)買(mǎi),則向書(shū)店購(gòu)買(mǎi)。各種資金往來(lái)通過(guò)學(xué)校的會(huì)計(jì)科辦理。4一本書(shū)的組成有一個(gè)封面,一個(gè)目錄,一個(gè)前言,若干章,每章有若干節(jié),每節(jié)有若干段,每段有若干句子,每節(jié)有0個(gè)或多個(gè)插圖,還有0個(gè)或多個(gè)表格,最后有一個(gè)附錄。試建立該書(shū)的對(duì)象模型。5分別舉例說(shuō)明C+中對(duì)象操作的兩種調(diào)用方式。6寫(xiě)出與下判定樹(shù)描述的加工規(guī)格說(shuō)明對(duì)應(yīng)的C程序代碼。 7執(zhí)行下列語(yǔ)句后, int i,s; for(i=s=0; i<5; i+) s+=i; whi

9、le (-i>1) s+=i; 求S的值(寫(xiě)出必要的中間值)。軟件工程復(fù)習(xí)題參考答案一.填空題1操作員可靠性2對(duì)象3軟件需求規(guī)格說(shuō)明書(shū)4編寫(xiě)規(guī)格說(shuō)明書(shū)5屬性6事務(wù)型數(shù)據(jù)流圖7類(lèi)8錯(cuò)誤9測(cè)試用例10軟件維護(hù)11軟件質(zhì)量12設(shè)計(jì)或程序檢查二.選擇題15:CBCBA;610:BABCC;1112:CA三.名詞解釋1軟件:軟件是能夠完成預(yù)定功能和性能的可執(zhí)行指令,使得程序能夠適當(dāng)?shù)夭僮餍畔⒌臄?shù)據(jù)結(jié)構(gòu)同時(shí)也是描述程序的操作和使用的文檔。2軟件工程:采用工程的概念、原理和方法來(lái)開(kāi)發(fā)和維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來(lái),這就是軟件工程。3數(shù)據(jù)流圖:數(shù)據(jù)流

10、圖是結(jié)構(gòu)化系統(tǒng)分析的基本工具。一個(gè)數(shù)據(jù)流圖確定了系統(tǒng)的轉(zhuǎn)化過(guò)程、系統(tǒng)所操縱的數(shù)據(jù)或物質(zhì)的收集(存儲(chǔ)),還有過(guò)程、存儲(chǔ)、外部世界之間的數(shù)據(jù)流或物質(zhì)流。4對(duì)象:對(duì)象是由描述該對(duì)象屬性的數(shù)據(jù)以及可以對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象是現(xiàn)實(shí)世界中的實(shí)體、實(shí)物、事物等。它可以是有形的、無(wú)形的,也可以是一種抽象思維。對(duì)象包含兩個(gè)基本的因素:屬性和方法。5消息:對(duì)象引用一個(gè)服務(wù)(方法)的過(guò)程稱(chēng)之為向該對(duì)象發(fā)送一個(gè)消息,消息是對(duì)象之間交互的手段,是要求某個(gè)對(duì)象執(zhí)行類(lèi)中定義的某個(gè)操作的規(guī)格說(shuō)明。6封裝性:封裝性是面向?qū)ο蠹夹g(shù)的一個(gè)重要機(jī)制,封裝意味著把屬性和服務(wù)捆綁在一起形成一個(gè)相對(duì)獨(dú)立的基本

11、構(gòu)件(對(duì)象)。7模塊的耦合性:是模塊之間的相對(duì)獨(dú)立性(互相連接的緊密程度)的度量。它取決于各個(gè)模塊之間接口的復(fù)雜程度,取決于如何進(jìn)入或訪(fǎng)問(wèn)一個(gè)模塊,以及哪些數(shù)據(jù)將通過(guò)該接口。8模塊的扇入數(shù):多個(gè)模塊可以有同一個(gè)下屬模塊,該下屬模塊的上級(jí)模塊的個(gè)數(shù)稱(chēng)為扇入數(shù)。 9程序流程圖:把一個(gè)構(gòu)件的內(nèi)部執(zhí)行過(guò)程用流程圖描述,也就是用各種幾何圖形、流線(xiàn)及文字說(shuō)明來(lái)描述模塊的執(zhí)行過(guò)程的框圖叫程序流程圖。 10程序編碼風(fēng)格:程序編碼風(fēng)格就是程序員在編碼時(shí)在源程序文件、語(yǔ)句結(jié)構(gòu)、程序注釋等方面表現(xiàn)出的一貫的特點(diǎn)的總和。11功能性注釋?zhuān)汗δ苄宰⑨屨f(shuō)明下面的語(yǔ)句或程序段是做什么,或執(zhí)行下面的語(yǔ)句或程序段會(huì)發(fā)生什么事情。

12、12白盒測(cè)試:根據(jù)軟件產(chǎn)品的內(nèi)部工作過(guò)程,在計(jì)算機(jī)上進(jìn)行測(cè)試,以證實(shí)每種內(nèi)部操作是否符合設(shè)計(jì)規(guī)格要求,所有內(nèi)部成分是否已經(jīng)過(guò)檢查。這種測(cè)試方法就是白盒測(cè)試,白盒測(cè)試又稱(chēng)為結(jié)構(gòu)測(cè)試。13系統(tǒng)測(cè)試:系統(tǒng)測(cè)試是將通過(guò)確認(rèn)測(cè)試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試。14完善性維護(hù):在軟件的使用過(guò)程中,用戶(hù)往往會(huì)對(duì)軟件提出新的功能與性能要求。為了滿(mǎn)足這些要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。這種情況下進(jìn)行的維護(hù)

13、活動(dòng)叫做完善性維護(hù)。15軟件重用:軟件重用是指軟件的某一部分在不做修改或稍做修改的情況下重復(fù)使用。軟件重用可降低軟機(jī)成本、提高軟件生產(chǎn)率和軟件質(zhì)量,即重復(fù)使用軟件資源的過(guò)程。四.簡(jiǎn)答題1與硬件相比,軟件具有哪些特點(diǎn)?解答:與硬件相比,軟件具有以下不同的特點(diǎn):(1) 軟件是邏輯的,而不是物理的產(chǎn)品。邏輯往往實(shí)際只存在于人的頭腦當(dāng)中,軟件的開(kāi)發(fā)過(guò)程極難加以控制。(2) 軟件是由開(kāi)發(fā)或工程化而形成的,沒(méi)有明顯的制造過(guò)程。軟件成本集中于"開(kāi)"上,意味著軟件項(xiàng)目不能象硬件制造項(xiàng)目那樣來(lái)管理。(3) 軟件在運(yùn)行和使用期間,不存在硬件那樣的磨損和老化問(wèn)題,但它存在退化問(wèn)題,開(kāi)發(fā)人員必須維

14、護(hù)軟件。(4) 大多數(shù)軟件是自定的,而不是通過(guò)已有構(gòu)件組裝而成的。迄今為止,軟件的開(kāi)發(fā)尚未完全擺脫手工的方式。 (5) 軟件成本相當(dāng)昂貴。IBM360操作系統(tǒng)的研制人員最多時(shí)可達(dá)1000多人,從1963年到1966年共花了四年時(shí)間才完成,總計(jì)耗費(fèi)了5000多人年,以后又進(jìn)行不斷的修改和補(bǔ)充。該系統(tǒng)的整個(gè)研制費(fèi)用為5億美元,其中近一半花在軟件上。 (6) 軟件本身是復(fù)雜的。軟件比任何其他人類(lèi)制造的結(jié)構(gòu)更復(fù)雜,甚至硬件的復(fù)雜性和軟件相比也是微不足道的。軟件本質(zhì)上的復(fù)雜性是軟件產(chǎn)品難以理解,影響軟件過(guò)程的管理,并使維護(hù)過(guò)程十分復(fù)雜。2軟件系統(tǒng)需求分為哪三類(lèi)?每類(lèi)主要包含哪些內(nèi)容?解答:軟件系統(tǒng)需求可

15、以分為功能需求、非功能需求和領(lǐng)域需求:(1)功能需求描述系統(tǒng)所預(yù)期提供的功能或服務(wù)。即定義系統(tǒng)應(yīng)該做什么,系統(tǒng)要求輸入什么信息,輸出什么信息,以及如何將輸入變換為輸出。它由開(kāi)發(fā)的軟件類(lèi)型、軟件未來(lái)的用戶(hù)以及開(kāi)發(fā)的系統(tǒng)類(lèi)型決定。(2)非功能需求是指那些不直接與系統(tǒng)具體工作相關(guān)的一類(lèi)需求。主要涉及系統(tǒng)的總體特性,如可靠性、反映時(shí)間和儲(chǔ)存空間等。 (3)領(lǐng)域需求是來(lái)自系統(tǒng)的應(yīng)用領(lǐng)域的需求,反映了該領(lǐng)域的特點(diǎn),它可能是一個(gè)新的特有的功能需求,對(duì)已存在的功能需求的約束或者是需要實(shí)現(xiàn)的一個(gè)特別計(jì)算。 3從系統(tǒng)設(shè)計(jì)的角度出發(fā),軟件設(shè)計(jì)方法分為哪三大類(lèi)?解答:從系統(tǒng)設(shè)計(jì)的角度出發(fā),軟件設(shè)計(jì)方法可以分為三大類(lèi)。

16、1)第一類(lèi)是根據(jù)系統(tǒng)的數(shù)據(jù)流進(jìn)行設(shè)計(jì),稱(chēng)為面向數(shù)據(jù)流的設(shè)計(jì)或者過(guò)程驅(qū)動(dòng)的設(shè)計(jì),以結(jié)構(gòu)化設(shè)計(jì)方法(Structured Design, SD)為代表。2)第二類(lèi)是根據(jù)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),稱(chēng)為面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)或者數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì),以L(fǎng)CP(程序邏輯構(gòu)造)方法、Jackson系統(tǒng)開(kāi)發(fā)方法和數(shù)據(jù)結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)(DSSD)方法為代表。 3)第三類(lèi)設(shè)計(jì)方法即面向?qū)ο蟮脑O(shè)計(jì)。 4結(jié)構(gòu)圖中主要有哪四種類(lèi)型的模塊?解答:結(jié)構(gòu)圖中可能出現(xiàn)以下四種類(lèi)型的模塊:(1)傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)過(guò)某些處理,再將其傳送給上級(jí)模塊。 (2)傳出模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行某些處理,傳送給下屬模塊。 (3)變換模

17、塊:從上級(jí)模塊取來(lái)數(shù)據(jù),進(jìn)行特定處理后,送回原上級(jí)模塊。 (4)協(xié)調(diào)模塊:對(duì)其下屬模塊進(jìn)行控制和管理的模塊。5按照Rumbaugh等人提出的對(duì)象建模技術(shù),面向?qū)ο笤O(shè)計(jì)過(guò)程主要由哪些步驟組成?解答:按照Rumbaugh等人提出的對(duì)象建模技術(shù)(Object Modeling Technique,OMT),面向?qū)ο笤O(shè)計(jì)過(guò)程主要由以下步驟組成: 1)系統(tǒng)設(shè)計(jì)。主要完成系統(tǒng)整體結(jié)構(gòu)的設(shè)計(jì),包括將子系統(tǒng)分配到處理器和任務(wù)中,選擇實(shí)現(xiàn)數(shù)據(jù)管理、界面支持和任務(wù)管理的設(shè)計(jì)策略,為系統(tǒng)設(shè)計(jì)合適的控制機(jī)制。 2)對(duì)象設(shè)計(jì)。對(duì)OOA模型中的類(lèi)對(duì)象模型具體化、詳細(xì)化,包括用傳統(tǒng)設(shè)計(jì)方法中過(guò)程設(shè)計(jì)的方法設(shè)計(jì)對(duì)象的每個(gè)操作

18、,定義實(shí)現(xiàn)系統(tǒng)所需的內(nèi)部類(lèi),為類(lèi)屬性設(shè)計(jì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)等。3)消息設(shè)計(jì)。使用對(duì)象間的協(xié)作和對(duì)象-關(guān)系模型,設(shè)計(jì)消息模型。4)復(fù)審設(shè)計(jì)模型。設(shè)計(jì)過(guò)程是遞進(jìn)的,從需求和實(shí)現(xiàn)兩個(gè)角度對(duì)設(shè)計(jì)模型進(jìn)行復(fù)審,并伴隨著附加的OOA活動(dòng)。 6對(duì)象的實(shí)現(xiàn)描述中包括主要包括哪些信息?解答:對(duì)象的實(shí)現(xiàn)描述中包括以下信息: (1) 對(duì)象名及所屬對(duì)象類(lèi); (2) 私有數(shù)據(jù)結(jié)構(gòu)的每一數(shù)據(jù)項(xiàng)及其類(lèi)型; (3) 每個(gè)操作的過(guò)程性描述或指向這樣一個(gè)過(guò)程性描述的指針。7結(jié)構(gòu)化程序設(shè)計(jì)的主要原則有哪些?解答:結(jié)構(gòu)化程序設(shè)計(jì)的主要原則如下: (1)使用語(yǔ)言有限的基本控制表示邏輯; (2)選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè); (3)程

19、序語(yǔ)句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口; (4)復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn); (5)語(yǔ)言中沒(méi)有的控制結(jié)構(gòu),可用一段等價(jià)的程序段來(lái)模擬,但要求該程序在整個(gè)系統(tǒng)中應(yīng)前后一致; (6)嚴(yán)格控制GOTO語(yǔ)句,僅在下列情形下才可使用:用一個(gè)非結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言去實(shí)現(xiàn)一個(gè)結(jié)構(gòu)化的構(gòu)造;某種可以改善而不是損害程序可讀性的情況下。 8編程階段主要要完成的三大任務(wù)是什么?解答:編程階段主要要完成的三個(gè)任務(wù)為:明確程序的控制結(jié)構(gòu)、確定程序所使用的算法、制定程序所需的數(shù)據(jù)結(jié)構(gòu)。(1)明確程序的控制結(jié)構(gòu) 編碼階段無(wú)論采用哪種控制結(jié)構(gòu)來(lái)實(shí)現(xiàn),都要嚴(yán)格遵從以下原則:代碼應(yīng)避免使用跳轉(zhuǎn)語(yǔ)句;

20、保持設(shè)計(jì)所制定的模塊性;模塊應(yīng)具有通用性,即不應(yīng)將只調(diào)用一次的代碼放在模塊中。(2)確定程序所使用的算法在算法的使用上,人們往往一味地追求運(yùn)行的速度而采用復(fù)雜的算法,這時(shí)取得的運(yùn)行速度特性是以下列付出為代價(jià)的:在實(shí)現(xiàn)這樣的代碼時(shí)需要付出比普通算法更多的時(shí)間;檢驗(yàn)代碼的正確性需要時(shí)間;代碼讀者可能是讀懂代碼需要很長(zhǎng)時(shí)間;修改代碼需要的額外時(shí)間。因此,在為程序選擇算法時(shí)應(yīng)在開(kāi)發(fā)時(shí)間與運(yùn)行時(shí)間上進(jìn)行充分的比較。 (3)制定程序所需的數(shù)據(jù)結(jié)構(gòu) 編寫(xiě)程序時(shí),需要考慮如何安排數(shù)據(jù)的組織和存儲(chǔ)形式,即數(shù)據(jù)結(jié)構(gòu)。9軟件測(cè)試時(shí)應(yīng)注意和遵循哪些原則?解答:軟件測(cè)試的原則:(1)把“盡早地和不斷地進(jìn)行軟件測(cè)試”作為

21、軟件開(kāi)發(fā)者的座右銘。不應(yīng)把軟件測(cè)試僅僅看作是軟件開(kāi)發(fā)的一個(gè)獨(dú)立階段,而應(yīng)當(dāng)把它貫穿到軟件開(kāi)發(fā)的各個(gè)階段中。堅(jiān)持在軟件開(kāi)發(fā)的各個(gè)階段的技術(shù)評(píng)審,這樣才能在開(kāi)發(fā)過(guò)程中盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,把出現(xiàn)的錯(cuò)誤克服在早期,杜絕某些發(fā)生錯(cuò)誤的隱患。(2)測(cè)試用例應(yīng)由測(cè)試輸入數(shù)據(jù)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。測(cè)試以前應(yīng)當(dāng)根據(jù)測(cè)試的要求選擇測(cè)試用例(Test case),用來(lái)檢驗(yàn)程序員編制的程序,因此不但需要測(cè)試的輸入數(shù)據(jù),而且需要針對(duì)這些輸入數(shù)據(jù)的預(yù)期輸出結(jié)果。(3)程序員應(yīng)避免檢查自己的程序。程序員應(yīng)盡可能避免測(cè)試自己編寫(xiě)的程序,程序開(kāi)發(fā)小組也應(yīng)盡可能避免測(cè)試本小組開(kāi)發(fā)的程序。如果條件允許,最好建立獨(dú)立

22、的軟件測(cè)試小組或測(cè)試機(jī)構(gòu)。這點(diǎn)不能與程序的調(diào)試(debuging)相混淆。調(diào)試由程序員自己來(lái)做可能更有效。(4)在設(shè)計(jì)測(cè)試用例時(shí),應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件。合理的輸入條件是指能驗(yàn)證程序正確的輸入條件,不合理的輸入條件是指異常的,臨界的,可能引起問(wèn)題異變的輸入條件。軟件系統(tǒng)處理非法命令的能力必須在測(cè)試時(shí)受到檢驗(yàn)。用不合理的輸入條件測(cè)試程序時(shí),往往比用合理的輸入條件進(jìn)行測(cè)試能發(fā)現(xiàn)更多的錯(cuò)誤。(5)充分注意測(cè)試中的群集現(xiàn)象。在被測(cè)程序段中,若發(fā)現(xiàn)錯(cuò)誤數(shù)目多,則殘存錯(cuò)誤數(shù)目也比較多。這種錯(cuò)誤群集性現(xiàn)象,已為許多程序的測(cè)試實(shí)踐所證實(shí)。根據(jù)這個(gè)規(guī)律,應(yīng)當(dāng)對(duì)錯(cuò)誤群集的程序段進(jìn)行重點(diǎn)測(cè)試,以提

23、高測(cè)試投資的效益。(6)嚴(yán)格執(zhí)行測(cè)試計(jì)劃,排除測(cè)試的隨意性。測(cè)試之前應(yīng)仔細(xì)考慮測(cè)試的項(xiàng)目,對(duì)每一項(xiàng)測(cè)試做出周密的計(jì)劃,包括被測(cè)程序的功能、輸入和輸出、測(cè)試內(nèi)容、進(jìn)度安排、資源要求、測(cè)試用例的選擇、測(cè)試的控制方式和過(guò)程等,還要包括系統(tǒng)的組裝方式、跟蹤規(guī)程、調(diào)試規(guī)程,回歸測(cè)試的規(guī)定,以及評(píng)價(jià)標(biāo)準(zhǔn)等。對(duì)于測(cè)試計(jì)劃,要明確規(guī)定,不要隨意解釋。(7)應(yīng)當(dāng)對(duì)每一個(gè)測(cè)試結(jié)果做全面檢查。有些錯(cuò)誤的征兆在輸出實(shí)測(cè)結(jié)果時(shí)已經(jīng)明顯地出現(xiàn)了,但是如果不仔細(xì)地全面地檢查測(cè)試結(jié)果,就會(huì)使這些錯(cuò)誤被遺漏掉。所以必須對(duì)預(yù)期的輸出結(jié)果明確定義,對(duì)實(shí)測(cè)的結(jié)果仔細(xì)分析檢查,抓住征侯,暴露錯(cuò)誤。(8)妥善保存測(cè)試計(jì)劃,測(cè)試用例,出錯(cuò)

24、統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。10單元測(cè)試的主要內(nèi)容由哪些?解答:?jiǎn)卧獪y(cè)試的內(nèi)容有:(1)模塊接口測(cè)試 :對(duì)通過(guò)被測(cè)模塊的數(shù)據(jù)流進(jìn)行測(cè)試。為此,對(duì)模塊接口,包括參數(shù)表、調(diào)用子模塊的參數(shù)、全程數(shù)據(jù)、文件輸入輸出操作都必須檢查。(2)局部數(shù)據(jù)結(jié)構(gòu)測(cè)試 :設(shè)計(jì)測(cè)試用例檢查數(shù)據(jù)類(lèi)型說(shuō)明、初始化、缺省值等方面的問(wèn)題,還要查清全程數(shù)據(jù)對(duì)模塊的影響。 (3)路徑測(cè)試 :選擇適當(dāng)?shù)臏y(cè)試用例,對(duì)模塊中重要的執(zhí)行路徑進(jìn)行測(cè)試。對(duì)基本執(zhí)行路徑和循環(huán)進(jìn)行測(cè)試可以發(fā)現(xiàn)大量的路徑錯(cuò)誤。(4)錯(cuò)誤處理測(cè)試 :檢查模塊的錯(cuò)誤處理功能是否包含有錯(cuò)誤或缺陷。例如,是否拒絕不合理的輸入;出錯(cuò)的描述是否難以理解、是否對(duì)錯(cuò)誤定位

25、有誤、是否出錯(cuò)原因報(bào)告有誤、是否對(duì)錯(cuò)誤條件的處理不正確;在對(duì)錯(cuò)誤處理之前錯(cuò)誤條件是否已經(jīng)引起系統(tǒng)的干預(yù)等。(5)邊界測(cè)試 :要特別注意數(shù)據(jù)流、控制流中剛好等于、大于或小于確定的比較值時(shí)出錯(cuò)的可能性。對(duì)這些地方要仔細(xì)地選擇測(cè)試用例,認(rèn)真加以測(cè)試。11何謂軟件的維護(hù)性?解答:軟件的維護(hù)性是一種與軟件維護(hù)有關(guān)的屬性,國(guó)標(biāo)GB/T 11457-89對(duì)軟件的維護(hù)性作了以下定義:(1)軟件進(jìn)行維護(hù)的難易程度。(2)按照預(yù)定的需要對(duì)某一功能部件進(jìn)行維護(hù)的難易程度.(3)在規(guī)定的使用條件下,在給定時(shí)間間隔內(nèi)一個(gè)軟件保持在某一指定狀態(tài)或者恢復(fù)到某一指定狀態(tài)的能力。 軟件維護(hù)性是軟件的內(nèi)在固有屬性,它是軟件質(zhì)量的

26、重要組成部分。在軟件的質(zhì)量特性中,維護(hù)性與可靠性、可重用性的關(guān)系尤為密切。12影響維護(hù)代價(jià)的技術(shù)因素主要有哪些?解答:影響維護(hù)代價(jià)的技術(shù)因素主要有:(1)軟件對(duì)運(yùn)行環(huán)境的依賴(lài)性。(2)編程語(yǔ)言。(3)編程風(fēng)格。良好的編程風(fēng)格意味著良好的可理解性,可以降低維護(hù)的代價(jià)。(4)測(cè)試和改錯(cuò)工作。如果測(cè)試和改錯(cuò)工作做得好,后期的維護(hù)代價(jià)就能降低。(5)文檔的質(zhì)量。清晰、正確和完備的文檔能降低維護(hù)的代價(jià)。五.應(yīng)用題1解答:假設(shè)一個(gè)程序P有輸入X和Y及輸出Z,參看圖1。在字長(zhǎng)為32位的計(jì)算機(jī)上運(yùn)行。如果X、Y只取整數(shù),考慮把所有的X、Y值都做為測(cè)試數(shù)據(jù),按黑盒測(cè)試方法進(jìn)行窮舉測(cè)試,力圖全面、無(wú)遺漏地“挖掘”出程序中的所有錯(cuò)誤。這樣做可能采用的測(cè)試數(shù)據(jù)組(Xi, Yi)的最大可能數(shù)目為:232×232264。如果程序P測(cè)試一組X、Y數(shù)據(jù)需要1毫秒,且一天工作24小時(shí),一年工作365天,要完成264組測(cè)試,需要5億年。圖1 黑盒子中的窮舉測(cè)試分析表明,實(shí)行窮舉測(cè)試,由于工作量過(guò)大,實(shí)施起來(lái)是不現(xiàn)實(shí)的。任何軟件開(kāi)發(fā)項(xiàng)目都要受到期限、費(fèi)用、人力和機(jī)時(shí)等條件的限制,盡管為了充分揭露程序中所有隱藏錯(cuò)誤,需要針對(duì)所有可能的數(shù)據(jù)進(jìn)行測(cè)試,但事實(shí)告訴我們,這樣做是不可能的。2解答:第二

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論