軟件工程概論sw課件_第1頁(yè)
軟件工程概論sw課件_第2頁(yè)
軟件工程概論sw課件_第3頁(yè)
軟件工程概論sw課件_第4頁(yè)
軟件工程概論sw課件_第5頁(yè)
已閱讀5頁(yè),還剩137頁(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、軟件質(zhì)量概念軟件質(zhì)量保證軟件可靠性軟件配置管理軟件質(zhì)量管理1第1頁(yè),共142頁(yè)。軟件質(zhì)量概念軟件質(zhì)量的定義軟件質(zhì)量特性軟件質(zhì)量模型軟件質(zhì)量的度量和評(píng)價(jià)2第2頁(yè),共142頁(yè)。軟件質(zhì)量的定義ANSI/IEEE Std 729-1983定義軟件質(zhì)量為“與軟件產(chǎn)品滿足規(guī)定的和隱含的需求的能力有關(guān)的特征或特性的全體”。M.J. Fisher 定義軟件質(zhì)量為“所有描述計(jì)算機(jī)軟件優(yōu)秀程度的特性的組合”。3第3頁(yè),共142頁(yè)。質(zhì)量特性及其組合,是軟件開(kāi)發(fā)與維護(hù)中的重要考慮因素為滿足軟件的各項(xiàng)精確定義的功能、性能需求,符合文檔化的開(kāi)發(fā)標(biāo)準(zhǔn),需要相應(yīng)地給出或設(shè)計(jì)一些質(zhì)量特性及其組合。如果這些質(zhì)量特性及其組合都能在

2、產(chǎn)品中得到滿足,則這個(gè)軟件產(chǎn)品質(zhì)量就是高的。4第4頁(yè),共142頁(yè)。軟件需求是度量軟件質(zhì)量的基礎(chǔ)。不符合需求的軟件就不具備質(zhì)量。標(biāo)準(zhǔn)定義了一組開(kāi)發(fā)準(zhǔn)則,用來(lái)指導(dǎo)軟件人員用工程化的方法來(lái)開(kāi)發(fā)軟件。如果不遵守這些開(kāi)發(fā)準(zhǔn)則,軟件質(zhì)量就得不到保證。軟件質(zhì)量是各種特性的復(fù)雜組合。它隨著應(yīng)用的不同而不同,隨著用戶提出的質(zhì)量要求不同而不同。5第5頁(yè),共142頁(yè)。軟件質(zhì)量特性軟件質(zhì)量特性,反映了軟件的本質(zhì)。討論一個(gè)軟件的質(zhì)量,問(wèn)題最終要?dú)w結(jié)到定義軟件的質(zhì)量特性。定義一個(gè)軟件的質(zhì)量,就等價(jià)于為該軟件定義一系列質(zhì)量特性。人們通常把影響軟件質(zhì)量的特性用軟件質(zhì)量模型來(lái)描述。6第6頁(yè),共142頁(yè)。軟件質(zhì)量模型軟件質(zhì)量特性

3、定義成分層模型最基本的叫做基本質(zhì)量特性,它可以由一些子質(zhì)量特性定義和度量。二次特性在必要時(shí)又可由它的一些子質(zhì)量特性定義和度量。1976年 Boehm質(zhì)量模型1979年 McCall質(zhì)量模型1985年 ISO質(zhì)量模型7第7頁(yè),共142頁(yè)。8第8頁(yè),共142頁(yè)。ISO的軟件質(zhì)量評(píng)價(jià)模型按照ISO/TC97/SC7/WG3/1985-1-30/N382,軟件質(zhì)量度量模型由三層組成軟件質(zhì)量需求評(píng)價(jià)準(zhǔn)則(SQRC)軟件質(zhì)量設(shè)計(jì)評(píng)價(jià)準(zhǔn)則(SQDC)軟件質(zhì)量度量評(píng)價(jià)準(zhǔn)則(SQMC)高層和中層建立國(guó)際標(biāo)準(zhǔn),低層可由各使用單位視實(shí)際情況制定9第9頁(yè),共142頁(yè)。Boehm質(zhì)量模型10第10頁(yè),共142頁(yè)。11第

4、11頁(yè),共142頁(yè)。1991年 ISO質(zhì)量特性國(guó)際標(biāo)準(zhǔn) (ISO/IEC9126)質(zhì)量特性:功能性、可靠性、可維護(hù)性、效率、可使用性、可移植性推薦21個(gè)子特性:適合性 準(zhǔn)確性 互用性 依從性 安全性 成熟性 容錯(cuò)性 可恢復(fù)性 可理解性 易學(xué)習(xí)性 操作性 時(shí)間特性 資源特性 可分析性 穩(wěn)定性 可變更性 可測(cè)試性 可安裝性 可替換性 適應(yīng)性 一致性 12第12頁(yè),共142頁(yè)。13第13頁(yè),共142頁(yè)。軟件質(zhì)量的度量和評(píng)價(jià)軟件質(zhì)量特性度量有兩類:預(yù)測(cè)型和驗(yàn)收型。預(yù)測(cè)度量是利用定量或定性的方法,估算軟件質(zhì)量的評(píng)價(jià)值,以得到軟件質(zhì)量的比較精確的估算值。驗(yàn)收度量是在軟件開(kāi)發(fā)各階段的檢查點(diǎn),對(duì)軟件的要求質(zhì)量

5、進(jìn)行確認(rèn)性檢查的具體評(píng)價(jià)值,它是對(duì)開(kāi)發(fā)過(guò)程中的預(yù)測(cè)進(jìn)行評(píng)價(jià)。14第14頁(yè),共142頁(yè)。預(yù)測(cè)度量有兩種。第一種叫做尺度度量,這是一種定量度量。它適用于一些能夠直接度量的特性,例如,出錯(cuò)率定義為:錯(cuò)誤數(shù)KLOC單位時(shí)間。第二種叫做二元度量,這是一種定性度量。它適用于一些只能間接度量的特性,例如,可使用性、靈活性等等。15第15頁(yè),共142頁(yè)。尺度度量檢查表16第16頁(yè),共142頁(yè)。二元度量檢查表17第17頁(yè),共142頁(yè)。通過(guò)對(duì)照檢查項(xiàng)目,確定一種質(zhì)量特性的有無(wú)。例如,在設(shè)計(jì)和編碼階段的復(fù)雜性度量,利用尺度度量方法來(lái)做。對(duì)模塊復(fù)雜性的度量采用McCabe 環(huán)路度量。對(duì)于二元度量,可針對(duì)檢查表中每一項(xiàng)

