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

下載本文檔

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

文檔簡(jiǎn)介

1、第一章1.1 什么是計(jì)算機(jī)軟件?軟件的特點(diǎn)是什么?計(jì)算機(jī)軟件是指計(jì)算機(jī)系統(tǒng)中的程序及其文檔軟件的特點(diǎn):軟件是一種邏輯實(shí)體, 而不是有形的系統(tǒng)元件, 其開發(fā)成本和進(jìn)度難以準(zhǔn)確地估算。軟件是被開發(fā)的或被設(shè)計(jì)的, 沒有明顯的制造過程, 一旦開發(fā)成功, 只需復(fù)制即可,但其維護(hù)的工作量大。軟件的使用沒有硬件那樣的機(jī)械磨損和老化問題。1.2 簡(jiǎn)述軟件的分類,并舉例說明1. 系統(tǒng)軟件系統(tǒng)軟件居于計(jì)算機(jī)系統(tǒng)中最接近硬件的一層,其他軟件一般都通過系統(tǒng)軟件發(fā)揮作用。例如:編譯軟件、操作系統(tǒng)。2. 支撐軟件支撐軟件是支撐軟件的開發(fā)和維護(hù)的軟件。例如:數(shù)據(jù)庫(kù)管理系統(tǒng)、網(wǎng)絡(luò)軟件、軟件工具、軟件開發(fā)環(huán)境。3. 應(yīng)用軟件應(yīng)

2、用軟件是特定應(yīng)用領(lǐng)域?qū)S玫能浖?。例如:工? 科學(xué)計(jì)算機(jī)軟件、嵌入式軟件、產(chǎn)品線軟件、 Web 應(yīng)用軟件、人工智能軟件。1.3 簡(jiǎn)述軟件語言的分類,并舉例說明。1. 需求定義語言是用于書寫軟件需求定義的語言。例如:PSL/PSA。2. 功能性語言是用于書寫軟件功能規(guī)約的語言,通常又稱為功能規(guī)約語言。例如:廣譜語言、 Z3. 設(shè)計(jì)性語言是用于書寫軟件設(shè)計(jì)規(guī)約的語言。例如:PDL。4. 實(shí)現(xiàn)性語言也稱為程序設(shè)計(jì)語言,是用于書寫計(jì)算機(jī)程序的語言。例如:C、 java、 PROLOG、FORTRAN、 COBOL、 Modula 。5. 文檔語言是用于書寫軟件文檔的語言。通常用自然語言或半形式化語言書

3、寫。1.4 什么是軟件工程?軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、 數(shù)學(xué)及管理科學(xué)等原理, 開發(fā)軟件的工程。 軟件工程借鑒 傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的。1.5 簡(jiǎn)述軟件工程的基本原則。軟件工程原則包括圍繞工程設(shè)計(jì)、工程支持和工程管理所提出的以下 4 條基本原則。1 . 選取適宜的開發(fā)模型必須認(rèn)識(shí)需求定義的易變性, 采用適宜的開發(fā)模型, 保證軟件產(chǎn)品滿足用戶的要求。2 . 采用合適的設(shè)計(jì)方法合適的設(shè)計(jì)方法有助于這些特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。3 .提供高質(zhì)量的工程支撐軟件工程項(xiàng)目的質(zhì)量與開銷直接取決于對(duì)軟件工程所提供的支撐質(zhì)量和效用。4 .重視軟件工程的管理僅當(dāng)軟件過程予以有效管

4、理時(shí),才能實(shí)現(xiàn)有效的軟件工程。1.6 軟件工程生存周期分哪幾個(gè)階段?分別簡(jiǎn)述各個(gè)階段的任務(wù)。1 .計(jì)算機(jī)系統(tǒng)工程計(jì)算機(jī)系統(tǒng)工程的任務(wù)是確定待開發(fā)軟件的總體要求和范圍,以及該軟件與其他計(jì)算機(jī)系統(tǒng)元素之間的關(guān)系,進(jìn)行成本估算,作出進(jìn)度安排,并進(jìn)行可行性分析。2 .需求分析需求分析主要解決待開發(fā)軟件要“做什么”的問題,確定軟件的功能、性能、 數(shù)據(jù)、界面等要求,生成軟件需求規(guī)約(也稱軟件需求規(guī)格說明)。3 .設(shè)計(jì) 系統(tǒng)設(shè)計(jì)的任務(wù)是設(shè)計(jì)軟件系統(tǒng)的體系結(jié)構(gòu),詳細(xì)設(shè)計(jì)的任務(wù)是設(shè)計(jì)各個(gè)組成成分的實(shí)現(xiàn)細(xì)節(jié),包括局部數(shù)據(jù)結(jié)構(gòu)和算法。4 . 編碼 編碼階段的任務(wù)是用某種程序設(shè)計(jì)語言,將設(shè)計(jì)的結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代

