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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、軟件開發(fā)模模型有幾種?它們的開發(fā)發(fā)方法有可特特點?軟件開發(fā)模型有有瀑布型、漸漸增型和變換換型。瀑布型開發(fā)方法法是按照軟件件生存周期的的劃分依次實實施,每一個個階段有明確確規(guī)定的任務務。它的特點點:(1)各個階段段的順序性和和依賴性;(2)劃分邏輯輯設計與物理理設計,盡可可能推遲程序序的物理實現(xiàn)現(xiàn);(3)每個階段段必須完成規(guī)規(guī)定的文檔,對對其中問題通通過復審及早早發(fā)現(xiàn),及早早解決。漸增型開發(fā)方法法及特點:從部分需求出發(fā)發(fā),先建立一一個不完全的的系統(tǒng),通過過測試運行該該系統(tǒng)取得經(jīng)經(jīng)驗和信息反反饋,加深對對軟件需求的的理解,進一一步使系統(tǒng)擴擴充和完善。如如此反復,直直至軟件人員員和用戶對所所設計完成

6、的的軟件系統(tǒng)滿滿意為止。在漸增型開發(fā)下下的軟件是隨隨軟件開發(fā)的的過程而逐漸漸形成的。漸增型開發(fā)方法法適合于知識識型軟件的開開發(fā),設計系系統(tǒng)時對用戶戶需求的認識識開始不是很很清楚的,需需要在開發(fā)過過程中不斷認認識、不斷獲獲得新的知識識去豐富和完完善系統(tǒng)。多多數(shù)研究性質質的試驗軟件件,一般采用用此方法。變換型開發(fā)方法法及特點:(1)從軟件需需求的形式化化規(guī)格說明出出發(fā),經(jīng)過一一系列的程序序變換,得到到最終的程序序系統(tǒng)。 (2)該方法必須須有嚴格的數(shù)數(shù)學理論和形形式化技術的的支持。9.什么是軟件件工程?軟件工程是指導導計算機軟件件開發(fā)和維護護的工程學科科。它采用工程的概概念、原理、技技術和方法來來開

7、發(fā)和維護護軟件;它將管理技術與與當前經(jīng)過時時間考驗的而而證明是正確確的技術方法法結合起來;它強調使用生存存周期方法學學和結構分析析和結構技術術;經(jīng)過人們長期的的努力和探索索,圍繞著實實現(xiàn)軟件優(yōu)質質高產這個目目標,從技術術到管理兩個個方面做了大大量的努力,逐漸形成了了”軟件工程學學”這一新的學學科。10什么是軟軟件工程環(huán)境境:方法與工具的結結合,加上配配套的軟、硬硬件支持稱為為軟件工程環(huán)環(huán)境。它能支持開發(fā)者按按照軟件工程程的方法,全全面完成生存存周期中的各各項任務。第二章 習題參參考答案 1. 問問題定義的任任務和主要工工作?問題定義的任務務:將用戶提提出的要求具具體化、定量量化;確定研研制系統(tǒng)

8、的范范圍,明確研研制的邊界。問題定義階階段的工作:通過調查研究,了了解系統(tǒng)需求求;確定系統(tǒng)的功能能需求、性能能需求、可靠靠性需求、安安全及保密性性、資源、開開發(fā)費用及開開發(fā)進度等的的需求;問題定義階段的的產品系統(tǒng)目標標與范圍說明明書。2.可行性研究究目的? 確定在問問題定義中所所提出的問題題是否值得去去解,在限制制條件下,問問題能否解決決。3可行性研究究的任務?進一步分析和澄澄清問題的定定義,在澄清清問題的基礎礎上,導出系系統(tǒng)的邏輯模模型;從系統(tǒng)邏輯模型型中,選擇問問題的若干種種主要解法,研研究每一種解解法的可行性性,為以后的的行動提出建建議;如果問題沒有可可行的解,建建議停止系統(tǒng)統(tǒng)開發(fā);如果

9、果問題有可行行的解,應該該推薦一個較較好的解決方方案,并為工工程制定一個個初步的計劃劃。4可行性研究究包括哪幾方方面的內容?(1)技術可行行性:現(xiàn)有技技術能否實現(xiàn)現(xiàn)本系統(tǒng),現(xiàn)現(xiàn)有技術人員員能否勝任,開開發(fā)系統(tǒng)的資資源能否滿足足;(2)經(jīng)濟可行行性:經(jīng)濟效效益是否超出出開發(fā)成本;(3)操作可行行性:系統(tǒng)操操作在用戶內內部行得通嗎嗎?(4)法律可行行性:新系統(tǒng)統(tǒng)開發(fā)是否會會侵犯他人、集集體或國家利利益,是否違違反國家法律律。5可行性研究究的步驟?(1)復查系統(tǒng)統(tǒng)的規(guī)模和目目標;(2)研究目前前正在使用的的系統(tǒng),總結結現(xiàn)有系統(tǒng)的的優(yōu)劣,提出出新系統(tǒng)的雛雛形;(3)導出新系系統(tǒng)的高層邏邏輯模型;(4)

10、推薦建議議方案; (5)推薦行動動方針;(6)書寫計劃劃任務書(可行性報告告); (7)提交審查查。6. 可行性研研究報告的主主要內容?可行性分析的結結果是可行性性研究報告,內容包括:系統(tǒng)概述:說明明開發(fā)的系統(tǒng)統(tǒng)名稱,提出出單位和開發(fā)發(fā)單位??尚行匝芯康那扒疤?系統(tǒng)目標;要求;約束束和限制;可可行性研究的的基本準則等等。對現(xiàn)有系統(tǒng)的分分析:處理流程,圖圖示說明現(xiàn)有有系統(tǒng)的處理理流程和數(shù)據(jù)據(jù)流程;現(xiàn)有有系統(tǒng)存在的的問題。系統(tǒng)需求:主要要功能;主要要性能及其要要求;操作要要求;信息要要求;限制性性要求。建議系統(tǒng):系統(tǒng)統(tǒng)目標;處理理流程;系統(tǒng)統(tǒng)結構,功能能,性能;系系統(tǒng)技術可行行性;投資和和效益分析