6、都應(yīng)給以記分,指定信息存在時(shí)記 “1”,否則記 “0”。表中所有各項(xiàng)的分?jǐn)?shù)相加,即得度量結(jié)果。18第18頁(yè),共142頁(yè)。軟件的質(zhì)量保證質(zhì)量保證的概念軟件質(zhì)量保證的主要任務(wù)質(zhì)量保證與檢驗(yàn)軟件質(zhì)量保證體系質(zhì)量保證的實(shí)施軟件的質(zhì)量設(shè)計(jì)19第19頁(yè),共142頁(yè)。質(zhì)量保證的概念什么是質(zhì)量保證,它是為保證產(chǎn)品和服務(wù)充分滿足消費(fèi)者要求的質(zhì)量而進(jìn)行的有計(jì)劃、有組織的活動(dòng)。質(zhì)量保證是面向消費(fèi)者的活動(dòng),是為了使產(chǎn)品實(shí)現(xiàn)用戶要求的功能,站在用戶立場(chǎng)上來(lái)掌握產(chǎn)品質(zhì)量的。軟件的質(zhì)量保證就是向用戶及社會(huì)提供滿意的高質(zhì)量的產(chǎn)品。20第20頁(yè),共142頁(yè)。軟件的質(zhì)量保證活動(dòng)也和一般的質(zhì)量保證活動(dòng)一樣,是確保軟件產(chǎn)品從誕生到消

7、亡為止的所有階段的質(zhì)量的活動(dòng)。即為了確定、達(dá)到和維護(hù)需要的軟件質(zhì)量而進(jìn)行的所有有計(jì)劃、有系統(tǒng)的管理活動(dòng)。21第21頁(yè),共142頁(yè)。軟件質(zhì)量保證的主要任務(wù)為了提高軟件的質(zhì)量和軟件的生產(chǎn)率,軟件質(zhì)量保證的主要任務(wù)大致可歸結(jié)為8點(diǎn)。22第22頁(yè),共142頁(yè)。1.用戶要求定義熟練掌握正確定義用戶要求的技術(shù)熟練使用和指導(dǎo)他人使用定義軟件需求的支持工具重視領(lǐng)導(dǎo)全體開(kāi)發(fā)人員收集和積累有關(guān)用戶業(yè)務(wù)領(lǐng)域的各種業(yè)務(wù)的資料和技術(shù)技能。23第23頁(yè),共142頁(yè)。2. 力爭(zhēng)不重復(fù)勞動(dòng)考慮哪些既有軟件可以復(fù)用在開(kāi)發(fā)過(guò)程中,隨時(shí)考慮所生產(chǎn)軟件的復(fù)用性。24第24頁(yè),共142頁(yè)。3. 掌握開(kāi)發(fā)新軟件的方法在開(kāi)發(fā)新軟件的過(guò)程中

8、大力使用和推行軟件工程學(xué)中所介紹的開(kāi)發(fā)方法和工具。 使用先進(jìn)的開(kāi)發(fā)技術(shù):如結(jié)構(gòu)化技術(shù)、面向?qū)ο蠹夹g(shù) 使用數(shù)據(jù)庫(kù)技術(shù)或網(wǎng)絡(luò)化技術(shù) 應(yīng)用開(kāi)發(fā)工具或環(huán)境 改進(jìn)開(kāi)發(fā)過(guò)程25第25頁(yè),共142頁(yè)。4. 組織外部力量協(xié)作的方法一個(gè)軟件自始至終由同一個(gè)軟件開(kāi)發(fā)單位來(lái)開(kāi)發(fā),也許是最理想的。但在現(xiàn)實(shí)中常常難以做到。改善對(duì)外部協(xié)作部門(mén)的開(kāi)發(fā)管理。必須明確規(guī)定進(jìn)度管理、質(zhì)量管理、交接檢查、維護(hù)體制等各方面的要求,建立跟蹤檢查的體制。26第26頁(yè),共142頁(yè)。5. 排除無(wú)效勞動(dòng)最大的無(wú)效勞動(dòng)就是因需求規(guī)格說(shuō)明有誤、設(shè)計(jì)有誤而造成的返工。定量記錄返工工作量,收集和分析返工勞動(dòng)花費(fèi)數(shù)據(jù)較大的無(wú)效勞動(dòng)是重復(fù)勞動(dòng),即相似的軟

9、件在幾個(gè)地方同時(shí)開(kāi)發(fā)建立互相交流、信息往來(lái)通暢、具橫向交流特征的信息流通網(wǎng)27第27頁(yè),共142頁(yè)。6. 發(fā)揮每個(gè)開(kāi)發(fā)者的能力軟件生產(chǎn)是人的智能生產(chǎn)活動(dòng),它依賴于人的能力和開(kāi)發(fā)組織團(tuán)隊(duì)的能力。開(kāi)發(fā)者必須有學(xué)習(xí)各專業(yè)業(yè)務(wù)知識(shí)、生產(chǎn)技術(shù)和管理技術(shù)的能動(dòng)性。管理者或產(chǎn)品服務(wù)者要制定技術(shù)培訓(xùn)計(jì)劃、技術(shù)水平標(biāo)準(zhǔn),以及適用于將來(lái)需要的中長(zhǎng)期技術(shù)培訓(xùn)計(jì)劃。28第28頁(yè),共142頁(yè)。7. 提高軟件開(kāi)發(fā)的工程能力要想生產(chǎn)出高質(zhì)量的軟件產(chǎn)品必須有高水平的軟件工程能力。在軟件開(kāi)發(fā)環(huán)境或軟件工具箱的支持下,運(yùn)用先進(jìn)的開(kāi)發(fā)技術(shù)、工具和管理方法開(kāi)發(fā)軟件的能力。29第29頁(yè),共142頁(yè)。8. 提高計(jì)劃和管理質(zhì)量能力項(xiàng)目開(kāi)發(fā)

10、初期計(jì)劃階段的項(xiàng)目計(jì)劃評(píng)價(jià)計(jì)劃執(zhí)行過(guò)程中及計(jì)劃完成報(bào)告的評(píng)價(jià)將評(píng)價(jià)、評(píng)審工作在工程實(shí)施之前就列入整個(gè)開(kāi)發(fā)工程的工程計(jì)劃中提高軟件開(kāi)發(fā)項(xiàng)目管理的精確度30第30頁(yè),共142頁(yè)。質(zhì)量保證與檢驗(yàn)其一是切實(shí)搞好開(kāi)發(fā)階段的管理,檢查各開(kāi)發(fā)階段的質(zhì)量保證活動(dòng)開(kāi)展得如何;其二是預(yù)先防止軟件差錯(cuò)給用戶造成損失。為了確保每個(gè)開(kāi)發(fā)過(guò)程的質(zhì)量,防止把軟件差錯(cuò)傳遞到下一個(gè)過(guò)程,必須進(jìn)行質(zhì)量檢驗(yàn)。31第31頁(yè),共142頁(yè)。質(zhì)量檢驗(yàn)的原則用戶要求的是產(chǎn)品所具有的功能,這是“真質(zhì)量”??抠|(zhì)量檢驗(yàn),一般檢查的是“真質(zhì)量”的質(zhì)量特性。能靠質(zhì)量檢驗(yàn)的質(zhì)量特性,即使全數(shù)檢驗(yàn),也只是代表產(chǎn)品的部分質(zhì)量特性。必須在各開(kāi)發(fā)階段對(duì)影響產(chǎn)品

