2023年軟件設(shè)計(jì)師專(zhuān)題七軟件工程專(zhuān)題_第1頁(yè)
2023年軟件設(shè)計(jì)師專(zhuān)題七軟件工程專(zhuān)題_第2頁(yè)
2023年軟件設(shè)計(jì)師專(zhuān)題七軟件工程專(zhuān)題_第3頁(yè)
2023年軟件設(shè)計(jì)師專(zhuān)題七軟件工程專(zhuān)題_第4頁(yè)
2023年軟件設(shè)計(jì)師專(zhuān)題七軟件工程專(zhuān)題_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

專(zhuān)題七:軟件工程專(zhuān)題1、軟件工程知識(shí)1.1概述軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來(lái)解決軟件問(wèn)題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、減低軟件成本。軟件工程是1968年在德國(guó)的NATO會(huì)議上提出的,希望用工程化的原則和方法來(lái)克服軟件危機(jī);而軟件危機(jī)就是軟件開(kāi)發(fā)和維護(hù)過(guò)程中的各種問(wèn)題,由于軟件開(kāi)發(fā)階段缺少好的方法的指導(dǎo)和好的工具的輔助,并且缺少有關(guān)的文檔,使得大量的軟件難以維護(hù)。軟件生命周期是指由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)等階段組成的全過(guò)程,反映軟件生存期內(nèi)各種工作得組織以及各個(gè)階段如何銜接。下表歸納了軟件生存周期各個(gè)階段的任務(wù)、參與人員和產(chǎn)生文檔。

常見(jiàn)的軟件開(kāi)發(fā)模型有瀑布模型、演化模型、螺旋模型和噴泉模型等。

階段任務(wù)參與人員產(chǎn)生文檔軟件定義階段——待開(kāi)發(fā)軟件要“做什么”系統(tǒng)分析擬定待開(kāi)發(fā)軟件的總體規(guī)定和合用范圍,以及與之有關(guān)的硬件、支撐軟件的規(guī)定用戶(hù)、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員可合并項(xiàng)目計(jì)劃書(shū)中軟件項(xiàng)目計(jì)劃擬定待開(kāi)發(fā)軟件的目的,對(duì)其進(jìn)行可行性分析,并對(duì)資源分派、進(jìn)度安排等做出合理的計(jì)劃用戶(hù)、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員可行性分析報(bào)告、項(xiàng)目計(jì)劃書(shū)需求分析擬定待開(kāi)發(fā)軟件的功能、性能、界面等規(guī)定,從而擬定系統(tǒng)的邏輯模型用戶(hù)、項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員需求規(guī)格說(shuō)明書(shū)軟件開(kāi)發(fā)階段——待開(kāi)發(fā)軟件“怎么做”軟件設(shè)計(jì)概要設(shè)計(jì)模塊分解,擬定軟件的結(jié)構(gòu),模塊的功能和模塊間的接口,以及全局?jǐn)?shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)系統(tǒng)分析員、高級(jí)程序員設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)說(shuō)明書(shū)、模塊開(kāi)發(fā)卷宗具體設(shè)計(jì)設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)高級(jí)程序員、程序員編碼用某種程序語(yǔ)言為每個(gè)模塊編寫(xiě)程序高級(jí)程序員、程序員程序清單軟件測(cè)試發(fā)現(xiàn)軟件中的錯(cuò)誤,并加以糾正高級(jí)程序員或系統(tǒng)分析員(另一部門(mén)或單位)軟件測(cè)試計(jì)劃、軟件測(cè)試用例說(shuō)明,軟件測(cè)試報(bào)告軟件維護(hù)階段—開(kāi)發(fā)后交付使用的軟件的維護(hù)軟件維護(hù)使軟件適應(yīng)外界環(huán)境的變化、實(shí)現(xiàn)功能的擴(kuò)充和質(zhì)量的改善而修改軟件維護(hù)人員維護(hù)計(jì)劃、維護(hù)報(bào)告軟件由計(jì)算機(jī)程序、數(shù)據(jù)及文檔組成,同時(shí)與硬件、數(shù)據(jù)庫(kù)人、過(guò)程等共同構(gòu)成計(jì)算機(jī)系統(tǒng)。軟件工程涉及三個(gè)要素:方法、工具和過(guò)程。重要的軟件開(kāi)發(fā)方法有以下幾種方法:生命周期法:命周期法認(rèn)為:每一個(gè)軟件系統(tǒng)都有一定的生命周期。軟件的生命周期是指一個(gè)軟件系統(tǒng)從其提出、調(diào)查到分析、設(shè)計(jì)和有效使用,直至被淘汰或取代的整個(gè)期間。軟件生命周期法就是按軟件生命周期的各個(gè)階段劃分任務(wù),按一定的規(guī)則和環(huán)節(jié),有效地進(jìn)行軟件開(kāi)發(fā)的方法。通常一個(gè)軟件系統(tǒng)的生命周期可分為五個(gè)階段:準(zhǔn)備階段、分析階段、設(shè)計(jì)階段、實(shí)行階段、運(yùn)營(yíng)與維護(hù)階段原型法:原型法是先根據(jù)用戶(hù)的最重要規(guī)定,開(kāi)發(fā)出能實(shí)現(xiàn)系統(tǒng)最基本功能的一個(gè)原型,再根據(jù)用戶(hù)對(duì)原型使用與評(píng)價(jià)的意見(jiàn),反復(fù)修改完善原型,直到等到用戶(hù)滿(mǎn)意的最終系統(tǒng)為止。原型法分4個(gè)階段:擬定用戶(hù)需求;設(shè)計(jì)原型;使用、評(píng)價(jià)原型;修改、完善原型。1.2軟件分析

軟件開(kāi)發(fā)模型:瀑布模型;演化模型(原型法);螺旋模型;噴泉模型(迭代和無(wú)間隙);軟件成本模型;可行性分析的任務(wù)是從技術(shù)上、經(jīng)濟(jì)上、使用上、法律上分析需解決的問(wèn)題是否存在可行的解。

需求分析是軟件生存周期中相稱(chēng)重要的一個(gè)階段。需求分析重要是擬定待開(kāi)發(fā)軟件的功能、性能、數(shù)據(jù)、界面等規(guī)定。具體有以下幾點(diǎn):

擬定軟件系統(tǒng)的綜合規(guī)定

分析軟件系統(tǒng)的數(shù)據(jù)規(guī)定

導(dǎo)出系統(tǒng)的邏輯模型

修正項(xiàng)目開(kāi)發(fā)計(jì)劃

如有必要,可開(kāi)發(fā)一個(gè)原型系統(tǒng)

需求分析的基本原則是可以表達(dá)和理解問(wèn)題的信息域和功能域;以層次化的方式進(jìn)行分解和不斷細(xì)化;要給出系統(tǒng)的邏輯視圖和物理視圖;描述軟件需求的方法:功能層次模型:一般來(lái)講就是系統(tǒng)的功能圖,模塊分布圖等描述整個(gè)系統(tǒng)的功能的分布和功能的層次結(jié)構(gòu);數(shù)據(jù)流模型:就是以數(shù)據(jù)流為著眼點(diǎn)的分析方法得到的模型,重要通過(guò)數(shù)據(jù)在整個(gè)系統(tǒng)的流動(dòng)情況來(lái)擬定系統(tǒng)的重要功能主線和流程;控制流模型:通過(guò)了解和界定系統(tǒng)中控制線,通過(guò)控制流的走向和控制的對(duì)象來(lái)擬定系統(tǒng)的功能分布和控制與被控制的關(guān)系;結(jié)構(gòu)化分析(SA)方法是一種面向數(shù)據(jù)流的需求分析方法,它合用于分析大型數(shù)據(jù)解決系統(tǒng)。結(jié)構(gòu)化分析方法的基本思想是自頂向下逐層分解,這樣做可以把一個(gè)大問(wèn)題分解成若干個(gè)小問(wèn)題,通過(guò)多次逐層分解,每個(gè)最底層的問(wèn)題都是足夠簡(jiǎn)樸、容易解決的,這個(gè)過(guò)程就是分解的過(guò)程。結(jié)構(gòu)化方法的分析結(jié)果由數(shù)據(jù)流圖DFD、數(shù)據(jù)詞典和加工邏輯說(shuō)明幾個(gè)部分組成。其中,DFD的基本成分有數(shù)據(jù)流(dataflow)、加工(process)、文獻(xiàn)(file)和源/宿(source/sink)。

畫(huà)數(shù)據(jù)流圖的基本環(huán)節(jié):自外向內(nèi)、自頂向下、逐層細(xì)化、完善求精;

數(shù)據(jù)流圖的父圖與子圖要平衡,即輸入和輸出的數(shù)據(jù)流一致;

數(shù)據(jù)流圖中的每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流;

局部的數(shù)據(jù)存儲(chǔ)不畫(huà)出來(lái),只有當(dāng)局部數(shù)據(jù)存儲(chǔ)作為某些數(shù)據(jù)加工之間的數(shù)據(jù)接口才畫(huà)出,這有助于信息隱蔽;

畫(huà)數(shù)據(jù)流的時(shí)候不畫(huà)控制流,兩者的區(qū)別就是控制流中沒(méi)有數(shù)據(jù);

一個(gè)加工的數(shù)據(jù)流與輸出流不應(yīng)當(dāng)同名;

允許一個(gè)加工有多條數(shù)據(jù)流流向另一個(gè)加工,也允許一個(gè)加工有兩個(gè)相同的輸出流向兩個(gè)不同的加工;

保持?jǐn)?shù)據(jù)守恒:一個(gè)加工的所有輸出數(shù)據(jù)必須能從該加工的所有的輸入流中獲得;

在整套數(shù)據(jù)流圖中,每個(gè)文獻(xiàn)都必須既有讀文獻(xiàn)的數(shù)據(jù)流也有寫(xiě)文獻(xiàn)的數(shù)據(jù)流;軟件開(kāi)發(fā)過(guò)程中的軟件工程原則(8個(gè)):

抽象;

自頂向下、逐層細(xì)化;

信息隱蔽和數(shù)據(jù)封裝;

模塊化;

局部化;

擬定性;

一致性和標(biāo)準(zhǔn)化;

完備性和可驗(yàn)證性;軟件工程基本原理(7個(gè)):

按軟件生存周期分階段指定計(jì)劃并認(rèn)真實(shí)行;

堅(jiān)持進(jìn)行階段評(píng)審;

堅(jiān)持嚴(yán)格的產(chǎn)品控制;

使用現(xiàn)代程序設(shè)計(jì)技術(shù);

明確責(zé)任,使得工作結(jié)果可以得到清楚的審查;

用人少而精;

