版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《軟件工程項目實踐教程》(第四版)課后習題答案項目一一、選擇題:BBCC二、簡答題:1答:軟件(Software)是一系列按照特定順序組織的計算機數(shù)據(jù)和指令的集合。我們把各種不同功能的程序,包括用戶為自己的特定的目的編寫的程序、檢查和診斷機器系統(tǒng)的程序、支持用戶應用程序的系統(tǒng)程序、管理和控制機器系統(tǒng)資源的程序及相關(guān)文檔的完整集合,通常稱為軟件。軟件是用戶與硬件之間的接口界面,用戶主要是通過軟件與計算機進行交流。2答:軟件產(chǎn)品特性:(1)一種邏輯產(chǎn)品,與物質(zhì)產(chǎn)品有很大的區(qū)別。⑵軟件產(chǎn)品的生產(chǎn)主要是研制,生產(chǎn)成本主要在開發(fā)和研制,開發(fā)研制完成后,通過復制就產(chǎn)生了大量軟件產(chǎn)品。⑶軟件產(chǎn)品不會用壞,不存在磨損,消耗。⑷生產(chǎn)主要是腦力勞動,還末完全擺脫手工開發(fā)方式,大部分產(chǎn)品是"定做"的⑸開發(fā)軟件的費用不斷增加,致使生產(chǎn)成本相當昂貴。3答:軟件開發(fā)技術(shù)的進步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,問題積累起來,形態(tài)尖銳的矛盾,導致了軟件危機。產(chǎn)生原因:⑴軟件規(guī)模越來越大,結(jié)構(gòu)越來越復雜。⑵軟件開發(fā)管理困難而復雜。⑶軟件包開發(fā)費用不斷增加。⑷軟件開發(fā)技術(shù)落后。⑸生產(chǎn)方式落后,仍采用手工方式。⑹開發(fā)工具落后,生產(chǎn)率提高緩慢。4.答:使用早已定義好的技術(shù)集及符號表示習慣來組織軟件生產(chǎn)的過程。通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時間內(nèi),開發(fā)出符合用戶需求的高質(zhì)量的軟件。軟件開發(fā)方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。主要有:結(jié)構(gòu)化方法,JACKSON方法,維也納開發(fā)方法﹙VDM﹚,面向?qū)ο箝_發(fā)方法。三、上機建模作業(yè)1、主要步驟提示:打開MicrosoftOfficeVisio2016選擇“地圖和平面布局圖”類別|“辦公室布局”圖模板根據(jù)辦公室實際情況大小繪制并添加相應的辦公家具(如無所需的圖件可再次打開形狀添加相應的圖件。)添加相應圖件的備注信息。根據(jù)實際需要可對圖件進行填充,從而使辦公室布局圖變得美觀。對辦公室布局圖添加標題等信息。保存文件并進行打印預覽操作。2、步驟(略):購書系統(tǒng)的功能層次圖參考如下圖1-1所示:圖1-1網(wǎng)上購書系統(tǒng)用例圖3、參考步驟提示:首先根據(jù)需要分析讀者、工作人員、管理員之間的關(guān)系。對讀者、工作人員、管理員各自職責進行進一步明確,分別為讀者(信息查詢、預約圖書、續(xù)借圖書、登錄)、工作人員(圖書信息管理、借書、還書、信息查詢、讀者信息管理、登錄)、管理員(系統(tǒng)維護、登錄)。打開MicrosoftOfficeVisio2016選擇“軟件和數(shù)據(jù)庫”類別|“UML用例”圖模板。分別添加“用例”、“參與者”圖件。通過連接線工具,將圖件連接起來,并加以說明之間的關(guān)系。保存文件并進行打印預覽操作。購書系統(tǒng)的用例圖參考如下圖1-2所示:圖1-2購書系統(tǒng)的用例圖4.步驟(略):網(wǎng)絡結(jié)構(gòu)圖參考如下圖1-3所示:圖1-3項目二習題答案一、填空題:(1)~(8)BDACBDBA9ABCD10ABCD二、簡答題2-1.答:Rose主要支持9種不同類型的UML圖,它們名稱及作用如下: 用例圖(確定系統(tǒng)中所包含的參與者、用例及參與者與用例之間的關(guān)系,用例圖是基于系統(tǒng)要實現(xiàn)的功能的一個可視化描述。)類圖(類圖是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用于描述系統(tǒng)的結(jié)構(gòu)化設(shè)計,它是面向?qū)ο笙到y(tǒng)的核心,也是使用最多的一種圖。)包圖(是用\o"類"類似于命名空間(或文件夾)的符號表示的模型元素的組合。)時序圖(也稱為順序圖,是顯示對象之間消息按時間順序排列的交互作用的圖。)活動圖(用來顯示活動動作及其結(jié)果,主要描述操作實現(xiàn)中所完成的工作及用例實例或?qū)ο笾械幕顒印?協(xié)作圖(描述對象交互作用相關(guān)信息的圖)狀態(tài)圖(也稱為狀態(tài)機,描述了特定類或組件在其整個生命周期中不斷變化時的行為。狀態(tài)機是展示狀態(tài)與狀態(tài)轉(zhuǎn)換的圖,利用狀態(tài)機可以精確地描述對象的行為。)組件圖(用來可視化系統(tǒng)的物理組件及它們之間的關(guān)系。)配置圖(用于對系統(tǒng)的實現(xiàn)視圖建模,即描述運行軟件系統(tǒng)中硬件和軟件的物理架構(gòu)。)2-2.用例圖建模的一般步驟:A.對系統(tǒng)語境建模應當遵循以下的方法:(1)用以下幾組事物來識別系統(tǒng)外部的參與者:需要從系統(tǒng)中得到幫助的組;執(zhí)行系統(tǒng)功能時所必須的組;與外部硬件或其它軟件系統(tǒng)進行交互的組;為了管理和維護而執(zhí)行某些輔助功能的組。(2)將類似的參與者組織成泛化或特殊化的結(jié)構(gòu)層次。(3)在需要加深理解的地方,為每個參與者提供一個構(gòu)造型。(4)將參與者放入到用例圖中,并說明參與者與用例之間的通信路徑。B.對系統(tǒng)需求建??梢詤⒖家韵碌姆椒?。(1)識別系統(tǒng)外部的參與者來建立系統(tǒng)的語境。(2)考慮每一個參與者期望的行為或需要系統(tǒng)提供的行為。(3)把公共的行為命名為用例(4)確定供其他用例使用的用例和擴展其他用例的用例。(5)在用例視圖中對用例、參與者和它們之間的關(guān)系進行建模。2-3.UML中類圖、對象圖和包圖建模的一般步驟:A.類圖建模方法和步驟如下:(1)為系統(tǒng)詞匯建模為系統(tǒng)的詞匯建模實際上是從系統(tǒng)詞匯表中發(fā)現(xiàn)類,發(fā)現(xiàn)它的責任。(2)為簡單的協(xié)作建模協(xié)作是指一些協(xié)同工作的類、接口和其他元素提供的一些合作的行為,其中元素協(xié)作時的功能強于它們單獨工作時的功能之和。(3)為一個邏輯數(shù)據(jù)庫模式建模在Rose中,通常類可以劃分為3種類型:實體類、邊界類和控制類。通過分析系統(tǒng)的用例圖,我們可以得到系統(tǒng)的邊界類和控制類。邏輯數(shù)據(jù)庫模式是概念上設(shè)計數(shù)據(jù)庫的藍圖。B.對象圖建模方法和步驟如下:(1)確定參與交互的各個對象的類,可以參照相應的類圖或交互圖。(2)確定類之間的關(guān)系(依賴、關(guān)聯(lián)、泛化和實現(xiàn)等)。(3)針對交互在某特定時刻各個對象的狀態(tài),建立相應的對象模型。(4)繪制對象的關(guān)鍵狀態(tài)及關(guān)鍵對象之間的連接關(guān)系,并精化對象模型圖。C.包圖建模方法和步驟如下:(1)進行系統(tǒng)分析,把概念上和語義上相近的模型元素融入一個包中。(2)對于每一個包,標出其模型元素的可見性(和類一樣主要包括:Public、Private和Protected三種訪問方式,它們分別用“+”、“-”和“#”來表示)。(3)確定包與包之間的依賴和泛化關(guān)系等。(4)繪制并精化包圖。2-4.在UML的表現(xiàn)上,動態(tài)模型主要是建立系統(tǒng)的交互圖和行為圖。交互圖包括時序圖和協(xié)作圖;行為圖包括狀態(tài)圖和活動圖。UML動態(tài)建模的一般步驟如下:A.時序圖建模技術(shù)要點:(1)設(shè)置交互的語境,這些語境可以是系統(tǒng)、子系統(tǒng)、操作、類、用例和協(xié)作的一個腳本。(2)通過識別對象在交互中扮演的角色,根據(jù)對象的重要性,將其從左向右的方向放在時序圖中。(3)設(shè)置每個對象的生命線。一般情況下,對象存在于交互的整個過程,但它也可以在交互過程中創(chuàng)建和撤銷。(4)從引發(fā)某個交互的消息開始,在生命線之間按自上而下的順序畫出隨后的消息。(5)設(shè)置對象的激活期,這可以可視化實際計算發(fā)生時的時間點、可視化消息的嵌套。(6)如果需要設(shè)置時間或者空間的約束,可以為每個消息附上合適的時間和空間的約束。B.協(xié)作圖建模要點:(1)設(shè)置交互的語境,語境可以是系統(tǒng)、子系統(tǒng)、操作、類、用例或用例的腳本。(2)通過識別對象在交互中所扮演的角色,開始繪制協(xié)作圖,把這些對象作為圖的頂點放在協(xié)作圖中。(3)在識別了協(xié)作圖對象之后,為每個對象設(shè)置初始值,如果某對象的屬性值、標記值、狀態(tài)或角色在交互期發(fā)生變化,則在圖中鏈的末路上附上一個路徑構(gòu)造型,以便了說明一個對象如何與另一個對象連接,例如構(gòu)造型<<local>>,表示指定對象對發(fā)送方而言是局部的。(4)根據(jù)對象間的關(guān)系開始確定對象間的鏈接。一般先確定關(guān)聯(lián)的鏈接,因為這是最主要的,它代表了對象之間結(jié)構(gòu)的鏈接。(5)從引起交互的消息開始,適當?shù)卦O(shè)置其順序號,然后將隨后的每個消息附到適當?shù)逆溕?。,這描述了對象之間消息傳遞,可以用帶小數(shù)點的編號來表達嵌套。(6)如果需要說明時間或空間的約束,可以用適當?shù)臅r間或空間約束來修飾每個消息。(7)在建模中,如果想更詳細地描述這個控制流,可以為交互過程的每個消息附上前置條件和后置條件。C.狀態(tài)圖建模要點:(1)識別一個要對其生命周期進行描述的參與行為的類;(2)對狀態(tài)建模,即確定對象可能存在的狀態(tài);(3)對事件建模,即確定對象可能存在的事件;(4)對動作建模,即確定當轉(zhuǎn)變被激活時,相應被執(zhí)行的動作;(5)對建模結(jié)果進行精化和細化。D.活動圖建模要點:在建模的過程中,我們通常通過以下步驟實現(xiàn):①識別要對其工作流描述的類或?qū)ο?。②確定工作流的初始狀態(tài)和終止狀態(tài),明確工作流的邊界。③對動作狀態(tài)或活動狀態(tài)建模。④對動作流建模。⑤對對象流建模。⑥對建立的模型進行精化和細化。三、課外拓展3-1.IBMRationalRose2007軟件的試用版及鑰匙文件見本書配套資源。3-2.Rose的雙向工程包括Rose的正向工程和Rose的逆向工程。它的實現(xiàn)簡介如下:(1)正向工程是以組件為中心的,具體指Rose里的代碼如何生成的。即是說Java源代碼的生成是基于組件的,所以創(chuàng)建一個或多個類之后,需要將它們分配給一個有效的Java組件才能正確生成代碼。(2)逆向工程是分析Java代碼,然后將其轉(zhuǎn)換成Rose模型的類和組件的過程。Rose允許從Java源文件(.java文件)、Java字節(jié)碼(.class文件)以及一些打包文件(.zip、.cab、.jar文件)中進行相應的逆向工程。項目三習題答案一、判斷題1.錯。在需求分析中,系統(tǒng)分析員要從用戶那里解決的最重要的問題是明確軟件做什么。2.錯。軟件可行性分析應在需求分析之前,因此,軟件需求規(guī)格說明書不應成為軟件可行性分析的依據(jù)。3.錯。數(shù)據(jù)流圖由數(shù)據(jù)流、數(shù)據(jù)源、加工和數(shù)據(jù)存儲組成。4.錯??尚行苑治鼋o出“做還是不做”的回答。5.錯。成本效益分析的目的是從經(jīng)濟角度評價開發(fā)一個項目是否可行。二、簡答題1.答:(1)獲取需求:采集、識別和提取用戶的需求,對問題和需求形成文檔化的描述,使各種人員達成一致的理解和認可。(2)分析需求,建立模型:分析和綜合所采集的信息,建立系統(tǒng)的詳細邏輯模型。(3)編寫需求規(guī)格說明書:編寫軟件需求規(guī)格說明書,明確、完整和準確地描述已確定的需求。(4)需求評審、驗證:評審并驗證軟件需求規(guī)格說明,以保證其正確性、一致性、完備性、準確性和清晰性。2.不應該增加"教務人員",因為教務人員只是該系統(tǒng)的一個使用者,系統(tǒng)不處理其屬性信息。3.結(jié)構(gòu)化分析的主要描述工具有:數(shù)據(jù)流圖和數(shù)據(jù)字典。步驟:(1)建立當前系統(tǒng)的具體模型即“物理模型”。(2)抽象出當前系統(tǒng)的邏輯模型。(3)建立目標系統(tǒng)的邏輯模型。(4)對目標系統(tǒng)補充和優(yōu)化。項目四習題答案一、選擇題:1-5AABDA6-10ACCAD二、簡答題1、概要設(shè)計階段的主要任務是:首先,依據(jù)分析階段產(chǎn)生的文檔資料,采用正確的方法確定新系統(tǒng)在計算機內(nèi)應該由哪些程序模塊組成,確定模塊間的聯(lián)系才能構(gòu)成一個最好系統(tǒng)機內(nèi)結(jié)構(gòu),其次,使用一定工具,如模塊結(jié)構(gòu)圖將所設(shè)計的結(jié)果表達出來;最后,編寫概要設(shè)計說明數(shù),為后期階段的開發(fā)工作提供依據(jù)。2、模塊是指具有相對獨立性的,由數(shù)據(jù)說明、執(zhí)行語句等程序?qū)ο髽?gòu)成的集合。模塊用方框表示,并用名字標識該模塊,名字應體現(xiàn)該模塊的功能。模塊間的信息傳遞:模塊問還經(jīng)常用帶注釋的短箭頭表示模塊調(diào)用過程中來回傳遞的信息。有時箭頭尾部帶空心圓的表示傳遞的是數(shù)據(jù),帶實心圓的表示傳遞的是控制信息。模塊的特征:輸入輸出接口、功能、內(nèi)部數(shù)據(jù)和程序代碼。劃分模塊時,盡量做到高內(nèi)聚,低耦合,保持模塊相對獨立性,并以此原則優(yōu)化初始的軟件結(jié)構(gòu);軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應適當;模塊的大小應適中;模塊的接口要簡單、清晰、含義明確,便于理解,易于實現(xiàn)、測試與維護。3、內(nèi)聚標志著一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴展。內(nèi)聚有:功能內(nèi)聚、信息內(nèi)聚、通信內(nèi)聚、過程內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、偶然內(nèi)聚和非直接內(nèi)聚。功能內(nèi)聚最好,非直接耦合最不好。4、耦合表示軟件結(jié)構(gòu)內(nèi)不同模塊彼此直接相互依賴的緊密程度,是衡量軟件模塊結(jié)構(gòu)質(zhì)量好壞、對模塊獨立性的直接衡量指標。耦合的類型有:數(shù)據(jù)耦合、控制耦合、公共環(huán)境耦合、內(nèi)容耦合和標記耦合。數(shù)據(jù)耦合好,內(nèi)容耦合不好。5、模塊的獨立性是耦合和內(nèi)聚的集成,原則是模塊之間低耦合,模塊內(nèi)部各元素高內(nèi)聚。6、概要設(shè)計基本原理(也就是概要設(shè)計原則)基本思想是:模塊化設(shè)計、自頂向下逐步求精設(shè)計、模塊獨立性、信息隱蔽性及抽象。項目五習題答案一、填空題:(1)~(5)CACCA(6)~(10)ABAAA二、簡答題:5-1、面向?qū)ο蠓治鍪窃谙到y(tǒng)所要求解的問題域中找出對象(具有屬性和行為)以及它所屬的類,并定義好對象與類;面向?qū)ο笤O(shè)計是把系統(tǒng)所要求解的問題分解為一些對象及對象間傳遞消息的過程;面向?qū)ο髮崿F(xiàn)是把數(shù)據(jù)和處理數(shù)據(jù)的過程結(jié)合為一個對象。面向?qū)ο蠹夹g(shù)具有許多特色,一是面向?qū)ο蠓椒ǖ奈ㄒ恍?,即面向?qū)ο蠓椒ㄊ菍浖_發(fā)過程所有階段進行綜合考慮而得到的唯一有效方法;二是面向?qū)ο蠹夹g(shù)中生存期的一個階段到下一個階段的高度連續(xù)性,即在一個階段所用的組成部分與下一個階段所使用的組成部分是銜接的或無縫連接的;三是把面向?qū)ο蠓治觯∣OA)、面向?qū)ο蟮脑O(shè)計(OOD)和面向?qū)ο蟪绦蛟O(shè)計(OOP)集成到軟件生存期對應的不同階段。5-2、對象由一組屬性和對這組屬性進行操作的一組方法(即服務)組成。類是具有相同特征(即屬性)和行為(或操作)的一組對象的集合。即類是關(guān)于對象的抽象描述,反映了該對象類型的所有對象的性質(zhì),例如:班級類,汽車類等。屬性就是對象所包含的數(shù)據(jù),它代表對象的狀態(tài),它在設(shè)計對象時確定,一般只能通過執(zhí)行對象的操作來改變,例如,一名客戶的屬性有姓名、住址、電話號碼等。操作(即方法或服務)描述了對象執(zhí)行的操作功能,也就是類中所定義的服務。它描述了對象執(zhí)行操作的算法,響應消息的方法??梢酝ㄟ^向?qū)ο蟀l(fā)送消息來調(diào)用其方法。消息就是兩個對象之間傳遞的信息或發(fā)出的服務請求。消息是對象之間通信的手段,一個對象向另一對象發(fā)送消息來請求其服務。消息的使用類似于函數(shù)調(diào)用,消息中指定了接收消息的某一個對象(或?qū)嵗┟Q,一個消息標識符(也稱消息名或操作名)和一個參數(shù)表(零個或多個參數(shù),可能是空的)。接收消息的實例執(zhí)行消息中指定的操作,并將形式參數(shù)與參數(shù)表中相應的值結(jié)合起來。5-3、OOA階段需要建立的模型主要包括對象模型、動態(tài)模型和功能模型三種,其中的對象模型是最基本、最重要、最核心的模型,對象模型描述了系統(tǒng)的靜態(tài)數(shù)據(jù)結(jié)構(gòu);動態(tài)模型描述了系統(tǒng)控制結(jié)構(gòu)及交互次序;功能模型描述了系統(tǒng)的功能及數(shù)據(jù)變換。這三種模型分別用來創(chuàng)建軟件系統(tǒng)的靜態(tài)建模圖、動態(tài)建模圖及數(shù)據(jù)流圖。5-4、面向?qū)ο笤O(shè)計準則主要包括模塊化、抽象、信息隱藏、低耦合、高內(nèi)聚和復用性六點。五個層次:面向?qū)ο笤O(shè)計(OOD)模型同OOA一樣也由主題、類-&-對象、結(jié)構(gòu)、屬性和服務等5個層次組成。四個子系統(tǒng)(或組成部分)指:問題域子系統(tǒng)(PDC)、人機交互子系統(tǒng)(HIC)、任務管理子系統(tǒng)(TMC)和數(shù)據(jù)管理子系統(tǒng)(DMC)項目六習題答案一、填空題1BAD2C3(A)4(B)5A(1)通用性B(1)易用性C(3)表格驅(qū)動方式D(1)完備的文件資料E(3)C二、簡答題6-1.如何評價一個“好的程序員”,“好的程序員”應該有那些素質(zhì)?團隊精神和協(xié)作能力文檔習慣規(guī)范化、標準化的代碼編寫習慣需求理解能力復用性和模塊化思維能力測試習慣學習和總結(jié)的能力6-2.程序員升為項目經(jīng)理后是否還要編程?答:讓我們先看看Microsoft公司的系統(tǒng)軟件部門與應用軟件部門的領(lǐng)導是怎樣看待這個問題的[Cusumano1996]。WindowsNT3.0項目的軟件經(jīng)理婁·帕雷羅里讓他手下的經(jīng)理們像他一樣每天花一半的時間編寫代碼:我在組內(nèi)制定了許多規(guī)則,其中最重要的一條是每個人都得編程,誰也別想坐在那兒發(fā)號施令……我發(fā)現(xiàn)管理者很容易失去目標,他們總是無法認識到問題的本質(zhì)并且反應遲緩。如果你始終不放棄編寫代碼,你就能對項目的進展情況了如指掌,及時發(fā)現(xiàn)并解決問題……我大概每天花一半的時間編寫代碼并尋找項目的缺陷。作為應用軟件領(lǐng)域的經(jīng)理,克里斯·彼得斯也持同樣的看法。在他任Word項目總經(jīng)理時就認為:在一些大公司內(nèi)部,各部門經(jīng)理把具體操作的層次向下移。你一旦當上開發(fā)部門經(jīng)理,很快就會以自己身居高位、日理萬機為由放棄編程;同樣地,開發(fā)小組的組長會以自己重任在肩而不愿編程;至于程序員也會覺得自己十分繁忙、分身無術(shù)而不再多編寫程序。雖然我是270名員工的領(lǐng)導,似乎不再需要做什么具體的工作了,但我還是為Word新版本編寫了一個特性。程序員升為經(jīng)理后一定要編程,這個道理已經(jīng)說得很清楚了。6-3.簡述軟件測試的主要過程。答:具體過程包括:單元測試、集成測試、系統(tǒng)測試、用戶的驗收測試。單元測試所檢測代碼的開發(fā)是否符合詳細設(shè)計的要求。集成測試所檢測此前測試過的各組成部分是否能完好地結(jié)合到一起。系統(tǒng)測試所檢測已集成在一起的產(chǎn)品是否符合系統(tǒng)規(guī)格說明書的要求。而驗收測試則檢測產(chǎn)品是否符合最終用戶的需求。6-4.簡述軟件測試的目的和對象。答:軟件測試的目標是盡可能早地找出軟件中潛在的各種錯誤和缺陷,并確保其得以修復,最終將高質(zhì)量的軟件系統(tǒng)交給用戶。軟件測試就是在軟件投入使用前,對軟件的需求分析、設(shè)計規(guī)格說明和系統(tǒng)編碼的最終復審。6-5.什么是黑盒測試?什么是白盒測試?答:白盒測試,也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,也就是已知產(chǎn)品的內(nèi)部工作過程,清楚最終生成軟件產(chǎn)品的計算機程序結(jié)構(gòu)及其語句,按照程序內(nèi)部的結(jié)構(gòu)測試程序,測試程序內(nèi)部的變量狀態(tài)、邏輯結(jié)構(gòu)、運行路徑等,檢驗程序中的每條通路是否都能按預定要求正確工作,檢查程序內(nèi)部動作或運行是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否按規(guī)定正常進行。黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生正確的輸出信息,并且保持外部信息(如,數(shù)據(jù)庫或文件)的完整性。6-6.什么叫單元測試?單元測試的任務有哪些?答:單元測試是最微小規(guī)模的測試,測試某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內(nèi)部程序設(shè)計和編碼的細節(jié)知識。單元測試任務包括:模塊接口測試;模塊局部數(shù)據(jù)結(jié)構(gòu)測試;模塊邊界條件測試;模塊中所有獨立執(zhí)行通路測試;模塊的各條錯誤處理通路測試。6-7.系統(tǒng)集成測試常見有哪兩種模式?各有什么優(yōu)缺點?答:集成測試基本可以概括為以下兩種:(1)非漸增式測試模式:先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序。(2)漸增式測試模式:把下一個要測試的模塊同已經(jīng)測試好的模塊結(jié)合起來進行測試,測試完以后再把下一個應該測試的模塊結(jié)合起來測試。兩種模式中,增量式集成模式有一定的優(yōu)勢,它們的優(yōu)缺點:(1)漸增式測試模式需要編寫的軟件較多,工作量較大,而非漸增式測試開銷小。(2)漸增式測試模式發(fā)現(xiàn)模塊間接口錯誤早,而非漸增式測試模式晚。(3)非漸增式測試模式發(fā)現(xiàn)錯誤,較難診斷,而使用漸增式測試模式,如果發(fā)現(xiàn)錯誤則往往和最近加進來的那個模塊有關(guān)。(4)漸增式測試更徹底。(5)使用非漸增式測試模式可以并行測試6-8.系統(tǒng)測試和驗收測試的區(qū)別?答:系統(tǒng)測試,英文是SystemTesting。是將已經(jīng)確認的軟件、計算機硬件、外設(shè)、網(wǎng)絡等其他元素結(jié)合在一起,進行信息系統(tǒng)的各種組裝測試和確認測試,系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不符或與之矛盾的地方,從而提出更加完善的方案。系統(tǒng)測試發(fā)現(xiàn)問題之后要經(jīng)過調(diào)試找出錯誤原因和位置,然后進行改正。是基于系統(tǒng)整體需求說明書的黑盒類測試,應覆蓋系統(tǒng)所有聯(lián)合的部件。對象不僅僅包括需測試的軟件,還要包含軟件所依賴的硬件、外設(shè)甚至包括某些數(shù)據(jù)、某些支持軟件及其接口等。驗收測試,系統(tǒng)開發(fā)生命周期方法論的一個階段,這時相關(guān)的用戶和/或獨立測試人員根據(jù)測試計劃和結(jié)果對系統(tǒng)進行測試和接收。它讓系統(tǒng)用戶決定是否接收系統(tǒng)。它是一項確定產(chǎn)品是否能夠滿足合同或用戶所規(guī)定需求的測試。這是管理性和防御性控制。項目七習題答案判斷題:(F為錯T為對)1T2F3F4F5T6F7T8T9F10F選擇題1C2B3(4)(5)(6)(3)(7)三、簡答題7-1.答:軟件的維護是指由于用戶的需求發(fā)生變化、硬件環(huán)境的變化,或是使用過程中發(fā)現(xiàn)問題等因素,需要對軟件進行的修改或者更新。軟件維護的內(nèi)容主要有:改正性維護;適應性維護;完善性維護;預防性維護。7-2.答:軟件可維護性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求而進行修改、擴充或壓縮的容易程度??删S護性度量的特性有:軟件的可理解性、可測試性、可修改性、可靠性、可移植性、可使用性和效率。7-3.答:為了提高軟件的可維護性,可以從以下幾個方面著手:
(1)建立明確的軟件質(zhì)量目標和優(yōu)先級;
(2)使用提高軟件質(zhì)量的技術(shù)和工具;
(3)進行明確的質(zhì)量保證審查;
(4)選擇可維護的程序設(shè)計語言;
(5)改進程序的文檔;7-4.答:再生工程主要有以下三種類型:逆向工程、重構(gòu)和前向工程。項目八習題答案一、選擇題答案:(1)A(2)C(3)B(4)D(5)D二、簡答題8-1.答:有明確的目標;項目之間的活動具有相關(guān)性;限定的周期;有獨特性;資源成本的約束性項目的不確定性簡述基線變更管理的基本過程?;€變更需要經(jīng)過SCCB授權(quán),按程序進行控制并記錄基線修改過程。變更過程包括如下4步:首先提出變更申請并填寫相應的變更申請表對變更申請進行評估,對變更的類型及可能產(chǎn)生的影響進行評審根據(jù)評估結(jié)果決定批準或拒絕變更,并確定版本更新(若批準)從基線庫提取基線產(chǎn)品修改,完成變更和版本升級。8-2.答:需求獲取指通過與用戶的交流、對現(xiàn)有系統(tǒng)的觀察及對任務進行分析,從而開發(fā)、捕獲和修訂用戶的需求。需求獲取的主要活動包括:-了解客戶方的所有用戶類型及潛在的類型-對用戶進行訪談和調(diào)研,包括會議討論、郵件提問、自行搜集等各種形式-對收集到的用戶需求作進一步分析整理-將調(diào)研得到的用戶需求以適當?shù)男问匠式唤o用戶和開發(fā)方相關(guān)人員8-3.答:軟件配置管理是一套規(guī)范、高效的管理軟件開發(fā)及各種中間軟件產(chǎn)品的方法和規(guī)則。配置管理的主要功能是記錄軟件產(chǎn)品的演化過程,實施有效的版本管理和變更管理,最終保證軟件產(chǎn)品的完整性、一致性、追朔性、可控性。配置管理的基本目標是:有計劃地對各種項目產(chǎn)品進行標識管理;讓各種項目產(chǎn)品能夠被識別、控制和獲取;讓各種項目產(chǎn)品的更改得到有效控制;讓相關(guān)組織或個人及時了解軟件基線的狀態(tài)和內(nèi)容。8-4.答:風險的客觀性:是不以人的意志為轉(zhuǎn)移的;風險的不確定性:風險難以度量和掌控風險的不利性:風險發(fā)生時將導致?lián)p失或破壞;風險的可變性:在一定的條件下風險可以轉(zhuǎn)化風險的相對性:不同的主體對風險的承受辦不同;風險同利益的對稱性:風險與利益共存何謂自下而上估算法?它適用什么情況?具有什么特點?自下而上估算法是利用任務分解結(jié)構(gòu)圖,對各個具體工作包進行詳細的成本估算,然后將結(jié)果累加起來得出項目總成本。該方法主要適用于項目開始以后和WBS的開發(fā)階段,或需要進行準確估算的時候。它的特點是估算結(jié)果比較準確,準確度決定于每個任務的估算情況。但非常費時,估算本身的費用較大,且可能發(fā)生虛報夸大成本現(xiàn)象。8-5答:建立了機構(gòu)級的軟件開發(fā)和維護過程。軟件人員對其有較好的理解。一切活動均遵循過程的要求進行,做到工作步驟有次序,且有章可循;軟件過程必要時可做改進,但需在經(jīng)小型實驗和成本效益分析基礎(chǔ)上進行;軟件產(chǎn)品的質(zhì)量和客戶對軟件產(chǎn)品的滿意程度不是由開發(fā)人員,而是由負責質(zhì)量保證的經(jīng)理負責監(jiān)控;項目進度和預算是根據(jù)以往項目取得的實踐經(jīng)驗確定,因而比較符合實際情況。8-6答:(1)參考以前完成的類似項目,估計待開發(fā)項目的工作量和成本(2)將大的項目分解成若干個小項目,分別對每個子項目的工作量和成本進行估算,再估算整個項目的工作量和成本。(3)根據(jù)軟件生存周期,分別估算出軟件開發(fā)各階段的工作量和成本,然后再把這些工作量和成本匯總,估算出整個項目的工作量和成本。(4)根據(jù)實驗或歷史數(shù)據(jù)給出軟件項目工作量或成本的經(jīng)驗估算公式。8-7ISO9000與CMMI有什么區(qū)別和聯(lián)系?答:IS09000與CMMI均可作為軟件企業(yè)的過程改善框架。CMMI僅僅適用于軟件行業(yè),而IS09000的適應更廣泛,但絕不是說IS09000不適合軟件企業(yè)。二者的聯(lián)系:就內(nèi)容來講,IS09000不覆蓋CMMI,也不完全覆蓋IS09000。一般而言,通過ISO9000認證的企業(yè)可達到CMMI2級或略高的程度,通過CMMI3級的企業(yè)只要稍做補充,就可較容易地通過ISO9000認證。粗略地說,ISO9000近似于CMMI2.5級。二者的聯(lián)系區(qū)別:IS09000與CMMI均可作為軟件企業(yè)的過程改進框架,其不同之處是,一個是”泛用”,一個是”專用”。ISO9000標準面向合同環(huán)境,站在用戶立場,要求對質(zhì)量要素進行控制,規(guī)定了質(zhì)量體系的最低標準。而CMMI標準則強調(diào)軟件開發(fā)過程的成熟度,即內(nèi)部過程的不斷改進和提高。在形式上,ISO9000審核只有”通過”和”不通過”兩個結(jié)論,而CMMI評定則是一個動態(tài)過程,軟件組織在通過低級別評估后,可根據(jù)高級別的要求確定改進方略。對于軟件企業(yè)應該通過哪個級別認證?答:對于軟件企業(yè),既要通過IS09000認證,也要達到CMMI高的級別(動態(tài)的)。8-8CMMI的五個級別是什么?各級別之間有什么區(qū)別和聯(lián)系?答:CMMI與CMM最大的不同點在于:CMMISM-SE/S
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【期末測試】滿分預測押題卷(B卷·能力提升練)(解析版)
- 《高校防艾知識講座》課件
- 2025水電承包合同的示例文本
- 2025珠海市塑料交易所PVC貨物交割合同范本
- 2024年度四川省公共營養(yǎng)師之四級營養(yǎng)師模擬預測參考題庫及答案
- 雙角度濁度計行業(yè)市場發(fā)展及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024財務公司行業(yè)分析報告
- 2025FIDIC合同條件與國際工程合同
- 鐵水罐項目可行性研究報告
- 中國八寶粥行業(yè)市場發(fā)展現(xiàn)狀及前景趨勢與投資分析研究報告(2024-2030版)
- 2021年新疆烏魯木齊市中考化學一模試卷(附答案詳解)
- 張家爺爺?shù)男』ü?
- 高中思想政治-高三一輪復習講評課教學課件設(shè)計
- 自動噴水滅火系統(tǒng)的設(shè)計計算
- 教師評職稱個人綜述
- LSI-陣列卡操作手冊
- 漢字文化解密(華中師范大學)超星爾雅學習通網(wǎng)課章節(jié)測試答案
- 黑龍江省哈爾濱市八年級上學期物理期末考試試卷及答案
- 商業(yè)綜合體設(shè)計說明書
- GB/T 19587-2017氣體吸附BET法測定固態(tài)物質(zhì)比表面積
- 比賽車門凹陷修復
評論
0/150
提交評論