軟基軟件技術(shù)自學(xué)引導(dǎo)_第1頁
軟基軟件技術(shù)自學(xué)引導(dǎo)_第2頁
軟基軟件技術(shù)自學(xué)引導(dǎo)_第3頁
軟基軟件技術(shù)自學(xué)引導(dǎo)_第4頁
軟基軟件技術(shù)自學(xué)引導(dǎo)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄概述軟件生存周期需求分析軟件設(shè)計(jì)軟件編程面向?qū)ο蟮姆治龊驮O(shè)計(jì)軟件測試軟件維護(hù)3.1 概述程序設(shè)計(jì)時(shí)期(程序設(shè)計(jì)時(shí)期(19461960年代中期)年代中期) 程序設(shè)計(jì)是個(gè)人行為,沒有軟件的概念軟件時(shí)期(軟件時(shí)期(60至至70年代中期)年代中期) 軟件危機(jī)出現(xiàn),結(jié)構(gòu)化思想的提出u軟件工程時(shí)期軟件工程時(shí)期 如何適應(yīng)大型軟件的生產(chǎn) 1968年提出“軟件工程”這一術(shù)語軟件危機(jī)表現(xiàn) 軟件開發(fā)代價(jià)高 難于控制開發(fā)進(jìn)度 工作量估計(jì)困難 軟件質(zhì)量低 軟件修改維護(hù)困難原因 規(guī)模大(大系統(tǒng)的定義:50萬行1000萬行) 復(fù)雜性高 軟件靈活可變 影響因素多:個(gè)人能力、團(tuán)隊(duì)聯(lián)系、產(chǎn)品復(fù)雜度、符號方式、時(shí)間、其它軟件危

2、機(jī)的例子IBM 360系統(tǒng)開發(fā)時(shí)間:1963-1966年投入人力:5000人年代碼量:100萬行每個(gè)版本都是從上一個(gè)版本找出1000個(gè)錯(cuò)誤而修訂的結(jié)果正像一只逃亡的野獸落到泥潭中做垂死的掙扎,正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷的越深,最后無法逃脫滅頂?shù)臑?zāi)難。越是掙扎,陷的越深,最后無法逃脫滅頂?shù)臑?zāi)難。軟件工程(Software Engineering)軟件工程軟件工程指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。它應(yīng)用計(jì)算機(jī)科學(xué),數(shù)學(xué)以及管理科程學(xué)科。它應(yīng)用計(jì)算機(jī)科學(xué),數(shù)學(xué)以及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法,創(chuàng)建學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法

3、,創(chuàng)建軟件以達(dá)到提高質(zhì)量,降低成本的目的。其中軟件以達(dá)到提高質(zhì)量,降低成本的目的。其中計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程計(jì)算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科學(xué)用于制定規(guī)范、設(shè)計(jì)范型、評估成本以及科學(xué)用于制定規(guī)范、設(shè)計(jì)范型、評估成本以及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。成本等管理。軟件工程框架開發(fā)范型設(shè)計(jì)方法支持過程管理過程可用性正確性合算性需 求設(shè) 計(jì)實(shí) 現(xiàn)確 認(rèn)維 護(hù)軟件開發(fā)工具與環(huán)境計(jì)算機(jī)輔助軟件工程計(jì)算機(jī)輔助軟件工程CASE (Computer-Aided Software Engineering)CASE工具:狹義地

4、說,是一類特殊的軟件工具,用于工具:狹義地說,是一類特殊的軟件工具,用于輔助開發(fā)、分析、測試、維護(hù)計(jì)算機(jī)程序和輔助開發(fā)、分析、測試、維護(hù)計(jì)算機(jī)程序和/或文檔。廣或文檔。廣義地說,是除了義地說,是除了OS之外的所有軟件工具的總稱。之外的所有軟件工具的總稱。軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng)。它由軟軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng)。它由軟件工具和環(huán)境集成機(jī)制構(gòu)成,前者用以軟件開發(fā)的相關(guān)件工具和環(huán)境集成機(jī)制構(gòu)成,前者用以軟件開發(fā)的相關(guān)過程、活動(dòng)和任務(wù);后者為工具集成和軟件開發(fā)、維護(hù)過程、活動(dòng)和任務(wù);后者為工具集成和軟件開發(fā)、維護(hù)及管理提供統(tǒng)一的支持。及管理提供統(tǒng)一的支持。軟件工程軟件工

