2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(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、<p><b>  可行性研究</b></p><p>  軟件工程項(xiàng)目可行性研究實(shí)質(zhì)是一次大大壓縮和簡(jiǎn)化了的分析和設(shè)計(jì)過(guò)程,主要在較高層次上以較抽象的方式進(jìn)行,其目的是在盡可能短的時(shí)間內(nèi)以最小的代價(jià)確定該項(xiàng)目是否能夠開(kāi)發(fā),是否值得開(kāi)發(fā)。 </p><p>  可行性研究不是去開(kāi)發(fā)一個(gè)軟件項(xiàng)目,而是研究該項(xiàng)目能否在給定的資源和給定的時(shí)間開(kāi)發(fā),是否能夠開(kāi)發(fā),是

2、否值得開(kāi)發(fā)。 </p><p>  可行性研究的內(nèi)容:技術(shù)可行性 (相關(guān)技術(shù)分析、資源有效性分析、風(fēng)險(xiǎn)分析);經(jīng)濟(jì)可行性 (成本估計(jì)、效益分析 );操作可行性 ,又稱社會(huì)可行性和運(yùn)行可行性(就政治意識(shí)形態(tài)、法律法規(guī)、社會(huì)道德、民族意識(shí)以及系統(tǒng)運(yùn)行的組織機(jī)構(gòu)或人員等,分析系統(tǒng)能否運(yùn)行及運(yùn)行好壞程度)。</p><p>  可行性研究的步驟:對(duì)系統(tǒng)目標(biāo)和范圍的定義→對(duì)現(xiàn)行系統(tǒng)進(jìn)行分析研究→導(dǎo)出

3、新系統(tǒng)的邏輯模型→設(shè)計(jì)新系統(tǒng)的物理方案→推薦可行的方案。</p><p>  可行性研究階段,成本估計(jì)的方法:</p><p>  ①基于已完成的類似項(xiàng)目進(jìn)行估算;(自頂向下估計(jì)) </p><p>  缺點(diǎn):對(duì)開(kāi)發(fā)中某些局部問(wèn)題難以預(yù)估,導(dǎo)致考慮不周</p><p> ?、谑褂煤?jiǎn)單的“分解技術(shù)”來(lái)進(jìn)行成本及工作量的估算;(自底向上估計(jì))&

4、lt;/p><p>  ③使用經(jīng)驗(yàn)?zāi)P瓦M(jìn)行成本及工作量的估算。(經(jīng)驗(yàn)算法估計(jì))</p><p>  主要經(jīng)驗(yàn)?zāi)P停红o態(tài)單變量模型;動(dòng)態(tài)多變量模型;COCOMO模型。</p><p>  COCOMO模型:Boehm將軟件成本估算分成3個(gè)由粗到細(xì)的層次:基本層、中間層和詳細(xì)層。每個(gè)層次又按軟件項(xiàng)目的應(yīng)用領(lǐng)域和復(fù)雜程序分成3種類型:組織型、半獨(dú)立型和嵌入型。</p&g

5、t;<p>  效益分析:系統(tǒng)的效益有兩部分:經(jīng)濟(jì)效益和社會(huì)效益。 經(jīng)濟(jì)效益是指用使用新系統(tǒng)而增加的收入,包括使用新系統(tǒng)節(jié)省的運(yùn)行費(fèi)用,是一種有形的效益。</p><p> ?。ń?jīng)濟(jì)效益度量指標(biāo):貨幣的時(shí)間價(jià)值 、純收入、投資回收期 、投資回收率);社會(huì)效益是一種無(wú)形的效益,主要從性質(zhì)上、心理上進(jìn)行衡量,很難直接量化,但在某些情況下,無(wú)效的效益能轉(zhuǎn)化成有形的效益。</p><p&

6、gt;  系統(tǒng)流程圖是描繪物理系統(tǒng)的傳統(tǒng)工具,可以采用系統(tǒng)流程圖來(lái)描述項(xiàng)目的大概業(yè)務(wù)處理流程,其基本思想是用圖形符號(hào)以黑盒子形式描繪系統(tǒng)各部件(如程序、數(shù)據(jù)庫(kù)、文檔、人工過(guò)程等)。系統(tǒng)流程圖表達(dá)的是信息在系統(tǒng)中各部件之間流動(dòng)的情況,而不是對(duì)信息進(jìn)行加工處理的控制過(guò)程。(信息有流動(dòng)無(wú)處理) </p><p>  數(shù)據(jù)流圖描述的是系統(tǒng)的邏輯模型,圖中沒(méi)有具體的物理元素,只是描繪信息在系統(tǒng)中的流動(dòng)和處理情況。(數(shù)據(jù)流圖

7、是邏輯系統(tǒng)的圖形表示)</p><p><b>  軟件項(xiàng)目計(jì)劃</b></p><p>  軟件項(xiàng)目計(jì)劃的目標(biāo)就是提供一個(gè)框架,使管理者有能夠?qū)Y源、成本、風(fēng)險(xiǎn)及進(jìn)度進(jìn)行合理的估算分析和調(diào)度,為軟件工程過(guò)程提供管理依據(jù)。 項(xiàng)目計(jì)劃一般由軟件項(xiàng)目的管理員、系統(tǒng)分析員與用戶經(jīng)過(guò)“可行性研究后”共同制訂,并在“需求分析”階段確定軟件系統(tǒng)的詳細(xì)需求后定稿,隨著項(xiàng)目的進(jìn)展定期

8、更新。</p><p>  2、軟件項(xiàng)目計(jì)劃的主要內(nèi)容:風(fēng)險(xiǎn)分析、進(jìn)度安排和項(xiàng)目組織。</p><p>  3、風(fēng)險(xiǎn)分析活動(dòng):風(fēng)險(xiǎn)標(biāo)識(shí)(項(xiàng)目風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)和商業(yè)風(fēng)險(xiǎn))、風(fēng)險(xiǎn)估計(jì)、風(fēng)險(xiǎn)評(píng)價(jià)和風(fēng)險(xiǎn)管理與監(jiān)控。</p><p>  4、進(jìn)度安排方法:PERT技術(shù)和Gantt圖方法(看看書(shū)上的過(guò)程)。</p><p>  5、小結(jié):由于經(jīng)過(guò)風(fēng)險(xiǎn)分析,

9、能夠做到“知已知彼”(彼即風(fēng)險(xiǎn)),從而“百戰(zhàn)不殆”,使得開(kāi)發(fā)者能夠戰(zhàn)勝風(fēng)險(xiǎn)帶來(lái)的損失,使項(xiàng)目成功。 進(jìn)度安排的落空不僅會(huì)造成項(xiàng)目開(kāi)發(fā)成本的提高,造成有形的經(jīng)濟(jì)損失,而且會(huì)使客戶的不滿意度、不信任度增加,造成無(wú)形的經(jīng)濟(jì)損失。 在軟件開(kāi)發(fā)過(guò)程中,人是最活躍的部分。 </p><p><b>  需求分析</b></p><p>  需求分析是指開(kāi)發(fā)人員通過(guò)細(xì)致的

10、調(diào)查分析,詳細(xì)、準(zhǔn)確和完整地理解用戶需要什么樣的軟件,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再將需求定義轉(zhuǎn)換到相應(yīng)的需求規(guī)格說(shuō)明的過(guò)程。</p><p>  通常,把一整套的需求分析方法、技術(shù)和工具等的集合稱為建模方法。</p><p>  需求收集的方式:訪談(程式化的訪談和非程式化的訪談 );問(wèn)卷調(diào)查;使用用例;用戶資料收集;建立快速原型。</p><p>

11、;  需求分析主要任務(wù):?jiǎn)栴}分析、需求描述、需求評(píng)審。</p><p>  需求分析主要目的:確定用戶需要系統(tǒng)做什么。</p><p>  6、需求規(guī)格說(shuō)明:需求分析的主要成果是得到需求規(guī)格說(shuō)明(SRS)。需求規(guī)格說(shuō)明為用戶、分析人員、設(shè)計(jì)人員和測(cè)試人員之間的理解和交流提供了方便,是系統(tǒng)設(shè)計(jì)、測(cè)試和驗(yàn)收的依據(jù)。</p><p>  大量統(tǒng)計(jì)數(shù)字表明,軟件系統(tǒng)中15%

