軟件工程導論(第五版)張海藩課后答案_第1頁
軟件工程導論(第五版)張海藩課后答案_第2頁
軟件工程導論(第五版)張海藩課后答案_第3頁
軟件工程導論(第五版)張海藩課后答案_第4頁
軟件工程導論(第五版)張海藩課后答案_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 軟件工程概論1什么是軟件危機?軟件危機是是指在計算機機軟件的開發(fā)發(fā)和維護過程程中所遇到的的一系列嚴重重問題。這些些問題表現(xiàn)在在以下幾個方方面:(1)用用戶對開發(fā)出出的軟件很難難滿意。(2)軟軟件產(chǎn)品的質(zhì)質(zhì)量往往靠不不住。(3)一一般軟件很難難維護。(4)軟軟件生產(chǎn)效率率很低。(5)軟軟件開發(fā)成本本越來越大。(6)軟軟件成本與開開發(fā)進度難以以估計。(7)軟軟件技術(shù)的發(fā)發(fā)展遠遠滿足足不了計算機機應用的普及及與深入的需需要。2為什么會產(chǎn)產(chǎn)生軟件危機機?(1) 開開發(fā)人員方面面,對軟件產(chǎn)產(chǎn)品缺乏正確確認識,沒有有真正理解軟軟件產(chǎn)品是一一個完整的配配置組成。造造成開發(fā)中制制定計劃盲目目、編程草率

2、率,不考慮維維護工作的必必要性。 (2) 軟軟件本身方面面,對于計算算機系統(tǒng)來說說,軟件是邏邏輯部件,軟軟件開發(fā)過程程沒有統(tǒng)一的的、公認的方方法論和規(guī)范范指導,造成成軟件維護困困難。(3) 尤尤其是隨著軟軟件規(guī)模越來來越大,復雜雜程度越來越越高,原有軟軟件開發(fā)方式式效率不高、質(zhì)質(zhì)量不能保證證、成本過高高、研制周期期不易估計、維維護困難等一一系列問題更更為突出,技技術(shù)的發(fā)展已已經(jīng)遠遠不能能適應社會需需求。3怎樣克服軟軟件危機?(1) 充充分吸收和借借鑒人類長期期以來從事各各種工程項目目中積累的行行之有效的有有效原理、概概念、技術(shù)與與方法,特別別是吸取幾十十年來人類從從事計算機硬硬件研究和開開發(fā)的

3、經(jīng)驗教教訓。在開發(fā)發(fā)軟件的過程程中努力作到到良好的組織織,嚴格的管管理,相互友友好的協(xié)作。(2) 推推廣在實踐中中總結(jié)出來的的開發(fā)軟件的的成功的技術(shù)術(shù)和方法,并并研究更好、更更有效的技術(shù)術(shù)和方法,盡盡快克服在計計算機系統(tǒng)早早期發(fā)展階段段形成的一些些錯誤概念和和作法。(3) 根根據(jù)不同的應應用領(lǐng)域,開開發(fā)更好的軟軟件工具并使使用這些工具具。將軟件開開發(fā)各個階段段使用的軟件件工具集合成成一個整體,形形成一個很好好的軟件開發(fā)發(fā)支環(huán)環(huán)境??傊疄榱私鉀Q軟軟件危機,既既要有技術(shù)措措施(方法和和工具),又又要有必要的的組織管理措措施。4.構(gòu)成軟件項項目的最終產(chǎn)產(chǎn)品:應用程序、系系統(tǒng)程序、面面向用戶的文文檔資

4、料和面面向開發(fā)者的的文檔資料。5什么是軟件件生存周期?軟件生存周周期是指從軟軟件定義、開開發(fā)、使用、維維護到淘汰的的全過程。6軟件生存周周期為什么劃劃分成階段? (1) 任任何一個階段段的具體任務務不僅獨立,而而且簡單,便便于不同人員員分工協(xié)作,從從而降低整個個軟件開發(fā)工工作的困難程程度。(2) 可可以降低每個個階段任務的的復雜程度,簡簡化不同階段段的聯(lián)系,有有利于工程的的組織管理,也也便于采用良良好的技術(shù)方方法。(3) 使使軟件開發(fā)的的全過程以一一種有條不紊紊的方式進行行,保證軟件件的質(zhì)量,特特別是提高了了軟件的可維維護性。7應該怎樣來來劃分階段?(1)每一一個階段的任任務盡可能獨獨立;(2

5、)同一一階段內(nèi)的任任務性質(zhì)盡可可能相同;(3)每一一個階段任務務的開始和結(jié)結(jié)束有嚴格的的標準。8軟件開發(fā)模模型有幾種?它們的開發(fā)發(fā)方法有可特特點?軟件開發(fā)模模型有瀑布型型、漸增型和和變換型。瀑布型開發(fā)發(fā)方法是按照照軟件生存周周期的劃分依依次實施,每每一個階段有有明確規(guī)定的的任務。它的的特點:(1)各各個階段的順順序性和依賴賴性;(2)劃劃分邏輯設計計與物理設計計,盡可能推推遲程序的物物理實現(xiàn);(3)每每個階段必須須完成規(guī)定的的文檔,對其其中問題通過過復審及早發(fā)發(fā)現(xiàn),及早解解決。漸增型開發(fā)發(fā)方法及特點點:(1) 從部分需求求出發(fā),先建建立一個不完完全的系統(tǒng),通通過測試運行行該系統(tǒng)取得得經(jīng)驗和信息

6、息反饋,加深深對軟件需求求的理解,進進一步使系統(tǒng)統(tǒng)擴充和完善善。如此反復復,直至軟件件人員和用戶戶對所設計完完成的軟件系系統(tǒng)滿意為止止。(2) 在漸增型開開發(fā)下的軟件件是隨軟件開開發(fā)的過程而而逐漸形成的的。(3) 漸增型開發(fā)發(fā)方法適合于于知識型軟件件的開發(fā),設設計系統(tǒng)時對對用戶需求的的認識開始不不是很清楚的的,需要在開開發(fā)過程中不不斷認識、不不斷獲得新的的知識去豐富富和完善系統(tǒng)統(tǒng)。多數(shù)研究究性質(zhì)的試驗驗軟件,一般般采用此方法法。變換型開發(fā)發(fā)方法及特點點:(1)從從軟件需求的的形式化規(guī)格格說明出發(fā),經(jīng)經(jīng)過一系列的的程序變換,得得到最終的程程序系統(tǒng)。(2)該該方法必須有有嚴格的數(shù)學學理論和形式式化