5、程自動(dòng)化工具自動(dòng)化工具CASE =+3.2 軟件生存周期定義: 是指軟件產(chǎn)品從用戶提出要求開始,到該軟件產(chǎn)品不再能夠使用的全過程。包括三個(gè)階段: 制定計(jì)劃,包括問題定義和可行性研究; 開發(fā),包括需求分析、設(shè)計(jì)、編程和測試; 維護(hù),包括安裝交付、維護(hù)和升級等。需求做什么?設(shè)計(jì)怎么做?編程實(shí)現(xiàn)完成系統(tǒng)測試質(zhì)量保證維護(hù)安裝后的進(jìn)一步完善軟件開發(fā)模型定義軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。軟件開發(fā)全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。瀑布模型P.170 圖3.1(見后)具有反饋的瀑布模型特點(diǎn):適用于小型系統(tǒng)的開發(fā),不夠靈活演化模型多次分析和設(shè)計(jì)針對事先不能完成定義需求的軟件開發(fā)原型系統(tǒng)的重要性螺旋模型考

6、慮風(fēng)險(xiǎn)因素,由Boehm提出噴泉模型多次重復(fù),無間隙適用于面向?qū)ο蠹夹g(shù)增量模型完整的體系結(jié)構(gòu)的實(shí)現(xiàn)確定多次迭代RUPROPES問題定義問題定義可行性研究可行性研究需求分析需求分析設(shè)設(shè) 計(jì)計(jì)編編 碼碼測測 試試運(yùn)行與維護(hù)運(yùn)行與維護(hù)其中:每一階段具其中:每一階段具有以下特征:有以下特征: 從上一階段接受工從上一階段接受工作對象,即輸入;作對象,即輸入; 對這一輸入實(shí)施本對這一輸入實(shí)施本階段的工作階段的工作 給出本階段的結(jié)果給出本階段的結(jié)果作為輸出。作為輸出。在分析員和用戶的緊密配合下,快速確定軟件系在分析員和用戶的緊密配合下,快速確定軟件系統(tǒng)的基本要求。根據(jù)原型所要體現(xiàn)的特征統(tǒng)的基本要求。根據(jù)原型

7、所要體現(xiàn)的特征( (或界面形或界面形式、或處理功能、或總體結(jié)構(gòu)、或模擬性能等式、或處理功能、或總體結(jié)構(gòu)、或模擬性能等) ),描,描述基本規(guī)格說明,以滿足開發(fā)原型的需要。述基本規(guī)格說明,以滿足開發(fā)原型的需要。主要有三種不同的類型:主要有三種不同的類型: (1)(1)探索型:目的是要弄清對目標(biāo)系統(tǒng)的要求,確探索型:目的是要弄清對目標(biāo)系統(tǒng)的要求,確定所希望的特征,并探討多種方案的可行性。定所希望的特征,并探討多種方案的可行性。(2)(2)實(shí)驗(yàn)型:用于大規(guī)模開發(fā)和實(shí)現(xiàn)之前,考核方實(shí)驗(yàn)型:用于大規(guī)模開發(fā)和實(shí)現(xiàn)之前,考核方案是否合適,規(guī)格說明是否可靠。案是否合適,規(guī)格說明是否可靠。(3)(3)進(jìn)化型:進(jìn)化

8、型原型的目的不在于改進(jìn)規(guī)格說進(jìn)化型:進(jìn)化型原型的目的不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建造成容易變化,在改進(jìn)原型的過程明,而是將系統(tǒng)建造成容易變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng)。中,逐步將原型進(jìn)化成最終系統(tǒng)。 原型原型快速分析或修快速分析或修改改構(gòu)構(gòu)造造運(yùn)運(yùn)行行評評價(jià)價(jià)(a)(a)原型開發(fā)模型原型開發(fā)模型N N快速分析,確定初步規(guī)格說明快速分析,確定初步規(guī)格說明構(gòu)造原型構(gòu)造原型運(yùn)行運(yùn)行/ /評價(jià)原型評價(jià)原型嚴(yán)格說明細(xì)部嚴(yán)格說明細(xì)部整理原型提供文檔整理原型提供文檔(b)(b)模型的細(xì)化過程模型的細(xì)化過程原型完成否原型完成否細(xì)部說明否細(xì)部說明否效果滿意否效果滿意否修改與改進(jìn)原型修改與改

