凈室軟件工程課件_第1頁(yè)
凈室軟件工程課件_第2頁(yè)
凈室軟件工程課件_第3頁(yè)
凈室軟件工程課件_第4頁(yè)
凈室軟件工程課件_第5頁(yè)
已閱讀5頁(yè),還剩79頁(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)介

哈爾濱工業(yè)大學(xué)計(jì)算機(jī)學(xué)院唐好選Email:tanghx@凈室軟件工程(CSE)哈爾濱工業(yè)大學(xué)計(jì)算機(jī)學(xué)院凈室軟件工程(CSE)“凈室”(Cleanroom)一詞源自半導(dǎo)體工業(yè)中硬件生產(chǎn)車間,通過(guò)嚴(yán)格、潔凈的生產(chǎn)過(guò)程預(yù)防了缺陷的產(chǎn)生,而不是在事后再去排除故障。借用這個(gè)詞,充分顯示了凈室技術(shù)“防患于未然”的主導(dǎo)思想凈室基本概念凈室軟件工程(CSE)是一種應(yīng)用數(shù)學(xué)和統(tǒng)計(jì)學(xué)理論生產(chǎn)軟件的工程技術(shù)。力圖通過(guò)嚴(yán)格的工程化的軟件過(guò)程達(dá)到開(kāi)發(fā)中的零缺陷或接近零缺陷“凈室”(Cleanroom)一詞源自半導(dǎo)體工業(yè)中硬件生產(chǎn)車通過(guò)在第一次正確的書(shū)寫(xiě)代碼增量,并在測(cè)試前驗(yàn)證其正確性來(lái)避免成本過(guò)高的缺陷消除過(guò)程。它的過(guò)程模型是在代碼增量集成到系統(tǒng)的同時(shí),進(jìn)行代碼增量的統(tǒng)計(jì)質(zhì)量驗(yàn)證。凈室方法的觀點(diǎn)強(qiáng)調(diào)規(guī)格說(shuō)明和設(shè)計(jì)上嚴(yán)格性,使用基于數(shù)學(xué)的正確性證明對(duì)結(jié)果設(shè)計(jì)模型的每個(gè)元素進(jìn)行形式化驗(yàn)證,在規(guī)格說(shuō)明和設(shè)計(jì)中消除錯(cuò)誤,以“干凈”的方式進(jìn)行制造。通過(guò)在第一次正確的書(shū)寫(xiě)代碼增量,并在測(cè)試前驗(yàn)證其正確性來(lái)避免20世紀(jì)70年代末80年代初,資深數(shù)學(xué)家和IBM客座科學(xué)家HarlanMills闡述了將數(shù)學(xué)、統(tǒng)計(jì)學(xué)及工程學(xué)上的基本概念應(yīng)用到軟件的設(shè)想凈室軟件工程的發(fā)展Mills的觀點(diǎn):程序中出現(xiàn)錯(cuò)誤的唯一方式是作者將錯(cuò)誤引入進(jìn)去的。沒(méi)有其他的方式……正確實(shí)踐的目標(biāo)是:設(shè)法避免引入錯(cuò)誤,通過(guò)測(cè)試或其它任何運(yùn)行程序的方式來(lái)消除錯(cuò)誤。20世紀(jì)70年代末80年代初,資深數(shù)學(xué)家和IBM客座科學(xué)家H凈室軟件工程的發(fā)展兩大基本觀點(diǎn)促進(jìn)了Mills的工作:首先,程序是數(shù)學(xué)函數(shù)規(guī)則,其次,潛在的程序執(zhí)行是無(wú)窮的,質(zhì)量認(rèn)證必須進(jìn)行統(tǒng)計(jì)采樣第一個(gè)觀點(diǎn)使所有函數(shù)理論向軟件開(kāi)發(fā)敞開(kāi)大門,導(dǎo)致以下技術(shù)的產(chǎn)生:盒式結(jié)構(gòu)規(guī)范及設(shè)計(jì)、函數(shù)理論正確性檢驗(yàn)及增量開(kāi)發(fā)第二個(gè)觀點(diǎn)使所有統(tǒng)計(jì)理論在軟件測(cè)試方面得到應(yīng)用,導(dǎo)致了統(tǒng)計(jì)使用測(cè)試和質(zhì)量認(rèn)證凈室軟件工程的發(fā)展兩大基本觀點(diǎn)促進(jìn)了Mills的工作:首先,致力于通過(guò)防止軟件缺陷來(lái)提高軟件質(zhì)量立足于嚴(yán)格的科學(xué)理論基礎(chǔ)強(qiáng)調(diào)凈室小組:制定系統(tǒng)規(guī)范、開(kāi)發(fā)和認(rèn)證;基本目標(biāo)是:開(kāi)發(fā)過(guò)程的可管理性和使用時(shí)的無(wú)失效性凈室軟件工程的基本特點(diǎn)致力于通過(guò)防止軟件缺陷來(lái)提高軟件質(zhì)量?jī)羰臆浖こ痰幕咎攸c(diǎn)函數(shù)理論和抽樣理論函數(shù)理論一個(gè)函數(shù)定義了從定義域到值域的映射。一個(gè)特定的程序好似定義了一個(gè)從定義域(所有可能的輸入序列的集合)到值域(所有對(duì)應(yīng)于輸入的輸出集合)的映射。這樣,一個(gè)程序的規(guī)范就是一個(gè)函數(shù)的規(guī)范抽樣理論不可能對(duì)軟件的所有可能應(yīng)用都進(jìn)行測(cè)試。把軟件的所有可能的使用情況看作總體,通過(guò)統(tǒng)計(jì)學(xué)手段對(duì)其進(jìn)行抽樣,并對(duì)樣本進(jìn)行測(cè)試,根據(jù)測(cè)試結(jié)果分析軟件的性能和可靠性凈室軟件工程的理論基礎(chǔ)函數(shù)理論和抽樣理論凈室軟件工程的理論基礎(chǔ)統(tǒng)計(jì)過(guò)程控制下的增量式開(kāi)發(fā)(IncrementalDevelopment):增量是最終軟件產(chǎn)品的功能子集,系統(tǒng)功能隨時(shí)間增加基于函數(shù)的規(guī)范、設(shè)計(jì):盒子結(jié)構(gòu)方法按照函數(shù)理論定義了三種抽象層次:行為視圖、有限狀態(tài)機(jī)視圖和過(guò)程視圖。規(guī)范從一個(gè)外部行為視圖(稱為黑盒)開(kāi)始然后被轉(zhuǎn)化為一個(gè)狀態(tài)機(jī)視圖(稱為狀態(tài)盒)最后由一個(gè)過(guò)程視圖(明盒)來(lái)實(shí)現(xiàn)盒子結(jié)構(gòu)是基于對(duì)象的凈室軟件工程的技術(shù)手段統(tǒng)計(jì)過(guò)程控制下的增量式開(kāi)發(fā)(IncrementalDeve正確性驗(yàn)證:是CSE的核心,正是由于采用了這一技術(shù),凈室項(xiàng)目的軟件質(zhì)量才有了極大的提高統(tǒng)計(jì)測(cè)試(StatisticallyBasedTesting)和軟件認(rèn)證:凈室測(cè)試方法采用統(tǒng)計(jì)學(xué)的基本原理,即當(dāng)總體太大時(shí)必須采取抽樣的方法。首先確定一個(gè)使用模型(usagemodel)來(lái)代表系統(tǒng)所有可能使用的(一般是無(wú)限的)總體。然后由使用模型產(chǎn)生測(cè)試用例。因?yàn)闇y(cè)試用例是總體的一個(gè)隨機(jī)樣本,所以可得到系統(tǒng)預(yù)期操作性能的有效統(tǒng)計(jì)推導(dǎo)凈室軟件工程的技術(shù)手段正確性驗(yàn)證:是CSE的核心,正是由于采用了這一技術(shù),凈室項(xiàng)目?jī)羰臆浖こ痰幕灸P蛢羰臆浖こ痰幕灸P蛢羰业慕M成項(xiàng)目規(guī)劃、項(xiàng)目管理、性能改善、工程變化結(jié)構(gòu)規(guī)范(概念、模塊、執(zhí)行)功能規(guī)范需求分析