7、技術(shù)的支支持。9.什么是軟件件工程?軟件工程是是指導計算機機軟件開發(fā)和和維護的工程程學科。(1) 它采用工程程的概念、原原理、技術(shù)和和方法來開發(fā)發(fā)和維護軟件件;(2) 它將管理技技術(shù)與當前經(jīng)經(jīng)過時間考驗驗的而證明是是正確的技術(shù)術(shù)方法結(jié)合起起來;(3) 它強調(diào)使用用生存周期方方法學和結(jié)構(gòu)構(gòu)分析和結(jié)構(gòu)構(gòu)技術(shù);(4) 經(jīng)過人們長長期的努力和和探索,圍繞繞著實現(xiàn)軟件件優(yōu)質(zhì)高產(chǎn)這這個目標,從從技術(shù)到管理理兩個方面做做了大量的努努力,逐漸形形成了軟件件工程學這這一新的學科科。10什么是軟軟件工程環(huán)境境:方法與工具的結(jié)結(jié)合,加上配配套的軟、硬硬件支持稱為為軟件工程環(huán)環(huán)境。它能支支持開發(fā)者按按照軟件工程程的方

8、法,全全面完成生存存周期中的各各項任務。第二章可行性性研究習題題答案1. 問題定義義的任務和主主要工作?問題定義的的任務:將用用戶提出的要要求具體化、定定量化;確定定研制系統(tǒng)的的范圍,明確確研制的邊界界。問題定義階階段的工作:(1) 通通過調(diào)查研究究,了解系統(tǒng)統(tǒng)需求;(2) 確確定系統(tǒng)的功功能需求、性性能需求、可可靠性需求、安安全及保密性性、資源、開開發(fā)費用及開開發(fā)進度等的的需求;(3) 問問題定義階段段的產(chǎn)品-系統(tǒng)目標與與范圍說明書書。2.可行性研究究目的?確定在問題題定義中所提提出的問題是是否值得去解解,在限制條條件下,問題題能否解決。3可行性研究究的任務?(1) 進進一步分析和和澄清問題

9、的的定義,在澄澄清問題的基基礎(chǔ)上,導出出系統(tǒng)的邏輯輯模型;(2) 從從系統(tǒng)邏輯模模型中,選擇擇問題的若干干種主要解法法,研究每一一種解法的可可行性,為以以后的行動提提出建議;(3) 如如果問題沒有有可行的解,建建議停止系統(tǒng)統(tǒng)開發(fā);如果果問題有可行行的解,應該該推薦一個較較好的解決方方案,并為工工程制定一個個初步的計劃劃。4可行性研究究包括哪幾方方面的內(nèi)容?(1)技術(shù)術(shù)可行性:現(xiàn)現(xiàn)有技術(shù)能否否實現(xiàn)本系統(tǒng)統(tǒng),現(xiàn)有技術(shù)術(shù)人員能否勝勝任,開發(fā)系系統(tǒng)的資源能能否滿足;(2)經(jīng)濟濟可行性:經(jīng)經(jīng)濟效益是否否超出開發(fā)成成本;(3)操作作可行性:系系統(tǒng)操作在用用戶內(nèi)部行得得通嗎?(4)法律律可行性:新新系統(tǒng)開發(fā)

10、是是否會侵犯他他人、集體或或國家利益,是是否違反國家家法律。5可行性研究究的步驟?(1)復查查系統(tǒng)的規(guī)模模和目標;(2)研究究目前正在使使用的系統(tǒng),總總結(jié)現(xiàn)有系統(tǒng)統(tǒng)的優(yōu)劣,提提出新系統(tǒng)的的雛形;(3)導出出新系統(tǒng)的高高層邏輯模型型;(4)推薦薦建議方案; (5)推薦薦行動方針;(6)書寫寫計劃任務書書(可行性報報告); (7)提交交審查。6. 可行性研研究報告的主主要內(nèi)容?可行性分析析的結(jié)果是可可行性研究報報告,內(nèi)容包包括:(1) 系系統(tǒng)概述:說說明開發(fā)的系系統(tǒng)名稱,提提出單位和開開發(fā)單位。(2) 可可行性研究的的前提:系統(tǒng)統(tǒng)目標;要求求;約束和限限制;可行性性研究的基本本準則等。(3) 對對

11、現(xiàn)有系統(tǒng)的的分析:處理理流程,圖示示說明現(xiàn)有系系統(tǒng)的處理流流程和數(shù)據(jù)流流程;現(xiàn)有系系統(tǒng)存在的問問題。 (4) 系系統(tǒng)需求:主主要功能;主主要性能及其其要求;操作作要求;信息息要求;限制制性要求。(5) 建建議系統(tǒng):系系統(tǒng)目標;處處理流程;系系統(tǒng)結(jié)構(gòu),功功能,性能;系統(tǒng)技術(shù)可可行性;投資資和效益分析析;操作可行行性;法律可可行性。(6) 其其它可選方案案:與國內(nèi)外外同類型方案案的比較;提提出一兩個可可行性方案供供論證和探討討。(7) 制制定下一階段段的預算。(8) 結(jié)結(jié)論性意見:由用戶方、設設計方和投資資方共同簽署署意見。第三章需求分分析習題答答案1.需求分析的的描述工具有有哪些?有數(shù)據(jù)流圖圖、

12、數(shù)據(jù)字典典、判定表、判判定樹、結(jié)構(gòu)構(gòu)化自然語言言、層次方框框圖、Warrnier圖圖、IPO圖圖和需求描述述語言等。2.需求分析的的基本任務是是什么?準確定義未未來系統(tǒng)的目目標,確定為為了滿足用戶戶的需要系統(tǒng)統(tǒng)必須做什么么。3.怎樣建立目目標系統(tǒng)的邏邏輯模型?要要經(jīng)過哪些步步驟?建立目標系系統(tǒng)的邏輯模模型的過程也也就是數(shù)據(jù)流流圖的分解過過程。它的導導出過程如圖圖: 4.什么是結(jié)構(gòu)構(gòu)化分析?它它的結(jié)構(gòu)化體體現(xiàn)在哪里?結(jié)構(gòu)化分析析:使用數(shù)據(jù)據(jù)流程圖、數(shù)數(shù)據(jù)字典、結(jié)結(jié)構(gòu)化英語、判判定表和判定定樹等工具,來來建立一種新新的、稱為結(jié)結(jié)構(gòu)化說明書書的目標文檔檔-需求規(guī)格格說明書。結(jié)構(gòu)化體現(xiàn)現(xiàn)在將軟件系系統(tǒng)

13、抽象為一一系列的邏輯輯加工單元,各單元之間間以數(shù)據(jù)流發(fā)發(fā)生關(guān)聯(lián)。5.軟件需求規(guī)規(guī)格說明書由由哪些部分組組成?組成包括:(1) 引引言:編寫目目的、背景說說明、術(shù)語定定義及參考資資料等。(2) 概概述主要功能能、約束條件件或特殊需求求。(3) 數(shù)數(shù)據(jù)流圖與數(shù)數(shù)據(jù)字典。(4) 用用戶接口、硬硬件接口及軟軟件接口。(5) 性性能需求、屬屬性等。(6) 其其它需求,如如數(shù)據(jù)庫、操操作及故障處處理等。6.為什么數(shù)據(jù)據(jù)流圖要分層層?畫分層的的DFD要遵遵循哪些原則則?分層的目的的:便于逐步步細化、結(jié)構(gòu)構(gòu)清晰。畫分層的DDFD要遵循循哪些原則:(1)父圖圖與子圖之間間數(shù)據(jù)要平衡衡。(2)分解解的深度和層層次