11、質(zhì)量的因素進(jìn)行切實(shí)的管理,認(rèn)真檢查實(shí)施落實(shí)情況。32第32頁(yè),共142頁(yè)。當(dāng)開(kāi)發(fā)階段出現(xiàn)異常時(shí),要從質(zhì)量特性方面進(jìn)行檢驗(yàn),看是否會(huì)給后續(xù)階段帶來(lái)影響。雖然各開(kāi)發(fā)階段進(jìn)展穩(wěn)定,但由于工程能力不足,軟件產(chǎn)品不能滿足用戶要求的質(zhì)量。這時(shí)可通過(guò)檢驗(yàn)對(duì)該產(chǎn)品做出評(píng)價(jià),判斷是否能向用戶提供該產(chǎn)品。要以一定的標(biāo)準(zhǔn)檢驗(yàn)產(chǎn)品,根據(jù)產(chǎn)品的質(zhì)量特性,檢查各個(gè)過(guò)程的管理狀態(tài)。33第33頁(yè),共142頁(yè)。軟件質(zhì)量保證體系軟件的質(zhì)量保證活動(dòng),是涉及各個(gè)部門(mén)的部門(mén)間的活動(dòng)。例如,如果在用戶處發(fā)現(xiàn)了軟件故障,產(chǎn)品服務(wù)部門(mén)就應(yīng)聽(tīng)取用戶的意見(jiàn),再由檢查部門(mén)調(diào)查該產(chǎn)品的檢驗(yàn)結(jié)果,進(jìn)而還要調(diào)查軟件實(shí)現(xiàn)過(guò)程的狀況,并根據(jù)情況檢查設(shè)計(jì)是否

12、有誤,不當(dāng)之處加以改進(jìn),防止再次發(fā)生問(wèn)題。34第34頁(yè),共142頁(yè)。為了順利開(kāi)展以上活動(dòng),事先明確部門(mén)間的質(zhì)量保證業(yè)務(wù),確立部門(mén)間的聯(lián)合與協(xié)作的機(jī)構(gòu)十分重要,這個(gè)機(jī)構(gòu)就是質(zhì)量保證體系。 必須明確反饋途徑。 必須明確各部門(mén)的職責(zé)。 必須確定保證系統(tǒng)運(yùn)行的方法、工具、有關(guān)文檔資料,以及系統(tǒng)管理的規(guī)程和標(biāo)準(zhǔn)。35第35頁(yè),共142頁(yè)。 必須明確決定是否可向下一階段進(jìn)展的評(píng)價(jià)項(xiàng)目和評(píng)價(jià)準(zhǔn)則。 必須不斷地總結(jié)系統(tǒng)管理的經(jīng)驗(yàn)教訓(xùn),能夠修改系統(tǒng)。 制定質(zhì)量保證計(jì)劃,在計(jì)劃中 確定質(zhì)量目標(biāo) 確定在每個(gè)階段為達(dá)到總目標(biāo)所應(yīng)達(dá)到的要求 確定進(jìn)度安排 確定所需人力、資源和成本等。36第36頁(yè),共142頁(yè)。軟件質(zhì)量保

13、證規(guī)程和技術(shù)準(zhǔn)則規(guī)定在項(xiàng)目的哪個(gè)階段進(jìn)行評(píng)審及如何評(píng)審;規(guī)定在項(xiàng)目的哪個(gè)階段應(yīng)當(dāng)產(chǎn)生哪些報(bào)告和計(jì)劃;規(guī)定產(chǎn)品各方面測(cè)試應(yīng)達(dá)到的水平。 在每次評(píng)審和測(cè)試中發(fā)現(xiàn)的錯(cuò)誤如何修正;37第37頁(yè),共142頁(yè)。描述希望得到的質(zhì)量度量;說(shuō)明各種軟件人員的職責(zé),規(guī)定為了達(dá)到質(zhì)量目標(biāo)他們必須進(jìn)行哪些活動(dòng)。建立 在各階段中執(zhí)行質(zhì)量評(píng)價(jià)的質(zhì)量評(píng)價(jià)和質(zhì)量檢查系統(tǒng) 有效運(yùn)用質(zhì)量信息的質(zhì)量信息系統(tǒng),并使其運(yùn)行。38第38頁(yè),共142頁(yè)。質(zhì)量保證的實(shí)施軟件質(zhì)量保證的實(shí)施需要從縱向和橫向兩個(gè)方面展開(kāi)。 要求所有與軟件生存期有關(guān)的人員都要參加 要求對(duì)產(chǎn)品形成的全過(guò)程進(jìn)行質(zhì)量管理這要求整個(gè)軟件部門(mén)齊心協(xié)力,不斷完善軟件的開(kāi)發(fā)環(huán)境

14、。此外還需要與用戶共同合作。39第39頁(yè),共142頁(yè)。質(zhì)量目標(biāo)與度量為了開(kāi)發(fā)高質(zhì)量的軟件,需要明確軟件的功能,明確軟件應(yīng)達(dá)到什么樣的質(zhì)量標(biāo)準(zhǔn),即質(zhì)量目標(biāo)。為了達(dá)到這個(gè)目標(biāo),在開(kāi)發(fā)過(guò)程中的各個(gè)階段進(jìn)行檢查和評(píng)價(jià)。在做質(zhì)量評(píng)價(jià)時(shí),需要有對(duì)質(zhì)量進(jìn)行度量的準(zhǔn)則和方法。需要有在軟件生存期中如何使用這些準(zhǔn)則和方法的質(zhì)量保證步驟,以及提高該項(xiàng)作業(yè)效率的工具40第40頁(yè),共142頁(yè)。軟件質(zhì)量度量和保證的條件適應(yīng)性:適應(yīng)各種用戶、軟件類型易學(xué)性:不需要特殊技術(shù),易掌握可靠性:同個(gè)軟件的評(píng)價(jià)結(jié)果一致針對(duì)性:設(shè)計(jì)階段就確立質(zhì)量目標(biāo),在各個(gè)階段實(shí)施落實(shí)。客觀性:經(jīng)濟(jì)性:41第41頁(yè),共142頁(yè)。質(zhì)量保證活動(dòng)的實(shí)施步驟

15、:Target:以用戶要求和開(kāi)發(fā)方針為依據(jù),對(duì)質(zhì)量需求準(zhǔn)則、質(zhì)量設(shè)計(jì)準(zhǔn)則的各質(zhì)量特性設(shè)定質(zhì)量目標(biāo)。Plan:設(shè)定適合于被開(kāi)發(fā)軟件的評(píng)測(cè)檢查項(xiàng)目(質(zhì)量評(píng)價(jià)準(zhǔn)則)。研討實(shí)現(xiàn)質(zhì)量目標(biāo)的方法或手段。Do:制作高質(zhì)量的規(guī)格說(shuō)明和程序。在接受質(zhì)量檢查前先做自我檢查。42第42頁(yè),共142頁(yè)。Check:以Plan階段設(shè)定的質(zhì)量評(píng)價(jià)準(zhǔn)則進(jìn)行評(píng)價(jià)。計(jì)算結(jié)果用質(zhì)量圖的形式表示出來(lái)。比較評(píng)價(jià)結(jié)果的質(zhì)量得分和質(zhì)量目標(biāo),看其是否合格。Action:對(duì)評(píng)價(jià)發(fā)現(xiàn)的問(wèn)題進(jìn)行改進(jìn)活動(dòng),如果實(shí)現(xiàn)并達(dá)到了質(zhì)量目標(biāo)就轉(zhuǎn)入下一個(gè)工程階段。這樣重復(fù)“Plan”到“Action”的過(guò)程,直到整個(gè)開(kāi)發(fā)項(xiàng)目完成。43第43頁(yè),共142頁(yè)。4

