軟件工程項目實踐教程第四版課后參考答案_第1頁
軟件工程項目實踐教程第四版課后參考答案_第2頁
軟件工程項目實踐教程第四版課后參考答案_第3頁
軟件工程項目實踐教程第四版課后參考答案_第4頁
軟件工程項目實踐教程第四版課后參考答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《軟件工程項目實踐教程》(第四版)課后習題答案項目一一、選擇題:BBCC二、簡答題:1答:軟件(Software)是一系列按照特定順序組織的計算機數據和指令的集合。我們把各種不同功能的程序,包括用戶為自己的特定的目的編寫的程序、檢查和診斷機器系統的程序、支持用戶應用程序的系統程序、管理和控制機器系統資源的程序及相關文檔的完整集合,通常稱為軟件。軟件是用戶與硬件之間的接口界面,用戶主要是通過軟件與計算機進行交流。2答:軟件產品特性:(1)一種邏輯產品,與物質產品有很大的區(qū)別。⑵軟件產品的生產主要是研制,生產成本主要在開發(fā)和研制,開發(fā)研制完成后,通過復制就產生了大量軟件產品。⑶軟件產品不會用壞,不存在磨損,消耗。⑷生產主要是腦力勞動,還末完全擺脫手工開發(fā)方式,大部分產品是"定做"的⑸開發(fā)軟件的費用不斷增加,致使生產成本相當昂貴。3答:軟件開發(fā)技術的進步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,問題積累起來,形態(tài)尖銳的矛盾,導致了軟件危機。產生原因:⑴軟件規(guī)模越來越大,結構越來越復雜。⑵軟件開發(fā)管理困難而復雜。⑶軟件包開發(fā)費用不斷增加。⑷軟件開發(fā)技術落后。⑸生產方式落后,仍采用手工方式。⑹開發(fā)工具落后,生產率提高緩慢。4.答:使用早已定義好的技術集及符號表示習慣來組織軟件生產的過程。通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時間內,開發(fā)出符合用戶需求的高質量的軟件。軟件開發(fā)方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產業(yè)的發(fā)展起了不可估量的作用。主要有:結構化方法,JACKSON方法,維也納開發(fā)方法﹙VDM﹚,面向對象開發(fā)方法。三、上機建模作業(yè)1、主要步驟提示:打開MicrosoftOfficeVisio2016選擇“地圖和平面布局圖”類別|“辦公室布局”圖模板根據辦公室實際情況大小繪制并添加相應的辦公家具(如無所需的圖件可再次打開形狀添加相應的圖件。)添加相應圖件的備注信息。根據實際需要可對圖件進行填充,從而使辦公室布局圖變得美觀。對辦公室布局圖添加標題等信息。保存文件并進行打印預覽操作。2、步驟(略):購書系統的功能層次圖參考如下圖1-1所示:圖1-1網上購書系統用例圖3、參考步驟提示:首先根據需要分析讀者、工作人員、管理員之間的關系。對讀者、工作人員、管理員各自職責進行進一步明確,分別為讀者(信息查詢、預約圖書、續(xù)借圖書、登錄)、工作人員(圖書信息管理、借書、還書、信息查詢、讀者信息管理、登錄)、管理員(系統維護、登錄)。打開MicrosoftOfficeVisio2016選擇“軟件和數據庫”類別|“UML用例”圖模板。分別添加“用例”、“參與者”圖件。通過連接線工具,將圖件連接起來,并加以說明之間的關系。保存文件并進行打印預覽操作。購書系統的用例圖參考如下圖1-2所示:圖1-2購書系統的用例圖4.步驟(略):網絡結構圖參考如下圖1-3所示:圖1-3項目二習題答案一、填空題:(1)~(8)BDACBDBA9ABCD10ABCD二、簡答題2-1.答:Rose主要支持9種不同類型的UML圖,它們名稱及作用如下: 用例圖(確定系統中所包含的參與者、用例及參與者與用例之間的關系,用例圖是基于系統要實現的功能的一個可視化描述。)類圖(類圖是描述類、接口、協作以及它們之間關系的圖,用于描述系統的結構化設計,它是面向對象系統的核心,也是使用最多的一種圖。)包圖(是用\o"類"類似于命名空間(或文件夾)的符號表示的模型元素的組合。)時序圖(也稱為順序圖,是顯示對象之間消息按時間順序排列的交互作用的圖。)活動圖(用來顯示活動動作及其結果,主要描述操作實現中所完成的工作及用例實例或對象中的活動。)協作圖(描述對象交互作用相關信息的圖)狀態(tài)圖(也稱為狀態(tài)機,描述了特定類或組件在其整個生命周期中不斷變化時的行為。狀態(tài)機是展示狀態(tài)與狀態(tài)轉換的圖,利用狀態(tài)機可以精確地描述對象的行為。)組件圖(用來可視化系統的物理組件及它們之間的關系。)配置圖(用于對系統的實現視圖建模,即描述運行軟件系統中硬件和軟件的物理架構。)2-2.用例圖建模的一般步驟:A.對系統語境建模應當遵循以下的方法:(1)用以下幾組事物來識別系統外部的參與者:需要從系統中得到幫助的組;執(zhí)行系統功能時所必須的組;與外部硬件或其它軟件系統進行交互的組;為了管理和維護而執(zhí)行某些輔助功能的組。(2)將類似的參與者組織成泛化或特殊化的結構層次。(3)在需要加深理解的地方,為每個參與者提供一個構造型。(4)將參與者放入到用例圖中,并說明參與者與用例之間的通信路徑。B.對系統需求建模可以參考以下的方法。(1)識別系統外部的參與者來建立系統的語境。(2)考慮每一個參與者期望的行為或需要系統提供的行為。(3)把公共的行為命名為用例(4)確定供其他用例使用的用例和擴展其他用例的用例。(5)在用例視圖中對用例、參與者和它們之間的關系進行建模。2-3.UML中類圖、對象圖和包圖建模的一般步驟:A.類圖建模方法和步驟如下:(1)為系統詞匯建模為系統的詞匯建模實際上是從系統詞匯表中發(fā)現類,發(fā)現它的責任。(2)為簡單的協作建模協作是指一些協同工作的類、接口和其他元素提供的一些合作的行為,其中元素協作時的功能強于它們單獨工作時的功能之和。(3)為一個邏輯數據庫模式建模在Rose中,通常類可以劃分為3種類型:實體類、邊界類和控制類。通過分析系統的用例圖,我們可以得到系統的邊界類和控制類。邏輯數據庫模式是概念上設計數據庫的藍圖。B.對象圖建模方法和步驟如下:(1)確定參與交互的各個對象的類,可以參照相應的類圖或交互圖。(2)確定類之間的關系(依賴、關聯、泛化和實現等)。(3)針對交互在某特定時刻各個對象的狀態(tài),建立相應的對象模型。(4)繪制對象的關鍵狀態(tài)及關鍵對象之間的連接關系,并精化對象模型圖。C.包圖建模方法和步驟如下:(1)進行系統分析,把概念上和語義上相近的模型元素融入一個包中。(2)對于每一個包,標出其模型元素的可見性(和類一樣主要包括:Public、Private和Protected三種訪問方式,它們分別用“+”、“-”和“#”來表示)。(3)確定包與包之間的依賴和泛化關系等。(4)繪制并精化包圖。2-4.在UML的表現上,動態(tài)模型主要是建立系統的交互圖和行為圖。交互圖包括時序圖和協作圖;行為圖包括狀態(tài)圖和活動圖。UML動態(tài)建模的一般步驟如下:A.時序圖建模技術要點:(1)設置交互的語境,這些語境可以是系統、子系統、操作、類、用例和協作的一個腳本。(2)通過識別對象在交互中扮演的角色,根據對象的重要性,將其從左向右的方向放在時序圖中。(3)設置每個對象的生命線。一般情況下,對象存在于交互的整個過程,但它也可以在交互過程中創(chuàng)建和撤銷。(4)從引發(fā)某個交互的消息開始,在生命線之間按自上而下的順序畫出隨后的消息。(5)設置對象的激活期,這可以可視化實際計算發(fā)生時的時間點、可視化消息的嵌套。(6)如果需要設置時間或者空間的約束,可以為每個消息附上合適的時間和空間的約束。B.協作圖建模要點:(1)設置交互的語境,語境可以是系統、子系統、操作、類、用例或用例的腳本。(2)通過識別對象在交互中所扮演的角色,開始繪制協作圖,把這些對象作為圖的頂點放在協作圖中。(3)在識別了協作圖對象之后,為每個對象設置初始值,如果某對象的屬性值、標記值、狀態(tài)或角色在交互期發(fā)生變化,則在圖中鏈的末路上附上一個路徑構造型,以便了說明一個對象如何與另一個對象連接,例如構造型<<local>>,表示指定對象對發(fā)送方而言是局部的。(4)根據對象間的關系開始確定對象間的鏈接。一般先確定關聯的鏈接,因為這是最主要的,它代表了對象之間結構的鏈接。(5)從引起交互的消息開始,適當地設置其順序號,然后將隨后的每個消息附到適當的鏈上。,這描述了對象之間消息傳遞,可以用帶小數點的編號來表達嵌套。(6)如果需要說明時間或空間的約束,可以用適當的時間或空間約束來修飾每個消息。(7)在建模中,如果想更詳細地描述這個控制流,可以為交互過程的每個消息附上前置條件和后置條件。C.狀態(tài)圖建模要點:(1)識別一個要對其生命周期進行描述的參與行為的類;(2)對狀態(tài)建模,即確定對象可能存在的狀態(tài);(3)對事件建模,即確定對象可能存在的事件;(4)對動作建模,即確定當轉變被激活時,相應被執(zhí)行的動作;(5)對建模結果進行精化和細化。D.活動圖建模要點:在建模的過程中,我們通常通過以下步驟實現:①識別要對其工作流描述的類或對象。②確定工作流的初始狀態(tài)和終止狀態(tài),明確工作流的邊界。③對動作狀態(tài)或活動狀態(tài)建模。④對動作流建模。⑤對對象流建模。⑥對建立的模型進行精化和細化。三、課外拓展3-1.IBMRationalRose2007軟件的試用版及鑰匙文件見本書配套資源。3-2.Rose的雙向工程包括Rose的正向工程和Rose的逆向工程。它的實現簡介如下:(1)正向工程是以組件為中心的,具體指Rose里的代碼如何生成的。即是說Java源代碼的生成是基于組件的,所以創(chuàng)建一個或多個類之后,需要將它們分配給一個有效的Java組件才能正確生成代碼。(2)逆向工程是分析Java代碼,然后將其轉換成Rose模型的類和組件的過程。Rose允許從Java源文件(.java文件)、Java字節(jié)碼(.class文件)以及一些打包文件(.zip、.cab、.jar文件)中進行相應的逆向工程。項目三習題答案一、判斷題1.錯。在需求分析中,系統分析員要從用戶那里解決的最重要的問題是明確軟件做什么。2.錯。軟件可行性分析應在需求分析之前,因此,軟件需求規(guī)格說明書不應成為軟件可行性分析的依據。3.錯。數據流圖由數據流、數據源、加工和數據存儲組成。4.錯。可行性分析給出“做還是不做”的回答。5.錯。成本效益分析的目的是從經濟角度評價開發(fā)一個項目是否可行。二、簡答題1.答:(1)獲取需求:采集、識別和提取用戶的需求,對問題和需求形成文檔化的描述,使各種人員達成一致的理解和認可。(2)分析需求,建立模型:分析和綜合所采集的信息,建立系統的詳細邏輯模型。(3)編寫需求規(guī)格說明書:編寫軟件需求規(guī)格說明書,明確、完整和準確地描述已確定的需求。(4)需求評審、驗證:評審并驗證軟件需求規(guī)格說明,以保證其正確性、一致性、完備性、準確性和清晰性。2.不應該增加"教務人員",因為教務人員只是該系統的一個使用者,系統不處理其屬性信息。3.結構化分析的主要描述工具有:數據流圖和數據字典。步驟:(1)建立當前系統的具體模型即“物理模型”。(2)抽象出當前系統的邏輯模型。(3)建立目標系統的邏輯模型。(4)對目標系統補充和優(yōu)化。項目四習題答案一、選擇題:1-5AABDA6-10ACCAD二、簡答題1、概要設計階段的主要任務是:首先,依據分析階段產生的文檔資料,采用正確的方法確定新系統在計算機內應該由哪些程序模塊組成,確定模塊間的聯系才能構成一個最好系統機內結構,其次,使用一定工具,如模塊結構圖將所設計的結果表達出來;最后,編寫概要設計說明數,為后期階段的開發(fā)工作提供依據。2、模塊是指具有相對獨立性的,由數據說明、執(zhí)行語句等程序對象構成的集合。模塊用方框表示,并用名字標識該模塊,名字應體現該模塊的功能。模塊間的信息傳遞:模塊問還經常用帶注釋的短箭頭表示模塊調用過程中來回傳遞的信息。有時箭頭尾部帶空心圓的表示傳遞的是數據,帶實心圓的表示傳遞的是控制信息。模塊的特征:輸入輸出接口、功能、內部數據和程序代碼。劃分模塊時,盡量做到高內聚,低耦合,保持模塊相對獨立性,并以此原則優(yōu)化初始的軟件結構;軟件結構的深度、寬度、扇入、扇出應適當;模塊的大小應適中;模塊的接口要簡單、清晰、含義明確,便于理解,易于實現、測試與維護。3、內聚標志著一個模塊內各個元素彼此結合的緊密程度,它是信息隱蔽和局部化概念的自然擴展。內聚有:功能內聚、信息內聚、通信內聚、過程內聚、邏輯內聚、時間內聚、偶然內聚和非直接內聚。功能內聚最好,非直接耦合最不好。4、耦合表示軟件結構內不同模塊彼此直接相互依賴的緊密程度,是衡量軟件模塊結構質量好壞、對模塊獨立性的直接衡量指標。耦合的類型有:數據耦合、控制耦合、公共環(huán)境耦合、內容耦合和標記耦合。數據耦合好,內容耦合不好。5、模塊的獨立性是耦合和內聚的集成,原則是模塊之間低耦合,模塊內部各元素高內聚。6、概要設計基本原理(也就是概要設計原則)基本思想是:模塊化設計、自頂向下逐步求精設計、模塊獨立性、信息隱蔽性及抽象。項目五習題答案一、填空題:(1)~(5)CACCA(6)~(10)ABAAA二、簡答題:5-1、面向對象分析是在系統所要求解的問題域中找出對象(具有屬性和行為)以及它所屬的類,并定義好對象與類;面向對象設計是把系統所要求解的問題分解為一些對象及對象間傳遞消息的過程;面向對象實現是把數據和處理數據的過程結合為一個對象。面向對象技術具有許多特色,一是面向對象方法的唯一性,即面向對象方法是對軟件開發(fā)過程所有階段進行綜合考慮而得到的唯一有效方法;二是面向對象技術中生存期的一個階段到下一個階段的高度連續(xù)性,即在一個階段所用的組成部分與下一個階段所使用的組成部分是銜接的或無縫連接的;三是把面向對象分析(OOA)、面向對象的設計(OOD)和面向對象程序設計(OOP)集成到軟件生存期對應的不同階段。5-2、對象由一組屬性和對這組屬性進行操作的一組方法(即服務)組成。類是具有相同特征(即屬性)和行為(或操作)的一組對象的集合。即類是關于對象的抽象描述,反映了該對象類型的所有對象的性質,例如:班級類,汽車類等。屬性就是對象所包含的數據,它代表對象的狀態(tài),它在設計對象時確定,一般只能通過執(zhí)行對象的操作來改變,例如,一名客戶的屬性有姓名、住址、電話號碼等。操作(即方法或服務)描述了對象執(zhí)行的操作功能,也就是類中所定義的服務。它描述了對象執(zhí)行操作的算法,響應消息的方法。可以通過向對象發(fā)送消息來調用其方法。消息就是兩個對象之間傳遞的信息或發(fā)出的服務請求。消息是對象之間通信的手段,一個對象向另一對象發(fā)送消息來請求其服務。消息的使用類似于函數調用,消息中指定了接收消息的某一個對象(或實例)名稱,一個消息標識符(也稱消息名或操作名)和一個參數表(零個或多個參數,可能是空的)。接收消息的實例執(zhí)行消息中指定的操作,并將形式參數與參數表中相應的值結合起來。5-3、OOA階段需要建立的模型主要包括對象模型、動態(tài)模型和功能模型三種,其中的對象模型是最基本、最重要、最核心的模型,對象模型描述了系統的靜態(tài)數據結構;動態(tài)模型描述了系統控制結構及交互次序;功能模型描述了系統的功能及數據變換。這三種模型分別用來創(chuàng)建軟件系統的靜態(tài)建模圖、動態(tài)建模圖及數據流圖。5-4、面向對象設計準則主要包括模塊化、抽象、信息隱藏、低耦合、高內聚和復用性六點。五個層次:面向對象設計(OOD)模型同OOA一樣也由主題、類-&-對象、結構、屬性和服務等5個層次組成。四個子系統(或組成部分)指:問題域子系統(PDC)、人機交互子系統(HIC)、任務管理子系統(TMC)和數據管理子系統(DMC)項目六習題答案一、填空題1BAD2C3(A)4(B)5A(1)通用性B(1)易用性C(3)表格驅動方式D(1)完備的文件資料E(3)C二、簡答題6-1.如何評價一個“好的程序員”,“好的程序員”應該有那些素質?團隊精神和協作能力文檔習慣規(guī)范化、標準化的代碼編寫習慣需求理解能力復用性和模塊化思維能力測試習慣學習和總結的能力6-2.程序員升為項目經理后是否還要編程?答:讓我們先看看Microsoft公司的系統軟件部門與應用軟件部門的領導是怎樣看待這個問題的[Cusumano1996]。WindowsNT3.0項目的軟件經理婁·帕雷羅里讓他手下的經理們像他一樣每天花一半的時間編寫代碼:我在組內制定了許多規(guī)則,其中最重要的一條是每個人都得編程,誰也別想坐在那兒發(fā)號施令……我發(fā)現管理者很容易失去目標,他們總是無法認識到問題的本質并且反應遲緩。如果你始終不放棄編寫代碼,你就能對項目的進展情況了如指掌,及時發(fā)現并解決問題……我大概每天花一半的時間編寫代碼并尋找項目的缺陷。作為應用軟件領域的經理,克里斯·彼得斯也持同樣的看法。在他任Word項目總經理時就認為:在一些大公司內部,各部門經理把具體操作的層次向下移。你一旦當上開發(fā)部門經理,很快就會以自己身居高位、日理萬機為由放棄編程;同樣地,開發(fā)小組的組長會以自己重任在肩而不愿編程;至于程序員也會覺得自己十分繁忙、分身無術而不再多編寫程序。雖然我是270名員工的領導,似乎不再需要做什么具體的工作了,但我還是為Word新版本編寫了一個特性。程序員升為經理后一定要編程,這個道理已經說得很清楚了。6-3.簡述軟件測試的主要過程。答:具體過程包括:單元測試、集成測試、系統測試、用戶的驗收測試。單元測試所檢測代碼的開發(fā)是否符合詳細設計的要求。集成測試所檢測此前測試過的各組成部分是否能完好地結合到一起。系統測試所檢測已集成在一起的產品是否符合系統規(guī)格說明書的要求。而驗收測試則檢測產品是否符合最終用戶的需求。6-4.簡述軟件測試的目的和對象。答:軟件測試的目標是盡可能早地找出軟件中潛在的各種錯誤和缺陷,并確保其得以修復,最終將高質量的軟件系統交給用戶。軟件測試就是在軟件投入使用前,對軟件的需求分析、設計規(guī)格說明和系統編碼的最終復審。6-5.什么是黑盒測試?什么是白盒測試?答:白盒測試,也稱結構測試或邏輯驅動測試,也就是已知產品的內部工作過程,清楚最終生成軟件產品的計算機程序結構及其語句,按照程序內部的結構測試程序,測試程序內部的變量狀態(tài)、邏輯結構、運行路徑等,檢驗程序中的每條通路是否都能按預定要求正確工作,檢查程序內部動作或運行是否符合設計規(guī)格要求,所有內部成分是否按規(guī)定正常進行。黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當地接收輸入數據產生正確的輸出信息,并且保持外部信息(如,數據庫或文件)的完整性。6-6.什么叫單元測試?單元測試的任務有哪些?答:單元測試是最微小規(guī)模的測試,測試某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內部程序設計和編碼的細節(jié)知識。單元測試任務包括:模塊接口測試;模塊局部數據結構測試;模塊邊界條件測試;模塊中所有獨立執(zhí)行通路測試;模塊的各條錯誤處理通路測試。6-7.系統集成測試常見有哪兩種模式?各有什么優(yōu)缺點?答:集成測試基本可以概括為以下兩種:(1)非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設計要求放在一起結合成所要的程序。(2)漸增式測試模式:把下一個要測試的模塊同已經測試好的模塊結合起來進行測試,測試完以后再把下一個應該測試的模塊結合起來測試。兩種模式中,增量式集成模式有一定的優(yōu)勢,它們的優(yōu)缺點:(1)漸增式測試模式需要編寫的軟件較多,工作量較大,而非漸增式測試開銷小。(2)漸增式測試模式發(fā)現模塊間接口錯誤早,而非漸增式測試模式晚。(3)非漸增式測試模式發(fā)現錯誤,較難診斷,而使用漸增式測試模式,如果發(fā)現錯誤則往往和最近加進來的那個模塊有關。(4)漸增式測試更徹底。(5)使用非漸增式測試模式可以并行測試6-8.系統測試和驗收測試的區(qū)別?答:系統測試,英文是SystemTesting。是將已經確認的軟件、計算機硬件、外設、網絡等其他元素結合在一起,進行信息系統的各種組裝測試和確認測試,系統測試是針對整個產品系統進行的測試,目的是驗證系統是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統測試發(fā)現問題之后要經過調試找出錯誤原因和位置,然后進行改正。是基于系統整體需求說明書的黑盒類測試,應覆蓋系統所有聯合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設甚至包括某些數據、某些支持軟件及其接口等。驗收測試,系統開發(fā)生命周期方法論的一個階段,這時相關的用戶和/或獨立測試人員根據測試計劃和結果對系統進行測試和接收。它讓系統用戶決定是否接收系統。它是一項確定產品是否能夠滿足合同或用戶所規(guī)定需求的測試。這是管理性和防御性控制。項目七習題答案判斷題:(F為錯T為對)1T2F3F4F5T6F7T8T9F10F選擇題1C2B3(4)(5)(6)(3)(7)三、簡答題7-1.答:軟件的維護是指由于用戶的需求發(fā)生變化、硬件環(huán)境的變化,或是使用過程中發(fā)現問題等因素,需要對軟件進行的修改或者更新。軟件維護的內容主要有:改正性維護;適應性維護;完善性維護;預防性維護。7-2.答:軟件可維護性是指糾正軟件系統出現的錯誤和缺陷,以及為滿足新的要求而進行修改、擴充或壓縮的容易程度??删S護性度量的特性有:軟件的可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。7-3.答:為了提高軟件的可維護性,可以從以下幾個方面著手:

(1)建立明確的軟件質量目標和優(yōu)先級;

(2)使用提高軟件質量的技術和工具;

(3)進行明確的質量保證審查;

(4)選擇可維護的程序設計語言;

(5)改進程序的文檔;7-4.答:再生工程主要有以下三種類型:逆向工程、重構和前向工程。項目八習題答案一、選擇題答案:(1)A(2)C(3)B(4)D(5)D二、簡答題8-1.答:有明確的目標;項目之間的活動具有相關性;限定的周期;有獨特性;資源成本的約束性項目的不確定性簡述基線變更管理的基本過程。基線變更需要經過SCCB授權,按程序進行控制并記錄基線修改過程。變更過程包括如下4步:首先提出變更申請并填寫相應的變更申請表對變更申請進行評估,對變更的類型及可能產生的影響進行評審根據評估結果決定批準或拒絕變更,并確定版本更新(若批準)從基線庫提取基線產品修改,完成變更和版本升級。8-2.答:需求獲取指通過與用戶的交流、對現有系統的觀察及對任務進行分析,從而開發(fā)、捕獲和修訂用戶的需求。需求獲取的主要活動包括:-了解客戶方的所有用戶類型及潛在的類型-對用戶進行訪談和調研,包括會議討論、郵件提問、自行搜集等各種形式-對收集到的用戶需求作進一步分析整理-將調研得到的用戶需求以適當的形式呈交給用戶和開發(fā)方相關人員8-3.答:軟件配置管理是一套規(guī)范、高效的管理軟件開發(fā)及各種中間軟件產品的方法和規(guī)則。配置管理的主要功能是記錄軟件產品的演化過程,實施有效的版本管理和變更管理,最終保證軟件產品的完整性、一致性、追朔性、可控性。配置管理的基本目標是:有計劃地對各種項目產品進行標識管理;讓各種項目產品能夠被識別、控制和獲?。蛔尭鞣N項目產品的更改得到有效控制;讓相關組織或個人及時了解軟件基線的狀態(tài)和內容。8-4.答:風險的客觀性:是不以人的意志為轉移的;風險的不確定性:風險難以度量和掌控風險的不利性:風險發(fā)生時將導致損失或破壞;風險的可變性:在一定的條件下風險可以轉化風險的相對性:不同的主體對風險的承受辦不同;風險同利益的對稱性:風險與利益共存何謂自下而上估算法?它適用什么情況?具有什么特點?自下而上估算法是利用任務分解結構圖,對各個具體工作包進行詳細的成本估算,然后將結果累加起來得出項目總成本。該方法主要適用于項目開始以后和WBS的開發(fā)階段,或需要進行準確估算的時候。它的特點是估算結果比較準確,準確度決定于每個任務的估算情況。但非常費時,估算本身的費用較大,且可能發(fā)生虛報夸大成本現象。8-5答:建立了機構級的軟件開發(fā)和維護過程。軟件人員對其有較好的理解。一切活動均遵循過程的要求進行,做到工作步驟有次序,且有章可循;軟件過程必要時可做改進,但需在經小型實驗和成本效益分析基礎上進行;軟件產品的質量和客戶對軟件產品的滿意程度不是由開發(fā)人員,而是由負責質量保證的經理負責監(jiān)控;項目進度和預算是根據以往項目取得的實踐經驗確定,因而比較符合實際情況。8-6答:(1)參考以前完成的類似項目,估計待開發(fā)項目的工作量和成本(2)將大的項目分解成若干個小項目,分別對每個子項目的工作量和成本進行估算,再估算整個項目的工作量和成本。(3)根據軟件生存周期,分別估算出軟件開發(fā)各階段的工作量和成本,然后再把這些工作量和成本匯總,估算出整個項目的工作量和成本。(4)根據實驗或歷史數據給出軟件項目工作量或成本的經驗估算公式。8-7ISO9000與CMMI有什么區(qū)別和聯系?答:IS09000與CMMI均可作為軟件企業(yè)的過程改善框架。CMMI僅僅適用于軟件行業(yè),而IS09000的適應更廣泛,但絕不是說IS09000不適合軟件企業(yè)。二者的聯系:就內容來講,IS09000不覆蓋CMMI,也不完全覆蓋IS09000。一般而言,通過ISO9000認證的企業(yè)可達到CMMI2級或略高的程度,通過CMMI3級的企業(yè)只要稍做補充,就可較容易地通過ISO9000認證。粗略地說,ISO9000近似于CMMI2.5級。二者的聯系區(qū)別:IS09000與CMMI均可作為軟件企業(yè)的過程改進框架,其不同之處是,一個是”泛用”,一個是”專用”。ISO9000標準面向合同環(huán)境,站在用戶立場,要求對質量要素進行控制,規(guī)定了質量體系的最低標準。而CMMI標準則強調軟件開發(fā)過程的成熟度,即內部過程的不斷改進和提高。在形式上,ISO9000審核只有”通過”和”不通過”兩個結論,而CMMI評定則是一個動態(tài)過程,軟件組織在通過低級別評估后,可根據高級別的要求確定改進方略。對于軟件企業(yè)應該通過哪個級別認證?答:對于軟件企業(yè),既要通過IS09000認證,也要達到CMMI高的級別(動態(tài)的)。8-8CMMI的五個級別是什么?各級別之間有什么區(qū)別和聯系?答:CMMI與CMM最大的不同點在于:CMMISM-SE/S

溫馨提示

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

評論

0/150

提交評論