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

下載本文檔

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

文檔簡(jiǎn)介

軟件工程試題及答案第一部分選擇題一、單項(xiàng)選擇題每小題1分,共20分。(在每小題的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的括號(hào)內(nèi))2.Putnam成本估算模型是一個(gè)()模型。A.靜態(tài)單變量B.動(dòng)態(tài)單變量C.靜態(tài)多變量D.動(dòng)態(tài)多變量6.對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作()于對(duì)象的統(tǒng)一體中。A.結(jié)合B.隱藏C.封裝D.抽象8.瀑布模型的存在問題是()A.用戶容易參與開發(fā)B.缺乏靈活性C.用戶與開發(fā)者易溝通D.適用可變需求9.軟件測(cè)試方法中的靜態(tài)測(cè)試方法之一為()A.計(jì)算機(jī)輔助靜態(tài)分析B.黑盒法C.路徑覆蓋D.邊界值分析10.軟件生命周期中所花費(fèi)用最多的階段是()A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)11.第一個(gè)體現(xiàn)結(jié)構(gòu)化編程思想的程序設(shè)計(jì)語言是()A.FORTRAN語言B.Pascal語言C.C語言D.PL/1語言12.程序的三種基本控制結(jié)構(gòu)是()A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移14.詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的()A.代碼的規(guī)模B.運(yùn)行速度C.質(zhì)量D.可維護(hù)性15.需求分析中開發(fā)人員要從用戶那里了解()A.軟件做什么B.用戶使用界面C.輸入的信息D.軟件的規(guī)模16.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()A.

程序的規(guī)模B.

程序的效率C.

程序設(shè)計(jì)語言的先進(jìn)性D.

程序易讀性18.經(jīng)濟(jì)可行性研究的范圍包括()A.資源有效性B.管理制度C.效益分析D.開發(fā)風(fēng)險(xiǎn)19.可行性分析是在系統(tǒng)開發(fā)的早期所做的一項(xiàng)重要的論證工作,它是決定該系統(tǒng)是否開發(fā)的決策依據(jù),因必須給出()的回答。A.確定B.行或不行C.正確D.無二義20.需求分析階段的任務(wù)是確定()A.

軟件開發(fā)方法B.

軟件開發(fā)工具C.

軟件開發(fā)費(fèi)D.

軟件系統(tǒng)的功能1.某個(gè)應(yīng)用軟件原來是在DOS環(huán)境下運(yùn)行的,現(xiàn)在要把它移植到Windows環(huán)境下來運(yùn)行,這種修改軟件的過程稱為(B)A校正性維護(hù)B適應(yīng)性維護(hù)C完善性維護(hù)D預(yù)防性維護(hù)2.產(chǎn)生軟件維護(hù)的副作用是指(D)A開發(fā)軟件時(shí)的錯(cuò)誤B運(yùn)行時(shí)的錯(cuò)誤C隱含的錯(cuò)誤D因修改軟件而造成的錯(cuò)誤3.軟件維護(hù)是指(C)A維護(hù)軟件的正常運(yùn)行B軟件的配置更新C對(duì)軟件的改進(jìn),適應(yīng)和完善D軟件開發(fā)期的一個(gè)階段