16、4第44頁(yè),共142頁(yè)。45第45頁(yè),共142頁(yè)。46第46頁(yè),共142頁(yè)。軟件的質(zhì)量設(shè)計(jì)質(zhì)量特性轉(zhuǎn)換為軟件的內(nèi)部結(jié)構(gòu)在軟件定義階段,必須定義對(duì)軟件的質(zhì)量需求。即確定軟件的質(zhì)量特性及必需的評(píng)價(jià)準(zhǔn)則,并定量地設(shè)定其必須達(dá)到的質(zhì)量水平在以后軟件開(kāi)發(fā)的每一階段結(jié)束時(shí),要算出評(píng)價(jià)的分?jǐn)?shù),然后與目標(biāo)值加以對(duì)照,以評(píng)估在這一階段開(kāi)發(fā)的軟件質(zhì)量是否達(dá)到要求。47第47頁(yè),共142頁(yè)。為了實(shí)現(xiàn)規(guī)定的質(zhì)量特性,就需要把這些質(zhì)量特性轉(zhuǎn)換為軟件的內(nèi)部結(jié)構(gòu)的特性。例如,軟件質(zhì)量需求中的“性能”,可以轉(zhuǎn)換成軟件內(nèi)部結(jié)構(gòu)中的構(gòu)成元素,即每一個(gè)程序模塊和物理數(shù)據(jù)各自應(yīng)具有的性能特性。這些性能特性的累積就形成外部規(guī)格中的性能

17、特性。48第48頁(yè),共142頁(yè)。軟件的結(jié)構(gòu)特性與評(píng)價(jià)標(biāo)準(zhǔn)結(jié)構(gòu)特性 邏輯數(shù)據(jù)層次評(píng)價(jià)標(biāo)準(zhǔn) 全部數(shù)據(jù)元素定義完畢 所有層次的操作符定義完畢結(jié)構(gòu)特性 功能層次評(píng)價(jià)標(biāo)準(zhǔn) 全部功能元素定義完畢 所有層次的操作符定義完畢49第49頁(yè),共142頁(yè)。結(jié)構(gòu)特性 邏輯數(shù)據(jù)與功能的對(duì)應(yīng)關(guān)系評(píng)價(jià)準(zhǔn)則 所有數(shù)據(jù)都與功能對(duì)應(yīng) 所有功能元素都與數(shù)據(jù)對(duì)應(yīng) 邏輯數(shù)據(jù)與功能的相互關(guān)系個(gè)數(shù)(局部)50第50頁(yè),共142頁(yè)。 結(jié)構(gòu)特性 物理數(shù)據(jù)層次評(píng)價(jià)準(zhǔn)則 全部數(shù)據(jù)元素定義完畢 物理數(shù)據(jù)之間的所有指針定義完畢 上述指針都具有層次性51第51頁(yè),共142頁(yè)。結(jié)構(gòu)特性 模塊層次評(píng)價(jià)準(zhǔn)則 所有模塊定義完畢 模塊之間所有控制關(guān)系定義完畢 上

18、述關(guān)系都是標(biāo)準(zhǔn)過(guò)程調(diào)用形式 各層次上的模塊大小適當(dāng)52第52頁(yè),共142頁(yè)。結(jié)構(gòu)特性 物理數(shù)據(jù)與模塊的對(duì)應(yīng)關(guān)系評(píng)價(jià)準(zhǔn)則 所有物理數(shù)據(jù)都與模塊對(duì)應(yīng) 所有模塊都與物理數(shù)據(jù)對(duì)應(yīng) 對(duì)應(yīng)于一個(gè)物理數(shù)據(jù)的模塊數(shù)(以一對(duì)一為好)53第53頁(yè),共142頁(yè)。結(jié)構(gòu)特性 邏輯數(shù)據(jù)與物理數(shù)據(jù)的對(duì)應(yīng)關(guān)系評(píng)價(jià)準(zhǔn)則 所有邏輯數(shù)據(jù)都與物理數(shù)據(jù)對(duì)應(yīng) 對(duì)應(yīng)于一個(gè)物理數(shù)據(jù)的邏輯數(shù)據(jù)數(shù)(以一對(duì)一為好)54第54頁(yè),共142頁(yè)。結(jié)構(gòu)特性 功能與模塊的對(duì)應(yīng)關(guān)系評(píng)價(jià)準(zhǔn)則 所有功能都與模塊對(duì)應(yīng) 對(duì)應(yīng)模塊的功能個(gè)數(shù)(以一對(duì)一為好)55第55頁(yè),共142頁(yè)。軟件可靠性軟件生存期與軟件壽命的關(guān)系在軟件工程中常用的定義軟件可靠性定義測(cè)試中的可靠性分

19、析測(cè)試精確度和測(cè)試覆蓋度的評(píng)價(jià)56第56頁(yè),共142頁(yè)。軟件生存期與軟件壽命的關(guān)系一切有生命的東西都有一個(gè)“壽命”這個(gè)概念也可以延伸到對(duì)非生命產(chǎn)品的質(zhì)量評(píng)價(jià)上來(lái)。例如一個(gè)電子產(chǎn)品的壽命就是指該產(chǎn)品從出廠直到喪失使用價(jià)值的持續(xù)時(shí)間。從軟件工程的角度來(lái)說(shuō),軟件產(chǎn)品的壽命是指軟件的整個(gè)生存期。57第57頁(yè),共142頁(yè)。從軟件用戶的角度來(lái)看,更關(guān)心的是軟件在交付使用后的情況如何。希望用一個(gè)指標(biāo)平均失效間隔時(shí)間 MTBF(MeanTime Between Failure) 來(lái)表明,在規(guī)定的要求和條件下,能在多大的程度上依賴這個(gè)軟件來(lái)完成任務(wù)。我們把在使用期間軟件能夠正常工作的持續(xù)時(shí)間叫做軟件的使用壽命。