不斷改善開(kāi)發(fā)過(guò)程;1.3軟件設(shè)計(jì)軟件設(shè)計(jì)原則:軟件設(shè)計(jì)的原則對(duì)提高軟件的設(shè)計(jì)質(zhì)量有很大的幫助?!舫橄蟪橄笫侵负鲆曇粋€(gè)主題中與當(dāng)前目的無(wú)關(guān)的那些方面,以便更充足地注意與當(dāng)前目的有關(guān)的方面。過(guò)程抽象和數(shù)據(jù)抽象是常用的兩種重要抽象手段。◆模塊化模塊化是指將一個(gè)待開(kāi)發(fā)的軟件分解成若干個(gè)小的簡(jiǎn)樸的部分——模塊,每個(gè)模塊可獨(dú)立地開(kāi)發(fā)、測(cè)試、最后組裝成完整的軟件。這是一種復(fù)雜問(wèn)題的“分而治之”的原則。模塊是指執(zhí)行某一特定任務(wù)的數(shù)據(jù)結(jié)構(gòu)和程序代碼。一個(gè)模塊有它的外部特性和內(nèi)部特性。◆信息隱蔽信息隱蔽是開(kāi)發(fā)整體程序結(jié)構(gòu)時(shí)使用的法則,即將每個(gè)程序的成分隱蔽或封裝在一個(gè)單一的設(shè)計(jì)模塊中,定義每一個(gè)模塊時(shí)盡也許少地顯露其內(nèi)部的解決。信息隱蔽原則對(duì)提高軟件的可修改性、可測(cè)試性和可移植性都有重要的作用?!裟K獨(dú)立模塊獨(dú)立是指每個(gè)模塊完畢一個(gè)相對(duì)獨(dú)立的子功能,并且與其他模塊之間的聯(lián)系簡(jiǎn)樸。衡量模塊獨(dú)立限度的度量標(biāo)準(zhǔn)有兩個(gè):耦合和內(nèi)聚。耦合是指模塊之間聯(lián)系的緊密限度。耦合度越高則模塊的獨(dú)立性越差。按耦合度從低到高依次有7種耦合方式。

非直接耦合(獨(dú)立運(yùn)營(yíng))

數(shù)據(jù)耦合(用參數(shù)表傳遞簡(jiǎn)樸數(shù)據(jù))

標(biāo)記耦合(傳遞數(shù)據(jù)結(jié)構(gòu)或者一部分)

控制耦合(傳遞的信息涉及控制模塊的信息)

外部耦合(模塊與軟件之外的環(huán)境有關(guān))

公共耦合(多個(gè)模塊引用同一全局的數(shù)據(jù)區(qū))

內(nèi)容耦合(訪問(wèn)內(nèi)部數(shù)據(jù),代碼重疊或者多個(gè)入口)內(nèi)聚是指模塊內(nèi)部各元素之間聯(lián)系的緊密限度內(nèi)聚度越低模塊的獨(dú)立性越差。按內(nèi)聚度從低到高依次有7種內(nèi)聚種類(lèi)。

偶爾內(nèi)聚(模塊完畢的多個(gè)任務(wù),任務(wù)之間的關(guān)系松散)

邏輯內(nèi)聚(模塊完畢邏輯相關(guān)的一組任務(wù))

瞬時(shí)內(nèi)聚(模塊的所有任務(wù)必須在同一時(shí)間間隔內(nèi)執(zhí)行)

過(guò)程內(nèi)聚(模塊的解決元素相關(guān)并且按照特定的順序執(zhí)行)

通信內(nèi)聚(模塊的所有元素集中在一個(gè)數(shù)據(jù)結(jié)構(gòu)區(qū)域上)

順序內(nèi)聚(模塊的解決元素相關(guān),必須順序執(zhí)行)

功能內(nèi)聚(模塊完畢單一的功能,各個(gè)部分協(xié)調(diào)工作,并且不可缺少)模塊分解原則:

滿(mǎn)足信息隱蔽;

盡量?jī)?nèi)聚度高,模塊間偶合度低;

模塊大小在(50-100語(yǔ)句);

模塊調(diào)用深度不能過(guò)大;

模塊的扇入(直接調(diào)用該模塊)應(yīng)盡量大,扇出(直接調(diào)用下級(jí)模塊數(shù))不宜過(guò)大;

設(shè)計(jì)單入口和單出口的模塊;

模塊的作用域應(yīng)在控制域之內(nèi):作用域:受模塊內(nèi)一個(gè)鑒定影響的所有的模塊的集合;控制域:該模塊自身和被該模塊直接或間接調(diào)用的所有的模塊的集合;

模塊的功能應(yīng)是可以預(yù)測(cè)的,相同輸入得到相同輸出結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)(SD)方法是一種面向數(shù)據(jù)流的設(shè)計(jì)方法,它可以與SA方法銜接。結(jié)構(gòu)化設(shè)計(jì)采用結(jié)構(gòu)圖(SC)來(lái)描述程序的結(jié)構(gòu)。其基本成分有模塊、調(diào)用和輸入/輸出數(shù)據(jù)。結(jié)構(gòu)圖:?

?條件調(diào)用

循環(huán)調(diào)用

在需求分析階段用SA方法產(chǎn)生了數(shù)據(jù)流圖(DFD)。面向數(shù)據(jù)流的設(shè)計(jì)可以方便的將DFD轉(zhuǎn)換成程序結(jié)構(gòu)圖。DFD從系統(tǒng)的輸入數(shù)據(jù)流到系統(tǒng)的輸出數(shù)據(jù)流的一連串連續(xù)變換形成一條信息流。DFD的信息流大體可分為兩種類(lèi)型:變換流和事務(wù)流。與之相應(yīng)的也存在兩種分析,變換分析和事務(wù)分析。變換分析是從變換流型的DFD導(dǎo)出程序結(jié)構(gòu)圖,而事務(wù)分析則是從事務(wù)流行型的DFD導(dǎo)出程序結(jié)構(gòu)圖。SD方法的具體設(shè)計(jì)環(huán)節(jié)為:

復(fù)查并精化數(shù)據(jù)流圖

擬定DFD的信息流類(lèi)型

根據(jù)信息流類(lèi)型分別將變換流或事務(wù)流轉(zhuǎn)換成程序結(jié)構(gòu)圖

根據(jù)軟件設(shè)計(jì)的原則對(duì)程序結(jié)構(gòu)圖作改善結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序(SP)設(shè)計(jì)采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)的描述工具重要有圖形描述工具、語(yǔ)言描述工具和表格描述工具。常用的圖形描述工具有程序流程圖、盒圖(NS圖)和問(wèn)題分析圖(PAD)。典型的語(yǔ)言描述工具是PDL(programdesignlanguage)。典型的表格描述工具是鑒定表和鑒定樹(shù)。面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法也十分常用:

Jackson方法是以數(shù)據(jù)結(jié)構(gòu)為設(shè)計(jì)基礎(chǔ),設(shè)計(jì)目的是得出對(duì)程序解決過(guò)程的描述,其設(shè)計(jì)過(guò)程是從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖推導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖。這種方法最適合于具體設(shè)計(jì)階段使用。Jackson方法的具體設(shè)計(jì)環(huán)節(jié)為:

分析并擬定輸入和輸出的數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson圖表達(dá)

找出輸入數(shù)據(jù)結(jié)構(gòu)與輸出數(shù)據(jù)結(jié)構(gòu)間有相應(yīng)關(guān)系的數(shù)據(jù)單元

從描述數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描述程序結(jié)構(gòu)的Jackson圖軟件編碼:根據(jù)具體設(shè)計(jì)說(shuō)明書(shū)編寫(xiě)程序,為開(kāi)發(fā)項(xiàng)目選擇程序設(shè)計(jì)語(yǔ)言需要考慮的因素有應(yīng)用領(lǐng)域、算法和計(jì)算的復(fù)雜性、軟件運(yùn)營(yíng)環(huán)境、用戶(hù)需求、數(shù)據(jù)結(jié)構(gòu)和開(kāi)發(fā)人員的水平。軟件的設(shè)計(jì)質(zhì)量與程序設(shè)計(jì)語(yǔ)言的技術(shù)性能無(wú)關(guān),但在程序設(shè)計(jì)轉(zhuǎn)向程序代碼時(shí),轉(zhuǎn)化的質(zhì)量受語(yǔ)言性能的影響。好的程序應(yīng)當(dāng)具有模塊化結(jié)構(gòu),系統(tǒng)應(yīng)當(dāng)有較高的模塊獨(dú)立性。從應(yīng)用領(lǐng)域看,COBOL適合商業(yè)領(lǐng)域;FORTRAN適合科學(xué)計(jì)算;PROLO(píng)G和LISP適合人工智能領(lǐng)域;SMALLTALK、C++、JAVA是面向?qū)ο笳Z(yǔ)言;C是開(kāi)發(fā)系統(tǒng)的程序設(shè)計(jì)語(yǔ)言;例題1:軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是A。兩個(gè)模塊之間的耦合方式中,B耦合的耦合度最高,C耦合的耦合度最低。一個(gè)模塊內(nèi)部的內(nèi)聚種類(lèi)中D內(nèi)聚的內(nèi)聚度最高,E內(nèi)聚的內(nèi)聚度最低。A:①低內(nèi)聚低耦合

②低內(nèi)聚高耦合

③高內(nèi)聚低耦合

④高內(nèi)聚高耦合B:①數(shù)據(jù)

②非直接

③控制

④內(nèi)容C:①數(shù)據(jù)

②非直接

③控制

④內(nèi)容D:①偶爾

②邏輯

③功能

④過(guò)程E:①偶爾

②邏輯

③功能

④過(guò)

A3

B4

C2

D3

E1

例題2關(guān)于程序模塊優(yōu)化的啟發(fā)式規(guī)則有若干條,以下規(guī)則中不符合優(yōu)化原則的是__B__。假如一個(gè)模塊調(diào)用下層模塊時(shí)傳遞一個(gè)數(shù)據(jù)結(jié)構(gòu),則這種耦合屬于_C_。(軟件工程)(30)A.通過(guò)模塊的合并和分解,減少模塊的耦合度,提高模塊的內(nèi)聚性B.提高上層模塊的扇出,減少模塊調(diào)用的層次C.將模塊的作用范圍限制在模塊的控制范圍之內(nèi)D.減少模塊之間接口的復(fù)雜性,避免“病態(tài)連接”(31)A.簡(jiǎn)樸耦合B.直接耦合C.標(biāo)記耦合D.控制耦合1.4軟件測(cè)試對(duì)源程序最基本的質(zhì)量規(guī)定是對(duì)的性和可靠性,此外還很注重軟件的易使用性、易維護(hù)性和易移植性。軟件測(cè)試的工作量約占軟件開(kāi)發(fā)總工作量的40%以上,其目的是盡也許多的發(fā)現(xiàn)軟件產(chǎn)品(重要是指程序)中的錯(cuò)誤和缺陷。軟件測(cè)試是自底向上,逐步集成的過(guò)程,低一級(jí)測(cè)試為上一級(jí)測(cè)試準(zhǔn)備條件;測(cè)試的關(guān)鍵是測(cè)試用例的設(shè)計(jì),其方法可分為兩類(lèi)。白盒測(cè)試:白盒測(cè)試是根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)測(cè)試用例,常用的技術(shù)是邏輯覆蓋,即考察用例測(cè)試數(shù)據(jù)運(yùn)營(yíng)被測(cè)程序時(shí)對(duì)程序邏輯的覆蓋限度。重要的覆蓋標(biāo)準(zhǔn)有6種:I.