12、的錯(cuò)誤起源于需求的錯(cuò)誤。一個(gè)有效的需求規(guī)格說(shuō)明應(yīng)具有如下特征:正確性、無(wú)歧義性、完整性、一致性、可驗(yàn)證性、可理解性、可修改性、可追蹤性和注釋等。</p><p>  需求分析說(shuō)明書(shū)的作用:① 用戶與開(kāi)發(fā)人員之間的合同 ② 概要設(shè)計(jì)的依據(jù)</p><p>  ③ 軟件驗(yàn)收測(cè)試的依據(jù)。</p><p>  數(shù)據(jù)流建模(功能建模)</p><p>

13、  7、數(shù)據(jù)流建模:數(shù)據(jù)流建模方法是一種結(jié)構(gòu)化分析方法(SA);自頂向下、逐層分解地定義系統(tǒng)需求;主要是利用數(shù)據(jù)流圖(DFD)來(lái)對(duì)用戶需求進(jìn)行分析。</p><p>  8、數(shù)據(jù)流圖:數(shù)據(jù)流圖描述的是系統(tǒng)的邏輯模型,圖中沒(méi)有具體的物理元素,只是描繪信息在系統(tǒng)中的流動(dòng)和處理情況。(數(shù)據(jù)流圖是邏輯系統(tǒng)的圖形表示)</p><p>  9、數(shù)據(jù)流圖的四種基本符號(hào):數(shù)據(jù)流(用箭頭表示);加工(加工

14、一般用一個(gè)圓圈或圓角方框來(lái)表示 );數(shù)據(jù)存儲(chǔ)(一般用開(kāi)口的矩形框或雙劃線來(lái)表示);數(shù)據(jù)的源點(diǎn)和終點(diǎn)(一般用正方形或立方體來(lái)表示 )。</p><p>  10、分層數(shù)據(jù)流圖:將數(shù)據(jù)流圖分為頂層數(shù)據(jù)流圖,中間層數(shù)據(jù)流圖以及底層數(shù)據(jù)流圖,可以避免一次引入過(guò)多的細(xì)節(jié),有利于控制問(wèn)題的復(fù)雜度,從而便于對(duì)大型系統(tǒng)描述的實(shí)現(xiàn)。</p><p> ?、夙攲訑?shù)據(jù)流圖:主要描述整個(gè)系統(tǒng)的作用范圍,說(shuō)明系統(tǒng)的

15、邊界,反映系統(tǒng)和外部環(huán)境之間的關(guān)系,即系統(tǒng)的輸入和輸出數(shù)據(jù)流。 頂層數(shù)據(jù)流圖只有一張。</p><p> ?、谥虚g層數(shù)據(jù)流圖:通過(guò)分解高層加工得到的,其中有些加工還需進(jìn)一步分解。</p><p> ?、鄣讓訑?shù)據(jù)流圖:底層數(shù)據(jù)流圖由一些不必再進(jìn)行分解的加工組成。</p><p>  11、數(shù)據(jù)流建模步驟:原則上是由外向里、自頂向下去模擬問(wèn)題的處理過(guò)程.</p&g

16、t;<p>  畫(huà)頂層數(shù)據(jù)流圖; 畫(huà)分層數(shù)據(jù)流圖; 用數(shù)據(jù)詞典定義數(shù)據(jù)流圖中的所有數(shù)據(jù);用加工說(shuō)明描述數(shù)據(jù)流圖中的基本加工。</p><p>  12、數(shù)據(jù)詞典:又稱數(shù)據(jù)字典,是關(guān)于數(shù)據(jù)信息的集合,是對(duì)數(shù)據(jù)流圖中的每個(gè)數(shù)據(jù),包括數(shù)據(jù)流和數(shù)據(jù)存儲(chǔ),進(jìn)行嚴(yán)格定義的場(chǎng)所,以保持?jǐn)?shù)據(jù)在系統(tǒng)中的一致性。</p><p>  數(shù)據(jù)字典的作用:①為用戶與開(kāi)發(fā)人員之間統(tǒng)一認(rèn)識(shí) ② 作為概要設(shè)

17、計(jì)的依據(jù) ③ 便于需求分析階段定義各類條目</p><p>  13、加工說(shuō)明:數(shù)據(jù)流圖中的“基本加工”由于沒(méi)有進(jìn)一步分解得到子圖,因而需要加工說(shuō)明來(lái)對(duì)其進(jìn)行描述。 加工說(shuō)明是描述基本加工如何把輸入數(shù)據(jù)流變換成輸出數(shù)據(jù)流的加工規(guī)則,是描述實(shí)現(xiàn)加工的策略而不是實(shí)現(xiàn)加工的細(xì)節(jié)。</p><p>  IPO圖、結(jié)構(gòu)化語(yǔ)言(PDL,偽代碼,是一種介于自然語(yǔ)言和形式語(yǔ)言之間的一種半形式語(yǔ)言)、判定表

18、、判定樹(shù)等均可作為加工說(shuō)明的工具。</p><p>  IDEF0圖(功能建模)</p><p>  14、IDEF0功能建模:IDEF方法是一套用來(lái)對(duì)復(fù)雜系統(tǒng)進(jìn)行建模分析和設(shè)計(jì)的系統(tǒng)方法:IDEF0進(jìn)行功能建模,IDEF1X用來(lái)建立數(shù)據(jù)模型,IDEF4方法則用于面向?qū)ο笤O(shè)計(jì),等等。</p><p>  15、IDEF0方法用嚴(yán)格的自頂向下、逐層分解的方式來(lái)構(gòu)造系統(tǒng)

19、的功能模型,用IDEF0圖來(lái)描述。</p><p>  IDEF0圖:只能反映系統(tǒng)做什么,系統(tǒng)功能由誰(shuí)做,但不能反映系統(tǒng)如何做,因?yàn)楹凶觾?nèi)部的結(jié)構(gòu)如何無(wú)從得知。</p><p>  16、IDEF0圖:也稱為活動(dòng)圖形。主要元素是簡(jiǎn)單的盒子及箭頭。盒子代表系統(tǒng)的功能(活動(dòng))。箭頭表示系統(tǒng)處理的數(shù)據(jù)約束,可以是具體的事物,也可以是抽象的信息。 IDEF0功能建模方法要求一張IDEF0圖中的

20、盒子最多只能有6個(gè)(子圖形還要求不少于3個(gè))。 </p><p>  17、IDEF0建模步驟:IDEF0方法在詳細(xì)的功能需求調(diào)研基礎(chǔ)上,用嚴(yán)格的自頂向下、逐層分解的方式來(lái)進(jìn)行;確定建模的范圍、觀點(diǎn)及目的;建立系統(tǒng)的內(nèi)外關(guān)系圖,即A-0圖;建立A0圖的一系列子圖;書(shū)寫(xiě)文字說(shuō)明。(P49)</p><p>  IDEF1X(數(shù)據(jù)建模)</p><p>  18、ID

21、EF1X數(shù)據(jù)建模:IDEF1X方法是IDEF1方法的擴(kuò)展版本。 IDEF1用來(lái)表示系統(tǒng)的信息結(jié)構(gòu)和語(yǔ)義。 IDEF1X方法增強(qiáng)了圖形的表達(dá)能力,豐富了語(yǔ)義和簡(jiǎn)化了開(kāi)發(fā)過(guò)程。</p><p>  19、IDEF1X圖:實(shí)體是具有相同屬性或特征的現(xiàn)實(shí)或抽象事物的集合,這個(gè)集合中的一個(gè)元素便稱為實(shí)體的一個(gè)實(shí)例。 在一張IDEF1X圖中 ,一個(gè)實(shí)體只能在圖中出現(xiàn)一次。 屬性:表示現(xiàn)實(shí)或抽象的事物一種特性或性質(zhì)。<

22、/p><p>  IDEF1X建模步驟:0階段——確定建模目標(biāo)和計(jì)劃;1階段——定義實(shí)體;2階段——定義聯(lián)系;3階段——定義鍵;4階段——定義屬性。</p><p>  需求分析(2)面向?qū)ο蠓椒?lt;/p><p>  1、UML建模語(yǔ)言:是一種可以應(yīng)用于任面向?qū)ο筌浖_(kāi)發(fā)方法的標(biāo)記法和語(yǔ)義語(yǔ)言。</p><p>  2、UML各種圖:動(dòng)態(tài)模型圖(

23、反映系統(tǒng)行為):用例圖、順序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。 靜態(tài)模型圖(反映系統(tǒng)結(jié)構(gòu)):類圖、包圖、組件圖、部署圖、對(duì)象圖。</p><p>  3、UML特點(diǎn) :統(tǒng)一了面向?qū)ο蠓椒ǖ幕靖拍?(UML融合了Booch方法、OMT方法和OOSE方法中的有關(guān)概念 );具有更強(qiáng)的建模能力(正如G. Booch在他的一本書(shū)中所說(shuō):“如果你有好的思想,那它也是我們的。” );獨(dú)立于特定的開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)過(guò)程。</p&