20、58第58頁(yè),共142頁(yè)。軟件的使用壽命與輸入環(huán)境有關(guān)。例如,有一個(gè)存在缺陷的編譯程序,當(dāng)用于學(xué)生做簡(jiǎn)單練習(xí)時(shí),MTBF可能很長(zhǎng)。而做一個(gè)大的課題時(shí),由于程序連續(xù)出錯(cuò),MTBF就會(huì)變得很短。MTBF可以看做是對(duì)軟件可靠性做估計(jì)的樣本數(shù)據(jù),但不能看做是依據(jù)。59第59頁(yè),共142頁(yè)?!板e(cuò)誤”這一術(shù)語(yǔ)。在沒(méi)有特別加以說(shuō)明的情況下,這是一個(gè)泛用的、模糊的概念。它指的可能是bug(設(shè)計(jì)中的差錯(cuò))、 fault(故障)、error(錯(cuò)誤)、failure(失效)、crash(重大事故)、problem(疑問(wèn))等。在漢譯中,這些術(shù)語(yǔ)的使用更加混亂。60第60頁(yè),共142頁(yè)。在軟件工程中常用的定義故障(fa

21、ult):軟件的內(nèi)在缺陷。這些缺陷可在生存期各個(gè)階段被引入。錯(cuò)誤(error):故障在一定的環(huán)境條件下的暴露,導(dǎo)致系統(tǒng)在運(yùn)行中出現(xiàn)了不正常、不正確、不按規(guī)范執(zhí)行的狀態(tài),稱為軟件出錯(cuò)。失效(failure):對(duì)錯(cuò)誤不做任何修正和恢復(fù), 導(dǎo)致系統(tǒng)的輸出不滿足用戶要求,稱為軟件的一次失效。61第61頁(yè),共142頁(yè)。以上定義的故障、錯(cuò)誤和失效,分別代表了廣義的“錯(cuò)誤”在不同的條件下所對(duì)應(yīng)的術(shù)語(yǔ)。它們可以理解為:設(shè)計(jì)者的失誤導(dǎo)致系統(tǒng)中留有錯(cuò)誤的設(shè)計(jì)缺陷或“故障”(fault),這些故障導(dǎo)致系統(tǒng)的錯(cuò)誤執(zhí)行錯(cuò)誤(error),由于錯(cuò)誤導(dǎo)致系統(tǒng)的錯(cuò)誤輸出失效(failure)。62第62頁(yè),共142頁(yè)。故障是

22、物理地或靜態(tài)地存在的失誤、錯(cuò)誤和失效都是系統(tǒng)的一種動(dòng)態(tài)的轉(zhuǎn)瞬即逝的現(xiàn)象軟件發(fā)生失效標(biāo)志著軟件一次使用壽命的結(jié)束發(fā)生過(guò)失效的軟件通常仍然是可用的。只有當(dāng)軟件頻繁失效,或者公認(rèn)已經(jīng)“過(guò)時(shí)”了的時(shí)侯,軟件才被廢棄,意味著當(dāng)前這一版本軟件使用壽命的終結(jié)。63第63頁(yè),共142頁(yè)。軟件故障產(chǎn)生原因支持軟件工作的基本條件(除硬件外的操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、編譯程序、微代碼等)的缺陷軟件設(shè)計(jì)不當(dāng)加入了允許范圍之外的輸入64第64頁(yè),共142頁(yè)。軟件可靠性的定義軟件可靠性是軟件在給定的時(shí)間間隔及給定的環(huán)境條件下,按設(shè)計(jì)要求,成功地運(yùn)行程序的概率。環(huán)境條件指的是軟件的使用環(huán)境。無(wú)論是什么軟件,如果不對(duì)它的使用

23、環(huán)境加以限制,都是會(huì)失效的。這種失效的數(shù)據(jù),不能用來(lái)度量軟件的可靠性。65第65頁(yè),共142頁(yè)。規(guī)定的時(shí)間在定義中,一般采用“運(yùn)行時(shí)間” t 作為時(shí)間的尺度。因 具體要處理的問(wèn)題是多種多樣的 其對(duì)應(yīng)的輸入環(huán)境是隨機(jī) 程序中相應(yīng)程序路徑的選取也是隨機(jī)的 軟件的失效也是隨機(jī)的應(yīng)當(dāng)把運(yùn)行時(shí)間t當(dāng)作隨機(jī)變量來(lái)考慮。66第66頁(yè),共142頁(yè)。規(guī)定的功能在考慮軟件可靠性時(shí),首先應(yīng)當(dāng)明確軟件的功能是什么,哪些功能是主要的,哪些功能是次要的。一般從軟件需求分析說(shuō)明書(shū)和設(shè)計(jì)說(shuō)明書(shū)中可以了解這些情況。 由于功能不同,失效帶來(lái)的損失就不一樣。因此,還要明確哪些失效是致命的,哪些失效是非致命的,哪些又是容易修復(fù)的。此

24、外,還要明確,怎樣才算是完成了一個(gè)規(guī)定的功能。67第67頁(yè),共142頁(yè)。成功地運(yùn)行程序是指不僅程序能正確地運(yùn)行,滿足用戶對(duì)它的功能要求, 而且當(dāng)程序一旦受到意外的傷害,或系統(tǒng)故障時(shí),能盡快恢復(fù),仍能正常地運(yùn)行。68第68頁(yè),共142頁(yè)。測(cè)試中的可靠性分析在軟件開(kāi)發(fā)的過(guò)程中,利用測(cè)試的統(tǒng)計(jì)數(shù)據(jù),估算軟件的可靠性,以控制軟件的質(zhì)量是至關(guān)重要的。推測(cè)錯(cuò)誤的產(chǎn)生頻度,即推測(cè)錯(cuò)誤產(chǎn)生的時(shí)間間隔推測(cè)殘留在程序中的錯(cuò)誤數(shù)評(píng)價(jià)測(cè)試的精確度和覆蓋率69第69頁(yè),共142頁(yè)。推測(cè)錯(cuò)誤的產(chǎn)生頻度估算錯(cuò)誤產(chǎn)生頻度的一種方法是估算平均失效等待時(shí)間MTTF (Mean Time To Failure)MTTF估算公式(S

25、hooman模型)70第70頁(yè),共142頁(yè)。故障累積指數(shù)曲線模型71第71頁(yè),共142頁(yè)。估算軟件中故障總數(shù)ET 的方法利用Shooman模型估算程序中原來(lái)錯(cuò)誤總量ET 瞬間估算72第72頁(yè),共142頁(yè)。解此方程組73第73頁(yè),共142頁(yè)。利用最小二乘法進(jìn)行程序原有錯(cuò)誤數(shù)ET及K的估算由失效率 整理得 若對(duì)程序進(jìn)行若干次不同的功能測(cè)試,可得到一系列實(shí)驗(yàn)數(shù)據(jù)74第74頁(yè),共142頁(yè)。 Ec ( ti ), ( ti ), i = 1, 2, , n令 有75第75頁(yè),共142頁(yè)。用最小二乘法解此方程組,可解出a、b的估計(jì)值最后得到 K, ET 的估計(jì)值利用植入故障法估算程序中原有故障總數(shù)ET 捕

26、獲再捕獲抽樣法76第76頁(yè),共142頁(yè)。設(shè)Ns 是在測(cè)試前人為地向程序中植入的故障數(shù),ns 是經(jīng)過(guò)一段時(shí)間測(cè)試后發(fā)現(xiàn)的播種故障數(shù)目,n 是在測(cè)試中又發(fā)現(xiàn)的程序原有故障數(shù)。設(shè)測(cè)試用例發(fā)現(xiàn)植入故障和原有故障的能力相同,則程序中原有故障總數(shù) N ( =ET )估算值為77第77頁(yè),共142頁(yè)。Hyman分別測(cè)試法由兩個(gè)測(cè)試員同時(shí)互相獨(dú)立地測(cè)試同一程序的兩個(gè)副本,用 t 表示測(cè)試時(shí)間,記 t0時(shí),程序中原有故障總數(shù)是 B0;tt1 時(shí),測(cè)試員甲發(fā)現(xiàn)的故障總數(shù)是 B1;測(cè)試員乙發(fā)現(xiàn)的故障總數(shù)是 B2;其中兩人發(fā)現(xiàn)的相同故障數(shù)目是 bc;兩人發(fā)現(xiàn)的不同故障數(shù)目是 bi。78第78頁(yè),共142頁(yè)。在大程序測(cè)