語(yǔ)句覆蓋指選擇足夠的測(cè)試用例,使被測(cè)語(yǔ)句的每個(gè)語(yǔ)句至少執(zhí)行一次。II.鑒定覆蓋指選擇足夠的測(cè)試用例,使每個(gè)鑒定的所有也許結(jié)果至少出現(xiàn)一次。III.條件覆蓋指選擇足夠的測(cè)試用例,使鑒定中的每個(gè)條件的所有也許結(jié)果至少出現(xiàn)一次。IV.鑒定/條件覆蓋指選擇足夠的測(cè)試用例,使鑒定中的每個(gè)條件的所有也許結(jié)果至少出現(xiàn)一次,并且每個(gè)鑒定中條件結(jié)果的所有也許組合也至少出現(xiàn)一次。V.

條件組合覆蓋指選擇足夠的測(cè)試用例,使每個(gè)鑒定中條件結(jié)果的所有也許組合至少出現(xiàn)一次。VI.途徑覆蓋指選擇足夠的測(cè)試用例,使流程圖中的每條途徑至少通過(guò)一次。黑盒測(cè)試:黑盒測(cè)試時(shí)根據(jù)規(guī)格說(shuō)明所規(guī)定的功能來(lái)設(shè)計(jì)測(cè)試用例,它不考慮程序的內(nèi)部結(jié)構(gòu)和解決過(guò)程。常用的黑盒測(cè)試技術(shù)有:

等價(jià)類(lèi)劃分

邊值劃分

錯(cuò)誤猜測(cè)軟件測(cè)試的重要環(huán)節(jié)有單元測(cè)試、集成測(cè)試和確認(rèn)測(cè)試。單元測(cè)試:重要用來(lái)發(fā)現(xiàn)編碼和具體設(shè)計(jì)中產(chǎn)生的錯(cuò)誤,一般在編碼階段,采用白盒測(cè)試。集成測(cè)試(也稱(chēng)組裝測(cè)試):重要用來(lái)發(fā)現(xiàn)設(shè)計(jì)階段產(chǎn)生的錯(cuò)誤,是對(duì)各模塊組裝而成的程序進(jìn)行測(cè)試,重要檢查模塊間的接口和通信,采用黑盒測(cè)試。集成測(cè)試按集成方式又可提成非漸增式集成和漸增式集成,而漸增式集成又可提成自頂向下集成和自底向上集成。確認(rèn)測(cè)試:檢查軟件的功能、性能和其他特性是否與用戶(hù)需求一致,它以需求規(guī)格說(shuō)明書(shū)作測(cè)試為依據(jù),采用黑盒測(cè)試Alpha測(cè)試是在開(kāi)發(fā)者的現(xiàn)場(chǎng)由客戶(hù)來(lái)實(shí)行的,從用戶(hù)角度和環(huán)境下進(jìn)行;Beta測(cè)試是在開(kāi)發(fā)者不在現(xiàn)場(chǎng)下測(cè)試,由軟件最終用戶(hù)實(shí)行;使用各種測(cè)試方法的綜合策略:

在任何情況下都必須使用邊界值分析方法,用這種方法設(shè)計(jì)出測(cè)試用例發(fā)現(xiàn)程序錯(cuò)誤的能力最強(qiáng);

必要時(shí)用等價(jià)類(lèi)劃分方法補(bǔ)充一些測(cè)試用例;

用錯(cuò)誤推測(cè)法再追加一些測(cè)試用例

對(duì)照程序邏輯,檢查已有測(cè)試用例的邏輯覆蓋限度

假如程序的功能說(shuō)明中具有輸入條件的組合情況,則選用因果圖法例題:軟件測(cè)試的目的是A。通常B是在代碼編寫(xiě)階段可進(jìn)行的測(cè)試,它是整個(gè)測(cè)試工作的基礎(chǔ)。邏輯覆蓋標(biāo)準(zhǔn)重要用于C。它重要涉及條件覆蓋、條件組合(多重條件)覆蓋、鑒定覆蓋、條件及鑒定覆蓋、語(yǔ)句覆蓋和途徑覆蓋等幾種,其中除途徑覆蓋外最弱的覆蓋標(biāo)準(zhǔn)是D,最強(qiáng)的覆蓋標(biāo)準(zhǔn)E。A:

①表白軟件的對(duì)的性

②評(píng)價(jià)軟件質(zhì)量

③盡也許發(fā)現(xiàn)軟件中錯(cuò)誤

④鑒定軟件是否合格B:

①系統(tǒng)測(cè)試

②安裝測(cè)試

③驗(yàn)收測(cè)試

④單元測(cè)試C:

①黑盒測(cè)試方法

②白盒測(cè)試方法

③灰盒測(cè)試方法

④軟件驗(yàn)收方法D、E:

①條件覆蓋

②條件組合覆蓋

③鑒定覆蓋

④條件及鑒定覆蓋

⑤語(yǔ)句覆蓋A:③

B:④

C:②

D:⑤

E:②1.5軟件開(kāi)發(fā)工具與環(huán)境(CASE)用來(lái)輔助軟件開(kāi)發(fā)、運(yùn)營(yíng)、維護(hù)、管理和支持等過(guò)程中的活動(dòng)的軟件稱(chēng)為軟件工具,通常也稱(chēng)為CASE(計(jì)算機(jī)輔助軟件工程)工具。整個(gè)軟件開(kāi)發(fā)過(guò)程要使用很多開(kāi)發(fā)工具,其中涉及分析工具、設(shè)計(jì)工具、編程工具、測(cè)試工具、維護(hù)工具等等。軟件開(kāi)發(fā)工具是指支持軟件產(chǎn)品開(kāi)發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機(jī)智構(gòu)成。工具集涉及支持軟件開(kāi)發(fā)相關(guān)過(guò)程、活動(dòng)、任務(wù)的軟件工具;環(huán)境集成機(jī)智為工具集成和軟件開(kāi)發(fā)、維護(hù)和管理提供統(tǒng)一的支持。軟件開(kāi)發(fā)環(huán)境是把一組相關(guān)的工具集成在環(huán)境中,提供數(shù)據(jù)集成、控制集成和界面集成等機(jī)制。其中:

數(shù)據(jù)集成機(jī)制:提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)接口規(guī)范,需要互相協(xié)同的工具通過(guò)這種統(tǒng)一的規(guī)范互換數(shù)據(jù)。數(shù)據(jù)集成可由共享文獻(xiàn)、共享數(shù)據(jù)結(jié)構(gòu)或共享信息庫(kù)等不同的層次;

控制集成機(jī)制:支持各工具或各開(kāi)發(fā)活動(dòng)之間的通信、切換、調(diào)度和協(xié)同工作,并且支持軟件開(kāi)發(fā)過(guò)程的描述、執(zhí)行和轉(zhuǎn)接;通常消息傳送的方式實(shí)現(xiàn)控制的集成。

界面集成機(jī)制使這些工具具有統(tǒng)一的界面風(fēng)格,從而為軟件開(kāi)發(fā)、維護(hù)、管理等過(guò)程的各項(xiàng)活動(dòng)提供連續(xù)的、一致的全方位支持。集成型軟件開(kāi)發(fā)環(huán)境由工具集和環(huán)境集成機(jī)制組成,這種環(huán)境應(yīng)當(dāng)具有開(kāi)放性和可剪裁性;環(huán)境集成機(jī)制的核心是環(huán)境數(shù)據(jù)庫(kù)。1.6軟件維護(hù)和軟件管理軟件開(kāi)發(fā)項(xiàng)目管理基礎(chǔ)知識(shí)(時(shí)間管理、成本管理、質(zhì)量管理、人力資源管理、風(fēng)險(xiǎn)管理等)及其常用管理工具