使用規(guī)范

增量設(shè)計(jì)、正確性驗(yàn)證統(tǒng)計(jì)測(cè)試、認(rèn)證使用模型、測(cè)試規(guī)劃增量規(guī)劃用戶用戶評(píng)價(jià)的累計(jì)規(guī)范用戶評(píng)價(jià)的累計(jì)認(rèn)證增量?jī)羰业慕M成項(xiàng)目規(guī)劃、項(xiàng)目管理、性能改善、工程變化結(jié)構(gòu)規(guī)范(系統(tǒng)工程需求收集盒結(jié)構(gòu)規(guī)格

形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試認(rèn)證

需求收集盒結(jié)構(gòu)規(guī)格形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試認(rèn)證凈室技術(shù)-增量開(kāi)發(fā)技術(shù)…系需求盒結(jié)構(gòu)形式化正確性代碼測(cè)試計(jì)劃統(tǒng)計(jì)性認(rèn)證需求增量開(kāi)發(fā)的理論基礎(chǔ)引用透明性原理:一個(gè)表達(dá)式可用與其等值的任意子表達(dá)式代替,一個(gè)給定函數(shù)(規(guī)范)f能改進(jìn)為如下任何一種形式dof1,f2enddoifpthenf1elsef2endifwhilepdof1enddo函數(shù)的合并對(duì)原函數(shù)f在數(shù)值影響上必須等價(jià)軟件增量開(kāi)發(fā)的基礎(chǔ)在于為程序制定數(shù)學(xué)函數(shù)規(guī)則因此程序開(kāi)發(fā)作為一種自頂向下的控制結(jié)構(gòu)或子函數(shù)(子規(guī)范)的函數(shù)改進(jìn)(規(guī)范)過(guò)程,將導(dǎo)致對(duì)象或函數(shù)的分解或結(jié)合增量開(kāi)發(fā)的理論基礎(chǔ)引用透明性原理:功能規(guī)范...增量規(guī)劃增量設(shè)計(jì)/驗(yàn)證增量1設(shè)計(jì)/驗(yàn)證使用規(guī)范增量測(cè)試與認(rèn)證增量2設(shè)計(jì)/驗(yàn)證增量n設(shè)計(jì)/驗(yàn)證產(chǎn)品評(píng)估與過(guò)程改進(jìn)增量1統(tǒng)計(jì)增量1-2統(tǒng)計(jì)增量1-n統(tǒng)計(jì)增量開(kāi)發(fā)的進(jìn)度分配增量1:定義頂層結(jié)構(gòu)及樁組件增量2:根據(jù)用戶反饋,用新的可重用樁組件代替樁組件增量3:用新的可重用樁組件部件代替樁組件功能規(guī)范增量規(guī)劃增量設(shè)計(jì)/驗(yàn)證增量1設(shè)計(jì)/驗(yàn)證使用規(guī)范凈室技術(shù)-基于函數(shù)規(guī)范的設(shè)計(jì)和驗(yàn)證規(guī)范:從一個(gè)外部視圖(黑盒)開(kāi)始轉(zhuǎn)化為一個(gè)狀態(tài)視圖(狀態(tài)盒),由一個(gè)過(guò)程視圖(明盒)來(lái)實(shí)現(xiàn)三個(gè)盒形式不同,但行為等價(jià),稱為盒結(jié)構(gòu)將數(shù)學(xué)函數(shù)逐步擴(kuò)展為邏輯連接詞(如if-then-else)和子函數(shù)構(gòu)成的結(jié)構(gòu),這種擴(kuò)展一直進(jìn)行下去,直到所有標(biāo)識(shí)出來(lái)的子函數(shù)可以用程序設(shè)計(jì)語(yǔ)言直接表達(dá)凈室技術(shù)-基于函數(shù)規(guī)范的設(shè)計(jì)和驗(yàn)證規(guī)范:設(shè)計(jì)求精和驗(yàn)證每個(gè)明盒規(guī)格說(shuō)明代表了一個(gè)完成狀態(tài)盒轉(zhuǎn)換所需的過(guò)程(子函數(shù))的設(shè)計(jì),使用結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)和逐步求精在每個(gè)求精層次上,凈室團(tuán)隊(duì)執(zhí)行一次形式化正確性驗(yàn)證。為此,將一類正確性條件集合附加到結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)上如果函數(shù)f被擴(kuò)展為序列g(shù)和h,則f所有輸入的正確性條件是:執(zhí)行g(shù)之后再執(zhí)行h能完成f的功能嗎?如果一個(gè)函數(shù)p被精化為if<c>thenqelser的條件形式,則對(duì)p的所有輸入的正確性條件是(1)只要條件c為真,q能完成p的功能嗎?(2)只要條件c為假,r能完成p的功能嗎?如果……設(shè)計(jì)求精和驗(yàn)證每個(gè)明盒規(guī)格說(shuō)明代表了一個(gè)完成狀態(tài)盒轉(zhuǎn)換所需的狀態(tài)

變換狀態(tài)盒輸入S輸出R精化過(guò)程驗(yàn)證過(guò)程狀態(tài)BB1BB2明盒SR盒結(jié)構(gòu)精化和驗(yàn)證F=s*RRSH黑盒(所需行為)歷史激勵(lì)響應(yīng)狀態(tài)變換狀態(tài)盒輸入S輸出R精驗(yàn)狀態(tài)BB1BB2明黑盒規(guī)范的原則對(duì)系統(tǒng)擁有者和用戶:黑盒定義了他們分析和協(xié)商所需的行為對(duì)系統(tǒng)開(kāi)發(fā)者:黑盒定義待設(shè)計(jì)和實(shí)現(xiàn)所需的行為對(duì)系統(tǒng)測(cè)試者:黑盒定義了在測(cè)試過(guò)程中待確認(rèn)所需的行為黑盒規(guī)范的原則對(duì)系統(tǒng)擁有者和用戶:黑盒定義了他們分析和協(xié)商所黑盒的組成(例)基于12個(gè)月平均銷售額的預(yù)測(cè)部分情況規(guī)則號(hào)

1

激勵(lì)歷史條件<產(chǎn)品>歷史記錄包含小于11個(gè)月的<銷售額><產(chǎn)品>歷史記錄至少有11個(gè)月的<銷售額>

響應(yīng)接收<產(chǎn)品>

的<銷售額>