27、試時(shí),頭幾個(gè)月兩個(gè)測(cè)試員測(cè)試的結(jié)果應(yīng)當(dāng)比較接近,bi 不是很大。這時(shí)有如果bi比較顯著,應(yīng)當(dāng)每隔一段時(shí)間,由兩個(gè)測(cè)試員再進(jìn)行分別測(cè)試,分析測(cè)試結(jié)果,估算B0。如果bi減小,或幾次估算值的結(jié)果相差不多,則B0作為原有錯(cuò)誤總數(shù)的估算值。79第79頁(yè),共142頁(yè)。測(cè)試精確度和測(cè)試覆蓋度的評(píng)價(jià)在軟件測(cè)試過(guò)程中累積發(fā)現(xiàn)的故障數(shù),可用帶有平均值函數(shù) m(t) 的非齊次泊松過(guò)程(NHPP)來(lái)描述:其中,N是在測(cè)試中可能發(fā)現(xiàn)的故障總數(shù),b是故障發(fā)現(xiàn)率。當(dāng)N一定時(shí),b越大,在短期內(nèi)發(fā)現(xiàn)的故障越多。80第80頁(yè),共142頁(yè)。81第81頁(yè),共142頁(yè)。N 可以認(rèn)為是當(dāng)測(cè)試時(shí)間無(wú)限延長(zhǎng)時(shí)估計(jì)可能發(fā)現(xiàn)的故障總數(shù)。由于

28、測(cè)試的不完全,在某些很難發(fā)現(xiàn)的故障未發(fā)現(xiàn)前就可能結(jié)束測(cè)試 若程序中潛在的故障較少,則參數(shù)N的估計(jì)誤差較大因此,只用測(cè)試中累積發(fā)現(xiàn)的故障數(shù)來(lái)評(píng)價(jià)測(cè)試是不夠的。需要從測(cè)試的量的方面和質(zhì)的方面,全面地評(píng)價(jià)測(cè)試。82第82頁(yè),共142頁(yè)。SPQL (Software Product Quality Level) 用如下公式度量: SPQL AcCv其中,Ac (Test Accuracy) 是測(cè)試的精確度,它反映了測(cè)試的質(zhì)量;Cv (Test Coveragy) 是測(cè)試的覆蓋度,它反映了測(cè)試的數(shù)量。測(cè)試結(jié)束時(shí)軟件產(chǎn)品質(zhì)量水準(zhǔn)83第83頁(yè),共142頁(yè)。測(cè)試質(zhì)量的度量可以靠測(cè)試的故障捕捉率和遺漏率來(lái)衡量。

29、測(cè)試數(shù)量的度量指標(biāo)是執(zhí)行的測(cè)試用例數(shù)、確認(rèn)的程序路徑數(shù)等等;84第84頁(yè),共142頁(yè)。測(cè)試精確度Ac表明在測(cè)試的過(guò)程中以多大的把握捕捉了軟件中潛在的故障。測(cè)定Ac,需要預(yù)先植入播種故障,然后通過(guò)測(cè)試,根據(jù)播種故障的捕捉率來(lái)推測(cè)原有故障的捕獲率。85第85頁(yè),共142頁(yè)。用ns 表示經(jīng)過(guò)相當(dāng)長(zhǎng)時(shí)間測(cè)試可能發(fā)現(xiàn)的播種故障數(shù),用Ns 表示測(cè)試對(duì)象軟件內(nèi)預(yù)先埋設(shè)的播種故障總數(shù),用平均值為m(t)的NHPP模型描述測(cè)試時(shí)發(fā)現(xiàn)播種故障的過(guò)程m(t)的收斂值 m()N測(cè)試精確度Ac的推測(cè)值:86第86頁(yè),共142頁(yè)。若設(shè)測(cè)試過(guò)程中到時(shí)刻 ti 能發(fā)現(xiàn)的累積播種故障總數(shù)為 yi ,則在測(cè)試期間可得到一連串?dāng)?shù)據(jù)

30、 (t0, 0), (t1, y1), , (tm, ym)可得到一組方程:應(yīng)用最小二乘法可得到參數(shù)N 與 b的估計(jì)值,并得到測(cè)試精確度Ac。87第87頁(yè),共142頁(yè)。測(cè)試覆蓋率Cv表明在整個(gè)測(cè)試期間發(fā)現(xiàn)軟件內(nèi)潛在故障的可能性有多大??赏ㄟ^(guò)被測(cè)試對(duì)象軟件內(nèi)潛在的原有故障的捕捉率來(lái)測(cè)定的。88第88頁(yè),共142頁(yè)。測(cè)試過(guò)程中已發(fā)現(xiàn)原有故障總數(shù)為 n0(實(shí)測(cè)值),經(jīng)過(guò)相當(dāng)長(zhǎng)時(shí)間測(cè)試后可能發(fā)現(xiàn)的原有故障總數(shù)為N0,采用平均值函數(shù)m(t)的NHPP模型描述測(cè)試發(fā)現(xiàn)原有故障的過(guò)程m(t)的收斂值m()Nc測(cè)試覆蓋率Cv的推測(cè)值:89第89頁(yè),共142頁(yè)。 測(cè)試開(kāi)始后,由于測(cè)試員對(duì)程序和測(cè)試環(huán)境不熟悉,造

31、成拖期。為描述這種情形,對(duì)原來(lái)NHPP的指數(shù)型平均值函數(shù)加以改造:它是把原來(lái)的指數(shù)型平均值函數(shù)在時(shí)間軸上平移而得到的結(jié)果,是具有時(shí)間延遲的NHPP模型。90第90頁(yè),共142頁(yè)。91第91頁(yè),共142頁(yè)。測(cè)試員從發(fā)現(xiàn)錯(cuò)誤征兆到確認(rèn)錯(cuò)誤,需要反復(fù)執(zhí)行程序,以再現(xiàn)錯(cuò)誤,造成時(shí)間拖延。因此,在使用測(cè)試結(jié)果進(jìn)行軟件質(zhì)量評(píng)價(jià)時(shí),只用指數(shù)型的NHPP的平均值曲線(A)是不夠的。實(shí)測(cè)結(jié)果多是如(B)所示的S型曲線。92第92頁(yè),共142頁(yè)。實(shí)驗(yàn)表明: 對(duì)于一般功能單純的小規(guī)模的程序模塊,具有時(shí)間延遲的NHPP模型比較合適; 對(duì)于功能比較復(fù)雜的程序模塊,S型NHPP模型比較合適; 對(duì)于80000行以上的程序,

