(第三版)軟件工程原理、方法與應(yīng)用_課后答案(史濟(jì)民_顧春華_鄭紅_著)_高等教育出版社_第1頁(yè)
(第三版)軟件工程原理、方法與應(yīng)用_課后答案(史濟(jì)民_顧春華_鄭紅_著)_高等教育出版社_第2頁(yè)
(第三版)軟件工程原理、方法與應(yīng)用_課后答案(史濟(jì)民_顧春華_鄭紅_著)_高等教育出版社_第3頁(yè)
(第三版)軟件工程原理、方法與應(yīng)用_課后答案(史濟(jì)民_顧春華_鄭紅_著)_高等教育出版社_第4頁(yè)
(第三版)軟件工程原理、方法與應(yīng)用_課后答案(史濟(jì)民_顧春華_鄭紅_著)_高等教育出版社_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程一一原理、方法與應(yīng)用緒論兒什么是軟件危機(jī)?為什么會(huì)產(chǎn)生軟件危機(jī)?答:軟件危機(jī)是指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中遇到的一系列嚴(yán)覓問(wèn)題。(1).軟件維護(hù)費(fèi)用急劇上升,直接威脅計(jì)算機(jī)應(yīng)用的夸大。(2).軟件生產(chǎn)技術(shù)進(jìn)步緩慢2. 什么是軟件生產(chǎn)工程化?工程化生產(chǎn)方法與早期的程序設(shè)計(jì)方法主要差別在哪里?答:結(jié)構(gòu)化程序設(shè)計(jì)地出現(xiàn),使許多產(chǎn)業(yè)界認(rèn)識(shí)認(rèn)識(shí)到必須把軟件生產(chǎn)從個(gè)人化方式改變?yōu)楣こ袒?釆用工程的概念、原理、技術(shù)和方法開(kāi)發(fā)與維護(hù)軟件,把經(jīng)過(guò)時(shí)間考驗(yàn)而證明止確的管理技術(shù)和當(dāng)前 能夠得到的最好的技術(shù)方法結(jié)介起來(lái),以經(jīng)濟(jì)地開(kāi)發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就足軟件工 程,同時(shí)這也是工程化生產(chǎn)方法

2、。3. 分別說(shuō)明(丄)軟件開(kāi)發(fā)方法與開(kāi)發(fā)工具;(2)軟件技術(shù)與軟件管理的相互關(guān)系。答:(1)工具利方法,是軟件開(kāi)發(fā)技術(shù)的兩人支柱,它們密切相關(guān)。肖一種方法提出來(lái)并證明有效后, 往往隨之研制出相應(yīng)的工具,來(lái)幫助實(shí)現(xiàn)和推行這種方法。新方法在推行初期,總存人不愿接受和采 用。若將新方法融合于工具之中,使人們通過(guò)使用工具來(lái)了解新方法,就能更快促進(jìn)新方法的推廣。(2)在工業(yè)生產(chǎn)中,即使有先進(jìn)的技術(shù)和設(shè)備,管理不善的企業(yè)也不能獲得良好的效益。軟件在生產(chǎn)中不能按質(zhì)按時(shí)完成計(jì)劃,管理混亂往往是其屮的巫要原因。所以對(duì)于個(gè)理想的軟件工 程環(huán)境,應(yīng)該同時(shí)具備技術(shù)和管理兩個(gè)方面。4試從你的親身實(shí)踐,談?wù)勡浖ぞ咴谲浖?/p>

3、開(kāi)發(fā)中的作用。答:用C+開(kāi)發(fā)一個(gè)軟件,是校園一卡通的模塊。首先,要在編輯程序支持下在計(jì)算機(jī)中輸入源程序. 然后編譯程序,把源程序翻譯成目標(biāo)程序。如果發(fā)現(xiàn)錯(cuò)誤,就巫新調(diào)入編輯程序?qū)υ闯绦蜻M(jìn)行修改。 編譯通過(guò)后,再調(diào)用連接程序吧所冇通過(guò)了編譯目標(biāo)程序連同與之冇關(guān)的程序連接起來(lái),構(gòu)成一個(gè)能 在計(jì)算機(jī)上運(yùn)行的可執(zhí)行軟件。編譯程序,編輯程序,連接程序以及支持他們的計(jì)算機(jī)操作系統(tǒng),都 屬于軟件工具。離開(kāi)這些工具,軟件開(kāi)發(fā)就是去了支持,變得十分困難和低效,茯至不能運(yùn)行。5什么是軟件工程環(huán)境?談?wù)勀銓?duì)環(huán)境重要性的認(rèn)識(shí)。答:方法與工具相結(jié)介,再加上配套的軟、硬件支持就形成環(huán)境。例如在批處理時(shí)代,用戶開(kāi)發(fā)的程 序

4、是分批送入計(jì)算機(jī)中心的計(jì)算機(jī)的,有了錯(cuò)誤,就得下機(jī)修改。程序員對(duì)自己寫(xiě)的程序只能繼續(xù)地 跟蹤,思路經(jīng)常被迫中斷,效率難于提高。分時(shí)系統(tǒng)的使用,使開(kāi)發(fā)人員從此能在自己的終端上跟蹤 程序的開(kāi)發(fā),僅此一點(diǎn),就明顯提高了開(kāi)發(fā)的效率。6何謂面向?qū)ο筌浖こ???jiǎn)述它與傳統(tǒng)軟件工程在各型軟件開(kāi)發(fā)中的作用。 答:以面向?qū)ο蟪绦蛟O(shè)計(jì)為基礎(chǔ)。7.軟件按規(guī)模大小可分成哪幾類?簡(jiǎn)述軟件工程中各型軟件開(kāi)發(fā)中的作用。答:按規(guī)模分為極小、小、中、大、甚人、極犬。(1)中小型軟件:軟件工程對(duì)改進(jìn)軟件質(zhì)量,提高程序員生產(chǎn)率和滿足用戶的需求,冇很大的作用(2)大型軟件:這類軟件必須從頭至尾堅(jiān)持軟件工程的方法,嚴(yán)格遵守標(biāo)準(zhǔn)文檔格式