5、碼。5 .測(cè)試測(cè)試階段的任務(wù)是發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤和缺陷。1.7 簡(jiǎn)述CMM的5個(gè)等級(jí)。1. 初始級(jí)2. 可重復(fù)級(jí)3. 已定義級(jí)4. 已管理級(jí)5. 優(yōu)化級(jí)1.8 簡(jiǎn)述CMMI的連續(xù)式模型和階段式模型。1 .階段式模型的結(jié)構(gòu)類同于軟件CMM ,它關(guān)注組織的成熟度,CMMI-SE/SW/IPPD 1.1版中有5個(gè)成熟度等級(jí):初始的、已管理的、已定義的、定量管理的、優(yōu)化的。2 .連續(xù)式模型關(guān)注每個(gè)過程域的能力,CMMI中包括6個(gè)過程域能力等級(jí):未完成的、已執(zhí)行的、已管理的、已定義的、定量管理的、優(yōu)化的。1.9 簡(jiǎn)述各類軟件過程模型的特點(diǎn)。1 .瀑布模型:上一階段的活動(dòng)完成并經(jīng)過評(píng)審才能開始下一階段

6、的活動(dòng),接受上一階段活動(dòng)的結(jié)果作為本階段活動(dòng)的輸入,依據(jù)上一階段活動(dòng)的結(jié)果實(shí)施本階段應(yīng)完成的活動(dòng),對(duì)本階段的活動(dòng)進(jìn)行評(píng)審。2 .演化模型:從結(jié)構(gòu)初始的原型出發(fā),逐步將其演化成最終軟件產(chǎn)品的過程。演化模型特別適用于對(duì)軟件需求缺乏準(zhǔn)確認(rèn)識(shí)的情況。3 .增量模型:將軟件的開發(fā)過程分為若干個(gè)日程時(shí)間交錯(cuò)的線性序列,融合了瀑布模型的基本成分(重復(fù)地應(yīng)用)和演化模型的迭代特征,特別適用于需求經(jīng)常發(fā)生變化的軟件開發(fā)。4 .原型模型:開發(fā)人員和用戶在原型”上達(dá)成一致,縮短了開發(fā)周期,加快了工程進(jìn)度,降低成本。5 .螺旋模型:將原型實(shí)現(xiàn)的迭代特征與瀑布模型中控制的和系統(tǒng)化的方面結(jié)合起來, 不僅體現(xiàn)了這兩種模型的

7、優(yōu)點(diǎn),而且增加了風(fēng)險(xiǎn)分析。6 .噴泉模型:各個(gè)階段沒有明顯的界限,開發(fā)人員可以同步進(jìn)行開發(fā),可以提高軟件項(xiàng)目開發(fā)效率,節(jié)省開發(fā)時(shí)間,適應(yīng)于面向?qū)ο蟮能浖_發(fā)過程。7 .基于構(gòu)件的開發(fā)模型:利用預(yù)先包裝的構(gòu)件來構(gòu)造應(yīng)用系統(tǒng)。8 .形式化方法模型:易于發(fā)現(xiàn)需求的歧義性、不完整性和不一致性,易于對(duì)分析模型、 設(shè)計(jì)模型和程序進(jìn)行驗(yàn)證。1.10 敏捷軟件開發(fā)的特點(diǎn)是什么?1 .個(gè)體和交互勝過過程和工具2 .可以工作的軟件勝過面面俱到的文檔3 .客戶合作勝過合同談判4 .響應(yīng)變化勝過遵循計(jì)劃1.11 簡(jiǎn)述敏捷軟件開發(fā)的價(jià)值觀。1 .個(gè)人和交互高于過程和工具2 .可運(yùn)行軟件高于詳盡的文檔3 .與客戶協(xié)作高于

8、合同(契約)談判4 .對(duì)變更及時(shí)作出反應(yīng)高于遵循計(jì)劃1.12 簡(jiǎn)述敏捷軟件開發(fā)的原則。1 .最優(yōu)先的是通過盡早地和不斷地交有價(jià)值的軟件來使客戶滿意。2 .即使到了開發(fā)的后期,也歡迎改變需求。3 .以幾周到幾個(gè)月為周期,盡快、不斷地發(fā)布可運(yùn)行軟件。4 .在整個(gè)項(xiàng)目過程中,業(yè)務(wù)人員和開發(fā)人員必須天天一起工作。5 .以積極向上的員工為中心建立項(xiàng)目組,給予他們所需要的環(huán)境和支持,對(duì)他們的工作 予以充分的信任。6 .項(xiàng)目組內(nèi)效率最高、最有效的信息傳遞方式是面對(duì)面的交談。7 .測(cè)量項(xiàng)目進(jìn)展的首要依據(jù)是可運(yùn)行的軟件。8 .敏捷過程提倡可持續(xù)的開發(fā),項(xiàng)目發(fā)起者、開發(fā)者和用戶應(yīng)能長(zhǎng)期保持恒定的速度。9 .應(yīng)時(shí)刻

9、關(guān)注技術(shù)上的精益求精和好的設(shè)計(jì),以增強(qiáng)敏捷性。10 .簡(jiǎn)單化是必不可少的,這是盡可能減少不必要工作的藝術(shù)。11 .最好的構(gòu)架、需求和設(shè)計(jì)出自于自我組織的團(tuán)隊(duì)。12 .團(tuán)隊(duì)要定期反思怎樣才能更有效,并據(jù)此調(diào)整自己的行為。1.13 通過本章學(xué)習(xí),請(qǐng)對(duì)敏捷軟件開發(fā)作簡(jiǎn)要評(píng)價(jià)。(略)1.14 簡(jiǎn)述CASET具和環(huán)境的重要性。CASE已被證明可以加快開發(fā)速度,提高應(yīng)用軟件生產(chǎn)率并保證應(yīng)用軟件的可靠品,企業(yè)的各個(gè)部門通過使用計(jì)算機(jī)質(zhì)。計(jì)算機(jī)專業(yè)人員利用計(jì)算機(jī)使他們的企業(yè)提高了效率 提高了生產(chǎn)率和效率,增強(qiáng)了企業(yè)的競(jìng)爭(zhēng)力并使之帶來了更多的利潤(rùn)。第二章成本估算,并作出進(jìn)度安排。4.可行性分析主要從經(jīng)濟(jì)、技術(shù)、