14、達到使加加工足夠簡單單、易于理解解的基本加工工為止。(3)區(qū)分分局部文件和和局部外部項項(局限于數(shù)數(shù)據(jù)流中某一一層或某幾層層的文件和外外部項)。(4)不要要把控制流作作為數(shù)據(jù)流。(5)忽略略瑣碎的枝節(jié)節(jié)。(6)每個個數(shù)據(jù)流要有有一個合適的的名字,盡量量使用現(xiàn)實系系統(tǒng)中有具體體意義的名字字。7.系統(tǒng)流程圖圖與數(shù)據(jù)流程程圖有什么區(qū)區(qū)別?系統(tǒng)流程圖圖描述系統(tǒng)物物理模型的工工具,數(shù)據(jù)流流程圖描述系系統(tǒng)邏輯模型型的工具。系統(tǒng)流程圖圖從系統(tǒng)功能能的角度抽象象的描述系統(tǒng)統(tǒng)的各個部分分及其相互之之間信息流動動的情況。數(shù)據(jù)流程圖圖從數(shù)據(jù)傳送送和加工的角角度抽象的描描述信息在系系統(tǒng)中的流動動和數(shù)據(jù)處理理的工作狀況

15、況。8.數(shù)據(jù)字典包包括哪些內(nèi)容容?它的作用用是什么?數(shù)據(jù)字典是是描述數(shù)據(jù)流流圖中數(shù)據(jù)的的信息的集合合。它對數(shù)據(jù)據(jù)流圖上每一一個成分:數(shù)數(shù)據(jù)項、文件件(數(shù)據(jù)結(jié)構(gòu)構(gòu))、數(shù)據(jù)流流、數(shù)據(jù)存儲儲、加工和外外部項等給以以定義和說明明;它主要由由數(shù)據(jù)流描述述、加工描述述和文件描述述三部分組成成。對用戶來來講,數(shù)據(jù)字字典為他們提提供了數(shù)據(jù)的的明確定義;對系統(tǒng)分析析員來講,數(shù)數(shù)據(jù)字典幫助助他們比較容容易修改已建建立的系統(tǒng)邏邏輯模型。9.描述加工邏邏輯的工具有有哪些?有決策樹(又稱判定樹樹)、決策表表(又稱判斷斷表)和結(jié)構(gòu)構(gòu)化語言等。10.某單位擬擬開發(fā)一個計計算機房產(chǎn)管管理系統(tǒng),要要求系統(tǒng)具有有分房、 調(diào)調(diào)房、

16、退房和和查詢統(tǒng)計等等功能。房產(chǎn)產(chǎn)科將用戶申申請表輸入系系統(tǒng) 后,系系統(tǒng)首先檢查查申請表的合合法性,對不不合法的申請請表,系統(tǒng)拒拒絕接收;對對合法的申請請表根據(jù)類型型分別進行處處理。 (1) 如如果是分房申申請,則根據(jù)據(jù)申請者的情情況(年齡、工工齡、職稱、職職務、家庭人人口等)計算算其分數(shù),當當分數(shù)高于閥閥值分數(shù)時,按按分數(shù)高低將將申請單插到到分房隊列的的適當位置。在在進行分房時時,從空房文文件中讀出空空房信息,如如房號、面積積、等級、單單位面積房租租等,把好房房優(yōu)先分給排排在分房隊列列前面的符合合該等級房條條件的申請者者;從空房文文件中刪掉這這個房號的信信息,并從分分房隊列中刪刪掉該申請單單,

17、再把此房房號的信息和和住戶信息一一起寫到住房房文件中,輸輸出住房分配配單給住戶,同同時計算房租租,并將算出出的房租寫到到房租文件中中。 (2) 如如果是退房申申請,則從住住房文件和房房租文件中刪刪除有關(guān)信息息,再把此房房號的信息寫寫到空房文件件中。(3) 如如果是調(diào)房申申請,則根據(jù)據(jù)申請者的情情況確定其住住房等級,然然后在空房文文件中查找屬屬于該等級的的空房,退掉掉原住房,再再進行與分房房類似的處理理。 (4) 住住戶可以向系系統(tǒng)查詢目前前分房的閥值值分數(shù),居住住某類房屋的的條件,某房房號的單位面面積及房租等等信息。房產(chǎn)產(chǎn)科可以要求求系統(tǒng)打印住住房情況的統(tǒng)統(tǒng)計表,或更更改某類房屋屋的居住條件件

18、、單位面積積和房租等。用數(shù)據(jù)流圖圖描繪該系統(tǒng)統(tǒng)的功能需求求;在數(shù)據(jù)字字典中給出主主要的數(shù)據(jù)流流、文件和加加工說明。 參考第四章4.5應用舉例例教案之二分分析。 第四章 總體設設計習題答答案1. 系統(tǒng)設計計包括哪兩個個階段?系統(tǒng)設計包包括總體設計計與詳細設計計兩個階段。2. 總體設計計的主要任務務是什么?總體設計的的主要任務是是完成軟件結(jié)結(jié)構(gòu)的設計,確定系統(tǒng)的的模塊及其模模塊之間的關(guān)關(guān)系。3. 什么是模模塊?模塊具具有哪幾個特特征?總體設設計主要考慮慮什么特征?模塊是數(shù)據(jù)據(jù)說明、可執(zhí)執(zhí)行語句等程程序?qū)ο蟮募希梢詥螁为毭铱煽赏ㄟ^名字來來訪問。模塊具有輸輸入和輸出(參數(shù)傳遞)、功能、內(nèi)內(nèi)部

19、數(shù)據(jù)結(jié)構(gòu)構(gòu)(局部變量量)和程序代代碼四個特性性。概要設計主主要考慮輸入入、輸出(參參數(shù)傳遞)和和功能兩個特特性。4. 什么是模模塊化?模塊塊設計的準則則?模塊化是按按規(guī)定的原則則將一個大型型軟件劃分為為一個個較小小的、相對獨獨立但又相關(guān)關(guān)的模塊。模塊設計的的準則:(1) 改改進軟件結(jié)構(gòu)構(gòu), 提高模模塊獨立性:在對初步模模塊進行合并并、分解和移移動的分析、精精化過程中力力求提高模塊塊的內(nèi)聚,降降低藕合。(2) 模模塊大小要適適中:大約550行語句的的代碼,過大大的模塊應分分解以提高理理解性和可維維護性;過小小的模塊,合合并到上級模模塊中。(3) 軟軟件結(jié)構(gòu)圖的的深度、寬度度、扇入和扇扇出要適當。