5、和正規(guī)的復(fù)審 制度,才能避免或減少混亂,真正開(kāi)發(fā)出大型的軟件。8什么是形式化軟件開(kāi)發(fā)方法?實(shí)現(xiàn)這類開(kāi)發(fā)的困難和出路在哪里?答:它定一種基于數(shù)學(xué)的開(kāi)發(fā)技術(shù),主要采用數(shù)學(xué)的方法來(lái)描述系統(tǒng)的性質(zhì)(例如程序變換和程序驗(yàn) 證等)。形式化的方法加上自動(dòng)化的開(kāi)發(fā)環(huán)境,可能是解決這一難題的出路。軟件開(kāi)發(fā)模型1. 什么是軟件生存周期?把生存周期劃分為階段的目的是什么?答:軟件生存周期劃分為計(jì)劃、開(kāi)發(fā)和運(yùn)行3個(gè)時(shí)期:把整個(gè)生存周期劃分為較小的階段,給每個(gè)階 段賦予確定而有限的任務(wù),就能夠化簡(jiǎn)每一步的工作內(nèi)容,使因?yàn)檐浖?guī)模而增長(zhǎng)而大人增加了軟件 復(fù)雜性變得交易控制和管理。2. 傳統(tǒng)的瀑布模型把生存周期分為哪些階段

6、?瀑布模型軟件開(kāi)發(fā)有哪些特點(diǎn)?答:瀑布模型在編碼以前安排了分析階段和設(shè)計(jì)階段;階段間貝有順序性和依賴性。S.說(shuō)明文檔和復(fù)審對(duì)于軟件質(zhì)量的控制的作用.答:每一階段都要完成規(guī)定的文檔,沒(méi)仃完成文檔,就認(rèn)為沒(méi)右完成該階段的任務(wù)。軟件開(kāi)發(fā)足許多 人共同參加的計(jì)劃,完整與介格的文檔,不僅是開(kāi)發(fā)時(shí)期軟件人員之間互相通信的媒介,也是運(yùn)行時(shí) 期對(duì)軟件進(jìn)行維護(hù)的中要依據(jù)。每一階段都要對(duì)己完成的文檔進(jìn)行復(fù)審,以便盡早發(fā)現(xiàn)問(wèn)題,消除隱 患。愈是早期潛伏卜來(lái)的故障,暴露出來(lái)的時(shí)間愈晚,排除故障需付出的代價(jià)也就愈高。及時(shí)復(fù)審是 保證軟件質(zhì)量,降低開(kāi)發(fā)成本的重要措施。4. 什么是快速原型法?其快速表現(xiàn)在哪里?答:首先建立

7、一個(gè)能夠反映用戶主要需求的原型,讓用戶實(shí)際看一看未來(lái)系統(tǒng)的概貌,以便判斷哪些功 能是符合需要的,哪些方面還需要改進(jìn)。然后將原型改進(jìn),最終建立完全符合用戶要求的新系統(tǒng)。它 的快速表現(xiàn)在能夠縮短開(kāi)發(fā)周期的語(yǔ)言和工具,能在短時(shí)間內(nèi)提供出成品,但不包括成品中的細(xì)節(jié), 然后讓客戶進(jìn)行對(duì)比。5. 實(shí)現(xiàn)快速原型法的最終系統(tǒng)可以有幾種方法?請(qǐng)說(shuō)明并加以比較.答:原型系統(tǒng)僅包括未來(lái)系統(tǒng)的主要功能,以及系統(tǒng)的重要接門。為了盡快向用戶提供原型,開(kāi)發(fā)原 型系統(tǒng)時(shí)應(yīng)盡量使用能縮短開(kāi)發(fā)周期的語(yǔ)言和工具。最終條統(tǒng)的形成可以采用原型廢棄不用,另一方 法是補(bǔ)充修改模型獲得最終系統(tǒng)。方法一不包括系統(tǒng)的細(xì)節(jié)。后一種方法在實(shí)際工作中

8、,由于原型系 統(tǒng)使用的語(yǔ)言往往存在效率不高等原內(nèi),除了少數(shù)簡(jiǎn)單的爭(zhēng)務(wù)系統(tǒng)外,大多數(shù)原型都廢棄不用,僅把 建立原型的過(guò)程當(dāng)作幫助定義軟件需求的一種手段。6. 比較增量模型和螺旋模型的特點(diǎn),有什么不同和相似的地方?答:增杲模型是瀑布模型的順序特征與快速原型法的迭代特征相結(jié)介的產(chǎn)物。螺旋模型是一種迭代模 型,每迭代一次,螺旋線就前進(jìn)一周。增最模型每個(gè)增最具有高內(nèi)聚低耦合,高度的獨(dú)立性。而螺旋 模型它在結(jié)合瀑布模型與快速原型的基礎(chǔ)上還增加了風(fēng)險(xiǎn)分析。7. 為什么利用轉(zhuǎn)換模型開(kāi)發(fā)軟件有一定難度?什么是凈室軟件工程?答:從理論上說(shuō),一個(gè)止確的,滿足客戶需要的形式化規(guī)格說(shuō)明,經(jīng)過(guò)一系列正確的程序變化后,可

