軟件工程第五版習(xí)題及答案_第1頁
軟件工程第五版習(xí)題及答案_第2頁
軟件工程第五版習(xí)題及答案_第3頁
軟件工程第五版習(xí)題及答案_第4頁
軟件工程第五版習(xí)題及答案_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《軟件工程》(第五版)習(xí)題參考答案第1章一、判斷題1、(×)軟件的維護(hù)與硬件維護(hù)本質(zhì)上是相同的。2、(√)軟件在運(yùn)營和使用中也存在退化問題。3、(×)軟件危機(jī)的產(chǎn)生重要是由于程序設(shè)計(jì)人員使用了不適當(dāng)?shù)某绦蛟O(shè)計(jì)語言。4、(√)軟件同其他事物同樣,有孕育、誕生、成長、成熟和衰亡的生存過程。5、(×)文字解決軟件Word屬于系統(tǒng)軟件。應(yīng)用軟件6、(√)原型是軟件的一個初期可運(yùn)營的版本,它反映最終系統(tǒng)的部分重要特性。7、(√)軟件開發(fā)過程中,一個錯誤發(fā)現(xiàn)得越晚,為改正它所付出的代價就越大。8、(×)快速原型模型對軟件開發(fā)人員的水平規(guī)定不高。9、(√)噴泉模型適合于面向?qū)ο蟮能浖_發(fā)。10、(×)面向?qū)ο箝_發(fā)方法的重要缺陷是在適應(yīng)需求變化方面不夠靈活。二、選擇題1、軟件是一種(C)。A、程序 B、數(shù)據(jù) C、邏輯產(chǎn)品 D、物理產(chǎn)品2、軟件開發(fā)方法是(A)。A、指導(dǎo)軟件開發(fā)的一系列規(guī)則和約定 B、軟件開發(fā)的環(huán)節(jié)C、軟件開發(fā)的技術(shù) D、軟件開發(fā)的思想3、軟件生存周期中花費(fèi)最多的階段是(D)。A、具體設(shè)計(jì) B、軟件編碼(最少) C、軟件測試 D、軟件維護(hù)4、軟件工程的三要素不涉及(D)。A、工具 B、過程 C、方法 D、環(huán)境5、在軟件生存周期中,能準(zhǔn)確地擬定“軟件系統(tǒng)必須做什么”的階段是(D)。A、總體設(shè)計(jì) B、具體設(shè)計(jì)(怎么做)C、可行性研究(能不能做) D、需求分析6、瀑布模型本質(zhì)上是一種(A)模型。A、線性順序 B、順序迭代 C、線性迭代 D、能及早見到產(chǎn)品的7、瀑布模型突出的缺陷是不適應(yīng)(D)的變動。A、算法 B、程序語言 C、平臺 D、用戶需求8、在軟件開發(fā)模型中,提出最早、應(yīng)用最廣泛的模型是(A)。A、瀑布模型 B、噴泉模型 C、快速原型模型 D、螺旋模型9、瀑布模型不適合用于(A)的軟件開發(fā)。A、需求模糊不清 B、用戶不能參與開發(fā)C、用戶對計(jì)算機(jī)不了解 D、開發(fā)人員對業(yè)務(wù)知識不熟悉10、快速原型的重要優(yōu)點(diǎn)不涉及(D)。A、能讓用戶參與開發(fā)、給出反饋 B、盡早把需求分析清楚,以減少風(fēng)險C、盡早地發(fā)現(xiàn)問題、糾正錯誤 D、對軟件分析設(shè)計(jì)人員的素質(zhì)規(guī)定不高11、快速原型的重要問題在于(A)。A、缺少支持原型開發(fā)的工具 B、要嚴(yán)格控制原型構(gòu)造的迭代C、終端用戶對原型不能理解 D、軟件的測試和文檔更新困難12、螺旋模型是一種將瀑布模型和(A)結(jié)合起來的軟件開發(fā)模型。A、增量模型 B、專家系統(tǒng) C、噴泉模型 D、變換模型13、在軟件生產(chǎn)的程序系統(tǒng)時代由于軟件規(guī)模擴(kuò)大和和軟件復(fù)雜性提高等因素導(dǎo)致了(A)。A、軟件危機(jī) B、軟件工程 C、程序設(shè)計(jì)革命 D、結(jié)構(gòu)化程序設(shè)計(jì)14、集成化開發(fā)環(huán)境中的環(huán)境集成機(jī)制不涉及(D)。A、數(shù)據(jù)集成 B、控制集成 C、界面集成 D、服務(wù)集成15、軟件工程的出現(xiàn)是由于(A)。A、軟件危機(jī)的出現(xiàn) B、計(jì)算機(jī)硬件技術(shù)的發(fā)展C、軟件社會化的需要 D、計(jì)算機(jī)軟件技術(shù)的發(fā)展三、簡答題1、軟件通過你自己使用計(jì)算機(jī)的經(jīng)歷和對計(jì)算機(jī)的結(jié)識分辨軟件和程序的差別,指出區(qū)別的關(guān)鍵點(diǎn)。答:軟件涉及程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。其中,程序是按事先設(shè)計(jì)的功能和性能規(guī)定執(zhí)行的指令序列;數(shù)據(jù)是使程序可以對的地解決信息的數(shù)據(jù)結(jié)構(gòu);文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文資料。軟件涉及程序,程序只是軟件的一部分。2、簡述軟件危機(jī)產(chǎn)生的因素以及避免的方法。答:軟件危機(jī)的產(chǎn)生有兩方面因素,一方面與軟件自身的抽象性和復(fù)雜性有關(guān);另一方面則與軟件開發(fā)和維護(hù)過程中使用的技術(shù)和方法有關(guān),這是主觀因素。為了解決軟件危機(jī),既要有技術(shù)措施(好的方法和工具),也要有組織管理措施。(1)使用好的軟件開發(fā)技術(shù)和方法。(2)使用好的軟件開發(fā)工具,提高軟件生產(chǎn)率。(3)有良好的組織、嚴(yán)密的管理,各方面人員互相配合共同完畢任務(wù)。3、簡述軟件工程在軟件開發(fā)中的作用和意義。答:軟件工程的重要思想是強(qiáng)調(diào)軟件開發(fā)過程中應(yīng)用工程化原則的重要性。軟件工程的目的是實(shí)現(xiàn)軟件的優(yōu)質(zhì)高產(chǎn)。軟件工程的目的是在經(jīng)費(fèi)的預(yù)算范圍內(nèi),按期交付出用戶滿意的、質(zhì)量合格的軟件產(chǎn)品。4、軟件生命周期概念對軟件的開發(fā)有哪些指導(dǎo)作用。答:軟件生命周期是軟件工程的一個重要的概念。把整個軟件生命周期劃分為若干個較小的階段,每個階段都有相對獨(dú)立的任務(wù)和完畢任務(wù)的環(huán)節(jié)和方法,然后逐步完畢各個階段的任務(wù),這有助于軟件開發(fā)過程的組織和管理,從而減少了整個軟件開發(fā)過程的困難限度,從而使規(guī)模龐大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變得容易控制和管理。5、分析瀑布模型和螺旋模型的異同,比較它們的合用場合。答:瀑布模型是線性模型,是整體開發(fā)模型,文檔驅(qū)動的模型,每一階段必須完畢指定的文檔,需求明確的中、小型軟件開發(fā),不適宜需求模糊或多變的應(yīng)用軟件開發(fā);螺旋模型是典型迭代模型,是風(fēng)險驅(qū)動模型,可用于面向?qū)ο箝_發(fā),適宜風(fēng)險較大的大型軟件開發(fā)。第2章一、選擇題1、系統(tǒng)流程圖是一種傳統(tǒng)工具,用于描繪(D)。A、邏輯模型 B、程序結(jié)構(gòu) C、體系結(jié)構(gòu) D、物理系統(tǒng)2、軟件可行性研究的目的是(C)。A、證明軟件開發(fā)項(xiàng)目可行 B、證明軟件開發(fā)項(xiàng)目不可行C、闡述軟件開發(fā)項(xiàng)目值得或不值得做 D、為了擬定軟件開發(fā)項(xiàng)目要不要做3、技術(shù)可行性研究要解決的問題是(A)。A、從技術(shù)方面說明項(xiàng)目是否可行 B、從技術(shù)上定義項(xiàng)目要解決的問題C、給出項(xiàng)目開發(fā)可行的技術(shù)路線 D、給出精簡的項(xiàng)目需求設(shè)計(jì)報告4、可行性研究的環(huán)節(jié)一方面是(A)。A、擬定項(xiàng)目目的,即對要解決的問題進(jìn)行定義 B、研究項(xiàng)目規(guī)定C、對項(xiàng)目目的進(jìn)行可行性分析 D、給出可行的解決方案5、可行性研究的任務(wù)不涉及(D)。A、技術(shù)可行性 B、經(jīng)濟(jì)可行性 C、法律可行性 D、政治可行性6、系統(tǒng)流程圖是描述(A)的工具。A、物理系統(tǒng) B、邏輯系統(tǒng) C、體系系統(tǒng) D、程序系統(tǒng)7、可行性研究實(shí)質(zhì)上是要進(jìn)行一次(A)需求分析,設(shè)計(jì)過程。A、簡化、壓縮的 B、具體的 C、徹底的 D、進(jìn)一步的8、系統(tǒng)流程圖的符號不涉及(D)。A、 B、 C、 D、二、簡答題1、軟件開發(fā)的初期,為什么要進(jìn)行可行性研究?目的的可行性研究有幾個方面?答:許多軟件開發(fā)問題都不能在預(yù)期的時間范圍內(nèi)或資源限制下得到解決。假如開發(fā)人員沒有盡早停止沒有可行解決方案的開發(fā)項(xiàng)目,就會導(dǎo)致時間、資金、人力、物力的浪費(fèi)。為了減少軟件開發(fā)失敗的也許性,需要進(jìn)行軟件可行性研究。可行性研究要從經(jīng)濟(jì)可行性、技術(shù)可行性、運(yùn)營可行性和法律可行性四方面進(jìn)行。2、簡述可行性研究的環(huán)節(jié)。答:(1)審核系統(tǒng)的規(guī)模和目的;(2)分析研究現(xiàn)行系統(tǒng);(3)設(shè)計(jì)新系統(tǒng)的高層邏輯模型;(4)獲得并比較可行的方案;(5)撰寫可行性研究報告。3、某航空公司為了方便旅客,擬開發(fā)一個機(jī)票預(yù)訂系統(tǒng)。將旅客的信息(姓名、性別、工作單位、身份證號、旅行時間、旅行目的地等)輸入該系統(tǒng)后,系統(tǒng)自動為旅客安排航班。打印出取票告知和票務(wù)賬單。旅客可在航班的前一天憑取票告知和票務(wù)賬單交款取票。系統(tǒng)校對無誤后即打印出機(jī)票給旅客。規(guī)定:(1)提出問題定義;(2)分析此系統(tǒng)的可行性;(3)畫出系統(tǒng)流程圖。答:(1)問題定義:航運(yùn)公司機(jī)票預(yù)訂系統(tǒng)問題定義-------------------------------------------------------------------系統(tǒng)目的和范圍說明書1.項(xiàng)目名稱:X航運(yùn)公司機(jī)票預(yù)訂系統(tǒng)。2.背景:目前,由旅客人工到航運(yùn)公司排隊(duì)購票,費(fèi)時、費(fèi)力、管理工作量大、手續(xù)繁瑣效率低,制約了公司業(yè)務(wù)的發(fā)展。3.項(xiàng)目目的:建立一個網(wǎng)絡(luò)化的機(jī)票預(yù)訂系統(tǒng)。4.項(xiàng)目范圍:軟件開發(fā)費(fèi)用不超過X萬元。5.初步設(shè)想:建議在系統(tǒng)中完畢安排航班、打印取票告知、打印票務(wù)賬單、打印機(jī)票等重要功能。6.可行性研究:建議進(jìn)行大約X周的可行性研究,研究費(fèi)用不超過X元。-------------------------------------------------------------------(2)可行性分析技術(shù)可行性:使用現(xiàn)有的技術(shù)可以實(shí)現(xiàn)此系統(tǒng),在現(xiàn)有資源(涉及硬件資源、軟件資源、技術(shù)人員的技術(shù)水平和已有的工作基礎(chǔ))條件下,技術(shù)風(fēng)險不大,項(xiàng)目可以實(shí)現(xiàn)。經(jīng)濟(jì)可行性:此系統(tǒng)可以方便旅客訂票,具有一定的經(jīng)濟(jì)效益和社會效益。法律可行性:此項(xiàng)目開發(fā)要符合航運(yùn)系統(tǒng)相關(guān)規(guī)定。操作可行性:現(xiàn)有制度、人員素質(zhì)、操作方式可行。(3)系統(tǒng)流程圖第3章一、判斷題1、(√)軟件需求分析階段要擬定軟件系統(tǒng)要“做什么”。2、(×)軟件需求規(guī)格說明書可作為可行性研究的依據(jù)。3、(√)需求分析員可以參與最后的需求評審工作。4、(×)畫數(shù)據(jù)流圖時可以加少量的控制流,使加工之間有時序的關(guān)系。5、(√)結(jié)構(gòu)化分析模型的核心是數(shù)據(jù)詞典。6、(×)在數(shù)據(jù)流圖中,帶有箭頭的線段表達(dá)的是控制流。數(shù)據(jù)流7、(×)在軟件生產(chǎn)過程中,需求信息的來源是項(xiàng)目經(jīng)理。用戶8、(√)需求分析階段的任務(wù)是擬定軟件的功能。做什么二、選擇題1、需求分析最終結(jié)果是產(chǎn)生(B)。A、項(xiàng)目開發(fā)計(jì)劃 B、需求規(guī)格說明書 C、設(shè)計(jì)說明書 D、可行性分析報告2、數(shù)據(jù)流圖(DFD)是(A)方法中用于表達(dá)系統(tǒng)的邏輯模型的一種圖形工具。A、SA B、SD C、SP D、SC3、需求規(guī)格說明書的作用不涉及(C)。A、軟件驗(yàn)收的依據(jù) B、用戶與開發(fā)人員對軟件要做什么的共同理解C、軟件可行性研究的依據(jù) D、軟件設(shè)計(jì)的依據(jù)4、數(shù)據(jù)詞典是用來定義(D)中的各個成分的具體含義。A、流程圖 B、功能結(jié)構(gòu)圖 C、結(jié)構(gòu)圖 D、數(shù)據(jù)流圖5、結(jié)構(gòu)化分析方法(SA)是一種面向(B)的分析方法。A、數(shù)據(jù)結(jié)構(gòu) B、數(shù)據(jù)流 C、結(jié)構(gòu)化數(shù)據(jù)系統(tǒng) D、對象6、在數(shù)據(jù)詞典中,以下哪一項(xiàng)表達(dá)允許反復(fù)0至任意次(A)。A、{} B、0{} C、0{}n D、{}n7、以下數(shù)據(jù)流圖符號中哪一個表達(dá)加工(B)。A、 B、 C、 D、8、軟件開發(fā)的需求活動,其重要任務(wù)是(D)。A、給出軟件解決方案 B、給出系統(tǒng)模塊結(jié)構(gòu)C、定義模塊算法 D、定義需求并建立系統(tǒng)模型9、結(jié)構(gòu)化分析的核心是(A)。A、自頂向下的分解 B、用DFD建模C、用DD描述數(shù)據(jù)需求 D、自底向上的抽象10、需求分析的任務(wù)是(A)。A、對的說明讓軟件“做什么” B、用DFD建模C、用DD建立數(shù)學(xué)模型 D、給出需求規(guī)格說明書11、對于分層的DFD,父圖與子圖的平衡是指(B)。A、父圖與子圖的輸入輸出數(shù)據(jù)流必須相同B、子圖必須繼承父圖的輸入與輸出流C、父圖與子圖相應(yīng)的輸入輸出數(shù)據(jù)流名字保持一致 D、子圖可以自己的輸入輸出數(shù)據(jù)流12、DFD的每個加工都必須有(A)。A、一個輸入和輸出數(shù)據(jù)流 B、一個輸入數(shù)據(jù)流C、一個輸出數(shù)據(jù)流 D、一個輸入或輸出數(shù)據(jù)流13、需求分析是分析員經(jīng)了解用戶的規(guī)定,認(rèn)真細(xì)致地調(diào)研、分析,最終建立目的系統(tǒng)的邏輯模型并寫出(B)的過程。A、模塊說明書 B、軟件規(guī)格說明書 C、項(xiàng)目開發(fā)計(jì)劃 D、協(xié)議文檔14、結(jié)構(gòu)化分析方法是以數(shù)據(jù)流圖、(D)和加工說明等描述工具,即用直觀的圖和簡潔的語言來描述軟件系統(tǒng)模型。A、DFD圖 B、PAD圖 C、IPO圖 D、DD15、軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及(B)。A、階段性報告 B、需求評估 C、總結(jié) D、都不對的16、數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下面圖符名稱標(biāo)記的圖符不屬于數(shù)據(jù)流圖合法圖符的是(A)。A、控制流 B、加工 C、數(shù)據(jù)存儲 D、源點(diǎn)和終點(diǎn)17、DFD用于描述系統(tǒng)的(D)。A、數(shù)據(jù)結(jié)構(gòu) B、控制流程 C、基本加工 D、軟件功能18、數(shù)據(jù)詞典不涉及的條目是(C)。A、數(shù)據(jù)項(xiàng) B、數(shù)據(jù)流 C、數(shù)據(jù)類型 D、數(shù)據(jù)加工19、軟件需求分析一般應(yīng)擬定的是用戶對軟件的(D)。A、功能需求 B、非功能需求 C、性能需求 D、功能需求和非功能需求20、在數(shù)據(jù)流圖中,有名字和方向的成分是(B)。A、信息流 B、數(shù)據(jù)流 C、控制流 D、信號流三、簡答題1、需求分析的任務(wù)是什么?如何理解“做什么”和“怎么做”?答:需求分析的基本任務(wù)是要準(zhǔn)確地理解舊系統(tǒng)、定義新系統(tǒng)的目的,為了滿足用戶需要,回答“系統(tǒng)必須做什么”的問題,即擬定系統(tǒng)必須完畢哪些工作,對新系統(tǒng)提出完整、準(zhǔn)確、清楚、具體的規(guī)定。具體任務(wù)是:明確問題定義、導(dǎo)出軟件的邏輯模型、編寫軟件需求規(guī)格說明書。“做什么”,即進(jìn)一步描述軟件的功能和性能,擬定軟件設(shè)計(jì)的限制和軟件與其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求。“怎么做”,即著手軟件需求的實(shí)現(xiàn):用比較抽象概括的方式擬定目的系統(tǒng)如何完畢預(yù)定的任務(wù),擬定系統(tǒng)的物理模型。2、如何建立目的系統(tǒng)的邏輯模型?答:建立目的系統(tǒng)邏輯模型的一般過程:(1)由當(dāng)前物理系統(tǒng)導(dǎo)出當(dāng)前系統(tǒng)物理模型;(2)由當(dāng)前系統(tǒng)物理模型,導(dǎo)出當(dāng)前系統(tǒng)邏輯模型;(3)參考當(dāng)前系統(tǒng)邏輯模型,設(shè)想出新系統(tǒng)邏輯模型。3、數(shù)據(jù)流圖的作用是什么?它有哪些基本成分?答:數(shù)據(jù)流圖是用于表達(dá)系統(tǒng)邏輯模型的一種工具。它從數(shù)據(jù)傳遞和加工的角度,以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和解決過程。它表達(dá)了系統(tǒng)內(nèi)部信息的流向以及系統(tǒng)的邏輯解決功能。數(shù)據(jù)流圖的重要成分有四種:數(shù)據(jù)流、數(shù)據(jù)存儲、加工、數(shù)據(jù)流的源點(diǎn)和終點(diǎn)。4、數(shù)據(jù)詞典的作用是什么?它涉及哪些內(nèi)容?答:數(shù)據(jù)詞典是數(shù)據(jù)的集合,它對數(shù)據(jù)流圖中的各個元素作完整的定義和說明,是數(shù)據(jù)流圖的補(bǔ)充工具。數(shù)據(jù)流圖和數(shù)據(jù)詞典共同構(gòu)成系統(tǒng)的邏輯模型,兩者缺一不可。其內(nèi)容涉及:數(shù)據(jù)流、數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲、加工邏輯、外部實(shí)體6類元素。四、應(yīng)用題1、用SA方法對“學(xué)生檔案管理系統(tǒng)”進(jìn)行分析,畫出DFD圖,并建立相應(yīng)的數(shù)據(jù)詞典。解:“學(xué)生管理系統(tǒng)”的頂層圖和0層圖。頂層圖:學(xué)生管理系統(tǒng)學(xué)生老師學(xué)生信息成績表課程表考試成績課程表學(xué)生管理系統(tǒng)學(xué)生老師學(xué)生信息成績表課程表考試成績課程表0層圖1學(xué)籍管理1學(xué)籍管理學(xué)生信息成績表課程表考試成績3成績登統(tǒng)成績庫學(xué)生檔案成績庫課程庫2排課管理學(xué)生信息成績表課程表考試成績3成績登統(tǒng)成績庫學(xué)生檔案成績庫課程庫2排課管理部分?jǐn)?shù)據(jù)詞典:學(xué)生檔案={學(xué)號+姓名+性別+年齡+專業(yè)+班級}成績庫=學(xué)號+課程號+分?jǐn)?shù)課程庫=課程號+課程名+學(xué)分學(xué)生信息=學(xué)號+姓名+性別+年齡+專業(yè)+班級考試成績=學(xué)號+課程號+分?jǐn)?shù)學(xué)號=”00001”...”99999”姓名=2{漢字}4專業(yè)=”01”...”99”注:專業(yè)代號2位數(shù)字班級=”01”...”99”注:班級代號2位數(shù)字學(xué)分=0..992、某錄取統(tǒng)分子系統(tǒng)有如下功能:(1)計(jì)算標(biāo)準(zhǔn)分:根據(jù)考生原始分計(jì)算出標(biāo)準(zhǔn)分,并將其存入考生分?jǐn)?shù)文獻(xiàn)。(2)計(jì)算錄取線分:根據(jù)標(biāo)準(zhǔn)分、招生計(jì)劃文獻(xiàn)中的招生人數(shù),計(jì)算錄取線分?jǐn)?shù),并存入錄取線文獻(xiàn)。試根據(jù)規(guī)定畫出該子系統(tǒng)的數(shù)據(jù)流程圖。解:數(shù)據(jù)流圖如下:計(jì)算計(jì)算標(biāo)準(zhǔn)分計(jì)算錄取線分考生原始分標(biāo)準(zhǔn)分標(biāo)準(zhǔn)分考生分?jǐn)?shù)招生計(jì)劃文獻(xiàn)錄取線文獻(xiàn)招生人數(shù)3、某考務(wù)中心準(zhǔn)備開發(fā)一個考務(wù)管理系統(tǒng),其需求如下:(1)考生填寫考試報名表,經(jīng)檢查合格后在系統(tǒng)中登記注冊,并發(fā)給學(xué)生準(zhǔn)考證。(2)學(xué)生按照準(zhǔn)考證規(guī)定進(jìn)入考場考試。考試完后將試卷交給閱卷站。(3)閱卷站閱卷后把成績表(涉及每個考試科目、每個考生的分項(xiàng)分?jǐn)?shù))交給本系統(tǒng)并輸入計(jì)算機(jī)。(4)考試中心負(fù)責(zé)管理成績評估標(biāo)準(zhǔn),并將其交給閱卷站。(5)系統(tǒng)把考試成績告知考生,把考試成績的記錄結(jié)果交給考試中心。(6)系統(tǒng)向考生提供按準(zhǔn)考證號、考生姓名的考生成績查詢,將按科目的歷年考試成績記錄分析和評分標(biāo)準(zhǔn)提供應(yīng)考試中心。(7)考生對考試成績質(zhì)疑時,系統(tǒng)根據(jù)準(zhǔn)考證號、姓名可以查詢考生某科目的各分項(xiàng)成績,必要時可查閱閱卷站的試卷。(8)系統(tǒng)保存并可查詢歷年每門科目的評分標(biāo)準(zhǔn)。(9)根據(jù)考試成績記錄系統(tǒng)可以向考試中心提供試題難度分析。請畫出系統(tǒng)的數(shù)據(jù)流程圖(頂層圖和0層圖)。解:頂層圖:成績清單成績清單記錄分析表不合格報名表考生名單報名表準(zhǔn)考證考務(wù)管理系統(tǒng)考生考試中心合格標(biāo)準(zhǔn)閱卷站考試告知單錯誤成績單頂層圖0層圖:單單錯誤成績單成績清記錄分析表考生告知單2記錄成績合格標(biāo)準(zhǔn)考生名冊報名表1登記報名單不合格報名表準(zhǔn)考證考生名單0層圖4、某單位人事部門擬對職工工作進(jìn)行調(diào)整,細(xì)則如下:年齡滿40歲以上人員,初中或高中文化,若是男性當(dāng)修理工,若是女性當(dāng)清潔工;大專文化當(dāng)技術(shù)員。年齡25歲至40歲,初中或高中文化,若是男性鉗工,若是女性當(dāng)車工;大專文化當(dāng)技術(shù)員。年齡不滿25歲,初中文化脫產(chǎn)學(xué)習(xí),高中文化當(dāng)電工;大專文化當(dāng)技術(shù)員。請根據(jù)以上敘述運(yùn)用三種加工邏輯說明寫出它們的邏輯組合的關(guān)系。解:鑒定表如下:設(shè):性別:男:M女:F學(xué)歷:初中:A高中B大專:C年齡:小于25:C25至40:Y40以上:L123456789101112131415161718性別MMMMMMMMMFFFFFFFFF學(xué)歷AAABBBCCCAAABBBCCC年齡CYLCYLCYLCYLCYLCYL脫產(chǎn)學(xué)習(xí)XX電工XX技術(shù)員XXXXXX修理工XX鉗工XX車工XX清潔工XX化簡后的鑒定表:1234567-910111213141516-18性別MMMMMMMFFFFFFF學(xué)歷AAABBBCAAABBBC年齡CYLCYL--CYLCYL--脫產(chǎn)學(xué)習(xí)XX電工XX技術(shù)員XX修理工XX鉗工XX車工XX清潔工XX最簡化:1,10234,13567-9,16-1811121415性別--MM--MM--FFFF學(xué)歷AAABBBCAABB年齡CYLCYL--YLYL脫產(chǎn)學(xué)習(xí)X電工X技術(shù)員X修理工XX鉗工XX車工XX清潔工XX>4025-40年齡>4025-40年齡學(xué)歷性別男------修理工女-----清潔工初中高中大專------------------------技術(shù)員男---修理工女–--清潔工25-40男------鉗工女-----車工初中高中大專------------------------技術(shù)員男---鉗工女–--車工大專------------------------技術(shù)員初中-----------------脫產(chǎn)學(xué)習(xí)高中-------------------電工大專------------------技術(shù)員結(jié)構(gòu)化語言:IF年齡>40THENSWITCH(學(xué)歷){CASE:“初中”IF性別為“男”THEN做修理工ELSE做清潔工CASE:“高中”IF性別為“男”THEN做修理工ELSE做清潔工CASE:“大專”做技術(shù)員ELSEIF年齡>=25且年齡<40THENSWITCH(學(xué)歷){CASE:“初中”IF性別為“男”THEN做鉗工ELSE做車工CASE:“高中”IF性別為“男”THEN做鉗工ELSE做車工CASE:“大?!弊黾夹g(shù)員}ELSESWITCH(學(xué)歷){CASE:“初中”脫產(chǎn)學(xué)習(xí)CASE:“高中”做電工CASE:“大?!弊黾夹g(shù)員}5、下面是一項(xiàng)貨運(yùn)收費(fèi)政策:“航空運(yùn)費(fèi)”,重量小于或等于20kg的貨品,每公斤6元,若重量大于20kg,超重部分每公斤6.5元,航空運(yùn)費(fèi)的最低起價是12元。這項(xiàng)標(biāo)準(zhǔn)合用于國內(nèi)航線,假如是國際航線,運(yùn)費(fèi)加倍。請用鑒定樹、鑒定表表達(dá)。解:鑒定表國內(nèi)YYYNNN重量LMHLMH運(yùn)費(fèi)(元)126W6.5(W-20)+1202412W13(W-20)+240注:設(shè)重量為W(單位為Kg)重量<=2Kg,重量>2Kg且重量<=20Kg,重量>20Kg,分別用L、M、H表達(dá)鑒定樹:重量<=2Kg——12元國內(nèi)重量>2Kg且<=20Kg——6W元國內(nèi)重量>20Kg——6.5(W-20)+120重量<=2Kg——24元國際重量>2Kg且<=20Kg——12W元國際重量>20Kg——13(W-20)+2406、下面是中國郵政電子匯兌系統(tǒng)中匯兌資費(fèi)計(jì)算加工中資費(fèi)計(jì)算的方法:無論是本埠(縣)還是外埠資費(fèi)計(jì)算方法相同。每匯款1元(以元為單位計(jì)算)收費(fèi)0.01元,每筆匯款最低匯費(fèi)為2元,最高匯費(fèi)為50元。請用鑒定樹、鑒定表表達(dá)。解:設(shè)匯款金額為W元。鑒定樹如下:匯額本埠/外埠匯費(fèi)<=200-----------------------2元>200且<=5000元-----------W*0.01元>5000---------------------50元鑒定表如下:三種匯額分別用符號L、M、H表達(dá),匯款額用W表達(dá)。匯額(元)LLMMHH本埠YNYNYN匯費(fèi)(元)22W*0.01W*0.015050可簡化為:匯額(元)LMH本埠------匯費(fèi)(元)2W*0.0150第4章一、判斷題1、(√)假如在需求分析階段采用了結(jié)構(gòu)化分析方法,則軟件設(shè)計(jì)階段就應(yīng)采用結(jié)構(gòu)化設(shè)計(jì)方法。2、(√)概要設(shè)計(jì)與具體設(shè)計(jì)之間的關(guān)系是全局和局部的關(guān)系。3、(×)一個模塊的作用范圍應(yīng)當(dāng)大于該模塊的控制范圍。4、(√)模塊間的耦合性越強(qiáng),則模塊的獨(dú)立性越弱。5、(×)在設(shè)計(jì)模塊時,應(yīng)使一個模塊盡量涉及多個功能。6、(√)軟件結(jié)構(gòu)圖可以運(yùn)用數(shù)據(jù)流圖映射出來。7、(×)結(jié)構(gòu)化設(shè)計(jì)是一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法。8、(√)在結(jié)構(gòu)化設(shè)計(jì)過程中一方面要確認(rèn)DFD。二、選擇題1、軟件結(jié)構(gòu)圖的形態(tài)特性能反映程序重用率的是(C)。A、深度 B、寬度 C、扇入 D、扇出2、概要設(shè)計(jì)的目的是擬定整個系統(tǒng)的(B)。A、規(guī)模 B、功能及模塊結(jié)構(gòu) C、費(fèi)用 D、測試方案3、耦合是對軟件不同模塊之間互連限度的度量。各種耦合從強(qiáng)到弱的排列為(C)。A、內(nèi)容耦合,控制耦合,數(shù)據(jù)耦合,公共環(huán)境耦合B、內(nèi)容耦合,控制耦合,公共環(huán)境耦合,數(shù)據(jù)耦合C、內(nèi)容耦合,公共環(huán)境耦合,控制耦合,數(shù)據(jù)耦合D、控制耦合,內(nèi)容耦合,數(shù)據(jù)耦合,公共環(huán)境耦合4、當(dāng)一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù)時,這種模塊之間的耦合為(D)。A、數(shù)據(jù)耦合 B、公共耦合 C、標(biāo)記耦合 D、內(nèi)容耦合5、數(shù)據(jù)耦合和控制耦合相比,則(B)成立。A、數(shù)據(jù)耦合的耦合性強(qiáng) B、控制耦合的耦合性強(qiáng)C、兩者的耦合性相稱 D、兩者的耦合性需要根據(jù)具體情況分析6、衡量模塊獨(dú)立性的標(biāo)準(zhǔn)是(D)。A、耦合的類型 B、內(nèi)聚的類型C、模塊信息的隱藏性 D、耦合性和內(nèi)聚性7、假如某種內(nèi)聚規(guī)定一個模塊中包含的任務(wù)必須在同一段時間內(nèi)執(zhí)行,則這種內(nèi)聚為(A)。A、時間內(nèi)聚 B、邏輯內(nèi)聚 C、通信內(nèi)聚 D、信息內(nèi)聚8、為了提高模塊的獨(dú)立性,模塊內(nèi)部最佳是(C)。A、邏輯內(nèi)聚 B、時間內(nèi)聚 C、功能內(nèi)聚 D、通信內(nèi)聚9、在結(jié)構(gòu)化設(shè)計(jì)方法中,下面哪種內(nèi)聚的內(nèi)聚性最弱(C)。A、邏輯內(nèi)聚 B、時間內(nèi)聚 C、偶爾內(nèi)聚 D、過程內(nèi)聚10、軟件設(shè)計(jì)是把(A)轉(zhuǎn)換為軟件表達(dá)的過程。A、軟件需要 B、系統(tǒng)分析 C、數(shù)據(jù)庫 D、軟件代碼11、概要設(shè)計(jì)的重要成果是(C)。A、用戶的界面需求 B、用戶的分析方案C、概要設(shè)計(jì)說明書 D、系統(tǒng)總體方案12、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)也是概要設(shè)計(jì)的重要內(nèi)容,重要是進(jìn)行數(shù)據(jù)的(A)設(shè)計(jì)。A、邏輯 B、存取 C、用戶視圖 D、索引13、概要設(shè)計(jì)與具體設(shè)計(jì)銜接的圖形工具是(B)。A、DFD圖 B、SC圖 C、程序流程圖PFD D、PAD圖14、在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是(D)。A、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) B、給出系統(tǒng)模塊結(jié)構(gòu)C、定義模塊算法 D、定義需求并建立系統(tǒng)模型15、下面不屬于軟件設(shè)計(jì)原則的是(C)。A、抽象 B、模塊化 C、自底向下 D、信息隱藏三、簡答題1、軟件設(shè)計(jì)應(yīng)遵循的原則是什么?答:軟件設(shè)計(jì)中一般應(yīng)遵循以下原則:模塊化、抽象、信息隱蔽與局部化、一致性、完整性和可驗(yàn)證性。2、什么是軟件的概要設(shè)計(jì)?概要設(shè)計(jì)階段完畢的重要任務(wù)是什么?答:總體設(shè)計(jì)又稱概要設(shè)計(jì),是將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、擬定系統(tǒng)級接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫模式。3、啟發(fā)設(shè)計(jì)規(guī)則有哪些?答:(1)模塊功能的完善化;(2)消除反復(fù)功能,改善軟件結(jié)構(gòu);(3)模塊規(guī)模應(yīng)當(dāng)適中;(4)模塊的深度、寬度、扇出和扇入都應(yīng)適當(dāng);(5)模塊的作用范圍應(yīng)當(dāng)在控制范圍之內(nèi);(6)力爭減少模塊接口的復(fù)雜限度;(7)設(shè)計(jì)單入口、單出口的模塊;(8)模塊功能應(yīng)當(dāng)可以預(yù)測。四、應(yīng)用題根據(jù)以下的C語言程序段判斷模塊A和B之間屬于哪一種耦合,模塊B是哪一種內(nèi)聚。1、模塊A“開發(fā)票”:……water_fee=calc_waterfee(12.5,3.0);模塊B“計(jì)算水費(fèi)”:floatcalc_waterfee(floatmount,floatprice);{ floatfee;…… feturnfee;}答:模塊A和B是數(shù)據(jù)耦合,模塊B是功能內(nèi)聚。2、模塊A:……flag=1;max=max_avg(flag);……模塊B:intmax_avg(intflag){……if(flag==1)……elseif(flag==0)……}答:模塊A和B是控制耦合,模塊B是邏輯內(nèi)聚。第5章一、判斷題1、(√)具體設(shè)計(jì)也稱模塊設(shè)計(jì)。2、(×)在數(shù)據(jù)代碼設(shè)計(jì)時,應(yīng)盡量讓一條代碼代表多個信息。3、(×)在數(shù)據(jù)代碼設(shè)計(jì)時,應(yīng)也許設(shè)計(jì)字母和數(shù)字混合代碼。4、(×)在輸出界面設(shè)計(jì)時,要盡也許使用代碼或縮寫,以求簡潔。5、(×)具體設(shè)計(jì)評審應(yīng)盡也許和概要設(shè)計(jì)評審一同進(jìn)行。二、選擇題1、軟件具體設(shè)計(jì)的重要任務(wù)是擬定每個模塊的(A)。A、算法和使用的數(shù)據(jù)結(jié)構(gòu) B、外部接口C、功能 D、程序2、借助于軟件工具,可將(C)容易地轉(zhuǎn)換為高級語言源程序。A、程序流程圖 B、N-S圖 C、PAD圖 D、鑒定表3、不屬于具體設(shè)計(jì)工具的是(A)。A、DFD圖 B、PAD圖 C、PDl D、N-S圖4、程序的三種基本結(jié)構(gòu)是(C)。A、過程、子過程和子程序 B、遞歸、堆棧和隊(duì)列C、順序、選擇和反復(fù) D、調(diào)用、返回和轉(zhuǎn)移5、下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是(A)。A、使用順序、選擇和反復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表達(dá)程序的控制邏輯B、模塊只有一個入口,可以有多個出口C、注重提高程序的執(zhí)行效率D、不使用goto語句三、簡答題1、軟件的具體設(shè)計(jì)階段完畢的重要任務(wù)是什么?答:(1)算法設(shè)計(jì);(2)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);(3)模塊接口細(xì)節(jié)設(shè)計(jì);(4)測試用例設(shè)計(jì);(5)數(shù)據(jù)庫物理設(shè)計(jì);(6)數(shù)據(jù)代碼設(shè)計(jì);(7)其他設(shè)計(jì);(8)編寫具體設(shè)計(jì)說明書并進(jìn)行評審。2、數(shù)據(jù)輸入界面設(shè)計(jì)的重要原則有哪些?答:在設(shè)計(jì)數(shù)據(jù)輸入界面時應(yīng)做到:盡量簡化用戶的工作、減少輸入的犯錯率;減輕用戶的記憶承擔(dān)、盡也許減少輸入量并實(shí)現(xiàn)自動輸入;對共同的輸入設(shè)立默認(rèn)值;使用代碼或縮寫;自動填入已輸入過的內(nèi)容;列表式輸入;數(shù)據(jù)分組輸入。3、代碼設(shè)計(jì)的原則有哪些?答:代碼設(shè)計(jì)的原則是標(biāo)準(zhǔn)化、唯一性、可擴(kuò)充性、簡樸性、規(guī)范性和適應(yīng)性。四、應(yīng)用題1、請分別使用程序流程圖、PAD圖和N-S圖描述下列程序的算法。答:(1)求整數(shù)1-n的累加和SUM,其中n的值由鍵盤輸入。程序流程圖如下n>=in>=iYNSum=Sum+i輸出數(shù)Sum輸入數(shù)ni=i+1Sum=0,i=1PAD圖如下當(dāng)I<=NSum=Sum+II=I+1I=1打印SumSum=0輸入N當(dāng)I<=NSum=Sum+II=I+1I=1打印SumSum=0輸入NN-S圖如下Sum=0Sum=0,i=1DO─WHILEn>=i輸入數(shù)nSum=Sum+ii++輸出數(shù)Sum(2)求整型數(shù)組K[50]中的最大值和次大值。答:N-S圖如下:定義數(shù)組k[50]fst=k[0],sed=k[1]I=3當(dāng)i<=50時FTk[i]>fstFTk[i]>fstscd=fstfst=k[i]k[i]>scdTFk[i]>scdTFScd=k[i]I=i+1輸出fst,scd(3)求s=1-1/2!+1/3!-1/4!+….+1/n!,其中n的值由鍵盤輸入。答:PAD圖如下:當(dāng)K<=I當(dāng)K<=IP=P*KJC(i)DEFP=1K=1K=k+1返回P當(dāng)I<=NS=s-jc(i)打印SI%2=0TFI=1S=0輸入NS=s+jc(i)I=I+12.根據(jù)以下偽碼,畫出PAD圖if(x<y)goto30if(y<z)goto50s=zgoto7030if(x<z)goto60s=zgoto7050s=ygoto7060 s=x70……答:S=xS=xS=y……X<yTX<zTy<zFFTFS=ZS=Z3.將程序流程圖轉(zhuǎn)化為PAD圖(1)答:當(dāng)當(dāng)PA直到OB結(jié)束(2)答:當(dāng)當(dāng)PAB結(jié)束(3)答:直到直到P為假AB結(jié)束PFT(4)答:當(dāng)當(dāng)A為假Dbreak直到E為假BGC為假TA為真TFF(5)只使用順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu),構(gòu)造分支結(jié)構(gòu)。請畫出PAD圖。答:對于分支結(jié)構(gòu)if(f)a;elseb;只使用順序和循環(huán)結(jié)構(gòu)的PAD圖如下:當(dāng)當(dāng)FAbreak當(dāng)!FBbreak第6章一、選擇題1、UML的重要特點(diǎn)不對的的是(C)。A、面對對象,表達(dá)能力強(qiáng) B、可視化建模C、面對過程,表達(dá)能力強(qiáng) D、統(tǒng)一標(biāo)準(zhǔn)2、靜態(tài)建模圖不涉及(B)。A、用例圖 B、協(xié)作圖 C、類圖 D、對象圖3、用例圖的模型元素不涉及(D)。A、用例 B、系統(tǒng) C、行為者 D、軟件開發(fā)者4、類圖的要素不涉及(D)。A、類名稱 B、操作 C、屬性 D、對象5、時序圖中的要素不涉及(A)。A、執(zhí)行者 B、對象 C、對象生命線 D、消息6、對象模型的描述工具是(C)。A、狀態(tài)圖 B、數(shù)據(jù)流圖 C、對象圖 D、結(jié)構(gòu)圖7、協(xié)作圖的要素不涉及(A)。A、用例 B、對象 C、鏈 D、消息8、類圖反映了系統(tǒng)中對象之間的抽象關(guān)系,不涉及(D)。A、關(guān)聯(lián) B、聚合 C、泛化 D、內(nèi)聚9、下面(D)不是狀態(tài)圖的圖符。A、圓角的矩形 B、實(shí)心圓點(diǎn) C、實(shí)心圓環(huán) D、橢圓10、描述類中某個對象的行為,反映了狀態(tài)與事件關(guān)系的是(A)。A、狀態(tài)圖 B、數(shù)據(jù)流圖 C、對象圖 D、結(jié)構(gòu)圖11、動態(tài)模型的描述工具(C)。A、對象圖 B、設(shè)計(jì)圖 C、狀態(tài)圖 D、結(jié)構(gòu)圖12、表達(dá)對象的互相行為的模型是(A)模型。A、對象 B、動態(tài) C、結(jié)構(gòu) D、靜態(tài)13、有關(guān)類和對象的描述中,錯誤的是(A)。A、一個類只能有一個對象B、對象是類的具體實(shí)例C、類是某一類對象的抽象D、類和對象的關(guān)系是一種數(shù)據(jù)類型和變量的關(guān)系14、用例圖中用例之間的關(guān)系通常有關(guān)聯(lián)關(guān)系、依賴關(guān)系和(C)關(guān)系。A、協(xié)作 B、聚合 C、泛化 D、內(nèi)聚15、動態(tài)模型圖涉及:時序圖、協(xié)作圖、狀態(tài)圖和(C)圖。A、對象圖 B、設(shè)計(jì)圖 C、活動圖 D、結(jié)構(gòu)圖二、簡答題簡要介紹用例圖的三個要素。答:用例圖重要涉及以下三個元素:①用例(UseCase):用例是系統(tǒng)的使用過程或要執(zhí)行的動作序列,用來描述某個參與者使用系統(tǒng)所完畢的功能。在圖中用橢圓來表達(dá),用例名稱可寫在橢圓中或橢圓下面。②參與者(Actor)。或稱角色或執(zhí)行者,它是系統(tǒng)外部的一個實(shí)體(可以是任何的事物或人所扮演的角色等)。在圖中用一個小人圖形表達(dá)。③關(guān)聯(lián)。表達(dá)角色與用例之間的驅(qū)動和反饋關(guān)系,也可以表達(dá)用例間的包含與擴(kuò)展關(guān)系。在圖中用線段或帶箭頭的線段表達(dá)。分別寫出UML對象圖中對象的三種表達(dá)方式。答:在UML中,對象圖和類圖同樣采用矩形圖示,但是對象名稱下方有下劃線(類名稱下方?jīng)]有下劃線),通常對象名采用:對象名:類名、:類名或?qū)ο竺N格式表達(dá),中間形式是尚未給對象命名,最后一種形式是省略了類名。舉例說明類圖和對象圖之間的關(guān)系。答:對象圖展示了一組對象和它們之間的關(guān)系。對象圖是類圖的實(shí)例,對象之間的連接是類之間關(guān)聯(lián)的實(shí)例。類圖和對象圖的不同點(diǎn)在于對象圖顯示類的多個對象實(shí)例,而不是實(shí)際的類?;顒訄D的重要作用是什么,狀態(tài)圖的重要作用是什么?答:狀態(tài)圖和活動圖都屬于行為圖,重要用于分析、設(shè)計(jì)階段描述對象的行為。狀態(tài)圖適于描述單個對象狀態(tài)的變化情況,活動圖適于描述一個工作過程、多個對象之間的合作。狀態(tài)圖描述一個特定對象的所有也許狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)間的轉(zhuǎn)移?;顒訄D(ActivityDiagram)是狀態(tài)圖的變種。狀態(tài)圖適于描述單個對象狀態(tài)的變化情況,而活動圖的目的是描述動作(執(zhí)行的工作和活動),以及對象狀態(tài)改變的結(jié)果,適于描述一個工作過程、多個對象之間的合作。與狀態(tài)圖不同的是,活動圖中動作狀態(tài)的遷移不是靠事件觸發(fā),當(dāng)動作狀態(tài)中的活動完畢時就觸發(fā)遷移,活動圖中的一個活動結(jié)束后將立即進(jìn)行下一個活動。三、應(yīng)用題1、某教務(wù)管理系統(tǒng)重要完畢以下功能:教師使用該系統(tǒng)完畢某班級學(xué)生某門課程成績的錄入、修改、計(jì)算和打印,學(xué)生使用該系統(tǒng)查詢所學(xué)課程的成績,系統(tǒng)管理員使用該系統(tǒng)進(jìn)行學(xué)生信息、教師信息、課程信息和班級信息的管理。請對該系統(tǒng)分析,找出系統(tǒng)中的參與者、用例,擬定它們之間的關(guān)系,并對每個用例進(jìn)行具體描述。略。2、某教務(wù)管理系統(tǒng)中,教師的重要信息涉及:工號、姓名、性別、職稱、系部;學(xué)生的重要信息涉及:學(xué)號、姓名、性別、班級;課程的重要信息涉及:課程編號、課程名稱、任課教師。請列出本系統(tǒng)中所涉及的重要的類,給出類的重要屬性及類間關(guān)系,畫出該系統(tǒng)的類圖。略。3、請畫出某教務(wù)管理系統(tǒng)中某一學(xué)期中課程對象的狀態(tài)圖。略。4、請畫出某教務(wù)管理系統(tǒng)中學(xué)生選課的活動圖。略。第7章一、選擇題1、汽車有一個發(fā)動機(jī),汽車和發(fā)動機(jī)之間的關(guān)系是(B)關(guān)系。A、一般具體 B、整體部分 C、分類關(guān)系 D、isa2、火車是一種陸上交通工具,火車和陸上交通工具之間的關(guān)系是(D)關(guān)系。A、組裝 B、整體部分 C、hasa D、一般具體3、面向?qū)ο蟪绦蛟O(shè)計(jì)語言不同于其他語言的最重要特點(diǎn)是(C)。A、模塊 B、抽象性 C、繼承性 D、共享性4、軟件部件的內(nèi)部實(shí)現(xiàn)與外部可訪問性分離,這是指軟件的(A)。A、封裝性 B、抽象性 C、繼承性 D、共享性5、面向?qū)ο蠓治鲭A段建立的三個模型中,核心模型是(C)模型。A、功能 B、動態(tài) C、對象 D、分析6、對象模型的描述工具是(C)。A、狀態(tài)圖 B、數(shù)據(jù)流圖 C、對象圖 D、結(jié)構(gòu)圖7、動態(tài)模型的描述工具是(A)。A、狀態(tài)圖 B、結(jié)構(gòu)圖 C、對象圖 D、流程圖8、在只有單重繼承的類層次結(jié)構(gòu)中,類層次結(jié)構(gòu)是(A)層次結(jié)構(gòu)。A、樹型 B、網(wǎng)狀型 C、星型 D、環(huán)型9、(C)模型表達(dá)了對象的互相行為。A、功能 B、動態(tài) C、對象 D、分析10、在擬定類時,所有(A)是候選的類。A、名詞 B、形容詞 C、動詞 D、代詞11、面向?qū)ο蠓治龅脑瓌t不涉及(C)。A、抽象 B、封裝 C、依賴 D、繼承12、常用動詞和動詞詞組來表達(dá)(C)。A、對象 B、類 C、關(guān)聯(lián) D、屬性13、在擬定屬性時,所有(B)是候選的屬性。A、名詞 B、修飾性名詞詞組 C、動詞 D、詞組14、在面向?qū)ο蠓椒ㄖ?,信息隱藏是通過對象的(A)來實(shí)現(xiàn)的。A、封裝性 B、分類性 C、繼承性 D、共享性15、面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則不涉及(D)。A、模塊化 B、抽象 C、信息隱藏 D、強(qiáng)耦合二、簡答題1、面向?qū)ο蠓治鐾ǔR⒛娜N模型?它們分別描述系統(tǒng)的哪些方面?答:面向?qū)ο蠓治鐾ǔR⑷N模型,分別是對象模型、動態(tài)模型和功能模型。其中:對象模型描述系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),它是用來描述系統(tǒng)包含的對象及對象之間關(guān)系的模型;動態(tài)模型描述系統(tǒng)的控制結(jié)構(gòu),它是用來擬定各個對象之間交互及整體的控制結(jié)構(gòu)的模型;功能模型描述系統(tǒng)的功能,它是用來描述系統(tǒng)要實(shí)現(xiàn)的功能的模型。2、對象模型有哪五種層次?答:復(fù)雜問題(大型系統(tǒng))的對象模型由5個層次組成,即主題層、類-&-對象層、結(jié)構(gòu)層、屬性層和服務(wù)層。(1)類-&-對象層:定義類和屬性。在這個層次將分析與待開發(fā)軟件相應(yīng)的各個現(xiàn)實(shí)世界的實(shí)體,并從中抽象出類和對象。(2)結(jié)構(gòu)層:定義對象和類之間的層次結(jié)構(gòu)關(guān)系,如一般-特殊結(jié)構(gòu)(即繼承結(jié)構(gòu))、整體-部分結(jié)構(gòu)(即組合結(jié)構(gòu))。(3)屬性層:定義屬性。為類和對象層中抽取出來的各個類和對象設(shè)計(jì)靜態(tài)屬性和它們之間的關(guān)系。(4)服務(wù)層:定義對象和類的動態(tài)屬性以及對象之間的消息通信。(5)主題層:主題是指導(dǎo)讀者理解大型、復(fù)雜模型的一種機(jī)制。定義若干個主題,把有關(guān)的對象分別劃歸不同的主題,每個主題構(gòu)成一個子系統(tǒng)。3、建立對象模型的基本過程是什么?答:建立對象模型的基本過程如下:擬定對象和類擬定結(jié)構(gòu)擬定主題擬定服務(wù)和消息三、應(yīng)用題1、寫出圖書管理系統(tǒng)中“辦理還書”用例的用例描述。略。2、分析圖書管理系統(tǒng)中“查詢個人借閱”用例相關(guān)的實(shí)體類、控制類和邊界類,繪制出該用例的相關(guān)類圖,并設(shè)計(jì)該模塊的用戶界面。略。第8章一、判斷題1、(√)使用括號改善表達(dá)式的清楚性。2、(×)對遞歸定義的數(shù)據(jù)結(jié)構(gòu)不要使用遞歸定義的過程。3、(×)盡也許對程序代碼進(jìn)行優(yōu)化。 可讀性第一,清楚性第二4、(√)不要修改不好的程序,要重新編寫。5、(√)不要進(jìn)行浮點(diǎn)數(shù)的相等比較。6、(×)應(yīng)盡也許多地使用臨時變量。7、(√)運(yùn)用數(shù)據(jù)類型對數(shù)據(jù)值進(jìn)行防范。8、(×)用計(jì)數(shù)方法(少量)而不是用文獻(xiàn)結(jié)束符(大量)判別批量數(shù)據(jù)輸入的結(jié)束。9、(×)程序中的注釋是可有可無的。 40%~60%10、(√)使用故意義的標(biāo)記符。11、(×)應(yīng)盡量把程序編寫的短一些。12、(×)應(yīng)盡量使用goto語句。二、選擇題1、在編碼中一方面要考慮的是(B)。A、程序的執(zhí)行效率 B、程序的可讀性C、程序的一致性 D、程序的安全性2、(D)。不屬于序言性注釋內(nèi)容的是A、模塊設(shè)計(jì)者 B、修改日期C、程序的整體說明 D、語句功能3、序言性注釋應(yīng)置于文獻(xiàn)或模塊的(A)位置。A、起始 B、結(jié)束C、中間 D、起始和中間4、假如編寫系統(tǒng)軟件,可選用的語言是(C)。A、FoxPro B、COBOLC、C D、FORTRAN5、選擇程序設(shè)計(jì)語言不應(yīng)當(dāng)考慮的是(B)。A、應(yīng)用領(lǐng)域 B、語言的功能 C、用戶的規(guī)定 D、用戶的使用水平6、與編程風(fēng)格有關(guān)的因素不涉及(D)。A、源程序文檔化 B、語句構(gòu)造C、輸入輸出 D、程序的編譯效率7、最早用于科學(xué)計(jì)算的程序設(shè)計(jì)語言是(C)。A、PROLOG B、SmalltalkC、FORTRAN D、COBOL8、功能性注釋的重要內(nèi)容不涉及(B)。A、程序段的功能 B、模塊的功能 C、數(shù)據(jù)的狀態(tài) D、語句的功能9、對建立良好的編程風(fēng)格,下面描述對的的是(A)。A、程序應(yīng)簡樸、清楚、可讀性好 B、符號名的命名只要符合語法即可C、充足考慮程序的執(zhí)行效率 D、程序的注釋可有可無10、源程序中應(yīng)包含一些內(nèi)部文檔,以幫助閱讀和理解程序,源程序的內(nèi)部文檔通常涉及合適的標(biāo)記符、注釋和(A)。A、程序的布局組織 B、盡量不使用或少用goto語句C、檢查輸入數(shù)據(jù)的有效性 D、設(shè)計(jì)良好的輸出報表11、編制一個好的程序應(yīng)強(qiáng)調(diào)良好的編程風(fēng)格,例如,選擇標(biāo)記符的名字時應(yīng)考慮(C)。A、名字長度越短越好,以減少源程序的輸入量B、多個變量共用一個名字,以減少變量名的數(shù)目C、選擇含義明確的名字,以對的提醒所代表的實(shí)體D、盡量用關(guān)鍵字作名字,以使名字標(biāo)準(zhǔn)化12、以下關(guān)于編程風(fēng)格的敘述中,不應(yīng)提倡的是(B)。A、使用括號以改善表達(dá)式的清楚性B、用計(jì)數(shù)方法而不是用文獻(xiàn)結(jié)束符判斷輸入的結(jié)束C、一般情況下,不要直接進(jìn)行浮點(diǎn)數(shù)的相等比較D、使用有清楚含義的標(biāo)記符13、在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,現(xiàn)在人們更重視程序的(D)性。A、技巧性 B、保密性 C、一致性 D、可理解性14、為了提高易讀性,源程序內(nèi)部應(yīng)加功能性注釋,用于說明(B)。A、模塊總的功能 B、程序段或語句的功能C、模塊參數(shù)的用途 D、數(shù)據(jù)的用途15、適合在互聯(lián)網(wǎng)上編寫程序可供不同平臺上運(yùn)營的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言是(B)。A、ALGOL B、Java C、Smalltalk D、Lisp16、使用(C)語言開發(fā)的軟件具有較好的可移植性。A、COBOL B、BASIC C、C D、C++17、用低檔語言開發(fā)的程序,具有(C)特點(diǎn)。A、運(yùn)營效率低,開發(fā)效率低 B、運(yùn)營效率低,開發(fā)效率高C、運(yùn)營效率高,開發(fā)效率低 D、運(yùn)營效率高,開發(fā)效率高三、簡答題1、程序設(shè)計(jì)語言發(fā)展至今已經(jīng)歷了哪幾個時代?答:第一代語言(機(jī)器語言)、第二代語言(匯編語言)、第三代語言(高級語言)。高級語言種類繁多,又可分為傳統(tǒng)的基礎(chǔ)語言、結(jié)構(gòu)化語言和專用語言三類。2、良好的編碼風(fēng)格涉及哪幾方面?答:1)源程序文檔化2)數(shù)據(jù)說明3)語句構(gòu)造4)輸入與輸出5)效率。3、在軟件開發(fā)時,應(yīng)根據(jù)哪些因素選擇程序設(shè)計(jì)語言?答:(1)項(xiàng)目的應(yīng)用領(lǐng)域。(2)用戶的規(guī)定。(3)軟件開發(fā)工具。(4)算法和數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。(5)軟件開發(fā)人員的知識。(6)系統(tǒng)的可移植性規(guī)定。四、應(yīng)用題1.指出下面的程序段在風(fēng)格上的問題并改正。答:一方面盡量不使用“非”條件;另一方面語句格式不規(guī)范。改為:if(x<=0){x=-x;}2.請將語句printf((i+1)%10==0)?”%5d\n”:”%5d”,*(a+i));改寫為更為清楚的格式。答:if((i+1)%10==0){printf(”%5d\n”,*(a+i));}else{printf(”%5d”,*(a+i));}3.王永濤同學(xué)于2023年4月22日編寫了下面的C程序,其名稱為sumint.c。請閱讀該程序,并根據(jù)程序設(shè)計(jì)風(fēng)格的一般規(guī)定改寫下面的程序。答:按編碼風(fēng)格優(yōu)化后的代碼為:/**************************************************************程序名稱:sumint.c設(shè)計(jì)者:王永濤日期:2023年4月22日程序功能:由鍵盤輸入若干個整數(shù),計(jì)算它們之和,并打印整數(shù)個數(shù)及其和***************************************************************/#include<stdio.h>voidmain(){intcount,j=1,sum=0,x;printf(“請輸入整數(shù)個數(shù)\n”);scanf("%d",&count);while(j<=count)//求count個整數(shù)之和{printf(“請輸入第%d個整數(shù):\n”,j);scanf("%d",&x);sum=sum+x;//累加整數(shù)j++;//整數(shù)個數(shù)計(jì)數(shù)}printf("%d個整數(shù)的和為%d\n",j,sum);}}4、請對以下代碼的布局進(jìn)行改善,使其符合良好的編碼風(fēng)格。答:for(i=0;i<n-1;i++){t=i;for(j=i+1;j<n;j++){if(a[j]<a[t]){t=j;if(t!=i){temp=a[t];a[t]=a[i];a[i]=temp;}}}5、求整數(shù)1~n的累加和sum,其中n的值由鍵盤輸入。使用您熟悉的語言編寫程序,注意編碼風(fēng)格。答:/*****************************程序名:sumints.c程序功能:求整數(shù)1~n的累加和sum,其中n的值由鍵盤輸入*****************************/voidmain(){inti,n,sum=0;printf(“請輸入整數(shù)個數(shù)n\n”);for(i=1;i<=n;i+++){scanf(“%d”);/*輸入整數(shù),使用空格、回車或TAB鍵分隔*/sum=sum+i;/*計(jì)算累加*/}printf(“1~%d的累加和sum=%d\n”,n,sum);}第9章一、判斷題1、(×)測試是為了驗(yàn)證該軟件以對的地實(shí)現(xiàn)了用戶的需求。2、(√)發(fā)現(xiàn)錯誤多的程序模塊,殘留在模塊中的錯誤也多。3、(×)白盒測試法是根據(jù)程序的功能來設(shè)計(jì)測試用例的。4、(×)黑盒法是根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì)測試用例的。5、(√)擬定測試計(jì)劃是在需求分析階段制定的。6、(√)集成測試計(jì)劃是在概要設(shè)計(jì)階段制定的。7、(√)單元測試是在編碼階段完畢的。8、(√)集成測試工作最佳由不屬于該軟件開發(fā)組的軟件設(shè)計(jì)人員承擔(dān)。9、(√)為了提高軟件的測試效率,測試工作需要有測試工具的支持。10、(×)在做程序的單元測試時,樁模塊比驅(qū)動模塊容易編寫。二、選擇題1、測試用例是專門為了發(fā)現(xiàn)軟件錯誤而設(shè)計(jì)的一組或多組數(shù)據(jù),它由(C)組成。A、測試輸入數(shù)據(jù)B、預(yù)期的測試輸出數(shù)據(jù)C、測試輸入與預(yù)期的輸出數(shù)據(jù)D、按照測試用例設(shè)計(jì)方法設(shè)計(jì)出的數(shù)據(jù)2、測試和調(diào)試最大的不同在于(A)。A、操作者的心理狀態(tài)不同 B、它們的行為取向不同C、使用的工具不同 D、運(yùn)用的方法不同3、一個成功的測試是(B)。A、發(fā)現(xiàn)錯誤 B、發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤C、沒有發(fā)現(xiàn)錯誤 D、證明發(fā)現(xiàn)不了錯誤4、白盒法和黑盒法最大的不同在于(A)。A、測試用例設(shè)計(jì)方法不同 B、測試的任務(wù)不同C、應(yīng)用的測試階段不同 D、基于的知識集不同5、單元測試階段重要涉及(D)的文檔。A、需求設(shè)計(jì) B、編碼和具體設(shè)計(jì) C、具體設(shè)計(jì) D、概要設(shè)計(jì)6、檢查軟件產(chǎn)品是否符合需求定義的過程稱為(A)。A、確認(rèn)測試 B、集成測試C、驗(yàn)證測試 D、驗(yàn)收測試7、軟件調(diào)試的目的是(B)。A、發(fā)現(xiàn)錯誤 B、改正錯誤C、改善軟件的性能 D、挖掘軟件的潛能8、進(jìn)行軟件測試的目的是(A)。A、盡也許多地找出軟件中的錯誤 B、縮短軟件的開發(fā)時間C、減少軟件的維護(hù)成本 D、證明程序沒有缺陷9、選擇一個適當(dāng)?shù)臏y試用例,用于測試下面的程序,能達(dá)成鑒定覆蓋的是(C)。A、 B、 ABFalseTrueABFalseTrueTrueFalseC、 D、ABFalseFalseTrueTrueABFalseTrueTrueFalseTrueTrue10、在進(jìn)行單元測試時,常用的方法是(A)。A、采用白盒測試,輔之以黑盒測試B、采用黑盒測試,輔之以白盒測試C、只使用白盒測試D、只使用黑盒測試11、白盒測試方法一般適合于(A)測試。A、單元 B、系統(tǒng) C、集成 D、確認(rèn)12、為了提高測試的效率,應(yīng)當(dāng)(D)。A、隨機(jī)地選取測試數(shù)據(jù)B、取一切也許的輸入數(shù)據(jù)作為測試數(shù)據(jù)C、在完畢編碼以后制定軟件的測試計(jì)劃D、選擇發(fā)現(xiàn)錯誤也許性大的數(shù)據(jù)作為測試數(shù)據(jù)13、不屬于白盒測試的技術(shù)是(D)。A、語句覆蓋 B、鑒定覆蓋 C、條件覆蓋 D、邊界值分析14、下列邏輯覆蓋標(biāo)準(zhǔn)中,差錯能力最強(qiáng)的是(D)。A、語句覆蓋 B、鑒定覆蓋C、條件覆蓋 D、條件組合覆蓋15、在黑盒法中,著重檢查輸入條件組合的測試方法是(D)。A、等價類劃分法 B、邊界值分析法C、錯誤推測法 D、因果圖法三、簡答題1、為什么要進(jìn)行軟件測試?軟件測試要以什么目的和原則?答:軟件測試的目的是為了發(fā)現(xiàn)軟件產(chǎn)品中存在的軟件缺陷,進(jìn)而保證軟件產(chǎn)品的質(zhì)量。軟件測試是軟件開發(fā)過程中的一個重要階段,是軟件產(chǎn)品正式投入運(yùn)營前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵環(huán)節(jié)。軟件測試的結(jié)果也是分析軟件可靠性的重要依據(jù)。在軟件測試中,應(yīng)注意以下指導(dǎo)原則:(1)所有測試都應(yīng)追溯到需求(2)堅(jiān)持“盡早地和不斷地進(jìn)行軟件測試”。(3)測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。(4)程序員應(yīng)避免測試自己的程序。(5)在設(shè)計(jì)測試用例時,應(yīng)當(dāng)涉及合理的輸入條件和不合理的輸入條件。(6)充足注意測試中的群集現(xiàn)象。(7)嚴(yán)格執(zhí)行測試計(jì)劃,排除測試的隨意性。(8)應(yīng)當(dāng)對每個測試結(jié)果做全面檢查。(9)在測試程序時,不僅要檢查程序是否做了該做的事,還要檢查程序是否做了不該做的事。(10)應(yīng)長期保存所有測試用例。保存測試用例有助于以后修改程序后的回歸測試。2、軟件測試涉及哪幾個過程?測試過程中涉及哪些數(shù)據(jù)源?答:測試過程分為4個環(huán)節(jié),即單元測試、組裝測試、確認(rèn)測試和系統(tǒng)測試。數(shù)據(jù)源有:(1)軟件配置:涉及軟件需求規(guī)格說明、軟件設(shè)計(jì)規(guī)格說明、源代碼等。(2)測試配置:涉及測試計(jì)劃、測試用例、測試驅(qū)動程序等。(3)測試工具:測試工具為測試的實(shí)行提供某種服務(wù),以減輕測試過程中的手工勞動,提高測試效率。3、黑盒測試法與白盒測試法的本質(zhì)區(qū)別是什么?它們的使用場合有何不同。答:黑盒測試法與白盒測試法的主線區(qū)別是設(shè)計(jì)測試用例的方法不同。前者是測試產(chǎn)品的功能,后者是測試產(chǎn)品的內(nèi)部結(jié)構(gòu)和解決過程。通過黑盒測試重要發(fā)現(xiàn)以下錯誤:(1)是否有不對的或漏掉了的功能。(2)界面是否有錯,能否對的地接受輸入數(shù)據(jù),能否產(chǎn)生對的的輸出信息。(3)是否有數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤。(4)性能是否滿足規(guī)定。(5)是否有初始化或終止性錯誤。白盒測試法是一種程序級的微觀上的測試,不適合于大單元、大系統(tǒng)的測試,重要用于很小單元的測試,以及從事軟件底層工作、生產(chǎn)構(gòu)件的測試人員使用。4、試比較測試與調(diào)試的異同。答:軟件測試的目的是盡也許多地發(fā)現(xiàn)程序中的錯誤,而調(diào)試的目的是根據(jù)測試時發(fā)現(xiàn)的錯誤,找犯錯誤的因素和具體位置,并改正錯誤。測試與調(diào)試的不同如下表所示。測試與調(diào)試的不同測試(test)調(diào)試(debug)目的是發(fā)現(xiàn)錯誤目的是找犯錯誤位置并排除有計(jì)劃被動的以已知條件開始,使用預(yù)先定義的程序,有預(yù)知的結(jié)果以不可知內(nèi)部條件開始,結(jié)果一般不可預(yù)見由獨(dú)立的測試組,在不了解軟件設(shè)計(jì)的條件下完畢由程序作者進(jìn)行,誰開發(fā)的程序就由誰來調(diào)試5、試敘述面向?qū)ο蟮膯卧獪y試、組裝測試、擬定測試的內(nèi)涵。(1)面向?qū)ο蟮膯卧獪y試面向?qū)ο蟮膯卧獪y試是進(jìn)行面向?qū)ο蠹蓽y試的基礎(chǔ)。面向?qū)ο蟮膯卧獪y試以類或?qū)ο鬄閱挝?。由于類包含一組不同的操作,并且某些特殊的操作也許被多個類共享,因此,單元測試不能孤立地測試某個操作,而是將操作作為類的一部分來測試。(2)面向?qū)ο蟮募蓽y試由于在面向?qū)ο蟮能浖袥]有層次的控制結(jié)構(gòu),并且構(gòu)成類的成分彼此之間存在著直接或間接的交互作用,所以,傳統(tǒng)意義上的自頂向下和自底向上的集成策略將不再合用。(3)面向?qū)ο蟮拇_認(rèn)測試在確認(rèn)測試層次,不需要再考慮類的實(shí)現(xiàn)和交互的具體細(xì)節(jié),只要驗(yàn)證交互過程及功能,涉及提供的用戶界面,用戶可見的操作,軟件的反映和輸出的結(jié)果等情況,其中測試用例的選擇重要是依據(jù)動態(tài)模型和系統(tǒng)的腳本描述。四、應(yīng)用題1、使用等價類劃分方法,為一元二次方程求解程序設(shè)計(jì)足夠的測試用例。該程序規(guī)定分別打印出:不是一元二次方程,有實(shí)數(shù)根和有復(fù)數(shù)根三種信息。測試用例表測試內(nèi)容測試數(shù)據(jù)盼望結(jié)果是一元二次方程且有實(shí)根a=1b=-5c=6x1=2x2=3是一元二次方程且有復(fù)根a=1b=1c=2.5x1=-0.5+1.5ix2=-0.5-1.5i不是一元二次方程a=0b=1c=1x=-12、初期DOS操作系統(tǒng)對文獻(xiàn)名的命名規(guī)定如下:文獻(xiàn)名由基本文獻(xiàn)名和擴(kuò)展名組成,擴(kuò)展名可以省略,兩部分文獻(xiàn)名以小數(shù)點(diǎn)分隔?;疚墨I(xiàn)名至少為1位,至多為8位長度,且首字符必須為非數(shù)字字符(如字母或部分特殊符號,文獻(xiàn)名中不能涉及空格、+號、?號、*號、圓點(diǎn)符號。大小寫字母無區(qū)別);擴(kuò)展名最多為3位長度。 請用等價類劃分法設(shè)計(jì)對文獻(xiàn)名命名規(guī)定的測試用例。等價類劃分表輸入條件合理等價類不合理等價類基本文獻(xiàn)名長度(1)1-8個字符(5)少于1個字符(6)多于8個字符基本文獻(xiàn)名首字符(2)字母或部分特殊字符(7)不是字母也不是部分特殊字符其他字符(3)字母、數(shù)字、部分特殊字符(8)包含空格,+,?,*,.擴(kuò)展名長度(4)0-3個字符(9)多于3個字符測試用例表測試數(shù)據(jù)盼望結(jié)果測試范圍abcd1234.123有效(1)(2)(3)(4).abc無效(5)abcd12345.123無效(6)1234abcd.123無效(7)ab無效(8)a*b(8)a?b(8)a+b無效(8)abc.1234無效(9)3、對于例9-2,仿照表9-5,請重新設(shè)計(jì)六種邏輯覆蓋的測試用例,并重新填寫表格內(nèi)容,規(guī)定測試數(shù)據(jù)要盡量少。邏輯覆蓋測試用例覆蓋類型輸入數(shù)據(jù)預(yù)期結(jié)果測試途徑鑒定鑒定條件條件條件條件ABXXA>1且B=0A=2或X>1A>1B=0A=2X>1語句覆蓋3032①②④TT鑒定覆蓋3000①②⑤TF3134①③④FT條件覆蓋0030④FFFTFT2212①③④FTTFTF鑒定/條件覆蓋2034①②④TTTTTT1201①③⑤FFFFFF條件組合覆蓋2032④TTTTTT2201④FTTFTF1023④FTFTFT1111⑤FFFFFF途徑覆蓋2023②③④⑤TT3123①③④FT0111①③⑤FF4010①②⑤TF第10章一、判斷題1、(√)在需求分析階段,就應(yīng)當(dāng)考慮軟件可維護(hù)性問題。2、(×)在完畢軟件測試工作后,可刪除源程序中的注釋,以縮短程序的長度。3、(√)盡也許在軟件生產(chǎn)過程中保證各階段文檔的對的性。4、(×)編碼時要盡也許使用全局變量。5、(×)應(yīng)選擇時間效率和空間效率盡也許高的算法。6、(×)應(yīng)盡也許運(yùn)用計(jì)算機(jī)硬件的特點(diǎn)。7、(×)應(yīng)使用軟件維護(hù)工具或支撐環(huán)境。8、(×)在概要設(shè)計(jì)時應(yīng)加強(qiáng)模塊間的聯(lián)系。9、(×)應(yīng)盡也許使用低檔語言編寫程序。10、(×)為加快維護(hù)作業(yè)的進(jìn)程,應(yīng)盡也許增長維護(hù)人員。二、選擇題1、(A)。由于在開發(fā)過程中測試的不徹底、不完全而導(dǎo)致的維護(hù)是(A)。A、改正性維護(hù) B、完善性維護(hù) C、適應(yīng)性維護(hù) D、防止性維護(hù)2、為適應(yīng)軟硬件環(huán)境變化而修改軟件的過程是(C)。A、改正性維護(hù) B、完善性維護(hù) C、適應(yīng)性維護(hù) D、防止性維護(hù)3、為增長軟件功能和性能而進(jìn)行的軟件維護(hù)過程是(B)。A、改正性維護(hù) B、完善性維護(hù) C、適應(yīng)性維護(hù) D、防止性維護(hù)4、軟件維護(hù)的困難重要因素是(D)。A、人員少 B、費(fèi)用低 C、開發(fā)方法的缺陷 D、維護(hù)難5、維護(hù)階段需由用戶填寫的維護(hù)文檔是(C)。A、軟件需求說明 B、軟件修改報告C、軟件問題報告 D、測試分析報告6、軟件的可維護(hù)性是指(A)。A、軟件能被修改的難易限度 B、軟件可理解的難易限度C、軟件可移植性和可使用性 D、軟件維護(hù)文檔的完整性7、軟件維護(hù)工作中最重要部分是(A)。A、完善性維護(hù) B、改正性維護(hù) C、適應(yīng)性維護(hù) D、防止性維護(hù)8、維護(hù)中,因誤刪除一個標(biāo)記符而引起的錯誤是(C)副作用。A、文檔 B、數(shù)據(jù) C、編碼 D、設(shè)計(jì)9、維護(hù)中,因修改全局變量或公用數(shù)據(jù)而引起的錯誤是(B)副作用。A、文檔 B、數(shù)據(jù) C、編碼 D、設(shè)計(jì)10、軟件維護(hù)工作過程中,第一步是先擬定(B)。A、環(huán)境維護(hù) B、維護(hù)類型 C、維護(hù)規(guī)定 D、維護(hù)者11、在軟件生存周期中,工作量所占比例最大的階段是(D)階段。A、需求分析 B、設(shè)計(jì) C、測試 D、維護(hù)12、軟件工程對維護(hù)工作的重要目的是提高(C),減少維護(hù)的代價。A、軟件的生產(chǎn)率 B、軟件的可靠性C、軟件的可維護(hù)性 D、維護(hù)的效率13、軟件維護(hù)的副作用是指(C)。A、開發(fā)時的錯誤 B、隱含的錯誤C、因修改軟件而導(dǎo)致的錯誤 D、運(yùn)營時的誤操作14、一般來說,在軟件維護(hù)過程中,大部分工作是由(C)引起的。A、適應(yīng)新的軟件環(huán)境 B、適應(yīng)新的硬件環(huán)境C、用戶的需求改變 D、程序的可靠性三、簡答題1.為什么要進(jìn)行軟件維護(hù)?軟件維護(hù)通常有幾種類型?對軟件進(jìn)行維護(hù)的主線目的是為了延長軟件的生存期。軟件維護(hù)的因素除了軟件在開發(fā)過程中的錯誤需要修改外,主線的因素是變化,使用軟件的機(jī)構(gòu)的工作流程、組織機(jī)構(gòu)、軟件工作的軟硬件環(huán)境等都在變化,規(guī)定使用的軟件也跟著變化,所以必須對軟件進(jìn)行維護(hù)。維護(hù)的類型有四種(1)改正性維護(hù)(2)適應(yīng)性維護(hù)(3)完善性維護(hù)(4)防止性維護(hù)2.請說明軟件維護(hù)組織中各種人員及其職責(zé)。答:維護(hù)組織機(jī)構(gòu)內(nèi)一般設(shè)修改負(fù)責(zé)人、維護(hù)管理員、系統(tǒng)監(jiān)督員、配置管理員、維護(hù)人員等。各自的職責(zé)是:修改負(fù)責(zé)人是維護(hù)的行政領(lǐng)導(dǎo),管理維護(hù)的人事工作。維護(hù)管理員負(fù)責(zé)接受維護(hù)申請,他把申請轉(zhuǎn)交給系統(tǒng)監(jiān)督員(或稱系統(tǒng)管理員)去評價。并負(fù)責(zé)向上級報告維護(hù)工作。系統(tǒng)監(jiān)督員對維護(hù)任務(wù)做出評價。配置管理員嚴(yán)格把關(guān)程序修改過程,控制修改的范圍,對軟件配置進(jìn)行審計(jì)。維護(hù)人員負(fù)責(zé)分析程序的維護(hù)規(guī)定并進(jìn)行程序的修改工作。3.請說明軟件維護(hù)的流程。答:(1)擬定維護(hù)的類型及維護(hù)規(guī)定(2)根據(jù)不同維護(hù)類型擬定維護(hù)的時機(jī)和策略(3)實(shí)行維護(hù)任務(wù)。(4)維護(hù)復(fù)審。4.什么是軟件的可維護(hù)性。答:軟件可維護(hù)性是指維護(hù)人員理解、改正和改善這個軟件的難易限度。5.簡述決定軟件可維護(hù)性的因素。答:1)可理解性2)可測試性3)可修改性4)可靠性5)可移植性6)可使用性7)效率6.簡述提高軟件可維護(hù)性的方法。答:1)建立明確的軟件質(zhì)量目的2)使用先進(jìn)的軟件開發(fā)技術(shù)和工具3)進(jìn)行明確的質(zhì)量保證審查4)選擇可維護(hù)的程序設(shè)計(jì)語言5)改善程序文檔。7.軟件維護(hù)的副作用有哪些?答:代碼的副作用,數(shù)據(jù)的副作用,文檔的副作用。第11章一、判斷題1

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論