24、gt;<p>  4、UML應(yīng)用:需求分析(用例圖---功能的需求;類圖---靜態(tài)結(jié)構(gòu) ;狀態(tài)圖、順序圖和協(xié)作圖等---類之間所需的協(xié)作,實(shí)現(xiàn)用例。);設(shè)計(jì)(定義軟件系統(tǒng)中的技術(shù)細(xì)節(jié)用到的類,如引入處理用戶交互的類、處理數(shù)據(jù)的類、處理通信和并行性的類等。);實(shí)現(xiàn)(組件圖---代碼組件的物理結(jié)構(gòu)以及組件之間的關(guān)系;部署圖---硬件的拓?fù)浣Y(jié)構(gòu)和組件的分布。);測(cè)試(類圖---單元測(cè)試;組件圖、協(xié)作圖---集成測(cè)試;用例圖 --

25、-確認(rèn)測(cè)試) </p><p><b>  概要設(shè)計(jì)</b></p><p>  軟件設(shè)計(jì):需求分析:軟件系統(tǒng)必須“做什么” ;軟件設(shè)計(jì):“如何做”才可以滿足需求規(guī)格說(shuō)明中規(guī)定的各項(xiàng)需求。</p><p>  從工程管理的角度來(lái)看,軟件設(shè)計(jì)通常分為兩步,即概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。</p><p>  概要設(shè)計(jì)的基本目的是回答

26、“概括地說(shuō),軟件系統(tǒng)應(yīng)如實(shí)現(xiàn)”這一問(wèn)題。因此,概要設(shè)計(jì)有時(shí)稱為初步設(shè)計(jì)或總體設(shè)計(jì)。概要設(shè)計(jì)的主要任務(wù)是確定軟件的總體結(jié)構(gòu),即確定軟件系統(tǒng)的組成成份(子系統(tǒng)或模塊)以及各組成成份之間的相互關(guān)系。方法:結(jié)構(gòu)化方法、面向?qū)ο蠓椒?。詳細(xì)設(shè)計(jì)是對(duì)概要設(shè)計(jì)結(jié)果的進(jìn)一步細(xì)化,其主要任務(wù)是確定軟件系統(tǒng)各組成成份內(nèi)部的數(shù)據(jù)結(jié)構(gòu)和算法過(guò)程。</p><p>  抽象與求精:抽象,即過(guò)程抽象、數(shù)據(jù)抽象和控制抽象。抽象使得設(shè)計(jì)人員能夠

27、避開(kāi)過(guò)早地陷入細(xì)節(jié)之中刻畫(huà)過(guò)程和數(shù)據(jù)。求精能夠幫助設(shè)計(jì)人員隨著設(shè)計(jì)過(guò)程的深入而不斷呈現(xiàn)更低層次的信息。 </p><p>  模塊化和信息隱藏:軟件應(yīng)該分解成可單獨(dú)命名的且可訪問(wèn)的部件,這些部件稱為模塊。由Parnas倡導(dǎo)的“信息隱藏”是指模塊中所包含的信息(包括數(shù)據(jù)和過(guò)程)對(duì)不需要這些信息的其它模塊是不可訪問(wèn)的。抽象有助于定義組成軟件的過(guò)程(或信息)實(shí)體;隱藏定義并加強(qiáng)了對(duì)模塊內(nèi)部訪問(wèn)的約束,有助于分離模塊的實(shí)

28、現(xiàn)者和使用者。</p><p>  模塊獨(dú)立性:模塊獨(dú)立性是模塊化、抽象和信息隱藏的直接產(chǎn)物。模塊的功能獨(dú)立性可以使得模塊既容易開(kāi)發(fā)又容易維護(hù)。模塊獨(dú)立性有兩個(gè)定性的度量標(biāo)準(zhǔn):內(nèi)聚度和耦合度。 </p><p>  內(nèi)聚度:模塊內(nèi)部各成分聯(lián)系緊密的程度。內(nèi)聚度越高,模塊的獨(dú)立性就越強(qiáng)。內(nèi)聚程度從高到低的順序是:功能內(nèi)聚、信息內(nèi)聚、通信內(nèi)聚(數(shù)據(jù)相關(guān)—數(shù)據(jù)或標(biāo)記耦合)、過(guò)程內(nèi)聚(程序流程圖;

29、過(guò)程相關(guān)---控制耦合)、時(shí)間內(nèi)聚(初始化模塊)、邏輯內(nèi)聚和偶然內(nèi)聚。 設(shè)計(jì)模塊時(shí),應(yīng)該盡可能避免使用偶然內(nèi)聚等低級(jí)內(nèi)聚的模塊,爭(zhēng)取高級(jí)內(nèi)聚的模塊,以提高模塊的獨(dú)立性。 </p><p>  耦合度:模塊之間相互關(guān)聯(lián)緊密的程度。模塊的耦合度越低,模塊的獨(dú)立性越強(qiáng)。 耦合程度從低到高也可分為七種:非直接耦合、數(shù)據(jù)耦合、標(biāo)記耦合、控制耦合、外部耦合、公共耦合、內(nèi)容耦合。 在設(shè)計(jì)模塊時(shí),應(yīng)該盡量使用數(shù)據(jù)耦合,必要時(shí)使用

30、標(biāo)記耦合,少用控制耦合,限制使用公共耦合,最好不要使用內(nèi)容耦合。</p><p><b>  結(jié)構(gòu)化設(shè)計(jì)方法</b></p><p>  面向數(shù)據(jù)流圖的軟件結(jié)構(gòu)設(shè)計(jì) </p><p>  面向數(shù)據(jù)流圖的設(shè)計(jì)方法是一種結(jié)構(gòu)化設(shè)計(jì)方法。過(guò)程:首先,研究、分析和審查數(shù)據(jù)流圖,確保數(shù)據(jù)流圖符合實(shí)際,必要時(shí)還要進(jìn)一步精化數(shù)據(jù)流圖;然后,確定數(shù)據(jù)流圖的類型

31、,即變換型數(shù)據(jù)流或事務(wù)型數(shù)據(jù)流;再依據(jù)數(shù)據(jù)流圖的類型采用變換分析法或事務(wù)分析法導(dǎo)出系統(tǒng)初始的軟件結(jié)構(gòu);最后,依據(jù)軟件設(shè)計(jì)原理和一些優(yōu)化策略改進(jìn)系統(tǒng)初始的軟件結(jié)構(gòu),形成最終的軟件結(jié)構(gòu)。</p><p>  在結(jié)構(gòu)化設(shè)計(jì)方法中,軟件結(jié)構(gòu)是軟件系統(tǒng)模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)功能及其之間的關(guān)系。 軟件結(jié)構(gòu)圖的主要內(nèi)容有:模塊、模塊間的調(diào)用關(guān)系和模塊之間傳遞的信息。</p><p>  模塊:在軟

32、件系統(tǒng)的軟件結(jié)構(gòu)圖中,有6種類型的模塊:傳入模塊、傳出模塊、變換模塊、協(xié)調(diào)模塊、源模塊和漏模塊。 在軟件結(jié)構(gòu)圖中,模塊用方框來(lái)表示,并用名字標(biāo)識(shí)該方框。</p><p>  調(diào)用關(guān)系:在軟件結(jié)構(gòu)圖中,模塊間的調(diào)用關(guān)系主要有三種:順序調(diào)用、選擇調(diào)用和循環(huán)調(diào)用。方框之間的箭頭表示模塊之間的調(diào)用與被調(diào)用關(guān)系。模塊間調(diào)用的次序,習(xí)慣上是從左至右。</p><p>  數(shù)據(jù)或控制信息:在軟件結(jié)構(gòu)中,