9、以確保得到這樣一個(gè)形式化規(guī)格說(shuō)明,目前還有較高的難度,同時(shí),軟件開(kāi)發(fā)者很少其有實(shí)用形式化 方法所需的背景知識(shí),況且,轉(zhuǎn)換模型開(kāi)發(fā)軟件現(xiàn)在還很費(fèi)時(shí)和昂貴!凈室基本思想是力求在分析和 設(shè)計(jì)階段就消除錯(cuò)誤,確保正確,然后在無(wú)缺陷或“潔凈”的狀態(tài)下實(shí)現(xiàn)軟件的制作。8. 哪些開(kāi)發(fā)模型適用于面向?qū)ο蟮能浖_(kāi)發(fā)?答:構(gòu)件集成模型9. 比較螺旋模型和構(gòu)件集成模型的異同。答:構(gòu)件集成模型利用預(yù)先對(duì)封裝好的軟件構(gòu)件來(lái)構(gòu)造應(yīng)用軟件系統(tǒng),它融介了螺旋模型的很多特征, 支持軟件開(kāi)發(fā)的迭代方法。軟件需求分析1. 需求分析的任務(wù)是什么?怎樣理解分析階段的任務(wù)是決定“做什么',而不是“怎么做” ?答:需求分析主要有兩

10、個(gè)任務(wù):第一足通過(guò)對(duì)問(wèn)題及其環(huán)境的理解、分析和綜合建立分析模型;第 是在完全弄消用戶對(duì)軟件系統(tǒng)的確切要求的基礎(chǔ)上,用“軟件需求規(guī)格說(shuō)明書(shū)”把用戶的需求表達(dá)出 來(lái)。需求分析的任務(wù)就是為了明確要開(kāi)發(fā)的是一個(gè)什么樣的系統(tǒng),而不是去怎么去實(shí)現(xiàn)這個(gè)系統(tǒng)。2. 需求分析要經(jīng)過(guò)哪些步驟?答:需求獲取、需求提煉、需求描述、需求驗(yàn)證。S.有哪兩種主要的分析模型,它們有什么聯(lián)系?答:面向?qū)ο蠓治瞿P汀⒔Y(jié)構(gòu)化分析模型。前者是釆用面向?qū)澫蟮乃枷脒M(jìn)行軟件需求分析的建模過(guò)程, 而后者模型的核心是DD,它是設(shè)計(jì)各種數(shù)據(jù)對(duì)象的總和。他們的模型分別起到了描述數(shù)據(jù)模型,功能 模型與行為模型的作用。4. 什么是結(jié)構(gòu)化分析?它的“結(jié)

11、構(gòu)化”體現(xiàn)在哪里?答:是使用DFD、DD、結(jié)構(gòu)化語(yǔ)言、判定表和判定樹(shù)等工具,來(lái)建立一種新的、稱為結(jié)構(gòu)化說(shuō)明書(shū)的 目標(biāo)文檔。5. 什么是面向?qū)ο蠓治??其主要思想是什么??00A面向?qū)澫蟮姆治鍪遣捎妹嫦驅(qū)ο蟮乃枷脒M(jìn)行軟件需求分析建模的過(guò)程.主要思想是采用面向?qū)?象的思想。6. 需求說(shuō)明(或需求規(guī)格說(shuō)明書(shū))由哪些部分組成?各部分的主要內(nèi)容是什么? 答:引言、信息描述、功能描述、行為描述、質(zhì)量描述、接口描述、其他描述。引言:主要敘述在文體定義階段確定的關(guān)于軟件的目標(biāo)與范闈,簡(jiǎn)要介紹系統(tǒng)背景、蓋帽、軟件項(xiàng)冃 約束和按考資料等。信息描述:給出對(duì)軟件所含信息的詳細(xì)描述,包括信息的內(nèi)容、關(guān)系、數(shù)據(jù)流向、控制

12、流向和結(jié)構(gòu)等。 功能描述:對(duì)軟件功能要求的說(shuō)明,包括系統(tǒng)功能劃分、毎個(gè)功能的處理說(shuō)明、限制和控制描述等。 行為描述:包括對(duì)系統(tǒng)狀態(tài)變化及M件和動(dòng)作的描述,據(jù)此可以檢箕外部爭(zhēng)件和軟件內(nèi)部的控制特從. 質(zhì)量描述:闡明在軟fl交付使用詢需要進(jìn)布的共更能測(cè)試和性能測(cè)試,并且規(guī)定源程庁和乞檔應(yīng)該遵 守的各種標(biāo)準(zhǔn)。接II描述:包括系統(tǒng)的用戶界而、硬件接II、軟件接II和通信接II等的說(shuō)明。其他描述:闡述系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)上的限制,系統(tǒng)的假設(shè)和依賴等其他需要說(shuō)明的內(nèi)容。7. 為什么DFD要分層?畫(huà)分層DFD要遵循哪些原則?答:大型復(fù)雜的軟件系統(tǒng),其DFD可能含令數(shù)百乃至數(shù)T個(gè)加工,不能設(shè)想一次就將它們?nèi)慨?huà)齊。