11、;操作可行性性;法律可行行性。其它可選方案:與國內外同同類型方案的的比較;提出出一兩個可行行性方案供論論證和探討。制定下一階段的的預算。結論性意見:由由用戶方、設設計方和投資資方共同簽署署意見。第三章 習題答答案1.需求分析的的描述工具有有哪些?有數(shù)據(jù)流圖、數(shù)數(shù)據(jù)字典、判判定表、判定定樹、結構化化自然語言、層層次方框圖、WWarnieer圖、IPPO圖和需求求描述語言等等。2.需求分析的的基本任務是是什么?準確定義未來系系統(tǒng)的目標,確確定為了滿足足用戶的需要要系統(tǒng)必須做做什么。3.怎樣建立目目標系統(tǒng)的邏邏輯模型?要要經(jīng)過哪些步步驟?建立目標系統(tǒng)的的邏輯模型的的過程也就是是數(shù)據(jù)流圖的的分解過程。

12、它它的導出過程程如圖: 繼續(xù)分分解 有補補充修正用戶復查細 化數(shù)據(jù)流圖分析追蹤數(shù)據(jù)流圖 無補充修修正 用戶復查細 化數(shù)據(jù)流圖分析追蹤數(shù)據(jù)流圖4.什么是結構構化分析?它它的結構化體體現(xiàn)在哪里?結構化分析:使使用數(shù)據(jù)流程程圖、數(shù)據(jù)字字典、結構化化英語、判定定表和判定樹樹等工具,來來建立一種新新的、稱為結結構化說明書書的目標文檔檔需求規(guī)格說說明書。結構化體現(xiàn)在將將軟件系統(tǒng)抽抽象為一系列列的邏輯加工工單元,各單單元之間以數(shù)數(shù)據(jù)流發(fā)生關關聯(lián)。5.軟件需求規(guī)規(guī)格說明書由由哪些部分組組成?組成包括:引言:編寫目的的、背景說明明、術語定義義及參考資料料等。概述主要功能、約約束條件或特特殊需求。數(shù)據(jù)流圖與數(shù)據(jù)據(jù)

13、字典。用戶接口、硬件件接口及軟件件接口。性能需求、屬性性等。其它需求,如數(shù)數(shù)據(jù)庫、操作作及故障處理理等。6.為什么數(shù)據(jù)據(jù)流圖要分層層?畫分層的的DFD要遵遵循哪些原則則?分層的目的:便便于逐步細化化、結構清晰晰。畫分層的DFDD要遵循哪些些原則:(1)父圖與子子圖之間數(shù)據(jù)據(jù)要平衡。 (2)分解解的深度和層層次達到使加加工足夠簡單單、易于理解解的基本加工工為止。 (3)區(qū)分分局部文件和和局部外部項項(局限于數(shù)數(shù)據(jù)流中某一一層或某幾層層的文件和外外部項)。 (4)不要要把控制流作作為數(shù)據(jù)流。 (5)忽略略瑣碎的枝節(jié)節(jié)。 (6)每個個數(shù)據(jù)流要有有一個合適的的名字,盡量量使用現(xiàn)實系系統(tǒng)中有具體體意義的

14、名字字。7.系統(tǒng)流程圖圖與數(shù)據(jù)流程程圖有什么區(qū)別?系統(tǒng)流程圖描述述系統(tǒng)物理模模型的工具,數(shù)數(shù)據(jù)流程圖描描述系統(tǒng)邏輯輯模型的工具具。系統(tǒng)流程圖從系系統(tǒng)功能的角角度抽象的描描述系統(tǒng)的各各個部分及其其相互之間信信息流動的情情況。數(shù)據(jù)流程圖從數(shù)數(shù)據(jù)傳送和加加工的角度抽抽象的描述信信息在系統(tǒng)中中的流動和數(shù)數(shù)據(jù)處理的工工作狀況。8.數(shù)據(jù)字典包包括哪些內容容?它的作用用是什么?數(shù)據(jù)字典是描述述數(shù)據(jù)流圖中中數(shù)據(jù)的信息息的集合。它它對數(shù)據(jù)流圖圖上每一個成成分:數(shù)據(jù)項項、文件(數(shù)據(jù)結構)、數(shù)據(jù)流、數(shù)數(shù)據(jù)存儲、加加工和外部項項等給以定義義和說明;它它主要由數(shù)據(jù)據(jù)流描述、加加工描述和文文件描述三部部分組成。對對用戶來

15、講,數(shù)據(jù)字典為為他們提供了了數(shù)據(jù)的明確確定義;對系系統(tǒng)分析員來來講,數(shù)據(jù)字字典幫助他們們比較容易修修改已建立的的系統(tǒng)邏輯模模型。9.描述加工邏邏輯的工具有有哪些?有決策樹(又稱稱判定樹)、決決策表(又稱稱判斷表)和和結構化語言言等。10.某單位擬擬開發(fā)一個計計算機房產管管理系統(tǒng),要要求系統(tǒng)具有有分房、 調房、退退房和查詢統(tǒng)統(tǒng)計等功能。房房產科將用戶申請請表輸入系統(tǒng)統(tǒng) 后,系系統(tǒng)首先檢查查申請表的合合法性,對不不合法的申請請表,系統(tǒng)拒拒絕接收;對合法的的申請表根據(jù)據(jù)類型分別進進行處理。 如果是分房申請請,則根據(jù)申申請者的情況況(年齡、工工齡、職稱、職職務、家庭人人口等)計算算其分數(shù),當當分數(shù)高于

