軟件工程的方法(開發(fā)方法)、工具(支持方法的工具)、過程(管理過程)稱為軟件工程的三要素。
一、軟件的開發(fā)方法(面向過程、面向?qū)ο?、面向?shù)據(jù))
1.1
a) 面向過程的方法:也被稱為傳統(tǒng)的軟件開發(fā)方法
特點:程序的基本執(zhí)行過程主要不是由用戶控制,而是由程序控制的,并卻按時序進行。面向過程的方法的優(yōu)點是簡單實用,缺點是維護困難。強調(diào)“‘自頂向下,逐步求精”。
面向過程的方法在軍事上的實時跟蹤系統(tǒng)中就有很好的應(yīng)用。
b) 面向?qū)ο蟮姆椒ǎ阂卜Q為現(xiàn)代的軟件工程開發(fā)方法
面向?qū)ο笫钦J(rèn)識論和方法學(xué)的一個基本原則。面向?qū)ο蠓椒ǎ∣hject--Oriented Method,OOM)是一種運用對象、類、消息傳遞、繼承、封裝、聚合、多態(tài)性等概念來構(gòu)造軟件系統(tǒng)的軟件開發(fā)方法。
c) 面向數(shù)據(jù)的方法:面向“元數(shù)據(jù)”的方法,也是建設(shè)信息系統(tǒng)數(shù)據(jù)庫和數(shù)據(jù)倉庫的基本方法。元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),組織數(shù)據(jù)的數(shù)據(jù)。
例如,數(shù)據(jù)庫概念設(shè)計中的實體名和屬性名,數(shù)據(jù)庫物力設(shè)計中的表名稱和字段名。它們就是“元數(shù)據(jù)”,而某個具體的實例就不是元數(shù)據(jù),它們叫做對象或記錄,是被元數(shù)據(jù)組織或統(tǒng)帥的數(shù)據(jù)。概括起來,要點如下:
1.數(shù)據(jù)位于企業(yè)信息系統(tǒng)的中國心。信息系統(tǒng)就是對數(shù)據(jù)的輸入、處理、傳輸、查詢和輸出。
2.只要企業(yè)的業(yè)務(wù)方向不變和內(nèi)容不變,企業(yè)的元數(shù)據(jù)室穩(wěn)定的,由元數(shù)據(jù)構(gòu)成的數(shù)據(jù)模型(Data Model)也是穩(wěn)定的。
3.對元數(shù)據(jù)的處理方法是可變的,
4.信息系統(tǒng)的核心是數(shù)據(jù)模型。數(shù)據(jù)模型包括概念數(shù)據(jù)模型(Comceptual Data Model,CDM)和物理數(shù)據(jù)模型(Physics Data Model,PDM)。
5.信息系統(tǒng)的實現(xiàn)主要是面向?qū)ο?,其次才是面向?shù)據(jù)和面向過程。
特點:在程序的執(zhí)行過程中,根據(jù)數(shù)據(jù)流動和處理的需要,有時由程序控制(如觸發(fā)器和存儲過程的執(zhí)行),有時由用戶控制(如用戶在界面上的選擇)。
1.2軟件工程的5個面向理論:面向流程分析、面向數(shù)據(jù)設(shè)計、面向?qū)ο髮崿F(xiàn)、面向功能測試、面向過程管理。
二、軟件支持過程
軟件工程的支持過程由支持軟件生命周期各個階段的生產(chǎn)工具組成。生產(chǎn)工具包括需求分析工具、設(shè)計工具、實現(xiàn)工具,維護工具,配置工具。軟件開發(fā)環(huán)境又稱CASE工具。
完整的CASE內(nèi)容包括三個方面:CASE方法(快速原型法或迭代方法)、CASE技術(shù)(實體關(guān)系建模技術(shù)或面向?qū)ο蠼<夹g(shù))、CASE工具(軟件開發(fā)環(huán)境)。CASE方法需要CASE技術(shù)支持,CASE技術(shù)需要CCASE工具的實現(xiàn)。
三、軟件管理過程
許多軟件企業(yè)的失敗歸根結(jié)底都是管理的失敗,表現(xiàn)在過程管理上的無序狀態(tài)。軟件工程中的三類過程管理分別是:
名稱 | 來源 | 特點 |
ISO9000質(zhì)量管理和質(zhì)量保證體系 | 國際標(biāo)準(zhǔn)化組織 | 安20多個質(zhì)量要素管理 |
CMMI軟件能力成熟度模型 | 美國卡內(nèi)基-梅隆軟件工程研究所 | 按24個過程域PA,分階段模型和連接模型兩種方式管理,屬于重載過程管理 |
軟件企業(yè)文化 | MS、IBM、敏捷方法 | 屬于輕載過程管理 |