10、法律等方面分析所給出的解決方案是否可行。5.生成系統(tǒng)規(guī)格說明作為以后開發(fā)基于計(jì)算機(jī)的系統(tǒng)的依據(jù)。2.1 簡(jiǎn)述系統(tǒng)工程的任務(wù)2.2 基于計(jì)算機(jī)的系統(tǒng)由哪些元素組成?1 .軟件2 . 硬件3 .人員.4 .數(shù)據(jù)庫(kù)5 .文檔6 . 規(guī)程2.3簡(jiǎn)述可行性分析的任務(wù)1 . 經(jīng)濟(jì)可行性a) 成本b) 效益c)貨幣的時(shí)間價(jià)值d)投資的回收期e) 純收入2 . 技術(shù)可行性a)風(fēng)險(xiǎn)分析b)資源分析;c)技術(shù)分析3 .法律可行性4 .方法的選擇和折衷第三章3.1需求工程的重要性是什么?可以喻定客戶需求 捋助分析人員理解問超 評(píng)估可行程 :悔瘠合理的解法方法 無 歧義的規(guī)約方案、確認(rèn)規(guī)約以及將規(guī)約轉(zhuǎn)換到可運(yùn)行的系統(tǒng)

11、時(shí)的管理要求。3.2需求工程具體包括哪些步驟?每個(gè)步驟的具體任務(wù)是什么?3.3 一個(gè)系統(tǒng)分析員應(yīng)該具備哪些思想素質(zhì)和基本知識(shí)?請(qǐng)說明理由。1.2.3.4.5.6.具有良好的書面和口頭交流表達(dá)能力。3.4 列出在制定需求獲取策略時(shí)的3種主要考慮因素。1 .功能需求。考慮系統(tǒng)要做什么,在何時(shí)做,在何時(shí)及如何修改或升級(jí)。2 .性能需求。考慮軟件開發(fā)的技術(shù)性指標(biāo)。3 .用戶或人對(duì)因素。考慮用戶的類型。3.5 (略)3.6 舉例說明一個(gè)系統(tǒng)的 3個(gè)不同類型的非功能需求答:非功能性需求是指軟件產(chǎn)品為滿足用戶業(yè)務(wù)需求而必須具有且除功能需求以外的特性。軟件產(chǎn)品的非功能性需求包括系統(tǒng)的性能、可靠性、可維護(hù)性、可

12、擴(kuò)充性和對(duì)技術(shù)和對(duì)業(yè)務(wù)的適應(yīng)性等。例如在銀行管理系統(tǒng)中,由于銀行數(shù)據(jù)量的龐大以及對(duì)銀行賬戶 的管理需求,用戶對(duì)系統(tǒng)的性能、可靠性、可維護(hù)性要求很高。安全性是對(duì)銀行用戶個(gè) 人信息保密的基本要求;在使用系統(tǒng)時(shí),由于用戶龐大,要求能快速安全的執(zhí)行要求, 這就對(duì)系統(tǒng)的性能有高需求;銀行的用戶的變動(dòng)比較大,需求高要求的系統(tǒng)維護(hù)。3.7 (略)3.8 軟件需求分析的操作性原則和需求工程的指導(dǎo)性原則是什么?需求分析的操作性原則:必須能夠表示和理解問題的信息域。必須能夠定義軟件將完成的功能。必須能夠表示軟件的行為(作為外部事件的結(jié)果)。必須劃分描述數(shù)據(jù)、功能和行為的模型,從而可以分層次地揭示細(xì)節(jié)。分析過程應(yīng)該

13、從要素信息轉(zhuǎn)移向細(xì)節(jié)信息需求工程的指導(dǎo)性原則:在開始建立分析模型之前應(yīng)當(dāng)先理解問題。如果問題沒有很好理解就急于求成,常常會(huì)產(chǎn)生一個(gè)解決錯(cuò)誤問題的完美的軟件。強(qiáng)力推薦使用原型。這樣做可以使用戶了解將如何與計(jì)算機(jī)交互,而人們對(duì)軟件質(zhì)量的認(rèn)識(shí)常常是基于對(duì)界面“友好性”的切身體會(huì)。記錄每一個(gè)需求的起源和原因。這是建立對(duì)用戶要求的可追溯性的第一步。使用多個(gè)視圖,建立系統(tǒng)的數(shù)據(jù)、功能和行為模型。這樣做可幫助分析員從多方面分析和理解問題,減少遺漏,識(shí)別可能的不一致之處。給需求賦予優(yōu)先級(jí)。因?yàn)檫^短的時(shí)限會(huì)減少實(shí)現(xiàn)所有軟件需求的可能性。因此,對(duì)需求排定一個(gè)優(yōu)先次序,標(biāo)識(shí)哪些需求先實(shí)現(xiàn),哪些需求后實(shí)現(xiàn)。注意消除歧