16、閥閥值分數(shù)時,按按分數(shù)高低將將申請單插到到分房隊列的的適當位置。在在進行分房時時,從空房文文件中讀出空空房信息,如如房號、面積積、等級、單單位面積房租租等,把好房房優(yōu)先分給排排在分房隊列列前面的符合合該等級房條條件的申請者者;從空房文文件中刪掉這這個房號的信信息,并從分分房隊列中刪刪掉該申請單單,再把此房房號的信息和和住戶信息一一起寫到住房房文件中,輸輸出住房分配配單給住戶,同同時計算房租租,并將算出出的房租寫到到房租文件中中。如果是退房申請請,則從住房房文件和房租租文件中刪除除有關信息,再再把此房號的的信息寫到空空房文件中。如果是調房申請請,則根據(jù)申申請者的情況況確定其住房房等級,然后后在空

17、房文件件中查找屬于于該等級的空空房,退掉原原住房,再進進行與分房類類似的處理。住戶可以向系統(tǒng)統(tǒng)查詢目前分分房的閥值分分數(shù),居住某某類房屋的條條件,某房號號的單位面積積及房租等信信息。房產科科可以要求系系統(tǒng)打印住房房情況的統(tǒng)計計表,或更改改某類房屋的的居住條件、單單位面積和房房租等。 用數(shù)數(shù)據(jù)流圖描繪繪該系統(tǒng)的功功能需求;在在數(shù)據(jù)字典中中給出主要的的數(shù)據(jù)流、文文件和加工說說明。 參考考第四章4.5應用舉例例教案之二分分析。 第四章 習題參參考答案系統(tǒng)設計包括哪哪兩個階段? 系統(tǒng)設計計包括總體設設計與詳細設設計兩個階段段??傮w設計的主要要任務是什么么?總體設計的主要要任務是完成成軟件結構的的設計,

18、確定定系統(tǒng)的模塊塊及其模塊之之間的關系。什么是模塊?模模塊具有哪幾幾個特征?總總體設計主要要考慮什么特特征? 模塊是數(shù)數(shù)據(jù)說明、可可執(zhí)行語句等等程序對象的的集合,可以以單獨命名且且可通過名字字來訪問。 模塊具有有輸入和輸出出(參數(shù)傳遞遞)、功能、內內部數(shù)據(jù)結構構(局部變量量)和程序代代碼四個特性性。概要設計主要考考慮輸入、輸輸出(參數(shù)傳傳遞)和功能能兩個特性。什么是模塊化?模塊設計的準準則?模塊化是按規(guī)定定的原則將一一個大型軟件件劃分為一個個個較小的、相相對獨立但又又相關的模塊塊。模塊設計的準則則:改進軟件結構, 提高模塊塊獨立性:在在對初步模塊塊進行合并、分分解和移動的的分析、精化化過程中力

19、求求提高模塊的的內聚,降低低藕合。模塊大小要適中中:大約500行語句的代代碼,過大的的模塊應分解解以提高理解解性和可維護護性;過小的的模塊,合并并到上級模塊塊中。軟件結構圖的深深度、寬度、扇扇入和扇出要要適當。一般般模塊的調用用個數(shù)不要超超過5個。盡量降低模塊接接口的復雜程程度;設計單入口、單單出口的模塊塊。模塊的作用域應應在控制域之之內。變換型數(shù)據(jù)流由由哪幾部分組組成?變換型結構由三三部分組成:傳入路徑、變變換(加工)中心和傳出出路徑。變換分析設計的的步驟?區(qū)分傳入、傳出出和變換中心心三部分,劃劃分DFD圖圖的分界線;完成第一級分解解:建立初始始SC圖的框框架;完成第二級分解解:分解SCC圖

20、的各個分分支;對初始結構圖按按照設計準則則進行精化與與改進。事務型數(shù)據(jù)流由由哪幾部分組組成?事務型結構由至至少一條接受受路徑、一個個事務中心與與若干條動作作路徑組成。事務分析設計的的步驟?在DFD圖中確確定事務中心心、接收部分分(包含全部部接收路徑)和發(fā)送部分分(包含全部部動作路徑);畫出SC圖框架架,把DFDD圖的三部分分分別”映射”為事務控制制模塊,接收收模塊和動作作發(fā)送模塊.一般得到SSC圖的頂層層和第一層(如果第一層層簡單可以并并入頂層);分解和細化接收收分支和動作作分支,完成成初始的SCC圖;對初始結構圖按按照設計準則則進行精化與與改進。比較層次方框圖圖與結構圖是是的異同?層次方框圖

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

22、下一步處理理; (2)存款處理:系統(tǒng)將存款款單上的存款款金額分別記記錄在存折和和帳目文件中中,并將現(xiàn)金金存入現(xiàn)金庫庫;最后將存存折還給儲戶戶; (3)取款處理:系統(tǒng)將取款款單上的取款款金額分別記記錄在存折和和帳目文件中中,并從現(xiàn)金金庫提取現(xiàn)金金;最后將現(xiàn)現(xiàn)金和存折還還給儲戶。繪制該系統(tǒng)的數(shù)數(shù)據(jù)流圖和軟軟件結構圖。 頂層存取款存取款業(yè)務系統(tǒng)存取單、存折儲戶儲戶存折一層存折、存款單存款存款處理存折、存款單.審查.審查分類儲戶 存存折、存取單單 帳目文件件 現(xiàn)金金帳儲戶 取款處理 存折取款處理存折 二層修改1B修改存折修改1B修改1A處理存款單合格存折存款單業(yè)務分類業(yè)務分類審查單據(jù)存取單 合格存取單

