第3章-信息系統(tǒng)建設(shè)概論_第1頁
第3章-信息系統(tǒng)建設(shè)概論_第2頁
第3章-信息系統(tǒng)建設(shè)概論_第3頁
第3章-信息系統(tǒng)建設(shè)概論_第4頁
第3章-信息系統(tǒng)建設(shè)概論_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3章章 信息系統(tǒng)建設(shè)概論信息系統(tǒng)建設(shè)概論本章主要內(nèi)容本章主要內(nèi)容l3.1 信息系統(tǒng)建設(shè)是復(fù)雜的社會過程信息系統(tǒng)建設(shè)是復(fù)雜的社會過程l3.2 信息系統(tǒng)建設(shè)的一般方法信息系統(tǒng)建設(shè)的一般方法l3.3 信息系統(tǒng)的生命周期信息系統(tǒng)的生命周期l3.4 基于生命周期的開發(fā)方法(信息系統(tǒng)開發(fā)過程)基于生命周期的開發(fā)方法(信息系統(tǒng)開發(fā)過程)l3.5 基于開發(fā)技術(shù)的開發(fā)方法(信息系統(tǒng)開發(fā)技術(shù))基于開發(fā)技術(shù)的開發(fā)方法(信息系統(tǒng)開發(fā)技術(shù))l3.6 信息系統(tǒng)開發(fā)的組織管理信息系統(tǒng)開發(fā)的組織管理l3.7 信息系統(tǒng)開發(fā)工具(信息系統(tǒng)開發(fā)工具(CASE工具)工具)3.1 信息系統(tǒng)建設(shè)是復(fù)雜的社會過程信息系統(tǒng)建設(shè)是復(fù)雜的社

2、會過程1. 信息系統(tǒng)的復(fù)雜性體現(xiàn)在:信息系統(tǒng)的復(fù)雜性體現(xiàn)在:技術(shù)手段復(fù)雜技術(shù)手段復(fù)雜內(nèi)容復(fù)雜,目標(biāo)多樣內(nèi)容復(fù)雜,目標(biāo)多樣投資密度大,效益難以計算投資密度大,效益難以計算環(huán)境復(fù)雜多變環(huán)境復(fù)雜多變技術(shù)的復(fù)雜性技術(shù)的復(fù)雜性l計算機(jī)硬、軟件技術(shù)計算機(jī)硬、軟件技術(shù)l數(shù)據(jù)通訊與網(wǎng)絡(luò)技術(shù)數(shù)據(jù)通訊與網(wǎng)絡(luò)技術(shù)l各種信息采集與存貯各種信息采集與存貯l各種控制與決策方法各種控制與決策方法l建模與仿真技術(shù)建模與仿真技術(shù)l人工智能技術(shù)人工智能技術(shù)l技術(shù)方案難以檢驗證明技術(shù)方案難以檢驗證明( (樣品?實物模型?樣品?實物模型?) )內(nèi)容的復(fù)雜性內(nèi)容的復(fù)雜性l一個組織的管理與業(yè)務(wù)信息量大、面廣,形式多樣、一個組織的管理與業(yè)

3、務(wù)信息量大、面廣,形式多樣、來源繁雜,信息內(nèi)容和處理要求又涉及到廣泛的學(xué)來源繁雜,信息內(nèi)容和處理要求又涉及到廣泛的學(xué)科和事業(yè)領(lǐng)域。科和事業(yè)領(lǐng)域。l一個組織的信息系統(tǒng)必是一個規(guī)模龐大,結(jié)構(gòu)復(fù)雜,一個組織的信息系統(tǒng)必是一個規(guī)模龐大,結(jié)構(gòu)復(fù)雜,具備多種功能、實現(xiàn)多個目標(biāo)的大系統(tǒng)具備多種功能、實現(xiàn)多個目標(biāo)的大系統(tǒng)l一個組織內(nèi)各類機(jī)構(gòu)和人員的信息需求不盡相同,一個組織內(nèi)各類機(jī)構(gòu)和人員的信息需求不盡相同,有些需求可能相互沖突,需求的不確定性和可變性有些需求可能相互沖突,需求的不確定性和可變性非常大。非常大。l組織和外部環(huán)境之間的數(shù)據(jù)交換難以控制。組織和外部環(huán)境之間的數(shù)據(jù)交換難以控制。投資的密集性投資的密集

4、性l信息系統(tǒng)的建設(shè),需要巨額投資,是一種資金密集型信息系統(tǒng)的建設(shè),需要巨額投資,是一種資金密集型的建設(shè)項目的建設(shè)項目l智力密集型或者知識密集型智力密集型或者知識密集型l需用大量人工,是勞動密集型項目需用大量人工,是勞動密集型項目l效益難以計算效益難以計算信息系統(tǒng)建設(shè)的統(tǒng)計數(shù)據(jù)信息系統(tǒng)建設(shè)的統(tǒng)計數(shù)據(jù)l據(jù)國外據(jù)國外19951995年對年對365365家公司的調(diào)查:家公司的調(diào)查:3131的信息系統(tǒng)項目在完成之前被取消的信息系統(tǒng)項目在完成之前被取消5353的項目沒有達(dá)到預(yù)定功能的項目沒有達(dá)到預(yù)定功能在在36823682個項目中只有個項目中只有1212的項目按時和按預(yù)算完成的項目按時和按預(yù)算完成l據(jù)某顧

5、問公司據(jù)某顧問公司20042004年報告年報告( (對對4 4萬個信息系統(tǒng)項目的萬個信息系統(tǒng)項目的調(diào)查調(diào)查) )ERPERP失敗率達(dá)到失敗率達(dá)到70%70%成功項目只能達(dá)到成功項目只能達(dá)到34%34%有爭議的項目達(dá)到有爭議的項目達(dá)到51%51%失敗項目達(dá)到失敗項目達(dá)到15%15%成功的含義:在規(guī)定的時間內(nèi),以規(guī)定的預(yù)算完成規(guī)定的目標(biāo)。成功的含義:在規(guī)定的時間內(nèi),以規(guī)定的預(yù)算完成規(guī)定的目標(biāo)。環(huán)境的復(fù)雜性環(huán)境的復(fù)雜性l涉及到組織內(nèi)部各級機(jī)構(gòu)、管理人員涉及到組織內(nèi)部各級機(jī)構(gòu)、管理人員l涉及組織面臨的外部環(huán)境及發(fā)展趨勢涉及組織面臨的外部環(huán)境及發(fā)展趨勢l要考慮管理體制、管理思想、管理方法和管理手段要考慮

6、管理體制、管理思想、管理方法和管理手段的相互匹配、相互促進(jìn)的相互匹配、相互促進(jìn)l考慮人的習(xí)慣、心理狀態(tài)及現(xiàn)行的制度、慣例和社考慮人的習(xí)慣、心理狀態(tài)及現(xiàn)行的制度、慣例和社會、政治諸因素會、政治諸因素信息系統(tǒng)開發(fā)是一個社會過程信息系統(tǒng)開發(fā)是一個社會過程l問題描述和方案驗證不同于一般技術(shù)工程問題描述和方案驗證不同于一般技術(shù)工程技術(shù)工程問題明確,可以模擬,或制作實物模型、樣品進(jìn)技術(shù)工程問題明確,可以模擬,或制作實物模型、樣品進(jìn)行驗證,信息系統(tǒng)的問題確定性差,難以提前驗證解決方行驗證,信息系統(tǒng)的問題確定性差,難以提前驗證解決方案。案。l人的影響人的影響信息系統(tǒng)是人機(jī)系統(tǒng),有來自于人的障礙。如了解、溝通、

7、信息系統(tǒng)是人機(jī)系統(tǒng),有來自于人的障礙。如了解、溝通、實施困難。實施困難。l社會環(huán)境的影響社會環(huán)境的影響如政策、競爭、文化觀念等對信息系統(tǒng)影響力很大,不同如政策、競爭、文化觀念等對信息系統(tǒng)影響力很大,不同于純技術(shù)工程。于純技術(shù)工程。3.2 信息系統(tǒng)建設(shè)的一般方法信息系統(tǒng)建設(shè)的一般方法l3.2.1 早期方法的不足早期方法的不足l早期,早期,人們對信息系統(tǒng)的復(fù)雜性缺乏足夠的認(rèn)識,人們對信息系統(tǒng)的復(fù)雜性缺乏足夠的認(rèn)識,認(rèn)為信息系統(tǒng)無非是認(rèn)為信息系統(tǒng)無非是“大程序大程序”,缺乏,缺乏科學(xué)的科學(xué)的開發(fā)方開發(fā)方法法:目標(biāo)含糊目標(biāo)含糊通信誤解通信誤解步驟混亂步驟混亂缺乏管理控制缺乏管理控制3.2.2 系統(tǒng)方法

