管理信息系統(tǒng)系統(tǒng)實施-6(2014)_第1頁
管理信息系統(tǒng)系統(tǒng)實施-6(2014)_第2頁
管理信息系統(tǒng)系統(tǒng)實施-6(2014)_第3頁
管理信息系統(tǒng)系統(tǒng)實施-6(2014)_第4頁
管理信息系統(tǒng)系統(tǒng)實施-6(2014)_第5頁
已閱讀5頁,還剩85頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院1管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院2l當(dāng)系統(tǒng)分析與設(shè)計完成之后,系統(tǒng)工作的重點(diǎn)當(dāng)系統(tǒng)分析與設(shè)計完成之后,系統(tǒng)工作的重點(diǎn)從創(chuàng)造性思考的階段轉(zhuǎn)入具體的實踐階段。從創(chuàng)造性思考的階段轉(zhuǎn)入具體的實踐階段。l系統(tǒng)實施是新系統(tǒng)開發(fā)工作的最后一個階段,系統(tǒng)實施是新系統(tǒng)開發(fā)工作的最后一個階段,其主要內(nèi)容:其主要內(nèi)容:4按總體設(shè)計方案購置和安裝計算機(jī)設(shè)備和網(wǎng)絡(luò)按總體設(shè)計方案購置和安裝計算機(jī)設(shè)備和網(wǎng)絡(luò)系統(tǒng);系統(tǒng);4安裝軟件系統(tǒng),建立數(shù)據(jù)庫管理系統(tǒng);安裝軟件系統(tǒng),建立數(shù)據(jù)庫管理系統(tǒng);4程序設(shè)計與調(diào)試、系統(tǒng)測試;程序設(shè)計與調(diào)試、系統(tǒng)測試;4整理基礎(chǔ)數(shù)據(jù),培訓(xùn)操作人員;整理基礎(chǔ)數(shù)據(jù),培訓(xùn)操

2、作人員;4系統(tǒng)切換和試運(yùn)行;系統(tǒng)切換和試運(yùn)行;4系統(tǒng)維護(hù)與評價。系統(tǒng)維護(hù)與評價。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院3l系統(tǒng)實施工作必須在系統(tǒng)分析和系統(tǒng)設(shè)計工作完成后,系統(tǒng)實施工作必須在系統(tǒng)分析和系統(tǒng)設(shè)計工作完成后,嚴(yán)格按照系統(tǒng)開發(fā)文檔進(jìn)行,系統(tǒng)實施是以系統(tǒng)分析嚴(yán)格按照系統(tǒng)開發(fā)文檔進(jìn)行,系統(tǒng)實施是以系統(tǒng)分析和設(shè)計文檔資料為依據(jù)的。系統(tǒng)開發(fā)者只有通過系統(tǒng)和設(shè)計文檔資料為依據(jù)的。系統(tǒng)開發(fā)者只有通過系統(tǒng)開發(fā)文檔,對系統(tǒng)目標(biāo)、系統(tǒng)總體結(jié)構(gòu)、系統(tǒng)代碼設(shè)開發(fā)文檔,對系統(tǒng)目標(biāo)、系統(tǒng)總體結(jié)構(gòu)、系統(tǒng)代碼設(shè)計、輸入計、輸入/輸出設(shè)計、數(shù)據(jù)庫設(shè)計、處理過程設(shè)計以及輸出設(shè)計、數(shù)據(jù)庫設(shè)計、處理過程設(shè)計以及系統(tǒng)運(yùn)行環(huán)境等有了

3、明確理解和認(rèn)識以后,才能開始系統(tǒng)運(yùn)行環(huán)境等有了明確理解和認(rèn)識以后,才能開始系統(tǒng)實施活動。系統(tǒng)實施活動。l系統(tǒng)開發(fā)人員不僅要了解本人所承擔(dān)的部分,還要了系統(tǒng)開發(fā)人員不僅要了解本人所承擔(dān)的部分,還要了解總體結(jié)構(gòu)、彼此接口、數(shù)據(jù)交換等相互聯(lián)系部分的解總體結(jié)構(gòu)、彼此接口、數(shù)據(jù)交換等相互聯(lián)系部分的內(nèi)容,以保證在系統(tǒng)實施工作中局部分散實施與系統(tǒng)內(nèi)容,以保證在系統(tǒng)實施工作中局部分散實施與系統(tǒng)整體的協(xié)調(diào)一致性。整體的協(xié)調(diào)一致性。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院4管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院5l程序設(shè)計的依據(jù):程序設(shè)計的依據(jù):系統(tǒng)設(shè)計階段的模塊結(jié)構(gòu)圖、系統(tǒng)設(shè)計階段的模塊結(jié)構(gòu)圖、IPO圖、數(shù)據(jù)庫設(shè)計中各種數(shù)據(jù)

4、表結(jié)構(gòu)和編程圖、數(shù)據(jù)庫設(shè)計中各種數(shù)據(jù)表結(jié)構(gòu)和編程設(shè)計說明。設(shè)計說明。l程序設(shè)計的目的:程序設(shè)計的目的:就是用計算機(jī)程序設(shè)計語言就是用計算機(jī)程序設(shè)計語言實現(xiàn)系統(tǒng)設(shè)計中的每個細(xì)節(jié)。實現(xiàn)系統(tǒng)設(shè)計中的每個細(xì)節(jié)。l程序設(shè)計總體思路:程序設(shè)計總體思路:程序設(shè)計與技術(shù)發(fā)展有關(guān),程序設(shè)計與技術(shù)發(fā)展有關(guān),過去的盡量短小、構(gòu)思巧妙、難以理解的程序過去的盡量短小、構(gòu)思巧妙、難以理解的程序編制方法逐漸被不惜時、空,造就高可讀性、編制方法逐漸被不惜時、空,造就高可讀性、高可維護(hù)性的編程思想所取代。高可維護(hù)性的編程思想所取代。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院6l管理信息系統(tǒng)開發(fā)中常用的編程工具:常用編程語言、管理信息系統(tǒng)

5、開發(fā)中常用的編程工具:常用編程語言、關(guān)系數(shù)據(jù)庫系統(tǒng),代碼生成工具,系統(tǒng)開發(fā)工具,關(guān)系數(shù)據(jù)庫系統(tǒng),代碼生成工具,系統(tǒng)開發(fā)工具,C/S工工具,具,B/S工具,工具,OO工具等。工具等。l1、常用編程語言類:、常用編程語言類:C、C+、COBOL、PROLOG等。等。l2、關(guān)系數(shù)據(jù)庫類:、關(guān)系數(shù)據(jù)庫類:l(1)Oracle:是美國是美國Oracle公司研制的第一個商品化的公司研制的第一個商品化的對象對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。l特點(diǎn):支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理;遵特點(diǎn):支持大數(shù)據(jù)庫、多用戶的高性能的事務(wù)處理;遵守數(shù)據(jù)存取、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的工守數(shù)據(jù)存

6、取、操作系統(tǒng)、用戶接口和網(wǎng)絡(luò)通信協(xié)議的工業(yè)標(biāo)準(zhǔn),是一個開放系統(tǒng);實施安全性控制和完整性控業(yè)標(biāo)準(zhǔn),是一個開放系統(tǒng);實施安全性控制和完整性控制;支持分布式數(shù)據(jù)庫和分布處理;具有可移植性、可制;支持分布式數(shù)據(jù)庫和分布處理;具有可移植性、可兼容性和可連接性。兼容性和可連接性。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院7l(2)DB2:是是IBM公司提供的一種基于公司提供的一種基于SQL的關(guān)系型的關(guān)系型數(shù)據(jù)庫產(chǎn)品。數(shù)據(jù)庫產(chǎn)品。l特點(diǎn):支持面向?qū)ο缶幊蹋恢С侄嗝襟w應(yīng)用程序;具特點(diǎn):支持面向?qū)ο缶幊蹋恢С侄嗝襟w應(yīng)用程序;具有備份和恢復(fù)能力;用戶可以在建表時顯示定義復(fù)雜有備份和恢復(fù)能力;用戶可以在建表時顯示定義復(fù)雜的完