13、 正確的做法是:從系統(tǒng)的基木模型(把整個(gè)系統(tǒng)看成一個(gè)加工)開(kāi)始,逐層地對(duì)系統(tǒng)進(jìn)行分解。原則: 由頂向下,逐步細(xì)化。& DFD和CFD有什么區(qū)別?答:9.什么是系統(tǒng)的行為模型,如何建立?答:類對(duì)象模型所表示的是面向?qū)ο蠓治瞿P椭械撵o態(tài)部分,而對(duì)象行為模型則用于描述系統(tǒng)的動(dòng)態(tài) 行為,即系統(tǒng)如何對(duì)應(yīng)外部事件系統(tǒng)的行為模型。建立一個(gè)對(duì)彖行為模型-般要經(jīng)歷一些過(guò)程:評(píng)估所以的用例來(lái)理解系統(tǒng)中的交互序列:找出驅(qū)動(dòng)交 互序列的事件;為每個(gè)用例創(chuàng)建事件軌跡:為對(duì)象創(chuàng)建狀態(tài)轉(zhuǎn)換圖。10選一個(gè)系統(tǒng)(例如工資處理系統(tǒng)、飛機(jī)訂票系統(tǒng)、圖書(shū)館管理系統(tǒng)等),分別用SA方法和OOA方 法對(duì)它進(jìn)行分析,并給出分析模型

14、。答:軟件設(shè)計(jì)概述1 傳統(tǒng)軟件工程把設(shè)計(jì)過(guò)程分成2步:概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)。試述這2個(gè)階段個(gè)字主要完成的任務(wù)。 答:概要設(shè)計(jì),包插結(jié)構(gòu)設(shè)計(jì)和接II設(shè)計(jì),并編寫(xiě)設(shè)計(jì)文檔。詳細(xì)設(shè)計(jì),其任務(wù)足確定各個(gè)軟件組件 的數(shù)據(jù)結(jié)構(gòu)和操作,產(chǎn)生描述個(gè)軟件組件的詳細(xì)設(shè)計(jì)文檔。為什么大型軟件設(shè)計(jì)必須分成兩步走?答:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的兩步,概要設(shè)計(jì)確定模塊的劃分,模塊之間的調(diào)用關(guān)系,接門 等:詳細(xì)設(shè)計(jì)細(xì)分模塊、數(shù)據(jù)結(jié)構(gòu)等;興型系統(tǒng)中分兩步走是必要的,概要設(shè)計(jì)確定模塊劃分后,詳 細(xì)設(shè)計(jì)可把各模塊交給不同的人做詳細(xì)設(shè)計(jì),大型系統(tǒng)中這樣的分工是比較合理的,能提高效率,做 到合理分工。2解釋下列名詞:(丄)模塊;(

15、2)模塊化;(3)模塊化設(shè)計(jì)。答:模塊是一個(gè)擁有明確定義的、輸出和特性的程序?qū)嶓w。模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過(guò)程。每個(gè)模塊完 成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求 的功能。模塊化設(shè)計(jì)是把大型軟件按照規(guī)定的原則劃分成一個(gè)個(gè)較小的、相對(duì)獨(dú)立但又相互關(guān)聯(lián)的模塊。但又 相互關(guān)聯(lián)的模塊。3什么是模塊獨(dú)立性?用什么度量?答:模塊獨(dú)立性指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接I I簡(jiǎn)單。 模塊獨(dú)立的概念是模塊化、抽象、信息隱蔽和局部化概念的II接結(jié)果。獨(dú)立性町以從兩個(gè)方面來(lái)度量:模塊本身的內(nèi)聚件

16、(Cohesion)和模塊之間的耦介(Coupling)。乂具體說(shuō)明“一個(gè)模塊,一個(gè)功能”的含義,并試討論這類模塊的優(yōu)點(diǎn)。答:5什么是自頂向下設(shè)計(jì)?為什么說(shuō)它尤其適用于大型軟件的開(kāi)發(fā)?答:設(shè)計(jì)時(shí)首先對(duì)所設(shè)計(jì)的系統(tǒng)有一個(gè)全面的理解。然后從頂層開(kāi)始,連續(xù)的逐層向下分解,直至系 統(tǒng)的所有模塊都笑道便于掌握為止。自底向上設(shè)計(jì)反映了軟件規(guī)模較小的設(shè)計(jì)思想,隨著軟件規(guī)模的增長(zhǎng),這種方法的缺點(diǎn)逐漸暴需出來(lái). 而自頂向下的設(shè)計(jì)需要進(jìn)行詳細(xì)的可行性論證,易于修改和擴(kuò)展,整體測(cè)試較易通過(guò)。6自頂向下逐步細(xì)化的方法也適用于編寫(xiě)教材。使用這種方法說(shuō)明編寫(xiě)一本教材的過(guò)程。答:7輸入三角形的3條邊長(zhǎng)(假定這些邊確實(shí)能組成

17、一個(gè)三角形),用它們來(lái)鑒別三角形的性質(zhì)(等腰、 等邊、任意或者宜角),并輸出結(jié)果。試用逐步細(xì)化的方法設(shè)計(jì)這一程序,并用結(jié)構(gòu)化語(yǔ)言(漢語(yǔ)或 英語(yǔ))寫(xiě)出細(xì)化過(guò)程中每一步的過(guò)程描述。答:8比較概要設(shè)計(jì)復(fù)審和過(guò)程設(shè)計(jì)復(fù)審的評(píng)審內(nèi)容,并說(shuō)明他們采取的復(fù)審方式有何異同。答:概要設(shè)計(jì)復(fù)審的重點(diǎn)放在系統(tǒng)的總體結(jié)構(gòu)、模塊劃分、內(nèi)外結(jié)構(gòu)等方面。例如軟件結(jié)構(gòu)是否滿足 需求?結(jié)構(gòu)形態(tài)是否合理?層次是否清晰?模塊的劃分是不是符合優(yōu)化原則?系統(tǒng)的人機(jī)界面、內(nèi)外 部接I、以及出錯(cuò)處理是不是合理等。過(guò)程設(shè)計(jì)復(fù)審的重點(diǎn)放在模塊的幾體設(shè)計(jì)上。例如模塊設(shè)計(jì)能否滿足其功能與性能要求?選擇算法與 數(shù)據(jù)結(jié)構(gòu)是否合理,是否符合編程語(yǔ)言的特