不求平均當(dāng)前激勵(lì)2<銷售額><產(chǎn)品><銷售額><產(chǎn)品><產(chǎn)品>的最近<銷售額>加上當(dāng)前的<銷售額>后求平均黑盒的組成(例)基于12個(gè)月平均銷售額的預(yù)測(cè)部分情況規(guī)則號(hào)狀態(tài)盒對(duì)系統(tǒng)或其組件進(jìn)行初步細(xì)化;定義狀態(tài)空間狀態(tài)信息來(lái)自黑盒中需要保存的激勵(lì)元素變換當(dāng)前的激勵(lì)S(Stimulus)映射響應(yīng)R(Response)舊狀態(tài)OS(oldState)映射到新?tīng)顟B(tài)NS(newState)

即(OS,S)(NS,R)狀態(tài)盒對(duì)系統(tǒng)或其組件進(jìn)行初步細(xì)化;定義狀態(tài)空間狀態(tài)盒組成(例)銷售額情況表規(guī)則號(hào)

舊狀態(tài)

激勵(lì)

新?tīng)顟B(tài)

響應(yīng)

黑盒規(guī)則號(hào)<銷售文件>不含<產(chǎn)品>記錄<銷售額><產(chǎn)品>1在<銷售文件>中為<產(chǎn)品>增加記錄出現(xiàn)最新<銷售額值>收到<產(chǎn)品>的<銷售額值>但不能求平均值121<銷售文件>中<產(chǎn)品>包含的<銷售額值>記錄少于11個(gè)月<銷售額><產(chǎn)品><產(chǎn)品>記錄己在<銷售文件>中,把<銷售額>作為最新<銷售額值>收到<產(chǎn)品>的<銷售額值>但不能求平均值狀態(tài)盒組成(例)銷售額情況表<銷售文件><銷售額>1在<銷售明盒(清晰盒)是一個(gè)計(jì)算機(jī)程序或程序集將

(OS,S)(NS,R),借助過(guò)程實(shí)現(xiàn)明盒的過(guò)程可以重用己有的黑盒或在求精過(guò)程中引入新的黑盒明盒的正確性驗(yàn)證是基于數(shù)學(xué)方法,證實(shí)一個(gè)過(guò)程與其規(guī)范相符明盒(清晰盒)盒子的層次結(jié)構(gòu)黑盒狀態(tài)盒白盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒……盒子的層次結(jié)構(gòu)黑盒狀態(tài)盒白盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒黑盒盒子結(jié)構(gòu)原則

引用透明性(ReferentialTransparency)

明確組件所有需求,在邏輯上不需進(jìn)一步規(guī)范事務(wù)閉包(TransactionClosure)

事務(wù)是充分、足夠的、可獲得及保留所有狀態(tài)數(shù)據(jù)狀態(tài)遷移(StateMigration)

系統(tǒng)數(shù)據(jù)應(yīng)該遷移和封裝到最小的系統(tǒng)部分,不必復(fù)制更新共享服務(wù)(CommonServices)

對(duì)于多次用到的系統(tǒng)部分可定義共享服務(wù),創(chuàng)建重用機(jī)會(huì)盒子結(jié)構(gòu)原則引用透明性(ReferentialTrans凈室技術(shù)-統(tǒng)計(jì)測(cè)試和軟件認(rèn)證當(dāng)測(cè)試的規(guī)模太大時(shí),要采取抽樣方法,選擇一個(gè)模型(馬爾可夫模型、形式化語(yǔ)言等)代替使用的規(guī)模,然后用模型產(chǎn)生測(cè)試用例(測(cè)試用例是規(guī)模的一個(gè)隨機(jī)樣本),可以得到系統(tǒng)預(yù)期操作性能的有效統(tǒng)計(jì)推導(dǎo)統(tǒng)計(jì)使用測(cè)試等同于“以用戶試圖使用軟件的方式來(lái)測(cè)試軟件”。為了完成測(cè)試工作,凈室測(cè)試團(tuán)隊(duì)必須確定軟件的使用概率分布,按照使用概率為每個(gè)觸發(fā)集合生成測(cè)試用例凈室技術(shù)-統(tǒng)計(jì)測(cè)試和軟件認(rèn)證當(dāng)測(cè)試的規(guī)模太大時(shí),要采取抽樣方盒子結(jié)構(gòu)開(kāi)發(fā)過(guò)程

(1)定義系統(tǒng)需求

(2)確定和確認(rèn)黑盒

(激勵(lì))(響應(yīng))

(3)確定和驗(yàn)證狀態(tài)盒

(狀態(tài),激勵(lì))(新?tīng)顟B(tài),響應(yīng))(4)設(shè)計(jì)和驗(yàn)證明盒

(5)對(duì)新黑盒重復(fù)上述過(guò)程盒子結(jié)構(gòu)開(kāi)發(fā)過(guò)程(1)定義系統(tǒng)需求凈室實(shí)例

設(shè)計(jì)并驗(yàn)證一個(gè)小的程序,該程序?qū)δ辰o定的整數(shù)x,找出其平方根的整數(shù)部分y凈室實(shí)例設(shè)計(jì)并驗(yàn)證一個(gè)小的程序,該程序?qū)δ辰o定的整數(shù)x,找凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證定義入口和出口條件。為了證明設(shè)計(jì)的正確性,需要證明圖中表示的條件init、loop、cont、yes和exit在所有情形下都是正確的凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證定義入口和出口條件。為了證明設(shè)計(jì)的正凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證條件init:假定入口條件是正確的,因此,init條件的第一部分x≥0是滿足的,在流程圖中,init條件前的語(yǔ)句設(shè)置為y=0,因此,init條件的第二部分也是滿足的,因此,init為真條件loop可能以兩種方式之一出現(xiàn)(1)直接從init(滿足)或(2)通過(guò)穿過(guò)cont的控制流,因?yàn)闂l件cont與loop相同。無(wú)論從哪條路徑到達(dá),條件loop都為真條件cont:如果(y+1)2≤x,則y2≤x,條件成立條件yes在條件邏輯中被測(cè)試,一定為真x為被賦值或修改,保持不變,測(cè)試條件(y+1)2≤x不成立時(shí)才能到達(dá)exit,因此(y+1)2