14、義性。因?yàn)榇蠖鄶?shù)需求都是以自然語言描述,存在敘述的歧義性問述造成遺漏和誤解。采用正式的技術(shù)評(píng)審是發(fā)現(xiàn)和消除歧義性的好方法。3.9 軟件需求規(guī)約主要包括哪些內(nèi)容?1 .引言2 .信息描述3 .功能描述4 .行為描述5 . 檢驗(yàn)標(biāo)準(zhǔn)6 . 參考書目7 .附錄3.10需求驗(yàn)證應(yīng)該有哪些人參加?分析人員、用戶、開發(fā)部門的管理者、軟件設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試的人員。第四章4.1 簡(jiǎn)述軟件設(shè)計(jì)階段的基本任務(wù)。1 .數(shù)據(jù)/類設(shè)計(jì):將分析類模型變換成類的實(shí)現(xiàn)和軟件實(shí)現(xiàn)所需要的數(shù)據(jù)結(jié)構(gòu)。2 .體系結(jié)構(gòu)設(shè)計(jì):定義了軟件的整體結(jié)構(gòu),由軟件部件、外部可見的屬性和他們之間的關(guān)系組成。3 .接口設(shè)計(jì):描述了軟件內(nèi)部、軟件和協(xié)作系

15、統(tǒng)之間以及軟件同人之間的通信方式。4 .部件級(jí)設(shè)計(jì):將軟件體系結(jié)構(gòu)的結(jié)構(gòu)性元素變換為對(duì)軟件部件的過過程性描述。4.2 軟件設(shè)計(jì)與軟件質(zhì)量的關(guān)系是怎么樣的?設(shè)計(jì)是在軟件開發(fā)中形成質(zhì)量的階段,設(shè)計(jì)提供了可以用于質(zhì)量評(píng)估的軟件表示,是將用戶需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的主要途徑。4.3 (略)4.4 簡(jiǎn)述模塊、模塊化及模塊化設(shè)計(jì)的概念。模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,是單?dú)命名的,并且可以通過名字來訪問的。模塊化是指把軟件按照規(guī)定原則,劃分為一個(gè)個(gè)較小的, 相互獨(dú)立的但又相互關(guān)聯(lián)的部件。模塊化設(shè)計(jì)就是程序的編寫不是開始就逐條錄入計(jì)算機(jī)語句和指令,而是首先用主程序、子程序、子過程等

16、框架把軟件的主要結(jié)構(gòu)和流程描述出來,并定義和調(diào)試好各個(gè)框架之間的輸入、輸出鏈接關(guān)系。4.5 舉例說明每種類型的模塊耦合度和每種類型的模塊內(nèi)聚度。a)內(nèi)容耦合:當(dāng)一個(gè)模塊直接修改或操作另一個(gè)模塊的數(shù)據(jù),或者直接轉(zhuǎn)入另一個(gè)模塊時(shí)就發(fā)生了內(nèi)容耦合。 此時(shí),被修改的模塊完全依賴于修改它的模塊。如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合:i. 一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù)ii. 一個(gè)模二;(不辿登正常入I沌劑另一模見內(nèi)部iii. 兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編語言中)iv. 一個(gè)模塊有多個(gè)入口。b)公共耦合:若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。

17、公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。c)外部耦合:一組模塊都訪問同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。d)控制耦合:如果一個(gè)模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息, 明顯地控制選擇另一模塊的功能,就是控制耦合。e)標(biāo)記耦合:一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。其實(shí)傳遞的是這個(gè)數(shù)據(jù)結(jié)構(gòu)的地址。f) 數(shù)據(jù)耦合:一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量 )來交換輸入、輸出信息的。g)非直接耦合:兩個(gè)模塊

18、之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的1 .巧合內(nèi)聚:講幾個(gè)模塊中沒有明確表現(xiàn)出獨(dú)立功能的相同程序代碼段獨(dú)立出來建立 的模塊稱巧合內(nèi)聚模塊。2 .邏輯內(nèi)聚:邏輯內(nèi)聚是指完成一組邏輯相關(guān)任務(wù)的模塊,調(diào)用該模塊時(shí),由傳送給模塊的控制性參數(shù)來確定該模塊應(yīng)執(zhí)行哪一種功能。3 .時(shí)間內(nèi)聚:時(shí)間內(nèi)聚是指一個(gè)模塊中的所有任務(wù)必須在同一時(shí)間段內(nèi)執(zhí)行。4 .過程內(nèi)聚:過程內(nèi)聚是指一個(gè)模塊完成多個(gè)任務(wù),這些任務(wù)必須指定的過程執(zhí)行。5 .通信內(nèi)聚:通信內(nèi)聚是指一個(gè)模塊內(nèi)所有處理元素都集中在某個(gè)數(shù)據(jù)結(jié)構(gòu)的一塊區(qū) 域中。6 .順序內(nèi)聚:順序內(nèi)聚是指一個(gè)模塊完成多個(gè)功能,這些功能又必須順序執(zhí)

