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

下載本文檔

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

文檔簡(jiǎn)介

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

2、機(jī)的例子IBM 360系統(tǒng)開(kāi)發(fā)時(shí)間:1963-1966年投入人力:5000人年代碼量:100萬(wàn)行每個(gè)版本都是從上一個(gè)版本找出1000個(gè)錯(cuò)誤而修訂的結(jié)果正像一只逃亡的野獸落到泥潭中做垂死的掙扎,正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷的越深,最后無(wú)法逃脫滅頂?shù)臑?zāi)難。越是掙扎,陷的越深,最后無(wú)法逃脫滅頂?shù)臑?zāi)難。軟件工程(Software Engineering)軟件工程軟件工程指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(fā)和維護(hù)的工指導(dǎo)計(jì)算機(jī)軟件開(kāi)發(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ì)范型、評(píng)估成本以及科學(xué)用于制定規(guī)范、設(shè)計(jì)范型、評(píng)估成本以及確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、確定權(quán)衡,管理科學(xué)用于計(jì)劃、資源、質(zhì)量、成本等管理。成本等管理。軟件工程框架開(kāi)發(fā)范型設(shè)計(jì)方法支持過(guò)程管理過(guò)程可用性正確性合算性需 求設(shè) 計(jì)實(shí) 現(xiàn)確 認(rèn)維 護(hù)軟件開(kāi)發(fā)工具與環(huán)境計(jì)算機(jī)輔助軟件工程計(jì)算機(jī)輔助軟件工程CASE (Computer-Aided Software Engineering)CASE工具:狹義地

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

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

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

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

8、型原型的目的不在于改進(jìn)規(guī)格說(shuō)進(jìn)化型:進(jìn)化型原型的目的不在于改進(jìn)規(guī)格說(shuō)明,而是將系統(tǒng)建造成容易變化,在改進(jìn)原型的過(guò)程明,而是將系統(tǒng)建造成容易變化,在改進(jìn)原型的過(guò)程中,逐步將原型進(jìn)化成最終系統(tǒng)。中,逐步將原型進(jìn)化成最終系統(tǒng)。 原型原型快速分析或修快速分析或修改改構(gòu)構(gòu)造造運(yùn)運(yùn)行行評(píng)評(píng)價(jià)價(jià)(a)(a)原型開(kāi)發(fā)模型原型開(kāi)發(fā)模型N N快速分析,確定初步規(guī)格說(shuō)明快速分析,確定初步規(guī)格說(shuō)明構(gòu)造原型構(gòu)造原型運(yùn)行運(yùn)行/ /評(píng)價(jià)原型評(píng)價(jià)原型嚴(yán)格說(shuō)明細(xì)部嚴(yán)格說(shuō)明細(xì)部整理原型提供文檔整理原型提供文檔(b)(b)模型的細(xì)化過(guò)程模型的細(xì)化過(guò)程原型完成否原型完成否細(xì)部說(shuō)明否細(xì)部說(shuō)明否效果滿(mǎn)意否效果滿(mǎn)意否修改與改進(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)生后很長(zhǎng)一段時(shí)間才被檢查出來(lái)在需求過(guò)程中會(huì)產(chǎn)生很多錯(cuò)誤在需求階段,代表性的錯(cuò)誤為疏忽,不一致和二義行需求錯(cuò)誤是可以被檢查出來(lái)的需求涉及人員需求者:客戶(hù)和使用者系統(tǒng)分析員:分析階段活動(dòng)的主體開(kāi)發(fā)者:包括設(shè)計(jì),編程和項(xiàng)目管理者組成分析員的素質(zhì):能力(總體,抽象,本質(zhì))過(guò)程(保證整個(gè)過(guò)程的善始善終)交流技術(shù)(了解問(wèn)題域)需求獲取目的:了解用戶(hù)的對(duì)軟件的要求途徑: 了解系統(tǒng)的需求 市場(chǎng)調(diào)查 訪問(wèn)用戶(hù)和領(lǐng)域?qū)<?考察現(xiàn)場(chǎng)內(nèi)容: 物理環(huán)境、界