>x,loop條件必須為真,因此exit滿足y遞增而x不變,循環(huán)一定終止凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證條件init:假定入口條件是正確的,CMM是軟件組織進(jìn)行軟件過(guò)程改進(jìn)以及評(píng)估和評(píng)價(jià)軟件能力的基準(zhǔn)。但在具體的過(guò)程改進(jìn)實(shí)施中,需要有效的軟件工程方法支持凈室軟件工程正是為過(guò)程改進(jìn)提供了具體實(shí)施方法,它能夠及早發(fā)現(xiàn)并消除缺陷,顯著提高軟件的正確性、可靠性和可理解性,降低項(xiàng)目的成本,提高軟件質(zhì)量,延長(zhǎng)軟件的生命周期凈室與CMMCMM是軟件組織進(jìn)行軟件過(guò)程改進(jìn)以及評(píng)估和評(píng)價(jià)軟件能力的基準(zhǔn)可將凈室軟件工程應(yīng)用到CMM的實(shí)踐中,從組織管理和技術(shù)工程實(shí)踐兩個(gè)方面改進(jìn)軟件過(guò)程,從而更加經(jīng)濟(jì)有效地提升軟件質(zhì)量在CMM中,關(guān)鍵實(shí)踐僅僅描述了應(yīng)該“做什么”,并沒(méi)有給出更沒(méi)有規(guī)定“如何”去具體操作,操作的方法和步驟必須由軟件組織自己去解決CMM只是對(duì)軟件組織過(guò)程改進(jìn)的指導(dǎo),而非解決一切軟件開(kāi)發(fā)過(guò)程中的問(wèn)題的法寶。在實(shí)施CMM的過(guò)程中,仍然需要有效的軟件工程技術(shù)和方法,如“凈室軟件工程”方法的支持凈室與CMM可將凈室軟件工程應(yīng)用到CMM的實(shí)踐中,從組織管理和技術(shù)工程實(shí)基于CMM的凈室裁剪由于凈室過(guò)程和技術(shù)的優(yōu)點(diǎn)以及在軟件企業(yè)中實(shí)施所遇到的困難,有必要對(duì)凈室進(jìn)行基于CMM的裁剪基于CMM的凈室裁剪由于凈室過(guò)程和技術(shù)的優(yōu)點(diǎn)以及在軟件企業(yè)中基于CMM的裁剪原則裁剪必須符合凈室的基本原則(是凈室區(qū)別于傳統(tǒng)軟件工程方法的關(guān)鍵)設(shè)計(jì)原則:開(kāi)發(fā)人員應(yīng)該并且能夠生產(chǎn)出在被測(cè)試前就已經(jīng)達(dá)到趨于零缺陷的產(chǎn)品測(cè)試原則:凈室測(cè)試的目的不是尋找缺陷,而是度量軟件產(chǎn)品的質(zhì)量和性能,為軟件過(guò)程的改進(jìn)提供統(tǒng)計(jì)數(shù)據(jù)必須結(jié)合軟件組織自身的能力成熟度現(xiàn)狀。自身軟件能力不同,過(guò)程改進(jìn)的主要目標(biāo)也不相同必須結(jié)合所開(kāi)發(fā)軟件的類型基于CMM的裁剪原則裁剪必須符合凈室的基本原則(是凈室區(qū)別于基于凈室的裁剪方法引入凈室的三個(gè)階段初始階段:首先要引入凈室小組開(kāi)發(fā)的組織模式和質(zhì)量控制下的增量式生命周期模型,將開(kāi)發(fā)與測(cè)試分離,建立起基本項(xiàng)目過(guò)程。結(jié)合自身能力,引入形式化程度較低的黑盒規(guī)范與驗(yàn)證方法中級(jí)階段:加入更多必須的管理規(guī)范,明確定義自身的軟件過(guò)程。同時(shí)引入比較形式化的凈室規(guī)范和驗(yàn)證技術(shù),進(jìn)一步降低開(kāi)發(fā)階段的缺陷率,提高軟件生產(chǎn)率。并根據(jù)需要進(jìn)行有限的統(tǒng)計(jì)測(cè)試高級(jí)階段:引入凈室統(tǒng)計(jì)測(cè)試技術(shù),很好地實(shí)現(xiàn)對(duì)質(zhì)量和性能的量化,為高層的決策提供可靠的數(shù)據(jù)依據(jù)基于凈室的裁剪方法引入凈室的三個(gè)階段針對(duì)凈室技術(shù)形式化程度的裁剪(1)對(duì)盒式規(guī)范技術(shù)的裁剪:黑盒規(guī)范對(duì)系統(tǒng)的外部可見(jiàn)行為做一個(gè)完整的定義,隱藏了軟件設(shè)計(jì)和實(shí)現(xiàn)的所有細(xì)節(jié),適用于軟件開(kāi)發(fā)的任何粒度中。規(guī)范的描述形式可以不同:自然語(yǔ)言、半形式化的規(guī)范語(yǔ)言、而嚴(yán)格的函數(shù)表達(dá)方法狀態(tài)盒規(guī)范是對(duì)系統(tǒng)內(nèi)部數(shù)據(jù)的描述,它的實(shí)現(xiàn)形式依賴于黑盒規(guī)范明盒規(guī)范是對(duì)黑盒與狀態(tài)盒逐步求精的實(shí)現(xiàn),最終形式便是源代碼。既可以是結(jié)構(gòu)化的,也可以是面向?qū)ο蟮?,不受開(kāi)發(fā)方法和語(yǔ)言的限制針對(duì)凈室技術(shù)形式化程度的裁剪(1)對(duì)盒式規(guī)范技術(shù)的裁剪:針對(duì)凈室技術(shù)形式化程度的裁剪(2)對(duì)盒式規(guī)范驗(yàn)證技術(shù)的裁剪:驗(yàn)證過(guò)程基于非執(zhí)行的測(cè)試方法尋找并消除開(kāi)發(fā)階段的缺陷。因盒式規(guī)范的形式化不同,驗(yàn)證方法也有相應(yīng)變化。檢查方法簡(jiǎn)單易行,但是不夠嚴(yán)格,基于潛在錯(cuò)誤清單的審查方法有規(guī)范的步驟,是一種經(jīng)濟(jì)有效的錯(cuò)誤檢測(cè)方法基于函數(shù)理論的正確性證明,要求在盒式規(guī)范過(guò)程中,建立明確的預(yù)期函數(shù),這就要求盒式規(guī)范本身的形式化程度較高,此外要求評(píng)審人員有相應(yīng)的數(shù)學(xué)知識(shí)和專用CASE工具的支持(3)對(duì)統(tǒng)計(jì)測(cè)試技術(shù)的裁剪:規(guī)范和驗(yàn)證階段采用的技術(shù)都不嚴(yán)格時(shí),更需測(cè)試過(guò)程來(lái)保證產(chǎn)品發(fā)布前的低缺陷,以減少產(chǎn)品的維護(hù)費(fèi)用針對(duì)凈室技術(shù)形式化程度的裁剪(2)對(duì)盒式規(guī)范驗(yàn)證技術(shù)的裁剪針對(duì)凈室技術(shù)形式化程度的裁剪CMM與凈室技術(shù)都不是萬(wàn)能的。CMM提出的是完整的軟件開(kāi)發(fā)和管理的過(guò)程,而凈室更多的是技術(shù)方面的支持。兩者相互一致并相互補(bǔ)充。將二者合理地結(jié)合,能夠獲得更高的軟件質(zhì)量、更低的開(kāi)發(fā)成本,更高的生產(chǎn)效率和更長(zhǎng)的軟件生命周期針對(duì)凈室技術(shù)形式化程度的裁剪CMM與凈室技術(shù)都不是萬(wàn)能的。C凈室過(guò)程的優(yōu)點(diǎn)特點(diǎn)小組開(kāi)發(fā)的組織模式統(tǒng)計(jì)控制下的增量開(kāi)發(fā)開(kāi)發(fā)與測(cè)試并行進(jìn)行所起作用1)降低人員間的通信和協(xié)調(diào)2)減少對(duì)權(quán)威的依賴3)提高團(tuán)隊(duì)的開(kāi)發(fā)能力4)小組評(píng)審盡早發(fā)現(xiàn)缺陷并顯著降低成本1)開(kāi)發(fā)過(guò)程可預(yù)測(cè)2)開(kāi)發(fā)進(jìn)度可見(jiàn)3)開(kāi)發(fā)在智能控制下易于適應(yīng)需求的變化,促進(jìn)持續(xù)的求精1)開(kāi)發(fā)階段就完成預(yù)防缺陷和修正缺陷的工作2)測(cè)試過(guò)程完全從用戶使用角度出發(fā)3)重視質(zhì)量的度量與反饋凈室過(guò)程的優(yōu)點(diǎn)特點(diǎn)小組開(kāi)發(fā)的組織模式統(tǒng)計(jì)控制下的增量開(kāi)發(fā)開(kāi)發(fā)CSE太理論化,需要更多的數(shù)學(xué)知識(shí)。其正確性驗(yàn)證的步驟比較困難且比較耗時(shí)CSE要求采用增量式開(kāi)發(fā)、采用盒子結(jié)構(gòu)、采用統(tǒng)計(jì)測(cè)試方法,普通工程師必須經(jīng)過(guò)加強(qiáng)訓(xùn)練才能掌握CSE開(kāi)發(fā)小組不進(jìn)行傳統(tǒng)的模塊測(cè)試,這是不現(xiàn)實(shí)的。工程師可能對(duì)編程語(yǔ)言和開(kāi)發(fā)環(huán)境還不熟悉,而且編譯器或操作系統(tǒng)的bug也可能導(dǎo)致未預(yù)期的錯(cuò)誤凈室軟件工程的缺點(diǎn)CSE太理論化,需要更多的數(shù)學(xué)知識(shí)。其正確性驗(yàn)證的步驟比較困凈室過(guò)程中的關(guān)鍵技術(shù)分析關(guān)鍵技術(shù)優(yōu)點(diǎn)缺點(diǎn)盒式結(jié)構(gòu)的規(guī)范方法促進(jìn)對(duì)需求的明確和理解,利于復(fù)用,規(guī)范的文檔,便于驗(yàn)證嚴(yán)格的形式化語(yǔ)言描述規(guī)范,難以掌握和使用,需要專有的CASE工具的支持,用戶難以理解;初期投入大,回報(bào)慢基于數(shù)學(xué)理論的正確性驗(yàn)證盡早發(fā)現(xiàn)并消除缺陷,提高質(zhì)量,顯著降低成本對(duì)一般軟件來(lái)說(shuō),代價(jià)太昂貴;正確性證明難以尋找合適的預(yù)期函數(shù)規(guī)范使用模型的建立和統(tǒng)計(jì)測(cè)試與認(rèn)證從用戶使用角度出發(fā),利于需求的理解和對(duì)開(kāi)發(fā)人員的反饋,實(shí)現(xiàn)對(duì)質(zhì)量和性能的量化使用模型不易建立;需要統(tǒng)計(jì)學(xué)知識(shí)和CASE工具的支持;需要其他測(cè)試方法的補(bǔ)充凈室過(guò)程中的關(guān)鍵技術(shù)分析關(guān)鍵技術(shù)優(yōu)點(diǎn)缺點(diǎn)盒式結(jié)構(gòu)促進(jìn)對(duì)需求的凈室軟件工程方法的效果愛(ài)立信公司在手機(jī)操作系統(tǒng)OS32的開(kāi)發(fā)中引入了經(jīng)過(guò)裁剪的凈室技術(shù)。73人以個(gè)人或組際(teamofteams)的方式工作了33個(gè)月,通過(guò)15個(gè)增量過(guò)程開(kāi)發(fā)了約33萬(wàn)行代碼以通信業(yè)廣泛使用的SDL(規(guī)范與描述語(yǔ)言)完成盒式規(guī)范;使用了小組評(píng)審技術(shù),但沒(méi)有進(jìn)行正確性證明;建立了使用模型,但只進(jìn)行了很有限的統(tǒng)計(jì)測(cè)試這個(gè)項(xiàng)目取得了令人滿意的結(jié)果:集成和測(cè)試的時(shí)間減少了,缺陷率比預(yù)期低了50%,而生產(chǎn)率則提高了70%以上。這足以說(shuō)明,通過(guò)合理裁剪的凈室技術(shù)是能夠非常有效地預(yù)防缺陷,提高軟件質(zhì)量和生產(chǎn)率的凈室軟件工程方法的效果愛(ài)立信公司在手機(jī)操作系統(tǒng)OS32的開(kāi)發(fā)TheEndTheEnd哈爾濱工業(yè)大學(xué)計(jì)算機(jī)學(xué)院唐好選Email:tanghx@凈室軟件工程(CSE)哈爾濱工業(yè)大學(xué)計(jì)算機(jī)學(xué)院凈室軟件工程(CSE)“凈室”(Cleanroom)一詞源自半導(dǎo)體工業(yè)中硬件生產(chǎn)車間,通過(guò)嚴(yán)格、潔凈的生產(chǎn)過(guò)程預(yù)防了缺陷的產(chǎn)生,而不是在事后再去排除故障。借用這個(gè)詞,充分顯示了凈室技術(shù)“防患于未然”的主導(dǎo)思想凈室基本概念凈室軟件工程(CSE)是一種應(yīng)用數(shù)學(xué)和統(tǒng)計(jì)學(xué)理論生產(chǎn)軟件的工程技術(shù)。力圖通過(guò)嚴(yán)格的工程化的軟件過(guò)程達(dá)到開(kāi)發(fā)中的零缺陷或接近零缺陷“凈室”(Cleanroom)一詞源自半導(dǎo)體工業(yè)中硬件生產(chǎn)車通過(guò)在第一次正確的書(shū)寫(xiě)代碼增量,并在測(cè)試前驗(yàn)證其正確性來(lái)避免成本過(guò)高的缺陷消除過(guò)程。它的過(guò)程模型是在代碼增量集成到系統(tǒng)的同時(shí),進(jìn)行代碼增量的統(tǒng)計(jì)質(zhì)量驗(yàn)證。凈室方法的觀點(diǎn)強(qiáng)調(diào)規(guī)格說(shuō)明和設(shè)計(jì)上嚴(yán)格性,使用基于數(shù)學(xué)的正確性證明對(duì)結(jié)果設(shè)計(jì)模型的每個(gè)元素進(jìn)行形式化驗(yàn)證,在規(guī)格說(shuō)明和設(shè)計(jì)中消除錯(cuò)誤,以“干凈”的方式進(jìn)行制造。通過(guò)在第一次正確的書(shū)寫(xiě)代碼增量,并在測(cè)試前驗(yàn)證其正確性來(lái)避免20世紀(jì)70年代末80年代初,資深數(shù)學(xué)家和IBM客座科學(xué)家HarlanMills闡述了將數(shù)學(xué)、統(tǒng)計(jì)學(xué)及工程學(xué)上的基本概念應(yīng)用到軟件的設(shè)想凈室軟件工程的發(fā)展Mills的觀點(diǎn):程序中出現(xiàn)錯(cuò)誤的唯一方式是作者將錯(cuò)誤引入進(jìn)去的。沒(méi)有其他的方式……正確實(shí)踐的目標(biāo)是:設(shè)法避免引入錯(cuò)誤,通過(guò)測(cè)試或其它任何運(yùn)行程序的方式來(lái)消除錯(cuò)誤。20世紀(jì)70年代末80年代初,資深數(shù)學(xué)家和IBM客座科學(xué)家H凈室軟件工程的發(fā)展兩大基本觀點(diǎn)促進(jìn)了Mills的工作:首先,程序是數(shù)學(xué)函數(shù)規(guī)則,其次,潛在的程序執(zhí)行是無(wú)窮的,質(zhì)量認(rèn)證必須進(jìn)行統(tǒng)計(jì)采樣第一個(gè)觀點(diǎn)使所有函數(shù)理論向軟件開(kāi)發(fā)敞開(kāi)大門,導(dǎo)致以下技術(shù)的產(chǎn)生:盒式結(jié)構(gòu)規(guī)范及設(shè)計(jì)、函數(shù)理論正確性檢驗(yàn)及增量開(kāi)發(fā)第二個(gè)觀點(diǎn)使所有統(tǒng)計(jì)理論在軟件測(cè)試方面得到應(yīng)用,導(dǎo)致了統(tǒng)計(jì)使用測(cè)試和質(zhì)量認(rèn)證凈室軟件工程的發(fā)展兩大基本觀點(diǎn)促進(jìn)了Mills的工作:首先,致力于通過(guò)防止軟件缺陷來(lái)提高軟件質(zhì)量立足于嚴(yán)格的科學(xué)理論基礎(chǔ)強(qiáng)調(diào)凈室小組:制定系統(tǒng)規(guī)范、開(kāi)發(fā)和認(rèn)證;基本目標(biāo)是:開(kāi)發(fā)過(guò)程的可管理性和使用時(shí)的無(wú)失效性凈室軟件工程的基本特點(diǎn)致力于通過(guò)防止軟件缺陷來(lái)提高軟件質(zhì)量?jī)羰臆浖こ痰幕咎攸c(diǎn)函數(shù)理論和抽樣理論函數(shù)理論一個(gè)函數(shù)定義了從定義域到值域的映射。一個(gè)特定的程序好似定義了一個(gè)從定義域(所有可能的輸入序列的集合)到值域(所有對(duì)應(yīng)于輸入的輸出集合)的映射。這樣,一個(gè)程序的規(guī)范就是一個(gè)函數(shù)的規(guī)范抽樣理論不可能對(duì)軟件的所有可能應(yīng)用都進(jìn)行測(cè)試。把軟件的所有可能的使用情況看作總體,通過(guò)統(tǒng)計(jì)學(xué)手段對(duì)其進(jìn)行抽樣,并對(duì)樣本進(jìn)行測(cè)試,根據(jù)測(cè)試結(jié)果分析軟件的性能和可靠性凈室軟件工程的理論基礎(chǔ)函數(shù)理論和抽樣理論凈室軟件工程的理論基礎(chǔ)統(tǒng)計(jì)過(guò)程控制下的增量式開(kāi)發(fā)(IncrementalDevelopment):增量是最終軟件產(chǎn)品的功能子集,系統(tǒng)功能隨時(shí)間增加基于函數(shù)的規(guī)范、設(shè)計(jì):盒子結(jié)構(gòu)方法按照函數(shù)理論定義了三種抽象層次:行為視圖、有限狀態(tài)機(jī)視圖和過(guò)程視圖。規(guī)范從一個(gè)外部行為視圖(稱為黑盒)開(kāi)始然后被轉(zhuǎn)化為一個(gè)狀態(tài)機(jī)視圖(稱為狀態(tài)盒)最后由一個(gè)過(guò)程視圖(明盒)來(lái)實(shí)現(xiàn)盒子結(jié)構(gòu)是基于對(duì)象的凈室軟件工程的技術(shù)手段統(tǒng)計(jì)過(guò)程控制下的增量式開(kāi)發(fā)(IncrementalDeve正確性驗(yàn)證:是CSE的核心,正是由于采用了這一技術(shù),凈室項(xiàng)目的軟件質(zhì)量才有了極大的提高統(tǒng)計(jì)測(cè)試(StatisticallyBasedTesting)和軟件認(rèn)證:凈室測(cè)試方法采用統(tǒng)計(jì)學(xué)的基本原理,即當(dāng)總體太大時(shí)必須采取抽樣的方法。首先確定一個(gè)使用模型(usagemodel)來(lái)代表系統(tǒng)所有可能使用的(一般是無(wú)限的)總體。然后由使用模型產(chǎn)生測(cè)試用例。因?yàn)闇y(cè)試用例是總體的一個(gè)隨機(jī)樣本,所以可得到系統(tǒng)預(yù)期操作性能的有效統(tǒng)計(jì)推導(dǎo)凈室軟件工程的技術(shù)手段正確性驗(yàn)證:是CSE的核心,正是由于采用了這一技術(shù),凈室項(xiàng)目?jī)羰臆浖こ痰幕灸P蛢羰臆浖こ痰幕灸P蛢羰业慕M成項(xiàng)目規(guī)劃、項(xiàng)目管理、性能改善、工程變化結(jié)構(gòu)規(guī)范(概念、模塊、執(zhí)行)功能規(guī)范需求分析