7、整性規(guī)則;支持的完整性規(guī)則;支持SQL查詢;支持異構(gòu)分布式數(shù)據(jù)查詢;支持異構(gòu)分布式數(shù)據(jù)庫訪問。庫訪問。l(3)Sybase:Sybase公司第一個推出客戶公司第一個推出客戶/服務(wù)器體系服務(wù)器體系結(jié)構(gòu)和多線程技術(shù)的高性能數(shù)據(jù)庫服務(wù)器。結(jié)構(gòu)和多線程技術(shù)的高性能數(shù)據(jù)庫服務(wù)器。 Sybase數(shù)數(shù)據(jù)庫產(chǎn)品的特點(diǎn):支持據(jù)庫產(chǎn)品的特點(diǎn):支持JAVA和標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫查詢和標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫查詢語言語言SQL,支持廣泛的軟硬件平臺,具有優(yōu)秀的聯(lián)機(jī),支持廣泛的軟硬件平臺,具有優(yōu)秀的聯(lián)機(jī)事務(wù)處理功能。事務(wù)處理功能。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院8l(4)SQL Server:微軟微軟SQL Server是運(yùn)行的是

8、運(yùn)行的Windows NT上的一個著名的高性能數(shù)據(jù)庫管理系統(tǒng)。它基于多上的一個著名的高性能數(shù)據(jù)庫管理系統(tǒng)。它基于多線程的客戶線程的客戶/服務(wù)器體系結(jié)構(gòu),允許集中管理服務(wù)器,服務(wù)器體系結(jié)構(gòu),允許集中管理服務(wù)器,提供企業(yè)級的數(shù)據(jù)復(fù)制,提供平行的體系結(jié)構(gòu),支持提供企業(yè)級的數(shù)據(jù)復(fù)制,提供平行的體系結(jié)構(gòu),支持超大型數(shù)據(jù)庫,可以與超大型數(shù)據(jù)庫,可以與OLE對象緊密集成。對象緊密集成。l(5)Informix:是美國是美國Informix軟件公司的數(shù)據(jù)庫系軟件公司的數(shù)據(jù)庫系統(tǒng)產(chǎn)品,可以在統(tǒng)產(chǎn)品,可以在UNIX、 Windows NT 、Netware、Macintosh等各種操作系統(tǒng)環(huán)境下運(yùn)行。其產(chǎn)品主要分

9、等各種操作系統(tǒng)環(huán)境下運(yùn)行。其產(chǎn)品主要分為數(shù)據(jù)庫服務(wù)器,網(wǎng)絡(luò)連接軟件,應(yīng)用開發(fā)工具,終為數(shù)據(jù)庫服務(wù)器,網(wǎng)絡(luò)連接軟件,應(yīng)用開發(fā)工具,終端用戶訪問工具等四大類。端用戶訪問工具等四大類。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院9l(6)Access:是微軟公司推出的基于是微軟公司推出的基于Windows環(huán)境的環(huán)境的關(guān)系型數(shù)據(jù)庫系統(tǒng)。它采用關(guān)系型數(shù)據(jù)庫系統(tǒng)。它采用Windows程序設(shè)計概念,程序設(shè)計概念,具有簡單易用、功能強(qiáng)大、面向?qū)ο蟮目梢暬O(shè)計等具有簡單易用、功能強(qiáng)大、面向?qū)ο蟮目梢暬O(shè)計等特點(diǎn)。該數(shù)據(jù)庫系統(tǒng)具有易學(xué)易用,快速開發(fā),簡化特點(diǎn)。該數(shù)據(jù)庫系統(tǒng)具有易學(xué)易用,快速開發(fā),簡化用戶開發(fā)工作等優(yōu)點(diǎn),是微軟

10、公司在用戶開發(fā)工作等優(yōu)點(diǎn),是微軟公司在Office系統(tǒng)軟件中系統(tǒng)軟件中力推的力推的“辦公室數(shù)據(jù)庫辦公室數(shù)據(jù)庫”。自從發(fā)布以來,該數(shù)據(jù)庫。自從發(fā)布以來,該數(shù)據(jù)庫系統(tǒng)以其強(qiáng)大的功能,與其他系統(tǒng)以其強(qiáng)大的功能,與其他Office組件的高度集成以組件的高度集成以及無需大型數(shù)據(jù)庫專業(yè)的維護(hù)人等優(yōu)勢,贏得廣大用及無需大型數(shù)據(jù)庫專業(yè)的維護(hù)人等優(yōu)勢,贏得廣大用戶的青睞,是開發(fā)中、小型管理信息系統(tǒng)的首選數(shù)據(jù)戶的青睞,是開發(fā)中、小型管理信息系統(tǒng)的首選數(shù)據(jù)庫系統(tǒng)。庫系統(tǒng)。l(7)xBASE:略。略。l(8)Paradox:略。略。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院10l3、程序生成工具類、程序生成工具類:4GL。l4

11、、系統(tǒng)集成開發(fā)工具:、系統(tǒng)集成開發(fā)工具:VFP、VB、VC+、CASE、PB、Delphi等。l5、客戶機(jī)、客戶機(jī)/服務(wù)器工具:服務(wù)器工具:VFP、VB、VC、 Delphi 、PB等。l6、瀏覽器、瀏覽器/服務(wù)器工具:服務(wù)器工具:VB、JAVA、C#、WEB SERVICES、ASP、JSP等。l7、面向?qū)ο缶幊坦ぞ撸骸⒚嫦驅(qū)ο缶幊坦ぞ撸篊+、VC+、SMALLTALK等。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院11l(1)最少工作量原則。)最少工作量原則。使用最小代價讓系統(tǒng)工作。使用最小代價讓系統(tǒng)工作。l(2)最少技巧性原則。)最少技巧性原則。最好無需培訓(xùn)或很少培訓(xùn)就能最好無需培訓(xùn)或很少培訓(xùn)就能編

12、制程序。編制程序。l(3)最少錯誤原則。)最少錯誤原則。對常用的高級語言來說,要提供對常用的高級語言來說,要提供結(jié)構(gòu)化控制結(jié)構(gòu)、類型檢查、數(shù)據(jù)結(jié)構(gòu)描述、易于檢結(jié)構(gòu)化控制結(jié)構(gòu)、類型檢查、數(shù)據(jù)結(jié)構(gòu)描述、易于檢驗測試等機(jī)制。驗測試等機(jī)制。l(4)最少維護(hù)原則。)最少維護(hù)原則。對一般的高級語言來說,應(yīng)提供對一般的高級語言來說,應(yīng)提供獨(dú)立編譯能力和系統(tǒng)軟件包。獨(dú)立編譯意味著可分別獨(dú)立編譯能力和系統(tǒng)軟件包。獨(dú)立編譯意味著可分別編譯各個程序單元,無需因修改了一個程序單元而重編譯各個程序單元,無需因修改了一個程序單元而重新編譯所有的程序。軟件包意味著系統(tǒng)工具能提供較新編譯所有的程序。軟件包意味著系統(tǒng)工具能提供

13、較多功能,以減輕開發(fā)強(qiáng)度,提高開發(fā)效率。多功能,以減輕開發(fā)強(qiáng)度,提高開發(fā)效率。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院12l(6)項目的應(yīng)用領(lǐng)域。)項目的應(yīng)用領(lǐng)域。l(7)用戶的要求。)用戶的要求。有時用戶要求使用它們熟有時用戶要求使用它們熟悉的語言。悉的語言。l(8)程序員的經(jīng)驗和知識。)程序員的經(jīng)驗和知識。如果條件允許,如果條件允許,應(yīng)盡量選擇程序員熟悉的開發(fā)工具。應(yīng)盡量選擇程序員熟悉的開發(fā)工具。l(9)軟件可移植性要求。)軟件可移植性要求。如果目標(biāo)系統(tǒng)需要如果目標(biāo)系統(tǒng)需要運(yùn)行于不同的環(huán)境,應(yīng)選擇可移植性好的程序運(yùn)行于不同的環(huán)境,應(yīng)選擇可移植性好的程序設(shè)計語言。如設(shè)計語言。如Java語言。語言。管

14、理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院13l1、包括:結(jié)構(gòu)化方法、原型法、面向?qū)ο蠓椒?;每種、包括:結(jié)構(gòu)化方法、原型法、面向?qū)ο蠓椒ǎ幻糠N方法都要充分利用現(xiàn)有軟件工具。方法都要充分利用現(xiàn)有軟件工具。l(1)、結(jié)構(gòu)化程序設(shè)計方法)、結(jié)構(gòu)化程序設(shè)計方法l按按HIPO圖的要求,用結(jié)構(gòu)化、模塊化的方法分解內(nèi)容圖的要求,用結(jié)構(gòu)化、模塊化的方法分解內(nèi)容和程序設(shè)計。和程序設(shè)計。l采用順序、分支和循環(huán)三種基本結(jié)構(gòu)編程。采用順序、分支和循環(huán)三種基本結(jié)構(gòu)編程。l采用自頂向下分析設(shè)計、自底向上實現(xiàn)系統(tǒng)。采用自頂向下分析設(shè)計、自底向上實現(xiàn)系統(tǒng)。l(2)速成原型式的程序開發(fā)方法)速成原型式的程序開發(fā)方法l將將HIPO中具有普遍