33、模塊傳遞的信息用帶名稱的短線箭頭來(lái)表示。箭頭方向代表信息傳遞的方向。若箭頭線尾是帶空心圓圈,則表示該箭頭線代表的是數(shù)據(jù);若箭頭線尾是帶實(shí)心圓圈,則表示該箭頭線代表的是控制。</p><p>  數(shù)據(jù)流變換分析法:一種將變換型數(shù)據(jù)流圖映射為變換型軟件結(jié)構(gòu)圖的軟件系統(tǒng)設(shè)計(jì)方法。(P101)</p><p>  數(shù)據(jù)流事務(wù)分析法:是將事務(wù)型數(shù)據(jù)流圖映射為事務(wù)型軟件結(jié)構(gòu)圖的軟件系統(tǒng)設(shè)計(jì)方法。(P1

34、03)</p><p>  軟件結(jié)構(gòu)圖的改進(jìn):模塊大小適中、模塊扇入扇出合理、模塊的作用域應(yīng)在控制域內(nèi) 。 模塊的扇出是指模塊直接調(diào)用多少其它模塊。 模塊的扇入是指共有多個(gè)模塊直接調(diào)用本模塊。良好的軟件結(jié)構(gòu)圖,上層模快(主要是控制模塊)往往具有較高的扇出,底層的模塊(主要是功能型模塊)具有較高的扇入,呈兩頭小、中間大的清真寺?tīng)睢?模塊的作用域是指模塊中判定的作用范圍,它是指所有受這個(gè)判定影響的模塊。 模塊

35、的控制域是指模塊本身及其直接或間接調(diào)用的模塊。 如果模塊的作用域不在控制域之內(nèi),則會(huì)增加模塊間數(shù)據(jù)的傳遞量,使模塊之間出現(xiàn)控制耦合。</p><p>  面向IDEF0圖的軟件結(jié)構(gòu)設(shè)計(jì)</p><p>  面向IDEF0圖的軟件結(jié)構(gòu)設(shè)計(jì)是一種結(jié)構(gòu)化設(shè)計(jì)方法,它以系統(tǒng)的功能模型和信息結(jié)構(gòu)(數(shù)據(jù))為基礎(chǔ)設(shè)計(jì)系統(tǒng)的軟件結(jié)構(gòu)。 </p><p>  概要設(shè)計(jì)時(shí),一般可按照I

36、DEF0圖的分解層次,逐層將其轉(zhuǎn)換成軟件結(jié)構(gòu)。</p><p><b>  面向?qū)ο笤O(shè)計(jì)模式</b></p><p>  1、對(duì)象建模:主要任務(wù)是了解某個(gè)特定應(yīng)用問(wèn)題域內(nèi)所涉及的對(duì)象,以及各種各樣的結(jié)構(gòu)和通信關(guān)系。 介紹Coad/Yourdon 面向?qū)ο蠓治龇椒▉?lái)進(jìn)行對(duì)象建模,在表示符號(hào)上采用UML建模語(yǔ)言提供的標(biāo)記法。</p><p>  

37、2、確定對(duì)象&類的方法 :三視圖模型法(實(shí)體一關(guān)系模型、數(shù)據(jù)流模型、狀態(tài)—遷移模型)。</p><p>  3、面向?qū)ο笤O(shè)計(jì)是在對(duì)象建模的基礎(chǔ)進(jìn)行逐漸擴(kuò)充的過(guò)程。在對(duì)象建模中,是以問(wèn)題域?yàn)橹行?,而面向?qū)ο笤O(shè)計(jì)要在軟件系統(tǒng)環(huán)境,即解空間,解決對(duì)象建模中要完成的事情。對(duì)象建模是以問(wèn)題域?yàn)橹行拇_定“做什么”,面向?qū)ο笤O(shè)計(jì)則以軟件系統(tǒng)實(shí)現(xiàn)環(huán)境為中心確定“如何做”。 </p><p>  4

38、、面向?qū)ο笤O(shè)計(jì)主要設(shè)計(jì)內(nèi)容:?jiǎn)栴}域部分設(shè)計(jì)、人機(jī)交互部分設(shè)計(jì) 、任務(wù)管理部分設(shè)計(jì) 、數(shù)據(jù)管理部分設(shè)計(jì)、系統(tǒng)交互部件的設(shè)計(jì)。(P110)</p><p>  5、面向?qū)ο笤O(shè)計(jì)模式是普通面向?qū)ο笤O(shè)計(jì)問(wèn)題的解決方案,這類問(wèn)題以一組交互類的形式出現(xiàn),用戶根據(jù)需要定制這些交互類以形成專門的設(shè)計(jì)。</p><p>  作用:設(shè)計(jì)模式不僅使人們可以更加方便地復(fù)用成功設(shè)計(jì)方案,提高軟件的靈活性和可復(fù)用性,

39、也能提高已有系統(tǒng)的文檔管理和系統(tǒng)維護(hù)的有效性。 </p><p>  6、創(chuàng)建型模式:創(chuàng)建型模式幫助系統(tǒng)獨(dú)立于對(duì)象的產(chǎn)生、組合和表示。</p><p>  作用:一方面均將關(guān)于系統(tǒng)使用哪些具體的類的信息封裝起來(lái);另一方面隱蔽了這些具體類的實(shí)例是如何被創(chuàng)建和放在一起的。因此,創(chuàng)建型模式在“什么”被創(chuàng)建、“怎樣”被創(chuàng)建、“誰(shuí)”創(chuàng)建它以及“何時(shí)”創(chuàng)建等方面帶來(lái)了很大的靈活性,有利于設(shè)計(jì)可復(fù)用的軟

40、件成分。 主要有兩種:工廠方法模式、抽象工廠模式。 結(jié)構(gòu)型模式:結(jié)構(gòu)型模式涉及如何組合類和對(duì)象構(gòu)成更大的結(jié)構(gòu)。一種方法是采用繼承機(jī)制來(lái)組合接口或?qū)崿F(xiàn)來(lái)形成更大的結(jié)構(gòu);另一種方法通過(guò)對(duì)象組合方式對(duì)一些對(duì)象進(jìn)行組合來(lái)形成。由于對(duì)象組合可以在運(yùn)行時(shí)刻改變,而繼承機(jī)制為靜態(tài)類組合,因而對(duì)象組合方式具有更大的靈活性。 主要有兩種:適配器模式、組合模式。 行為型模式:行為型模式不僅描述對(duì)象或類的模式,還描述它們之間的通信模式。這些模式刻劃了

41、在運(yùn)行時(shí)難以跟蹤的復(fù)雜的控制流。行為型模式使設(shè)計(jì)者的注意力從控制流轉(zhuǎn)移到對(duì)象間的聯(lián)系方式上。 主要有兩種:迭代器模式、觀察者模式。</p><p>  7、MVC框架中類的交互:當(dāng)用戶進(jìn)行一些輸入動(dòng)作后,控制器接收用戶事件,并根據(jù)事件的類型來(lái)改變模型;視圖事先會(huì)在模型中登記,當(dāng)模型數(shù)據(jù)發(fā)生改變時(shí),馬上通知已向此模型登記的每個(gè)視圖,視圖從模型中取得最新的數(shù)據(jù)并刷新自己。</p><p>&l

42、t;b>  概要設(shè)計(jì)文檔</b></p><p>  1、概要設(shè)計(jì)說(shuō)明包括軟件系統(tǒng)的基本處理流程、軟件結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等。概要設(shè)計(jì)說(shuō)明為軟件的詳細(xì)設(shè)計(jì)提供了基礎(chǔ),也是系統(tǒng)集成測(cè)試的主要依據(jù)。</p><p>  2、概要設(shè)計(jì)文檔復(fù)審:目的:較早期地發(fā)現(xiàn)設(shè)計(jì)中存在的錯(cuò)誤和缺陷。參與者:除開(kāi)發(fā)人員外,必須要有用戶代表參加

43、,必要時(shí)還應(yīng)邀請(qǐng)有關(guān)領(lǐng)域的專家參加。 </p><p>  內(nèi)容:重點(diǎn)在軟件系統(tǒng)的總體結(jié)構(gòu)、模塊劃分、內(nèi)外接口以及人機(jī)界面上。方式:正式復(fù)審和非正式復(fù)審。</p><p>  小結(jié):①概要設(shè)計(jì)是由軟件結(jié)構(gòu)設(shè)計(jì)、內(nèi)外接口設(shè)計(jì)、數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)和用戶界面設(shè)計(jì)等活動(dòng)組成,是將用戶需求轉(zhuǎn)化為計(jì)算機(jī)可實(shí)現(xiàn)的系統(tǒng)的一個(gè)重要步驟。②面向數(shù)據(jù)流圖的設(shè)計(jì)方法和面向IDEF0圖的設(shè)計(jì)方法是兩種常用的結(jié)構(gòu)化設(shè)計(jì)