18、點(diǎn)?設(shè)計(jì)描述簡(jiǎn)單、清晰等。概要設(shè)計(jì)復(fù)審常用的復(fù)審方式是正式復(fù)審。傳統(tǒng)的設(shè)計(jì)方法丄簡(jiǎn)釋事務(wù)、事務(wù)型結(jié)構(gòu)和變換型結(jié)構(gòu)。答:一次動(dòng)作、時(shí)間或狀態(tài)變化也可以成為一次爭(zhēng)務(wù)。爭(zhēng)務(wù)型結(jié)構(gòu)由至少一條接受路徑、一個(gè)爭(zhēng)務(wù)中心與若干條動(dòng)作路徑組成。變換型結(jié)構(gòu)由至少一條傳入路徑、變換中心和傳出路徑組成。2簡(jiǎn)述從DFD圖到SC圖的映射規(guī)則。答:(1)復(fù)審DFD圖,必要時(shí)可再次進(jìn)行修改或細(xì)化:(2)鑒別DFD圖所表示的軟件系統(tǒng)的結(jié)構(gòu)特征,確定它所代表的軟件結(jié)構(gòu)是屬于變換型還是出務(wù)型:(3)按照SD方法規(guī)定一組規(guī)則,把DFD圖轉(zhuǎn)換為初始的SC圖;變換映射變換型DFD(Transform Mapping)初始sc事務(wù)|事務(wù)型

19、DFD圖|Mapping) .初始圖(4)按照優(yōu)化設(shè)計(jì)的指導(dǎo)原則改進(jìn)初始的SC圖,獲得il終SC圖。5 某事務(wù)系統(tǒng)具有下列功能:(1)讀入用戶命令,并檢査其有效性;(2)按照命令的編號(hào)(1-4號(hào))進(jìn)行分類處理(3)1號(hào)命令計(jì)算產(chǎn)品共識(shí),能根據(jù)用戶給出的各種產(chǎn)品數(shù)量,計(jì)算出各工種的需要工時(shí)和缺額工時(shí):(4)2號(hào)命令計(jì)算材料消耗,根據(jù)產(chǎn)品的材料定額和用戶給出的生產(chǎn)數(shù)量,計(jì)算各種材料的需求量(5)3號(hào)命令編制材料訂貨計(jì)劃(6)4號(hào)命令計(jì)算產(chǎn)品成品試用結(jié)構(gòu)化分析和設(shè)計(jì)方法畫(huà)出該系統(tǒng)的DFD圖并據(jù)此到處系統(tǒng)的SC圖。對(duì)動(dòng)作分支中的1巧和2 號(hào)命令要詳細(xì)描述和設(shè)計(jì),3號(hào)命令和4號(hào)命令允許從略,可僅用示意圖

20、表示。答:7簡(jiǎn)述過(guò)程(詳細(xì))設(shè)計(jì)說(shuō)明書(shū)的主要內(nèi)容,怎樣對(duì)它進(jìn)行復(fù)審?答:(1)為每個(gè)模塊確定采用的算法。選擇某種適當(dāng)?shù)墓妆磉_(dá)算法的過(guò)程,寫(xiě)出模塊的詳細(xì)過(guò)程描述: (2)確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu);(3)確定模塊接II的細(xì)節(jié),包括對(duì)系統(tǒng)外部的接II和用戶界面,対系 統(tǒng)內(nèi)部其它模塊的接II,以及關(guān)于模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。&簡(jiǎn)化比較本章講解的幾種過(guò)程設(shè)計(jì)表達(dá)工具的優(yōu)缺點(diǎn)。答:流程圖和N-S圖,偽代碼和PDL語(yǔ)言。流程圖貝有能隨意表達(dá)任何程序邏輯的有點(diǎn),隨著結(jié)構(gòu)化程序設(shè)計(jì)方法的普及,流程圖在描述程序邏 輯時(shí)的隨意性與靈活性恰恰變成了它的缺點(diǎn)。N-S圖所有的程序結(jié)構(gòu)均用方