20、一一般模塊的調(diào)調(diào)用個數(shù)不要要超過5個。(4) 盡盡量降低模塊塊接口的復雜雜程度;(5) 設設計單入口、單單出口的模塊塊。(6) 模模塊的作用域域應在控制域域之內(nèi)。5. 變換型數(shù)數(shù)據(jù)流由哪幾幾部分組成?變換型結(jié)構(gòu)構(gòu)由三部分組組成:傳入路路徑、變換(加工)中心心和傳出路徑徑。6. 變換分析析設計的步驟驟?(1) 區(qū)區(qū)分傳入、傳傳出和變換中中心三部分,劃劃分DFD圖圖的分界線;(2) 完完成第一級分分解:建立初初始SC圖的的框架;(3) 完完成第二級分分解:分解SSC圖的各個個分支;(4) 對對初始結(jié)構(gòu)圖圖按照設計準準則進行精化化與改進。7. 事務型數(shù)數(shù)據(jù)流由哪幾幾部分組成?事務型結(jié)構(gòu)構(gòu)由至少一條條

21、接受路徑、一一個事務中心心與若干條動動作路徑組成成。8. 事務分析析設計的步驟驟?(1) 在在DFD圖中中確定事務中中心、接收部部分(包含全全部接收路徑徑)和發(fā)送部部分(包含全全部動作路徑徑);(2) 畫畫出SC圖框框架,把DFFD圖的三部部分分?quuot;映射射為事務控控制模塊,接接收模塊和動動作發(fā)送模塊塊.一般得到到SC圖的頂頂層和第一層層(如果第一一層簡單可以以并入頂層);(3) 分分解和細化接接收分支和動動作分支,完完成初始的SSC圖;(4) 對對初始結(jié)構(gòu)圖圖按照設計準準則進行精化化與改進。9. 比較層次次方框圖與結(jié)結(jié)構(gòu)圖是的異異同?(1) 層層次方框圖描描繪數(shù)據(jù)的層層次結(jié)構(gòu), 結(jié)構(gòu)

22、圖描繪繪的是軟件結(jié)結(jié)構(gòu)。(2) 二二者都采用多多層次矩形框框樹形結(jié)構(gòu)。層層次方框圖的的頂層矩形框框代表完整的的數(shù)據(jù)結(jié)構(gòu), 下面各層層矩形框依次次代表上個框框數(shù)據(jù)的子集集;結(jié)構(gòu)圖是在層次次圖的每一個個方框內(nèi)注明明模塊的名字字或主要功能能,方框之間間的直線表示示模塊的調(diào)用用關(guān)系,用帶帶注解的箭頭頭表示模塊調(diào)調(diào)用過程中傳傳遞的信息。10.欲開發(fā)一一個銀行的活活期存取款業(yè)業(yè)務的處理系系統(tǒng):儲戶將將填好的存/取款單和存存折交給銀行行工作人員,然然后由系統(tǒng)作作以下處理;(1)業(yè)務務分類處理:系統(tǒng)首先根根據(jù)儲戶所填填的存/取款款單,確定本本次業(yè)務的性性質(zhì),并將存存/取款單和和存折交下一一步處理;(2)存款款

23、處理:系統(tǒng)統(tǒng)將存款單上上的存款金額額分別記錄在在存折和帳目目文件中,并并將現(xiàn)金存入入現(xiàn)金庫;最最后將存折還還給儲戶;(3)取款款處理:系統(tǒng)統(tǒng)將取款單上上的取款金額額分別記錄在在存折和帳目目文件中,并并從現(xiàn)金庫提提取現(xiàn)金;最最后將現(xiàn)金和和存折還給儲儲戶。繪制該系統(tǒng)統(tǒng)的數(shù)據(jù)流圖圖和軟件結(jié)構(gòu)構(gòu)圖。 頂層一層二層 軟件結(jié)構(gòu)圖圖第五章 習題參參考答案一.回答問題1.詳細設計的的目的?為軟件結(jié)構(gòu)圖(SC圖或HHC圖)中的的每一個模塊塊確定采用的的算法和塊內(nèi)內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定定的表達工具具給出清晰的的描述.2.詳細設計的的主要任務?編寫軟件的“詳詳細設計說明明書”.軟件人員員要完成的工工作:(1) 為每

24、每一個模塊確確定采用的算算法, 選擇擇某種適當?shù)牡墓ぞ弑磉_算算法的過程,寫出模塊的的詳細過程描描述.(2) 確定定每一模塊使使用的數(shù)據(jù)結(jié)結(jié)構(gòu).(3) 確定定模塊結(jié)構(gòu)的的細節(jié),包括括對系統(tǒng)外部部的接口和用用戶界面,對對系統(tǒng)內(nèi)部其其它模塊的接接口,以及關(guān)關(guān)于模塊輸入入數(shù)據(jù)、輸出出數(shù)據(jù)及局部部數(shù)據(jù)的全部部細節(jié).(4) 為每每一個模塊設設計出一組測測試用例,以以便在編碼階階段對模塊代代碼(即程序序)進行預定定的測試.3.結(jié)構(gòu)化程序序設計的基本本原則?在詳細設計中所所有模塊都使使用單入口、單單出口的順序序、選擇、循循環(huán)三種基本本控制結(jié)構(gòu). 4.比較面向數(shù)數(shù)據(jù)流和面向向數(shù)據(jù)結(jié)構(gòu)兩兩類設計方法法的異同?相同

25、點:(1) 遵守守結(jié)構(gòu)程序設設計“由頂向下”逐步細化的的原則,并以以其為共同的的基礎(chǔ);(2) 均服服從“程序結(jié)構(gòu)必必須適應問題題結(jié)構(gòu)”的基本原則則,各自擁有有從問題結(jié)構(gòu)構(gòu)(包括數(shù)據(jù)據(jù)結(jié)構(gòu))導出出程序結(jié)構(gòu)的的一組映射規(guī)規(guī)則。不同點:(1) 面向向數(shù)據(jù)流的設設計以數(shù)據(jù)流流圖為基礎(chǔ),在在分析階段用用DFD表示示軟件的邏輯輯模型,在設設計階段按數(shù)數(shù)據(jù)流類型,將將數(shù)據(jù)流圖轉(zhuǎn)轉(zhuǎn)換為軟件結(jié)結(jié)構(gòu)。面向數(shù)數(shù)據(jù)結(jié)構(gòu)的設設計以數(shù)據(jù)結(jié)結(jié)構(gòu)為基礎(chǔ),從從問題的數(shù)據(jù)據(jù)結(jié)構(gòu)出發(fā)導導出它的程序序結(jié)構(gòu)。(2) 面向向數(shù)據(jù)流的設設計的最終目目標是軟件的的最終SC圖圖,面向數(shù)據(jù)據(jù)結(jié)構(gòu)的設計計的最終目標標是程序的過過程性描述。5.比較