9、進(jìn)原型N NN NY YY YY Y3.3 需求分析需求分析有關(guān)軟件錯(cuò)誤的一些事實(shí)在軟件生命周期中,一個(gè)錯(cuò)誤發(fā)現(xiàn)得越晚,修復(fù)的費(fèi)用也越高許多錯(cuò)誤是潛伏的,并且在錯(cuò)誤產(chǎn)生后很長一段時(shí)間才被檢查出來在需求過程中會(huì)產(chǎn)生很多錯(cuò)誤在需求階段,代表性的錯(cuò)誤為疏忽,不一致和二義行需求錯(cuò)誤是可以被檢查出來的需求涉及人員需求者:客戶和使用者系統(tǒng)分析員:分析階段活動(dòng)的主體開發(fā)者:包括設(shè)計(jì),編程和項(xiàng)目管理者組成分析員的素質(zhì):能力(總體,抽象,本質(zhì))過程(保證整個(gè)過程的善始善終)交流技術(shù)(了解問題域)需求獲取目的:了解用戶的對軟件的要求途徑: 了解系統(tǒng)的需求 市場調(diào)查 訪問用戶和領(lǐng)域?qū)<?考察現(xiàn)場內(nèi)容: 物理環(huán)境、界

10、面、用戶或人的因素、功能、文檔、數(shù)據(jù)、資源、安全性、質(zhì)量需求分析目的: 解決需求獲取階段得到的需求的不一致性和二義性方法: 結(jié)構(gòu)化 面向?qū)ο?實(shí)體關(guān)系軟件需求說明書(SRS)需求分析的結(jié)果文檔SRS要求正確性正確性無二義性無二義性完整性完整性一致性一致性可驗(yàn)證性可驗(yàn)證性可理解性可理解性可修改性可修改性可跟蹤性可跟蹤性與設(shè)計(jì)無關(guān)與設(shè)計(jì)無關(guān)結(jié)構(gòu)化分析方法(SA)結(jié)構(gòu)化分析(Structured Analysis)提出人:Yourdon提出的概念有:提出的概念有: 數(shù)據(jù)流 數(shù)據(jù)源 數(shù)據(jù)潭 加工 存儲(chǔ)建模過程 (1 1)建立系統(tǒng)的功能模型)建立系統(tǒng)的功能模型 使用的工具為數(shù)據(jù)流圖使用的工具為數(shù)據(jù)流圖D

11、FDDFD 首先:建立系統(tǒng)環(huán)境圖,確定系統(tǒng)邊界首先:建立系統(tǒng)環(huán)境圖,確定系統(tǒng)邊界 繼之:自頂向下,逐層分解繼之:自頂向下,逐層分解 (2)建立數(shù)據(jù)字典建立數(shù)據(jù)字典 定義數(shù)據(jù)流定義數(shù)據(jù)流 定義數(shù)據(jù)存儲(chǔ)定義數(shù)據(jù)存儲(chǔ) 定義數(shù)據(jù)項(xiàng)定義數(shù)據(jù)項(xiàng) (3 3)給出加工小說明)給出加工小說明(描述數(shù)據(jù)的加工) 使用的工具為結(jié)構(gòu)化語言、判定表、判定樹使用的工具為結(jié)構(gòu)化語言、判定表、判定樹3.4 軟件設(shè)計(jì)軟件設(shè)計(jì)設(shè)計(jì)階段的任務(wù): 解決怎么做的問題,即將SRS轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),得到軟件設(shè)計(jì)說明書。軟件設(shè)計(jì)可分為:總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)設(shè)計(jì)復(fù)審:每個(gè)設(shè)計(jì)完成后,都應(yīng)進(jìn)行復(fù)審,以盡早發(fā)現(xiàn)軟件設(shè)計(jì)的缺陷。表示形式有:

12、層次圖、 HIPO圖、結(jié)構(gòu)圖等好的設(shè)計(jì)準(zhǔn)則模塊化(Modularity)抽象(Abstraction)獨(dú)立性耦合不同模塊之間相互依賴程度的度量不同模塊之間相互依賴程度的度量 內(nèi)容耦合(直接操作另一個(gè)模塊的數(shù)據(jù)) 公共耦合(全局?jǐn)?shù)據(jù)結(jié)構(gòu)) 外部耦合(全局?jǐn)?shù)據(jù)項(xiàng)) 控制耦合 標(biāo)記耦合 數(shù)據(jù)耦合(參數(shù)傳遞)內(nèi)聚模塊之內(nèi)各成分之間相互依賴程度的度量模塊之內(nèi)各成分之間相互依賴程度的度量 偶然內(nèi)聚(模塊內(nèi)各部分關(guān)系松散) 邏輯內(nèi)聚(模塊將幾種相關(guān)功能組合) 時(shí)間內(nèi)聚(模塊將同一時(shí)刻要執(zhí)行的任務(wù)組合) 過程內(nèi)聚(模塊的幾個(gè)任務(wù)按特定次序執(zhí)行) 通訊內(nèi)聚(模塊所有功能通過數(shù)據(jù)關(guān)聯(lián)) 順序內(nèi)聚(一個(gè)成分的輸出作

13、為另一成分的輸入) 功能內(nèi)聚(模塊只包含單一功能任務(wù))啟發(fā)性規(guī)則(1 1)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性;(2 2)模塊規(guī)模適中)模塊規(guī)模適中- -每函數(shù)每函數(shù)5050行語句;行語句;(3 3)深度、寬度、扇入和扇出適中;)深度、寬度、扇入和扇出適中;(4 4)模塊的作用域力爭在控制域之內(nèi);)模塊的作用域力爭在控制域之內(nèi);(5 5)降低模塊接口的復(fù)雜性;)降低模塊接口的復(fù)雜性;(6 6)模塊功能應(yīng)該可以預(yù)測。)模塊功能應(yīng)該可以預(yù)測。結(jié)構(gòu)化設(shè)計(jì)方法(SD)基本思想:模塊化、自頂向下逐步求精總體設(shè)計(jì)從數(shù)據(jù)流圖導(dǎo)出軟件結(jié)構(gòu)圖數(shù)據(jù)流圖分為兩大類:變換型數(shù)據(jù)流圖變換型數(shù)據(jù)流

14、圖事務(wù)型數(shù)據(jù)流圖事務(wù)型數(shù)據(jù)流圖詳細(xì)設(shè)計(jì)是為軟件結(jié)構(gòu)圖中的每個(gè)模塊確定算法和數(shù)據(jù)結(jié)構(gòu),可用表示工具有: 流程圖、流程圖、N-S圖、圖、PAD圖、偽碼圖、偽碼結(jié)構(gòu)化設(shè)計(jì)方法的基本要求是:在詳細(xì)設(shè)計(jì)階段為了確保模塊邏輯清晰,就應(yīng)該使所有的模塊只有單入口、單出口和順序、選擇及循環(huán)三種基本控制結(jié)構(gòu)。結(jié)構(gòu)化方法小結(jié)結(jié)構(gòu)化方法是一種比較系統(tǒng)的軟件開發(fā)方法,包括:結(jié)構(gòu)化方法是一種比較系統(tǒng)的軟件開發(fā)方法,包括:結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)緊緊圍繞緊緊圍繞“過程抽象過程抽象”和和“數(shù)據(jù)抽象數(shù)據(jù)抽象”, 給出了:給出了: 完備的符號體系完備的符號體系概念與表示概念與表示 可操作的過程可操作的過程步驟

15、與準(zhǔn)則步驟與準(zhǔn)則 易理解的表示工具易理解的表示工具 提供了:提供了: 控制信息組織復(fù)雜性的機(jī)制,例如控制信息組織復(fù)雜性的機(jī)制,例如 逐層分解、數(shù)據(jù)打包等逐層分解、數(shù)據(jù)打包等問題:問題:捕獲的捕獲的“過程過程”和和“數(shù)據(jù)數(shù)據(jù)” ,恰恰是客觀事物恰恰是客觀事物的易變性質(zhì),從而造成維護(hù)和驗(yàn)證上的困難;分析與的易變性質(zhì),從而造成維護(hù)和驗(yàn)證上的困難;分析與設(shè)計(jì)概念和表示法不一致,存在鴻溝。設(shè)計(jì)概念和表示法不一致,存在鴻溝。3.5 軟件編程軟件編程程序的質(zhì)量主要取決于軟件設(shè)計(jì)的質(zhì)量。但是,程序設(shè)計(jì)語言的特性和編程風(fēng)格也對程序的可靠性、可讀性、可測試性和可維護(hù)性產(chǎn)生深遠(yuǎn)的影響。程序設(shè)計(jì)語言編程風(fēng)格高質(zhì)量程序