32、最基本的指數(shù)型NHPP模型比較合適。93第93頁(yè),共142頁(yè)。軟件配置管理在軟件建立時(shí)變更是不可避免的,因?yàn)樵谶M(jìn)行變更前沒(méi)有仔細(xì)分析,或沒(méi)有進(jìn)行變更控制,變更加劇了項(xiàng)目中軟件人員之間的混亂。協(xié)調(diào)軟件開(kāi)發(fā)使得混亂減到最小的技術(shù)叫做配置管理。配置管理是一組標(biāo)識(shí)、組織和控制修改的活動(dòng),目的是使錯(cuò)誤達(dá)到最小并最有效地提高生產(chǎn)率。94第94頁(yè),共142頁(yè)。軟件配置管理的概念軟件配置管理,簡(jiǎn)稱SCM,是一種“保護(hù)傘”活動(dòng),它應(yīng)用于整個(gè)軟件工程過(guò)程。SCM活動(dòng)的目標(biāo)是為了 (1) 標(biāo)識(shí)變更; (2) 控制變更; (3) 確保變更正確地實(shí)現(xiàn); (4) 向其他有關(guān)的人報(bào)告變更。95第95頁(yè),共142頁(yè)。在軟件工

33、程過(guò)程中產(chǎn)生的所有信息項(xiàng)(文檔、報(bào)告、程序、表格、數(shù)據(jù))構(gòu)成了軟件配置。軟件配置是軟件的具體形態(tài)在某一時(shí)刻的瞬時(shí)影像。隨著軟件工程過(guò)程的進(jìn)展,軟件配置項(xiàng)(SCI)數(shù)目快速增加。系統(tǒng)規(guī)格說(shuō)明可繁衍出軟件項(xiàng)目實(shí)施計(jì)劃和軟件需求規(guī)格說(shuō)明。它們又依次繁衍出建立信息層次的其它文檔。96第96頁(yè),共142頁(yè)?;€ (Baseline)基線是軟件生存期中各開(kāi)發(fā)階段末尾的特定點(diǎn),又稱里程碑。由正式的技術(shù)評(píng)審而得到的SCI協(xié)議和軟件配置的正式文本才能成為基線?;€的作用是把各階段工作的劃分更加明確化,以便于檢驗(yàn)和肯定階段成果。97第97頁(yè),共142頁(yè)。軟件開(kāi)發(fā)各階段的基線98第98頁(yè),共142頁(yè)。項(xiàng)目數(shù)據(jù)庫(kù)一旦

34、一個(gè)SCI成為基線,就把它存放到項(xiàng)目數(shù)據(jù)庫(kù)中。當(dāng)軟件組織成員想要對(duì)基線SCI進(jìn)行修改時(shí),把它從項(xiàng)目數(shù)據(jù)庫(kù)中復(fù)制到該工程師的專用工作區(qū)中。例如,把一個(gè)名為B的SCI從項(xiàng)目數(shù)據(jù)庫(kù)復(fù)制到工程師的專用工作區(qū)中。工程師在B(B的副本)上完成要求的變更,再用B來(lái)更新B。99第99頁(yè),共142頁(yè)。有些系統(tǒng)中把這個(gè)基線SCI鎖定。在變更完成、評(píng)審和批準(zhǔn)之前,不許對(duì)它做任何操作。100第100頁(yè),共142頁(yè)?;€SCI和項(xiàng)目數(shù)據(jù)庫(kù)101第101頁(yè),共142頁(yè)。軟件配置項(xiàng) SCI軟件配置管理的對(duì)象就是SCI軟件配置項(xiàng)。 系統(tǒng)規(guī)格說(shuō)明 軟件項(xiàng)目實(shí)施計(jì)劃 軟件需求說(shuō)明 可執(zhí)行的原型 初步的用戶手冊(cè) 設(shè)計(jì)規(guī)格說(shuō)明102

35、第102頁(yè),共142頁(yè)。 源代碼清單 測(cè)試計(jì)劃和過(guò)程、測(cè)試用例和測(cè)試結(jié)果記錄 操作和安裝手冊(cè) 可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊) 數(shù)據(jù)庫(kù)描述(模式和文件結(jié)構(gòu)、初始內(nèi)容) 正式的用戶手冊(cè) 維護(hù)文檔(軟件問(wèn)題報(bào)告、維護(hù)請(qǐng)求、工程變更次序)103第103頁(yè),共142頁(yè)。軟件工程標(biāo)準(zhǔn)項(xiàng)目開(kāi)發(fā)總結(jié)除以上所列SCI以外,許多軟件工程組織還把配置控制之下的軟件工具列入其中,即編輯程序、編譯程序、其它CASE工具的特定版本。因?yàn)橐褂眠@些工具來(lái)生成文檔、程序和數(shù)據(jù),如果編譯程序的版本不同,可能產(chǎn)生的結(jié)果也不同。104第104頁(yè),共142頁(yè)。配置對(duì)象在實(shí)現(xiàn)SCM時(shí),把SCI組織成配置對(duì)象,在項(xiàng)目數(shù)據(jù)庫(kù)中用一

36、個(gè)單一的名字來(lái)組織它們。一個(gè)配置對(duì)象有一個(gè)名字和一組屬性,并通過(guò)某些聯(lián)系“連接”到其它對(duì)象。每個(gè)對(duì)象與其它對(duì)象的聯(lián)系用箭頭表示。箭頭指明了一種構(gòu)造關(guān)系。105第105頁(yè),共142頁(yè)。配置對(duì)象106第106頁(yè),共142頁(yè)。雙向箭頭則表明一種相互關(guān)系。如果對(duì)“源代碼”對(duì)象作了一個(gè)變更,軟件工程師就可以根據(jù)這種相互關(guān)系確定,其它哪些對(duì)象(和SCI)可能受到影響。107第107頁(yè),共142頁(yè)。軟件配置管理的任務(wù)軟件配置管理(SCM)的任務(wù)是: 標(biāo)識(shí)單個(gè)的SCI 標(biāo)識(shí)和管理軟件各種版本 控制變更 審查軟件配置 報(bào)告所有加在配置上的變更。108第108頁(yè),共142頁(yè)。配置標(biāo)識(shí)一方面隨著軟件生存期的向前推進(jìn)

37、,SCI的數(shù)量不斷增多。整個(gè)軟件生存期的軟件配置就象一部不斷演變的電影,而某一時(shí)刻的配置就是這部電影的一個(gè)片段。為了方便對(duì)軟件配置的各個(gè)片段(SCI)進(jìn)行控制和管理,不致造成混亂,首先應(yīng)給它們命名。109第109頁(yè),共142頁(yè)。對(duì)象類型基本對(duì)象:是由軟件工程師在分析、設(shè)計(jì)、編碼和測(cè)試時(shí)所建立的文本單元。例如,基本對(duì)象可能是需求規(guī)格說(shuō)明中的一節(jié),一個(gè)模塊的源程序清單、一組用來(lái)測(cè)試一個(gè)等價(jià)類的測(cè)試用例。復(fù)合對(duì)象:是基本對(duì)象或其它復(fù)合對(duì)象的一個(gè)收集。110第110頁(yè),共142頁(yè)。對(duì)象標(biāo)識(shí): (名字、描述、資源、實(shí)現(xiàn))對(duì)象的名字明確地標(biāo)識(shí)對(duì)象。對(duì)象描述包括:SCI類型(如文檔、程序、數(shù)據(jù))、項(xiàng)目標(biāo)識(shí)、