8、的應(yīng)用系統(tǒng)方法的應(yīng)用l系統(tǒng)科學(xué)方法為人們提供了新的思維模式,是研究系統(tǒng)科學(xué)方法為人們提供了新的思維模式,是研究復(fù)雜系統(tǒng)的有效工具。復(fù)雜系統(tǒng)的有效工具。l錢學(xué)森曾指出錢學(xué)森曾指出“系統(tǒng)工程是組織管理系統(tǒng)的規(guī)劃、系統(tǒng)工程是組織管理系統(tǒng)的規(guī)劃、研究、制造、試驗和使用的科學(xué)方法,使一種對所研究、制造、試驗和使用的科學(xué)方法,使一種對所有系統(tǒng)都具有普遍意義的方法有系統(tǒng)都具有普遍意義的方法”。l系統(tǒng)方法在信息系統(tǒng)建設(shè)中的應(yīng)用:系統(tǒng)方法在信息系統(tǒng)建設(shè)中的應(yīng)用:還原論與整體論相結(jié)合還原論與整體論相結(jié)合微觀分析與宏觀綜合相結(jié)合微觀分析與宏觀綜合相結(jié)合定性判斷與定量計算相結(jié)合定性判斷與定量計算相結(jié)合嚴(yán)格生命周期階段

9、與反復(fù)迭代相結(jié)合嚴(yán)格生命周期階段與反復(fù)迭代相結(jié)合3.2.3 系統(tǒng)建模系統(tǒng)建模/模型化模型化分析研究復(fù)雜系統(tǒng)問題,建模是一種基本手分析研究復(fù)雜系統(tǒng)問題,建模是一種基本手段。段。建模(建模(modeling)就是為描述系統(tǒng)的構(gòu)成和)就是為描述系統(tǒng)的構(gòu)成和行為,對現(xiàn)實系統(tǒng)的各種因素進(jìn)行適當(dāng)篩選,行為,對現(xiàn)實系統(tǒng)的各種因素進(jìn)行適當(dāng)篩選,用一定方式(數(shù)學(xué)公式、符號、圖形、圖像用一定方式(數(shù)學(xué)公式、符號、圖形、圖像等)表示現(xiàn)實系統(tǒng)的過程。等)表示現(xiàn)實系統(tǒng)的過程。建模也稱模型化。建模也稱模型化。1. 系統(tǒng)模型的概念系統(tǒng)模型的概念l系統(tǒng)模型是指以某種確定的形式(如文字、符號、系統(tǒng)模型是指以某種確定的形式(如文

10、字、符號、圖表、實物、數(shù)學(xué)公式等),對系統(tǒng)某一方面本質(zhì)圖表、實物、數(shù)學(xué)公式等),對系統(tǒng)某一方面本質(zhì)屬性的描述。屬性的描述。l一個適用的系統(tǒng)模型應(yīng)該具有如下一個適用的系統(tǒng)模型應(yīng)該具有如下3個特征:個特征:它是現(xiàn)實系統(tǒng)的抽象或模仿;它是現(xiàn)實系統(tǒng)的抽象或模仿; 它是由反映系統(tǒng)本質(zhì)或特征的主要因素(要素)構(gòu)成的;它是由反映系統(tǒng)本質(zhì)或特征的主要因素(要素)構(gòu)成的; 它集中體現(xiàn)了這些主要因素之間的關(guān)系。它集中體現(xiàn)了這些主要因素之間的關(guān)系。l根據(jù)抽象程度:概念模型、邏輯模型和物理模型。根據(jù)抽象程度:概念模型、邏輯模型和物理模型。l根據(jù)對時間的依賴:靜態(tài)模型和動態(tài)模型。根據(jù)對時間的依賴:靜態(tài)模型和動態(tài)模型。l

11、全面徹底地描述一個系統(tǒng),通常需要使用多個模型。全面徹底地描述一個系統(tǒng),通常需要使用多個模型。2. 管理系統(tǒng)模型管理系統(tǒng)模型l管理模型描述組織的狀況,包括:管理模型描述組織的狀況,包括:組織的靜態(tài)特征,如組織結(jié)構(gòu)圖、實體關(guān)系圖組織的靜態(tài)特征,如組織結(jié)構(gòu)圖、實體關(guān)系圖動態(tài)特征,如任務(wù)分解圖、狀態(tài)轉(zhuǎn)換圖、甘特圖、動態(tài)特征,如任務(wù)分解圖、狀態(tài)轉(zhuǎn)換圖、甘特圖、PERTPERT圖圖業(yè)務(wù)流程,如流程圖業(yè)務(wù)流程,如流程圖業(yè)務(wù)規(guī)則,如決策樹、決策表業(yè)務(wù)規(guī)則,如決策樹、決策表管理系統(tǒng)管理系統(tǒng)靜態(tài)特征靜態(tài)特征( (組織機(jī)構(gòu)、對象、角色組織機(jī)構(gòu)、對象、角色) )動態(tài)特征(行為動態(tài)特征(行為/ /事件事件/ /行動行動

12、/ /狀態(tài)狀態(tài))業(yè)務(wù)流程業(yè)務(wù)流程業(yè)務(wù)規(guī)則業(yè)務(wù)規(guī)則. .模型模型3. 信息系統(tǒng)模型信息系統(tǒng)模型l信息系統(tǒng)模型描述計算機(jī)信息系統(tǒng)的狀況。信息系統(tǒng)模型描述計算機(jī)信息系統(tǒng)的狀況。l每種模型都有其標(biāo)準(zhǔn)符號、慣例、語法規(guī)則和用途,當(dāng)這一組每種模型都有其標(biāo)準(zhǔn)符號、慣例、語法規(guī)則和用途,當(dāng)這一組符號和規(guī)則形成了一套完整嚴(yán)謹(jǐn)?shù)谋硎菊Z言,就形成建模語言。符號和規(guī)則形成了一套完整嚴(yán)謹(jǐn)?shù)谋硎菊Z言,就形成建模語言。l因為信息系統(tǒng)是為管理服務(wù)的,因此有些模型在管理系統(tǒng)和信因為信息系統(tǒng)是為管理服務(wù)的,因此有些模型在管理系統(tǒng)和信息系統(tǒng)中通用,如流程圖、狀態(tài)圖息系統(tǒng)中通用,如流程圖、狀態(tài)圖 、決策樹、決策樹/決策表等。決策表等

13、。模型名稱模型名稱用途用途業(yè)務(wù)流程圖業(yè)務(wù)流程圖描述不同職能部門業(yè)務(wù)活動分工和活動過程的模型描述不同職能部門業(yè)務(wù)活動分工和活動過程的模型數(shù)據(jù)流圖數(shù)據(jù)流圖描述數(shù)據(jù)的產(chǎn)生、處理、存儲和去向的信息處理模型描述數(shù)據(jù)的產(chǎn)生、處理、存儲和去向的信息處理模型程序流程圖程序流程圖描述程序完成順序、分支、循環(huán)等處理過程的模型描述程序完成順序、分支、循環(huán)等處理過程的模型實體關(guān)系圖實體關(guān)系圖描述系統(tǒng)中有價值的實體及其關(guān)系的數(shù)據(jù)模型描述系統(tǒng)中有價值的實體及其關(guān)系的數(shù)據(jù)模型模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖描述軟件功能模塊及其調(diào)用關(guān)系的層次模型描述軟件功能模塊及其調(diào)用關(guān)系的層次模型判定表、判定樹判定表、判定樹描述決策條件及其行動關(guān)系的

14、模型描述決策條件及其行動關(guān)系的模型UMLUML( (類圖、用例圖、順序圖類圖、用例圖、順序圖等等) )描述軟件系統(tǒng)結(jié)構(gòu)及行為的一組模型描述軟件系統(tǒng)結(jié)構(gòu)及行為的一組模型信息系統(tǒng)模型的作用信息系統(tǒng)模型的作用l建立信息系統(tǒng)模型有以下主要作用:建立信息系統(tǒng)模型有以下主要作用:對復(fù)雜問題進(jìn)行簡化描述,幫助有關(guān)人員快速、簡單直觀、對復(fù)雜問題進(jìn)行簡化描述,幫助有關(guān)人員快速、簡單直觀、準(zhǔn)確地了解系統(tǒng);準(zhǔn)確地了解系統(tǒng);建模的過程使得分析師和設(shè)計師能更全面地研究系統(tǒng),深建模的過程使得分析師和設(shè)計師能更全面地研究系統(tǒng),深思熟慮,減少遺漏,以形成更成熟的方案;思熟慮,減少遺漏,以形成更成熟的方案;各階段產(chǎn)生的模型為后