26、Jacckson方方法和LCPP方法的異同同? Jacksonn與LCP設設計方法都是是以數(shù)據(jù)結(jié)構(gòu)構(gòu)為出發(fā)點,以以程序的過程程描述為最終終目標,設計計步驟基本相相似。它們的的主要差別是是:(1)使用不同同的表達工具具,其中LCCP方法中的的表達工具WWarnieer圖 比比Jacksson設計方方法中的表達達工具Jacckson圖圖有更大的通通用性;(2)Jackkson方法法的步驟和指指導原則有一一定的靈活性性,而LCPP設計 方方法則更加嚴嚴密。6.詳細設計的的描述工具應應具備什么功功能?無論哪類描述工工具不僅要具具有描述設計計過程,如控控制流程、處處理功能、數(shù)數(shù)據(jù)組織及其其它方面的細細節(jié)

27、的能力,而且在編碼碼階段能夠直直接將它翻譯譯為用程序設設計語言書寫寫的源程序。 二.給出一組數(shù)數(shù)從小到大的的排序算法,分分別用下列工工具描述其詳詳細過程:(1)(1) 流程圖圖;(2)NNS圖;(33)PAD圖圖;(4)PPDL語言。 PDL語言略略三.根據(jù)后面面給出“卡片的分類類及統(tǒng)計”項目說明,完完成下列工作作: (1)用用Jacksson圖表示示輸入與輸出出數(shù)據(jù)結(jié)構(gòu),找找出它們之間間的對應單元元; (2)畫畫出用Jacckson圖圖表示的程序序結(jié)構(gòu); (3)列列出程序所需需用的操作,并并加到上一步步畫出的程序序結(jié)構(gòu)圖上; (4)用用Jacksson偽代碼碼寫出程序的的過程表示。 輸入卡片

28、分析程程序。一疊輸輸入卡片按內(nèi)內(nèi)容分為K11、K2、KK3三類,卡卡片的排列規(guī)規(guī)則是:以KK1卡始,以以K2卡終。起起始卡之前屬屬前置部分,不含K1卡卡;起始卡與與終了卡之間間屬分批部分分,不含K22卡。如圖: 試用Jacksson方法編編一程序,要要求依次完成成下列分析工工作: -統(tǒng)計起始始卡前卡片的的張數(shù),存入入A; -打印起始始卡的內(nèi)容; -統(tǒng)計起始始卡后出現(xiàn)的的K1卡和KK3卡總批數(shù)數(shù),存入B; -統(tǒng)計起始始卡后出現(xiàn)的的K1卡的張張數(shù),存入CC; -統(tǒng)計起始始卡后出現(xiàn)的的K3卡的批批數(shù),存入DD; -打印終了了卡的內(nèi)容; -打印A、BB、C、D四四個統(tǒng)計值。程序的過程表示示及偽代碼略略

29、第六章 習題題參考答案1. 編碼的任務務?使用選定的程序序設計語言,把把模塊的過程程性描述翻譯譯為用語言書書寫的源程序序(源代碼)。 2. 對源程序基基本要求?源程序要求:正正確可靠、簡簡明清晰、效效率高。(1) 源程序的正正確性是對程程序質(zhì)量的最最基本要求;(2) 源程序的簡簡明清晰,便便于驗證源代代碼和模塊規(guī)規(guī)格說明的一一致性,容易易進行測試和和維護;(3) 對于大多數(shù)數(shù)模塊,編碼碼時應該把簡簡明清晰放在在第一位;(4) 除了編碼階階段產(chǎn)生源代代碼外,在測測試階段也需需要編寫一些些測試程序,用用于對軟件的的測試。3. 程序設計語語言的特點?(1) 名字字說明:程序序中使用對象象的名字,能能

30、為編譯程序序所檢查和識識別;(2) 類型型說明:定義義對象的類型型,確定該對對象的使用方方式;(3) 初始始化:為變量量提供適當?shù)牡某跏贾祷蛴捎上到y(tǒng)給變量量賦一特殊的的表明未初始始化的值;(4) 對象象的局部性:程序中真正正需要的那部部分才能訪問問的對象;(5) 程序序模塊:控制制程序?qū)ο蟮牡拿郑?6) 循環(huán)環(huán)控制結(jié)構(gòu):如FOR語語句、WHIILE-DOO語句、REEPEAT-UNTILL語句等;(7) 分支支控制結(jié)構(gòu):如IF語句句、CASEE語句等;(8) 異常常處理:為程程序運行過程程中發(fā)生的錯錯誤和意外事事件提供檢測測和處理上的的幫助;(9) 獨立立編譯:能分分別編譯各個個程序單元。4

31、. 選擇程序設設計語言需要要考慮的因素素?(1) 選擇用戶熟熟悉、便于用用戶維護的語語言。(2) 選擇目標系系統(tǒng)的環(huán)境中中可以提供的的編譯程序所所能選用的語語言。(3) 選擇可以得得到的軟件工工具,能支持持程序開發(fā)中中可以利用的的語言。(4) 根據(jù)工程規(guī)規(guī)模的大小、目目標系統(tǒng)應用用范圍,如實實時應用選擇擇Ada語言言或匯編語言言,系統(tǒng)軟件件開發(fā)選擇CC語言或匯編編語言,軟件件開發(fā)中若含含有大量數(shù)據(jù)據(jù)操作則選擇擇SQL、ddBASE等等數(shù)據(jù)庫語言言等。(5) 選擇程序員員熟悉的語言言。(6) 選擇標準化化程度高、程程序可移植性性好的語言。(7) 根據(jù)算法與與計算的復雜雜性、數(shù)據(jù)結(jié)結(jié)構(gòu)的復雜性性選

32、擇。如對對于系統(tǒng)程序序和結(jié)構(gòu)復雜雜的應用程序序,選擇支持持數(shù)組、記錄錄(或結(jié)構(gòu))與指針動態(tài)態(tài)數(shù)據(jù)結(jié)構(gòu)的的Pascaal語言或CC語言。(8) 根據(jù)實時要要求系統(tǒng)需要要的響應速度度和效率選擇擇相應的語言言。5. 編碼風格的的指導原則。(1) 源程序:包包括適當?shù)臉藰俗R符、適當當?shù)淖⒔?、程程序清單的合合理布局與清清晰;(2) 數(shù)據(jù)說明:數(shù)據(jù)結(jié)構(gòu)或或數(shù)據(jù)類型的的說明次序標標準化;變量量名稱盡量有有意義;對復復雜的數(shù)據(jù)結(jié)結(jié)構(gòu)在注解中中要說明在程程序設計中實實現(xiàn)這個數(shù)據(jù)據(jù)結(jié)構(gòu)的方法法。(3) 語句的構(gòu)造造簡單明了:不要為節(jié)省省空間將多個個語句寫在同同一行;盡量量避免復雜的的條件及“非”條件的測試試;避免

33、大量量使用循環(huán)嵌嵌套和條件嵌嵌套;括號的的使用是為了了使邏輯表達達式和算術(shù)表表達式的運算算順序清晰直直觀。(4) 效率:考慮慮程序運行的的時間存儲器器效率、輸入入/輸出的效效率;在處理理程序正確性性、清晰與效效率之間的關(guān)關(guān)系時先求程程序正確后求求快;先求清清楚后求快;保持程序簡簡單以求快;書寫清楚,不為“效率”犧牲清晰。6. 第四代語言言(4GL)應具備哪些些的特征?(1) 具有很強的的數(shù)據(jù)管理能能力,能對數(shù)數(shù)據(jù)庫進行有有效的存取、查查詢和其它有有關(guān)操作;(2) 能提供一組組高效的、非非過程化的命命令,組成語語言的基本語語句,編程時時用戶只需用用這些命令說說明“做什么”,不必描述述實現(xiàn)的細節(jié)節(jié)