使用規(guī)范

增量設(shè)計(jì)、正確性驗(yàn)證統(tǒng)計(jì)測(cè)試、認(rèn)證使用模型、測(cè)試規(guī)劃增量規(guī)劃用戶用戶評(píng)價(jià)的累計(jì)規(guī)范用戶評(píng)價(jià)的累計(jì)認(rèn)證增量?jī)羰业慕M成項(xiàng)目規(guī)劃、項(xiàng)目管理、性能改善、工程變化結(jié)構(gòu)規(guī)范(系統(tǒng)工程需求收集盒結(jié)構(gòu)規(guī)格

形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試認(rèn)證

需求收集盒結(jié)構(gòu)規(guī)格形式化設(shè)計(jì)正確性驗(yàn)證代碼檢查測(cè)試計(jì)劃統(tǒng)計(jì)性使用測(cè)試認(rèn)證凈室技術(shù)-增量開(kāi)發(fā)技術(shù)…系需求盒結(jié)構(gòu)形式化正確性代碼測(cè)試計(jì)劃統(tǒng)計(jì)性認(rèn)證需求增量開(kāi)發(fā)的理論基礎(chǔ)引用透明性原理:一個(gè)表達(dá)式可用與其等值的任意子表達(dá)式代替,一個(gè)給定函數(shù)(規(guī)范)f能改進(jìn)為如下任何一種形式dof1,f2enddoifpthenf1elsef2endifwhilepdof1enddo函數(shù)的合并對(duì)原函數(shù)f在數(shù)值影響上必須等價(jià)軟件增量開(kāi)發(fā)的基礎(chǔ)在于為程序制定數(shù)學(xué)函數(shù)規(guī)則因此程序開(kāi)發(fā)作為一種自頂向下的控制結(jié)構(gòu)或子函數(shù)(子規(guī)范)的函數(shù)改進(jìn)(規(guī)范)過(guò)程,將導(dǎo)致對(duì)象或函數(shù)的分解或結(jié)合增量開(kāi)發(fā)的理論基礎(chǔ)引用透明性原理:功能規(guī)范...增量規(guī)劃增量設(shè)計(jì)/驗(yàn)證增量1設(shè)計(jì)/驗(yàn)證使用規(guī)范增量測(cè)試與認(rèn)證增量2設(shè)計(jì)/驗(yàn)證增量n設(shè)計(jì)/驗(yàn)證產(chǎn)品評(píng)估與過(guò)程改進(jìn)增量1統(tǒng)計(jì)增量1-2統(tǒng)計(jì)增量1-n統(tǒng)計(jì)增量開(kāi)發(fā)的進(jìn)度分配增量1:定義頂層結(jié)構(gòu)及樁組件增量2:根據(jù)用戶反饋,用新的可重用樁組件代替樁組件增量3:用新的可重用樁組件部件代替樁組件功能規(guī)范增量規(guī)劃增量設(shè)計(jì)/驗(yàn)證增量1設(shè)計(jì)/驗(yàn)證使用規(guī)范凈室技術(shù)-基于函數(shù)規(guī)范的設(shè)計(jì)和驗(yàn)證規(guī)范:從一個(gè)外部視圖(黑盒)開(kāi)始轉(zhuǎn)化為一個(gè)狀態(tài)視圖(狀態(tài)盒),由一個(gè)過(guò)程視圖(明盒)來(lái)實(shí)現(xiàn)三個(gè)盒形式不同,但行為等價(jià),稱為盒結(jié)構(gòu)將數(shù)學(xué)函數(shù)逐步擴(kuò)展為邏輯連接詞(如if-then-else)和子函數(shù)構(gòu)成的結(jié)構(gòu),這種擴(kuò)展一直進(jìn)行下去,直到所有標(biāo)識(shí)出來(lái)的子函數(shù)可以用程序設(shè)計(jì)語(yǔ)言直接表達(dá)凈室技術(shù)-基于函數(shù)規(guī)范的設(shè)計(jì)和驗(yàn)證規(guī)范:設(shè)計(jì)求精和驗(yàn)證每個(gè)明盒規(guī)格說(shuō)明代表了一個(gè)完成狀態(tài)盒轉(zhuǎn)換所需的過(guò)程(子函數(shù))的設(shè)計(jì),使用結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)和逐步求精在每個(gè)求精層次上,凈室團(tuán)隊(duì)執(zhí)行一次形式化正確性驗(yàn)證。為此,將一類正確性條件集合附加到結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)上如果函數(shù)f被擴(kuò)展為序列g(shù)和h,則f所有輸入的正確性條件是:執(zhí)行g(shù)之后再執(zhí)行h能完成f的功能嗎?如果一個(gè)函數(shù)p被精化為if<c>thenqelser的條件形式,則對(duì)p的所有輸入的正確性條件是(1)只要條件c為真,q能完成p的功能嗎?(2)只要條件c為假,r能完成p的功能嗎?如果……設(shè)計(jì)求精和驗(yàn)證每個(gè)明盒規(guī)格說(shuō)明代表了一個(gè)完成狀態(tài)盒轉(zhuǎn)換所需的狀態(tài)