二、填空題(每空2分,共20分)。21.在軟件開發(fā)過程中要產(chǎn)生大量的信息,要進(jìn)行大量的修改,軟件配置管理能協(xié)調(diào)軟件開發(fā),并使混亂減到最低程度。22.規(guī)定功能的軟件,在一定程度上對(duì)自身錯(cuò)誤的作用(軟件錯(cuò)誤)具有屏蔽能力,則稱此軟件具有容錯(cuò)功能的軟件。24.軟件可維護(hù)性度量的七個(gè)質(zhì)量特性是可理解性、可測(cè)試性、可修改性、可靠性、可移植性、可使用性和效率。25.為了便于對(duì)照檢查,測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。27.軟件結(jié)構(gòu)是以模塊為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。28.在結(jié)構(gòu)化分析中,用于描述加工邏輯的主要工具有三種,即:結(jié)構(gòu)化語言、判定表、判定樹。29.結(jié)構(gòu)化語言是介于自然語言和形式語言之間的一種半形式語言。三、名詞解釋題每小題3分,共15分。31.軟件生存周期模型描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型32.?dāng)?shù)據(jù)字典(DD)數(shù)據(jù)字典是用來定義數(shù)據(jù)流圖中的各個(gè)成分的具體含義的。它以一種準(zhǔn)確的、無二義性的說明方式為系統(tǒng)的分析、設(shè)計(jì)及維護(hù)提供了有關(guān)元素的一致的定義和詳細(xì)的描述。33.內(nèi)聚性內(nèi)聚性是模塊獨(dú)立性的衡量標(biāo)準(zhǔn)之一,它是指模塊的功能強(qiáng)度的度量,即一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量35.多態(tài)性指相同的操作或函數(shù)、過程可作用于多種類型的對(duì)象上并獲得不同結(jié)果?;颍ú煌膶?duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果。)四、簡(jiǎn)答題每小題5分,共20分。37.簡(jiǎn)述軟件測(cè)試的目的。軟件測(cè)試是(1)為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程;(2)一個(gè)好的用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。(3)一個(gè)成功的測(cè)試是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。38.就程序設(shè)計(jì)語言的工程特性而言,對(duì)程序編碼有哪些要求?就程序設(shè)計(jì)語言的工程特性而言,對(duì)程序編碼有如下要求:(1)可移植性(2)開發(fā)工具的可利用性(3)軟件的可重用性(4)可維護(hù)性一,單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個(gè)選項(xiàng)中只有一個(gè)選項(xiàng)是符合題目要求的,請(qǐng)將正確選項(xiàng)前的字母填在題后的橫線上。1.可行性研究要進(jìn)行一次_____需求分析。A.詳細(xì)的B.全面的C.簡(jiǎn)化的、壓縮的D.徹底的[解析]軟件的可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定該軟件項(xiàng)目是否能夠開發(fā),是否值得去開發(fā)。其實(shí)質(zhì)是要進(jìn)行一次簡(jiǎn)化、壓縮了的需求分析、設(shè)計(jì)過程,要在較高層次上以較抽象的方式進(jìn)行需求分析和設(shè)計(jì)過程。因此答案為C。4._______工具在軟件詳細(xì)設(shè)計(jì)過程中不采用。A.判定表B.IPO圖C.PDLD.DFD圖[解析]詳細(xì)描述處理過程常用三種工具:圖形、表格和語言。其中圖形工具有結(jié)構(gòu)化流程圖、盒圖和問題分析圖三種,答案中的判定表是用來表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。IPO圖用來描述每個(gè)模塊輸入/輸出數(shù)據(jù)、處理功能及模塊調(diào)用的詳細(xì)情況。PDL是過程設(shè)計(jì)語言的縮寫,也稱程序描述語言,用于描述模塊算法設(shè)計(jì)和處理細(xì)節(jié)的語言,這三種都可以在軟件詳細(xì)設(shè)計(jì)過程中使用,而DFD圖則是數(shù)據(jù)流圖,是以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,只反映系統(tǒng)必須完成的邏輯功能,所以它只是一種功能模型,不能在詳細(xì)設(shè)計(jì)過程中使用。5.程序的三種基本控制結(jié)構(gòu)是A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移[解析]程序的三種基本控制結(jié)構(gòu)是順序、選擇和循環(huán)(重復(fù))。子程序只是程序設(shè)計(jì)一種方法,遞歸則是一種算法,都算不上是控制結(jié)構(gòu)。6.程序的三種基本控制結(jié)構(gòu)的共同特點(diǎn)是A.不能嵌套使用B.只能用來寫簡(jiǎn)單程序C.已經(jīng)用硬件實(shí)現(xiàn)D.只有一個(gè)入口和一個(gè)出口[解析]程序的特點(diǎn)就是從一個(gè)入口開始,最終以一個(gè)出口結(jié)束,其間可以用順序,選擇和循環(huán)方式對(duì)程序的流向進(jìn)行控制。三種結(jié)構(gòu)可以寫出非常復(fù)雜的程序,而且選擇和循環(huán)都可以嵌套設(shè)計(jì)。7.產(chǎn)生軟件維護(hù)的副作用,是指A.開發(fā)時(shí)的錯(cuò)誤B.隱含的錯(cuò)誤C.因修改軟件而造成的錯(cuò)誤D.運(yùn)行時(shí)誤操作[解析]因修改軟件而造成的錯(cuò)誤或其他不希望出現(xiàn)的情況稱為維護(hù)的副作用,包括編碼副作用、數(shù)據(jù)副作用、文檔副作用三種。只有答案C是正確的表述。8.維護(hù)中,因誤刪除一個(gè)標(biāo)識(shí)符而引起的錯(cuò)誤是_________副作用。A.文檔B.?dāng)?shù)據(jù)C.編碼D.設(shè)計(jì)[解析]編碼副作用指的是在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引入錯(cuò)誤,比如刪除或修改一個(gè)子程序、一個(gè)標(biāo)號(hào)、一個(gè)標(biāo)識(shí)符,改變程序代碼的時(shí)序關(guān)系,修改文件的打開或關(guān)閉等。因此本題答案為C。9.可維護(hù)性的特性中相互促進(jìn)的是A.可理解性和可測(cè)試性B.效率和可移植性C.效率和可修改性D.效率和結(jié)構(gòu)好[解析]軟件的可維護(hù)性可用七個(gè)質(zhì)量特性來衡量,分別是:可理解性、可測(cè)試性、可修改性、可靠性、可移植性、可使用性和效率。對(duì)于不同類型的維護(hù),這些特性的側(cè)重點(diǎn)也不相同,有一些可維護(hù)特性是可以相互促進(jìn)的,比如可理解性和可測(cè)試性,可理解性和可修改性,另外一些則是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的結(jié)構(gòu)好則不屬于可維護(hù)性的特征。10.汽車有一個(gè)發(fā)動(dòng)機(jī)。汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是_____關(guān)系。A.一般具體B.整體部分C.分類關(guān)系D.主從關(guān)系[解析]類有兩種主要的結(jié)構(gòu)關(guān)系,即一般——具體結(jié)構(gòu)關(guān)系和整體——部分結(jié)構(gòu)關(guān)系。前者稱為分類結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的一般化的抽象關(guān)系。后者稱為組裝結(jié)構(gòu),用來描述現(xiàn)實(shí)世界中的類的組成的抽象關(guān)系。汽車和發(fā)動(dòng)機(jī)的關(guān)系很明顯,應(yīng)該屬于整體——部分關(guān)系。13.提高軟件質(zhì)量和可靠的技術(shù)大致可分為兩大類:其中一類就是避開錯(cuò)誤技術(shù),但避開錯(cuò)誤技術(shù)無法做到完美無缺和絕無錯(cuò)誤,這就需要A.消除錯(cuò)誤B.檢測(cè)錯(cuò)誤C.避開錯(cuò)誤D.容錯(cuò)[解析]提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯(cuò)誤技術(shù),即在開發(fā)的過程中不讓差錯(cuò)潛入軟件的技術(shù),另一類是容錯(cuò)技術(shù),即對(duì)某些無法避開的差錯(cuò),使其影響減至最小的技術(shù)。14._____是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng)。A.技術(shù)創(chuàng)新B.測(cè)試C.技術(shù)創(chuàng)造D.技術(shù)評(píng)審[解析]技術(shù)評(píng)審是以提高軟件質(zhì)量為目的的技術(shù)活動(dòng),是對(duì)軟件本身的結(jié)構(gòu)、與運(yùn)行環(huán)境的接口、變更帶來的影響等方面進(jìn)行的評(píng)審活動(dòng)。15.面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識(shí)世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;________;對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。A.開發(fā)過程基于功能分析和功能分解B.強(qiáng)調(diào)需求分析重要性C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法D.對(duì)既存類進(jìn)行調(diào)整[解析]面向?qū)ο蠓椒ㄓ兴膫€(gè)特征,分別是對(duì)象唯一性、分類性、繼承性和多態(tài)性。其中分類性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類,每個(gè)類是具有相同性質(zhì)的個(gè)體集合,而每個(gè)對(duì)象相關(guān)類的實(shí)例,對(duì)象彼此之間通過傳遞消息互相聯(lián)系。16.軟件開發(fā)過程中,抽取和整理用戶需求并建立問題域精確模型的過程叫A.生存期B.面向?qū)ο笤O(shè)計(jì)C.面向?qū)ο蟪绦蛟O(shè)計(jì)D.面向?qū)ο蠓治鯷解析]面向?qū)ο蟮姆治龅倪^程就是認(rèn)識(shí)客觀世界的過程,其目的就是建立對(duì)客觀世界的精確、簡(jiǎn)潔、可理解的正確模型,也就是所謂的建模。因此本題答案為D。17.原型化方法是用戶和設(shè)計(jì)者之間執(zhí)行的一種交互構(gòu)成,適用于______系統(tǒng)。A.需求不確定性高的B.需求確定的C.管理信息D.實(shí)時(shí)[解析]原型不同于最終系統(tǒng),它只實(shí)現(xiàn)所選擇的部分功能,僅是為了試驗(yàn)或是演示而用,部分功能需求可以忽略或者模擬實(shí)現(xiàn),因此適用于需求不確定性高的系統(tǒng)。18.原型化方法是一種_______型的設(shè)計(jì)過程。A.自外向內(nèi)B.自頂向下C.自內(nèi)向外D.自底向上[解析]原型化方法的基本思想是根據(jù)用戶給出的基本需求,通過快速實(shí)現(xiàn)構(gòu)造出一個(gè)小型的、可執(zhí)行的模型,用戶在計(jì)算機(jī)上實(shí)際運(yùn)行這個(gè)用戶界面原型,在試用過程中提出意見或建議,然后開發(fā)者再對(duì)原型進(jìn)行改進(jìn)。如此周而復(fù)始,逐步彌補(bǔ)不足之處,從而提高了最終產(chǎn)品的質(zhì)量。它是一種自外向內(nèi)的設(shè)計(jì)過程。19.為了提高測(cè)試的效率,應(yīng)該A.隨機(jī)地選取測(cè)試數(shù)據(jù)B.取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)C.在完成編碼以后制定軟件的測(cè)試計(jì)劃D.選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù)[解析]軟件測(cè)試是為了盡可能多的發(fā)現(xiàn)程序中的錯(cuò)誤,尤其是發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤。在選取測(cè)試用例時(shí),不可能進(jìn)行窮舉測(cè)試,在每一個(gè)細(xì)節(jié)進(jìn)行測(cè)試,也不能無目的地隨機(jī)選取測(cè)試數(shù)據(jù),為了提高測(cè)試的效率,測(cè)試用例應(yīng)該選擇發(fā)現(xiàn)錯(cuò)誤可能性大的部分,這樣的測(cè)試結(jié)果才符合軟件測(cè)試的目的。20.使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)_______和指定的覆蓋標(biāo)準(zhǔn)。A.程序的內(nèi)部邏輯B.程序的復(fù)雜結(jié)構(gòu)C.使用說明書D.程序的功能[解析]白盒測(cè)試是把測(cè)試對(duì)象看作一個(gè)打開的盒子,測(cè)試人員須了解程序的內(nèi)部結(jié)構(gòu)和處理過程,由于白盒測(cè)試是一種結(jié)構(gòu)測(cè)試,所以被測(cè)對(duì)象基本上是源程序,以程序的內(nèi)部邏輯和指定的覆蓋標(biāo)準(zhǔn)確定測(cè)試數(shù)據(jù)。二,填空題(本大題共10小題,每小題2分,共20分)22.成本效益分析的目的是從(經(jīng)濟(jì))角度評(píng)價(jià)開發(fā)一個(gè)項(xiàng)目是否可行。[解析]成本效益分析首先是估算將要開發(fā)的系統(tǒng)的開發(fā)成本,然后與可能取得的效益進(jìn)行比較和權(quán)衡,其目的是從經(jīng)濟(jì)角度評(píng)價(jià)開發(fā)一個(gè)新的軟件項(xiàng)目是否可行。23.自頂向下結(jié)合的漸增式測(cè)試法,在組合模塊時(shí)有兩種組合策略:深度優(yōu)先策略和(寬度優(yōu)先策略)。[解析]漸增式測(cè)試法有自頂向下結(jié)合和自底向上結(jié)合兩種組裝模塊的方法,其中自頂向下集成是構(gòu)造程序結(jié)構(gòu)的一種增量式方式,不需要編寫驅(qū)動(dòng)模塊,只需要編寫樁模塊。它從主控模塊開始,按照軟件的控制層次結(jié)構(gòu),以深度優(yōu)先或?qū)挾葍?yōu)先的策略,逐步把各個(gè)模塊集成在一起。24.獨(dú)立路徑是指包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條(在其他獨(dú)立路徑中未有過)的邊的路徑。[解析]在基本路徑測(cè)試中,以詳細(xì)設(shè)計(jì)或源程序?yàn)榛A(chǔ),導(dǎo)出控制流程圖的拓?fù)浣Y(jié)構(gòu)——程序圖,在計(jì)算了程序圖的環(huán)路復(fù)雜性之后,確定只包含獨(dú)立路徑的基本路徑圖,其中獨(dú)立路徑是包括一組以前沒有處理的語句或條件的一條路徑。從程序圖來看,一條獨(dú)立路徑是至少包含有一條在其他獨(dú)立路徑中未有過的邊的路徑。25.匯編語言是面向(機(jī)器)的,可以完成高級(jí)語言無法完成的特殊功能,如與外部設(shè)備之間的一些接口工作。[解析]匯編語言屬于低級(jí)語言,是一種面向機(jī)器的語言,它與高級(jí)語言相比有許多優(yōu)越性:如操作靈活,可以直接作用到硬件的最下層,完成與外部設(shè)備的接口工作等,是能夠利用計(jì)算機(jī)硬件特性直接控制硬件設(shè)備的唯一語言。27.詳細(xì)設(shè)計(jì)的任務(wù)是確定每個(gè)模塊的內(nèi)部特性,即模塊的算法、(使用的數(shù)據(jù))。[解析]詳細(xì)設(shè)計(jì)的基本任務(wù)是為每個(gè)模塊進(jìn)行詳細(xì)的算法設(shè)計(jì),為模塊內(nèi)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行設(shè)計(jì),確定每個(gè)模塊的內(nèi)部特性,包括模塊的算法和使用的數(shù)據(jù)。對(duì)數(shù)據(jù)庫(kù)進(jìn)行物理設(shè)計(jì)等。28.所有軟件維護(hù)申請(qǐng)報(bào)告要按規(guī)定方式提出,該報(bào)告也稱(軟件問題)報(bào)告。[解析]在軟件維護(hù)的流程中,第一步就是制定維護(hù)申請(qǐng)報(bào)告,也稱為軟件問題報(bào)告,它是維護(hù)階段的一種文檔,由申請(qǐng)維護(hù)的用戶填寫。29.有兩類維護(hù)技術(shù):在開發(fā)階段使用來減少錯(cuò)誤、提高軟件可維護(hù)性的面向維護(hù)的技術(shù);在維護(hù)階段用來提高維護(hù)的效率和質(zhì)量的(維護(hù)支援)技術(shù)。[解析]面向維護(hù)的技術(shù)涉及軟件開發(fā)的所有階段,能夠減少軟件錯(cuò)誤,提高軟件的可維護(hù)性。而維護(hù)支援技術(shù)則包含信息收集,錯(cuò)誤原因分析,維護(hù)方案評(píng)價(jià)等項(xiàng),是在軟件維護(hù)階段用來提高維護(hù)效率和質(zhì)量的技術(shù)。30.科學(xué)工程計(jì)算需要大量的標(biāo)準(zhǔn)庫(kù)函數(shù),以便處理復(fù)雜的數(shù)值計(jì)算,可供選擇的語言有:(FORTRAN語言)、PASCAL語言、C語言和PL/1語言。[解析]計(jì)算機(jī)語言根據(jù)不同行業(yè)的需求,使用的側(cè)重點(diǎn)也不盡相同,在辦公管理方面,一些數(shù)據(jù)庫(kù)語言如FOXPRO、ORICAL有很多的應(yīng)用,在工程行業(yè),計(jì)算機(jī)語言的科學(xué)計(jì)算能力就顯得格外重要,如MATLAB、PL/1、FORTRAN語言都是工程計(jì)算中常用的語言。四,簡(jiǎn)答題(本大題共4小題,每小題5分,共20分)38.什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?解:軟件發(fā)展第二階段的末期,由于計(jì)算機(jī)硬件技術(shù)的進(jìn)步,計(jì)算機(jī)運(yùn)行速度、容量、可靠性有顯著的提高,生產(chǎn)成本顯著下降,這為計(jì)算機(jī)的廣泛應(yīng)用創(chuàng)造了條件。一些復(fù)雜的、大型的軟件開發(fā)項(xiàng)目提出來了,但是,軟件開發(fā)技術(shù)的進(jìn)步一直未能滿足發(fā)展的需要。在軟件開發(fā)中遇到的問題找不到解決辦法,使問題積累起來,形成了尖銳的矛盾,因而導(dǎo)致了軟件危機(jī)。軟件危機(jī)表現(xiàn)在以下四個(gè)方面:(1)經(jīng)費(fèi)預(yù)算經(jīng)常突破,完成時(shí)間一再拖延。由于缺乏軟件開發(fā)的經(jīng)驗(yàn)和軟件開發(fā)數(shù)據(jù)的積累,使得開發(fā)工作的計(jì)劃很難制定。主觀盲目制定計(jì)劃,執(zhí)行起來與實(shí)際情況有很大差距,使得開發(fā)經(jīng)費(fèi)一再突破。由于對(duì)工作量估計(jì)不足,對(duì)開發(fā)難度估計(jì)不足,進(jìn)度計(jì)劃無法按時(shí)完成,開發(fā)時(shí)間一再拖延。(2)開發(fā)的軟件不能滿足用戶要求。開發(fā)初期對(duì)用戶的要求了解不夠明確,未能得到明確的表達(dá)。開發(fā)工作開始后,軟件人員和用戶又未能及時(shí)交換意見,使得一些問題不能及時(shí)解決,導(dǎo)致開發(fā)的軟件不能滿足用戶的要求,因而導(dǎo)致開發(fā)失敗。(3)開發(fā)的軟件可維護(hù)性差。開發(fā)過程中沒有同意的、公認(rèn)的規(guī)范,軟件開發(fā)人員按各自的風(fēng)格工作,各行其是,開發(fā)過程無完整、規(guī)范的文檔,發(fā)現(xiàn)問題后進(jìn)行雜亂無章的修改。程序結(jié)構(gòu)不好,運(yùn)行時(shí)發(fā)現(xiàn)錯(cuò)誤也很難修改,導(dǎo)致維護(hù)性差。(4)開發(fā)的軟件可靠性差。由于在開發(fā)過程中,沒有確保軟件質(zhì)量的體系和措施,在軟件測(cè)試時(shí),又沒有嚴(yán)格的、充分的、完全的測(cè)試,提交給用戶的軟件質(zhì)量差,在運(yùn)行中暴露出大量的問題。造成軟件危機(jī)的原因是:(1)軟件的規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜。(2)軟件開發(fā)管理困難而復(fù)雜。(3)軟件開發(fā)費(fèi)用不斷增加。(4)軟件開發(fā)技術(shù)落后。(5)生產(chǎn)方式落后。6)開發(fā)工具落后,生產(chǎn)率提高緩慢。38.什么是軟件危機(jī)?軟件危機(jī)的表現(xiàn)是什么?其產(chǎn)生的原因是什么?39.軟件質(zhì)量保證應(yīng)做好哪幾方面的工作?解:軟件質(zhì)量保證是軟件工程管理的重要內(nèi)容,軟件質(zhì)量保證應(yīng)做好以下幾方面的工作:(1)采用技術(shù)手段和工具。質(zhì)量保證活動(dòng)要貫徹開發(fā)過程始終,必須采用技術(shù)手段和工具,尤其是使用軟件開發(fā)環(huán)境來進(jìn)行軟件開發(fā)。(2)組織正式技術(shù)評(píng)審。在軟件開發(fā)的每一個(gè)階段結(jié)束時(shí),都要組織正式的技術(shù)評(píng)審。國(guó)家標(biāo)準(zhǔn)要求單位必須采用審查、文檔評(píng)審、設(shè)計(jì)評(píng)審、審計(jì)和測(cè)試等具體手段來保證質(zhì)量。(3)加強(qiáng)軟件測(cè)試。軟件測(cè)試是質(zhì)量保證的重要手段,因?yàn)闇y(cè)試可發(fā)現(xiàn)軟件中大多數(shù)潛在錯(cuò)誤。(4)推行軟件工程規(guī)范(標(biāo)準(zhǔn))。用戶可以自己制定軟件工程規(guī)范(標(biāo)準(zhǔn)),但標(biāo)準(zhǔn)一旦確認(rèn)就應(yīng)貫徹執(zhí)行。(5)對(duì)軟件的變更進(jìn)行控制。軟件的修改和變更常常會(huì)引起潛伏的錯(cuò)誤,因此必須嚴(yán)格控制軟件的修改和變更。(6)對(duì)軟件質(zhì)量進(jìn)行度量。即對(duì)軟件質(zhì)量進(jìn)行跟蹤,及時(shí)記錄和報(bào)告軟件質(zhì)量情況。[解析]軟件的質(zhì)量保證是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品,確保軟件產(chǎn)品從誕生到消亡為止的所有階段的質(zhì)量的活動(dòng),是軟件工程管理中的重要內(nèi)容。41.根據(jù)下列條件使用等價(jià)類劃分法設(shè)計(jì)測(cè)試用例。某一8位微機(jī),其八進(jìn)制常數(shù)定義為:以零開頭的數(shù)是八進(jìn)制整數(shù),其值的范圍是-177~177,如05,0127,-065解:(1)劃分等價(jià)類并編號(hào),如下表示:(4分)(2)為合理等價(jià)類設(shè)計(jì)測(cè)試用例,表中有兩個(gè)合理等價(jià)類,設(shè)計(jì)兩個(gè)例子(2分)(3)為不合理等價(jià)類測(cè)試用例,至少設(shè)計(jì)一個(gè)測(cè)試用例(2分)[解析]等價(jià)類劃分屬于黑盒測(cè)試的一種,它將輸入數(shù)據(jù)域按有效的或無效的劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試,這樣用少量有代表性的例子代替大量測(cè)試目的相同的例子,可以有效提高測(cè)試效率。本題劃分了3個(gè)合理等價(jià)類,9個(gè)不合理等價(jià)類進(jìn)行測(cè)試,取到了預(yù)期的效果。42.某電器集團(tuán)公司下屬的廠包括技術(shù)科、生產(chǎn)科等基層單位?,F(xiàn)在想建立一個(gè)計(jì)算機(jī)輔助企業(yè)管理系統(tǒng),其中:生產(chǎn)科的任務(wù)是:(1)根據(jù)銷售公司轉(zhuǎn)來的內(nèi)部合同(產(chǎn)品型號(hào)、規(guī)格、數(shù)量、交獲日期)制定車間月生產(chǎn)計(jì)劃。(2)根據(jù)車間實(shí)際生產(chǎn)日?qǐng)?bào)表、周報(bào)表調(diào)整月生產(chǎn)計(jì)劃3)以月生產(chǎn)計(jì)劃為以及,制定產(chǎn)品設(shè)計(jì)(結(jié)構(gòu)、工藝)及產(chǎn)品組裝月計(jì)劃。(4)將產(chǎn)品的組裝計(jì)劃傳達(dá)到各科,將組裝月計(jì)劃分解為周計(jì)劃,下達(dá)給車間技術(shù)科的任務(wù)是:(1)根據(jù)生產(chǎn)科轉(zhuǎn)來的組裝計(jì)劃進(jìn)行產(chǎn)品結(jié)構(gòu)設(shè)計(jì),產(chǎn)生產(chǎn)品裝配圖給生產(chǎn)科,產(chǎn)生外購(gòu)需求計(jì)劃給供應(yīng)科,并產(chǎn)生產(chǎn)品自制物料清單。(2)根據(jù)組裝計(jì)劃進(jìn)行產(chǎn)品工藝設(shè)計(jì),根據(jù)產(chǎn)品自制物料清單產(chǎn)生工藝流程圖給零件廠。試寫出以上系統(tǒng)中生產(chǎn)科和技術(shù)科處理的軟件結(jié)構(gòu)圖。解:畫出生產(chǎn)科圖的給6分,畫出技術(shù)科的給4分。[解析]軟件結(jié)構(gòu)圖是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來程序的控制層次體系,軟件結(jié)構(gòu)往往用樹狀或網(wǎng)狀結(jié)構(gòu)的圖形來表示,其主要內(nèi)容有模塊及模塊的控制關(guān)系,根據(jù)題意,可繪制出生產(chǎn)科和技術(shù)科的軟件結(jié)構(gòu)圖,其中生產(chǎn)科的結(jié)構(gòu)圖深度和寬度均為4,技術(shù)科的結(jié)構(gòu)圖的深度和寬度均為3。一、是非題(共10分,每題1分,將結(jié)果填寫在下面的表格中)。測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和有關(guān)的分析報(bào)告一般不用長(zhǎng)期保存。(X)一個(gè)好的開發(fā)人員應(yīng)具備的素質(zhì)和能力不包括具有良好的書面和口頭表達(dá)能力。(X)在用戶需求分析時(shí)觀察用戶手工操作過程不是為了模擬手工操作過程,而是為了獲取第一手資料,并從中提取出有價(jià)值的需求。(√)快速原型技術(shù)的適用于軟件產(chǎn)品要求大量的用戶交互、或產(chǎn)生大量的可視輸出、或設(shè)計(jì)一些復(fù)雜的算法等場(chǎng)合。(√)流程圖也稱為程序框圖是最常用的一種表示法。(√)用窮舉測(cè)試是較現(xiàn)實(shí)的測(cè)試方法。(X)面向數(shù)據(jù)設(shè)計(jì)方法一般都包括下列任務(wù):確定數(shù)據(jù)結(jié)構(gòu)特征;用順序、選擇和重復(fù)三種基本形式表示數(shù)據(jù)等步驟。(√)理想的人機(jī)界面應(yīng)針對(duì)具有典型個(gè)性的特定的一類用戶設(shè)計(jì)。(√)數(shù)據(jù)輸入的一般準(zhǔn)則中包括盡量增加用戶輸入的動(dòng)作。(X)缺乏有力的方法學(xué)的指導(dǎo)和有效的開發(fā)工具的支持,這往往是產(chǎn)生軟件危機(jī)的原因之一。(√)二、單選題(共20題,每題1分,將答案填寫在下面的表格中)。面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,分析、設(shè)計(jì)和實(shí)現(xiàn)一個(gè)軟件系統(tǒng)的方法和過程,盡可能接近于人類認(rèn)識(shí)世界解決問題的方法和過程。因此面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;________;對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。CA.開發(fā)過程基于功能分析和功能分解B.強(qiáng)調(diào)需求分析重要性C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法D.對(duì)既存類進(jìn)行調(diào)整()的缺點(diǎn)是缺乏靈活性,特別是無法解決軟件需求不明確或不準(zhǔn)確的問題。A、瀑布模型B、原型模型C、增量模型D、螺旋模型汽車有一個(gè)發(fā)動(dòng)機(jī)。汽車和發(fā)動(dòng)機(jī)之間的關(guān)系是_____關(guān)系。BA.一般具體B.整體部分C.分類關(guān)系D.主從關(guān)系需求分析階段的任務(wù)是確定()DA.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)D.軟件系統(tǒng)的功能(D)提高測(cè)試的有效性非常重要,成功的測(cè)試是指()A.證明了被測(cè)試程序正確無誤B.說明了被測(cè)試程序符合相應(yīng)的要求C.未發(fā)現(xiàn)被測(cè)程序的錯(cuò)誤D.發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤程序的三種基本控制結(jié)構(gòu)是()A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序易讀性下面哪個(gè)不屬于UML中的靜態(tài)圖()。A.狀態(tài)圖B.用例圖C.對(duì)象圖D.類圖下圖中的空心箭頭連線表示()關(guān)系。A.泛化B.包含C.?dāng)U展D.實(shí)現(xiàn)()是系統(tǒng)中遵從一組接口且提供實(shí)現(xiàn)的一個(gè)物理部件,通常指開發(fā)和運(yùn)行時(shí)類的物理實(shí)現(xiàn)。A.部署圖B.類C.接口D.組件UML中下圖表示的含義是()。A.依賴B.關(guān)聯(lián)C.組合D.聚集UML中()是用于把元素組織成組的通用機(jī)制。A.包B.類C.接口D.組件面向?qū)ο蠓椒ㄓ性S多特征,如軟件系統(tǒng)是由對(duì)象組成的;();對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系;層次結(jié)構(gòu)的繼承。A.開發(fā)過程基于功能分析和功能分解B.強(qiáng)調(diào)需求分析重要性C.把對(duì)象劃分成類,每個(gè)對(duì)象類都定義一組數(shù)據(jù)和方法D.對(duì)既存類進(jìn)行調(diào)整繼承機(jī)制的作用是()。A.信息隱藏B.數(shù)據(jù)封裝C.派生新類D.數(shù)據(jù)抽象UML中關(guān)聯(lián)的重?cái)?shù)是指( )。A.一個(gè)類有多個(gè)方法被另一個(gè)類調(diào)用B.一個(gè)類的實(shí)例能夠與另一個(gè)類的多個(gè)實(shí)例相關(guān)聯(lián)C.一個(gè)類的某個(gè)方法被另一個(gè)類調(diào)用的次數(shù)D.兩個(gè)類所具有的相同的方法和屬性下列不屬于面向?qū)ο蠹夹g(shù)的基本特征的是()。A.封裝性B.模塊性C.多態(tài)性D.繼承性()描述了一組交互對(duì)象間的動(dòng)態(tài)協(xié)作關(guān)系,它表示完成某項(xiàng)行為的對(duì)象和這些對(duì)象之間傳遞消息的時(shí)間順序。A.對(duì)象圖B.協(xié)作圖C.狀態(tài)圖D.順序圖()是表達(dá)系統(tǒng)的類及其相互聯(lián)系的圖示,它是面向?qū)ο笤O(shè)計(jì)的核心,建立狀態(tài)圖、協(xié)作圖和其他圖的基礎(chǔ)。A.對(duì)象圖B.組件圖C.類圖D.配置圖5.軟件生命周期中所花費(fèi)用最多的階段是()A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)()和指定的覆蓋標(biāo)準(zhǔn)。A.程序的內(nèi)部邏輯 B.程序的復(fù)雜程度C.該軟件的編寫人員 D.程序的功能三、問答題(共30分,每題10分)。1.軟件生命期各階段的任務(wù)是什么?軟件生命期分為7個(gè)階段:1、問題定義:要解決的問題是什么2、可行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性3、需求分析:系統(tǒng)必須做什么4、總體設(shè)計(jì):系統(tǒng)如何實(shí)現(xiàn),包括系統(tǒng)設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)5、詳細(xì)設(shè)計(jì):具體實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng)6、實(shí)現(xiàn):編碼和測(cè)試7、運(yùn)行維護(hù):保證軟件正常運(yùn)行。3、已知的三角形分類程序的功能是:讀入代表三角形邊長(zhǎng)的3個(gè)數(shù)值,判斷它們能否組成三角形。如果能夠,則輸出三角形是等邊、等腰或任意三角形的分類信息。使用黑盒測(cè)試方法設(shè)計(jì)測(cè)試用例。是非題(共10分,每題1分,將結(jié)果填寫在下面的表格中)?!痢痢獭獭獭痢獭獭痢潭?、單選題(共20題,每題2分,將答案填寫在下面的表格中)。CABDDDDAADDACCBBDCDA三、問答題(共30分,每題10分)。1.軟件生命期各階段的任務(wù)是什么?(本小題10分)軟件生命期分為7個(gè)階段:1)問題定義:要解決的問題是什么2)可行性研究:確定問題是否值得解,技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性3)需求分析:系統(tǒng)必須做什么4)總體設(shè)計(jì):系統(tǒng)如何實(shí)現(xiàn),包括系統(tǒng)設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)5)詳細(xì)設(shè)計(jì):具體實(shí)現(xiàn)設(shè)計(jì)的系統(tǒng)6)實(shí)現(xiàn):編碼和測(cè)試7)運(yùn)行維護(hù):保證軟件正常運(yùn)行。2.(本小題10分)等價(jià)分類法--------------(4分)有效等價(jià)類(1)3數(shù)相等(2)3數(shù)中只有2數(shù)相等(3)3數(shù)均不相等無效等價(jià)類(4)含有零(5)含有負(fù)整數(shù)(6)少于3個(gè)整數(shù)(7)含有實(shí)數(shù)(8)含有非數(shù)字字符(9)2數(shù)之和不大于第3數(shù)一、填空題1.軟件生命周期可劃分為、和3個(gè)時(shí)期,通常把這3個(gè)時(shí)期再細(xì)分為8個(gè)階段,它們是①、②、③、④、⑤、⑥、⑦和⑧,其中的階段的工作量是8個(gè)階段中最大的。2.可行性研究的任務(wù)是從、和等三個(gè)方面研究。3.至少應(yīng)該從、、和4個(gè)方面驗(yàn)證軟件需求的正確性,其中和這兩個(gè)方面的正確性必須有用戶的積極參與才能驗(yàn)證,而且為了驗(yàn)證這兩個(gè)方面的正確性,往往需要開發(fā)。4.軟件總體設(shè)計(jì)時(shí)應(yīng)遵循、、、、、和等6條基本原則。詳細(xì)設(shè)計(jì)通常以技術(shù)為邏輯基礎(chǔ),因?yàn)閺能浖こ逃^點(diǎn)看,是軟件最重要的質(zhì)量標(biāo)準(zhǔn)之一。5.軟件測(cè)試的目的是,通常把測(cè)試方法分為和兩大類。因?yàn)橥ǔ2豢赡茏龅?,所以精心設(shè)計(jì)是保證達(dá)到測(cè)試目的所必須的。6.軟件維護(hù)通常包括4類活動(dòng),它們分別是、、、。二、判斷下述提高軟件可維護(hù)性的措施是否正確,正確的在括弧內(nèi)寫對(duì),錯(cuò)的寫錯(cuò)。1.在進(jìn)行需求分析時(shí)同時(shí)考慮維護(hù)問題。()2.完成測(cè)試后,為縮短源程序長(zhǎng)度而刪去程序中的注釋。()3.盡可能在軟件開發(fā)過程中保證各階段文檔的正確性。()4.編碼時(shí)盡可能使用全局變量。()5.選擇時(shí)間效率和空間效率盡可能高的算法。()6.盡可能利用硬件的特點(diǎn)以提高效率。()7.重視程序結(jié)構(gòu)的設(shè)計(jì),使程序具有較好的層次結(jié)構(gòu)。()8.使用維護(hù)工具或軟件工程環(huán)境。()9.進(jìn)行概要設(shè)計(jì)時(shí)盡可能加強(qiáng)模塊間的聯(lián)系。()10.提高程序可讀性,盡可能使用高級(jí)語言編程。()答案一、答:1.定義;開發(fā);維護(hù);問題定義;可行性研究;需求分析;總體設(shè)計(jì);詳細(xì)設(shè)計(jì);編碼和單元測(cè)試;綜合測(cè)試;維護(hù);維護(hù)。2.技術(shù);經(jīng)濟(jì);操作;軟件項(xiàng)目的可行性/3.一致性;現(xiàn)實(shí)性;完整性;有效性;完整性;有效性;原型系統(tǒng)。4.模塊化;抽象;逐步求精;信息隱藏;局部化;模塊獨(dú)立;結(jié)構(gòu)程序設(shè)計(jì);可理解性。5.發(fā)現(xiàn)錯(cuò)誤;黑盒測(cè)試;白盒測(cè)試;窮盡測(cè)試;測(cè)試方案。6.改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)。二、答:⒈對(duì);⒉錯(cuò);⒊對(duì);⒋

溫馨提示

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

評(píng)論

0/150

提交評(píng)論