23、單 帳目文件件 現(xiàn)現(xiàn)金帳儲戶儲戶存折 存折折不合格單據(jù) 合合格存折取款單修改2B修改2A修改2B修改2A修改存折 處處理取款單 注:A文件帳帳目及存折;B現(xiàn)金帳軟件結構圖存取款業(yè)務系統(tǒng) 存取款業(yè)務系統(tǒng) 2 2獲得合理單據(jù)分類處理獲得合理單據(jù)分類處理 11 11 2,3 3 4 5取款處理退回審核單據(jù)輸入單據(jù)存款處理取款處理退回審核單據(jù)輸入單據(jù)存款處理4 5 4 4 55 5修改存折修改帳目文件修改現(xiàn)金帳 1 存取單單、存折 2修改存折修改帳目文件修改現(xiàn)金帳 3 不合格格單據(jù) 4合格存折折、存款單 5合格存折折、取款單 第五章 習題參參考答案一.回答問題1.詳細設計的的目的?為軟件結構圖(SC圖

24、或HHC圖)中的的每一個模塊塊確定采用的的算法和塊內內數(shù)據(jù)結構,用某種選定定的表達工具具給出清晰的的描述.2.詳細設計的的主要任務?編寫軟件的“詳詳細設計說明明書”.軟件人員員要完成的工工作:為每一個模塊確確定采用的算算法, 選擇擇某種適當?shù)牡墓ぞ弑磉_算算法的過程,寫出模塊的的詳細過程描描述.確定每一模塊使使用的數(shù)據(jù)結結構.確定模塊結構的的細節(jié),包括括對系統(tǒng)外部部的接口和用用戶界面,對對系統(tǒng)內部其其它模塊的接接口,以及關關于模塊輸入入數(shù)據(jù)、輸出出數(shù)據(jù)及局部部數(shù)據(jù)的全部部細節(jié).為每一個模塊設設計出一組測測試用例,以以便在編碼階階段對模塊代代碼(即程序序)進行預定定的測試.3.結構化程序序設計的基

25、本本原則?在詳細設計中所所有模塊都使使用單入口、單單出口的順序序、選擇、循循環(huán)三種基本本控制結構. 4.比較面向數(shù)數(shù)據(jù)流和面向向數(shù)據(jù)結構兩兩類設計方法法的異同?相同點:遵守結構程序設設計“由頂向下”逐步細化的的原則,并以以其為共同的的基礎;均服從“程序結結構必須適應應問題結構”的基本原則則,各自擁有有從問題結構構(包括數(shù)據(jù)據(jù)結構)導出出程序結構的的一組映射規(guī)規(guī)則。不同點:面向數(shù)據(jù)流的設設計以數(shù)據(jù)流流圖為基礎,在在分析階段用用DFD表示軟軟件的邏輯模模型,在設計計階段按數(shù)據(jù)據(jù)流類型,將將數(shù)據(jù)流圖轉轉換為軟件結結構。面向數(shù)數(shù)據(jù)結構的設設計以數(shù)據(jù)結結構為基礎,從從問題的數(shù)據(jù)據(jù)結構出發(fā)導導出它的程序序

26、結構 。面向數(shù)據(jù)流的設設計的最終目目標是軟件的的最終SC圖,面向向數(shù)據(jù)結構的的設計的最終終目標是程序序的過程性描描述。5.比較Jacckson方方法和LCPP方法的異同同? Jacksonn與LCP設設計方法都是是以數(shù)據(jù)結構構為出發(fā)點,以以程序的過程程描述為最終終目標,設計計步驟基本相相似。它們的的主要差別是是: (1)使使用不同的表表達工具,其其中LCP方方法中的表達達工具Warrnier圖圖 比比Jacksson設計方方法中的表達達工具Jacckson圖圖有更大的通通用性; (2)JJacksoon方法的步步驟和指導原原則有一定的的靈活性,而而LCP設計計 方方法則更加嚴嚴密。6.詳細設計

27、的的描述工具應應具備什么功功能?無論哪類描述工工具不僅要具具有描述設計計過程,如控控制流程、處處理功能、數(shù)數(shù)據(jù)組織及其其它方面的細細節(jié)的能力,而且在編碼碼階段能夠直直接將它翻譯譯為用程序設設計語言書寫寫的源程序。二.給出一組數(shù)數(shù)從小到大的的排序算法,分分別用下列工工具描述其詳詳細過程:流程圖;(2)NS圖;(33)PAD圖圖;(4)PPDL語言。輸入輸入ni=1Tm=jjnj=i+1FinA(j)A(m)FTm=1T輸出A(m)FS=A(i)A(i)=A(m)A(m)=SPDL語言略PAD圖PAD圖N-S圖m=im=iS=A(i)A(i)=A(m)A(m)=SPETURNi=1 TO n-1j

28、=i+1 TO nj=i+1 TO nm=jA(j) A(m)輸出輸出A(m)i=1 TO n-1S=A(i)A(i)=A(m)A(m)=Sj=i+1 TO nm=im=jA(j) A(m)TF三.根據(jù)后面給給出“卡片的分類類及統(tǒng)計”項目說明,完完成下列工作作: (1)用用Jacksson圖表示示輸入與輸出出數(shù)據(jù)結構,找找出它們之間間的對應單元元; (2)畫畫出用Jacckson圖圖表示的程序序結構; (3)列列出程序所需需用的操作,并并加到上一步步畫出的程序序結構圖上; (4)用用Jacksson偽代碼碼寫出程序的的過程表示。 輸入卡片分析程程序。一疊輸輸入卡片按內內容分為K11、K2、KK

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