15、性的功能模塊集中(菜單模塊、報中具有普遍性的功能模塊集中(菜單模塊、報表模塊、查詢模塊、統(tǒng)計分析和圖形模塊等);表模塊、查詢模塊、統(tǒng)計分析和圖形模塊等);l利用生成工具完成通用模塊設(shè)置,在各子系統(tǒng)中應(yīng)用。利用生成工具完成通用模塊設(shè)置,在各子系統(tǒng)中應(yīng)用。l無法生成的特殊內(nèi)容,單獨(dú)編制。無法生成的特殊內(nèi)容,單獨(dú)編制。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院14l(3)面向?qū)ο蟮某绦蛟O(shè)計方法)面向?qū)ο蟮某绦蛟O(shè)計方法l開發(fā)階段采用的是開發(fā)階段采用的是OO方法,則可以直接用方法,則可以直接用OOP實現(xiàn);實現(xiàn);l開發(fā)階段未采用開發(fā)階段未采用OO方法,編程時某些部分也方法,編程時某些部分也可用可用OOP實現(xiàn);實現(xiàn);

16、lOOP方法優(yōu)勢較大,其他方法無法比擬。方法優(yōu)勢較大,其他方法無法比擬。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院15l2、程序設(shè)計的基本要求、程序設(shè)計的基本要求l(1)正確性:)正確性:準(zhǔn)確無誤地按要求編寫出程序。準(zhǔn)確無誤地按要求編寫出程序。l(2)可靠性:)可靠性:程序和系統(tǒng)要安全可靠(數(shù)據(jù)、通信、程序和系統(tǒng)要安全可靠(數(shù)據(jù)、通信、權(quán)限等),要有容錯能力,正常情況下正確工作,異權(quán)限等),要有容錯能力,正常情況下正確工作,異常情況下也要有異常處理。常情況下也要有異常處理。l(3)規(guī)范性:)規(guī)范性:程序設(shè)計風(fēng)格、書寫格式,變量定義等程序設(shè)計風(fēng)格、書寫格式,變量定義等都具有統(tǒng)一規(guī)范。都具有統(tǒng)一規(guī)范。l(4

17、)可理解性:)可理解性:程序清晰易于讀懂,為以后維護(hù)、提程序清晰易于讀懂,為以后維護(hù)、提供有利條件。供有利條件。l(5)可維護(hù)性:)可維護(hù)性:程序模塊高獨(dú)立性,模塊間無病態(tài)耦程序模塊高獨(dú)立性,模塊間無病態(tài)耦合,調(diào)整和修改程序比較簡便易行。合,調(diào)整和修改程序比較簡便易行。l(6)效率高:)效率高:在前述要求達(dá)到的情況下,盡量提高程在前述要求達(dá)到的情況下,盡量提高程序設(shè)計的時空效率。序設(shè)計的時空效率。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院16l3、程序設(shè)計的基本步驟、程序設(shè)計的基本步驟l(1)理解系統(tǒng)的設(shè)計要求:)理解系統(tǒng)的設(shè)計要求:首先要仔細(xì)地閱讀系統(tǒng)設(shè)首先要仔細(xì)地閱讀系統(tǒng)設(shè)計說明書,吃透系統(tǒng)設(shè)計所提

18、出的任務(wù)、功能和目標(biāo),計說明書,吃透系統(tǒng)設(shè)計所提出的任務(wù)、功能和目標(biāo),明確自己所編程序在系統(tǒng)中所處的位置及與之相關(guān)的明確自己所編程序在系統(tǒng)中所處的位置及與之相關(guān)的環(huán)境條件;環(huán)境條件;l(2)熟悉計算機(jī)軟硬件環(huán)境及性能:)熟悉計算機(jī)軟硬件環(huán)境及性能:在程序設(shè)計前要在程序設(shè)計前要熟悉系統(tǒng)的開發(fā)環(huán)境,包括計算機(jī)、網(wǎng)絡(luò)的性能,操熟悉系統(tǒng)的開發(fā)環(huán)境,包括計算機(jī)、網(wǎng)絡(luò)的性能,操作系統(tǒng),程序設(shè)計語言與數(shù)據(jù)庫管理系統(tǒng);作系統(tǒng),程序設(shè)計語言與數(shù)據(jù)庫管理系統(tǒng);l(3)細(xì)化程序處理過程,確定流程:)細(xì)化程序處理過程,確定流程:系統(tǒng)設(shè)計說明書系統(tǒng)設(shè)計說明書中給出的處理過程的描述如果比較粗糙,程序設(shè)計者中給出的處理過程

19、的描述如果比較粗糙,程序設(shè)計者在編程前要根據(jù)所選擇的程序設(shè)計語言予以細(xì)化,并在編程前要根據(jù)所選擇的程序設(shè)計語言予以細(xì)化,并用一定的方法對處理過程進(jìn)行描述。用一定的方法對處理過程進(jìn)行描述。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院17l(4)編寫源程序:)編寫源程序:在完成前三階段工作的基礎(chǔ)上,完在完成前三階段工作的基礎(chǔ)上,完成編程并在計算機(jī)上實現(xiàn)。編程過程中要注意每一個成編程并在計算機(jī)上實現(xiàn)。編程過程中要注意每一個細(xì)節(jié),嚴(yán)格遵守語法規(guī)則,準(zhǔn)確使用各種語句,編寫細(xì)節(jié),嚴(yán)格遵守語法規(guī)則,準(zhǔn)確使用各種語句,編寫符合要求的程序。符合要求的程序。l(5)測試:)測試:程序編制完成以后,要對程序的正確性作程序編制完

20、成以后,要對程序的正確性作出評價,這就需要對程序進(jìn)行測試。測試的目的是為出評價,這就需要對程序進(jìn)行測試。測試的目的是為了發(fā)現(xiàn)錯誤并加以改正。程序中常見的錯誤有:語法了發(fā)現(xiàn)錯誤并加以改正。程序中常見的錯誤有:語法錯誤、邏輯錯誤、輸入輸出格式錯誤等。有關(guān)統(tǒng)計表錯誤、邏輯錯誤、輸入輸出格式錯誤等。有關(guān)統(tǒng)計表明,程序測試所占用的時間和經(jīng)費(fèi)與開發(fā)系統(tǒng)的規(guī)模明,程序測試所占用的時間和經(jīng)費(fèi)與開發(fā)系統(tǒng)的規(guī)模成正比。成正比。l(6)編寫程序使用說明書:)編寫程序使用說明書:說明執(zhí)行該程序時需要使說明執(zhí)行該程序時需要使用的設(shè)備,輸入輸出要求,操作步驟等。用的設(shè)備,輸入輸出要求,操作步驟等。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計

21、算機(jī)學(xué)院18l4、程序設(shè)計風(fēng)格、程序設(shè)計風(fēng)格l(1)源程序文檔化)源程序文檔化l標(biāo)識符的命名標(biāo)識符的命名l標(biāo)識符,包括模塊名、變量名、常量名、標(biāo)號名、子標(biāo)識符,包括模塊名、變量名、常量名、標(biāo)號名、子程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字應(yīng)能反程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字應(yīng)能反映它所代表的實際東西,應(yīng)有一定的實際意義,使其映它所代表的實際東西,應(yīng)有一定的實際意義,使其能夠見名知意,有助于對程序功能的理解。為達(dá)此目能夠見名知意,有助于對程序功能的理解。為達(dá)此目的,應(yīng)采用長標(biāo)識符命(多個英文單詞用下劃線連的,應(yīng)采用長標(biāo)識符命(多個英文單詞用下劃線連接)。接)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算

22、機(jī)學(xué)院19l程序的注釋程序的注釋l夾在程序中的注釋是程序員與日后的程序讀者之間通夾在程序中的注釋是程序員與日后的程序讀者之間通信的重要手段。正確的注釋能夠幫助讀者理解程序,信的重要手段。正確的注釋能夠幫助讀者理解程序,可為后續(xù)階段進(jìn)行測試和維護(hù),提供明確的指導(dǎo)。因可為后續(xù)階段進(jìn)行測試和維護(hù),提供明確的指導(dǎo)。因此注釋決不是可有可無的,大多數(shù)程序設(shè)計語言允許此注釋決不是可有可無的,大多數(shù)程序設(shè)計語言允許使用自然語言寫注釋,這給閱讀程序帶來很大的方便。使用自然語言寫注釋,這給閱讀程序帶來很大的方便。一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個源程一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個源程序的序的1