軟件維護(hù)階段是指從軟件交付使用到軟件被淘汰為止的整個(gè)時(shí)期,它是在軟件交付使用后,為了改正軟件中隱藏的錯(cuò)誤,或者為了使軟件適應(yīng)新的環(huán)境,或者為了擴(kuò)充和完善軟件的功能或性能而修改軟件的過(guò)程。根據(jù)引起軟件維護(hù)的因素,軟件維護(hù)通常可提成改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、防止性維護(hù)。軟件管理工作涉及到軟件開(kāi)發(fā)工作的方方面面,其直接對(duì)象涉及人、財(cái)、物,簡(jiǎn)樸地說(shuō),人就是指軟件開(kāi)發(fā)人員,財(cái)就是指項(xiàng)目經(jīng)費(fèi),物就是指軟件項(xiàng)目。也許還沒(méi)有關(guān)于這方面的專(zhuān)門(mén)理論,但在工商管理領(lǐng)域已有十提成熟的管理學(xué)理論,他山之石,可以攻玉,所以我們完全可以引進(jìn)到軟件項(xiàng)目方面的管理。作為軟件管理人員,應(yīng)當(dāng)站在高處來(lái)俯瞰整個(gè)項(xiàng)目,假如有不識(shí)廬山真面目的感覺(jué)就不太好了。有了俯瞰全局的意識(shí)這一前提,采用適當(dāng)?shù)墓芾砑夹g(shù),項(xiàng)目開(kāi)展就容易羅。軟件項(xiàng)目的管理工作可以分位四個(gè)方面:軟件項(xiàng)目的計(jì)劃、軟件項(xiàng)目的組織、軟件項(xiàng)目的領(lǐng)導(dǎo)和軟件項(xiàng)目的控制.1軟件項(xiàng)目的計(jì)劃軟件開(kāi)發(fā)項(xiàng)目的計(jì)劃涉及定義項(xiàng)目的目的,以及達(dá)成目的的方法。他涉及到項(xiàng)目實(shí)行的各個(gè)環(huán)節(jié),帶有全局的性質(zhì),是戰(zhàn)略性的。計(jì)劃應(yīng)力求完備,要考慮到一些未知因素和不擬定因素,考慮到也許的修改。計(jì)劃應(yīng)力求準(zhǔn)確,盡也許提高所依據(jù)的數(shù)據(jù)的可靠限度。重要工作集中在軟件項(xiàng)目的估算、軟件開(kāi)發(fā)成本的估算和軟件項(xiàng)目進(jìn)度安排。軟件項(xiàng)目計(jì)劃的目的是提供一個(gè)能使項(xiàng)目管理人員對(duì)資源、成本和進(jìn)度做出合理估算的框架。這些估算應(yīng)在軟件項(xiàng)目開(kāi)始時(shí)的一段有限時(shí)間內(nèi)作出,并隨著項(xiàng)目的進(jìn)展進(jìn)行更新。2軟件項(xiàng)目的估算軟件項(xiàng)目管理過(guò)程開(kāi)始于項(xiàng)目的計(jì)劃,在做項(xiàng)目計(jì)劃時(shí),第一項(xiàng)活動(dòng)是估算。現(xiàn)在已經(jīng)使用的使用技術(shù)是時(shí)間和工作量的估算。由于估算是其他項(xiàng)目計(jì)劃活動(dòng)的基石,并且項(xiàng)目計(jì)劃又未軟件工程過(guò)程提供了工作方向,所以我們不能沒(méi)有計(jì)劃就著手開(kāi)發(fā),否則就會(huì)陷入盲目性。估算自身帶有風(fēng)險(xiǎn),估算資源、成本和項(xiàng)目進(jìn)度時(shí)需要經(jīng)驗(yàn)、有用的歷史信息、足夠的定量數(shù)據(jù)和作定量度量的勇氣。估算的精確限度受到多方面的影響。一方面,項(xiàng)目的復(fù)雜性對(duì)于增長(zhǎng)軟件計(jì)劃的不擬定性影響很大,復(fù)雜性越高,估算的風(fēng)險(xiǎn)就越高。復(fù)雜性是相對(duì)度量的,他與項(xiàng)目參與人員的經(jīng)驗(yàn)有關(guān),比如假如讓搞MIS的項(xiàng)目組去搞操作系統(tǒng)設(shè)計(jì)顯然增長(zhǎng)了復(fù)雜性。另一方面,項(xiàng)目的規(guī)模對(duì)于估算的精確性和功效的影響也比較大,由于隨著軟件規(guī)模的擴(kuò)大,軟件相同元素之間的互相依賴(lài)、互相影響也迅速增長(zhǎng),因而估算時(shí)進(jìn)行問(wèn)題分解也會(huì)變得更加困難。尚有項(xiàng)目的結(jié)構(gòu)化限度也影響項(xiàng)目估算的風(fēng)險(xiǎn),這里的結(jié)構(gòu)性是指功能分解的簡(jiǎn)便性和解決信息的層次性,結(jié)構(gòu)化限度提高,進(jìn)行精確估算的能力就提高,相應(yīng)風(fēng)險(xiǎn)將減少。此外,歷史信息的有效性也影響估算的風(fēng)險(xiǎn),在對(duì)過(guò)去的項(xiàng)目進(jìn)行這綜合的軟件度量之后,就可以借用來(lái)比較準(zhǔn)確地進(jìn)行估算。影響估算的因素遠(yuǎn)不止這些,比如用戶(hù)需求的頻繁變更給估算帶來(lái)非常大的影響。估算的依據(jù)是軟件的范圍,涉及功能,性能、限制、接口和可靠性。在估算開(kāi)始之前,應(yīng)對(duì)軟件的功能進(jìn)行評(píng)價(jià),并對(duì)其進(jìn)行適當(dāng)?shù)募?xì)化以便提供更具體的細(xì)節(jié)。由于成本和進(jìn)度的估算都與功能有關(guān),因此經(jīng)常采用功能分解的辦法。性能的考慮重要涉及解決和響應(yīng)時(shí)間的需求。約束條件則標(biāo)記外部硬件、可用存儲(chǔ)和其他現(xiàn)有系統(tǒng)對(duì)軟件的限制。此外軟件項(xiàng)目計(jì)劃還要完畢資源估算,涉及人力資源、硬件資源和軟件資源。在考慮各種軟件開(kāi)發(fā)資源時(shí)最重要的是人,必須考慮人員的技術(shù)水平、專(zhuān)業(yè)、人數(shù)以及在開(kāi)發(fā)過(guò)程各階段對(duì)各種人員的需要。硬件資源作為一種工具投入。軟件資源涉及各種幫助開(kāi)發(fā)的軟件工具,比如編程工具、管理工具、測(cè)試工具,尚有操作系統(tǒng)和數(shù)據(jù)庫(kù)等。工作兩估算是最普遍使用的技術(shù)。通過(guò)功能分解之后,可以估計(jì)出每一個(gè)項(xiàng)目任務(wù)的分解都需要花費(fèi)若干人年,總計(jì)之后就知道軟件項(xiàng)目總體工作量。下面就是一個(gè)示意性工作量估算表。表格1某軟件系統(tǒng)工作量估算表(單位:人日)任務(wù)需求分析設(shè)計(jì)編碼測(cè)試小計(jì)用戶(hù)定義2510.58.5系統(tǒng)定義2510.58.5廣告預(yù)定41020.516.5劃版520100.535.5制作和組版353112總計(jì)164517381軟件開(kāi)發(fā)成本的估算軟件開(kāi)發(fā)成本重要是指軟件開(kāi)發(fā)過(guò)程所花費(fèi)的工作量及其相應(yīng)的代價(jià)。它不同于其他物理產(chǎn)品的成本,它重要涉及人的勞動(dòng)的消耗,人的勞動(dòng)的消耗所需的代價(jià)就是軟件產(chǎn)品的開(kāi)發(fā)成本。開(kāi)發(fā)成本的估算方法有很多種,象簡(jiǎn)樸的代碼行技術(shù),任務(wù)分解技術(shù),自動(dòng)估計(jì)成本技術(shù),專(zhuān)家鑒定技術(shù),尚有參數(shù)方程法,標(biāo)準(zhǔn)值法,以及COCOMO模型法。其中COCOMO(ConstructiveCostModel)模型法是一種精確、易于使用的成本估算方法,該模型按其具體限度分為三級(jí):基本COCOMO模型、中間COCOMO模型和具體COCOMO模型軟件項(xiàng)目進(jìn)度安排軟件項(xiàng)目的進(jìn)度安排重要是考慮軟件交付用戶(hù)使用的這一段開(kāi)發(fā)時(shí)間的安排。進(jìn)度安排的準(zhǔn)確限度也許比成本估計(jì)的準(zhǔn)確限度更重要。軟件產(chǎn)品可以靠重新定價(jià)或者靠大量的銷(xiāo)售來(lái)填補(bǔ)成本的增長(zhǎng),但進(jìn)度安排的落空會(huì)導(dǎo)致市場(chǎng)機(jī)會(huì)的喪失或者用戶(hù)不滿(mǎn)意,并且也會(huì)導(dǎo)致成本的增長(zhǎng)。因此在考慮進(jìn)度安排時(shí)要把人員的工作量與花費(fèi)的時(shí)間聯(lián)系起來(lái),合理分派工作量,運(yùn)用進(jìn)度安排的有效分析方法嚴(yán)密監(jiān)視軟件開(kāi)發(fā)的進(jìn)展情況,以使得軟件開(kāi)發(fā)的進(jìn)度不致被遲延。在進(jìn)行進(jìn)度安排時(shí)要考慮的一個(gè)重要問(wèn)題是任務(wù)的并行性問(wèn)題。當(dāng)參與項(xiàng)目的人數(shù)不止一人是軟件開(kāi)發(fā)工作就會(huì)出現(xiàn)并行情況。由于并行任務(wù)是同時(shí)發(fā)生的所以進(jìn)度計(jì)劃表必須決定任務(wù)之間的從屬關(guān)系,擬定各個(gè)任務(wù)的先后順序和銜接,擬定各個(gè)任務(wù)完畢的連續(xù)時(shí)間。此外還應(yīng)注意關(guān)鍵途徑的任務(wù),這樣可以擬定在進(jìn)度安排中應(yīng)保證的重點(diǎn)。常用的進(jìn)度安排方法有兩種,即甘特圖(GanttChart)法和工程網(wǎng)絡(luò)法。3.軟件項(xiàng)目的組織參與軟件開(kāi)發(fā)的人員如何組織起來(lái),使他們發(fā)揮最大的工作效率,對(duì)成功地完畢軟件項(xiàng)目極為重要。組織結(jié)構(gòu)開(kāi)發(fā)組織采用什么形式由軟件項(xiàng)目的特點(diǎn)決定,同時(shí)也與參與人員的素質(zhì)有關(guān)。通常有三種組織結(jié)構(gòu)模式:

1.按課題組劃分的模式:把開(kāi)發(fā)人員按課題組成小組,小組成員自始至終承擔(dān)課題的各項(xiàng)任務(wù)。該模式合用于規(guī)模不大的項(xiàng)目,并且規(guī)定小組成員在各方面有技術(shù)專(zhuān)長(zhǎng)。?

2.按職能劃分的模式:把開(kāi)發(fā)項(xiàng)目的軟件人員按任務(wù)的工作階段劃分為若干工作小組。要開(kāi)發(fā)的軟件在每個(gè)專(zhuān)業(yè)小組完畢階段加工后沿工序流水線向下傳遞。這種流水作業(yè)的方式使用于多項(xiàng)目并行的情況。

3.矩陣形模型:這種模式是以上兩種模式的復(fù)合。一方面按工作性質(zhì)成立一些專(zhuān)門(mén)小組,另一方面每一個(gè)項(xiàng)目都有它的經(jīng)理人員負(fù)責(zé)。每一個(gè)軟件開(kāi)發(fā)人員屬于某一個(gè)專(zhuān)門(mén)小組,有參與某一個(gè)項(xiàng)目的工作。該模式的優(yōu)點(diǎn)有一方面參與專(zhuān)門(mén)組的成員可以在組內(nèi)交流在各個(gè)項(xiàng)目中取得的經(jīng)驗(yàn),這更有助于發(fā)揮專(zhuān)業(yè)人員的作用;另一方面,各個(gè)項(xiàng)目有專(zhuān)門(mén)的人員負(fù)責(zé),有助于軟件項(xiàng)目的完畢。這種模式比較適合于規(guī)模比較大的項(xiàng)目。組織結(jié)構(gòu)的最后一層是程序設(shè)計(jì)小組的組織形式。通常認(rèn)為程序設(shè)計(jì)工作是按獨(dú)立的方式進(jìn)行的,程序人員獨(dú)立地完畢任務(wù)。但這并不意味著互相之間沒(méi)有聯(lián)系。一般在人數(shù)比較少時(shí)成員之間的聯(lián)系比較簡(jiǎn)樸,但隨著人數(shù)的增長(zhǎng),互相之間的聯(lián)系變得負(fù)責(zé)起來(lái)。小組內(nèi)部人員的組織形式對(duì)對(duì)生產(chǎn)率有著十分重要的影響。常見(jiàn)的小組組織形式有三種,這三種形式可以靈活使用。?