15、續(xù)階段的有關(guān)人員提供了工作依據(jù);各階段產(chǎn)生的模型為后續(xù)階段的有關(guān)人員提供了工作依據(jù);為項目各類人員提供了統(tǒng)一的交流工具,利于溝通和團(tuán)隊為項目各類人員提供了統(tǒng)一的交流工具,利于溝通和團(tuán)隊合作;合作;為項目驗收和將來的維護(hù)工作提供了文檔依據(jù);為項目驗收和將來的維護(hù)工作提供了文檔依據(jù);利用工具將模型映射為特定平臺的可執(zhí)行代碼(利用工具將模型映射為特定平臺的可執(zhí)行代碼(MDDMDD,Model-Driven DevelopmentModel-Driven Development),減少開發(fā)人員工作量。),減少開發(fā)人員工作量。4. 統(tǒng)一建模語言統(tǒng)一建模語言UMLl統(tǒng)一建模語言統(tǒng)一建模語言UML(unif

16、ied modeling language)是由單一元模型支持的一組圖示法。這些圖示法)是由單一元模型支持的一組圖示法。這些圖示法有助于表達(dá)與設(shè)計軟件系統(tǒng),特別是采用面向?qū)ο笥兄诒磉_(dá)與設(shè)計軟件系統(tǒng),特別是采用面向?qū)ο蠓椒?gòu)造的軟件系統(tǒng)。方法構(gòu)造的軟件系統(tǒng)。lUML通過不同的圖來描述系統(tǒng)的結(jié)構(gòu)(通過不同的圖來描述系統(tǒng)的結(jié)構(gòu)(structure)、行為(、行為(behavior)、交互過程()、交互過程(interaction)。)。lUML 2.2中一共定義了中一共定義了14種圖(種圖(diagram):):系統(tǒng)結(jié)構(gòu):類圖、對象圖、包圖、構(gòu)件圖、部署圖等系統(tǒng)結(jié)構(gòu):類圖、對象圖、包圖、構(gòu)件圖、部

17、署圖等系統(tǒng)行為:活動圖、狀態(tài)圖、用例圖系統(tǒng)行為:活動圖、狀態(tài)圖、用例圖交互過程:通信圖、順序圖、計時圖等交互過程:通信圖、順序圖、計時圖等3.3 信息系統(tǒng)的生命周期信息系統(tǒng)的生命周期l信息系統(tǒng)開發(fā)圍繞信息系統(tǒng)生命周期來進(jìn)行,有時信息系統(tǒng)開發(fā)圍繞信息系統(tǒng)生命周期來進(jìn)行,有時也稱系統(tǒng)開發(fā)生命周期(也稱系統(tǒng)開發(fā)生命周期(SDLCSDLC,System System Development Life CycleDevelopment Life Cycle),體現(xiàn)系統(tǒng)工程的思想。),體現(xiàn)系統(tǒng)工程的思想。l包含包含5 5個階段:個階段:規(guī)劃、分析、設(shè)計、實施、運維規(guī)劃、分析、設(shè)計、實施、運維生命周期的階段

18、生命周期的階段可行性可行性研究研究開發(fā)開發(fā)請求請求詳細(xì)詳細(xì)調(diào)查調(diào)查系統(tǒng)系統(tǒng)轉(zhuǎn)換轉(zhuǎn)換總體總體設(shè)計設(shè)計邏輯邏輯設(shè)計設(shè)計審批審批初步初步調(diào)查調(diào)查驗收驗收系統(tǒng)系統(tǒng)維護(hù)維護(hù)系統(tǒng)系統(tǒng)評價評價詳細(xì)詳細(xì)設(shè)計設(shè)計審查審查編程編程調(diào)試調(diào)試審查審查運行維護(hù)運行維護(hù)系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃系統(tǒng)實施系統(tǒng)實施系統(tǒng)分析系統(tǒng)分析系統(tǒng)設(shè)計系統(tǒng)設(shè)計1. 階段任務(wù)階段任務(wù)2. 設(shè)計文檔設(shè)計文檔各階段任務(wù)各階段任務(wù)l系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃確定信息系統(tǒng)的發(fā)展規(guī)劃;企業(yè)業(yè)務(wù)流程的識別、改革與確定信息系統(tǒng)的發(fā)展規(guī)劃;企業(yè)業(yè)務(wù)流程的識別、改革與創(chuàng)新;對建設(shè)新系統(tǒng)的需求作出初步研究,確定信息系統(tǒng)創(chuàng)新;對建設(shè)新系統(tǒng)的需求作出初步研究,確定信息系統(tǒng)的總體結(jié)構(gòu);

19、確定系統(tǒng)的備選方案,對這些方案進(jìn)行可行的總體結(jié)構(gòu);確定系統(tǒng)的備選方案,對這些方案進(jìn)行可行性分析性分析 l系統(tǒng)分析系統(tǒng)分析詳細(xì)調(diào)查,確定系統(tǒng)的基本目標(biāo)和邏輯功能要求詳細(xì)調(diào)查,確定系統(tǒng)的基本目標(biāo)和邏輯功能要求l系統(tǒng)設(shè)計系統(tǒng)設(shè)計根據(jù)系統(tǒng)說明書中規(guī)定的功能要求,考慮實際條件,具體根據(jù)系統(tǒng)說明書中規(guī)定的功能要求,考慮實際條件,具體設(shè)計實現(xiàn)邏輯模型的技術(shù)方案設(shè)計實現(xiàn)邏輯模型的技術(shù)方案 l系統(tǒng)實施系統(tǒng)實施計算機(jī)等設(shè)備的購置、安裝和調(diào)試;編寫、調(diào)試和測試程計算機(jī)等設(shè)備的購置、安裝和調(diào)試;編寫、調(diào)試和測試程序;人員培訓(xùn);數(shù)據(jù)準(zhǔn)備或轉(zhuǎn)換;系統(tǒng)調(diào)試與轉(zhuǎn)換序;人員培訓(xùn);數(shù)據(jù)準(zhǔn)備或轉(zhuǎn)換;系統(tǒng)調(diào)試與轉(zhuǎn)換 l系統(tǒng)維護(hù)系統(tǒng)維

20、護(hù)運行情況的記錄;必要的修改;評價和總結(jié)等運行情況的記錄;必要的修改;評價和總結(jié)等信息系統(tǒng)開發(fā)方法信息系統(tǒng)開發(fā)方法生命周期是指導(dǎo)性方針,很抽象,具體的信息生命周期是指導(dǎo)性方針,很抽象,具體的信息系統(tǒng)開發(fā)方法有很多,主要研究方向有兩類:系統(tǒng)開發(fā)方法有很多,主要研究方向有兩類:l針對開發(fā)過程針對開發(fā)過程不同的信息系統(tǒng)開發(fā)過程模型。關(guān)注整個開發(fā)采取哪些步不同的信息系統(tǒng)開發(fā)過程模型。關(guān)注整個開發(fā)采取哪些步驟,每個步驟包含哪些任務(wù),由什么人完成,任務(wù)的成果驟,每個步驟包含哪些任務(wù),由什么人完成,任務(wù)的成果如何體現(xiàn)等如何體現(xiàn)等也稱為不同的生存周期模型也稱為不同的生存周期模型l針對開發(fā)技術(shù)針對開發(fā)技術(shù)不同的

21、建模方法,從不同的觀點來反映系統(tǒng)的全貌,并采不同的建模方法,從不同的觀點來反映系統(tǒng)的全貌,并采用不同技術(shù)手段予以實現(xiàn)用不同技術(shù)手段予以實現(xiàn)3.4信息系統(tǒng)開發(fā)過程模型信息系統(tǒng)開發(fā)過程模型(基于生命周期的開發(fā)方法)(基于生命周期的開發(fā)方法)l開發(fā)過程的研究和經(jīng)驗的總結(jié):開發(fā)過程的研究和經(jīng)驗的總結(jié):瀑布模型(開發(fā)方法)瀑布模型(開發(fā)方法)原型模型(開發(fā)方法)原型模型(開發(fā)方法)增量模型(迭代開發(fā)方法)增量模型(迭代開發(fā)方法)螺旋模型(開發(fā)方法)螺旋模型(開發(fā)方法)噴泉模型(開發(fā)方法)噴泉模型(開發(fā)方法)敏捷開發(fā)過程(開發(fā)方法)敏捷開發(fā)過程(開發(fā)方法)3.4.1 瀑布模型瀑布模型l強(qiáng)調(diào)階段的劃分和階段

22、嚴(yán)格的順序強(qiáng)調(diào)階段的劃分和階段嚴(yán)格的順序l各階段工作任務(wù)明確,要求文檔完備性各階段工作任務(wù)明確,要求文檔完備性l是一種嚴(yán)格線性的按階段順序的、逐步細(xì)化的開發(fā)是一種嚴(yán)格線性的按階段順序的、逐步細(xì)化的開發(fā)模式,消除了軟件開發(fā)的隨意性模式,消除了軟件開發(fā)的隨意性規(guī)劃規(guī)劃分析分析設(shè)計設(shè)計編程編程測試測試維護(hù)維護(hù)瀑布模型的特點瀑布模型的特點l簡單易用,容易理解簡單易用,容易理解l開發(fā)的進(jìn)程一個順著一個,沒有反饋過程,需要嚴(yán)開發(fā)的進(jìn)程一個順著一個,沒有反饋過程,需要嚴(yán)密控制密控制l允許基線和配置早期接收控制允許基線和配置早期接收控制l一個新的項目不適合這個模型一個新的項目不適合這個模型l用戶直到項目結(jié)束才

23、能看到質(zhì)量如何用戶直到項目結(jié)束才能看到質(zhì)量如何l不允許或者嚴(yán)格限制變更不允許或者嚴(yán)格限制變更瀑布模型(后來實際)瀑布模型(后來實際)實際的瀑布模型瀑布模型的不足瀑布模型的不足l需求:客戶常常難以表達(dá)真正的需求,而這種模型需求:客戶常常難以表達(dá)真正的需求,而這種模型卻要求嚴(yán)格的階段性成果,返工困難,變更代價很卻要求嚴(yán)格的階段性成果,返工困難,變更代價很大大l風(fēng)險:客戶要等到開發(fā)周期的晚期才能看到程序運風(fēng)險:客戶要等到開發(fā)周期的晚期才能看到程序運行的測試版本,這時若發(fā)現(xiàn)大的錯誤,可能引起客行的測試版本,這時若發(fā)現(xiàn)大的錯誤,可能引起客戶的驚慌,其后果也可能是災(zāi)難性的戶的驚慌,其后果也可能是災(zāi)難性的l

24、效率:因為前后任務(wù)的依賴關(guān)系,成員不能并行工效率:因為前后任務(wù)的依賴關(guān)系,成員不能并行工作,有可能花在等待的時間比開發(fā)的時間要長,即作,有可能花在等待的時間比開發(fā)的時間要長,即所謂的所謂的“堵塞狀態(tài)堵塞狀態(tài)”適用于一些需求已明確并且變化較少的信息系統(tǒng)適用于一些需求已明確并且變化較少的信息系統(tǒng)3.4.2 原型開發(fā)方法原型開發(fā)方法l原型原型快速建立起來的可以在計算機(jī)上運行的快速建立起來的可以在計算機(jī)上運行的程程序序,通常選取信息系統(tǒng)中某個關(guān)鍵功能作為原型。,通常選取信息系統(tǒng)中某個關(guān)鍵功能作為原型。編程測試編程測試分析分析定義需求定義需求設(shè)計設(shè)計原型原型實施完成實施完成再構(gòu)造再構(gòu)造原型方法的基本思想

25、和開發(fā)步驟原型方法的基本思想和開發(fā)步驟l基本思想基本思想 在投入大量的人力、物力之前,在限定的時間內(nèi),在投入大量的人力、物力之前,在限定的時間內(nèi),用最經(jīng)濟(jì)的方法構(gòu)造一個系統(tǒng)原型,使用戶盡早看用最經(jīng)濟(jì)的方法構(gòu)造一個系統(tǒng)原型,使用戶盡早看到系統(tǒng)的概貌,在系統(tǒng)原型的實際運行中與用戶一到系統(tǒng)的概貌,在系統(tǒng)原型的實際運行中與用戶一起發(fā)現(xiàn)問題,提出修改意見,不斷完善原型,使它起發(fā)現(xiàn)問題,提出修改意見,不斷完善原型,使它逐步滿足用戶要求逐步滿足用戶要求l開發(fā)步驟開發(fā)步驟明確用戶基本信息需求明確用戶基本信息需求建立初始原型(集成原則、最小系統(tǒng)原則)建立初始原型(集成原則、最小系統(tǒng)原則)評價原型評價原型修改和完

26、善原型修改和完善原型快速原型的開發(fā)工具快速原型的開發(fā)工具l第四代技術(shù)第四代技術(shù)l可復(fù)用軟件構(gòu)件可復(fù)用軟件構(gòu)件l形式化規(guī)約和原型環(huán)境形式化規(guī)約和原型環(huán)境快速原型的類型快速原型的類型l拋棄式原型。將開發(fā)原型看做是溝通工具,永遠(yuǎn)也拋棄式原型。將開發(fā)原型看做是溝通工具,永遠(yuǎn)也不會將一次式原型引入正式運行環(huán)境中。主要解決不會將一次式原型引入正式運行環(huán)境中。主要解決需求的不確定性,二義性,不完整性等。需求的不確定性,二義性,不完整性等。l進(jìn)化式原型。會在未來的系統(tǒng)中包含的原型。這種進(jìn)化式原型。會在未來的系統(tǒng)中包含的原型。這種方法能夠?qū)⒆畲罅康墓ぷ魍度氲秸较到y(tǒng)中。方法能夠?qū)⒆畲罅康墓ぷ魍度氲秸较到y(tǒng)中。l