21、框來(lái)表示,無(wú)論并列或者嵌套,程序的結(jié)構(gòu)清晰可見(jiàn)。容易斥成良好的 程序設(shè)計(jì)鳳格。缺點(diǎn)是當(dāng)程序內(nèi)嵌的層數(shù)増多時(shí),內(nèi)層的方塊越畫(huà)越小,不僅增加畫(huà)圖的困難,也使 圖形的清晰性受到影響。偽代碼工作杲比価圖小,又容易轉(zhuǎn)換為真止的代碼,PDL具仃很強(qiáng)的描述功能,是一種十分靈活和佝 用的過(guò)程表達(dá)工具。9任選一種排序(從小到大)算法,分別用流程圖、N心圖和PDL語(yǔ)言描述其詳細(xì)過(guò)程。3試將下列用PDL偽代碼表示的某種模塊的過(guò)程性描述改用圖表示.Execute process aREPEAT UNTIL condition X8Execute process bIF condition XITHEN BEGINEx

22、ecute process fIF condition X6THENREPEAT UNTIL condition X7Execute process iENDREPELSE BEGINExecute process gExecute process hENDENDIFELSE CASE OF XiWHEN contdition X2 SELECTDO WHILE con tition X5execute process CENDDOWHEN condition X3 SELECT process d WHEN condition X4 SELECT process e ENDCASEENDIF

23、ENDREPExecute process jENDexecute process aexecute process bXIT-Fexecute process fexecute process dexecute process eexecute process iexecute process gREPEAT UNTIL X7execute process hexecute process jREPEAT UNTIL condition X812圖品63顯示了某倉(cāng)庫(kù)零件收發(fā)管理程序的數(shù)據(jù)結(jié)構(gòu),用Jackson圖表示。圖中p.rt表示零件,|MU« 和Recept分別表示零件的出庫(kù)量

24、和入庫(kù)量?,F(xiàn)要求:(1)找出輸入結(jié)構(gòu)與輸出結(jié)構(gòu)之間的對(duì)應(yīng)單元<2)畫(huà)出用Jackson圖表示的程序結(jié)構(gòu)(3)列出程序所需要的操作,并加到第(2)步畫(huà)出的程序結(jié)構(gòu)圖上(4)用偽代碼寫(xiě)出收發(fā)管理程序的過(guò)程性表示Innut fileoart grouo*hodvheadi ngissuereceptNet movement line*19某工資管理程序的輸入備出數(shù)據(jù)中包括:輸入數(shù)據(jù):職工姓名,日工資率,工作天數(shù),加班天數(shù),病出假犬?dāng)?shù),補(bǔ)貼變更,扣款變更等; 輸出數(shù)據(jù):職工姓名,基本工資,各項(xiàng)補(bǔ)貼,各項(xiàng)扣款,事發(fā)工資等:試用Jackson方法設(shè)計(jì)這一程序。軟件測(cè)試軟件測(cè)試的基本任務(wù)是什么?測(cè)試與

25、糾錯(cuò)有什么不同?測(cè)試的目的是發(fā)現(xiàn)程序錯(cuò)誤:測(cè)試的任務(wù)是通過(guò)在計(jì)算機(jī)上執(zhí)行程序,暴露程序中潛在的錯(cuò)誤。糾錯(cuò)的目的是定位和糾正錯(cuò)誤:糾錯(cuò)的任務(wù)是軟件故障,保證程序的可靠運(yùn)行。通常把一次程序執(zhí)行需要的測(cè)試數(shù)據(jù)成為一個(gè)測(cè)試用例,每個(gè)測(cè)試用例產(chǎn)生一個(gè)相應(yīng)的測(cè)試結(jié)果,如 果它與期望結(jié)果不符,便說(shuō)明程序中存在錯(cuò)誤,需要用糾錯(cuò)來(lái)改正。2怎樣理解下面的話所蘊(yùn)含的意義:“程序測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在氣''測(cè) 試是為了證明程序有錯(cuò),而不是證明程序無(wú)錯(cuò)”揭示了測(cè)試固令的一個(gè)巫要性質(zhì)一一不徹底性。徹底測(cè)試就是讓被測(cè)程序在一切町能的輸入情況下全 部執(zhí)行一遍,又稱窮舉測(cè)試。在實(shí)際情況中是

26、根本無(wú)法實(shí)現(xiàn)的。這就注定了一切實(shí)際測(cè)試都是不徹底 的,當(dāng)然也就不能保證測(cè)試后的程序不存在遺留的錯(cuò)誤。測(cè)試的分類-靜態(tài)分析器分折廣代碼會(huì)審靜態(tài)測(cè)試(程序不執(zhí)行)V代碼評(píng)審Y 走查J辦工桌檢查程序測(cè)試動(dòng)態(tài)測(cè)試 -(程序執(zhí)行)黑盒測(cè)試(測(cè)試程序功能)白盒測(cè)試(測(cè)試程序結(jié)構(gòu))測(cè)試方法測(cè)試用例和測(cè)試結(jié)果測(cè)試用例珂測(cè)試數(shù)據(jù)+期望結(jié)果測(cè)試結(jié)果二測(cè)試數(shù)據(jù)+期望結(jié)果+實(shí)際結(jié)果黑盒測(cè)試等價(jià)測(cè)試把輸入數(shù)據(jù)的可能值劃分為若干個(gè)等價(jià)類,使每類中的任何-個(gè)測(cè)試用例,都能代表同一等價(jià)類 中的其它測(cè)試用例。采用等價(jià)測(cè)試注意以下兩點(diǎn):劃分等價(jià)類不僅要考慮代表“有效”輸入值的有效等價(jià)類,還要考電代表“無(wú)效”輸入值得無(wú)效 等價(jià)類;