30、構圖輸入卡片文件的數(shù)據(jù)結構圖輸入卡片文件輸入卡片文件終了卡(K2)分批部分起始卡(K1)前置部分非K1卡*K1批0K3批0批*ISK3卡*IK1卡*I打印文件打印文件終了卡內容起始卡內容ABCD統(tǒng)計值輸出卡片文件的數(shù)據(jù)結構圖上述兩個結構圖有三組對應單元:上述兩個結構圖有三組對應單元:頂層單元、起始卡單元和終了卡單元。按映射規(guī)則,可導出下頁程序結構圖。輸入卡片文件輸入卡片文件打印起始卡打印A、B、C、D處理批部分處理K1卡*處理K3批0處理K1批0處理批*處理K3卡*ISII打印終了卡處理前置部分處理K1卡*I由上步導出的程序結構圖將輸入與輸出中的兩模塊細將輸入與輸出中的兩模塊細化處理前置部分處

31、理K1卡*I 1統(tǒng)計張數(shù)處理K3批0處理K1批0處理批部分處理批*I 2S 3處理批類統(tǒng)計張數(shù)I 4處理K1卡*處理K3卡*I 5處理批體統(tǒng)計批數(shù)統(tǒng)計總批數(shù)程序的過程表示示及偽代碼略略第六章 習題題參考答案編碼的任務?使用選定的程序序設計語言,把把模塊的過程程性描述翻譯譯為用語言書書寫的源程序序(源代碼)。對源程序基本要要求?源程序要求:正正確可靠、簡簡明清晰、效效率高。源程序的正確性性是對程序質質量的最基本本要求;源程序的簡明清清晰,便于驗驗證源代碼和和模塊規(guī)格說說明的一致性性,容易進行行測試和維護護;對于大多數(shù)模塊塊,編碼時應應該把簡明清清晰放在第一一位;除了編碼階段產產生源代碼外外,在測

32、試階階段也需要編編寫一些測試試程序,用于于對軟件的測測試。程序設計語言的的特點?名字說明:程序序中使用對象象的名字,能能為編譯程序序所檢查和識識別;類型說明:定義義對象的類型型,確定該對對象的使用方方式;初始化:為變量量提供適當?shù)牡某跏贾祷蛴捎上到y(tǒng)給變量量賦一特殊的的表明未初始始化的值;對象的局部性:程序中真正正需要的那部部分才能訪問問的對象;程序模塊:控制制程序對象的的名字;循環(huán)控制結構:如FOR語句、WHIILE-DOO語句、REPPEAT-UUNTIL語語句等;分支控制結構:如IF語句、CASSE語句等;異常處理:為程程序運行過程程中發(fā)生的錯錯誤和意外事事件提供檢測測和處理上的的幫助;獨

33、立編譯:能分分別編譯各個個程序單元。選擇程序設計語語言需要考慮慮的因素?選擇用戶熟悉、便便于用戶維護護的語言。選擇目標系統(tǒng)的的環(huán)境中可以以提供的編譯譯程序所能選選用的語言。選擇可以得到的的軟件工具,能支持程序序開發(fā)中可以以利用的語言言。根據(jù)工程規(guī)模的的大小、目標標系統(tǒng)應用范范圍,如實時時應用選擇AAda語言或或匯編語言,系系統(tǒng)軟件開發(fā)發(fā)選擇C語言或匯編編語言,軟件件開發(fā)中若含含有大量數(shù)據(jù)據(jù)操作則選擇擇SQL、dBASEE等數(shù)據(jù)庫語語言等。選擇程序員熟悉悉的語言。選擇標準化程度度高、程序可可移植性好的的語言。根據(jù)算法與計算算的復雜性、數(shù)數(shù)據(jù)結構的復復雜性選擇。如如對于系統(tǒng)程程序和結構復復雜的應用

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

35、的運算算順序清晰直直觀。效率:考慮程序序運行的時間間存儲器效率率、輸入/輸出的效率率;在處理程程序正確性、清清晰與效率之之間的關系時時先求程序正正確后求快;先求清楚后后求快;保持持程序簡單以以求快;書寫寫清楚,不為“效率”犧牲清晰。第四代語言(44GL)應具具備哪些的特特征?具有很強的數(shù)據(jù)據(jù)管理能力,能能對數(shù)據(jù)庫進進行有效的存存取、查詢和和其它有關操操作;能提供一組高效效的、非過程程化的命令,組組成語言的基基本語句,編編程時用戶只只需用這些命命令說明“做什么”,不必描述述實現(xiàn)的細節(jié)節(jié);能滿足多功能、一一體化的要求求。為此,語語言中除必須須含有控制程程序邏輯與實實現(xiàn)數(shù)據(jù)庫操操作的語句外外,還應包

36、括括生成與處理理報表、表格格、圖形,以以及實現(xiàn)數(shù)據(jù)據(jù)運算和分析析統(tǒng)計功能的的各種語句,共共同構成一個個一體化的語語言,以適應應多種應用開開發(fā)的需要。 7.修修改右表中的的程序結構。改進如下程序的的結構 改進后的程程序結構:if (ABB) theen if (AB) theen if (XXY) tthen A:=B; B:=Y; else if (XXY) tthen elsee B:=Y; A:=X; elsse enndif; A:=X;else endiff; A=:B; endif;將如下的多出口口循環(huán)結構改改為單出口程程序結構 改進后的的單出口程序序結構WHILE CC1 DO e

37、xxit1:=falsee; exiit2:=ffalse;BEGIN WHILLE C1 AND (NOT eexit1) AND (NOT exit22) DO BEGGIN IFF C2 TTHEN GGOTO 220; IF C2 THHEN exxit1:=true; IFF C3 TTHEN GGOTO 330; IF C33 THENN exitt2:=trrue; ENND; 20:codde forr C2 eexit END ; GOTOO 40; IF (exitt1) TTHEN GGOTO 220; 30:code for CC3 exiit IF (exitt2)