10、面、用戶(hù)或人的因素、功能、文檔、數(shù)據(jù)、資源、安全性、質(zhì)量需求分析目的: 解決需求獲取階段得到的需求的不一致性和二義性方法: 結(jié)構(gòu)化 面向?qū)ο?實(shí)體關(guān)系軟件需求說(shuō)明書(shū)(SRS)需求分析的結(jié)果文檔SRS要求正確性正確性無(wú)二義性無(wú)二義性完整性完整性一致性一致性可驗(yàn)證性可驗(yàn)證性可理解性可理解性可修改性可修改性可跟蹤性可跟蹤性與設(shè)計(jì)無(wú)關(guān)與設(shè)計(jì)無(wú)關(guān)結(jié)構(gòu)化分析方法(SA)結(jié)構(gòu)化分析(Structured Analysis)提出人:Yourdon提出的概念有:提出的概念有: 數(shù)據(jù)流 數(shù)據(jù)源 數(shù)據(jù)潭 加工 存儲(chǔ)建模過(guò)程 (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)給出加工小說(shuō)明)給出加工小說(shuō)明(描述數(shù)據(jù)的加工) 使用的工具為結(jié)構(gòu)化語(yǔ)言、判定表、判定樹(shù)使用的工具為結(jié)構(gòu)化語(yǔ)言、判定表、判定樹(shù)3.4 軟件設(shè)計(jì)軟件設(shè)計(jì)設(shè)計(jì)階段的任務(wù): 解決怎么做的問(wèn)題,即將SRS轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),得到軟件設(shè)計(jì)說(shuō)明書(shū)。軟件設(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ú)立性耦合不同模塊之間相互依賴(lài)程度的度量不同模塊之間相互依賴(lài)程度的度量 內(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)各成分之間相互依賴(lài)程度的度量模塊之內(nèi)各成分之間相互依賴(lài)程度的度量 偶然內(nèi)聚(模塊內(nèi)各部分關(guān)系松散) 邏輯內(nèi)聚(模塊將幾種相關(guān)功能組合) 時(shí)間內(nèi)聚(模塊將同一時(shí)刻要執(zhí)行的任務(wù)組合) 過(guò)程內(nèi)聚(模塊的幾個(gè)任務(wù)按特定次序執(zhí)行) 通訊內(nèi)聚(模塊所有功能通過(guò)數(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行語(yǔ)句;行語(yǔ)句;(3 3)深度、寬度、扇入和扇出適中;)深度、寬度、扇入和扇出適中;(4 4)模塊的作用域力爭(zhēng)在控制域之內(nèi);)模塊的作用域力爭(zhēng)在控制域之內(nèi);(5 5)降低模塊接口的復(fù)雜性;)降低模塊接口的復(fù)雜性;(6 6)模塊功能應(yīng)該可以預(yù)測(cè)。)模塊功能應(yīng)該可以預(yù)測(cè)。結(jié)構(gòu)化設(shè)計(jì)方法(SD)基本思想:模塊化、自頂向下逐步求精總體設(shè)計(jì)從數(shù)據(jù)流圖導(dǎo)出軟件結(jié)構(gòu)圖數(shù)據(jù)流圖分為兩大類(lèi):變換型數(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)的軟件開(kāi)發(fā)方法,包括:結(jié)構(gòu)化方法是一種比較系統(tǒng)的軟件開(kāi)發(fā)方法,包括:結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)緊緊圍繞緊緊圍繞“過(guò)程抽象過(guò)程抽象”和和“數(shù)據(jù)抽象數(shù)據(jù)抽象”, 給出了:給出了: 完備的符號(hào)體系完備的符號(hào)體系概念與表示概念與表示 可操作的過(guò)程可操作的過(guò)程步驟

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論