27、每無(wú)效等價(jià)類至少要用個(gè)測(cè)試用例,不然可能漏掉某類錯(cuò)誤,但允許若干個(gè)有效 等價(jià)類合用一個(gè)測(cè)試用例,以便進(jìn)一步減少測(cè)試的次數(shù)C【例】某工廠公開(kāi)招工,規(guī)定報(bào)名者年齡在16周歲至35周歲(在1967年2月到1986年3月): 如果出生年月不在上述范罔內(nèi),將拒絕接受,并顯示“年齡不合格”等出錯(cuò)信息。試用等價(jià)分類 法設(shè)計(jì)這一程序功能的測(cè)試用例。第一步:劃分等價(jià)類輸入數(shù)據(jù)有效辱價(jià)類無(wú)效等價(jià)類出生年月(1)6位數(shù)字字符有非數(shù)字字符(3)少于6個(gè)數(shù)字字符(4)多于6個(gè)數(shù)字字符對(duì)應(yīng)數(shù)值(5)在 196702-198603 之間<196702(7)>198603月份對(duì)應(yīng)數(shù)值(8)在M2之間(9) 等于“

28、0"(10) >12笫二步:設(shè)計(jì)冇效等價(jià)類需要的測(cè)試用例測(cè)試數(shù)據(jù)期望結(jié)果測(cè)試范圍197011輸入有效、(8)笫三步:為每-無(wú)效等價(jià)類設(shè)計(jì)-個(gè)測(cè)試用例測(cè)試數(shù)據(jù)期望結(jié)果測(cè)試范圍MAY;70輸入無(wú)效(2)19705輸入無(wú)效(3)1968011輸入無(wú)效(4)195512年齡不合格(6)196006年齡不合格196200輸入無(wú)效(9)197222輸入無(wú)效(10)(2) 邊界測(cè)試程序員在處理邊界情況時(shí),很容易因忽略或考虎不周發(fā)生編碼錯(cuò)誤。例如,數(shù)組容量、循環(huán)次數(shù) 以及輸入數(shù)據(jù)與輸出數(shù)據(jù)在邊界值附近程序出錯(cuò)概率往往較大。采用邊界值分析法就是要這樣來(lái)選擇測(cè)試用例,使得被測(cè)試程序能在邊界值及其附

29、近運(yùn)行, 從而更有效地暴銘程序中潛在的錯(cuò)誤。例如程序可能設(shè)有語(yǔ)句lf(196702<=value(birthdate)<=198603)then read(birthdate)else wHte "invalid age"將上式U寫(xiě)成V,以上所有測(cè)試都不能發(fā)現(xiàn)該錯(cuò)誤?!纠可项}年月日的測(cè)試用例(邊界分析法)輸入等價(jià)類測(cè)試用例說(shuō)明測(cè)試數(shù)據(jù)期望結(jié)果選取理由出生年月1個(gè)數(shù)字字符5輸入無(wú)效僅有一個(gè)合法字符比有效長(zhǎng)度恰少一個(gè)字符5個(gè)數(shù)字字符197505比有效字符恰多一個(gè)字符 非法字符最少7個(gè)數(shù)字字符1986011非法字符最多有1個(gè)非數(shù)字字符19705A全是非數(shù)字字符AUG

30、UST6個(gè)數(shù)字字符196702輸入有效類型與長(zhǎng)度均有效對(duì)應(yīng)數(shù)值35周歲196702合格年齡最大符合年齡最小符合年齡16周歲198603>35周歲196701不合格年齡恰大于合格年齡恰小于合格年齡<16周歲198604月份對(duì)應(yīng)數(shù) 值月份為1196801輸入有效最小月份最大月份月份為12198512月份<L196800輸入無(wú)效恰小于最小月份恰大于最大月份月份>12197413錯(cuò)誤猜測(cè)法猜錯(cuò)就是猜測(cè)被測(cè)程序放在哪些地方容易出錯(cuò),然后針對(duì)可能的薄弱環(huán)節(jié)來(lái)設(shè)計(jì)測(cè)試用例。般先用等價(jià)分類法和邊界值分析法設(shè)汁測(cè)試用例,然后用猜錯(cuò)法補(bǔ)充些例作為輔助的手 段。白盒測(cè)試邏輯覆蓋測(cè)試:用流程圖

31、來(lái)設(shè)計(jì)測(cè)計(jì)用例。主要考察的重點(diǎn)是圖中的判定框(選擇或循環(huán))。按照被測(cè)試程序所作測(cè)試的冇效程度,邏輯測(cè)試可rti弱到強(qiáng)區(qū)分5種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋:每條語(yǔ)句至少執(zhí)行一次。判定覆蓋:每一判定的每個(gè)分支至少執(zhí)行一次。條件覆蓋:每一判定中的每個(gè)條件,分別按“真、“假”至少各執(zhí)行一次。判定/條件覆蓋:同時(shí)滿足判定覆蓋和條件覆蓋的要求。條件組合覆蓋:求出判定中所有條件的各種可能組合值,每可能的條件了和至少執(zhí)行次。覆蓋標(biāo)準(zhǔn)程序結(jié)構(gòu)舉例測(cè)試用例應(yīng)滿足的條件語(yǔ)句覆蓋T1<t>HLAaB=.T.判定覆蓋1<t>sTT 1 TAaB=.T.» AaB=.F.條件覆蓋A=.T. 9 A