27、水平原型也稱為行為原型,用來探索預(yù)期系統(tǒng)的一水平原型也稱為行為原型,用來探索預(yù)期系統(tǒng)的一些特定行為,并達(dá)到細(xì)化需求的目的。水平原型通些特定行為,并達(dá)到細(xì)化需求的目的。水平原型通常只是功能導(dǎo)航,并未真實實現(xiàn)功能。主要用在用常只是功能導(dǎo)航,并未真實實現(xiàn)功能。主要用在用戶界面上。戶界面上。l垂直原型也稱為結(jié)構(gòu)化原型,實現(xiàn)了一部分功能。垂直原型也稱為結(jié)構(gòu)化原型,實現(xiàn)了一部分功能。主要用在復(fù)雜的算法實現(xiàn)上。主要用在復(fù)雜的算法實現(xiàn)上。拋棄式原型模型拋棄式原型模型演化式原型模型演化式原型模型是是交付目標(biāo)系交付目標(biāo)系統(tǒng)統(tǒng)建立建立/完善原型完善原型系統(tǒng)充分嗎系統(tǒng)充分嗎?否否軟件過程的演化式原型模型軟件過程的演化

28、式原型模型使用原型系統(tǒng)使用原型系統(tǒng)需求抽象描述需求抽象描述快速原型的典型應(yīng)用快速原型的典型應(yīng)用快速原型的評價快速原型的評價l這個原型所實現(xiàn)的功能與你所期望的一致嗎?這個原型所實現(xiàn)的功能與你所期望的一致嗎?l有遺漏的功能嗎?有遺漏的功能嗎?l有多余的功能嗎?有多余的功能嗎?l你能考慮一下這個原型所沒有涉及到的一些出錯情你能考慮一下這個原型所沒有涉及到的一些出錯情況嗎?況嗎?l這些功能導(dǎo)航的邏輯性和完整性如何?這些功能導(dǎo)航的邏輯性和完整性如何?l有更簡單的方法來完成這一任務(wù)嗎?有更簡單的方法來完成這一任務(wù)嗎?原型模型的特點和應(yīng)用場合原型模型的特點和應(yīng)用場合l用戶積極參與用戶積極參與l原型的開發(fā)沒有

29、嚴(yán)密的階段性原型的開發(fā)沒有嚴(yán)密的階段性l短期獲得測試版本,降低風(fēng)險短期獲得測試版本,降低風(fēng)險應(yīng)用于以下場合:應(yīng)用于以下場合:需求含糊,用戶不能標(biāo)識出詳細(xì)的輸入、需求含糊,用戶不能標(biāo)識出詳細(xì)的輸入、處理和輸出需求處理和輸出需求設(shè)計方案不明確,開發(fā)人員不能確定算法設(shè)計方案不明確,開發(fā)人員不能確定算法的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的有效性、操作系統(tǒng)的適應(yīng)性或人機(jī)交互的有效性的有效性原型模型的不足原型模型的不足l降低風(fēng)險的同時,引入了其他風(fēng)險:降低風(fēng)險的同時,引入了其他風(fēng)險:用戶隨意無止境的需求變化,因為用戶容易產(chǎn)生誤解,認(rèn)用戶隨意無止境的需求變化,因為用戶容易產(chǎn)生誤解,認(rèn)為系統(tǒng)很容易被構(gòu)造和修