34、;(3) 能滿足多功功能、一體化化的要求。為為此,語言中中除必須含有有控制程序邏邏輯與實現(xiàn)數(shù)數(shù)據(jù)庫操作的的語句外,還還應包括生成成與處理報表表、表格、圖圖形,以及實實現(xiàn)數(shù)據(jù)運算算和分析統(tǒng)計計功能的各種種語句,共同同構(gòu)成一個一一體化的語言言,以適應多多種應用開發(fā)發(fā)的需要。第七章 習題題參考答案一.回答問題 1.軟件件測試的基本本任務?軟件測試是按照照特定的規(guī)則則,發(fā)現(xiàn)軟件件錯誤的過程程;好的測試試方案是盡可可能發(fā)現(xiàn)迄今今尚未發(fā)現(xiàn)錯錯誤的測試;成功的測試試方案是發(fā)現(xiàn)現(xiàn)迄今尚未發(fā)發(fā)現(xiàn)錯誤的測測試; 2.測試試與調(diào)試的主主要區(qū)別?(1) 測試試從一個側(cè)面面證明程序員員的失?。徽{(diào)調(diào)試證明程序序員的正確;

35、(2) 測試試從已知條件件開始,使用用預先定義的的程序,且有有預知的結(jié)果果,不可預見見的僅是程序序是否通過測測試;調(diào)試從不可知知內(nèi)部條件開開始,除統(tǒng)計計性調(diào)試外,結(jié)結(jié)果是不可預預見的;(3) 測試試有計劃并且且要進行測試試設計;調(diào)試試不受時間約約束;(4) 測試試是發(fā)現(xiàn)錯誤誤、改正錯誤誤、重新測試試的過程;調(diào)調(diào)試是一個推推理的過程;(5) 測試試執(zhí)行是有規(guī)規(guī)程的;調(diào)試試執(zhí)行要求程程序員進行必必要的推理;(6) 測試試由獨立的測測試組在不了了解軟件設計計的件下完成成;調(diào)試由了解詳詳細設計的程程序員完成;(7) 大多多數(shù)測試的執(zhí)執(zhí)行和設計可可由工具支持持;調(diào)試用的工具具主要是調(diào)試試器。 3.人工工

36、復審的方式式和作用?人工復審的方式式:代碼會審審、走查和排排練和辦公桌桌檢查;人工復審的作用用:檢查程序序的靜態(tài)錯誤誤。 4.什么么是黑盒測試試?黑盒測試試主要采用的的技術(shù)有哪些些?黑盒測試也稱為為功能測試,它著眼于程程序的外部特特征,而不考考慮程序的內(nèi)內(nèi)部邏輯結(jié)構(gòu)構(gòu)。測試者把把被測程序看看成一個黑盒盒,不用關(guān)心心程序的內(nèi)部部結(jié)構(gòu)。黑盒盒測試是在程程序接口處進進行測試,它它只檢查程序序功能是否能能按照規(guī)格說說明書的規(guī)定定正常使用,程程序是否能適適當?shù)亟邮蛰斴斎霐?shù)據(jù)產(chǎn)生生正確的輸出出信息,并且且保持外部信信息(如數(shù)據(jù)據(jù)庫或文件)的完整性。黑盒測試主要采采用的技術(shù)有有:等價分類類法、邊沿值值分析法

37、、錯錯誤推測法和和因果圖等技技術(shù)。 5.什么么是白盒測試試?白盒測試試主要采用的的技術(shù)有哪些些?測試者了解被測測程序的內(nèi)部部結(jié)構(gòu)和處理理過程,對程程序的所有邏邏輯路徑進行行測試,在不不同點檢查程程序狀態(tài),確確定實際狀態(tài)態(tài)與預期狀態(tài)態(tài)是否一致。白盒測試主要采采用的技術(shù)有有:路徑測試試技術(shù)和事務務處理流程技技術(shù),對包含含有大量邏輯輯判斷或條件件組合的程序序采用基于邏邏輯的測試技技術(shù)。 6.路徑徑測試技術(shù)中中幾種主要覆覆蓋的含義?舉例說明?語句覆蓋:至少少執(zhí)行程序中中所有語句一一次。 判定覆蓋:使被被測程序中的的每一個分支支至少執(zhí)行一一次。故也稱稱為分支覆蓋蓋。條件覆蓋:執(zhí)行行所有可能的的穿過程序的

38、的控制路流程程。條件組合測試:設計足夠的的測試用例,使使每個判定中中的所有可能能條件取值組組合至少執(zhí)行行一次。(例略) 7.等價價分類法的測測試技術(shù)采用用的一般方法法?舉例說明明?(1) 為每每個等價類編編號;(2) 設計計一個新的測測試方案,以以盡可能多的的覆蓋尚未被被覆蓋的有效效等價類,重重復這一步驟驟,直到所有有有效等價類類被覆蓋為止止。(3) 設計計一個新的測測試方案,使使它覆蓋一個個尚未被覆蓋蓋的無效等價價類, 重復復這一步驟,直到所有無無效等價類被被覆蓋為止。(例略) 8.軟件件測試的一般般步驟?單元測試、子系系統(tǒng)測試、系系統(tǒng)測試、驗驗收測試、平平行測試。 9.比較較集成試的兩兩種

39、方式的優(yōu)優(yōu)劣?非漸增式測試方方式:分別測測試模塊,再再把所有模塊塊按設計要求求放在一起組組成所要的程程序。該方法法編寫測試軟軟件工作量大大,模塊間的的接口錯誤發(fā)發(fā)現(xiàn)得晚,錯錯誤定位較難難診斷,總體體測試有的錯錯誤容易漏掉掉,測試時間間相對較少,可可以并行測試試所有模塊,能能充分利用人人力,加快工工程進度。漸增式測試方式式:把下一個個要測試的模模塊,同已經(jīng)經(jīng)測試好的那那些模塊結(jié)合合起來進行測測試。該方法法利用已測試試過的模塊作作測試軟件,開銷小,較較早發(fā)現(xiàn)模塊塊間的接口錯錯誤,錯誤定定位往往和最最近入的模塊塊相關(guān),對已已測試好的模模塊可在新加加入模塊的條條件下受到新新的檢驗,測測試更徹底,需需要