38、TTHEN GGOTO 330;40: 200:codde forr C2 eexitGOTO 400;30:codde forr C3 eexit40:第七章 習題題參考答案一.回答問題 1.軟件件測試的基本本任務?軟件測試是按照照特定的規(guī)則則,發(fā)現(xiàn)軟件件錯誤的過程程;好的測試試方案是盡可可能發(fā)現(xiàn)迄今今尚未發(fā)現(xiàn)錯錯誤的測試;成功的測試試方案是發(fā)現(xiàn)現(xiàn)迄今尚未發(fā)發(fā)現(xiàn)錯誤的測測試; 2.測試試與調試的主主要區(qū)別?測試從一個側面面證明程序員員的失敗;調調試證明程序序員的正確;測試從已知條件件開始,使用用預先定義的的程序,且有有預知的結果果,不可預見見的僅是程序序是否通過測測試;調試從不可知知內部條件

39、開開始,除統(tǒng)計計性調試外,結結果是不可預預見的;測試有計劃并且且要進行測試試設計;調試試不受時間約約束;測試是發(fā)現(xiàn)錯誤誤、改正錯誤誤、重新測試試的過程;調調試是一個推推理的過程;測試執(zhí)行是有規(guī)規(guī)程的;調試試執(zhí)行要求程程序員進行必必要的推理;測試由獨立的測測試組在不了了解軟件設計計的件下完成成;調試由了解詳詳細設計的程程序員完成;大多數(shù)測試的執(zhí)執(zhí)行和設計可可由工具支持持;調試用的工具具主要是調試試器。 3.人工工復審的方式式和作用?人工復審的方式式:代碼會審審、走查和排排練和辦公桌桌檢查;人工復審的作用用:檢查程序序的靜態(tài)錯誤誤。 4.什么么是黑盒測試試?黑盒測試試主要采用的的技術有哪些些?黑盒

40、測試也稱為為功能測試,它著眼于程程序的外部特特征,而不考考慮程序的內內部邏輯結構構。測試者把把被測程序看看成一個黑盒盒,不用關心心程序的內部部結構。黑盒盒測試是在程程序接口處進進行測試,它它只檢查程序序功能是否能能按照規(guī)格說說明書的規(guī)定定正常使用,程程序是否能適適當?shù)亟邮蛰斴斎霐?shù)據(jù)產生生正確的輸出出信息,并且且保持外部信信息(如數(shù)據(jù)據(jù)庫或文件)的完整性。黑盒測試主要采采用的技術有有:等價分類類法、邊沿值值分析法、錯錯誤推測法和和因果圖等技技術。 5.什么么是白盒測試試?白盒測試試主要采用的的技術有哪些些?測試者了解被測測程序的內部部結構和處理理過程,對程程序的所有邏邏輯路徑進行行測試,在不不同

41、點檢查程程序狀態(tài),確確定實際狀態(tài)態(tài)與預期狀態(tài)態(tài)是否一致。白盒測試主要采采用的技術有有:路徑測試試技術和事務務處理流程技技術,對包含含有大量邏輯輯判斷或條件件組合的程序序采用基于邏邏輯的測試技技術。 6.路徑徑測試技術中中幾種主要覆覆蓋的含義?舉例說明?語句覆蓋:至少少執(zhí)行程序中中所有語句一一次。 判定覆蓋:使被被測程序中的的每一個分支支至少執(zhí)行一一次。故也稱稱為分支覆蓋蓋。條件覆蓋:執(zhí)行行所有可能的的穿過程序的的控制路流程程。條件組合測試:設計足夠的的測試用例,使使每個判定中中的所有可能能條件取值組組合至少執(zhí)行行一次。(例略) 7.等價價分類法的測測試技術采用用的一般方法法?舉例說明明?為每個

42、等價類編編號;設計一個新的測測試方案,以以盡可能多的的覆蓋尚未被被覆蓋的有效效等價類,重重復這一步驟驟,直到所有有有效等價類類被覆蓋為止止。設計一個新的測測試方案,使使它覆蓋一個個尚未被覆蓋蓋的無效等價價類, 重復復這一步驟,直到所有無無效等價類被被覆蓋為止。(例略) 8.軟件件測試的一般般步驟?單元測試、子系系統(tǒng)測試、系系統(tǒng)測試、驗驗收測試、平平行測試。 9.比較較集成試的兩兩種方式的優(yōu)優(yōu)劣?非漸增式測試方方式:分別測測試模塊,再再把所有模塊塊按設計要求求放在一起組組成所要的程程序。該方法法編寫測試軟軟件工作量大大,模塊間的的接口錯誤發(fā)發(fā)現(xiàn)得晚,錯錯誤定位較難難診斷,總體體測試有的錯錯誤容易

43、漏掉掉,測試時間間相對較少,可可以并行測試試所有模塊,能能充分利用人人力,加快工工程進度。漸增式測試方式式:把下一個個要測試的模模塊,同已經(jīng)經(jīng)測試好的那那些模塊結合合起來進行測測試。該方法法利用已測試試過的模塊作作測試軟件,開銷小,較較早發(fā)現(xiàn)模塊塊間的接口錯錯誤,錯誤定定位往往和最最近入的模塊塊相關,對已已測試好的模模塊可在新加加入模塊的條條件下受到新新的檢驗,測測試更徹底,需需要較多的測測試時間,不不能并行測試試??偟膩碚f,漸增增式測試方法法比較好。 10.軟件件測試的策略略?在任何情況下都都應使用邊界界值分析的方方法。必要時用等價類類劃分法補充充測試方案。必要時再用錯誤誤推測法補充充測試方