16、設(shè)計(jì)指南c/c+語言 程序設(shè)計(jì)實(shí)踐3.6 面向?qū)ο蟮姆治龊驮O(shè)計(jì)面向?qū)ο蟮姆治龊驮O(shè)計(jì)人們認(rèn)識世界的三個(gè)構(gòu)造法則:區(qū)分對象及其屬性,如一棵樹和樹的大小。區(qū)分整體對象及其組成部分,如區(qū)分一棵樹和樹枝。不同對象類的形成及其區(qū)分,如所有樹的類和所有石頭的類的形成和區(qū)分。面向?qū)ο蠹夹g(shù)基于上述的認(rèn)識法則,更好的刻畫問題域;認(rèn)為世界由各種對象組成,對象具有其屬性和行為,對象之間存在著各種聯(lián)系。一些概念: 對象、類、聚合、消息、方法、繼承、封裝、多態(tài)面向?qū)ο蠓椒ǖ闹饕攸c(diǎn):從問題域中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),用對象從問題域中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),用對象作為對這些事物的抽象表示,并作為系統(tǒng)的基

17、本構(gòu)成單位。作為對這些事物的抽象表示,并作為系統(tǒng)的基本構(gòu)成單位。(對象對象) 用對象的屬性表示事物的狀態(tài)特征;用對象的服務(wù)(操作)用對象的屬性表示事物的狀態(tài)特征;用對象的服務(wù)(操作)表示事物的動(dòng)態(tài)特征。(表示事物的動(dòng)態(tài)特征。(屬性與服務(wù)屬性與服務(wù))對象的屬性與服務(wù)結(jié)合為一體,成為一個(gè)獨(dú)立的、不可分對象的屬性與服務(wù)結(jié)合為一體,成為一個(gè)獨(dú)立的、不可分的實(shí)體,對外屏蔽其內(nèi)部細(xì)節(jié)。(的實(shí)體,對外屏蔽其內(nèi)部細(xì)節(jié)。(封裝封裝)對事物進(jìn)行分類。把具有相同屬性和相同服務(wù)的對象歸為對事物進(jìn)行分類。把具有相同屬性和相同服務(wù)的對象歸為一類,類是這些對象的抽象描述,每個(gè)對象是它的類的一一類,類是這些對象的抽象描述,每

18、個(gè)對象是它的類的一個(gè)實(shí)例。(個(gè)實(shí)例。(分類分類)通過在不同程度上運(yùn)用抽象的原則可以得到較一般的類和通過在不同程度上運(yùn)用抽象的原則可以得到較一般的類和較特殊的類。特殊類繼承一般類的屬性與服務(wù),從而簡化較特殊的類。特殊類繼承一般類的屬性與服務(wù),從而簡化系統(tǒng)的構(gòu)造過程及其文檔。(系統(tǒng)的構(gòu)造過程及其文檔。(繼承繼承)復(fù)雜的對象可以用簡單的對象作為其構(gòu)成部分。(復(fù)雜的對象可以用簡單的對象作為其構(gòu)成部分。(聚合聚合)對象之間通過消息進(jìn)行通訊,以實(shí)現(xiàn)對象之間的動(dòng)態(tài)聯(lián)系。對象之間通過消息進(jìn)行通訊,以實(shí)現(xiàn)對象之間的動(dòng)態(tài)聯(lián)系。(消息消息)通過關(guān)聯(lián)表達(dá)對象之間的靜態(tài)關(guān)系。(通過關(guān)聯(lián)表達(dá)對象之間的靜態(tài)關(guān)系。(關(guān)聯(lián)關(guān)聯(lián)

19、) 采用多態(tài)機(jī)制允許老代碼調(diào)用新代碼;把具有共同基類的采用多態(tài)機(jī)制允許老代碼調(diào)用新代碼;把具有共同基類的對象組成一組,并對它們進(jìn)行一致的處理(對象組成一組,并對它們進(jìn)行一致的處理(多態(tài)性多態(tài)性)面向?qū)ο蠼=J褂霉ぞ邽榻UZ言,建模語言是用以表述設(shè)計(jì)方法建模使用工具為建模語言,建模語言是用以表述設(shè)計(jì)方法的表示法的表示法( (主要是圖形的主要是圖形的) )UMLUML已成為一種繪制面向?qū)ο笤O(shè)計(jì)圖的標(biāo)準(zhǔn)工具,是已成為一種繪制面向?qū)ο笤O(shè)計(jì)圖的標(biāo)準(zhǔn)工具,是定義定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。適用良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。適用于系統(tǒng)開發(fā)的不同階段于系統(tǒng)開發(fā)的不同階

20、段, ,從需求規(guī)格描述直至系統(tǒng)完成后從需求規(guī)格描述直至系統(tǒng)完成后的測試和維護(hù)。的測試和維護(hù)。OO原則:原則:Abstraction(抽象)Encapsulation(封裝)Modularity(模塊化)Hierarchy(分層)標(biāo)準(zhǔn)建模語言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義: - - 第一類是用例圖第一類是用例圖, ,從用戶角度描述系統(tǒng)功能從用戶角度描述系統(tǒng)功能, ,并指出并指出各功能的操作者。各功能的操作者。- - 第二類是靜態(tài)圖第二類是靜態(tài)圖(Static diagram),(Static diagram),包括類圖、對象包括類圖、對象圖和包圖。圖和包圖。- - 第三類是

21、行為圖第三類是行為圖(Behavior diagram),(Behavior diagram),描述系統(tǒng)的動(dòng)描述系統(tǒng)的動(dòng)態(tài)模型和組成對象間的交互關(guān)系,包括狀態(tài)圖和活動(dòng)態(tài)模型和組成對象間的交互關(guān)系,包括狀態(tài)圖和活動(dòng)圖。圖。- - 第四類是交互圖第四類是交互圖(Interactive diagram),(Interactive diagram),描述對象描述對象間的交互關(guān)系,包括順序圖和合作圖。間的交互關(guān)系,包括順序圖和合作圖。- - 第五類是實(shí)現(xiàn)圖第五類是實(shí)現(xiàn)圖( Implementation diagram )( Implementation diagram ),包,包括構(gòu)件圖和配置圖。括構(gòu)件

22、圖和配置圖。面向?qū)ο蠓治鯫OA用面向?qū)ο蠓椒ǚ治鰡栴}域,建立基于對象、消息的業(yè)務(wù)模型,形成對客觀世界和業(yè)務(wù)本身的正確認(rèn)識。生成業(yè)務(wù)對象的動(dòng)、靜態(tài)模型和抽象類。面向?qū)ο笤O(shè)計(jì)OOD針對OOA給出的問題域模型,用面向?qū)ο蠓椒ㄔO(shè)計(jì)出軟件基礎(chǔ)架構(gòu)(概要設(shè)計(jì))和完整的類結(jié)構(gòu)(詳細(xì)設(shè)計(jì)),以實(shí)現(xiàn)業(yè)務(wù)功能。生成對象類的動(dòng)、靜態(tài)模型(解決域)。用例圖用例圖登錄系統(tǒng)登記員完成課程登記計(jì)費(fèi)系統(tǒng)學(xué)生登記課程教授選擇教授課程課程目錄系統(tǒng)類圖類圖順序圖順序圖 : 學(xué)生 : 選課表單 : 課程登記管理器 : 課程目錄 : 課程打開取課程列表取課程列表顯示課程列表選擇4門主課和2門選修課把課程加入課程計(jì)劃添加學(xué)生重復(fù)4門課協(xié)