40、較多的測測試時間,不不能并行測試試??偟膩碚f,漸增增式測試方法法比較好。 10.軟件件測試的策略略?(1) 在任任何情況下都都應使用邊界界值分析的方方法。(2) 必要要時用等價類類劃分法補充充測試方案。(3) 必要要時再用錯誤誤推測法補充充測試方案。(4) 對照照程序邏輯,檢檢查已設計出出的測試方案案。(5) 根據(jù)據(jù)對程序可靠靠性的要求采采用不同的邏邏輯覆蓋標準準,再補充一一些測試方案案。二.某電力公司司有A、B、CC、D共四類類收費標準,并并規(guī)定,居民民用電每月2200度以下下按A類收費費, 2000度以上按BB類收費。動動力電以每月月1萬度為分分界,非高峰峰用電不足11萬度按B類類收費,達

41、到到或超過1萬萬度按C類收收費。高峰用用電不足1萬萬度按C類收收費,達到或或超過1萬度度按D類收費費。試用基于于邏輯的測試試方法為它設設計足夠的測測試用例實現(xiàn)現(xiàn)條件組合的的完全覆概。規(guī)則號123456居民用電200度以下Y200度以上Y動力用電非高峰1萬度以下Y1萬度以上Y高峰1萬度以下Y1萬度以上Y收費標準A類B類C類D類測試用例用電類型輸入數(shù)據(jù)預期結(jié)果居民用電90度/月A110度/月B動力用電非高峰8000度/月月B12000度/月C高峰9000度/月月C11000度/月D三.如圖顯示某某程序的邏輯輯結(jié)構(gòu)。 試為它設設計足夠的測測試用例,分分別實現(xiàn)對程程序的判定覆覆概、條件覆覆概和條件組組

42、合覆概。設計測試方案覆蓋種類需滿足的條件測試數(shù)據(jù)期望結(jié)果判定覆蓋A1,B=00A=2,B=00執(zhí)行S1A1,B00或A1,B=00或A1,B00A=2,B=11或A=1,B=00或A=1,B=11執(zhí)行S2條件覆蓋以下四種情況各各出現(xiàn)一次A1B=0A=2,B=00執(zhí)行S1A1B0A=1,B=11執(zhí)行S2條件組合覆蓋A1,B=00A=2,B=00執(zhí)行S1A1,B00A=2,B=11執(zhí)行S2A1,B=00A=1,B=00執(zhí)行S2A1,B00A=1,B=11執(zhí)行S2四.某城市電話話號碼由三部部分組成。它它們的名稱和和內(nèi)容分別是是: 地區(qū)區(qū)碼:空白或或三位數(shù)字; 前 綴:非0或1的三位數(shù)字字; 后 綴:

43、4位位數(shù)字。 假定定被測程序能能接受一切符符合上述規(guī)定定的電話號碼碼,拒絕所有有不符合規(guī)定定的電話號碼碼。根據(jù)該程程序的規(guī)格說說明,作等價價類的劃分,并并設計測試方方案。 1.劃分等等價類輸入條件有效等價類無效等價類地區(qū)碼1.空白;2.三位數(shù);1. 有非數(shù)字字字符;2.少少于三位數(shù)字字;3.多于三位數(shù)數(shù)字。前 綴3.從200到到999之間間的三位4.有非數(shù)字字字符;5.起起始位為0;6.起始位為1; 7.少于于三位數(shù)字;8.多于三位數(shù)數(shù)字。后 綴4.四位數(shù)字。9.有非數(shù)字字字符;10.少于四位數(shù)數(shù)字;11.多于四位位數(shù)字。設計測試方案方案內(nèi)容輸 入預期輸出地區(qū)碼前綴后綴1空白2009999之間

44、的三位位數(shù)字四位數(shù)字( )2776-23445有效2三位數(shù)字四位數(shù)字(635)8005-93221有效3有非數(shù)字字符(20A)7223-45667無效4少于三位數(shù)字(33 )2334-56778無效5多于三位數(shù)字(5555)3345-67789無效6有非數(shù)字字符(345)5AA2-34556無效7起始位為0(345)0112-34556無效8起始位為1(345)1332-34556無效9少于三位數(shù)字(345) 992-34556無效10多于三位數(shù)字(345)45562-34456無效11有非數(shù)字字符(345)3442-3A56無效12少于四位數(shù)字(345)3442- 3556無效13多于四位數(shù)

45、字(345)5662-345567無效第八章 軟件維維護習題答答案1.為什么說軟軟件的維護是是不可避免的的?因為軟件的的開發(fā)過程中中,一般很難難檢測到所有有的錯誤,其其次軟件在應應用過程中需需要隨用戶新新的要求或運運行環(huán)境的變變化而進行軟軟件的修改或或完成功能的的增刪等,為為了提高軟件件的應用水平平和使用壽命命,軟件的維維護是不可避避免的。2.軟件的維護護一般分為哪哪幾類?改正性維護護:滿足用戶戶對已開發(fā)產(chǎn)產(chǎn)品的性能與與運行環(huán)境不不斷提高的要要求,進而達達到延長軟件件壽命的目的的。適應性維護護:對程序使使用期間發(fā)現(xiàn)現(xiàn)的程序錯誤誤進行診斷和和改正的過程程,配合變化化了的環(huán)境進進行修改軟件件的活動

46、;完善性維護護:滿足用戶戶在使用過程程中提出增加加新的功能或或修改已有功功能的建議而而進行的工作作; 預防性維護護:為了改善善未來的可維維護性或可靠靠性而修改軟軟件的工作。3.影響軟件維維護的因素有有哪些?開發(fā)方法:采用模塊化化詳細設計文文檔有助于理理解軟件的結(jié)結(jié)構(gòu)、界面功功能和內(nèi)部流流程;開發(fā)過過程中嚴格而而科學的管理理規(guī)劃及清晰晰可靠的文檔檔資料對發(fā)生生錯誤后的理理解與糾錯是是至關(guān)重要的的;開發(fā)過程程中模塊的獨獨立程度越高高,對軟件修修改越容易,對對軟件的改進進和移植越方方便。開發(fā)條件:軟件開發(fā)及及維護人員的的水平?jīng)Q定了了軟件開發(fā)的的質(zhì)量和維護護的效率;開開發(fā)過程中使使用標準的程程序設計語

47、言言和標準的操操作系統(tǒng)接口口,可以大大大提高軟件的的可維護性;在測試過程程中用例的有有效性,可極極大地減少軟軟件存在的錯錯誤;其次使使用規(guī)范化的的文檔資料可可為維護提供供更好的依據(jù)據(jù)。 4.軟件維護困困難主要表現(xiàn)現(xiàn)在什么方面面?(1) 一一般來講,維維護人員對開開發(fā)人員寫的的程序及文檔檔,理解都比比較困難,對對維護工作不不會喜歡;(2) 維維護持續(xù)時間間都很長,在在開發(fā)人員不不在現(xiàn)場的輕輕快下,維護護軟件通常是是很困難的;(3) 絕絕大多數(shù)軟件件在設計時對對將來的軟件件修改都沒有有考慮或考慮慮不多,尤其其未能在設計計中強調(diào)并認認真解決好模模塊的獨立性性,使軟件的的修改既困難難又易發(fā)生差差錯。5