44、方法,其特點(diǎn)是自頂向下,逐層細(xì)化。③Coad/Yourdon方法在面向?qū)ο笤O(shè)計(jì)方法中比較系統(tǒng)的一種方法,其四個(gè)部分的設(shè)計(jì)實(shí)際是對(duì)面向?qū)ο蠓治瞿P驮谖鍌€(gè)層次上擴(kuò)充,擴(kuò)充的內(nèi)容實(shí)質(zhì)也就是用戶界面設(shè)計(jì)、內(nèi)外接口設(shè)計(jì)、數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)等方面的內(nèi)容。 </p><p><b>  詳細(xì)設(shè)計(jì)</b></p><p>  詳細(xì)設(shè)計(jì)的目標(biāo)與任務(wù):概要設(shè)計(jì)確定了軟件系統(tǒng)的總體結(jié)構(gòu),詳細(xì)

45、設(shè)計(jì)則對(duì)概要設(shè)計(jì)結(jié)果進(jìn)一步細(xì)化,給出目標(biāo)系統(tǒng)的精確描述,以便在編碼階段直接翻譯成計(jì)算機(jī)上能夠運(yùn)行的程序代碼。詳細(xì)設(shè)計(jì)的任務(wù):算法過(guò)程的設(shè)計(jì);數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì);數(shù)據(jù)庫(kù)物理設(shè)計(jì);信息編碼設(shè)計(jì);測(cè)試用例的設(shè)計(jì);編寫(xiě)“詳細(xì)設(shè)計(jì)說(shuō)明書(shū)”。(主要任務(wù):確定軟件系統(tǒng)各組成成份內(nèi)部數(shù)據(jù)結(jié)構(gòu)和算法過(guò)程)</p><p>  詳細(xì)設(shè)計(jì)圖形描述工具:詳細(xì)設(shè)計(jì)中用于過(guò)程設(shè)計(jì)的圖形工具,包括程序流程圖、盒圖、問(wèn)題分析圖和協(xié)作圖。</p

46、><p>  Jackson程序設(shè)計(jì)方法是一種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化程序設(shè)計(jì)方法。通過(guò)分析問(wèn)題的輸入、輸出數(shù)據(jù)結(jié)構(gòu)(用Jackson圖表示)的對(duì)應(yīng)關(guān)系,按一定的映射規(guī)則將其映射成軟件的過(guò)程描述,用Jackson偽代碼表示。(P134)</p><p>  Warnier程序設(shè)計(jì)方法:LCP(邏輯構(gòu)造程序)程序設(shè)計(jì)方法。</p><p>  程序規(guī)格說(shuō)明文檔及復(fù)審:又稱詳細(xì)

47、設(shè)計(jì)說(shuō)明,與概要設(shè)計(jì)說(shuō)明相比,程序規(guī)格說(shuō)明著重描述模塊的細(xì)節(jié),包括算法過(guò)程和數(shù)據(jù)結(jié)構(gòu)。如果軟件系統(tǒng)比較簡(jiǎn)單,則可將程序規(guī)格說(shuō)明并入概要設(shè)計(jì)說(shuō)明中。 程序規(guī)格說(shuō)明的復(fù)審類似于概要設(shè)計(jì)說(shuō)明的復(fù)審,但重點(diǎn)在于各個(gè)模塊的具體設(shè)計(jì)上。</p><p>  小結(jié):詳細(xì)設(shè)計(jì)是進(jìn)行邏輯系統(tǒng)開(kāi)發(fā)的最后一個(gè)階段,其質(zhì)量的好壞將直接影響到系統(tǒng)的編碼實(shí)現(xiàn)。 合理選擇和正確使用有關(guān)工具、深入理解和掌握有關(guān)設(shè)計(jì)思想和方法,對(duì)搞好詳細(xì)設(shè)計(jì)

48、是非常重要的。 結(jié)構(gòu)化程序的詳細(xì)設(shè)計(jì)與面向?qū)ο蟪绦虻脑敿?xì)設(shè)計(jì)有許多共性。 </p><p><b>  軟件測(cè)試</b></p><p>  1、軟件驗(yàn)證:是通過(guò)檢查和提供客觀證據(jù)表明軟件已經(jīng)滿足規(guī)定的需求,是確保軟件質(zhì)量和降低軟件成本的重要手段,涉及軟件的整個(gè)生存周期。</p><p>  進(jìn)行軟件驗(yàn)證的方式大體有兩種:測(cè)試和證明。</

49、p><p>  測(cè)試又分靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試兩種。(靜態(tài)測(cè)試,又稱評(píng)審,是對(duì)軟件進(jìn)行的一種分析和檢查活動(dòng)。動(dòng)態(tài)測(cè)試是通過(guò)運(yùn)行軟件來(lái)檢驗(yàn)其動(dòng)態(tài)行為和運(yùn)行結(jié)果的正確性。) 證明是一種通過(guò)形式化的數(shù)學(xué)方法來(lái)確保軟件正確性的活動(dòng)。</p><p>  2、軟件測(cè)試:是在軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)規(guī)格說(shuō)明和編碼的復(fù)審,是為了發(fā)現(xiàn)錯(cuò)誤,通過(guò)檢查和提供客觀證據(jù)表明軟件已經(jīng)滿足規(guī)定的需求。</p

50、><p>  軟件測(cè)試是確保軟件質(zhì)量和降低軟件成本的重要手段,涉及軟件的整個(gè)生存周期。</p><p>  軟件測(cè)試就是試圖以最少的代價(jià)發(fā)現(xiàn)軟件分析、設(shè)計(jì)和編碼中存在的各種不同類型的錯(cuò)誤,從而提高軟件質(zhì)量,降低軟件成本。</p><p>  一般的軟件開(kāi)發(fā)組織要將30%~40%的項(xiàng)目精力投入到測(cè)試之中,一些人命悠關(guān)的軟件(如航空器的飛行控制軟件)其測(cè)試費(fèi)用往往更高。&l

51、t;/p><p>  軟件測(cè)試對(duì)象:軟件生存周期各階段文檔和代碼。</p><p>  4、測(cè)試與調(diào)試:測(cè)試是查找錯(cuò)誤癥狀的過(guò)程,調(diào)試則是查找錯(cuò)誤癥狀原因并改正錯(cuò)誤的過(guò)程。 針對(duì)測(cè)試中發(fā)現(xiàn)的錯(cuò)誤進(jìn)行改正,這便是調(diào)試的工作。測(cè)試和調(diào)試往往交替進(jìn)行。 </p><p>  5、軟件測(cè)試的根本任務(wù)就是發(fā)現(xiàn)軟件中存在的錯(cuò)誤。 </p><p>  由于

52、軟件錯(cuò)誤往往出現(xiàn)在軟件的分析和設(shè)計(jì)中,而且錯(cuò)誤發(fā)現(xiàn)越晚,改正錯(cuò)誤的工作量也越大,因而在開(kāi)發(fā)前期利用靜態(tài)測(cè)試非常重要,而且發(fā)現(xiàn)錯(cuò)誤的效率也往往比較高。 </p><p>  6、測(cè)試只能說(shuō)明軟件中存在錯(cuò)誤,不能表明程序沒(méi)有錯(cuò)誤,因而任何軟件經(jīng)過(guò)測(cè)試后不能保證軟件中不再存在錯(cuò)誤。 </p><p><b>  白盒測(cè)試</b></p><p>  

53、白盒測(cè)試是一種以程序的內(nèi)部邏輯結(jié)構(gòu)為依據(jù)設(shè)計(jì)測(cè)試用例的方法,因而又稱結(jié)構(gòu)測(cè)試或玻璃盒測(cè)試。</p><p>  合理的白盒測(cè)試就是要選取足夠的測(cè)試用例,對(duì)源代碼實(shí)行比較充分的覆蓋,以便盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤。(原因:窮舉測(cè)試不合理)。</p><p>  主要有兩種方法:一種稱為邏輯覆蓋法,另一種稱為路徑覆蓋法。除此外,對(duì)循環(huán)的測(cè)試,可采用循環(huán)覆蓋法。</p><p