23、3到到12。l注釋分為注釋分為序言性注釋序言性注釋和和功能性注釋功能性注釋。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院20l序言性注釋序言性注釋通常置于每個程序模塊的開頭部分,它應(yīng)當(dāng)通常置于每個程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,對于理解程序本身具有引導(dǎo)作用。給出程序的整體說明,對于理解程序本身具有引導(dǎo)作用。有些軟件開發(fā)部門對序言性注釋作了明確而嚴(yán)格的規(guī)定,有些軟件開發(fā)部門對序言性注釋作了明確而嚴(yán)格的規(guī)定,要求程序編制者逐項列出。要求程序編制者逐項列出。l有關(guān)項目包括:有關(guān)項目包括:.程序標(biāo)題;程序標(biāo)題;.有關(guān)本模塊功能和目的的說明;有關(guān)本模塊功能和目的的說明;.主要算法;主要算法;.接口說明

24、:包括調(diào)用形式,參數(shù)描述,子程序清單;接口說明:包括調(diào)用形式,參數(shù)描述,子程序清單;.有關(guān)數(shù)據(jù)描述:重要的變量及其用途,約束或限制條件,有關(guān)數(shù)據(jù)描述:重要的變量及其用途,約束或限制條件,以及其它有關(guān)信息;以及其它有關(guān)信息;.模塊位置:在哪一個源文件中,或隸屬于哪一個軟件包。模塊位置:在哪一個源文件中,或隸屬于哪一個軟件包。 管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院21l書寫書寫功能性注釋功能性注釋,要注意以下幾點(diǎn):,要注意以下幾點(diǎn):.用于描述一段程序,而不是每一個語句;用于描述一段程序,而不是每一個語句;.用縮進(jìn)和空行,使程序與注釋容易區(qū)別;用縮進(jìn)和空行,使程序與注釋容易區(qū)別;.注釋要正確。注釋要正確

25、。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院22l視覺組織視覺組織空格、空行和縮進(jìn)空格、空行和縮進(jìn)l一個程序如果寫得密密麻麻,分不出層次來常常是很一個程序如果寫得密密麻麻,分不出層次來常常是很難看懂的。難看懂的。l優(yōu)秀的程序員在利用空格、空行和縮進(jìn)的技巧上顯示優(yōu)秀的程序員在利用空格、空行和縮進(jìn)的技巧上顯示了他們的經(jīng)驗。了他們的經(jīng)驗。l恰當(dāng)?shù)乩每崭?,可以突出運(yùn)算的優(yōu)先性,避免發(fā)生恰當(dāng)?shù)乩每崭瘢梢酝怀鲞\(yùn)算的優(yōu)先性,避免發(fā)生運(yùn)算的錯誤。運(yùn)算的錯誤。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院23l(2)語句結(jié)構(gòu))語句結(jié)構(gòu)l在一行內(nèi)只寫一條語句,并且采取適當(dāng)?shù)目s進(jìn)格式,在一行內(nèi)只寫一條語句,并且采取適當(dāng)?shù)目s進(jìn)格式,使

26、程序的邏輯和功能變得更加明確。使程序的邏輯和功能變得更加明確。l程序員首先應(yīng)當(dāng)考慮程序的清晰性,直截了當(dāng)?shù)卣f程序員首先應(yīng)當(dāng)考慮程序的清晰性,直截了當(dāng)?shù)卣f明程序員的用意,不要刻意追求技巧性或程序執(zhí)行速明程序員的用意,不要刻意追求技巧性或程序執(zhí)行速度,使程序編寫得過于緊湊和難以理解。度,使程序編寫得過于緊湊和難以理解。l要保證程序正確,然后才要求提高速度。要保證程序正確,然后才要求提高速度。l避免使用臨時變量而使可讀性下降。避免使用臨時變量而使可讀性下降。l盡量用公共過程或子程序代替重復(fù)的功能代碼段。盡量用公共過程或子程序代替重復(fù)的功能代碼段。要注意,這段代碼應(yīng)具有一個獨(dú)立的功能,不要只因要注意,

27、這段代碼應(yīng)具有一個獨(dú)立的功能,不要只因代碼形式一樣便將其抽出組成一個公共過程或子程序代碼形式一樣便將其抽出組成一個公共過程或子程序(模塊的偶然內(nèi)聚)。(模塊的偶然內(nèi)聚)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院24l使用括號清晰地表達(dá)算術(shù)表達(dá)式和邏輯表達(dá)式的運(yùn)使用括號清晰地表達(dá)算術(shù)表達(dá)式和邏輯表達(dá)式的運(yùn)算順序。算順序。l用邏輯表達(dá)式代替分支嵌套,以避免過多的循環(huán)嵌用邏輯表達(dá)式代替分支嵌套,以避免過多的循環(huán)嵌套和條件嵌套。套和條件嵌套。l盡量減少使用盡量減少使用“否定否定”條件的條件語句。條件的條件語句。l經(jīng)常反躬自?。航?jīng)常反躬自?。骸叭绻也皇蔷幋a的人,我能看懂如果我不是編碼的人,我能看懂它嗎?它嗎?

28、” 。l總之,要從程序編碼的實踐中,積累編制程序的經(jīng)驗,總之,要從程序編碼的實踐中,積累編制程序的經(jīng)驗,培養(yǎng)和學(xué)習(xí)良好的程序設(shè)計風(fēng)格,使編寫出來的程序培養(yǎng)和學(xué)習(xí)良好的程序設(shè)計風(fēng)格,使編寫出來的程序清晰易懂,易于測試和維護(hù)。在程序編碼階段改善和清晰易懂,易于測試和維護(hù)。在程序編碼階段改善和提高軟件的質(zhì)量。提高軟件的質(zhì)量。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院25l一、一、系統(tǒng)測試的作用和意義系統(tǒng)測試的作用和意義l系統(tǒng)測試是管理信息系統(tǒng)開發(fā)周期中一個十分重要而漫長系統(tǒng)測試是管理信息系統(tǒng)開發(fā)周期中一個十分重要而漫長的階段。的階段。l其重要性體現(xiàn)在它是保證系統(tǒng)質(zhì)量與可靠性的最后關(guān)口,其重要性體現(xiàn)在它是保證系

29、統(tǒng)質(zhì)量與可靠性的最后關(guān)口,是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實是對整個系統(tǒng)開發(fā)過程包括系統(tǒng)分析、系統(tǒng)設(shè)計和系統(tǒng)實現(xiàn)的最終審查?,F(xiàn)的最終審查。l盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴(yán)格的技術(shù)審查,盡管在系統(tǒng)開發(fā)周期的各個階段均采取了嚴(yán)格的技術(shù)審查,希望盡早發(fā)現(xiàn)問題予以修正,但依然難免遺留下差錯,如希望盡早發(fā)現(xiàn)問題予以修正,但依然難免遺留下差錯,如果沒有在投入運(yùn)行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題果沒有在投入運(yùn)行前的系統(tǒng)測試階段被發(fā)現(xiàn)并糾正,問題遲早會在運(yùn)行中暴露出來,到那時要糾正錯誤將會付出更遲早會在運(yùn)行中暴露出來,到那時要糾正錯誤將會付出更大的代價,甚至?xí)斐刹豢霸O(shè)想的后果。因此

30、不要以為程大的代價,甚至?xí)斐刹豢霸O(shè)想的后果。因此不要以為程序設(shè)計完成后系統(tǒng)開發(fā)工作就接近尾聲了,還有大量重要序設(shè)計完成后系統(tǒng)開發(fā)工作就接近尾聲了,還有大量重要而艱巨的系統(tǒng)測試工作才剛剛開始。而艱巨的系統(tǒng)測試工作才剛剛開始。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院26l二、二、系統(tǒng)測試的對象和目的系統(tǒng)測試的對象和目的l由于信息系統(tǒng)的開發(fā)很大程度上是軟件系統(tǒng)的開發(fā),由于信息系統(tǒng)的開發(fā)很大程度上是軟件系統(tǒng)的開發(fā),那么經(jīng)過程序設(shè)計階段以后,系統(tǒng)測試的對象是不是那么經(jīng)過程序設(shè)計階段以后,系統(tǒng)測試的對象是不是源程序呢?源程序呢?l我們知道,系統(tǒng)開發(fā)周期內(nèi)的各個階段是彼此銜接的,我們知道,系統(tǒng)開發(fā)周期內(nèi)的各個階段