38、變更和或版本信息。資源包括由對(duì)象產(chǎn)生的、處理的、引用的或其它需要的一些實(shí)體。基本對(duì)象的實(shí)現(xiàn)是指向文本單元的指針,復(fù)合對(duì)象的實(shí)現(xiàn)為null。111第111頁(yè),共142頁(yè)。命名對(duì)象之間的聯(lián)系對(duì)象的層次關(guān)系:一個(gè)對(duì)象可以是一個(gè)復(fù)合對(duì)象的一個(gè)組成部分,用聯(lián)系標(biāo)識(shí)。 E-R diagram 1.4 data model; data model Design Specification;就可以建立SCI的一個(gè)層次。112第112頁(yè),共142頁(yè)。對(duì)象的相互關(guān)聯(lián)關(guān)系:對(duì)象跨越對(duì)象層次的分支相互關(guān)聯(lián)。這些交叉的結(jié)構(gòu)聯(lián)系表達(dá)方式如下: data model data flow model; (兩個(gè)復(fù)合對(duì)象之間的相

39、互聯(lián)系) data model test case class m; (一個(gè)復(fù)合對(duì)象與一個(gè)特定的基本對(duì)象之間的相互聯(lián)系)113第113頁(yè),共142頁(yè)。演變圖整個(gè)軟件工程過(guò)程中所涉及的軟件對(duì)象都必須加以標(biāo)識(shí)。在對(duì)象成為基線以前可能要做多次變更,在成為基線之后也可能需要頻繁地變更。對(duì)于每一配置對(duì)象都可以建立一個(gè)演變圖,用演變圖記敘對(duì)象的變更歷史。114第114頁(yè),共142頁(yè)。演變圖115第115頁(yè),共142頁(yè)。在某些工具中,當(dāng)前保持的只是最后版本的完全副本。為了得到較早時(shí)期(文檔或程序)的版本,可以從最后版本中“提取”出(由工具編目的)變更,使得當(dāng)前配置直接可用,并使得其它版本也可用。116第11

40、6頁(yè),共142頁(yè)。版本控制版本控制是SCM的基礎(chǔ),它管理并保護(hù)開(kāi)發(fā)者的軟件資源。版本控制管理在軟件工程過(guò)程中建立起配置對(duì)象的不同版本。版本管理可以把一些屬性結(jié)合到各個(gè)軟件版本上。通過(guò)描述所希望的屬性集合來(lái)確定(或構(gòu)造)所想要的配置。使用演變圖來(lái)表示系統(tǒng)的不同版本。117第117頁(yè),共142頁(yè)。118第118頁(yè),共142頁(yè)。圖中的各個(gè)結(jié)點(diǎn)都是聚合對(duì)象,是一個(gè)完全的軟件版本。軟件的每一版本都是SCI(源代碼、文檔、數(shù)據(jù))的一個(gè)收集,且各個(gè)版本都可能由不同的變種組成。例如,一個(gè)簡(jiǎn)單的程序版本由1、2、3、4和5等部件組成。其中部件4在軟件使用彩色顯示器時(shí)使用,部件5在軟件使用單色顯示器時(shí)使用。因此,

41、可以定義版本的兩個(gè)變種。119第119頁(yè),共142頁(yè)。版本管理的主要任務(wù)集中管理檔案,安全授權(quán)機(jī)制: 版本管理的操作將開(kāi)發(fā)組的檔案集中地存放在服務(wù)器上,經(jīng)系統(tǒng)管理員授權(quán)給各個(gè)用戶。 用戶通過(guò)登入(check in)和檢出(check out)的方式訪問(wèn)服務(wù)器上的文件,未經(jīng)授權(quán)的用戶無(wú)法訪問(wèn)服務(wù)器上的文件。120第120頁(yè),共142頁(yè)。121第121頁(yè),共142頁(yè)。軟件版本升級(jí)管理: 每次登入時(shí),在服務(wù)器上都會(huì)生成新的版本。 任何版本都可以隨時(shí)檢出編輯,同一應(yīng)用的不同版本可以像樹(shù)枝一樣向上增長(zhǎng)。122第122頁(yè),共142頁(yè)。123第123頁(yè),共142頁(yè)。加鎖功能: 目的是在文件更新時(shí)保護(hù)文件,避

42、免不同用戶更改同一文件時(shí)發(fā)生沖突。 某一文件一旦被登入,鎖即被解除,該文件可被其它用戶使用。 在更新一個(gè)文件之前鎖定它,避免變更沒(méi)有鎖定的項(xiàng)目源文件。124第124頁(yè),共142頁(yè)。在文件登入和檢出時(shí),需要注意登入和檢出的使用: 當(dāng)需要修改某個(gè)小缺陷時(shí),應(yīng)只檢出完成工作必需的最少文件; 需要對(duì)文件變更時(shí),應(yīng)登入它并加鎖,保留對(duì)每個(gè)變更的記錄; 應(yīng)避免長(zhǎng)時(shí)間地鎖定文件。如果需要長(zhǎng)時(shí)間工作于某個(gè)文件,最好能創(chuàng)建一個(gè)分支,并在分支上做工作。125第125頁(yè),共142頁(yè)。 如果需要做較大的變更,可有兩種選擇: a.將需要的所有文件檢出并加鎖,然后正常處理; b.為需要修改的所有分支創(chuàng)建分支,把變更與主干

43、“脫機(jī)”,然后把結(jié)果合并回去。126第126頁(yè),共142頁(yè)。變更控制軟件生存期內(nèi)全部的軟件配置是軟件產(chǎn)品的真正代表,必須使其保持精確。軟件工程過(guò)程中某一階段的變更,均要引起軟件配置的變更,這種變更必須嚴(yán)格加以控制和管理,保持修改信息。變更控制包括建立控制點(diǎn)和建立報(bào)告與審查制度。127第127頁(yè),共142頁(yè)。變更控制過(guò)程128第128頁(yè),共142頁(yè)。129第129頁(yè),共142頁(yè)。在此過(guò)程中,首先用戶提交書(shū)面的變更請(qǐng)求,詳細(xì)申明變更的理由、變更方案、變更的影響范圍等。然后由變更控制機(jī)構(gòu)確定控制變更的機(jī)制、評(píng)價(jià)其技術(shù)價(jià)值、潛在的副作用、對(duì)其它配置對(duì)象和系統(tǒng)功能的綜合影響以及項(xiàng)目的開(kāi)銷(xiāo)、并把評(píng)價(jià)的結(jié)果以變更報(bào)告的形式提交給變更控制負(fù)責(zé)人(最終決定變更狀態(tài)和優(yōu)先權(quán)的某個(gè)人或小組)。130第130頁(yè),共142頁(yè)。對(duì)每個(gè)批準(zhǔn)了的變更產(chǎn)生一個(gè)工程變更順序(ECO),描述進(jìn)行的變更、必須考慮的約束、評(píng)審和審計(jì)的準(zhǔn)則等。要做變更的對(duì)象從項(xiàng)目數(shù)據(jù)庫(kù)中檢出(check out),對(duì)其做出變更,并實(shí)施適當(dāng)?shù)馁|(zhì)量保證活動(dòng)。然后再把對(duì)象登入(check in)到數(shù)據(jù)庫(kù)中并

溫馨提示

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