54、>  ①邏輯覆蓋: 語(yǔ)句覆蓋,測(cè)試用例能使被測(cè)程序的每條執(zhí)行語(yǔ)句至少執(zhí)行一次; 判定覆蓋:測(cè)試用例能使被測(cè)程序中的每個(gè)判定至少取得一次“真”和一次“假”。又稱分支覆蓋;條件覆蓋:測(cè)試用例能使被測(cè)程序中每個(gè)判定的每個(gè)條件至少取得一次“真”和一次“假”。如果判定中只有一個(gè)條件,則條件覆蓋便滿足判定覆蓋,否則,不一定;判定/條件覆蓋:測(cè)試用例既滿足判定覆蓋,又滿足條件覆蓋;條件組合覆蓋:測(cè)試用例使每個(gè)判定中所有可能的條件取值組合至少執(zhí)行

55、一次。 其中語(yǔ)句覆蓋最弱。</p><p> ?、诨韭窂礁采w法:是在程序圖的基礎(chǔ)上,通過(guò)分析環(huán)形復(fù)雜性,導(dǎo)出基本路徑集,然后設(shè)計(jì)測(cè)試用例使基本路徑集中的每條路徑至少經(jīng)過(guò)一次。</p><p>  獨(dú)立路徑:包含一組以前從未被處理的語(yǔ)句或條件的一條路徑。</p><p> ?、垩h(huán)覆蓋法: 邏輯覆蓋法和基本路徑覆蓋法對(duì)于循環(huán)只進(jìn)行了循環(huán)一次的測(cè)試,顯然是不充分的

56、。而循環(huán)是大多數(shù)軟件實(shí)現(xiàn)算法的關(guān)鍵部分,因此對(duì)循環(huán)的測(cè)試是十分重要的。對(duì)于結(jié)構(gòu)化程序而言,循環(huán)主要有三種:簡(jiǎn)單循環(huán)、嵌套循環(huán)和串接循環(huán)。</p><p><b>  黑盒測(cè)試</b></p><p>  黑盒測(cè)試 :又稱功能測(cè)試、數(shù)據(jù)驅(qū)動(dòng)測(cè)試等,它將待測(cè)試對(duì)象看成是一個(gè)黑盒子,不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和特性,只依據(jù)規(guī)格說(shuō)明書(shū)檢查程序的功能是否能正常使用。通常,白盒測(cè)試

57、用于測(cè)試的早期,而黑盒測(cè)試由于不需了解程序內(nèi)部情況,因而被許多后期測(cè)試(如確認(rèn)測(cè)試、系統(tǒng)測(cè)試)采用。</p><p>  測(cè)試用例設(shè)計(jì)方法:用黑盒測(cè)試發(fā)現(xiàn)程序中的錯(cuò)誤,主要根據(jù)輸入條件和輸出條件確定測(cè)試數(shù)據(jù),來(lái)檢查程序是否能產(chǎn)生正確的輸出。</p><p>  進(jìn)行黑盒測(cè)試,主要有下述幾種方法:等價(jià)分類法、邊界值分析法、猜錯(cuò)法、因果圖法。</p><p>  等價(jià)分

58、類法和邊界值分析法通過(guò)選擇有代表性的測(cè)試數(shù)據(jù)來(lái)暴露程序錯(cuò)誤。但不同類型不同特點(diǎn)的程序通常又有一些特殊的容易出錯(cuò)的情況。并且,有時(shí)分別使用某些測(cè)試用例測(cè)試時(shí)程序工作正常,但其組合可能會(huì)使程序出錯(cuò); 猜錯(cuò)法是根據(jù)經(jīng)驗(yàn)和直覺(jué)設(shè)計(jì)測(cè)試用例,盡管能考慮到輸入組合的情況,但顯得不充分;因果圖法借助圖形來(lái)設(shè)計(jì)測(cè)試用例,特別適用于被測(cè)程序具有多種輸入條件,程序的輸出又依賴于輸入條件的各種組合的情況。 </p>

59、<p>  黑盒法綜合策略:首先用邊界值分析法設(shè)計(jì)測(cè)試用例;必要時(shí)用等價(jià)分類法補(bǔ)充測(cè)試用例;必要時(shí)再用猜錯(cuò)法補(bǔ)充測(cè)試用例;如果在程序的說(shuō)明中含有輸入條件的組合,宜在一開(kāi)始末就采用因果法,然后再按上述步驟進(jìn)行。 </p><p><b>  動(dòng)態(tài)測(cè)試</b></p><p>  動(dòng)態(tài)測(cè)試:通過(guò)運(yùn)行軟件來(lái)檢驗(yàn)其動(dòng)態(tài)行為與運(yùn)行結(jié)果的正確性。</p>

60、<p>  (1)單元測(cè)試:又稱模塊測(cè)試或分調(diào),是動(dòng)態(tài)測(cè)試中的第一步,通常在編碼階段進(jìn)行。單元測(cè)試集中檢查軟件設(shè)計(jì)的最小單元——模塊,即程序中最小的獨(dú)立編譯單位。</p><p>  單元測(cè)試一般總是把白盒法和黑盒法結(jié)合運(yùn)用。先用黑盒法設(shè)計(jì)出一組基本的測(cè)試用例,然后用白盒法,根據(jù)覆蓋標(biāo)準(zhǔn)要求補(bǔ)充新的測(cè)試用例滿足覆蓋標(biāo)準(zhǔn)。在一般情況下,單元測(cè)試應(yīng)以白盒法為主。 </p><p>

61、  單元測(cè)試在于考察模塊的接口和內(nèi)部結(jié)構(gòu),檢查是否符合程序規(guī)格說(shuō)明(即詳細(xì)設(shè)計(jì)說(shuō)明書(shū))的要求。測(cè)試的重點(diǎn)在以下幾個(gè)方面:模塊的接口;局部數(shù)據(jù)結(jié)構(gòu);重要的執(zhí)行通路;出錯(cuò)處理路徑;影響以上各項(xiàng)的邊界條件。</p><p>  測(cè)試軟件:一般地,驅(qū)動(dòng)模塊應(yīng)完成接收測(cè)試數(shù)據(jù),并把數(shù)據(jù)傳給被測(cè)模塊,然后打印有關(guān)結(jié)果等任務(wù);樁模塊應(yīng)該模擬實(shí)際模塊完成少量數(shù)據(jù)處理,并檢驗(yàn)和打印入口處的信息,然后將控制返回給被測(cè)模塊。 <

62、/p><p>  面向?qū)ο髥卧獪y(cè)試:最小的可測(cè)試單元是類,包含一組不同操作。對(duì)面向?qū)ο筌浖念悳y(cè)試等價(jià)于結(jié)構(gòu)化軟件的單元測(cè)試。類測(cè)試方法:基于故障的測(cè)試、隨機(jī)測(cè)試和劃分測(cè)試。</p><p> ?。?)集成測(cè)試:集成測(cè)試,又稱組裝測(cè)試、綜合測(cè)試或聯(lián)調(diào),是在單元測(cè)試完成之后,將所有模塊按概要設(shè)計(jì)要求組裝成系統(tǒng)的時(shí)候進(jìn)行的測(cè)試。</p><p>  主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)

63、的問(wèn)題。主要檢查模塊接口和全局?jǐn)?shù)據(jù)。</p><p>  集成測(cè)試有組裝和檢驗(yàn)兩重意義,一方面將各經(jīng)過(guò)單元測(cè)試的模塊拼裝起來(lái)形成完整可運(yùn)行的系統(tǒng);另一方面要檢驗(yàn)每一步拼裝過(guò)程是否正確。</p><p>  測(cè)試策略:集成測(cè)試一般應(yīng)由獨(dú)立的測(cè)試小組進(jìn)行,由測(cè)試小組提出測(cè)試用例,記錄測(cè)試結(jié)果,并編制測(cè)試報(bào)告。</p><p>  測(cè)試用例的設(shè)計(jì)通常采用黑盒法,其實(shí)施策略

64、又分為非漸增式和漸增式兩種。 </p><p>  非漸增式測(cè)試:采用非漸增式測(cè)試,一般應(yīng)先經(jīng)過(guò)單元測(cè)試,然后再把所有模塊一次性組裝在一起進(jìn)行測(cè)試,最終得到要求的軟件系統(tǒng)。 </p><p>  將模塊一次性組裝在一起運(yùn)行成功的可能性并不大。其結(jié)果往往是發(fā)現(xiàn)有錯(cuò)誤,但由于程序中模塊一次性引入過(guò)多,難于進(jìn)行錯(cuò)誤定位。同時(shí),一旦修正錯(cuò)誤之后,新的錯(cuò)誤很可能馬上會(huì)出現(xiàn)。 除規(guī)模很小的程序,一般