31、是彼此銜接的,前一階段發(fā)生的問題如未能及時解決,很自然會帶入前一階段發(fā)生的問題如未能及時解決,很自然會帶入下一個階段,因此在測試中發(fā)現(xiàn)的問題不一定是在編下一個階段,因此在測試中發(fā)現(xiàn)的問題不一定是在編碼階段產(chǎn)生的,而是前面各階段的錯誤的集中反映。碼階段產(chǎn)生的,而是前面各階段的錯誤的集中反映。也就是說,對程序設(shè)計階段來講,有些錯誤是也就是說,對程序設(shè)計階段來講,有些錯誤是“先天先天性性”的。因此系統(tǒng)測試的對象顯然不僅僅是源程序,的。因此系統(tǒng)測試的對象顯然不僅僅是源程序,而應(yīng)是整個軟件,它把系統(tǒng)分析、系統(tǒng)設(shè)計以及程序而應(yīng)是整個軟件,它把系統(tǒng)分析、系統(tǒng)設(shè)計以及程序設(shè)計各階段的開發(fā)文檔以及源程序,都作為

32、測試的對設(shè)計各階段的開發(fā)文檔以及源程序,都作為測試的對象。由于象。由于“程序程序+文檔文檔=軟件軟件”,所以系統(tǒng)測試的對象,所以系統(tǒng)測試的對象是軟件。是軟件。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院27l三、測試的基本原則三、測試的基本原則l1、測試人員應(yīng)當(dāng)避免測試自己設(shè)計的程序:、測試人員應(yīng)當(dāng)避免測試自己設(shè)計的程序:l因為從心理學(xué)上來看,程序員和程序設(shè)計機(jī)構(gòu)總認(rèn)為因為從心理學(xué)上來看,程序員和程序設(shè)計機(jī)構(gòu)總認(rèn)為自己的程序沒有錯誤,因此讓他們測試自己的程序要自己的程序沒有錯誤,因此讓他們測試自己的程序要采用客觀的態(tài)度是很困難。最好由與源程序無關(guān)的程采用客觀的態(tài)度是很困難。最好由與源程序無關(guān)的程序員和程序

33、設(shè)計機(jī)構(gòu)進(jìn)行測試。序員和程序設(shè)計機(jī)構(gòu)進(jìn)行測試。l2、測試用例應(yīng)該分別考慮輸入和輸出:、測試用例應(yīng)該分別考慮輸入和輸出:l測試用例的設(shè)計應(yīng)該由測試用例的設(shè)計應(yīng)該由“確定的輸入數(shù)據(jù)確定的輸入數(shù)據(jù)”和和“預(yù)期預(yù)期的輸出結(jié)果的輸出結(jié)果”組成。在執(zhí)行測試程序之前應(yīng)該有很明組成。在執(zhí)行測試程序之前應(yīng)該有很明確的期望輸出,測試后可將程序的輸出與預(yù)期輸出對確的期望輸出,測試后可將程序的輸出與預(yù)期輸出對照檢查。若不是先確定預(yù)期的輸出,由于心理作用,照檢查。若不是先確定預(yù)期的輸出,由于心理作用,可能把似乎是正確而實際是錯誤的輸出結(jié)果當(dāng)成是正可能把似乎是正確而實際是錯誤的輸出結(jié)果當(dāng)成是正確的結(jié)果。確的結(jié)果。管理信息

34、系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院28l3、測試數(shù)據(jù)的選取應(yīng)當(dāng)考慮各種不同的情況、測試數(shù)據(jù)的選取應(yīng)當(dāng)考慮各種不同的情況:l不僅選用合理的輸入數(shù)據(jù)進(jìn)行測試,還應(yīng)選用不合理不僅選用合理的輸入數(shù)據(jù)進(jìn)行測試,還應(yīng)選用不合理的甚至是錯誤的輸入數(shù)據(jù)。因為人們常有一種自然的的甚至是錯誤的輸入數(shù)據(jù)。因為人們常有一種自然的傾向,只注意合理數(shù)據(jù)而忽略不合理的數(shù)據(jù)。為了提傾向,只注意合理數(shù)據(jù)而忽略不合理的數(shù)據(jù)。為了提高程序的可靠性,應(yīng)該認(rèn)真組織一些異常數(shù)據(jù)進(jìn)行測高程序的可靠性,應(yīng)該認(rèn)真組織一些異常數(shù)據(jù)進(jìn)行測試,注意觀察和分析系統(tǒng)的反應(yīng)。試,注意觀察和分析系統(tǒng)的反應(yīng)。l4、檢查程序是否執(zhí)行了規(guī)定以外的操作:、檢查程序是否執(zhí)行了

35、規(guī)定以外的操作:l除了檢查程序是否做了他應(yīng)該做工作以外,還應(yīng)檢查除了檢查程序是否做了他應(yīng)該做工作以外,還應(yīng)檢查程序是否作它不應(yīng)該做事情。比如,除了檢查工資管程序是否作它不應(yīng)該做事情。比如,除了檢查工資管理程序是否為每一個職工正確地產(chǎn)生一份工資單以外,理程序是否為每一個職工正確地產(chǎn)生一份工資單以外,還應(yīng)檢查它是否產(chǎn)生了多余的工資單。還應(yīng)檢查它是否產(chǎn)生了多余的工資單。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院29l5、注意保留測試用例:、注意保留測試用例:l應(yīng)該保留全部測試用例,并且將其作為管理信息系統(tǒng)應(yīng)該保留全部測試用例,并且將其作為管理信息系統(tǒng)軟件的組成部分之一。在系統(tǒng)的測試過程中,設(shè)計測軟件的組成部分

36、之一。在系統(tǒng)的測試過程中,設(shè)計測試用例是很費(fèi)時的,如果將用戶過的例子丟棄了,需試用例是很費(fèi)時的,如果將用戶過的例子丟棄了,需要再測試時就需要重復(fù)很多的人工。而且人們往往不要再測試時就需要重復(fù)很多的人工。而且人們往往不愿意再次重新設(shè)計測試用例,因而下次測試就不會像愿意再次重新設(shè)計測試用例,因而下次測試就不會像初次那樣全面、嚴(yán)格。如果將所有測試用例作為系統(tǒng)初次那樣全面、嚴(yán)格。如果將所有測試用例作為系統(tǒng)的一部分保存下來,就可以避免這種情況發(fā)生。的一部分保存下來,就可以避免這種情況發(fā)生。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院30l6、軟件中仍存在錯誤的概率和已經(jīng)發(fā)現(xiàn)錯誤的個數(shù)是、軟件中仍存在錯誤的概率和已經(jīng)

37、發(fā)現(xiàn)錯誤的個數(shù)是成正比的。成正比的。l有時軟件經(jīng)測試發(fā)現(xiàn)了許多錯誤后,測試者認(rèn)為可能有時軟件經(jīng)測試發(fā)現(xiàn)了許多錯誤后,測試者認(rèn)為可能錯誤已找得差不多了,因而不必再繼續(xù)測試了。但經(jīng)錯誤已找得差不多了,因而不必再繼續(xù)測試了。但經(jīng)驗和統(tǒng)計結(jié)果均表明,發(fā)現(xiàn)的錯誤越多,程序中潛在驗和統(tǒng)計結(jié)果均表明,發(fā)現(xiàn)的錯誤越多,程序中潛在的錯誤可能會越多。的錯誤可能會越多。l這個事實還可用米中含沙的情況做比喻,當(dāng)我們發(fā)現(xiàn)這個事實還可用米中含沙的情況做比喻,當(dāng)我們發(fā)現(xiàn)手中抓到的一把米里有沙時,絕不表示米袋里的沙粒手中抓到的一把米里有沙時,絕不表示米袋里的沙粒只有這些,往往是隨手一抓,手中的沙子越多,說明只有這些,往往是隨