48、.決定軟件可可維護性的因因素?(1) 軟軟件的可理解解性、可測試試性、可修改改性; (2) 文文檔描述符合合要求、用戶戶文檔簡潔明明確、系統(tǒng)文文檔完整并且且標準。6.軟件價格應應該計入維護護成本嗎?為為什么?在軟件的生生命周期中,軟軟件維護的工工作量非常大大,不同應用用領(lǐng)域的維護護成本差別也也很大。一般般大型軟件的的維護成本遠遠遠高于開發(fā)發(fā)成本若干倍倍。因此軟件件價格中應該該計入維護成成本。7.對前面各章章中分析的各各應用系統(tǒng),提提出改進和擴擴充功能的要要求?(1) 教教材銷售采購購系統(tǒng);(2) 圖圖書管理系統(tǒng)統(tǒng);(3) 房房產(chǎn)管理系統(tǒng)統(tǒng)。(略)第九章 軟件工工程管理習習題答案1.軟件工程管管

49、理的內(nèi)容?(1) 費費用管理: 對軟件開發(fā)發(fā)進行成本核核算,使軟件件生產(chǎn)按照商商品生產(chǎn)的規(guī)規(guī)律辦事。包包括:以簡單單、科學方法法估算軟件開開發(fā)費用,作作為簽定開發(fā)發(fā)合同的根據(jù)據(jù);管理開發(fā)發(fā)費用的有效效使用,即用用經(jīng)濟手段來來保證產(chǎn)品如如期按質(zhì)完成成。(2) 質(zhì)質(zhì)量管理: 按項目的質(zhì)質(zhì)量保證計劃劃,確保各個個開發(fā)階段的的開發(fā)和維護護工作全部按按軟件工程的的規(guī)范進行,保證軟件產(chǎn)產(chǎn)品的質(zhì)量。(3) 配配置管理:通通過對于程序序、文檔和數(shù)數(shù)據(jù)的各種版版本所進行的的管理,保證證資料的完整整性與一致性性。(4) 項項目管理:制制定項目實實施計劃,按按照計劃的內(nèi)內(nèi)容組織和實實施軟件的工工程化生產(chǎn)。最最終目標

50、是以以合理的費用用和進度,圓圓滿完成計劃劃所規(guī)定的軟軟件項目。2.軟件項目有有哪些特點?(1) 軟軟件項目與其其他任何產(chǎn)業(yè)業(yè)項目不同,它它是算法、思思想、概念、組組織、流程、效效率、優(yōu)化等等的融合體;(2) 開開發(fā)軟件項目目產(chǎn)品,在多多數(shù)情況下,用戶給不出出明確的想法法和要求。(3) 在在開發(fā)過程中中,程序及其其相關(guān)的文檔檔資料常常需需要修改,在在修改過程中中又可能帶來來新的問題,且且這些問題要要在很久以后后才會發(fā)現(xiàn)。(4) 在在研制開發(fā)過過程中,文檔檔資料是不可可缺少的,但但工作量又是是巨大的,往往往也是人們們不愿去作的的。(5) 參參加軟件項目目的工作人員員,要求具有有一定的業(yè)務務水平和實

51、際際工作經(jīng)驗,而而很難完全避避免的人員流流動,對工作作的影響是很很大的。離開開的人員不僅僅帶走了重要要的信息,而而且?guī)ё吡斯すぷ鹘?jīng)驗。3.軟件成本估估算的一般方方法?自頂向下估估計: 首先先估算出項目目總的開發(fā)成成本,然后在在項目內(nèi)部進進行成本分配配。由少數(shù)專專家參與,依依靠他們過去去的經(jīng)驗,將將要開發(fā)的軟軟件與過去開開發(fā)過的軟件件進行類比比,以估計計新的軟件開開發(fā)所需要的的工作量和成成本。自底向上估估計: 將開開發(fā)任務分成成若干子任務務,子任務又又分成子子任任務,直到每每一個單元內(nèi)內(nèi)容足夠明確確為止;把各各個任務單元元的成本估計計出來,匯合合成項目的總總成本。該方方法得到的結(jié)結(jié)果比較接近近實

52、際。4.為什么在軟軟件開發(fā)中,不不能用簡單增增加人員的方方法來縮短開開發(fā)時間? 大量軟件開開發(fā)實踐說明明:向一個已已經(jīng)延遲的項項目追加開發(fā)發(fā)人員,可能能使它完成得得更晚。因為為當開發(fā)人員員以算術(shù)級數(shù)數(shù)增長時,而而人員之間的的通信將以幾幾何級數(shù)增長長,往往得得不償失。5.影響軟件質(zhì)質(zhì)量的主要因因素有哪些?(1) 產(chǎn)產(chǎn)品運行:正正確性、風險險性、效率、完完整性、健壯壯性和可用性性;(2) 產(chǎn)產(chǎn)品修改:可可理解性、可可維護性、靈靈活性、可測測試性;(3) 產(chǎn)產(chǎn)品轉(zhuǎn)移:可可移植性、可可重用性和互互運行性。6.本章第四節(jié)節(jié)的例子是某某個軟件項目目的PERTT圖。(1)找出出關(guān)鍵路徑和和完成項目的的最早時

53、間;(2)標出出每項活動的的最早起止時時間與最遲起起止時間。 (見該章教教案舉例)7.將上題的內(nèi)內(nèi)容改用Gaantt圖來來表示。(見該章教教案舉例)第十章 軟件工工程環(huán)境習習題答案1.軟件工具是是什么?按照照軟件生存周周期可將其分分為幾類?軟件工具是是指為支持計計算機軟件及及其文檔的開開發(fā)、維護、模模擬、移植或或管理而研制制的程序系統(tǒng)統(tǒng)。按照軟件件生存周期可可將其分為如如下幾類: (1) 需需求分析:如如數(shù)據(jù)流圖繪繪制與分析工工具、狀態(tài)轉(zhuǎn)轉(zhuǎn)換圖繪制與與分析工具、面面向?qū)ο蟮哪DP秃头治龉すぞ?、快速原原型?gòu)造工具具、數(shù)據(jù)字典典與數(shù)據(jù)庫工工具等。(2) 軟軟件設計:如如HIPO圖圖、PDL(程序設計語語言)或PAAD(問題分分析圖)支持持工具等。(3) 編編碼:集成化化的程序員工工作平臺。如如各種正文編編輯器和常規(guī)規(guī)的編譯程序序、匯編程序序、連結(jié)程序序及符號調(diào)試試器等。(4) 軟軟件測試:如如靜態(tài)分析器器、動態(tài)覆蓋蓋率測試器、測測試用例生成成器、測試報報告生成器及及環(huán)境模擬器器等。(5) 軟軟件維護:如如反匯編程序序、反編譯程程序、程序結(jié)結(jié)構(gòu)分析器、源源程序格式化化工具、文檔檔生成工具、源源程序至PAAD(問題分分析圖)或流流程圖的自動動轉(zhuǎn)換工具等等。2.

溫馨提示

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

評論

0/150

提交評論