30、改為系統(tǒng)很容易被構(gòu)造和修改如果采用原型基礎(chǔ)上繼續(xù)構(gòu)造,由于修補(bǔ)過度,軟件質(zhì)量如果采用原型基礎(chǔ)上繼續(xù)構(gòu)造,由于修補(bǔ)過度,軟件質(zhì)量不易于保證不易于保證開發(fā)人員為了快速構(gòu)造原型,可能會采用不合適的操作系開發(fā)人員為了快速構(gòu)造原型,可能會采用不合適的操作系統(tǒng)、語言、算法等,造成后期風(fēng)險,如系統(tǒng)適應(yīng)性差、維統(tǒng)、語言、算法等,造成后期風(fēng)險,如系統(tǒng)適應(yīng)性差、維護(hù)困難等護(hù)困難等3.4.3 迭代開發(fā)過程迭代開發(fā)過程l一條直線一次性到達(dá)目的總是困難的。一條直線一次性到達(dá)目的總是困難的。l緊迫的市場期限和快速變化使得難以一次性完成整緊迫的市場期限和快速變化使得難以一次性完成整個軟件產(chǎn)品,解決方法是先提交一個有限的版本

31、,個軟件產(chǎn)品,解決方法是先提交一個有限的版本,細(xì)節(jié)部分逐步增加,即多次迭代后完成系統(tǒng)。融合細(xì)節(jié)部分逐步增加,即多次迭代后完成系統(tǒng)。融合了瀑布方法和原型方法。了瀑布方法和原型方法。l整個開發(fā)工作被組織為一系列的短小的、固定長度整個開發(fā)工作被組織為一系列的短小的、固定長度的小項目,被稱為一系列的迭代。的小項目,被稱為一系列的迭代。l有兩種迭代:有兩種迭代:迭代增量:迭代周期完成一個增量,然后集成迭代增量:迭代周期完成一個增量,然后集成迭代進(jìn)化:迭代周期內(nèi)包含演化和完善迭代進(jìn)化:迭代周期內(nèi)包含演化和完善增量模型(增量迭代)增量模型(增量迭代)增量模型增量模型融合了瀑布模型的基本成分和原型的迭融合了瀑

32、布模型的基本成分和原型的迭代特征。采用隨著日程時間的進(jìn)展而交錯的線性序代特征。采用隨著日程時間的進(jìn)展而交錯的線性序列。列。搭積木的方式,如按子系統(tǒng)劃分增量搭積木的方式,如按子系統(tǒng)劃分增量分析分析分析分析分析分析分析分析設(shè)計設(shè)計設(shè)計設(shè)計設(shè)計設(shè)計設(shè)計設(shè)計編碼編碼編碼編碼編碼編碼編碼編碼測試測試測試測試測試測試測試測試增量增量1增量增量2 增量增量3增量增量4 功能功能時間時間增量模型(增量迭代)的特點增量模型(增量迭代)的特點l以功能遞增的方式進(jìn)行軟件開發(fā)(可并行化)以功能遞增的方式進(jìn)行軟件開發(fā)(可并行化)l能較快地產(chǎn)生可操作的系統(tǒng)能較快地產(chǎn)生可操作的系統(tǒng)l在每一步遞增中,都可以把用戶在每一步遞增

33、中,都可以把用戶/ /開發(fā)者的經(jīng)驗結(jié)合開發(fā)者的經(jīng)驗結(jié)合到不斷求精的下一個增量中到不斷求精的下一個增量中l(wèi)可改善測試效果和降低軟件開發(fā)總成本??筛纳茰y試效果和降低軟件開發(fā)總成本。l這個過程好比搭積木。這個過程好比搭積木。進(jìn)化迭代的特點進(jìn)化迭代的特點l進(jìn)化迭代與增量迭代的區(qū)別是在每個迭代周期是對進(jìn)化迭代與增量迭代的區(qū)別是在每個迭代周期是對上一次迭代的演化和完善。上一次迭代的演化和完善。l比如可以將一個軟件功能的編程劃分了多個迭代周比如可以將一個軟件功能的編程劃分了多個迭代周期,每個迭代是對該功能的補(bǔ)充和進(jìn)化。期,每個迭代是對該功能的補(bǔ)充和進(jìn)化。l這個過程好比滾雪球。這個過程好比滾雪球。 增量模型的

34、應(yīng)用場合增量模型的應(yīng)用場合l項目開始,明確了需求的大部分,但是需求可能會項目開始,明確了需求的大部分,但是需求可能會發(fā)生變化發(fā)生變化l對于市場和用戶把握不是很準(zhǔn),需要逐步了解對于市場和用戶把握不是很準(zhǔn),需要逐步了解l對于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),本身對于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),本身就需要一步一步實施的。就需要一步一步實施的。迭代開發(fā)過程示例迭代開發(fā)過程示例l例子:設(shè)計一個字處理軟件例子:設(shè)計一個字處理軟件增量增量1 1:實現(xiàn)軟件的基本需求,提供最核心:實現(xiàn)軟件的基本需求,提供最核心的功能。的功能。增量增量2 2:提供更完善的編輯和文檔生成功能。:提供更完善的編輯和文檔生成

35、功能。增量增量3 3:實現(xiàn)拼寫和語法檢查功能。:實現(xiàn)拼寫和語法檢查功能。增量增量4 4:完成高級的頁面排版功能。:完成高級的頁面排版功能。迭代開發(fā)過程的應(yīng)用場合迭代開發(fā)過程的應(yīng)用場合l項目開始,明確了需求的大部分,但是需求可能會項目開始,明確了需求的大部分,但是需求可能會發(fā)生變化發(fā)生變化l對于市場和用戶把握不是很準(zhǔn),需要逐步了解對于市場和用戶把握不是很準(zhǔn),需要逐步了解l對于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),本身對于有龐大和復(fù)雜功能的系統(tǒng)進(jìn)行功能改進(jìn),本身就需要一步一步實施的。就需要一步一步實施的。3.4.4 螺旋模型螺旋模型l螺旋方法螺旋方法把軟件開發(fā)過程定義成不斷上升的螺把軟件開發(fā)過程定義

36、成不斷上升的螺旋周期,每個周期劃分為計劃、旋周期,每個周期劃分為計劃、風(fēng)險分析、實施和風(fēng)險分析、實施和評價四個方面。沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)評價四個方面。沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出更為完善的一個新的軟件版本。出更為完善的一個新的軟件版本。 這里的原型不是用于驗這里的原型不是用于驗證的原型系統(tǒng),而是最證的原型系統(tǒng),而是最終要交付的成品系統(tǒng)。終要交付的成品系統(tǒng)。螺旋模型的特點和應(yīng)用場合螺旋模型的特點和應(yīng)用場合l風(fēng)險驅(qū)動,可以在生命周期早期強(qiáng)制性的確定項目風(fēng)險驅(qū)動,可以在生命周期早期強(qiáng)制性的確定項目中存在的風(fēng)險中存在的風(fēng)險l需要開發(fā)人員具有相當(dāng)豐富的風(fēng)險評估經(jīng)驗和專門需要開發(fā)人員具有相當(dāng)

37、豐富的風(fēng)險評估經(jīng)驗和專門知識知識l要求用戶參與階段評價,對用戶要求較高要求用戶參與階段評價,對用戶要求較高 適用于:適用于:單位內(nèi)部開發(fā)的大規(guī)模軟件項目單位內(nèi)部開發(fā)的大規(guī)模軟件項目風(fēng)險是項目的主要制約因素風(fēng)險是項目的主要制約因素可能會發(fā)生重大變更可能會發(fā)生重大變更采用新技術(shù)采用新技術(shù)3.4.5 噴泉模型噴泉模型l噴泉模型噴泉模型主要用于主要用于面向?qū)ο蠹夹g(shù)面向?qū)ο蠹夹g(shù)的軟件開發(fā)項的軟件開發(fā)項目,它克服了瀑布模型不支持軟件重用和多項開發(fā)目,它克服了瀑布模型不支持軟件重用和多項開發(fā)活動集成的局限性,噴泉模型使開發(fā)過程具有迭代活動集成的局限性,噴泉模型使開發(fā)過程具有迭代性和無間隙性。性和無間隙性。