38、手一抓,手中的沙子越多,說明米中含沙量越高。米中含沙量越高。l因此,如軟件經(jīng)測試發(fā)現(xiàn)了許多錯誤,則繼續(xù)測試發(fā)因此,如軟件經(jīng)測試發(fā)現(xiàn)了許多錯誤,則繼續(xù)測試發(fā)現(xiàn)錯誤的可能性更大?,F(xiàn)錯誤的可能性更大。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院31l測試與調(diào)試測試與調(diào)試l測試與調(diào)試意義是不同的,僅就測試而言,其目標(biāo)是測試與調(diào)試意義是不同的,僅就測試而言,其目標(biāo)是發(fā)現(xiàn)系統(tǒng)中的錯誤,但發(fā)現(xiàn)錯誤并不是我們的最終目發(fā)現(xiàn)系統(tǒng)中的錯誤,但發(fā)現(xiàn)錯誤并不是我們的最終目的。系統(tǒng)開發(fā)的最終目的是高質(zhì)量的完全符合用戶需的。系統(tǒng)開發(fā)的最終目的是高質(zhì)量的完全符合用戶需要的信息系統(tǒng)。因此測試發(fā)現(xiàn)問題后,還必須診斷錯要的信息系統(tǒng)。因此測試發(fā)

39、現(xiàn)問題后,還必須診斷錯誤,改正錯誤,這就是調(diào)試:準(zhǔn)確判定錯誤位置以及誤,改正錯誤,這就是調(diào)試:準(zhǔn)確判定錯誤位置以及具體的出錯情況,繼而進(jìn)行改正以排除錯誤。具體的出錯情況,繼而進(jìn)行改正以排除錯誤。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院32l四、調(diào)試的過程四、調(diào)試的過程l一個管理信息系統(tǒng)通常由若干個子系統(tǒng)組成,一個管理信息系統(tǒng)通常由若干個子系統(tǒng)組成,每個子系統(tǒng)又由若干個程序模塊組成。所以可每個子系統(tǒng)又由若干個程序模塊組成。所以可以把調(diào)試工作分為模塊調(diào)試、子系統(tǒng)調(diào)試和系以把調(diào)試工作分為模塊調(diào)試、子系統(tǒng)調(diào)試和系統(tǒng)總體調(diào)試三各層次,調(diào)試過程依次是模塊調(diào)統(tǒng)總體調(diào)試三各層次,調(diào)試過程依次是模塊調(diào)試、子系統(tǒng)調(diào)試(或

40、分調(diào))和系統(tǒng)調(diào)試(或聯(lián)試、子系統(tǒng)調(diào)試(或分調(diào))和系統(tǒng)調(diào)試(或聯(lián)調(diào))。調(diào))。l另外還可以增加實況考試,即用企業(yè)原有歷史另外還可以增加實況考試,即用企業(yè)原有歷史數(shù)據(jù)去擬合新系統(tǒng)。數(shù)據(jù)去擬合新系統(tǒng)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院33模塊調(diào)試模塊調(diào)試子系統(tǒng)子系統(tǒng)1子系統(tǒng)子系統(tǒng)2子系統(tǒng)子系統(tǒng)k系系統(tǒng)統(tǒng) 分調(diào)分調(diào)聯(lián)調(diào)聯(lián)調(diào)管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院34l窮舉測試與選擇測試窮舉測試與選擇測試l既然測試的目的在于尋找錯誤,并且找出的錯既然測試的目的在于尋找錯誤,并且找出的錯誤越多,測試就越成功,那么能不能通過測試誤越多,測試就越成功,那么能不能通過測試把所有隱藏的錯誤全部找出來呢?把所有隱藏的錯誤全部找

41、出來呢?l換句話說,能否將所有可能發(fā)現(xiàn)錯誤的測試都換句話說,能否將所有可能發(fā)現(xiàn)錯誤的測試都做完呢?我們把能夠包含所有可能情況的測試做完呢?我們把能夠包含所有可能情況的測試稱為窮舉測試。稱為窮舉測試。l例如:窮舉測試?yán)纾焊F舉測試管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院35l從程序入口從程序入口A到程序到程序出口出口B的路徑數(shù)高達(dá)的路徑數(shù)高達(dá)520 ,近似,近似1014個可能個可能的路徑。若每毫秒測的路徑。若每毫秒測試一個路徑,則需要試一個路徑,則需要花費(fèi)花費(fèi)3170年才能測試年才能測試完該程序。完該程序。循環(huán)20次AB管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院36l五、模塊測試五、模塊測試l模塊測試是單個模塊進(jìn)

42、行的測試,是系統(tǒng)測試的基礎(chǔ)。模塊測試是單個模塊進(jìn)行的測試,是系統(tǒng)測試的基礎(chǔ)。模塊測試的目的是保證每個模塊本身正常運(yùn)行。模塊測試的目的是保證每個模塊本身正常運(yùn)行。l1 1、模塊測試的基本方法、模塊測試的基本方法l(1)(1)靜態(tài)測試:靜態(tài)測試是在模塊上機(jī)運(yùn)行之前,通過靜態(tài)測試:靜態(tài)測試是在模塊上機(jī)運(yùn)行之前,通過閱讀程序和人工走查的方法發(fā)現(xiàn)程序中的語法錯誤和閱讀程序和人工走查的方法發(fā)現(xiàn)程序中的語法錯誤和邏輯錯誤。只要認(rèn)真檢查,可以發(fā)現(xiàn)絕大部分的語法邏輯錯誤。只要認(rèn)真檢查,可以發(fā)現(xiàn)絕大部分的語法錯誤或部分的邏輯錯誤。錯誤或部分的邏輯錯誤。l(2)(2)動態(tài)測試:就是模塊上機(jī)運(yùn)行測試??偟目磥碚Z法動態(tài)

43、測試:就是模塊上機(jī)運(yùn)行測試??偟目磥碚Z法錯誤比較容易發(fā)現(xiàn)和修改,追蹤邏輯錯誤則比較困難。錯誤比較容易發(fā)現(xiàn)和修改,追蹤邏輯錯誤則比較困難。為了有效地發(fā)現(xiàn)并改正邏輯錯誤,除了要充分利用所為了有效地發(fā)現(xiàn)并改正邏輯錯誤,除了要充分利用所有高級語言提供的調(diào)試機(jī)制和軟件工具外,還需要掌有高級語言提供的調(diào)試機(jī)制和軟件工具外,還需要掌握測試技術(shù)。握測試技術(shù)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院37l2 2、模塊測試內(nèi)容:、模塊測試內(nèi)容:l模塊測試主要從下述五個方面去檢驗?zāi)K:模塊測試主要從下述五個方面去檢驗?zāi)K:l(1)模塊接口:測試信息能否正確無誤地流入、流出模)模塊接口:測試信息能否正確無誤地流入、流出模塊。

44、塊。l(2)模塊內(nèi)部之?dāng)?shù)據(jù)結(jié)構(gòu):測試內(nèi)部數(shù)據(jù)的完整性,包)模塊內(nèi)部之?dāng)?shù)據(jù)結(jié)構(gòu):測試內(nèi)部數(shù)據(jù)的完整性,包括內(nèi)容、形式及相互關(guān)系。括內(nèi)容、形式及相互關(guān)系。l(3)邏輯路徑:測試應(yīng)覆蓋模塊中關(guān)鍵的邏輯路徑。)邏輯路徑:測試應(yīng)覆蓋模塊中關(guān)鍵的邏輯路徑。l(4)出錯處理:測試模塊對錯誤及產(chǎn)生錯誤的條件的預(yù))出錯處理:測試模塊對錯誤及產(chǎn)生錯誤的條件的預(yù)見能力,并且檢測其出錯處理是否適當(dāng)。見能力,并且檢測其出錯處理是否適當(dāng)。l(5)邊界條件:軟件往往容易在邊界條件上發(fā)生問題,)邊界條件:軟件往往容易在邊界條件上發(fā)生問題,如循環(huán)的第一次和最后一次執(zhí)行,判斷選擇的邊界值等。如循環(huán)的第一次和最后一次執(zhí)行,判斷選擇

45、的邊界值等。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院38l3 3、動態(tài)測試的實現(xiàn)原理、動態(tài)測試的實現(xiàn)原理l(1)黑盒測試:也稱功能測試,將模塊看作黑盒子,在完)黑盒測試:也稱功能測試,將模塊看作黑盒子,在完全不考慮模塊的內(nèi)部結(jié)構(gòu)和特性的情況下,測試模塊的外全不考慮模塊的內(nèi)部結(jié)構(gòu)和特性的情況下,測試模塊的外部特性。根據(jù)模塊的需求規(guī)格說明書設(shè)計測試用例,從模部特性。根據(jù)模塊的需求規(guī)格說明書設(shè)計測試用例,從模塊的輸入和輸出特性上測試是否滿足設(shè)定的功能。塊的輸入和輸出特性上測試是否滿足設(shè)定的功能。l(2)白盒測試:也稱結(jié)構(gòu)測試,將模塊看作一個透明的白)白盒測試:也稱結(jié)構(gòu)測試,將模塊看作一個透明的白盒子,按照模