19、行7 .功能內(nèi)聚:功能內(nèi)聚是指一個(gè)模塊中各個(gè)部分都是為完成一項(xiàng)具體功能而協(xié)同工 作,緊客龍裒不可分割;4.6 耦合和軟件可移植性的概念有何關(guān)系?耦合性是2個(gè)或多個(gè)模塊相關(guān)的程度,可移植性是指軟件從一個(gè)平臺(tái)/環(huán)境轉(zhuǎn)移到另一個(gè)平臺(tái)/環(huán)境的難易程度。4.7 描述信息隱蔽概念,并討論信息隱蔽與模塊獨(dú)立兩概念之間的關(guān)系。1 .信息隱蔽指在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含信息(過程或數(shù)據(jù)),對(duì)于不需要這些信息的其他模塊來說,是不能訪問的。在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對(duì)象的封裝性來實(shí)現(xiàn)的。2 .信息隱蔽的概念與模塊的獨(dú)立性直接相關(guān)4.8 什么是模塊的獨(dú)立性?設(shè)計(jì)中為什么模塊要獨(dú)立?如何度量獨(dú)立性?模

20、塊功能獨(dú)立有何 優(yōu)點(diǎn)?1 .模塊獨(dú)立性:A.模塊獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單B.模塊獨(dú)立性是指模塊內(nèi)部各部分及模塊間的關(guān)系的一種衡量標(biāo)準(zhǔn),由內(nèi)聚和耦合來度量。2. A.具有獨(dú)立的模塊的軟件比較容易開發(fā)出來。這是由于能夠分割功能而且接口可以簡(jiǎn)化,當(dāng)許多人分工合作開發(fā)同一個(gè)軟件時(shí),這個(gè)優(yōu)點(diǎn)尤其重要。B.獨(dú)立的模坎冷易加戊和汨九區(qū)泉閃為川時(shí)說來修及既卜可程汴需如勺工 作量比較小,錯(cuò)誤傳播范圍小,需要擴(kuò)充功能時(shí)能夠插入模塊??傊?,模塊獨(dú)立是優(yōu)秀設(shè)計(jì)的關(guān)鍵,而設(shè)計(jì)又是決定軟件質(zhì)量的關(guān)鍵環(huán)節(jié)。3. 模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合。4.

21、A.具有獨(dú)立的模塊的軟件比較容易開發(fā)出來。這是由于能夠分割功能而且接口可以簡(jiǎn)化,當(dāng)許多人分工合作開發(fā)同一個(gè)軟件時(shí),這個(gè)優(yōu)點(diǎn)尤其重要。B.獨(dú)立的模塊比較容易測(cè)試和維護(hù)。4.9軟件設(shè)計(jì)規(guī)約主要包括哪些內(nèi)容?1 .工作范圍A.系統(tǒng)目標(biāo)B.運(yùn)行環(huán)境C.主要軟件需求D. 設(shè)計(jì)約束/ 限制2. 體系結(jié)構(gòu)設(shè)計(jì)A. 數(shù)據(jù)流與控制流復(fù)審B. 導(dǎo)出的程序結(jié)構(gòu)C. 功能與程序交叉索引3. 數(shù)據(jù)設(shè)計(jì)A. 數(shù)據(jù)對(duì)象與形成的數(shù)據(jù)結(jié)構(gòu)B.文件和數(shù)據(jù)庫(kù)結(jié)構(gòu):L文件的邏輯結(jié)構(gòu);ii.文件邏輯記錄描述;iii.訪問方式C. 全局?jǐn)?shù)據(jù)D. 文件 / 數(shù)據(jù)與程序交叉索引4. 接口設(shè)計(jì)A. 人機(jī)界面規(guī)格說明B. 人機(jī)界面設(shè)計(jì)規(guī)則C.外

22、部接口設(shè)計(jì):i.外部數(shù)據(jù)接口;ii.外部系統(tǒng)或設(shè)備接口D. 內(nèi)部接口設(shè)計(jì)規(guī)則5. 各部件的過程設(shè)計(jì)A. 處理與算法描述B. 接口描述C. 設(shè)計(jì)語言(或其他)描述D. 使用的部件E. 內(nèi)部程序邏輯描述F. 注釋 /約束 / 限制6. 運(yùn)行設(shè)計(jì)A. 運(yùn)行部件組合B. 運(yùn)行控制C. 運(yùn)行時(shí)間7. 出錯(cuò)處理設(shè)計(jì)A. 出錯(cuò)處理信息B.出錯(cuò)處理對(duì)策:i.設(shè)置后備;ii.性能降級(jí);iii.恢復(fù)和再啟動(dòng)8. 安全保密設(shè)計(jì)9. 需求 / 設(shè)計(jì)交叉索引10. 測(cè)試部分A. 測(cè)試方針B. 集成策略C. 特殊考慮11. 特殊注解12. 附錄第五章5.1 簡(jiǎn)述數(shù)據(jù)流圖的主要思想,概述使用數(shù)據(jù)流圖進(jìn)行需求分析的過程。數(shù)據(jù)

23、流圖描述輸入數(shù)據(jù)流到輸出數(shù)據(jù)流的變換(即加工) ,用于對(duì)系統(tǒng)的功能建模。1. 畫出系統(tǒng)的輸入和輸出A. 確定源和宿B. 確定加工C. 確定數(shù)據(jù)流D. 頂層圖通常沒有文件2. 畫出系統(tǒng)內(nèi)部A. 確定加工B. 確定數(shù)據(jù)流C. 確定文件D. 確定源和宿3. 畫出加工內(nèi)部4. 重復(fù)第 3 步,直至每個(gè)尚未分解的加工都足夠簡(jiǎn)單(即不必再分解)5.2 分別采用數(shù)據(jù)流方法中的哪些技術(shù)來完成用戶需求的精確化、一致化和完全化任務(wù)?1. 父圖和子圖平衡2. 數(shù)據(jù)守恒3. 局部文件4. 一個(gè)加工的輸入數(shù)據(jù)流不能與該加工的輸入數(shù)據(jù)流同名5. 每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流6. 在整套分層數(shù)據(jù)流中, 每個(gè)

