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

下載本文檔

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

文檔簡介

1.??:的一系列嚴(yán)重問題。(1).軟件維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的夸大。(2).軟件生產(chǎn)技術(shù)進(jìn)步緩慢2.什么是軟件生產(chǎn)工程化?工程化生產(chǎn)方法與早期的程序設(shè)計(jì)方法主要差異在哪里?答:結(jié)構(gòu)化程序設(shè)計(jì)地出現(xiàn),使許多產(chǎn)業(yè)界認(rèn)識(shí)認(rèn)識(shí)到必須把軟件生產(chǎn)從個(gè)人化方式改變?yōu)楣こ袒?。采用工程的概念、原理、技術(shù)和方法開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程,同時(shí)這也是工程化生產(chǎn)方法。3.分別說明〔1〕軟件開發(fā)方法與開發(fā)工具;〔2〕軟件技術(shù)與軟件管理的相互關(guān)系。答:〔1〕工具和方法,是軟件開發(fā)技術(shù)的兩大支柱,它們密切相關(guān)。當(dāng)一種方法提出來并證明有效后,往往隨之研制出相應(yīng)的工具,來幫助實(shí)現(xiàn)和推行這種方法。新方法在推行初期,總有人不愿接受和采用。假設(shè)將新方法融合于工具之中,使人們通過使用工具來了解新方法,就能更快促進(jìn)新方法的推廣。〔2〕在工業(yè)生產(chǎn)中,即使有先進(jìn)的技術(shù)和設(shè)備,管理不善的企業(yè)也不能獲得良好的效益。軟件在生產(chǎn)中不能按質(zhì)按時(shí)完成方案,管理混亂往往是其中的重要原因。所以對(duì)于一個(gè)理想的軟件工程環(huán)境,應(yīng)該同時(shí)具備技術(shù)和管理兩個(gè)方面。4.試從你的親身實(shí)踐,談?wù)勡浖ぞ咴谲浖_發(fā)中的作用。答:用C++開發(fā)一個(gè)軟件,是校園一卡通的模塊。首先,要在編輯程序支持下在計(jì)算機(jī)中輸入源程序。然后編譯程序,把源程序翻譯成目標(biāo)程序。如果發(fā)現(xiàn)錯(cuò)誤,就重新調(diào)入編輯程序?qū)υ闯绦蜻M(jìn)行修改。編譯通過后,再調(diào)用連接程序吧所有通過了編譯目標(biāo)程序連同與之有關(guān)的程序連接起來,構(gòu)成一個(gè)能在計(jì)算機(jī)上運(yùn)行的可執(zhí)行軟件。編譯程序,編輯程序,連接程序以及支持他們的計(jì)算機(jī)操作系統(tǒng),都屬于軟件工具。離開這些工具,軟件開發(fā)就是去了支持,變得十分困難和低效,甚至不能運(yùn)行。5.什么是軟件工程環(huán)境?談?wù)勀銓?duì)環(huán)境重要性的認(rèn)識(shí)。答:方法與工具相結(jié)合,再加上配套的軟、硬件支持就形成環(huán)境。例如在批處理時(shí)代,用戶開發(fā)的程序是分批送入計(jì)算機(jī)中心的計(jì)算機(jī)的,有了錯(cuò)誤,就得下機(jī)修改。程序員對(duì)自己寫的程序只能繼續(xù)地跟蹤,思路經(jīng)常被迫中斷,效率難于提高。分時(shí)系統(tǒng)的使用,使開發(fā)人員從此能在自己的終端上跟蹤程序的開發(fā),僅此一點(diǎn),就明顯提高了開發(fā)的效率。6.何謂面向?qū)ο筌浖こ蹋亢喪鏊c傳統(tǒng)軟件工程在各型軟件開發(fā)中的作用。答:以面向?qū)ο蟪绦蛟O(shè)計(jì)為根底。7.軟件按規(guī)模大小可分成哪幾類?簡述軟件工程中各型軟件開發(fā)中的作用。答:按規(guī)模分為極小、小、中、大、甚大、極大?!?〕中小型軟件:軟件工程對(duì)改進(jìn)軟件質(zhì)量,提高程序員生產(chǎn)率和滿足用戶的需求,有很大的作用。〔2〕大型軟件:這類軟件必須從頭至尾堅(jiān)持軟件工程的方法,嚴(yán)格遵守標(biāo)準(zhǔn)文檔格式和正規(guī)的復(fù)審制度,才能防止或減少混亂,真正開發(fā)出大型的軟件。8.什么是形式化軟件開發(fā)方法?實(shí)現(xiàn)這類開發(fā)的困難和出路在哪里?答:它是一種基于數(shù)學(xué)的開發(fā)技術(shù),主要采用數(shù)學(xué)的方法來描述系統(tǒng)的性質(zhì)〔例如程序變換和程序驗(yàn)證等〕。形式化的方法加上自動(dòng)化的開發(fā)環(huán)境,可能是解決這一難題的出路。第二章1.什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:軟件生存周期劃分為方案、開發(fā)和運(yùn)行3個(gè)時(shí)期;把整個(gè)生存周期劃分為較小的階段,給每個(gè)階段賦予確定而有限的任務(wù),就能夠化簡每一步的工作內(nèi)容,使因?yàn)檐浖?guī)模而增長而大大增加了軟件復(fù)雜性變得交易控制和管理。2.傳統(tǒng)的瀑布模型把生存周期分為哪些階段?瀑布模型軟件開發(fā)有哪些特點(diǎn)?答:瀑布模型在編碼以前安排了分析階段和設(shè)計(jì)階段;階段間具有順序性和依賴性。3.說明文檔和復(fù)審對(duì)于軟件質(zhì)量的控制的作用。答:每一階段都要完成規(guī)定的文檔,沒有完成文檔,就認(rèn)為沒有完成該階段的任務(wù)。軟件開發(fā)是許多人共同參加的方案,完整與合格的文檔,不僅是開發(fā)時(shí)期軟件人員之間互相通信的媒介,也是運(yùn)行時(shí)期對(duì)軟件進(jìn)行維護(hù)的中要依據(jù)。每一階段都要對(duì)已完成的文檔進(jìn)行復(fù)審,以便盡早發(fā)現(xiàn)問題,消除隱患。愈是早期潛伏下來的故障,暴露出來的時(shí)間愈晚,排除故障需付出的代價(jià)也就愈高。及時(shí)復(fù)審是保證軟件質(zhì)量,降低開發(fā)本錢的重要措施。4.什么是快速原型法?其快速表現(xiàn)在哪里?答:首先建立一個(gè)能夠反映用戶主要需求的原型,讓用戶實(shí)際看一看未來系統(tǒng)的概貌,以便判斷哪些功能是符合需要的,哪些方面還需要改進(jìn)。然后將原型改進(jìn),最終建立完全符合用戶要求的新系統(tǒng)。它的快速表現(xiàn)在能夠縮短開發(fā)周期的語言和工具,能在短時(shí)間內(nèi)提供出成品,但不包括成品中的細(xì)節(jié),然后讓客戶進(jìn)行比照。5.實(shí)現(xiàn)快速原型法的最終系統(tǒng)可以有幾種方法?請(qǐng)說明并加以比較。答:原型系統(tǒng)僅包括未來系統(tǒng)的主要功能,以及系統(tǒng)的重要接口。為了盡快向用戶提供原型,開發(fā)原型系統(tǒng)時(shí)應(yīng)盡量使用能縮短開發(fā)周期的語言和工具。最終系統(tǒng)的形成可以采用原型廢棄不用,另一方法是補(bǔ)充修改模型獲得最終系統(tǒng)。方法一不包括系統(tǒng)的細(xì)節(jié)。后一種方法在實(shí)際工作中,由于原型系統(tǒng)使用的語言往往存在效率不高等原因,除了少數(shù)簡單的事務(wù)系統(tǒng)外,大多數(shù)原型都廢棄不用,僅把建立原型的過程當(dāng)作幫助定義軟件需求的一種手段。6.比較增量模型和螺旋模型的特點(diǎn),有什么不同和相似的地方?答:增量模型是瀑布模型的順序特征與快速原型法的迭代特征相結(jié)合的產(chǎn)物。螺旋模型是一種迭代模型,每迭代一次,螺旋線就前進(jìn)一周。增量模型每個(gè)增量具有高內(nèi)聚低耦合,高度的獨(dú)立性。而螺旋模型它在結(jié)合瀑布模型與快速原型的根底上還增加了風(fēng)險(xiǎn)分析。7.為什么利用轉(zhuǎn)換模型開發(fā)軟件有一定難度?什么是凈室軟件工程?答:從理論上說,一個(gè)正確的,滿足客戶需要的形式化規(guī)格說明,經(jīng)過一系列正確的程序變化后,可以確保得到這樣一個(gè)形式化規(guī)格說明,目前還有較高的難度,同時(shí),軟件開發(fā)者很少具有實(shí)用形式化方法所需的背景知識(shí),況且,轉(zhuǎn)換模型開發(fā)軟件現(xiàn)在還很費(fèi)時(shí)和昂貴!凈室根本思想是力求在分析和設(shè)計(jì)階段就消除錯(cuò)誤,確保正確,然后在無缺陷或“潔凈〞的狀態(tài)下實(shí)現(xiàn)軟件的制作。8.哪些開發(fā)模型適用于面向?qū)ο蟮能浖_發(fā)?答:構(gòu)件集成模型9.比較螺旋模型和構(gòu)件集成模型的異同。答:構(gòu)件集成模型利用預(yù)先對(duì)封裝好的軟件構(gòu)件來構(gòu)造應(yīng)用軟件系統(tǒng),它融合了螺旋模型的很多特征,支持軟件開發(fā)的迭代方法。第三章1.需求分析的任務(wù)是什么?怎樣理解分析階段的任務(wù)是決定“做什么〞,而不是“怎么做〞?答:需求分析主要有兩個(gè)任務(wù):第一是通過對(duì)問題及其環(huán)境的理解、分析和綜合建立分析模型;第二是在完全弄清用戶對(duì)軟件系統(tǒng)確實(shí)切要求的根底上,用“軟件需求規(guī)格說明書〞把用戶的需求表達(dá)出來。需求分析的任務(wù)就是為了明確要開發(fā)的是一個(gè)什么樣的系統(tǒng),而不是去怎么去實(shí)現(xiàn)這個(gè)系統(tǒng)。2.需求分析要經(jīng)過哪些步驟?答:需求獲取、需求提煉、需求描述、需求驗(yàn)證。3.有哪兩種主要的分析模型,它們有什么聯(lián)系?答:面向?qū)ο蠓治瞿P汀⒔Y(jié)構(gòu)化分析模型。前者是采用面向?qū)ο蟮乃枷脒M(jìn)行軟件需求分析的建模過程,而后者模型的核心是DD,它是設(shè)計(jì)各種數(shù)據(jù)對(duì)象的總和。他們的模型分別起到了描述數(shù)據(jù)模型,功能模型與行為模型的作用。4.什么是結(jié)構(gòu)化分析?它的“結(jié)構(gòu)化〞表達(dá)在哪里?答:是使用DFD、DD、結(jié)構(gòu)化語言、判定表和判定樹等工具,來建立一種新的、稱為結(jié)構(gòu)化說明書的目標(biāo)文檔。5.什么是面向?qū)ο蠓治觯科渲饕枷胧鞘裁???OOA面向?qū)ο蟮姆治鍪遣捎妹嫦驅(qū)ο蟮乃枷脒M(jìn)行軟件需求分析建模的過程.主要思想是采用面向?qū)ο蟮乃枷搿?.需求說明〔或需求規(guī)格說明書〕由哪些局部組成?各局部的主要內(nèi)容是什么?答:7.為什么DFD要分層?畫分層DFD要遵循哪些原那么?答:大型復(fù)雜的軟件系統(tǒng),其DFD可能含有數(shù)百乃至數(shù)千個(gè)加工,不能設(shè)想一次就將它們?nèi)慨孆R。正確的做法是:從系統(tǒng)的根本模型〔把整個(gè)系統(tǒng)看成一個(gè)加工〕開始,逐層地對(duì)系統(tǒng)進(jìn)行分解。原那么:由頂向下,逐

溫馨提示

  • 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. 人人文庫網(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)論