46、塊的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,盒子,按照模塊的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測試用例,對模塊的邏輯路徑及過程進(jìn)行測試,檢查它與設(shè)計是否相對模塊的邏輯路徑及過程進(jìn)行測試,檢查它與設(shè)計是否相符。符。l無論黑盒測試還是白盒測試,都不能將程序中的所有錯誤無論黑盒測試還是白盒測試,都不能將程序中的所有錯誤全部檢查出來;因為黑盒測試不可能將所有的輸入情況都全部檢查出來;因為黑盒測試不可能將所有的輸入情況都測試一遍,白盒測試也不能窮舉模塊中的所有可能路徑。測試一遍,白盒測試也不能窮舉模塊中的所有可能路徑。在實際工作中,可以根據(jù)黑盒測試和白盒測試的基本原理在實際工作中,可以根據(jù)黑盒測試和白盒測試的基本原理按

47、照下述三種方法進(jìn)行模塊測試。按照下述三種方法進(jìn)行模塊測試。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院39l4 4、等價分類法、等價分類法l根據(jù)選擇測試思想,在所有可能的輸入數(shù)據(jù)中取一個根據(jù)選擇測試思想,在所有可能的輸入數(shù)據(jù)中取一個有限的子集,作為測試用數(shù)據(jù)。通常在黑盒測試中將有限的子集,作為測試用數(shù)據(jù)。通常在黑盒測試中將模塊的輸入域劃分成有效等價類(模塊中符合規(guī)范的模塊的輸入域劃分成有效等價類(模塊中符合規(guī)范的輸入)和無效等價類(模塊中非法的輸入)兩種。輸入)和無效等價類(模塊中非法的輸入)兩種。l例如,某模塊的合理輸入是例如,某模塊的合理輸入是0一一100,則大于等于,則大于等于0且小且小于等于于等于

48、100的數(shù)據(jù)屬于有效等價數(shù)據(jù);小于的數(shù)據(jù)屬于有效等價數(shù)據(jù);小于0或大于或大于100的數(shù)據(jù)為無效等價類,測試數(shù)據(jù)可以從這兩個等價類的數(shù)據(jù)為無效等價類,測試數(shù)據(jù)可以從這兩個等價類中抽取。中抽取。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院40l5 5、邊緣分析法、邊緣分析法l這也是一個黑盒測試法。在編寫程序時,人們往往只這也是一個黑盒測試法。在編寫程序時,人們往往只注意正常情況,忽視了邊界條件下的程序運(yùn)行狀態(tài)。注意正常情況,忽視了邊界條件下的程序運(yùn)行狀態(tài)。因此,在測試過程中邊緣值常被用來作為測試數(shù)據(jù)。因此,在測試過程中邊緣值常被用來作為測試數(shù)據(jù)。l如模塊的有效值是如模塊的有效值是0一一100,則可以取,則可以

49、取-0.1,0.1,99.9,100.1作為測試數(shù)據(jù)。作為測試數(shù)據(jù)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院41l6 6、邏輯覆蓋法、邏輯覆蓋法l用白箱法測試模塊時,要執(zhí)行程序中的每一條路徑,用白箱法測試模塊時,要執(zhí)行程序中的每一條路徑,當(dāng)程序中有循環(huán)存在時,要測試程序中的每一條路徑當(dāng)程序中有循環(huán)存在時,要測試程序中的每一條路徑是不可能的。而用邏輯覆蓋法測試模塊,只能希望覆是不可能的。而用邏輯覆蓋法測試模塊,只能希望覆蓋的程度盡可能高一些。蓋的程度盡可能高一些。l通過下面的例子說明邏輯覆蓋測試的方法。通過下面的例子說明邏輯覆蓋測試的方法。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院42PROCEDURE EXAM

50、PLE1 PARAMETER A,B,X IF (A1) .AND. (B=0) X=X/A ENDIF IF (A=2) .OR. (X1) X=X+1 ENDIFYNA1 And B=0A=2 OR X1X=X/AX=X+1bcNdYea管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院43l(1)判斷覆蓋判斷覆蓋:l 即讓程序中每個判斷語句至少獲得一次即讓程序中每個判斷語句至少獲得一次“真真”值和值和“假假”值。以上圖為例,如果一次兩組測試數(shù)據(jù),使值。以上圖為例,如果一次兩組測試數(shù)據(jù),使它們能夠通過路徑它們能夠通過路徑ace和和abd,或者通過路徑,或者通過路徑acd和和abe,就可以達(dá)到就可以達(dá)到“判斷

51、覆蓋判斷覆蓋”的要求。的要求。l選擇:選擇: A=3,B=0,X=1(沿(沿a,c,d) A=2,B=1,X=3(沿(沿a,b,e )管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院44l(2)條件覆蓋條件覆蓋:l通常一個判斷語句中往往含多個條件,能使這些條件通常一個判斷語句中往往含多個條件,能使這些條件的各種可能取值出現(xiàn)的測試方法稱之為條件覆蓋,它的各種可能取值出現(xiàn)的測試方法稱之為條件覆蓋,它比判斷覆蓋在測錯能力上強(qiáng)些。比判斷覆蓋在測錯能力上強(qiáng)些。l在上例中兩個判斷語句共包括四個條件:在上例中兩個判斷語句共包括四個條件: A1, B=0和和A=2, X1l選擇測試數(shù)據(jù)使選擇測試數(shù)據(jù)使a點(diǎn)上:點(diǎn)上:A1,A1

52、,X1,B=0和和A=2,X1兩種情況出現(xiàn)兩種情況出現(xiàn)(沿路徑(沿路徑ace););l A=2,B=l,X=1使使Al,B0和和A=2,X=1兩種情況兩種情況出現(xiàn)(沿路徑出現(xiàn)(沿路徑abe););l A=l,B=0,X=2使使A=1,B=0和和A2,Xl兩種情況出兩種情況出現(xiàn)(沿路徑現(xiàn)(沿路徑abe););l A=l,B=1,X=1使使A=1,B0和和A2,X80%維護(hù)成本維護(hù)成本40%-60%維護(hù)成本維護(hù)成本30%-40%70-80年代年代80-90年代年代2000年之后年之后管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院76l1、系統(tǒng)維護(hù)的定義、系統(tǒng)維護(hù)的定義l系統(tǒng)維護(hù)是指新的管理信息系統(tǒng)運(yùn)行以后,為了

53、改正系統(tǒng)維護(hù)是指新的管理信息系統(tǒng)運(yùn)行以后,為了改正錯誤或滿足新的需求而修改系統(tǒng)的過程。根據(jù)維護(hù)活錯誤或滿足新的需求而修改系統(tǒng)的過程。根據(jù)維護(hù)活動的目的不同,可把系統(tǒng)維護(hù)分為改正性維護(hù)、適應(yīng)動的目的不同,可把系統(tǒng)維護(hù)分為改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)四類。性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)四類。l(1 1)改正)改正/ /糾錯性維護(hù)糾錯性維護(hù)l由于系統(tǒng)測試不可能揭露系統(tǒng)存在的所有錯誤,因此由于系統(tǒng)測試不可能揭露系統(tǒng)存在的所有錯誤,因此在系統(tǒng)投入運(yùn)行后頻繁的實際應(yīng)用過程中,就有可能在系統(tǒng)投入運(yùn)行后頻繁的實際應(yīng)用過程中,就有可能暴露出系統(tǒng)內(nèi)隱藏的錯誤,診斷和修正系統(tǒng)中遺留的暴露出系統(tǒng)內(nèi)隱

54、藏的錯誤,診斷和修正系統(tǒng)中遺留的錯誤,就是糾錯性維護(hù)。錯誤,就是糾錯性維護(hù)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院77l(2 2)適應(yīng)性維護(hù))適應(yīng)性維護(hù)l適應(yīng)性維護(hù)是為了使系統(tǒng)適應(yīng)環(huán)境的變化而進(jìn)行的維適應(yīng)性維護(hù)是為了使系統(tǒng)適應(yīng)環(huán)境的變化而進(jìn)行的維護(hù)工作。一方面信息系統(tǒng)的壽命一般要超過系統(tǒng)當(dāng)初護(hù)工作。一方面信息系統(tǒng)的壽命一般要超過系統(tǒng)當(dāng)初開發(fā)時的環(huán)境的壽命,所以要求信息系統(tǒng)能夠適應(yīng)新開發(fā)時的環(huán)境的壽命,所以要求信息系統(tǒng)能夠適應(yīng)新的軟硬件環(huán)境,以提高系統(tǒng)的性能和運(yùn)行效率;另一的軟硬件環(huán)境,以提高系統(tǒng)的性能和運(yùn)行效率;另一方面,信息系統(tǒng)要適應(yīng)組織機(jī)構(gòu)的調(diào)整、管理體制的方面,信息系統(tǒng)要適應(yīng)組織機(jī)構(gòu)的調(diào)整、管