24、文件應(yīng)至少有一個(gè)加工讀該文件, 有另一個(gè)加工寫該文 件。7. 分層數(shù)據(jù)流圖中得每個(gè)數(shù)據(jù)流和文件都必須命名 (除了流入或流出文件的數(shù)據(jù)流) 并且與數(shù)據(jù)字典一致。8. 分層 DFD 中的每個(gè)基本加工(即不再分解子圖的加工)都應(yīng)有一個(gè)加工規(guī)約。5.3 (略)5.4 在數(shù)據(jù)流圖中,可否將兩個(gè)加工用一個(gè)數(shù)據(jù)流相連?可否將兩個(gè)源用一個(gè)數(shù)據(jù)流相連?為什么??jī)蓚€(gè)加工可以直接用數(shù)據(jù)流相連, 兩個(gè)源不能直接用數(shù)據(jù)流相連。 因?yàn)閿?shù)據(jù)流由一組固定成分的數(shù)據(jù)組成。在DFD 中,數(shù)據(jù)流的流向可以有以下幾種:從一個(gè)加工劉向另一個(gè)加工, 從加工流向文件 (寫文件) , 從文件流向加工 (讀文件) , 從源流向加工, 從加工流

25、向宿。5.5 (略)5.6 (略)5.7采用結(jié)構(gòu)化分析方法寫出書店管理系統(tǒng)的需求文檔,包括數(shù)據(jù)流圖及數(shù)據(jù)字典。2、數(shù)據(jù)字典存書數(shù)據(jù)字典:屬性名類型長(zhǎng)度備注書號(hào)char10書的編號(hào)書名char30書的名稱作者char20書的寫作者類型char20書的類型簡(jiǎn)述char150書的簡(jiǎn)單介紹單價(jià)smallmoney4書的價(jià)格現(xiàn)存數(shù)量int4店內(nèi)的現(xiàn)有存書數(shù)量店內(nèi)位置char20書在店內(nèi)的具體位置出版社號(hào)char10出版社的編號(hào)特價(jià)書char2是否為特價(jià)書(缺省值是“否”)出版社數(shù)據(jù)字典:屬性名類型長(zhǎng)度備注出版小char10:出版社的編號(hào)出版社名稱char20出版社的名稱所在城巾char10:出版社所在的

26、城市1電話char15出版社的聯(lián)系電話進(jìn)貨數(shù)據(jù)字典:屬性名類型長(zhǎng)度備注書號(hào)char10:書的編號(hào)進(jìn)價(jià)smallmoney4書的進(jìn)價(jià)進(jìn)貨數(shù)量1int4;每本書的進(jìn)貨數(shù)量1日期datetime8進(jìn)貨的日期銷售數(shù)據(jù)字典:屬性名類型長(zhǎng)度備注日期datetime8;售貨的日期書號(hào)char10書的編號(hào)銷int4售出的書本數(shù)量銷售金額money8銷售金額-(單價(jià)*銷售量)會(huì)員信息數(shù)據(jù)字典:屬性名類型長(zhǎng)度備注客服號(hào)char8:會(huì)員卡的卡號(hào)姓名char20會(huì)員的姓名地址char50會(huì)員的家庭住址電話char15:會(huì)員的電話號(hào)碼購(gòu)買書號(hào)char10書的編號(hào)店內(nèi)收出數(shù)據(jù)字典:屬性名長(zhǎng)度備注月份6水電支出4水電費(fèi)用員

27、工:支出4員工的工資其他支出4其他費(fèi)用支出結(jié)算8每月的總結(jié)算5.8 (略)5.9 (略)5.10第八早6.1 簡(jiǎn)述面向數(shù)據(jù)結(jié)構(gòu)方法的特點(diǎn)答:特點(diǎn)如下:1以信息對(duì)象及其操作作為核心進(jìn)行需求分析;2認(rèn)為復(fù)合信息對(duì)象具有層次結(jié)構(gòu),并且可按順序,選擇,重復(fù)3種結(jié)構(gòu)分解為成員對(duì)象信3提供由層次信息結(jié)構(gòu)映射為程序結(jié)構(gòu)的機(jī)制,從而為軟件設(shè)計(jì)奠定良好的基礎(chǔ)。6.2 采用Jackson圖表示下面的文件結(jié)構(gòu):第七章(略)第八章8.1 什么是構(gòu)件?答:根據(jù) pressman書中 的定義構(gòu)件是某系統(tǒng)中有價(jià)值的、幾乎獨(dú)立的并可替換的一個(gè)部分,它在良好定義的體系結(jié)構(gòu)語境內(nèi)滿足某種清晰的功能。根據(jù)brown的定義構(gòu)件是一個(gè)