65、很少采用此種測(cè)試策略。 </p><p>  漸增式測(cè)試:漸增式測(cè)試采用逐步加入模塊或功能簇的方式進(jìn)行,在加入過(guò)程中邊連接邊測(cè)試,比較容易定位和修正錯(cuò)誤,且接口也可以更容易進(jìn)行徹底地測(cè)試。</p><p>  按照添加模塊的方式,又可分為自頂向下的漸增測(cè)試和自底向上漸增測(cè)試。</p><p>  自頂向下的漸增式測(cè)試:首先集成主控模塊,然后按照軟件結(jié)構(gòu)的控制層次自上

66、而下進(jìn)行集成,把主控模塊的直接(或間接)調(diào)用模塊按深度優(yōu)先或廣度優(yōu)先的方式集成到整個(gè)軟件結(jié)構(gòu)中。 特點(diǎn):①能較早地顯示整個(gè)程序的輪廓,對(duì)增強(qiáng)開(kāi)發(fā)人員的信心,取得用戶的支持,有重要的作用;②只需編寫(xiě)樁模塊供測(cè)試用,驅(qū)動(dòng)模塊可以利用實(shí)際模塊;③能盡早發(fā)現(xiàn)主要控制中的問(wèn)題,減少以后的返工;④可先對(duì)邏輯輸入的分支進(jìn)行組裝和測(cè)試,檢查和克服潛藏的錯(cuò)誤,為其后對(duì)主加工分支的組裝和測(cè)試提供了保證;⑤由于每添加一個(gè)新模塊,就進(jìn)行一次測(cè)試,這樣雖然耗費(fèi)一

67、些時(shí)間,但卻使被測(cè)程序測(cè)試更徹底,尤其是上層模塊。</p><p>  自底向上的漸增式測(cè)試:(1)把低層模塊組合成實(shí)現(xiàn)某個(gè)特定的子功能的模塊簇,并用編寫(xiě)的驅(qū)動(dòng)模塊控制它進(jìn)行測(cè)試;可以對(duì)若干功能簇并行進(jìn)行測(cè)試;</p><p>  用實(shí)際模塊換掉驅(qū)動(dòng)模塊,沿軟件結(jié)構(gòu)自下而上移動(dòng),把子功能簇組合起來(lái)形成更大的子功能簇,并進(jìn)行測(cè)試;(3)重復(fù)(2)直到所有模塊組裝完畢。</p>

68、<p>  特點(diǎn):①不能在測(cè)試的早期顯示出程序的輪廓。程序的總體結(jié)構(gòu),要等到加入最后一個(gè)模塊時(shí)才能最終形成;②測(cè)試軟件只需要驅(qū)動(dòng)模塊,不需要樁模塊,而且隨著組裝層次的上移,驅(qū)動(dòng)模塊將大為減少(在多數(shù)情況下,編寫(xiě)驅(qū)動(dòng)模塊要比樁模塊容易);③由于從低層模塊開(kāi)始組合,所以較易產(chǎn)生測(cè)試用例。</p><p>  在模塊組裝起來(lái)后,新的數(shù)據(jù)流路徑建立起來(lái)了,新的控制邏輯可能激活了等等。這些改變可能會(huì)使原本工作正常

69、的功能產(chǎn)生錯(cuò)誤,因此,應(yīng)對(duì)某些已經(jīng)進(jìn)行過(guò)的測(cè)試的測(cè)試用例再重新執(zhí)行一遍,以保證上述改變不會(huì)傳播意外的副作用,稱之為回歸測(cè)試。 </p><p> ?。?)確認(rèn)測(cè)試:就是驗(yàn)證所開(kāi)發(fā)軟件的功能和性能及其他特性是否符合軟件需求規(guī)格說(shuō)明書(shū)的要求。所以,確認(rèn)測(cè)試又稱之為有效性測(cè)試。 內(nèi)容:功能測(cè)試;性能測(cè)試;強(qiáng)度測(cè)試;配置復(fù)審。</p><p>  確認(rèn)測(cè)試是由軟件開(kāi)發(fā)單位組織進(jìn)行的最后一次測(cè)試

70、,也是把軟件交給用戶,進(jìn)行正式的安裝和驗(yàn)收之前所作的一次重要的準(zhǔn)備。為了確保測(cè)試質(zhì)量,一方面應(yīng)組織獨(dú)立的測(cè)試小組進(jìn)行測(cè)試,另一方面吸收任務(wù)委托單位及用戶代表參加測(cè)試,以提高測(cè)試的可信度。同時(shí),應(yīng)將測(cè)試中發(fā)現(xiàn)的錯(cuò)誤填入問(wèn)題清單,交開(kāi)發(fā)者處理。 </p><p>  (4)系統(tǒng)測(cè)試:是在更大范圍內(nèi)進(jìn)行的測(cè)試,它將經(jīng)過(guò)確認(rèn)測(cè)試的軟件作為整個(gè)基于計(jì)算機(jī)的系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元

71、素結(jié)合在一起,在實(shí)際運(yùn)行環(huán)境下,對(duì)系統(tǒng)進(jìn)行的一系列集成和確認(rèn)測(cè)試。</p><p>  系統(tǒng)測(cè)試通常由任務(wù)委托單位或用戶組織的驗(yàn)收小組負(fù)責(zé),一般應(yīng)根據(jù)需求分析說(shuō)明書(shū)來(lái)設(shè)計(jì)測(cè)試用例,在實(shí)際使用環(huán)境中運(yùn)行。系統(tǒng)測(cè)試的內(nèi)容對(duì)不同的系統(tǒng)各不相同。</p><p><b>  軟件維護(hù)</b></p><p>  1、所謂軟件維護(hù)是指軟件交付使用之后,為

72、了改正錯(cuò)誤或滿足新的需求等而修改軟件以達(dá)到延長(zhǎng)軟件壽命為目的的過(guò)程。軟件維護(hù)階段的長(zhǎng)短決定了軟件壽命的長(zhǎng)短;軟件維護(hù)階段的費(fèi)用占軟件總成本的大部分。 </p><p>  2、軟件維護(hù)不同于硬件維護(hù),主要原因是軟件維護(hù)不是因?yàn)槭褂脮r(shí)軟件磨損或老化引起,而是由于軟件設(shè)計(jì)不正確、不完善或使用環(huán)境的變化等引起。</p><p>  3、軟件維護(hù)類型:改正性維護(hù),識(shí)別和糾正軟件錯(cuò)誤,改正性能上的缺

73、陷,排除實(shí)施中的誤使用而進(jìn)行的診斷和改正錯(cuò)誤的活動(dòng)。約占整個(gè)維護(hù)的20%;適應(yīng)性維護(hù),使軟件適應(yīng)處理環(huán)境或數(shù)據(jù)要求的變化而修改軟件的活動(dòng)。約占整個(gè)維護(hù)的25%;完善性維護(hù),修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能,增強(qiáng)軟件性能等。約占整個(gè)維護(hù)的50%;預(yù)防性維護(hù)或再工程,采用先進(jìn)的軟件工程方法對(duì)需要維護(hù)的軟件或軟件的某一部分(重新)進(jìn)行設(shè)計(jì)、編碼和測(cè)試。連同其它維護(hù)約占整個(gè)維護(hù)的5%。</p><p>  4、軟件維護(hù)成

74、本:軟件維護(hù)活動(dòng)所花費(fèi)的工作量占軟件整個(gè)生存期工作量的70%以上。影響軟件維護(hù)工作量的因素有很多,就軟件系本身而言,有以下幾個(gè)主要方面: 系統(tǒng)的大??;程序設(shè)計(jì)語(yǔ)言;系統(tǒng)年齡;數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用;軟件開(kāi)發(fā)新技術(shù)的運(yùn)用。</p><p>  5、軟件維護(hù)相關(guān)的模型:Boehm模型;Belady與Lehman模型。</p><p>  6、軟件維護(hù)過(guò)程本質(zhì)上是修改和壓縮了的軟件定義和軟件開(kāi)發(fā)過(guò)程。

75、</p><p>  7、軟件可維護(hù)性是指糾正軟件系統(tǒng)中出現(xiàn)的錯(cuò)誤或缺陷,以及為滿足新的要求進(jìn)行修改、擴(kuò)充和壓縮軟件的容易程度。</p><p>  軟件可維護(hù)性的7個(gè)度量指標(biāo):可理解性,可測(cè)試性,可修改性,可靠性,可移植性,可使用性及效率。</p><p>  8、影響軟件可維護(hù)性的軟件屬性:可理解性,表現(xiàn)為人們通過(guò)閱讀源代碼和相關(guān)文檔,理解軟件的結(jié)構(gòu)、接口、功能