38、噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求作為噴泉模型的源泉,屬于面向?qū)ο蟮囊杂脩粜枨笞鳛閲娙P偷脑慈?,屬于面向?qū)ο蟮能浖^程模型。軟件過程模型。 噴泉模型特點:各階段相互重疊,它反映了軟件過程并行性的特點體現(xiàn)認(rèn)識事物的往返過程強(qiáng)調(diào)增量開發(fā),整個過程是一個迭代的逐步提煉的過程。開發(fā)活動之間的無間隙性和循環(huán)迭代性適用于面向?qū)ο蟮拈_發(fā)過程強(qiáng)調(diào)無明顯的活動階段劃分 集成和測試集成和測試階段階段編碼階段編碼階段面向?qū)ο笤O(shè)面向?qū)ο笤O(shè)計階段計階段面向?qū)ο蠓置嫦驅(qū)ο蠓治鲭A段析階段需求階段需求階段進(jìn)一步開發(fā)進(jìn)行狀態(tài)維護(hù)期3.4.6 敏捷開發(fā)過程敏捷開發(fā)過程l敏

39、捷過程(敏捷過程(agile process)是一系列輕量的過程模)是一系列輕量的過程模型的總稱,致力于在無過程和過于繁瑣的過程中達(dá)型的總稱,致力于在無過程和過于繁瑣的過程中達(dá)到一種平衡,強(qiáng)調(diào)對需求變化的敏捷響應(yīng),以不多到一種平衡,強(qiáng)調(diào)對需求變化的敏捷響應(yīng),以不多的步驟過程獲取滿意的結(jié)果。的步驟過程獲取滿意的結(jié)果。l敏捷軟件開發(fā)宣言:敏捷軟件開發(fā)宣言:1 1個體和交互勝過過程和工具個體和交互勝過過程和工具2 2可以工作的軟件勝過面面懼到的文檔可以工作的軟件勝過面面懼到的文檔3 3客戶合作勝過合同談判客戶合作勝過合同談判4 4響應(yīng)變化勝過遵循變化響應(yīng)變化勝過遵循變化雖然右項也有價值,但我們認(rèn)為左

40、項具有更大的價值。雖然右項也有價值,但我們認(rèn)為左項具有更大的價值。l基于迭代開發(fā)方法探索出的成功實踐。基于迭代開發(fā)方法探索出的成功實踐。開發(fā)過程的代表產(chǎn)品開發(fā)過程的代表產(chǎn)品一些公司或團(tuán)體紛紛推出規(guī)范化的過程產(chǎn)品:一些公司或團(tuán)體紛紛推出規(guī)范化的過程產(chǎn)品:lIBM統(tǒng)一過程統(tǒng)一過程RUP(Rational Unified Process,迭,迭代過程的代表,重量級過程)代過程的代表,重量級過程)l微軟微軟MSF(Microsoft Solutions Framework )l敏捷:敏捷:極限編程極限編程、Scrum(輕量級過程)(輕量級過程)l練習(xí)題練習(xí)題l假設(shè)要開發(fā)一個軟件,該軟件的功能是對特定項

41、目假設(shè)要開發(fā)一個軟件,該軟件的功能是對特定項目進(jìn)行一項驗證計算(假定計算方法十分確定、成進(jìn)行一項驗證計算(假定計算方法十分確定、成熟),一旦實現(xiàn)后將用于該項目的測試驗證中,由熟),一旦實現(xiàn)后將用于該項目的測試驗證中,由于項目的特殊性,所以,該軟件產(chǎn)品在完成使命后于項目的特殊性,所以,該軟件產(chǎn)品在完成使命后將被拋棄。將被拋棄。軟件需求明確,算法確定、成熟,故無須原型來驗證。軟件需求明確,算法確定、成熟,故無須原型來驗證。一旦驗證完成之后將被拋棄,故無須使用提高軟件可一旦驗證完成之后將被拋棄,故無須使用提高軟件可維護(hù)性的迭代模型和螺旋模型。維護(hù)性的迭代模型和螺旋模型。綜上所述,為了開發(fā)此軟件,使用

42、瀑布模型即可。綜上所述,為了開發(fā)此軟件,使用瀑布模型即可。3.5 信息系統(tǒng)開發(fā)技術(shù)信息系統(tǒng)開發(fā)技術(shù)(基于開發(fā)技術(shù)的開發(fā)方法)(基于開發(fā)技術(shù)的開發(fā)方法)l信息系統(tǒng)通常十分復(fù)雜,通常會借助于模型對它進(jìn)信息系統(tǒng)通常十分復(fù)雜,通常會借助于模型對它進(jìn)行研究、認(rèn)識、描述和設(shè)計。行研究、認(rèn)識、描述和設(shè)計。l本節(jié)從模型化的角度探討信息系統(tǒng)不同開發(fā)方法的本節(jié)從模型化的角度探討信息系統(tǒng)不同開發(fā)方法的形成和各自特點。形成和各自特點。3.5.1 管理模型到信息模型管理模型到信息模型l信息系統(tǒng)模型最核心的是信息處理模型,應(yīng)考慮兩信息系統(tǒng)模型最核心的是信息處理模型,應(yīng)考慮兩個方面:個方面:信息處理模型最核心的是軟件結(jié)構(gòu)模

43、型,而軟件模型由信息處理模型最核心的是軟件結(jié)構(gòu)模型,而軟件模型由計算機(jī)程序語言的特性來決定。計算機(jī)程序語言的特性來決定。機(jī)器語言、匯編語言、機(jī)器語言、匯編語言、C、C+1.1.信息處理模型來源于管理模型,而管理系統(tǒng)模型包含以信息處理模型來源于管理模型,而管理系統(tǒng)模型包含以下方面:下方面:管理系統(tǒng)管理系統(tǒng)靜態(tài)特征靜態(tài)特征( (對象、屬性、關(guān)系對象、屬性、關(guān)系) )動態(tài)特征(行為動態(tài)特征(行為/ /事件事件/ /行動行動/ /狀態(tài)狀態(tài))業(yè)務(wù)流程業(yè)務(wù)流程業(yè)務(wù)規(guī)則業(yè)務(wù)規(guī)則. .模型模型信息處理模型信息處理模型l管理模型抽象描述了需要解決的管理問題(問題空管理模型抽象描述了需要解決的管理問題(問題空間)

44、,而信息處理模型則回答信息系統(tǒng)將如何解決間),而信息處理模型則回答信息系統(tǒng)將如何解決問題(解空間)問題(解空間)l這個求解過程中最這個求解過程中最核心的內(nèi)容核心的內(nèi)容在于在于信息處理模型中信息處理模型中的的軟件軟件系統(tǒng)系統(tǒng)。管理領(lǐng)域及問題管理模型信息處理模型系統(tǒng)實現(xiàn)條件信息系統(tǒng)技術(shù)環(huán)境信息系統(tǒng)學(xué)科信息處理模型信息處理模型l信息系統(tǒng)包含硬件、軟件、信息等組成要素。信息系統(tǒng)包含硬件、軟件、信息等組成要素。l但其中軟件系統(tǒng)的狀態(tài)比硬件系統(tǒng)的狀態(tài)往往要多但其中軟件系統(tǒng)的狀態(tài)比硬件系統(tǒng)的狀態(tài)往往要多若干數(shù)量級,只有找到控制和降低軟件復(fù)雜性的方若干數(shù)量級,只有找到控制和降低軟件復(fù)雜性的方法,才能根本地控制

45、和降低信息系統(tǒng)復(fù)雜性。法,才能根本地控制和降低信息系統(tǒng)復(fù)雜性。l人們不斷研究新的軟件開發(fā)技術(shù),試圖縮小計算機(jī)人們不斷研究新的軟件開發(fā)技術(shù),試圖縮小計算機(jī)世界和現(xiàn)實世界之間的鴻溝,從而讓管理模型與信世界和現(xiàn)實世界之間的鴻溝,從而讓管理模型與信息處理模型有更高的一致性,易于轉(zhuǎn)換和實現(xiàn)。息處理模型有更高的一致性,易于轉(zhuǎn)換和實現(xiàn)。 設(shè)計優(yōu)秀的軟件結(jié)構(gòu)設(shè)計優(yōu)秀的軟件結(jié)構(gòu)l優(yōu)秀的軟件結(jié)構(gòu)應(yīng)具有以下特性:優(yōu)秀的軟件結(jié)構(gòu)應(yīng)具有以下特性:能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)能真實、充分地反映現(xiàn)實世界,包括事物和事物之間的聯(lián)系,能滿足用戶對數(shù)據(jù)的處理要求;系,能滿足用戶對數(shù)據(jù)的處理要求;易于理解,方