23、作圖:完成課程登記協(xié)作圖:完成課程登記 : Registrar : CloseRegistrati. : MainForm : ICourseCatalogS. : CloseRegistrationContro. : CourseOffering : Schedule8: get number of students10: set status as closed1: select close registration4: close registration3: is registration open?5: close registration2: open7: close regist

24、ration6: get course offerings9: commit offering狀態(tài)圖狀態(tài)圖初始化entry/ 創(chuàng)建表單do/ 初始化表單保存do/ 保存表單提交do/ 提交表單用于處理課程選擇選主修課entry/ 接受課程do/ 增加記數(shù)選輔修課entry/ 接受課程exit/ 增加記數(shù)H選主修課entry/ 接受課程do/ 增加記數(shù)選輔修課entry/ 接受課程exit/ 增加記數(shù)掛起do/ 等待30秒輸入課程 count=2 count=4 / set count=0Quit輸入課程輸入課程掛起H恢復(fù)3.7 軟件測試軟件測試目標(biāo):發(fā)現(xiàn)錯(cuò)誤,保證軟件質(zhì)量方式:人工測試、動(dòng)態(tài)測

25、試、自動(dòng)測試過程:單元測試、集成測試、確認(rèn)測試、系統(tǒng)測試常用方法:白盒測試、黑盒測試、回歸測試、強(qiáng)度測試軟件測試并不等于程序測試。軟件測試應(yīng)貫軟件測試并不等于程序測試。軟件測試應(yīng)貫穿于軟件定義與開發(fā)的整個(gè)期間。穿于軟件定義與開發(fā)的整個(gè)期間。用戶要求用戶要求用戶:用戶:我要什么?我要什么?運(yùn)行結(jié)果運(yùn)行結(jié)果計(jì)算機(jī):計(jì)算機(jī):程序運(yùn)行得到程序運(yùn)行得到的結(jié)果的結(jié)果源程序源程序程序員:程序員:我要讓計(jì)算機(jī)我要讓計(jì)算機(jī)怎么做?怎么做?設(shè)計(jì)說明書設(shè)計(jì)說明書設(shè)計(jì)員:設(shè)計(jì)員:我要讓軟件我要讓軟件做什么?做什么?需求說明書需求說明書分析員:分析員:我可以提供什我可以提供什么?么?理解正確性理解正確性表達(dá)正確性表達(dá)正