1.主程序員制小組:相稱(chēng)于組長(zhǎng)負(fù)責(zé)制,小組的核心由一位主程序員,此外配備兩到三位技術(shù)員、一位后援工程師組成。這種組織結(jié)構(gòu)突出主程序員的領(lǐng)導(dǎo),強(qiáng)調(diào)主程序員與其他技術(shù)人員的聯(lián)系。

2.民主制小組:在民主制小組中,碰到問(wèn)題可以在成員之間平等地互換換意見(jiàn),工作組目的的制定以及決定的作出都由全體人員參與。這種組織形式強(qiáng)調(diào)發(fā)揮每個(gè)成員的積極性,并規(guī)定每個(gè)成員發(fā)揮積極精神和協(xié)作精神。

3.層次式小組:在層次式小組中,組內(nèi)人員分位三級(jí):組長(zhǎng)(項(xiàng)目負(fù)責(zé)人)一人負(fù)責(zé)全組工作,他直接領(lǐng)導(dǎo)兩到三名高級(jí)程序員,每位高級(jí)程序員通過(guò)基層小組,管理若干位程序員。這種結(jié)構(gòu)比較適合于項(xiàng)目自身就是層次結(jié)構(gòu)的課題。人員配備合理地配備人員是成功地完畢軟件項(xiàng)目的切實(shí)保證。所謂合理地配備人員應(yīng)涉及按不同階段適時(shí)運(yùn)用人員,恰當(dāng)掌握用人標(biāo)準(zhǔn)。一般來(lái)說(shuō),軟件項(xiàng)目不同階段不同層次技術(shù)人員的參與情況是不同樣的。下圖是典型的軟件開(kāi)發(fā)人員參與情況曲線。在人力配備問(wèn)題上,由于配置不妥,很容易導(dǎo)致人力資源的浪費(fèi),并延誤工期。特別是采用恒定人員配備方案時(shí)在項(xiàng)目的開(kāi)始和最后都會(huì)出現(xiàn)人力過(guò)剩,而在中期又會(huì)出現(xiàn)人力局限性的情況。4.軟件項(xiàng)目的領(lǐng)導(dǎo)5.軟件項(xiàng)目的控制對(duì)后面兩個(gè)主題以后再討論。其實(shí)本文所討論的東西大多還沒(méi)有涉及太多管理學(xué)方面的內(nèi)容,但這方面的確有許多值得研究的東西,由于時(shí)間關(guān)系不能進(jìn)一步下去。姑且作為一個(gè)引子吧!

1.7面向?qū)ο蠹夹g(shù)1.7.1面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο螅╫bject-oriented,OO)方法是以客觀世界中的對(duì)象為中心,其分析和設(shè)計(jì)思想符合人們的思維方式,分析和設(shè)計(jì)的結(jié)果與客觀世界的實(shí)際比較接近,容易被人們所接受。下面列舉幾個(gè)面向?qū)ο笤O(shè)計(jì)方法中的重要術(shù)語(yǔ),它們構(gòu)成面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言的核心?!魧?duì)象(Object)對(duì)象是和有數(shù)據(jù)及可對(duì)這些數(shù)據(jù)施加的操作結(jié)合在一起所構(gòu)成的獨(dú)立單位的總稱(chēng)。一個(gè)對(duì)象通??捎蓪?duì)象名、屬性和操作三部分組成。對(duì)象的劃分鑒定標(biāo)準(zhǔn):1、

子對(duì)象之間獨(dú)立性要高,即耦合度盡量達(dá)成最低,(抱負(fù)的情況是達(dá)成組件化的限度);2、

子對(duì)象相對(duì)其他劃分方法,更易于解決。所以對(duì)于復(fù)雜的大系統(tǒng),一般都要通過(guò)多次的嘗試,以盡量能找到較優(yōu)的劃分方案。對(duì)于比較簡(jiǎn)樸的系統(tǒng),E-R轉(zhuǎn)換也能的到較為滿(mǎn)意的劃分?!魧?shí)例(Instance)實(shí)例是由某個(gè)特定類(lèi)所描述的一個(gè)對(duì)象?!纛?lèi)(Class)類(lèi)是一組具有相同屬性和相同操作的對(duì)象的集合。類(lèi)是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言提供的可再用軟件成分?!舴椒?Method)對(duì)象所能執(zhí)行的操作稱(chēng)為方法。方法是類(lèi)中定義的函數(shù),描述對(duì)象執(zhí)行操作的算法?!粝ⅲ∕essage)消息是規(guī)定某個(gè)對(duì)象執(zhí)行類(lèi)中定義的某個(gè)操作的規(guī)格說(shuō)明。一個(gè)消息通常涉及接受對(duì)象名、調(diào)用的操作名和適當(dāng)?shù)膮?shù)(如有必要)。重要特點(diǎn):◆封裝性封裝性是一種信息隱蔽技術(shù),它使系統(tǒng)分析員可以清楚地標(biāo)明他們所提供的服務(wù)界面,用戶(hù)和應(yīng)用程序員則只看得見(jiàn)對(duì)象提供的操作功能(即封裝面上的信息),看不到其中的數(shù)據(jù)或操作代碼細(xì)節(jié)。◆多態(tài)性多態(tài)性是指同一個(gè)操作作用于不同的對(duì)象可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。◆繼承性繼承是指在某個(gè)類(lèi)的層次關(guān)聯(lián)中,不同的類(lèi)共享屬性和操作的一種機(jī)制。一個(gè)父類(lèi)可以有多個(gè)子類(lèi)。父類(lèi)描述了這些子類(lèi)的公共屬性和操作,子類(lèi)中還可以定義其自己的屬性和操作。假如一個(gè)子類(lèi)只有唯一的一個(gè)父類(lèi),這種繼承稱(chēng)為單一繼承。假如一個(gè)子類(lèi)有多個(gè)父類(lèi),可以從多個(gè)父類(lèi)中繼承特性,這種繼承稱(chēng)為多重繼承?!舴植际綄?duì)象DistributedObject在發(fā)布實(shí)行角度上看,對(duì)象可分為三種:本地對(duì)象,遠(yuǎn)地對(duì)象,虛擬對(duì)象。本地對(duì)象LocalObject:指分布在同一個(gè)系統(tǒng)中的對(duì)象,互稱(chēng)為本地對(duì)象遠(yuǎn)地對(duì)象RemoteObject:指分布在不同系統(tǒng)中的對(duì)象(同一個(gè)群體系統(tǒng))。虛擬對(duì)象VirtualObject:不同于本地和遠(yuǎn)地對(duì)象,虛擬對(duì)象不屬于真實(shí)的對(duì)象,而是一個(gè)虛設(shè)的類(lèi)型。真正的操作不在虛擬對(duì)象自身,只是遠(yuǎn)地對(duì)象在本地的映射。本地和遠(yuǎn)地對(duì)象是互相的關(guān)系。而虛擬對(duì)象只是一種映射,用于關(guān)聯(lián)本地和遠(yuǎn)地對(duì)象,起到分布和負(fù)載均衡的作用。面向?qū)ο髷?shù)據(jù)庫(kù)技術(shù):是面向?qū)ο蠹夹g(shù)和數(shù)據(jù)庫(kù)技術(shù)的有機(jī)的結(jié)合,它有著關(guān)系數(shù)據(jù)庫(kù)沒(méi)有的優(yōu)點(diǎn)。面向?qū)ο髷?shù)據(jù)庫(kù)(OODB)+關(guān)系數(shù)據(jù)庫(kù)(RDB)→對(duì)象-關(guān)系數(shù)據(jù)庫(kù)(ORDB)面向?qū)ο蟮奶匦?類(lèi)和繼承性,對(duì)象及對(duì)象標(biāo)記、封裝性、信息/實(shí)現(xiàn)隱蔽、狀態(tài)保持,消息,多態(tài)性,一般性。

面向?qū)ο蠹夹g(shù)的出現(xiàn)正是填補(bǔ)了前述關(guān)系模型的固有局限性。

對(duì)象數(shù)據(jù)模型是有很強(qiáng)的描述復(fù)雜對(duì)象的能力,能包含更多的數(shù)據(jù)語(yǔ)義信息。

面向?qū)ο蠓椒珊芊奖愕谋磉_(dá)嵌套對(duì)象,因而很容易表達(dá)層次數(shù)據(jù),這點(diǎn)與RDB形成鮮明的對(duì)比,RDB逼迫用戶(hù)用多個(gè)關(guān)系的元組表達(dá)層次數(shù)據(jù)。

面向?qū)ο蠓椒煞奖愕臉?gòu)造各種類(lèi)型、而RDB不提供增長(zhǎng)用戶(hù)定義數(shù)據(jù)類(lèi)型的手段。1.7.2面向?qū)ο蟮姆治龇椒嫦驅(qū)ο蟮南到y(tǒng)分析設(shè)計(jì),看起來(lái)其實(shí)也很簡(jiǎn)樸,環(huán)節(jié)大約如下:(1)從項(xiàng)目開(kāi)始,進(jìn)行環(huán)節(jié)(2)。(2)對(duì)系統(tǒng)進(jìn)行分析,假如它在一定的規(guī)定下可解決,則停止分析,進(jìn)行設(shè)計(jì);假如它在一定的規(guī)定下不可解決,則對(duì)它進(jìn)行劃分。(3)環(huán)節(jié)(2)假如有分析結(jié)果,則對(duì)其中每一個(gè)子對(duì)象,進(jìn)行環(huán)節(jié)(2)。邊界條件(也即上面提到的“一定規(guī)定”,對(duì)象劃分的原則):

子對(duì)象之間獨(dú)立性要高,即耦合度盡量達(dá)成最低,(抱負(fù)的情況是達(dá)成組件化的限度);

子對(duì)象相對(duì)其他劃分方法,更易于解決(如實(shí)現(xiàn),維護(hù)等)。當(dāng)前常見(jiàn)的面向?qū)ο蟮姆椒ê芏?,下面?jiǎn)樸介紹三種:PeterCoard和EdwardYourdon的OOA和OOD方法OOA(面向?qū)ο蠓治觯┠P陀?個(gè)層次和5個(gè)活動(dòng)組成:

5個(gè)層次:主題層、對(duì)象類(lèi)層、結(jié)構(gòu)層、屬性層、服務(wù)層