46、便開發(fā)人員之間、開發(fā)人員與用戶之間交換易于理解,方便開發(fā)人員之間、開發(fā)人員與用戶之間交換意見;意見;易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,能容易地對系易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時,能容易地對系統(tǒng)進(jìn)行修改和擴(kuò)充;統(tǒng)進(jìn)行修改和擴(kuò)充;易于向計算機(jī)支持的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換。易于向計算機(jī)支持的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換。l軟件結(jié)構(gòu)從簡單到復(fù)雜,走過了從機(jī)器指令、語句、軟件結(jié)構(gòu)從簡單到復(fù)雜,走過了從機(jī)器指令、語句、模塊封裝到類封裝、再到構(gòu)件和服務(wù)封裝的歷史發(fā)模塊封裝到類封裝、再到構(gòu)件和服務(wù)封裝的歷史發(fā)展過程,不同的開發(fā)技術(shù)和軟件結(jié)構(gòu)催生了不同的展過程,不同的開發(fā)技術(shù)和軟件結(jié)構(gòu)催生了不同的開發(fā)方法。開發(fā)方法。軟件結(jié)構(gòu)設(shè)

47、計的基本原則軟件結(jié)構(gòu)設(shè)計的基本原則l抽象第一抽象第一抽象是人類認(rèn)識世界的基本法則之一。對實際的事物進(jìn)行抽象是人類認(rèn)識世界的基本法則之一。對實際的事物進(jìn)行處理,抽取所關(guān)心的、共同的、本質(zhì)特征的屬性,并對這處理,抽取所關(guān)心的、共同的、本質(zhì)特征的屬性,并對這些事物及其特征屬性進(jìn)行描述。由于抽取的是共同的、本些事物及其特征屬性進(jìn)行描述。由于抽取的是共同的、本質(zhì)特征的屬性,從而大大降低了系統(tǒng)元素的絕對數(shù)量。質(zhì)特征的屬性,從而大大降低了系統(tǒng)元素的絕對數(shù)量。l層次劃分層次劃分復(fù)雜系統(tǒng)可以先分解為子系統(tǒng),逐層分解。分解的每個子復(fù)雜系統(tǒng)可以先分解為子系統(tǒng),逐層分解。分解的每個子集互不相交,能使注意力集中與某個子

48、集內(nèi)部及與其他子集互不相交,能使注意力集中與某個子集內(nèi)部及與其他子集的聯(lián)系。層次和每層子集的數(shù)目為短時記憶最大容量集的聯(lián)系。層次和每層子集的數(shù)目為短時記憶最大容量7 72 2的范圍之內(nèi)。的范圍之內(nèi)。l模型化模型化提出以模型代替真實系統(tǒng)進(jìn)行模擬實驗,達(dá)到認(rèn)識真實系提出以模型代替真實系統(tǒng)進(jìn)行模擬實驗,達(dá)到認(rèn)識真實系統(tǒng)特性和規(guī)律性的方法。統(tǒng)特性和規(guī)律性的方法。信息系統(tǒng)的開發(fā)技術(shù)信息系統(tǒng)的開發(fā)技術(shù)l信息系統(tǒng)的開發(fā)技術(shù)(基于軟件技術(shù)的開發(fā)方法):信息系統(tǒng)的開發(fā)技術(shù)(基于軟件技術(shù)的開發(fā)方法):結(jié)構(gòu)化開發(fā)技術(shù)結(jié)構(gòu)化開發(fā)技術(shù)面向數(shù)據(jù)開發(fā)技術(shù)面向數(shù)據(jù)開發(fā)技術(shù)面向?qū)ο箝_發(fā)技術(shù)面向?qū)ο箝_發(fā)技術(shù)面向服務(wù)開發(fā)技術(shù)面向服

49、務(wù)開發(fā)技術(shù)3.5.2 結(jié)構(gòu)化開發(fā)技術(shù)結(jié)構(gòu)化開發(fā)技術(shù)l結(jié)構(gòu)化方法論(結(jié)構(gòu)化方法論(Structured Methodology)是計算)是計算學(xué)科的一種典型的系統(tǒng)開發(fā)方法論。學(xué)科的一種典型的系統(tǒng)開發(fā)方法論。它采用了系統(tǒng)科學(xué)的思想方法,從它采用了系統(tǒng)科學(xué)的思想方法,從層次的角度,自頂向下層次的角度,自頂向下地分析和設(shè)計系統(tǒng),即地分析和設(shè)計系統(tǒng),即抽象與分解抽象與分解。系統(tǒng)可用高級的抽象概念來理解和構(gòu)造系統(tǒng)可用高級的抽象概念來理解和構(gòu)造, , 這些高級的抽象這些高級的抽象概念又可用較低級的抽象概念來理解和構(gòu)造,如此進(jìn)行下概念又可用較低級的抽象概念來理解和構(gòu)造,如此進(jìn)行下去,直到最低層次的模塊可以表示