變換狀態(tài)盒輸入S輸出R精化過(guò)程驗(yàn)證過(guò)程狀態(tài)BB1BB2明盒SR盒結(jié)構(gòu)精化和驗(yàn)證F=s*RRSH黑盒(所需行為)歷史激勵(lì)響應(yīng)狀態(tài)變換狀態(tài)盒輸入S輸出R精驗(yàn)狀態(tài)BB1BB2明黑盒規(guī)范的原則對(duì)系統(tǒng)擁有者和用戶:黑盒定義了他們分析和協(xié)商所需的行為對(duì)系統(tǒng)開(kāi)發(fā)者:黑盒定義待設(shè)計(jì)和實(shí)現(xiàn)所需的行為對(duì)系統(tǒng)測(cè)試者:黑盒定義了在測(cè)試過(guò)程中待確認(rèn)所需的行為黑盒規(guī)范的原則對(duì)系統(tǒng)擁有者和用戶:黑盒定義了他們分析和協(xié)商所黑盒的組成(例)基于12個(gè)月平均銷售額的預(yù)測(cè)部分情況規(guī)則號(hào)

1

激勵(lì)歷史條件<產(chǎn)品>歷史記錄包含小于11個(gè)月的<銷售額><產(chǎn)品>歷史記錄至少有11個(gè)月的<銷售額>