5個(gè)活動(dòng):標(biāo)記對(duì)象類(lèi)、標(biāo)記結(jié)構(gòu)、定義主題、定義屬性、定義服務(wù)在這種方法中定義兩種對(duì)象類(lèi)之間的結(jié)構(gòu):分類(lèi)結(jié)構(gòu)——反映了一般與特殊的關(guān)系組裝結(jié)構(gòu)——反映了對(duì)象之間整體與部分的關(guān)系OOA中的5個(gè)層次和5個(gè)活動(dòng)繼續(xù)貫穿在OOD(面向?qū)ο笤O(shè)計(jì))過(guò)程中。OOD模型由4個(gè)部分,即:

問(wèn)題域

人機(jī)交互

任務(wù)管理

數(shù)據(jù)管理Booth的OOD方法Booth認(rèn)為軟件開(kāi)發(fā)是一個(gè)螺旋上升的過(guò)程。在螺旋上升的每個(gè)周期中,有4個(gè)環(huán)節(jié):

標(biāo)記類(lèi)和對(duì)象

擬定它們的含義

標(biāo)記它們之間的關(guān)系

說(shuō)明每一個(gè)類(lèi)的界面和實(shí)現(xiàn)OMT方法OMT(對(duì)象建模技術(shù))定義了3種模型:

對(duì)象模型

描述系統(tǒng)中對(duì)象的靜態(tài)結(jié)構(gòu)、對(duì)象之間的關(guān)系、對(duì)象的屬性、對(duì)象的操作。它為動(dòng)態(tài)模型和功能模型提供了基本的框架。用對(duì)象圖表達(dá)。

動(dòng)態(tài)模型:

描述與時(shí)間和操作順序有關(guān)的系統(tǒng)特性——激發(fā)事件、事件序列、擬定事件先后關(guān)系的狀態(tài)以及事件和狀態(tài)的組織。用狀態(tài)圖表達(dá)。

功能模型:描述與值的變換有關(guān)的系統(tǒng)特性——功能、映射、約束和函數(shù)依賴(lài)。用數(shù)據(jù)流圖表達(dá)。

OMT方法有4個(gè)環(huán)節(jié)分析:這是OMT方法的第一步,其目的是建立可理解的現(xiàn)實(shí)世界模型。系統(tǒng)設(shè)計(jì):擬定整個(gè)系統(tǒng)的體系結(jié)構(gòu),形成求解問(wèn)題和建立解答的高層次策略。對(duì)象設(shè)計(jì):在分析的基礎(chǔ)上,對(duì)象設(shè)計(jì)階段建立基于分析模型的設(shè)計(jì)模型,考慮實(shí)現(xiàn)的細(xì)節(jié)。實(shí)現(xiàn):將對(duì)象設(shè)計(jì)階段開(kāi)發(fā)的對(duì)象類(lèi)及其關(guān)系轉(zhuǎn)換成特定的程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)庫(kù)或硬件的實(shí)現(xiàn)。1.7.3面向?qū)ο笤O(shè)計(jì)方法面向?qū)ο蟮念?lèi)設(shè)計(jì)相關(guān)原則:1.開(kāi)閉原則(theOpenClosedPrincipleOCP)一個(gè)模塊在擴(kuò)展性方面應(yīng)當(dāng)是開(kāi)放的而在更改性方面應(yīng)當(dāng)是封閉的。因此在進(jìn)行面向?qū)ο笤O(shè)計(jì)時(shí)要盡量考慮接口封裝機(jī)制、抽象機(jī)制和多態(tài)技術(shù)。該原則同樣適合于非面向?qū)ο笤O(shè)計(jì)的方法,是軟件工程設(shè)計(jì)方法的重要原則之一。2.替換原則(theLiskovSubstitutionPrincipleLSP)子類(lèi)應(yīng)當(dāng)可以替換父類(lèi)并出現(xiàn)在父類(lèi)可以出現(xiàn)的任何地方。這個(gè)原則是Liskov于1987年提出的設(shè)計(jì)原則。它同樣可以從BertrandMeyer的DBC(DesignbyContract)的概念推出。3.依賴(lài)原則(theDependencyInversionPrincipleDIP)在進(jìn)行業(yè)務(wù)設(shè)計(jì)時(shí),與特定業(yè)務(wù)有關(guān)的依賴(lài)關(guān)系應(yīng)當(dāng)盡量依賴(lài)接口和抽象類(lèi),而不是依賴(lài)于具體類(lèi)。具體類(lèi)只負(fù)責(zé)相關(guān)業(yè)務(wù)的實(shí)現(xiàn),修改具體類(lèi)不影響與特定業(yè)務(wù)有關(guān)的依賴(lài)關(guān)系。為此,我們?cè)谶M(jìn)行業(yè)務(wù)設(shè)計(jì)時(shí),應(yīng)盡量在接口或抽象類(lèi)中定義業(yè)務(wù)方法的原型,并通過(guò)具體的實(shí)現(xiàn)類(lèi)(子類(lèi))來(lái)實(shí)現(xiàn)該業(yè)務(wù)方法,業(yè)務(wù)方法內(nèi)容的修改將不會(huì)影響到運(yùn)營(yíng)時(shí)業(yè)務(wù)方法的調(diào)用。4.接口分離原則(theInterfaceSegregationPrincipleISP)采用多個(gè)與特定客戶(hù)類(lèi)有關(guān)的接口比采用一個(gè)通用的涵蓋多個(gè)業(yè)務(wù)方法的接口要好。ISP原則是此外一個(gè)支持諸如COM等組件化的使能技術(shù)。缺少I(mǎi)SP,組件、類(lèi)的可用性和移植性將大打折扣。這個(gè)原則的本質(zhì)相稱(chēng)簡(jiǎn)樸。假如你擁有一個(gè)針對(duì)多個(gè)客戶(hù)的類(lèi),為每一個(gè)客戶(hù)創(chuàng)建特定業(yè)務(wù)接口,然后使該客戶(hù)類(lèi)繼承多個(gè)特定業(yè)務(wù)接口將比直接加載客戶(hù)所需所有方法有效。例題:國(guó)家標(biāo)準(zhǔn)《計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文獻(xiàn)編制指南GB8567-88》中規(guī)定,在一項(xiàng)軟件開(kāi)發(fā)過(guò)程中,一般來(lái)說(shuō)應(yīng)當(dāng)產(chǎn)生14種文獻(xiàn),其中管理人員重要使用的有A、B、C、開(kāi)發(fā)進(jìn)度月報(bào)、項(xiàng)目開(kāi)發(fā)總結(jié)報(bào)告。開(kāi)發(fā)人員重要使用的有A、B、D、數(shù)據(jù)規(guī)定說(shuō)明書(shū)、概要設(shè)計(jì)說(shuō)明書(shū)、具體設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)、測(cè)試計(jì)劃和E。維護(hù)人員重要使用的有設(shè)計(jì)說(shuō)明書(shū)、E和C。

A~E:①軟件需求說(shuō)明書(shū)

②項(xiàng)目開(kāi)發(fā)計(jì)劃

③可行性研究報(bào)告④模塊開(kāi)發(fā)卷宗

⑤測(cè)試分析報(bào)告

⑥操作手冊(cè)⑦用戶(hù)手冊(cè)[分析]

本題綜合考察了軟件生命周期各個(gè)階段的相關(guān)知識(shí)。

大家在復(fù)習(xí)軟件工程這部分內(nèi)容的時(shí)候,除了對(duì)軟件生命周期的每個(gè)階段(如需求分析、軟件設(shè)計(jì)、軟件維護(hù)等)的相關(guān)知識(shí)應(yīng)當(dāng)仔細(xì)復(fù)習(xí)以外,對(duì)整個(gè)軟件生命周期各階段還應(yīng)有個(gè)總體的結(jié)識(shí)和把握。前面在知識(shí)要點(diǎn)中有比較表對(duì)各階段的任務(wù)、參與人員和產(chǎn)生文檔做出了歸納和總結(jié),大家復(fù)習(xí)的時(shí)候可以好好參考一下。[答案]A:②

B:③

C:④

D:①

E:⑤同步輔導(dǎo)中的軟件工程部分的題目很好,大家可以做一下,題目類(lèi)型和軟考類(lèi)似;

1.8軟件質(zhì)量(重點(diǎn))軟件質(zhì)量是指反映軟件系統(tǒng)或軟件產(chǎn)品滿(mǎn)足規(guī)定或隱含需求的能力的特性和特性全體。下面從管理的角度列出了影響軟件質(zhì)量的重要因素。

質(zhì)量因素定義產(chǎn)品運(yùn)營(yíng)對(duì)的性系統(tǒng)滿(mǎn)足規(guī)格說(shuō)明和用戶(hù)目的的程序,即在預(yù)定環(huán)境下能對(duì)的的完畢預(yù)期功能的程序健壯性在硬件發(fā)生故障、輸入的數(shù)據(jù)無(wú)效或操作錯(cuò)誤等意外環(huán)境下,系統(tǒng)能做出適當(dāng)響應(yīng)的程序效率為了完畢預(yù)定的功能,系統(tǒng)需要的計(jì)算資源的多少完整性(安全性)對(duì)未經(jīng)授權(quán)的人使用軟件或數(shù)據(jù)的企圖,系統(tǒng)可以控制(嚴(yán)禁)的程序可用性系統(tǒng)在完畢預(yù)定應(yīng)當(dāng)完畢的功能時(shí)令人滿(mǎn)意的限度風(fēng)險(xiǎn)按預(yù)定的成本和進(jìn)度將系統(tǒng)開(kāi)發(fā)解決,并且為用戶(hù)滿(mǎn)意的概率產(chǎn)品修改可理解性理解和使用該系統(tǒng)的容易限度可維修性診斷和改正在運(yùn)營(yíng)現(xiàn)場(chǎng)發(fā)現(xiàn)的錯(cuò)誤所需要的工作量的多少靈活性(適應(yīng)性)修改或改善正在運(yùn)營(yíng)的系統(tǒng)需要的工作量的多少可測(cè)試性軟件容易測(cè)試的限度產(chǎn)品轉(zhuǎn)移可移植性把程序從一種硬件配置和(或)軟件系統(tǒng)環(huán)境轉(zhuǎn)移到另一種配置和環(huán)境時(shí),需要的工作量多少可再用性在其他應(yīng)用中該程序可以被再次使用的限度(或范圍)互運(yùn)營(yíng)性把該系統(tǒng)和另一個(gè)系統(tǒng)結(jié)合起來(lái)需要的工作量的多少

高質(zhì)量軟件的特性:

滿(mǎn)足用戶(hù)的需求。這是最重要的一點(diǎn),一個(gè)軟件假如不可以滿(mǎn)足用戶(hù)的需要,設(shè)計(jì)的再好,采用的技術(shù)再先進(jìn),也沒(méi)有任何的意義。所以這一點(diǎn)非常的樸實(shí),但卻是軟件質(zhì)量的第一個(gè)評(píng)判標(biāo)準(zhǔn)。