28、獨(dú)立發(fā)布的功能部分,可以通過其接口訪問它的服務(wù)。根據(jù)計(jì)算機(jī)科學(xué)技術(shù)百科全書(第二版)中的定義軟件構(gòu)件是軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明確標(biāo)識(shí),接口由規(guī)約指定,與語境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí)體。軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型??蓮?fù)用構(gòu)件是指具有可復(fù)用價(jià)值的構(gòu)件。在基于構(gòu)件的軟件開發(fā)中經(jīng)常會(huì)使用到的商用成品構(gòu)件,是指由第三方開發(fā)的滿足一定構(gòu)件標(biāo)準(zhǔn)并且可組裝的軟件構(gòu)件。8.2 簡(jiǎn)述基于構(gòu)件的軟件開發(fā)過程?;跇?gòu)件的軟件開發(fā)過程:領(lǐng)域工程的步驟:1領(lǐng)域分析2建立領(lǐng)域特定的基準(zhǔn)體系結(jié)構(gòu)模型3標(biāo)識(shí)候選構(gòu)件4泛化和可變性分析5 構(gòu)件重構(gòu)6構(gòu)件的測(cè)試7構(gòu)件的包

29、裝8 構(gòu)件入庫(kù)應(yīng)用系統(tǒng)工程的步驟:1 建立應(yīng)用系統(tǒng)的體系結(jié)構(gòu)模型;2 尋找候選構(gòu)件;3 評(píng)價(jià)和選擇合適的構(gòu)件;4 構(gòu)件的修改和特化;5 開發(fā)未被復(fù)用的不分;6 構(gòu)件的組裝;7 集成測(cè)試;8 評(píng)價(jià)被復(fù)用的構(gòu)件,并推薦可能的新構(gòu)件。第九章(略)第十章(略)第十一章9 1.1 軟件測(cè)試的目的是什么?軟件測(cè)試的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤和缺陷,并加以糾正。10 .2 什么是白盒測(cè)試?什么是黑盒測(cè)試?白盒測(cè)試又稱結(jié)構(gòu)測(cè)試, 這種方法把測(cè)試對(duì)象看做一個(gè)透明的盒子, 測(cè)試人員根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息設(shè)計(jì)測(cè)試用例, 檢查程序中所有邏輯路徑是否都按預(yù)定的要求正確地工作。白盒測(cè)試主要用于對(duì)程序模塊的測(cè)試。包括

30、:程序模塊中的所有獨(dú)立路徑至少執(zhí)行一次。對(duì)所有邏輯判定的取值( “真”與“假” )都至少測(cè)試一次。在上下邊界及可操作范圍內(nèi)運(yùn)行所有循環(huán)測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性等黑盒測(cè)試又稱行為測(cè)試, 這種方法吧測(cè)試對(duì)象看做一個(gè)黑盒子, 測(cè)試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性, 只依據(jù)程序的需求規(guī)格說明書, 檢查程序的功能是否符和它的功能需求。黑盒測(cè)試可用于各種測(cè)試,它試圖發(fā)現(xiàn)以下類型的錯(cuò)誤:不正確或遺漏的功能接口錯(cuò)誤,如輸入輸出參數(shù)的個(gè)數(shù)、類型等數(shù)據(jù)結(jié)構(gòu)錯(cuò)誤或外部信息(如外部數(shù)據(jù)庫(kù))訪問錯(cuò)誤性能錯(cuò)誤初始化和終止錯(cuò)誤11 .3解:判定覆蓋: ( 1 ) X=85,Y=85( 2) X=70 , Y=95

31、( 3) X=30 , Y=95條件覆蓋: ( 1) X=85 , X=85( 2 ) X=70 , Y=75( 3 ) X=95 , Y=50( 4 ) X=50 , Y=95( 5 ) X=40 , Y=40判定條件覆蓋: ( 1 ) X=85 , X=85( 2) X=70 , Y=75( 3) X=95 , Y=50( 4) X=50 , Y=95( 5) X=40 , Y=40( 6) X=20 , Y=95( 7) X=95 , Y=20條件組合覆蓋: ( 1 ) X=85 , X=85( 8) X=65 , Y=85( 9) X=85 , Y=65( 10) X=70 , Y=7

32、5( 11) X=95 , Y=50( 12) X=50 , Y=95( 13) X=40 , Y=40路徑覆蓋: ( 1) X=85,Y=85( 2) X=70 , Y=95( 3) X=30 , Y=7011.4 (略)11.5 分別簡(jiǎn)述單元測(cè)試、集成測(cè)試、確認(rèn)測(cè)試和系統(tǒng)測(cè)試的任務(wù)。1. 單元測(cè)試: 又稱模塊測(cè)試, 著重對(duì)軟件設(shè)計(jì)的最小單元軟件構(gòu)件或模塊進(jìn)行驗(yàn)證。 單元測(cè)試根據(jù)設(shè)計(jì)描述, 對(duì)重要的控制路徑進(jìn)行測(cè)試, 已發(fā)現(xiàn)構(gòu)建或模塊內(nèi)部的錯(cuò)誤, 通常采用白盒測(cè)試, 并且多個(gè)構(gòu)件或模塊可以并行測(cè)試。 單元測(cè)試的主要內(nèi)容:接口、局部數(shù)據(jù)結(jié)構(gòu)、邊界條件、獨(dú)立路徑和錯(cuò)誤處理路徑。2. 集成測(cè)試:

33、也叫組裝測(cè)試或聯(lián)合測(cè)試。 在單元測(cè)試的基礎(chǔ)上, 將所有模塊按照要求(如根據(jù)結(jié)構(gòu)圖) 組裝成為子系統(tǒng)或系統(tǒng), 進(jìn)行集成測(cè)試。 使用黑盒測(cè)試方法測(cè)試集成的功能,并且對(duì)以前的集成進(jìn)行回歸測(cè)試。3. 確認(rèn)測(cè)試: 經(jīng)集成測(cè)試后, 已經(jīng)按照設(shè)計(jì)把所有的模塊組裝成一個(gè)完整的軟件系統(tǒng), 接口錯(cuò)誤也已經(jīng)基本排除了, 接著就應(yīng)該進(jìn)一步驗(yàn)證軟件的有效性, 這就是確認(rèn)測(cè)試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。4. 系統(tǒng)測(cè)試:將已經(jīng)確認(rèn)的軟件、計(jì)算機(jī)硬件、外設(shè)、網(wǎng)絡(luò)等其他元素結(jié)合在一起,進(jìn)行信息系統(tǒng)的各種組裝測(cè)試和確認(rèn)測(cè)試, 系統(tǒng)測(cè)試是針對(duì)整個(gè)產(chǎn)品系統(tǒng)進(jìn)行的測(cè)試, 目的是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義,

34、 找出與需求規(guī)格不符或與之矛盾的地方,從而提高更加完善的方案。11.6 什么是“測(cè)試?什么是3測(cè)試?1. a測(cè)試時(shí)由一個(gè)用戶在開發(fā)者的場(chǎng)所進(jìn)行的測(cè)試,軟件在開發(fā)者對(duì)用戶的“指導(dǎo)下”進(jìn)行測(cè)試。經(jīng)過a測(cè)試后的軟件成為3版軟件。2. 3測(cè)試是指軟件開發(fā)公司組織各方面的典型用戶在日常工作中實(shí)際使用3版本,并要求用戶報(bào)告異常情況、提出批評(píng)意見,然后軟件開發(fā)公司再對(duì)3版本進(jìn)行改錯(cuò)和完善。11.7 什么是回歸測(cè)試?回歸測(cè)試就是對(duì)已經(jīng)進(jìn)行過的測(cè)試的子集的重新執(zhí)行, 以確保對(duì)程序的改變和修改, 沒 有傳播非故意的副作用。11.8 簡(jiǎn)述邊界值分析方法的作用。長(zhǎng)期的測(cè)試工作經(jīng)驗(yàn)告訴我們, 大量的錯(cuò)誤時(shí)發(fā)生在輸入或輸

35、出范圍的邊界上, 而不是發(fā)生在輸入輸出范圍的內(nèi)部。因此針對(duì)各種邊界情況設(shè)計(jì)測(cè)試用例,可以查出更多的錯(cuò)誤。第十二章(略)第十三章13.1 請(qǐng)討論時(shí)軟件維護(hù)成本居高不下的因素。如何盡可能降低這些因素的影響?1.a) 軟件的維護(hù)周期長(zhǎng);b) 需要維護(hù)的軟件往往沒有文檔、 或文檔資料嚴(yán)重不足、 或軟件的變化未在相應(yīng) 的文檔中反映出來;c) 維護(hù)活動(dòng)占用了其它軟件開發(fā)可用的資源,使資源的利用率降低;d) 一些修復(fù)或修改請(qǐng)求得不到及時(shí)安排,使得客戶滿意率下降;e) 維護(hù)的結(jié)果把一些新的潛在的錯(cuò)誤引入軟件,降低了軟件質(zhì)量;f) 將軟件人員抽調(diào)到維護(hù)工作中,使得其他軟件開發(fā)過程受到干擾。2.a) 確定質(zhì)量管理

36、目標(biāo)和優(yōu)先級(jí);b) 使用提高軟件質(zhì)量的技術(shù)和工具;c) 選擇可維護(hù)性高的程序設(shè)計(jì)語言;d) 完善程序文檔;e) 進(jìn)行質(zhì)量保證審查13.2 (略)13.3 軟件維護(hù)過程是如何進(jìn)行的?為什么要進(jìn)行軟件可維護(hù)性分析?1. 軟件維護(hù)過程包括: 建立維護(hù)組織; 確定維護(hù)過程;保管維護(hù)記錄;進(jìn)行維護(hù)評(píng)價(jià) 等四個(gè)階段。2. 可維護(hù)性是指理解、 改正、 調(diào)整和改進(jìn)軟件的難易程度。 進(jìn)行可維護(hù)性分析有利于做出正確的決定, 進(jìn)而采取相應(yīng)的方法應(yīng)對(duì)客戶的需求, 對(duì)確實(shí)不能或者沒有進(jìn)行 維護(hù)的價(jià)值的軟件堅(jiān)決不進(jìn)行維護(hù), 對(duì)于可以維護(hù)的軟件來說, 可維護(hù)性分析有助于我們了解軟件情況,從而做出相應(yīng)的維護(hù)措施13.4 (略)13.5 (略)13.6 (略)13.7 在重構(gòu)和正向工程之間存在的細(xì)微不同是什么?重構(gòu)是指在統(tǒng)一抽象級(jí)別上轉(zhuǎn)換系統(tǒng)的描述形式;正向工程過程應(yīng)用軟件工程的原理、概念、技術(shù)和方法來重新開發(fā)某個(gè)現(xiàn)有的應(yīng)用系統(tǒng)。從概念可以看出,重構(gòu)是從一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論