50、成某種程序設(shè)計語言的去,直到最低層次的模塊可以表示成某種程序設(shè)計語言的語句為止。語句為止。結(jié)構(gòu)化開發(fā)技術(shù)結(jié)構(gòu)化開發(fā)技術(shù)l也稱為也稱為 面向功能面向功能/ /面向過程面向過程/ /面向數(shù)據(jù)流面向數(shù)據(jù)流 的軟件開的軟件開發(fā)方法發(fā)方法l結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析(結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析(Structured Analysis,簡稱簡稱SA)、結(jié)構(gòu)化設(shè)計()、結(jié)構(gòu)化設(shè)計(Structured Design,簡,簡稱稱SD)和結(jié)構(gòu)化程序設(shè)計()和結(jié)構(gòu)化程序設(shè)計(Structured Program,簡稱簡稱SP)三部分內(nèi)容:)三部分內(nèi)容:結(jié)構(gòu)化分析(結(jié)構(gòu)化分析(SASA)對軟件進(jìn)行需求分析,以數(shù)據(jù)流圖表

51、示對軟件進(jìn)行需求分析,以數(shù)據(jù)流圖表示結(jié)構(gòu)化設(shè)計(結(jié)構(gòu)化設(shè)計(SDSD)進(jìn)行總體設(shè)計,以結(jié)構(gòu)圖表示進(jìn)行總體設(shè)計,以結(jié)構(gòu)圖表示結(jié)構(gòu)化編程(結(jié)構(gòu)化編程(SPSP),以程序流程圖表示,以程序流程圖表示結(jié)構(gòu)化開發(fā)方法的形成結(jié)構(gòu)化開發(fā)方法的形成/1l結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計SP方法的產(chǎn)生方法的產(chǎn)生結(jié)構(gòu)化方法起源于結(jié)構(gòu)化程序設(shè)計語言。在使用結(jié)構(gòu)化方法起源于結(jié)構(gòu)化程序設(shè)計語言。在使用SPSP之前,之前,程序員都是按照各自的習(xí)慣和思路來編寫程序,沒有統(tǒng)一程序員都是按照各自的習(xí)慣和思路來編寫程序,沒有統(tǒng)一的標(biāo)準(zhǔn),這樣編寫的程序可讀性差,更為嚴(yán)重的是程序的的標(biāo)準(zhǔn),這樣編寫的程序可讀性差,更為嚴(yán)重的是程序的可維護(hù)

52、性極差,經(jīng)過研究發(fā)現(xiàn),造成這一現(xiàn)象的根本原因可維護(hù)性極差,經(jīng)過研究發(fā)現(xiàn),造成這一現(xiàn)象的根本原因是程序的結(jié)構(gòu)問題。是程序的結(jié)構(gòu)問題。19661966年,年,C.BC.Bhmhm和和G.JacopiniG.Jacopini提出了關(guān)于提出了關(guān)于“程序結(jié)構(gòu)程序結(jié)構(gòu)”的理論,并給出了任何程序的邏輯結(jié)構(gòu)都可以用順序結(jié)構(gòu)、的理論,并給出了任何程序的邏輯結(jié)構(gòu)都可以用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來表示的證明。在程序結(jié)構(gòu)理論的基選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來表示的證明。在程序結(jié)構(gòu)理論的基礎(chǔ)上,礎(chǔ)上,19681968年,戴克斯特拉提出了年,戴克斯特拉提出了“GOTOGOTO語句是有害的語句是有害的”的問題,并引起普遍重視,的

53、問題,并引起普遍重視,SPSP逐漸形成,并成為計算機(jī)軟逐漸形成,并成為計算機(jī)軟件領(lǐng)域的重要方法,對計算機(jī)軟件的發(fā)展具有重要的意義。件領(lǐng)域的重要方法,對計算機(jī)軟件的發(fā)展具有重要的意義。伴隨著伴隨著SPSP的形成,相繼出現(xiàn)了的形成,相繼出現(xiàn)了Modula-2Modula-2、C C以及以及AdaAda等結(jié)構(gòu)等結(jié)構(gòu)化程序設(shè)計語言。化程序設(shè)計語言。結(jié)構(gòu)化開發(fā)方法的形成結(jié)構(gòu)化開發(fā)方法的形成/2l結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法SD的形成的形成結(jié)構(gòu)化程序設(shè)計需要事先設(shè)計好每一個具體的功能模塊,結(jié)構(gòu)化程序設(shè)計需要事先設(shè)計好每一個具體的功能模塊,然后將這些設(shè)計好的模塊組裝成一個軟件系統(tǒng)。然后將這些設(shè)計好的模塊組裝

54、成一個軟件系統(tǒng)。源于結(jié)構(gòu)化程序設(shè)計思想的結(jié)構(gòu)化設(shè)計方法就是要解決模源于結(jié)構(gòu)化程序設(shè)計思想的結(jié)構(gòu)化設(shè)計方法就是要解決模塊的構(gòu)建問題。塊的構(gòu)建問題。19741974年,年,W.StevensW.Stevens、G.MyersG.Myers和和L.ConstantineL.Constantine等人在等人在IBMIBM系統(tǒng)系統(tǒng)(IBM SystemIBM System)雜志上)雜志上發(fā)表了發(fā)表了結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化設(shè)計(Structured DesignStructured Design)論文,為)論文,為結(jié)構(gòu)化設(shè)計方法奠定了思想基礎(chǔ)。結(jié)構(gòu)化設(shè)計方法奠定了思想基礎(chǔ)。l結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法SA的形

55、成的形成結(jié)構(gòu)化設(shè)計方法建立在系統(tǒng)需求明確的基礎(chǔ)上。如何明確結(jié)構(gòu)化設(shè)計方法建立在系統(tǒng)需求明確的基礎(chǔ)上。如何明確系統(tǒng)的需求,就是結(jié)構(gòu)化分析所要解決的問題。系統(tǒng)的需求,就是結(jié)構(gòu)化分析所要解決的問題。結(jié)構(gòu)化分析方法產(chǎn)生于結(jié)構(gòu)化分析方法產(chǎn)生于2020世紀(jì)世紀(jì)7070年代中期,最初的倡導(dǎo)者年代中期,最初的倡導(dǎo)者有有Tom DemarcoTom Demarco、Ed YourdonEd Yourdon等人。等人。結(jié)構(gòu)化分析在結(jié)構(gòu)化分析在2020世紀(jì)世紀(jì)8080年代又得到了進(jìn)一步的發(fā)展,并隨年代又得到了進(jìn)一步的發(fā)展,并隨著著Ed YourdonEd Yourdon于于19891989年所著的年所著的現(xiàn)代結(jié)構(gòu)化

56、分析現(xiàn)代結(jié)構(gòu)化分析(Modern Structured AnalysisModern Structured Analysis)的出版而流行開來?,F(xiàn))的出版而流行開來?,F(xiàn)代結(jié)構(gòu)化分析更強(qiáng)調(diào)建模的重要性。代結(jié)構(gòu)化分析更強(qiáng)調(diào)建模的重要性。結(jié)構(gòu)化方法五個基本原則結(jié)構(gòu)化方法五個基本原則l面向用戶的觀點面向用戶的觀點l嚴(yán)格區(qū)分工作階段,每個階段有明確的任務(wù)和應(yīng)得嚴(yán)格區(qū)分工作階段,每個階段有明確的任務(wù)和應(yīng)得的成果的成果l按照系統(tǒng)的觀點,自頂向下地完成系統(tǒng)的研制工作按照系統(tǒng)的觀點,自頂向下地完成系統(tǒng)的研制工作l充分考慮變化的情況充分考慮變化的情況l工作成果文獻(xiàn)化、標(biāo)準(zhǔn)化工作成果文獻(xiàn)化、標(biāo)準(zhǔn)化結(jié)構(gòu)化分析結(jié)構(gòu)化分

57、析數(shù)據(jù)流圖數(shù)據(jù)流圖顧客顧客編編 輯輯訂貨單訂貨單訂貨單訂貨單配件庫存配件庫存1.11.1確確 定定顧顧 客客訂訂 貨貨1.21.21.31.3業(yè)務(wù)業(yè)務(wù)員員產(chǎn)產(chǎn) 生生暫暫 存存訂貨單訂貨單1.41.4不合格不合格顧客顧客D D2 2D D3 3可發(fā)可發(fā)訂貨訂貨不滿足不滿足的訂貨的訂貨暫存訂貨單暫存訂貨單D D4 4銷售歷史銷售歷史D D5 5應(yīng)收款明細(xì)賬應(yīng)收款明細(xì)賬D D1010合格的訂貨單合格的訂貨單檢檢 索索庫庫 存存1.51.5經(jīng)理經(jīng)理查詢請求查詢請求庫庫 存存狀狀 態(tài)態(tài)開發(fā)貨單開發(fā)貨單并并修改庫存修改庫存顧客顧客發(fā)貨單發(fā)貨單模型中的某個功能的分解圖:模型中的某個功能的分解圖:結(jié)構(gòu)化設(shè)計結(jié)

58、構(gòu)化設(shè)計模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖銷售子系統(tǒng)暫存訂貨單處理登記訂貨單查詢打印發(fā)貨單作廢訂貨單查詢訂貨單查詢庫存暫暫存存處處理理修修改改庫庫存存沖賬結(jié)構(gòu)化模型結(jié)構(gòu)化模型數(shù)據(jù)流圖數(shù)據(jù)流圖模型的層次和分解:模型的層次和分解:結(jié)構(gòu)化模型結(jié)構(gòu)化模型模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖圖書館管理系統(tǒng)圖書館管理系統(tǒng)圖書管理圖書管理讀者管理讀者管理借還書管理借還書管理新新書書登登記記舊舊書書淘淘汰汰讀讀者者登登記記讀讀者者刪刪除除借借書書查查詢詢還還書書書書目目查查詢詢借借閱閱排排行行根根據(jù)據(jù)卡卡號號查查讀讀者者根根據(jù)據(jù)書書號號查查圖圖書書判判讀讀者者結(jié)結(jié)束束資資格格保保存存借借書書記記錄錄刪刪除除讀讀者者記記錄錄3.5.3 面向

59、對象開發(fā)方法面向?qū)ο箝_發(fā)方法l面向?qū)ο竺嫦驅(qū)ο?object-oriented)方法具有很強(qiáng)的類和對方法具有很強(qiáng)的類和對象的概念,因此它就能很自然地直觀地模擬人類認(rèn)象的概念,因此它就能很自然地直觀地模擬人類認(rèn)識客觀世界的方式,包括:識客觀世界的方式,包括:客觀世界的任何事物都是對象客觀世界的任何事物都是對象(object)(object)。它們都有一些靜。它們都有一些靜態(tài)態(tài)特征特征和有關(guān)和有關(guān)行為行為。對象之間有抽象與具體、群體與個體、整體與部分等幾種對象之間有抽象與具體、群體與個體、整體與部分等幾種關(guān)系,這些關(guān)系構(gòu)成對象的網(wǎng)絡(luò)結(jié)構(gòu)關(guān)系,這些關(guān)系構(gòu)成對象的網(wǎng)絡(luò)結(jié)構(gòu)。抽象的對象所具有的性質(zhì),自然

60、地成為抽象的對象所具有的性質(zhì),自然地成為具體對象具體對象的性質(zhì)的性質(zhì),而不必說明(而不必說明(繼承性繼承性,inheritance)inheritance)。對象之間可以互送消息對象之間可以互送消息(message)(message),通過消息進(jìn)行交互和,通過消息進(jìn)行交互和協(xié)作。協(xié)作。面向?qū)ο蠓椒ㄅe例面向?qū)ο蠓椒ㄅe例l比如:比如:汽車作為一個對象,有排量、顏色、行駛里程等數(shù)據(jù),有汽車作為一個對象,有排量、顏色、行駛里程等數(shù)據(jù),有啟動、行駛、停止、熄火等行為,駕駛員的點火事件可以啟動、行駛、停止、熄火等行為,駕駛員的點火事件可以觸發(fā)汽車的啟動操作,踩下油門事件會觸發(fā)汽車行駛,行觸發(fā)汽車的啟動操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論