合理進(jìn)度、成本、功能關(guān)系。軟件開(kāi)發(fā)中所有的管理都是圍繞著這幾個(gè)要素在做文章的,如何在特定的時(shí)間內(nèi),以特定的成本,開(kāi)發(fā)出特定功能的軟件。三者之間存在一種微妙的平衡。一個(gè)高質(zhì)量的軟件的開(kāi)發(fā)過(guò)程中,項(xiàng)目成員一定可以客觀的對(duì)待這三個(gè)因素,并通過(guò)有效的計(jì)劃、管理、控制,使得三者之間達(dá)成一種平衡,保證產(chǎn)出的最大化。

具有擴(kuò)展性和靈活性,可以適應(yīng)一定限度的需求變化。當(dāng)今的社會(huì)已經(jīng)變成一種變化速度極快的設(shè)計(jì)了。變化就會(huì)對(duì)軟件產(chǎn)生沖擊,所以一個(gè)質(zhì)量?jī)?yōu)秀的軟件,應(yīng)當(dāng)可以在一定限度上適應(yīng)這種變化,并保持軟件的穩(wěn)定。

可以有效的解決例外的情況。寫(xiě)過(guò)軟件的人都知道,實(shí)現(xiàn)主體功能的工作量其實(shí)不大,真正的工作量都在解決各種例外。所以,一個(gè)軟件假如可以足夠的強(qiáng)壯、足夠的魯棒,可以承受各種的非法情況的沖擊,這個(gè)軟件就是高質(zhì)量的。

保持成本和性能的平衡。性能往往來(lái)源于客戶(hù)的非功能需求,是軟件質(zhì)量的一個(gè)重要的評(píng)價(jià)因素。但是性能問(wèn)題在任何地方都存在,所以需要客觀的看待它。例如,一段性能不錯(cuò)的代碼也許可讀性很差,這就需要進(jìn)行平衡,假如這段代碼的性能是整個(gè)軟件的關(guān)鍵,那么取高性能而舍棄可讀性,反之則取可讀性而舍棄高性能。一個(gè)優(yōu)秀的軟件可以保持成本和性能之間的平衡。

可以可連續(xù)的發(fā)展。很少有軟件組織只開(kāi)發(fā)一個(gè)軟件的,所以,一個(gè)優(yōu)秀的軟件在開(kāi)發(fā)完畢后,可以形成知識(shí)沉淀,為軟件組織的長(zhǎng)期發(fā)展奉獻(xiàn)力量。這是一個(gè)優(yōu)秀的軟件應(yīng)當(dāng)要可以做到的。采用測(cè)試作為評(píng)價(jià)軟件標(biāo)準(zhǔn)的做法是非經(jīng)常見(jiàn)的。例如,sun公司就專(zhuān)門(mén)設(shè)計(jì)了測(cè)試軟件,對(duì)各個(gè)實(shí)現(xiàn)J2EE規(guī)范的產(chǎn)品進(jìn)行測(cè)試。使用測(cè)試作為規(guī)范的最大好處就是明確、具體。

使用測(cè)試代碼建立目的,編寫(xiě)代碼完畢測(cè)試目的,再制定下一個(gè)目的,如此循環(huán),構(gòu)成了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的工作流程。1.8.1八項(xiàng)質(zhì)量管理原則為了成功地領(lǐng)導(dǎo)和運(yùn)作一個(gè)組織,需要采用一種系統(tǒng)和透明的方式進(jìn)行管理。針對(duì)所有相關(guān)方的需求,實(shí)行并保持連續(xù)改善其業(yè)績(jī)的管理體系,使組織獲得成功。組織為實(shí)現(xiàn)質(zhì)量目的,應(yīng)遵循以下八項(xiàng)質(zhì)量管理原則。

原則1:以顧客為中心

組織依存于其顧客。因此,組織應(yīng)理解顧客當(dāng)前的和未來(lái)的需求,滿(mǎn)足顧客規(guī)定并爭(zhēng)取超越顧客盼望。

1、組織實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則2:領(lǐng)導(dǎo)作用

領(lǐng)導(dǎo)將本組織的宗旨、方向和內(nèi)部環(huán)境統(tǒng)一起來(lái),并發(fā)明使員工可以充足參與實(shí)現(xiàn)組織目的的環(huán)境。

1、組織實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則3:全員參與

各級(jí)人員是組織之本。只有他們的充足參與,才干使他們的才干為組織帶來(lái)最大的收益。

1、織實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則4:過(guò)程方法

將相關(guān)的資源和活動(dòng)作為過(guò)程進(jìn)行管理,可以更高效地得到盼望的結(jié)果。

過(guò)程方法的原則不僅合用于某些較簡(jiǎn)樸的過(guò)程,也合用于由許多過(guò)程構(gòu)成的過(guò)程網(wǎng)絡(luò)。在應(yīng)用于質(zhì)量管理體系時(shí),2023版ISO9000族標(biāo)準(zhǔn)建立了一個(gè)過(guò)程模式。此模式把管理職責(zé)、資源管理、產(chǎn)品實(shí)現(xiàn)、測(cè)量、分析與改善作為體系的四大重要過(guò)程,描述其互相關(guān)系,并以顧客規(guī)定為輸入,提供應(yīng)顧客的產(chǎn)品為輸出,通過(guò)信息反饋來(lái)測(cè)定的顧客滿(mǎn)意度,評(píng)價(jià)質(zhì)量管理體系的業(yè)績(jī)。

1、實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則5:管理的系統(tǒng)方法

針對(duì)設(shè)定的目的,辨認(rèn)、理解并管理一個(gè)由互相關(guān)連的過(guò)程所組成的體系,有助于提高組織的有效性和效率。

ISO/DIS9000的3.3列出了建立和實(shí)行質(zhì)量管理體系的十三個(gè)環(huán)節(jié):

1、實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則6:連續(xù)改善

連續(xù)改善是組織的一個(gè)永恒的目的。

1、實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則7:基于事實(shí)的決策方法

對(duì)數(shù)據(jù)和信息的邏輯分析或直覺(jué)判斷是有效決策的基礎(chǔ)。

以事實(shí)為依據(jù)做決策,可防止決策失誤。在對(duì)信息和資料做科學(xué)分析時(shí),記錄技術(shù)是最重要的工具之一。記錄技術(shù)可以用來(lái)測(cè)量、分析和說(shuō)明產(chǎn)品和過(guò)程的變異性。記錄技術(shù)可認(rèn)為連續(xù)改善的決策提供依據(jù)。

1、實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)

原則8:互利的供方關(guān)系

通過(guò)互利的關(guān)系,增強(qiáng)組織及其供方發(fā)明價(jià)值的能力。

供方提供的產(chǎn)品將對(duì)組織向顧客提供滿(mǎn)意的產(chǎn)品也許產(chǎn)生重要的影響,一次解決好與供方的關(guān)系,影響到組織能否連續(xù)穩(wěn)定地提供顧客滿(mǎn)意地產(chǎn)品。對(duì)供方不能只講控制,不講合作互利。特別對(duì)關(guān)鍵供方,更要建立互利關(guān)系。這對(duì)組織和供方雙方都是有利的。

1、實(shí)行本原則的重要利益

2、組織實(shí)行本原則時(shí)一般要采用的重要措施

3、本原則在標(biāo)準(zhǔn)中的體現(xiàn)1.8.2十三個(gè)環(huán)節(jié):

軟件質(zhì)量保證是指為了保證軟件系統(tǒng)或軟件產(chǎn)品最大限度的滿(mǎn)足用戶(hù)規(guī)定而進(jìn)行的有計(jì)劃、有組織的活動(dòng),其目的是產(chǎn)生高質(zhì)量的軟件。目前有多種軟件質(zhì)量模型來(lái)描述軟件質(zhì)量特性,如ISO/IEC9126軟件質(zhì)量模型、McCall軟件質(zhì)量模型等1.9軟件配置管理軟件配置管理(SCM——SoftwareConfigurationManagement)是ISO9001和CMMLevel2中的重要組成元素,它在軟件產(chǎn)品開(kāi)發(fā)的生命周期中,提供了結(jié)構(gòu)化的、有序化的、產(chǎn)品化的管理軟件工程的方法,是軟件開(kāi)發(fā)和維護(hù)的基礎(chǔ)。

SCM是指通過(guò)技術(shù)及行政手段對(duì)軟件產(chǎn)品及其開(kāi)發(fā)過(guò)程和生命周期進(jìn)行控制、規(guī)范的一系列措施和過(guò)程,它通過(guò)控制、記錄、追蹤對(duì)軟件的修改和每個(gè)修改生成的軟件組成部件來(lái)實(shí)現(xiàn)對(duì)軟件產(chǎn)品的管理。SCM可以協(xié)調(diào)軟件開(kāi)發(fā)使得混亂減到最小,是一種標(biāo)記、組織和控制修改的技術(shù),目的是使錯(cuò)誤達(dá)成最小并最有效地提高生產(chǎn)效率。

SCM使軟件產(chǎn)品變?yōu)槭芸氐暮涂深A(yù)見(jiàn)的,它控制這樣幾個(gè)問(wèn)題:

1.誰(shuí)做的變更?

2.軟件有什么變更?

3.什么時(shí)間做的變更?

4.為什么要變更?

通過(guò)實(shí)行SCM,可以達(dá)成可重用過(guò)程制度化,涉及:滿(mǎn)足組織的政策方針、計(jì)劃和過(guò)程描述文檔化、分派適當(dāng)資源(涉及資金,人員和工具)、擬定責(zé)任和權(quán)限、培訓(xùn)相關(guān)人員、通過(guò)不同級(jí)別的管理方法和糾正活動(dòng)檢測(cè)狀態(tài)。

置于SCM之下的工作產(chǎn)品涉及發(fā)送給用戶(hù)的軟件產(chǎn)品(如軟件需求文檔,軟件代碼),用于內(nèi)部使用的軟件工作產(chǎn)品(如過(guò)程描述),和用于創(chuàng)建工作產(chǎn)品的工具等(如操作系統(tǒng)、數(shù)據(jù)庫(kù)、開(kāi)發(fā)工具)。

SCM還用于建立和維護(hù)軟件工作產(chǎn)品基線?;€是由配置項(xiàng)及相關(guān)實(shí)體組成的,涉及組成軟件產(chǎn)品的相關(guān)版本、設(shè)計(jì)、代碼、用戶(hù)文檔等。它是軟件生命周期中各開(kāi)發(fā)階段末尾的特定點(diǎn),即里程碑。通過(guò)正式的技術(shù)評(píng)審而得到的軟件配置的正式文本才干成為基線,它的作用是使各個(gè)階段工作的劃分更加明確化,使本來(lái)連續(xù)的工作在這些點(diǎn)上斷開(kāi),以便于檢查和肯定階段成果?;€是配置項(xiàng)繼續(xù)發(fā)展的一個(gè)固定基礎(chǔ)。