響應(yīng)接收<產(chǎn)品>

的<銷售額>

不求平均當(dāng)前激勵(lì)2<銷售額><產(chǎn)品><銷售額><產(chǎn)品><產(chǎn)品>的最近<銷售額>加上當(dāng)前的<銷售額>后求平均黑盒的組成(例)基于12個(gè)月平均銷售額的預(yù)測(cè)部分情況規(guī)則號(hào)狀態(tài)盒對(duì)系統(tǒng)或其組件進(jìn)行初步細(xì)化;定義狀態(tài)空間狀態(tài)信息來(lái)自黑盒中需要保存的激勵(lì)元素變換當(dāng)前的激勵(lì)S(Stimulus)映射響應(yīng)R(Response)舊狀態(tài)OS(oldState)映射到新?tīng)顟B(tài)NS(newState)

即(OS,S)(NS,R)狀態(tài)盒對(duì)系統(tǒng)或其組件進(jìn)行初步細(xì)化;定義狀態(tài)空間狀態(tài)盒組成(例)銷售額情況表規(guī)則號(hào)

舊狀態(tài)

激勵(lì)

新?tīng)顟B(tài)

響應(yīng)

黑盒規(guī)則號(hào)<銷售文件>不含<產(chǎn)品>記錄<銷售額><產(chǎn)品>1在<銷售文件>中為<產(chǎn)品>增加記錄出現(xiàn)最新<銷售額值>收到<產(chǎn)品>的<銷售額值>但不能求平均值121<銷售文件>中<產(chǎn)品>包含的<銷售額值>記錄少于11個(gè)月<銷售額><產(chǎn)品><產(chǎn)品>記錄己在<銷售文件>中,把<銷售額>作為最新<銷售額值>收到<產(chǎn)品>的<銷售額值>但不能求平均值狀態(tài)盒組成(例)銷售額情況表<銷售文件><銷售額>1在<銷售明盒(清晰盒)是一個(gè)計(jì)算機(jī)程序或程序集將

(OS,S)(NS,R),借助過(guò)程實(shí)現(xiàn)明盒的過(guò)程可以重用己有的黑盒或在求精過(guò)程中引入新的黑盒明盒的正確性驗(yàn)證是基于數(shù)學(xué)方法,證實(shí)一個(gè)過(guò)程與其規(guī)范相符明盒(清晰盒)盒子的層次結(jié)構(gòu)黑盒狀態(tài)盒白盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒……盒子的層次結(jié)構(gòu)黑盒狀態(tài)盒白盒黑盒狀態(tài)盒明盒黑盒狀態(tài)盒明盒黑盒盒子結(jié)構(gòu)原則

引用透明性(ReferentialTransparency)

明確組件所有需求,在邏輯上不需進(jìn)一步規(guī)范事務(wù)閉包(TransactionClosure)

事務(wù)是充分、足夠的、可獲得及保留所有狀態(tài)數(shù)據(jù)狀態(tài)遷移(StateMigration)

系統(tǒng)數(shù)據(jù)應(yīng)該遷移和封裝到最小的系統(tǒng)部分,不必復(fù)制更新共享服務(wù)(CommonServices)