26、確性理解正確性理解正確性設(shè)計(jì)正確性設(shè)計(jì)正確性表達(dá)正確性表達(dá)正確性理解正確性理解正確性編碼正確性編碼正確性運(yùn)行正確性輸運(yùn)行正確性輸入正確性入正確性相符嗎?相符嗎?軟件測試策略軟件測試過程是發(fā)現(xiàn)模塊的子程序或過程的實(shí)際功能與該是發(fā)現(xiàn)模塊的子程序或過程的實(shí)際功能與該模塊的功能和接口的描述是否相符,以及是否有編碼錯(cuò)模塊的功能和接口的描述是否相符,以及是否有編碼錯(cuò)誤存在。誤存在。 目的是為了發(fā)現(xiàn)程序結(jié)構(gòu)的錯(cuò)誤。目的是為了發(fā)現(xiàn)程序結(jié)構(gòu)的錯(cuò)誤。 :是驗(yàn)證軟件的功能和性能及其它特征是否與:是驗(yàn)證軟件的功能和性能及其它特征是否與用戶的要求一致。用戶的要求一致。 是由一個(gè)用戶在開發(fā)者的陪同下,在開發(fā)環(huán)是由一個(gè)用戶

27、在開發(fā)者的陪同下,在開發(fā)環(huán)境下進(jìn)行的測試,也可以是開發(fā)機(jī)構(gòu)內(nèi)部的用戶在模境下進(jìn)行的測試,也可以是開發(fā)機(jī)構(gòu)內(nèi)部的用戶在模擬實(shí)際操作環(huán)境下進(jìn)行的測試。擬實(shí)際操作環(huán)境下進(jìn)行的測試。 是由軟件的多個(gè)用戶在一個(gè)或者多個(gè)用戶的是由軟件的多個(gè)用戶在一個(gè)或者多個(gè)用戶的實(shí)際使用環(huán)境下進(jìn)行的測試。實(shí)際使用環(huán)境下進(jìn)行的測試。 是將通過確認(rèn)測試的軟件,作為整個(gè)基于計(jì)是將通過確認(rèn)測試的軟件,作為整個(gè)基于計(jì)算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持算機(jī)系統(tǒng)的一個(gè)元素,與計(jì)算機(jī)硬件、外設(shè)、某些支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素組合在一起,在實(shí)際軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素組合在一起,在實(shí)際運(yùn)行(使用)環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝運(yùn)行(使用)環(huán)境下,對計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測試和確認(rèn)測試。測試和確認(rèn)測試。 白盒測試邏輯驅(qū)動(dòng)測試語句覆蓋判定覆蓋條件覆蓋判定-條件覆蓋條件組合覆蓋黑盒測試功能測試等價(jià)分類法邊緣值分析法因果圖法錯(cuò)誤推測法3.8

溫馨提示

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

最新文檔

評論

0/150

提交評論