55、理體制的改變、數(shù)據(jù)與信息需求的變更等都將導(dǎo)致系統(tǒng)不能適改變、數(shù)據(jù)與信息需求的變更等都將導(dǎo)致系統(tǒng)不能適應(yīng)新的應(yīng)用環(huán)境。應(yīng)新的應(yīng)用環(huán)境。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院78l(3 3)完善性維護(hù))完善性維護(hù)l在系統(tǒng)的使用過程中,用戶往往要求擴(kuò)充原有系統(tǒng)的在系統(tǒng)的使用過程中,用戶往往要求擴(kuò)充原有系統(tǒng)的功能,提高其性能,如增加數(shù)據(jù)輸出的圖形方式,增功能,提高其性能,如增加數(shù)據(jù)輸出的圖形方式,增加聯(lián)機(jī)在線幫助功能、調(diào)整用戶界面等等為了滿足這加聯(lián)機(jī)在線幫助功能、調(diào)整用戶界面等等為了滿足這些要求而進(jìn)行的系統(tǒng)維護(hù)工作就是完善性維護(hù)。些要求而進(jìn)行的系統(tǒng)維護(hù)工作就是完善性維護(hù)。l(4 4)預(yù)防性維護(hù))預(yù)防性維護(hù)l

56、系統(tǒng)維護(hù)工作不應(yīng)總是被動地等待用戶提出要求后才系統(tǒng)維護(hù)工作不應(yīng)總是被動地等待用戶提出要求后才進(jìn)行,應(yīng)進(jìn)行主動的預(yù)防性維護(hù),即選擇那些還有較進(jìn)行,應(yīng)進(jìn)行主動的預(yù)防性維護(hù),即選擇那些還有較長使用壽命,目前尚能正常運(yùn)行,但可能將要發(fā)生變長使用壽命,目前尚能正常運(yùn)行,但可能將要發(fā)生變化或調(diào)整的系統(tǒng)進(jìn)行維護(hù),目的是通過預(yù)防性維護(hù)為化或調(diào)整的系統(tǒng)進(jìn)行維護(hù),目的是通過預(yù)防性維護(hù)為未來的修改與調(diào)整奠定更好的基礎(chǔ)。未來的修改與調(diào)整奠定更好的基礎(chǔ)。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院79完善性維護(hù)完善性維護(hù) 占占50%左右左右適應(yīng)性維護(hù)適應(yīng)性維護(hù) 占占25%左右左右改正性維護(hù)改正性維護(hù) 占占21%左右左右預(yù)防性維護(hù)預(yù)

57、防性維護(hù) 占占4%左右左右管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院80l2、系統(tǒng)維護(hù)工作的內(nèi)容、系統(tǒng)維護(hù)工作的內(nèi)容l(1 1)系統(tǒng)應(yīng)用程序維護(hù))系統(tǒng)應(yīng)用程序維護(hù)l系統(tǒng)的業(yè)務(wù)處理過程是通過應(yīng)用程序的運(yùn)行而實現(xiàn)的,系統(tǒng)的業(yè)務(wù)處理過程是通過應(yīng)用程序的運(yùn)行而實現(xiàn)的,一旦程序發(fā)生問題或業(yè)務(wù)發(fā)生變化,就必然地引起程一旦程序發(fā)生問題或業(yè)務(wù)發(fā)生變化,就必然地引起程序的修改和調(diào)整,因此系統(tǒng)維護(hù)的主要活動是對程序序的修改和調(diào)整,因此系統(tǒng)維護(hù)的主要活動是對程序進(jìn)行維護(hù)。程序維護(hù)時通常要充分利用原有的程序,進(jìn)行維護(hù)。程序維護(hù)時通常要充分利用原有的程序,修改后要填寫程序修改登記表,寫明新、舊程序的不修改后要填寫程序修改登記表,

58、寫明新、舊程序的不同之處。同之處。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院81l(2)數(shù)據(jù)維護(hù))數(shù)據(jù)維護(hù)l業(yè)務(wù)處理對數(shù)據(jù)的需求是不斷發(fā)生變化的,除了系統(tǒng)業(yè)務(wù)處理對數(shù)據(jù)的需求是不斷發(fā)生變化的,除了系統(tǒng)中主體業(yè)務(wù)數(shù)據(jù)的定期正常更新外,還有許多數(shù)據(jù)需中主體業(yè)務(wù)數(shù)據(jù)的定期正常更新外,還有許多數(shù)據(jù)需要進(jìn)行不定期的更新,或隨環(huán)境或業(yè)務(wù)的變化而進(jìn)行要進(jìn)行不定期的更新,或隨環(huán)境或業(yè)務(wù)的變化而進(jìn)行調(diào)整,以及數(shù)據(jù)內(nèi)容的增加、數(shù)據(jù)結(jié)構(gòu)的調(diào)整。此外,調(diào)整,以及數(shù)據(jù)內(nèi)容的增加、數(shù)據(jù)結(jié)構(gòu)的調(diào)整。此外,數(shù)據(jù)的備份與恢復(fù)等,都是數(shù)據(jù)維護(hù)的工作內(nèi)容。數(shù)據(jù)的備份與恢復(fù)等,都是數(shù)據(jù)維護(hù)的工作內(nèi)容。l(3)代碼維護(hù))代碼維護(hù)l隨著系統(tǒng)應(yīng)用范

59、圍的擴(kuò)大、應(yīng)用環(huán)境的變化,原有代隨著系統(tǒng)應(yīng)用范圍的擴(kuò)大、應(yīng)用環(huán)境的變化,原有代碼如果不能繼續(xù)適應(yīng)新的要求,就必須對代碼進(jìn)行變碼如果不能繼續(xù)適應(yīng)新的要求,就必須對代碼進(jìn)行變更。變更代碼時,由現(xiàn)場業(yè)務(wù)人員和維護(hù)人員共同討更。變更代碼時,由現(xiàn)場業(yè)務(wù)人員和維護(hù)人員共同討論新的代碼體系。論新的代碼體系。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院82l(4 4)硬件設(shè)備維護(hù))硬件設(shè)備維護(hù)l 主要是指對主機(jī)及外設(shè)的日常維護(hù)和管理,如機(jī)器主要是指對主機(jī)及外設(shè)的日常維護(hù)和管理,如機(jī)器部件的清洗、潤滑,設(shè)備故障的檢修,易損部件的更部件的清洗、潤滑,設(shè)備故障的檢修,易損部件的更換等,都應(yīng)由專人負(fù)責(zé),定期進(jìn)行,填寫相關(guān)的設(shè)備換

60、等,都應(yīng)由專人負(fù)責(zé),定期進(jìn)行,填寫相關(guān)的設(shè)備故障和維護(hù)表格,以便設(shè)備維護(hù)工作的開展,從而保故障和維護(hù)表格,以便設(shè)備維護(hù)工作的開展,從而保證系統(tǒng)正常有效地運(yùn)行。證系統(tǒng)正常有效地運(yùn)行。管理信息系統(tǒng)內(nèi)蒙古大學(xué)計算機(jī)學(xué)院83l3、系統(tǒng)維護(hù)的過程和注意事項、系統(tǒng)維護(hù)的過程和注意事項l許多人認(rèn)為系統(tǒng)的維護(hù)要比系統(tǒng)開發(fā)容易,其實在更許多人認(rèn)為系統(tǒng)的維護(hù)要比系統(tǒng)開發(fā)容易,其實在更多的情況下,維護(hù)工作比開發(fā)工作更的困難。這是因多的情況下,維護(hù)工作比開發(fā)工作更的困難。這是因為維護(hù)人員必須用更多的時間理解別人編寫程序和文為維護(hù)人員必須用更多的時間理解別人編寫程序和文檔,且對系統(tǒng)的修改不能影響該程序的正確性和完整檔,

溫馨提示

  • 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

提交評論