44、案。對照程序邏輯,檢檢查已設計出出的測試方案案。根據(jù)對程序可靠靠性的要求采采用不同的邏邏輯覆蓋標準準,再補充一一些測試方案案。二.某電力公司司有A、B、CC、D共四類類收費標準,并并規(guī)定,居民民用電每月2200度以下下按A類收費費, 2000度以上按BB類收費。動動力電以每月月1萬度為分分界,非高峰峰用電不足11萬度按B類類收費,達到到或超過1萬萬度按C類收收費。高峰用用電不足1萬萬度按C類收收費,達到或或超過1萬度度按D類收費費。試用基于于邏輯的測試試方法為它設設計足夠的測測試用例實現(xiàn)現(xiàn)條件組合的的完全覆概。規(guī)則號123456居民用電200度以下Y200度以上Y動力用電非高峰1萬度以下Y1萬

45、度以上Y高峰1萬度以下Y1萬度以上Y收費標準A類B類C類D類測試用例用電類型輸入數(shù)據(jù)預期結果居民用電90度/月A110度/月B動力用電非高峰8000度/月月B12000度/月C高峰9000度/月月C11000度/月D三.如圖顯示某某程序的邏輯輯結構。 試為它設設計足夠的測測試用例,分分別實現(xiàn)對程程序的判定覆覆概、條件覆覆概和條件組組合覆概。AA0 and B=0S1S2 T F設計測試方案覆蓋種類需滿足的條件測試數(shù)據(jù)期望結果判定覆蓋A1,B=00A=2,B=00執(zhí)行S1A1,B0或或A1,B=0或或A1,B0A=2,B=11或A=1,B=00或A=1,B=11執(zhí)行S2條件覆蓋以下四種情況各各出

46、現(xiàn)一次A1B=0A=2,B=00執(zhí)行S1A1B0A=1,B=11執(zhí)行S2條件組合覆蓋A1,B=00A=2,B=00執(zhí)行S1A1,B0A=2,B=11執(zhí)行S2A1,B=0A=1,B=00執(zhí)行S2A1,B0A=1,B=11執(zhí)行S2四.某城市電話話號碼由三部部分組成。它它們的名稱和和內容分別是是: 地區(qū)區(qū)碼:空白或或三位數(shù)字; 前 綴:非0或1的三位位數(shù)字; 后 綴:4位位數(shù)字。 假定定被測程序能能接受一切符符合上述規(guī)定定的電話號碼碼,拒絕所有有不符合規(guī)定定的電話號碼碼。根據(jù)該程程序的規(guī)格說說明,作等價價類的劃分,并并設計測試方方案。 1.劃分等等價類輸入條件有效等價類無效等價類地區(qū)碼1.空白;2.

47、三位數(shù);有非數(shù)字字符;2.少于三位位數(shù)字;3.多于三位數(shù)數(shù)字。前 綴3.從200到到999之間的的三位4.有非數(shù)字字字符;5.起始位為為0;6.起始位為1; 7.少于三位數(shù)數(shù)字;8.多于三位數(shù)數(shù)字。后 綴4.四位數(shù)字。9.有非數(shù)字字字符;10.少于四位數(shù)數(shù)字;11.多于四位位數(shù)字。設計測試方案方案內容輸 入預期輸出地區(qū)碼前綴后綴1空白2009999之間的三位位數(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無

48、效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-3A556無效12少于四位數(shù)字(345)3442- 3556無效13多于四位數(shù)字(345)5662-345567無效第八章 習題題參考答案1.為什么說軟軟件的維護是是不可避免的的? 因為軟件件的開發(fā)過程程中,一般很很難檢測到所所有的錯誤,其其次軟件在應應用過程中需需要隨用戶新新的要求或運運行環(huán)境的變變化而進行軟軟件的修改

49、或或完成功能的的增刪等,為為了提高軟件件的應用水平平和使用壽命命,軟件的維維護是不可避避免的。2.軟件的維護護一般分為哪哪幾類?改正性維護:滿滿足用戶對已已開發(fā)產品的的性能與運行行環(huán)境不斷提提高的要求,進進而達到延長長軟件壽命的的目的。適應性維護:對對程序使用期期間發(fā)現(xiàn)的程程序錯誤進行行診斷和改正正的過程,配配合變化了的的環(huán)境進行修修改軟件的活動;完善性維護:滿滿足用戶在使使用過程中提提出增加新的的功能或修改改已有功能的的建議而進行行的工作;預防性維護:為為了改善未來來的可維護性性或可靠性而而修改軟件的的工作。3.影響軟件維維護的因素有有哪些?開發(fā)方法:采用用模塊化詳細細設計文檔有有助于理解軟

50、軟件的結構、界界面功能和內內部流程;開開發(fā)過程中嚴嚴格而科學的的管理規(guī)劃及及清晰可靠的的文檔資料對對發(fā)生錯誤后后的理解與糾糾錯是至關重重要的;開發(fā)發(fā)過程中模塊塊的獨立程度度越高,對軟軟件修改越容容易,對軟件件的改進和移移植越方便。開發(fā)條件:軟件件開發(fā)及維護護人員的水平平?jīng)Q定了軟件件開發(fā)的質量量和維護的效效率;開發(fā)過過程中使用標標準的程序設設計語言和標標準的操作系系統(tǒng)接口,可可以大大提高高軟件的可維維護性;在測測試過程中用用例的有效性性,可極大地地減少軟件存存在的錯誤;其次使用規(guī)規(guī)范化的文檔檔資料可為維維護提供更好好的依據(jù)。4.軟件維護困困難主要表現(xiàn)現(xiàn)在什么方面面?一般來講,維護護人員對開發(fā)發(fā)人