對(duì)于多次用到的系統(tǒng)部分可定義共享服務(wù),創(chuàng)建重用機(jī)會(huì)盒子結(jié)構(gòu)原則引用透明性(ReferentialTrans凈室技術(shù)-統(tǒng)計(jì)測(cè)試和軟件認(rèn)證當(dāng)測(cè)試的規(guī)模太大時(shí),要采取抽樣方法,選擇一個(gè)模型(馬爾可夫模型、形式化語(yǔ)言等)代替使用的規(guī)模,然后用模型產(chǎn)生測(cè)試用例(測(cè)試用例是規(guī)模的一個(gè)隨機(jī)樣本),可以得到系統(tǒng)預(yù)期操作性能的有效統(tǒng)計(jì)推導(dǎo)統(tǒng)計(jì)使用測(cè)試等同于“以用戶試圖使用軟件的方式來(lái)測(cè)試軟件”。為了完成測(cè)試工作,凈室測(cè)試團(tuán)隊(duì)必須確定軟件的使用概率分布,按照使用概率為每個(gè)觸發(fā)集合生成測(cè)試用例凈室技術(shù)-統(tǒng)計(jì)測(cè)試和軟件認(rèn)證當(dāng)測(cè)試的規(guī)模太大時(shí),要采取抽樣方盒子結(jié)構(gòu)開(kāi)發(fā)過(guò)程

(1)定義系統(tǒng)需求

(2)確定和確認(rèn)黑盒

(激勵(lì))(響應(yīng))

(3)確定和驗(yàn)證狀態(tài)盒

(狀態(tài),激勵(lì))(新?tīng)顟B(tài),響應(yīng))(4)設(shè)計(jì)和驗(yàn)證明盒

(5)對(duì)新黑盒重復(fù)上述過(guò)程盒子結(jié)構(gòu)開(kāi)發(fā)過(guò)程(1)定義系統(tǒng)需求凈室實(shí)例

設(shè)計(jì)并驗(yàn)證一個(gè)小的程序,該程序?qū)δ辰o定的整數(shù)x,找出其平方根的整數(shù)部分y凈室實(shí)例設(shè)計(jì)并驗(yàn)證一個(gè)小的程序,該程序?qū)δ辰o定的整數(shù)x,找凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證定義入口和出口條件。為了證明設(shè)計(jì)的正確性,需要證明圖中表示的條件init、loop、cont、yes和exit在所有情形下都是正確的凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證定義入口和出口條件。為了證明設(shè)計(jì)的正凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證條件init:假定入口條件是正確的,因此,init條件的第一部分x≥0是滿足的,在流程圖中,init條件前的語(yǔ)句設(shè)置為y=0,因此,init條件的第二部分也是滿足的,因此,init為真條件loop可能以兩種方式之一出現(xiàn)(1)直接從init(滿足)或(2)通過(guò)穿過(guò)cont的控制流,因?yàn)闂l件cont與loop相同。無(wú)論從哪條路徑到達(dá),條件loop都為真條件cont:如果(y+1)2≤x,則y2≤x,條件成立條件yes在條件邏輯中被測(cè)試,一定為真x為被賦值或修改,保持不變,測(cè)試條件(y+1)2≤x不成立時(shí)才能到達(dá)exit,因此(y+1)2

>x,loop條件必須為真,因此exit滿足y遞增而x不變,循環(huán)一定終止凈室實(shí)例-設(shè)計(jì)求精與驗(yàn)證條件init:假定入口條件是正確的,CMM是軟件組織進(jìn)行軟件過(guò)程改進(jìn)以及評(píng)估和評(píng)價(jià)軟件能力的基準(zhǔn)。但在具體的過(guò)程改進(jìn)實(shí)施中,需要有效的軟件工程方法支持凈室軟件工程正是為過(guò)程改進(jìn)提供了具體實(shí)施方法,它能夠及早發(fā)現(xiàn)并消除缺陷,顯著提高軟件的正確性、可靠性和可理解性,降低項(xiàng)目的成本,提高軟件質(zhì)量,延長(zhǎng)軟件的生命周期凈室與CMMCMM是軟件組織進(jìn)行軟件過(guò)程改進(jìn)以及評(píng)估和評(píng)價(jià)軟件能力的基準(zhǔn)可將凈室軟件工程應(yīng)用到CMM的實(shí)踐中,從組織管理和技術(shù)工程實(shí)踐兩個(gè)方面改進(jìn)軟件過(guò)程,從而更加經(jīng)濟(jì)有效地提升軟件質(zhì)量在CMM中,關(guān)鍵實(shí)踐僅僅描述了應(yīng)該“做什么”,并沒(méi)有給出更沒(méi)有規(guī)定“如何”去具體操作,操作的方法和步驟必須由軟件組織自己去解決CMM只是對(duì)軟件組織過(guò)程改進(jìn)的指導(dǎo),而非解決一切軟件開(kāi)發(fā)過(guò)程中的問(wèn)題的法寶。在實(shí)施CMM的過(guò)程中,仍然需要有效的軟件工程技術(shù)和方法,如“凈室軟件工程”方法的支持凈室與CMM可將凈室軟件工程應(yīng)用到CMM的實(shí)踐中,從組織管理和技術(shù)工程實(shí)基于CMM的凈室裁剪由于凈室過(guò)程和技術(shù)的優(yōu)點(diǎn)以及在軟件企業(yè)中實(shí)施所遇到的困難,有必要對(duì)凈室進(jìn)行基于CMM的裁剪基于CMM的凈室裁剪由于凈室過(guò)程和技術(shù)的優(yōu)點(diǎn)以及在軟件企業(yè)中基于CMM的裁剪原則裁剪必須符合凈室的基本原則(是凈室區(qū)別于傳統(tǒng)軟件工程方法的關(guān)鍵)設(shè)計(jì)原則:開(kāi)發(fā)人員應(yīng)該并且能夠生產(chǎn)出在被測(cè)試前就已經(jīng)達(dá)到趨于零缺陷的產(chǎn)品測(cè)試原則:凈室測(cè)試的目的不是尋找缺陷,而是度量軟件產(chǎn)品的質(zhì)量和性能,為軟件過(guò)程的改進(jìn)提供統(tǒng)計(jì)數(shù)據(jù)必須結(jié)合軟件組織自身的能力成熟度現(xiàn)狀。自身軟件能力不同,過(guò)程改進(jìn)的主要目標(biāo)也不相同必須結(jié)合所開(kāi)發(fā)軟件的類型基于CMM的裁剪原則裁剪必須符合凈室的基本原則(是凈室區(qū)別于基于凈室的裁剪方法引入凈室的三個(gè)階段初始階段:首先要引入凈室小組開(kāi)發(fā)的組織模式和質(zhì)量控制下的增量式生命周期模型,將開(kāi)發(fā)與測(cè)試分離,建立起基本項(xiàng)目過(guò)程。結(jié)合自身能力,引入形式化程度較低的黑盒規(guī)范與驗(yàn)證方法中級(jí)階段:加入更多必須的管理規(guī)范,明確定義自身的軟件過(guò)程。同時(shí)引入比較形式化的凈室規(guī)范和驗(yàn)證技術(shù),進(jìn)一步降低開(kāi)發(fā)階段的缺陷率,提高軟件生產(chǎn)率。并根據(jù)需要進(jìn)行有限的統(tǒng)計(jì)測(cè)試高級(jí)階段:引入凈室統(tǒng)計(jì)測(cè)試技術(shù),很好地實(shí)現(xiàn)對(duì)質(zhì)量和性能的量化,為高層的決策提供可靠的數(shù)據(jù)依據(jù)基于凈室的裁剪方法引入凈室的三個(gè)階段針對(duì)凈室技術(shù)形式化程度的裁剪(1)對(duì)盒式規(guī)范技術(shù)的裁剪:黑盒規(guī)范對(duì)系統(tǒng)的外部可見(jiàn)行為做一個(gè)完整的定義,隱藏了軟件設(shè)計(jì)和實(shí)現(xiàn)的所有細(xì)節(jié),適用于軟件開(kāi)發(fā)的任何粒度中。規(guī)范的描述形式可以不同:自然語(yǔ)言、半形

溫馨提示

  • 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)論