32、二FB=.T. > B=F.判定/條件覆蓋AaB=.T.» AaB=.F.A=.T. f A=.F.B二T,B二F條件組合覆蓋A=.T. a B=.T.A=.T. a B=.F.A=.F.人 B=.T.A=.F. a B=F路徑測(cè)試法程序圖:是一種簡(jiǎn)化的流程圖。廠I I流程圖 IA=.F.人 B=.T.對(duì)程序圖中每-條可能的程序執(zhí)行路徑至少測(cè)試次。如果程序中含有循環(huán)(在程序中表現(xiàn)為環(huán)). 則每個(gè)循環(huán)至少執(zhí)行一次。路徑測(cè)試具有如下特征:滿足結(jié)構(gòu)測(cè)試的最低婆求。語(yǔ)句覆蓋加判定覆蓋是對(duì)白盒測(cè)試的城低要 求,同時(shí)滿足這兩種標(biāo)準(zhǔn)的覆蓋為“完全覆蓋。從對(duì)路徑測(cè)試的要求可見(jiàn),它本身就包含了語(yǔ)

33、 句覆蓋和判定覆蓋(在程序圖上分別為點(diǎn)覆蓋與邊覆蓋)。軟件復(fù)用1 什么是軟件復(fù)用?答:在構(gòu)造新的軟件系統(tǒng)的過(guò)程中,對(duì)己存在的軟件人工制品的使用技術(shù)。2什么是領(lǐng)域工程?簡(jiǎn)述其活動(dòng)內(nèi)容。答:領(lǐng)域工程是指通過(guò)領(lǐng)域分析找出垠優(yōu)復(fù)用,把它們?cè)O(shè)計(jì)和構(gòu)造為可復(fù)用構(gòu)件,進(jìn)而建立人規(guī)模的 軟件構(gòu)件倉(cāng)庫(kù)的過(guò)程。答:按復(fù)用活動(dòng)所應(yīng)用的領(lǐng)域范用,復(fù)用可劃分為橫向復(fù)用和縱向復(fù)用。橫向復(fù)用是指復(fù)用不同應(yīng)用 領(lǐng)域中的軟件元素如數(shù)據(jù)結(jié)構(gòu)、分類算法等??v向復(fù)用是指在一類具啟較多公共性的應(yīng)用領(lǐng)域之間進(jìn) 行軟部分復(fù)用??v向復(fù)用包扌舌以下幾個(gè)方而的活動(dòng):(1)實(shí)施領(lǐng)域分析:根據(jù)應(yīng)用領(lǐng)域的特征及相似性,可預(yù)測(cè)軟構(gòu)件的可復(fù)用性,發(fā)現(xiàn)并描

34、述可復(fù)用實(shí)體, 進(jìn)而建立相關(guān)的模型和需求規(guī)約。(2) 開(kāi)發(fā)可復(fù)用構(gòu)件:一旦確認(rèn)了構(gòu)件的復(fù)用價(jià)值,即可進(jìn)行構(gòu)件的開(kāi)發(fā),并對(duì)具有復(fù)用價(jià)值的軟構(gòu)件 進(jìn)行抽象、一般化和參數(shù)化,以便它們能夠適應(yīng)新的類似的應(yīng)用領(lǐng)域。(3) 建立可復(fù)用構(gòu)件座:將軟件構(gòu)件及其文檔進(jìn)行分類I丿I并,形成相關(guān)的分類檢索機(jī)制,成為可供后繼 項(xiàng)目使用的可復(fù)用資源。3什么是CBSD?實(shí)施軟件構(gòu)件技術(shù)要解決哪些問(wèn)題?答:基于構(gòu)件的軟件開(kāi)發(fā)(Component-Based Software Development,簡(jiǎn)稱CBSD)是在一定構(gòu)件模型的支持 下,復(fù)用構(gòu)件庫(kù)中的一個(gè)或參個(gè)軟件構(gòu)件,通過(guò)組合構(gòu)件來(lái)構(gòu)造應(yīng)用軟件系統(tǒng)的開(kāi)發(fā)過(guò)程。要解決的

35、問(wèn)題:構(gòu)件應(yīng)具有的特征:通用性、可變性、易組裝性。在建造構(gòu)件時(shí),必須考略應(yīng)用領(lǐng)域的特征。領(lǐng)域構(gòu)件設(shè)計(jì)框架:標(biāo)準(zhǔn)數(shù)據(jù)、標(biāo)準(zhǔn)接II協(xié)議、程序模板.軟件維護(hù)丄為什么說(shuō)軟件維護(hù)是不可避免的?答:滿足用戶對(duì)已開(kāi)發(fā)產(chǎn)品的性能與運(yùn)行環(huán)境不斷提高的需要,進(jìn)而達(dá)到延長(zhǎng)軟件的壽命。2 糾錯(cuò)和糾錯(cuò)性維護(hù)有哪些異同?答:糾錯(cuò)的目的足定位和糾正錯(cuò)誤;糾錯(cuò)的任務(wù)是軟件故障,保證程序的可靠運(yùn)行。糾錯(cuò)性維護(hù)是由于軟件測(cè)試的不徹底性,任何人型軟件交付使用后,都會(huì)繼續(xù)發(fā)現(xiàn)潛在的錯(cuò)誤,對(duì)它 們進(jìn)行診斷和改正。目的在于糾正在開(kāi)發(fā)期間未能發(fā)現(xiàn)的遺留錯(cuò)誤。5什么是軟件配置?說(shuō)明搞好維護(hù)時(shí)期配置的意義與方法。答:軟件配置是一個(gè)軟件在生存周期內(nèi),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論