51、員寫的程程序及文檔,理理解都比較困困難,對維護護工作不會喜喜歡;維護持續(xù)時間都都很長,在開開發(fā)人員不在在現(xiàn)場的輕快快下,維護軟軟件通常是很很困難的;絕大多數(shù)軟件在在設計時對將將來的軟件修修改都沒有考考慮或考慮不不多,尤其未未能在設計中中強調并認真真解決好模塊塊的獨立性,使使軟件的修改改既困難又易易發(fā)生差錯。5.決定軟件可可維護性的因因素?軟件的可理解性性、可測試性性、可修改性性;文檔描述符合要要求、用戶文文檔簡潔明確確、系統(tǒng)文檔檔完整并且標標準。6.軟件價格應應該計入維護護成本嗎?為為什么? 在軟件的的生命周期中中,軟件維護護的工作量非非常大,不同同應用領域的的維護成本差差別也很大。一一般大型

52、軟件件的維護成本本遠遠高于開開發(fā)成本若干干倍。因此軟軟件價格中應應該計入維護護成本。7.對前面各章章中分析的各各應用系統(tǒng),提提出改進和擴擴充功能的要要求?教材銷售采購系系統(tǒng);圖書管理系統(tǒng);房產管理系統(tǒng)。(略)第九章 習題題參考答案1.軟件工程管管理的內容?費用管理: 對對軟件開發(fā)進進行成本核算算,使軟件生生產按照商品品生產的規(guī)律律辦事。包括括:以簡單、科科學方法估算算軟件開發(fā)費費用,作為簽簽定開發(fā)合同同的根據(jù);管管理開發(fā)費用用的有效使用用,即用經(jīng)濟濟手段來保證證產品如期按按質完成。質量管理: 按按項目的質量量保證計劃,確保各個開開發(fā)階段的開開發(fā)和維護工工作全部按軟軟件工程的規(guī)規(guī)范進行,保保證軟

53、件產品品的質量。配置管理:通過過對于程序、文文檔和數(shù)據(jù)的的各種版本所所進行的管理理,保證資料料的完整性與與一致性。項目管理:制定定項目實施施計劃,按按照計劃的內內容組織和實實施軟件的工工程化生產。最最終目標是以以合理的費用用和進度,圓圓滿完成計劃劃所規(guī)定的軟軟件項目。2.軟件項目有有哪些特點?軟件項目與其他他任何產業(yè)項項目不同,它它是算法、思思想、概念、組組織、流程、效效率、優(yōu)化等等的融合體;開發(fā)軟件項目產產品,在多數(shù)數(shù)情況下,用用戶給不出明明確的想法和和要求。在開發(fā)過程中,程程序及其相關關的文檔資料料常常需要修修改,在修改改過程中又可可能帶來新的的問題,且這這些問題要在在很久以后才才會發(fā)現(xiàn)。

54、在研制開發(fā)過程程中,文檔資資料是不可缺缺少的,但工工作量又是巨巨大的,往往往也是人們不不愿去作的。參加軟件項目的的工作人員,要要求具有一定定的業(yè)務水平平和實際工作作經(jīng)驗,而很很難完全避免免的人員流動動,對工作的的影響是很大大的。離開的的人員不僅帶帶走了重要的的信息,而且且?guī)ё吡斯ぷ髯鹘?jīng)驗。3.軟件成本估估算的一般方方法?自頂向下估計: 首先估算算出項目總的的開發(fā)成本,然然后在項目內內部進行成本本分配。由少少數(shù)專家參與與,依靠他們們過去的經(jīng)驗驗,將要開發(fā)發(fā)的軟件與過過去開發(fā)過的的軟件進行“類比”,以估計新新的軟件開發(fā)發(fā)所需要的工工作量和成本本。自底向上估計: 將開發(fā)任任務分成若干干子任務,子子任

55、務又分成成子子任務,直到每一個個單元內容足足夠明確為止止;把各個任任務單元的成成本估計出來來,匯合成項項目的總成本本。該方法得得到的結果比比較接近實際際。4.為什么在軟軟件開發(fā)中,不不能用簡單增增加人員的方方法來縮短開開發(fā)時間? 大量軟軟件開發(fā)實踐踐說明:向一一個已經(jīng)延遲遲的項目追加加開發(fā)人員,可能使它完完成得更晚。因因為當開發(fā)人人員以算術級級數(shù)增長時,而而人員之間的的通信將以幾幾何級數(shù)增長長,往往“得不償失”。5.影響軟件質質量的主要因因素有哪些?產品運行:正確確性、風險性性、效率、完完整性、健壯壯性和可用性性;產品修改:可理理解性、可維維護性、靈活活性、可測試試性;產品轉移:可移移植性、可

56、重重用性和互運運行性。6.本章第四節(jié)節(jié)的例子是某某個軟件項目目的PERTT圖。 (1)找出出關鍵路徑和和完成項目的的最早時間; (2)標出出每項活動的的最早起止時時間與最遲起起止時間。 (見該章教教案舉例)7.將上題的內內容改用Gaantt圖來來表示。 (見該章教教案舉例)第十章 習題題參考答案1.軟件工具是是什么?按照照軟件生存周周期可將其分分為幾類?軟件工具是指為為支持計算機機軟件及其文文檔的開發(fā)、維維護、模擬、移移植或管理而而研制的程序序系統(tǒng)。按照照軟件生存周周期可將其分分為如下幾類類: 需求分析:如數(shù)數(shù)據(jù)流圖繪制制與分析工具具、狀態(tài)轉換換圖繪制與分分析工具、面面向對象的模模型和分析工工具、快速原原型構造工具具、數(shù)據(jù)字典典與數(shù)據(jù)庫工工具等。軟件設計:如HHIPO圖、PPDL(程序序設計語言)或PAD(問題分析圖圖)支持工具具等。編碼:集成化的的程序員工作作平

溫馨提示

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

評論

0/150

提交評論