76、和內(nèi)部過(guò)程的容易程度;可測(cè)試性,一個(gè)軟件容易被測(cè)試的程度;可修改性,程序容易修改的程度。 </p><p>  9、軟件再工程技術(shù):是一類軟件工程活動(dòng),通過(guò)對(duì)舊軟件(遺留系統(tǒng))實(shí)施處理,以增進(jìn)對(duì)軟件的理解,同時(shí)又提高了軟件自身的可維護(hù)性、可復(fù)用性等。</p><p>  逆向工程:軟件逆向工程,通過(guò)對(duì)程序的分析,導(dǎo)出更高抽象層次的表示,如從現(xiàn)存的程序中抽取數(shù)據(jù)、體系結(jié)構(gòu)、過(guò)程的設(shè)計(jì)信息等,

77、是一個(gè)設(shè)計(jì)恢復(fù)過(guò)程。</p><p>  軟件重構(gòu)是對(duì)源代碼和/或數(shù)據(jù)進(jìn)行修改,使其易于理解或維護(hù),以適應(yīng)將來(lái)的變更。 軟件重構(gòu)要求關(guān)注模塊細(xì)節(jié)。</p><p>  正向工程也稱為改造,用從現(xiàn)存軟件恢復(fù)設(shè)計(jì)中得到的信息去重構(gòu)現(xiàn)存系統(tǒng),以改善其整體質(zhì)量。 </p><p>  10、軟件維護(hù)的副作用:因修改軟件而造成的錯(cuò)誤(編碼副作用、數(shù)據(jù)副作用、文檔副作用)&

78、lt;/p><p>  小結(jié):軟件工程學(xué)的一個(gè)主要目的便是提高軟件的可維護(hù)性,降低軟件維護(hù)的代價(jià); 軟件維護(hù)是軟件生存周期的最后一個(gè)階段,也是成本最高的階段; 軟件維護(hù)大多要涉及到軟件設(shè)計(jì)內(nèi)容的修改,從而要重視軟件維護(hù)的副作用,對(duì)軟件維護(hù)要有正式的組織,制定規(guī)范化的過(guò)程,實(shí)行嚴(yán)格的維護(hù)評(píng)價(jià)。 </p><p><b>  軟件質(zhì)量</b></p>

79、<p>  軟件質(zhì)量度量的兩個(gè)方面:軟件復(fù)雜性分析、軟件可靠性分析。</p><p>  軟件質(zhì)量控制:ISO9000認(rèn)證、軟件配置管理SCM、CMM。</p><p>  評(píng)價(jià)軟件質(zhì)量可從三個(gè)方面進(jìn)行,即產(chǎn)品或中間產(chǎn)品、過(guò)程(即軟件生產(chǎn)所需的資源和活動(dòng))和項(xiàng)目。</p><p>  復(fù)雜性度量方法:McCabe環(huán)形計(jì)數(shù)法 </p><

80、p>  程序環(huán)形復(fù)雜度V(G)=程序流程圖中的“判定數(shù)”+1</p><p>  =程序圖中的“環(huán)形數(shù)”。</p><p><b>  =m-n+2</b></p><p>  其中m對(duì)應(yīng)于程序圖中的弧數(shù),n對(duì)應(yīng)于程序圖中的節(jié)點(diǎn)數(shù)</p><p>  軟件可靠性:軟件在給定的時(shí)間間隔及規(guī)定的使用環(huán)境條件下,按分析和

81、設(shè)計(jì)規(guī)定的要求成功地運(yùn)行程序的概率;是與在規(guī)定的一段時(shí)間和條件下,軟件維持其性能水平的能力有關(guān)的一組屬性。</p><p>  軟件可靠性三要素:失效,是指最后執(zhí)行結(jié)果與有關(guān)規(guī)格不相符或用戶在軟件系統(tǒng)邊界覺(jué)察到不期望的軟件出錯(cuò)行為;時(shí)間,即軟件失效的時(shí)間;環(huán)境,軟件運(yùn)行時(shí)所需要的支持系統(tǒng)及有關(guān)的因素。軟件可靠性、硬件可靠性和操作可靠性三者綜合起來(lái)反映整個(gè)計(jì)算機(jī)系統(tǒng)的可靠性。</p><p>

82、;<b>  軟件可靠性測(cè)試:</b></p><p><b> ?、貵ilb植錯(cuò)模型</b></p><p>  假設(shè):N表示軟件中原有殘留的錯(cuò)誤數(shù);S表示植入軟件中的錯(cuò)誤數(shù);</p><p>  n表示測(cè)試中發(fā)現(xiàn)的原有錯(cuò)誤數(shù);s表示測(cè)試中發(fā)現(xiàn)的植入錯(cuò)誤數(shù)。</p><p>  則: N=(n/s

83、)*S</p><p> ?、贖yman分別測(cè)試模型</p><p>  假定:B0表示軟件中原有的殘留錯(cuò)誤數(shù);B1表示甲測(cè)試員在某一時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù);B2表示乙測(cè)試員在同一時(shí)間內(nèi)發(fā)現(xiàn)的錯(cuò)誤數(shù);Bc表示甲乙兩人發(fā)現(xiàn)的相同錯(cuò)誤數(shù)。 則:B0=(B1*B2)/Bc</p><p>  6、軟件配置管理是一組用于計(jì)算機(jī)軟件的整個(gè)生命周期內(nèi)管理變化的活動(dòng)。</p&

84、gt;<p>  主要目標(biāo):使變化更易適應(yīng),并減少變化發(fā)生時(shí)所需的工作量。</p><p>  7、CMM:1987年,美國(guó)卡內(nèi)基-梅隆大學(xué)軟件工程研究所(Software Engineering Institute, SEI)在美國(guó)國(guó)防部的支持下,提出了“軟件過(guò)程能力成熟度模型CMM (Capability Maturity Model)”。 </p><p>  CMM作

85、用:一方面,可以用來(lái)評(píng)價(jià)軟件組織的質(zhì)量保證能力;另一方面,也為軟件組織改進(jìn)軟件過(guò)程,提高軟件過(guò)程能力提供了依據(jù)。</p><p>  8、軟件過(guò)程能力成熟度等級(jí):初始級(jí),混沌的軟件過(guò)程。焦點(diǎn):英雄人物;可重復(fù)級(jí),經(jīng)過(guò)訓(xùn)練的軟件過(guò)程。焦點(diǎn):項(xiàng)目管理;已定義級(jí),標(biāo)準(zhǔn)一致的軟件過(guò)程。焦點(diǎn):工程過(guò)程;定量管理級(jí),可預(yù)測(cè)的軟件過(guò)程 。焦點(diǎn):產(chǎn)品和過(guò)程質(zhì)量;優(yōu)化級(jí),能持續(xù)改善的軟件過(guò)程 。焦點(diǎn):持續(xù)的改進(jìn)。</p>

86、;<p>  9、CMM與ISO9001的主要區(qū)別:CMM明確強(qiáng)調(diào)持續(xù)的過(guò)程改進(jìn),而ISO9001則確定可接受的質(zhì)量體系的最低要求;CMM嚴(yán)格適用于軟件;而ISO 9001范圍很廣,涵蓋了硬件、軟件、加工材料和服務(wù)。</p><p>  小結(jié):提高軟件質(zhì)量,一方面要在軟件開(kāi)發(fā)過(guò)程中對(duì)開(kāi)發(fā)成果進(jìn)行驗(yàn)證,另一方面要注重軟件開(kāi)發(fā)過(guò)程的規(guī)范化和可視化。前者注重的是產(chǎn)品本身的質(zhì)量,后者注重的是產(chǎn)品管理的質(zhì)量。

87、 軟件復(fù)雜性和可靠性分析技術(shù)為軟件質(zhì)量的分析提供了量化的方法。</p><p><b>  軟件復(fù)用</b></p><p>  所謂軟件復(fù)用是指利用已有的、對(duì)建立新系統(tǒng)有用的軟件制品來(lái)形成新系統(tǒng)的活動(dòng)。目前,人們對(duì)軟件復(fù)用寄予厚望,認(rèn)為其有可能成為突破軟件危機(jī)的一條出路。</p><p>  軟件復(fù)用目的:縮短軟件開(kāi)發(fā)和維護(hù)的時(shí)間;降低軟件開(kā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ù)僅提供信息存儲(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)論