實(shí)行SCM不管是對(duì)軟件開(kāi)發(fā)者、測(cè)試者、項(xiàng)目經(jīng)理、QA人員,還是客戶(hù)都將會(huì)獲得很多好處:有助于規(guī)范團(tuán)隊(duì)各個(gè)角色的行為,同時(shí)又為各個(gè)角色之間的任務(wù)傳遞和交流提供無(wú)縫的接合;能幫助項(xiàng)目經(jīng)理更好地了解項(xiàng)目的進(jìn)度、開(kāi)發(fā)人員的負(fù)荷、工作效率和產(chǎn)品質(zhì)量狀況、交付日期等信息。

SCM分為四大功能領(lǐng)域:配置標(biāo)記、變更控制、配置狀態(tài)記錄、配置審核。

配置標(biāo)記:涉及標(biāo)記軟件系統(tǒng)的結(jié)構(gòu),標(biāo)記獨(dú)立部件,并使它們是可訪問(wèn)的。配置標(biāo)記的目的,是在整個(gè)生命周期中標(biāo)記系統(tǒng)各部件并提供對(duì)軟件及其軟件產(chǎn)品的跟蹤能力。

配置變更控制:涉及在軟件生命周期中控制軟件產(chǎn)品的發(fā)布和變更,目的是建立保證軟件產(chǎn)品質(zhì)量的機(jī)制。它回答:什么是受控的?受控產(chǎn)品如何變更?誰(shuí)控制變更?何時(shí)接受,恢復(fù),驗(yàn)證變更?

配置狀態(tài)記錄:涉及記錄和報(bào)告變更過(guò)程,目的是不間斷記錄所有基線項(xiàng)的狀態(tài)和歷史,并進(jìn)行維護(hù),它解決以下問(wèn)題:系統(tǒng)已經(jīng)做了什么變更?此問(wèn)題將會(huì)對(duì)多少個(gè)文獻(xiàn)產(chǎn)生影響?

配置審核:將驗(yàn)證軟件產(chǎn)品的構(gòu)造是否符合需求、標(biāo)準(zhǔn)、或協(xié)議的規(guī)定,目的是根據(jù)SCM的過(guò)程和程序,驗(yàn)證所有的軟件產(chǎn)品已經(jīng)產(chǎn)生并有對(duì)的標(biāo)記和描述,所有的變更需求都已解決。

SCM從應(yīng)用層次上可以從低到高分為三級(jí):版本控制、以開(kāi)發(fā)者為中心、過(guò)程驅(qū)動(dòng)。

版本控制:重要應(yīng)用于個(gè)人獨(dú)立開(kāi)發(fā)或小組開(kāi)發(fā),它可以控制任何文獻(xiàn)的版本、實(shí)現(xiàn)分支和歸并功能、進(jìn)行文本比較、標(biāo)記注釋和版本報(bào)告信息,重要工具有我們目前用到的VisualSourceSafe及IntersolvPVCS。

以開(kāi)發(fā)者為中心:重要應(yīng)用于部門(mén)級(jí)開(kāi)發(fā),它可用于軟件維護(hù)、不斷增長(zhǎng)的開(kāi)發(fā)任務(wù)、并行開(kāi)發(fā)、QA及測(cè)試,它面向大型團(tuán)隊(duì)、利于交流、能最大限度地運(yùn)用人力資源,重要工具為RationalClearCase及MKSSourceIntegrity。

過(guò)程驅(qū)動(dòng):重要使用于公司級(jí)開(kāi)發(fā),著重解決新的工具引入、IT審核、管理報(bào)告、復(fù)雜的生命周期、應(yīng)用工具包、集成解決方案、資料庫(kù)等問(wèn)題,實(shí)現(xiàn)真正規(guī)范的團(tuán)隊(duì)開(kāi)發(fā)。1.10軟件過(guò)程改善目前,CMM已經(jīng)發(fā)展到CMMI(CapabilityMat(yī)urityModelIntegration,能力成熟度模型集成)階段。自20世紀(jì)80年代末以來(lái),SEI開(kāi)發(fā)了一系列涉及多個(gè)學(xué)科的CMM標(biāo)準(zhǔn),涉及系統(tǒng)工程、軟件工程、軟件獲取、生產(chǎn)力實(shí)踐及集成產(chǎn)品和過(guò)程開(kāi)發(fā),希望通過(guò)幫助組織提高人員、技術(shù)和過(guò)程的成熟度來(lái)改善組織整體軟件生產(chǎn)能力。然而,多個(gè)模型的同時(shí)使用限制和阻礙了組織過(guò)程改善的能力。于是,SEI中止了對(duì)CMMI源模型的更新,開(kāi)始集中開(kāi)發(fā)CMMI項(xiàng)目。CMMI項(xiàng)目融合了SW-CMMv2.0draftC、EIA/IS731、SECM以及IPD-CMMv0.98的內(nèi)容,形成了組織范圍內(nèi)過(guò)程改善的單一集成模型。預(yù)計(jì)到2023年末,CMMI-SE/SW/IPPD/Aver1.1將正式發(fā)行。CMMI項(xiàng)目為工業(yè)界和政府部門(mén)提供了一個(gè)集成的產(chǎn)品集,重要目的是消除不同模型之間的不一致和反復(fù),減少基于模型改善的成本。未來(lái)的CMMI將以更加系統(tǒng)和一致的框架來(lái)指導(dǎo)組織改善軟件過(guò)程,提高產(chǎn)品和服務(wù)的開(kāi)發(fā)、獲取和維護(hù)能力。SW-CMM重要應(yīng)用在兩大方面:能力評(píng)估和過(guò)程改善。1.能力評(píng)估SW-CMM是基于政府評(píng)估軟件承包商的軟件能力發(fā)展而來(lái)的,有兩種通用的評(píng)估方法用以評(píng)估組織軟件過(guò)程的成熟度:軟件過(guò)程評(píng)估和軟件能力評(píng)價(jià)?!褴浖^(guò)程評(píng)估:用于擬定一個(gè)組織當(dāng)前的軟件工程過(guò)程狀態(tài)及組織所面臨的軟件過(guò)程的優(yōu)先改善問(wèn)題,為組織領(lǐng)導(dǎo)層提供報(bào)告以獲得組織對(duì)軟件過(guò)程改善的支持。軟件過(guò)程評(píng)估集中關(guān)注組織自身的軟件過(guò)程,在一種合作的、開(kāi)放的環(huán)境中進(jìn)行。評(píng)估的成功取決于管理者和專(zhuān)業(yè)人員對(duì)組織軟件過(guò)程改善的支持。CBA-IPI是一種軟件過(guò)程評(píng)估方法,●軟件能力評(píng)價(jià):用于辨認(rèn)合格的軟件承包商或者監(jiān)控軟件承包商開(kāi)發(fā)軟件的過(guò)程狀態(tài)。軟件能力評(píng)價(jià)集中關(guān)注辨認(rèn)在預(yù)算和進(jìn)度規(guī)定范圍內(nèi)完畢制造出高質(zhì)量的軟件產(chǎn)品的軟件協(xié)議及相關(guān)風(fēng)險(xiǎn)。評(píng)價(jià)在一種審核的環(huán)境中進(jìn)行,重點(diǎn)在于揭示組織實(shí)際執(zhí)行軟件過(guò)程的文檔化的審核記錄。SCE是SEI開(kāi)發(fā)的一種基于CMM面向軟件能力評(píng)價(jià)的方法。SW-CMM分為5個(gè)成熟度等級(jí):初始級(jí)、可反復(fù)級(jí)、已定義級(jí)、可管理級(jí)和優(yōu)化級(jí)。其中每個(gè)成熟度等級(jí)都是由一些關(guān)鍵過(guò)程域和關(guān)鍵實(shí)踐組成。CMM的目的是幫助軟件公司對(duì)軟件工程過(guò)程進(jìn)行管理和改善,增強(qiáng)開(kāi)發(fā)與改善能力,從而能準(zhǔn)時(shí)地、不超預(yù)算地開(kāi)發(fā)出高質(zhì)量的軟件。公司實(shí)行CMM模型并評(píng)估可為公司帶來(lái)如下好處:指導(dǎo)軟件組織提高軟件開(kāi)發(fā)管理能力;減少軟件承包商和采購(gòu)者的風(fēng)險(xiǎn);評(píng)估軟件承包商的軟件開(kāi)發(fā)管理能力;幫助軟件公司辨認(rèn)開(kāi)發(fā)和維護(hù)軟件的有效過(guò)程和關(guān)鍵實(shí)踐;幫助軟件公司辨認(rèn)為達(dá)成CMM更高成熟等級(jí)所必須的關(guān)鍵實(shí)踐;增長(zhǎng)軟件公司的國(guó)際競(jìng)爭(zhēng)能力。CMM為公司的軟件過(guò)程能力提供了一個(gè)階梯式的進(jìn)化框架,階梯共有五級(jí)。第一級(jí)只是一個(gè)起點(diǎn),任何準(zhǔn)備按CMM體系進(jìn)化的公司都自然處在這個(gè)起點(diǎn)上,并通過(guò)它向第二級(jí)邁進(jìn)。除第一級(jí)外,每一級(jí)都設(shè)定了一組目的(Goals),假如達(dá)成了這組目的,則表白達(dá)成了這個(gè)成熟級(jí)別,可以向下一級(jí)別邁進(jìn)。除了初始級(jí)別以外,CMM的每個(gè)成熟級(jí)別的實(shí)現(xiàn)都定義成可操作的,每一級(jí)包含了實(shí)現(xiàn)這一級(jí)目的的若干關(guān)鍵過(guò)程域(KPA),共有18?jìng)€(gè)關(guān)鍵過(guò)程域(KPA)分布于2、3、4、5級(jí)當(dāng)中,如下表所示。

成熟級(jí)關(guān)鍵過(guò)程域(KPA)5、優(yōu)化級(jí)(Optimizing)缺陷防止(DefectPrevention)技術(shù)變更管理(TechnologyChangeManagement)過(guò)程變更管理(ProcessChangeManagement)4、管理級(jí)(Managed)量化過(guò)程管理(QuantitativeProcessManagement)軟件質(zhì)量管理(SoftwareQualityManagement)3、定義級(jí)(Defined)軟件機(jī)構(gòu)過(guò)程關(guān)注點(diǎn)(OrganizationProcessFocus)組織過(guò)程定義(OrganizationProce

溫馨提示

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