信息管理系統(tǒng)分析與設(shè)計(jì)課件_第1頁
信息管理系統(tǒng)分析與設(shè)計(jì)課件_第2頁
信息管理系統(tǒng)分析與設(shè)計(jì)課件_第3頁
信息管理系統(tǒng)分析與設(shè)計(jì)課件_第4頁
信息管理系統(tǒng)分析與設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章信息管理系統(tǒng)分析與設(shè)計(jì)本章導(dǎo)讀:

本章本章從軟件工程的角度介紹了信息管理系統(tǒng)設(shè)計(jì)的基本過程和各階段的關(guān)鍵內(nèi)容

本章主要知識(shí)點(diǎn):

(1)信息管理系統(tǒng)的分類(2)信息管理系統(tǒng)的開發(fā)過程和各階段主要任務(wù)(3)系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施與維護(hù)第6章信息管理系統(tǒng)分析與設(shè)計(jì)6.1概述6.2系統(tǒng)分析6.3系統(tǒng)設(shè)計(jì)6.4系統(tǒng)實(shí)施與維護(hù)6.1概述6.1.1信息管理系統(tǒng)分類6.1.2信息管理系統(tǒng)開發(fā)過程

6.1概述6.1.1信息管理系統(tǒng)分類(4)檔案管理。包括收文、擬文處理完畢后的文件自動(dòng)轉(zhuǎn)入檔案管理系統(tǒng)進(jìn)行歸檔、立卷處理等功能。(5)電子郵件系統(tǒng)。利用電子郵件實(shí)現(xiàn)公文和其它文件的傳送、接收、下載等功能。(6)個(gè)人事務(wù)管理。包括個(gè)人事務(wù)的安排管理,如名片管理、會(huì)議、工作日程安排、重大事件提醒等功能。(7)系統(tǒng)管理。根據(jù)系統(tǒng)使用部門、人員的變動(dòng)進(jìn)行用戶管理,包括用戶名單的增、刪,權(quán)限設(shè)定、修改等功能。另外,還應(yīng)該注意提高辦公自動(dòng)化系統(tǒng)的安全保密性。6.1概述6.1.1信息管理系統(tǒng)分類2.管理信息系統(tǒng)

管理信息系統(tǒng)(ManagementInformationSystem,MIS)是一個(gè)由人和計(jì)算機(jī)組成的能進(jìn)行組織內(nèi)部和外部信息的收集、傳遞、存儲(chǔ)、加工、維護(hù)和使用,支持組織的作業(yè)控制、計(jì)劃管理和輔助決策的信息管理系統(tǒng)。管理信息系統(tǒng)主要指數(shù)據(jù)庫管理系統(tǒng),利用數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)各種管理業(yè)務(wù)。

6.1概述6.1.1信息管理系統(tǒng)分類

2.管理信息系統(tǒng)主要功能(1)數(shù)據(jù)處理功能。包括數(shù)據(jù)的輸入/輸出、刪除、修改、傳輸、存儲(chǔ)、加工、查詢。(2)計(jì)劃功能。根據(jù)用戶的目標(biāo)和環(huán)境條件,制訂各部門的工作計(jì)劃。(3)控制功能。根據(jù)收集到的信息,對(duì)計(jì)劃的執(zhí)行情況進(jìn)行監(jiān)督、檢查和控制。(4)預(yù)測功能。對(duì)企業(yè)效益、市場的變化情況及各種計(jì)劃完成的可能性做出預(yù)測。(5)輔助決策功能,為企業(yè)的決策人提供可靠的決策信息和決策方案。6.1概述6.1.2信息管理系統(tǒng)開發(fā)過程

軟件的生命周期:軟件開發(fā)過程是由一系列相關(guān)活動(dòng)組成的,包括從提出要求,經(jīng)過研制,到交付使用,在使用過程中不斷的增補(bǔ)修訂,直到最后因被新的軟件所代替而淘汰的全部過程。階段劃分系統(tǒng)分析系統(tǒng)設(shè)計(jì)系統(tǒng)實(shí)施與維護(hù)6.1概述6.1.2信息管理系統(tǒng)開發(fā)過程

階段劃分系統(tǒng)分析該時(shí)期的任務(wù)是確定信息管理系統(tǒng)的總目標(biāo)、確定系統(tǒng)的可行性、確定系統(tǒng)的實(shí)現(xiàn)方案、確定系統(tǒng)必須完成的功能以及完成該系統(tǒng)需要的資源和成本,并且制定系統(tǒng)完成的預(yù)計(jì)進(jìn)度,寫出系統(tǒng)分析報(bào)告。通常劃分為三個(gè)階段:問題定義、可行性研究和需求分析。由分析人員負(fù)責(zé)完成。系統(tǒng)設(shè)計(jì)該時(shí)期的任務(wù)是根據(jù)系統(tǒng)分析時(shí)期的結(jié)果,逐步完成系統(tǒng)的設(shè)計(jì)開發(fā)工作,最終得到運(yùn)行良好的軟件。通常由軟件設(shè)計(jì)、軟件編碼、軟件測試三個(gè)階段組成。系統(tǒng)實(shí)施與維護(hù)主要任務(wù)是為保證軟件長久的滿足用戶的需要而對(duì)軟件進(jìn)行的一系列修改工作。返回本章目錄6.2系統(tǒng)分析6.2.1問題定義

6.2.2可行性研究

6.2.3需求分析

6.2系統(tǒng)分析6.2.2可行性研究關(guān)鍵問題是:“對(duì)上一階段提出的問題有可行的解決方案嗎?”。可行性研究的任務(wù)

可行性研究的目的就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。

可行性研究的內(nèi)容:經(jīng)濟(jì)可行性技術(shù)可行性法律可行性開發(fā)方案的選擇6.2系統(tǒng)分析6.2.2可行性研究可行性研究的步驟

明確新系統(tǒng)的實(shí)現(xiàn)目標(biāo),研究舊系統(tǒng)

分析問題,導(dǎo)出新系統(tǒng)模型

確定系統(tǒng)開發(fā)計(jì)劃完成可行性研究報(bào)告返回本節(jié)目錄6.2系統(tǒng)分析6.2.3需求分析需求分析的任務(wù)確定目標(biāo)系統(tǒng)的具體要求運(yùn)行環(huán)境要求:硬件環(huán)境、軟件環(huán)境系統(tǒng)的性能要求系統(tǒng)功能要求可靠性、安全保密性、用戶界面等建立目標(biāo)系統(tǒng)的邏輯模型分析系統(tǒng)的數(shù)據(jù)需求,并利用圖形工具描述數(shù)據(jù)結(jié)構(gòu)(如層次圖、Warnier圖、IPO圖等),并用數(shù)據(jù)流圖、數(shù)據(jù)字典及處理算法描述目標(biāo)系統(tǒng)的邏輯模型。6.2系統(tǒng)分析6.2.3需求分析需求分析的步驟進(jìn)行調(diào)查研究調(diào)查研究是需求分析的主要手段。分析員對(duì)可行性研究報(bào)告中描述的目標(biāo)系統(tǒng)的運(yùn)行環(huán)境、功能、性能等要和用戶進(jìn)行詳細(xì)的交流,對(duì)各項(xiàng)內(nèi)容進(jìn)一步細(xì)化并取得一致意見。分析和描述系統(tǒng)的邏輯模型分析員把來自用戶的信息加以分析,從信息流和信息結(jié)構(gòu)出發(fā),逐步細(xì)化系統(tǒng)的功能,找出各元素之間的聯(lián)系、接口特性和設(shè)計(jì)上的約束,分析他們是否滿足功能要求、是否合理。根據(jù)功能需求、性能需求、運(yùn)行環(huán)境需求等,去掉不合理部分,增加需要部分。最后抽象出系統(tǒng)的詳細(xì)邏輯模型。評(píng)審

6.2.3需求分析評(píng)審

為了保證需求分析的質(zhì)量,應(yīng)對(duì)需求分析的結(jié)果進(jìn)行嚴(yán)格的審查,并應(yīng)由專門人員負(fù)責(zé),并按照規(guī)程嚴(yán)格進(jìn)行。評(píng)審人員不僅包含系統(tǒng)分析員和用戶,開發(fā)部門的管理者、軟件設(shè)計(jì)、實(shí)現(xiàn)、測試的人員都應(yīng)該參加評(píng)審工作。評(píng)審工作應(yīng)對(duì)軟件功能的正確性、完整性、清晰性,以及其它需求給與評(píng)價(jià)并提出修改意見,修改完成后,需要再次進(jìn)行評(píng)審、修改,直到評(píng)審?fù)ㄟ^為止。

評(píng)審的主要內(nèi)容

1.系統(tǒng)定義的目標(biāo)是否與用戶的要求一致。

2.系統(tǒng)需求分析階段提供的文檔資料是否齊全。

3.文檔中所有描述是否完整、清晰、準(zhǔn)確反映用戶要求。

4.與所有其它系統(tǒng)成分的重要接口是否都已經(jīng)描述。

5.所開發(fā)項(xiàng)目的數(shù)據(jù)流與數(shù)據(jù)結(jié)構(gòu)是否足夠、確定。6.2系統(tǒng)分析6.2系統(tǒng)分析6.2.3需求分析評(píng)審的主要內(nèi)容

6.所有圖表是否清楚,在不補(bǔ)充說明時(shí)是否能夠理解。

7.主要功能是否已包含在規(guī)定的軟件范圍之內(nèi),是否都已充分說明。8.設(shè)計(jì)的約束條件和限制條件是否符合實(shí)際。9.開發(fā)的技術(shù)風(fēng)險(xiǎn)是什么。

l0.是否考慮過軟件需求的其它方案。11.是否考慮過軟件將來可能會(huì)提出的其它需求。12.是否詳細(xì)制定了檢驗(yàn)標(biāo)準(zhǔn),它們對(duì)系統(tǒng)定義是否能成功進(jìn)行確認(rèn)。13.有沒有遺漏、重復(fù)或不一致的地方。14.用戶是否審查了初步的用戶手冊。15.軟件開發(fā)計(jì)劃中的估算是否受到了影響。

返回本章目錄6.3系統(tǒng)設(shè)計(jì)6.3.1軟件設(shè)計(jì)任務(wù)是確定系統(tǒng)“怎么做”的問題。劃分總體設(shè)計(jì):總體設(shè)計(jì)階段要解決的問題是:“總體上,系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”,因此總體設(shè)計(jì)又稱為概要設(shè)計(jì)或結(jié)構(gòu)設(shè)計(jì)??傮w設(shè)計(jì)階段重要任務(wù)之一就是確定系統(tǒng)的總體結(jié)構(gòu),即確定系統(tǒng)由哪些模塊組成以及各模塊之間的調(diào)用關(guān)系和接口說明。詳細(xì)設(shè)計(jì):設(shè)計(jì)每個(gè)模塊的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。詳細(xì)設(shè)計(jì)又稱為過程設(shè)計(jì)。6.3系統(tǒng)設(shè)計(jì)6.3.1軟件設(shè)計(jì)軟件設(shè)計(jì)的過程確定目標(biāo)系統(tǒng)的各種可能的不同的方案,在需求分析階段得到的數(shù)據(jù)流圖是設(shè)計(jì)實(shí)現(xiàn)方案的基礎(chǔ)。分析員向用戶推薦最佳實(shí)現(xiàn)方案,并制訂詳細(xì)的實(shí)現(xiàn)計(jì)劃,在得到用戶認(rèn)可后可進(jìn)入下面階段。設(shè)計(jì)軟件結(jié)構(gòu)。首先進(jìn)行總體設(shè)計(jì),確定系統(tǒng)由哪些模塊組成,以及模塊之間的相互關(guān)系。然后進(jìn)行詳細(xì)設(shè)計(jì),確定每個(gè)模塊的實(shí)現(xiàn)算法和處理過程。數(shù)據(jù)庫設(shè)計(jì)。對(duì)于涉及數(shù)據(jù)庫技術(shù)的軟件系統(tǒng),要根據(jù)需求分析的結(jié)果設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)。制訂測試計(jì)劃。在軟件開發(fā)的早期提前考慮測試計(jì)劃,能夠促使設(shè)計(jì)人員注意軟件的測試問題,有利于提高軟件的可測試性。編寫文檔??傮w設(shè)計(jì)說明書(包括系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu))、詳細(xì)設(shè)計(jì)說明書、測試計(jì)劃(包括測試策略、測試方案、預(yù)期的測試結(jié)果、測試進(jìn)度計(jì)劃等)、初步的用戶操作手冊、詳細(xì)的實(shí)現(xiàn)計(jì)劃和數(shù)據(jù)庫設(shè)計(jì)的結(jié)果。復(fù)審。在總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)結(jié)束時(shí)要進(jìn)行嚴(yán)格的技術(shù)審查和管理復(fù)審。6.3系統(tǒng)設(shè)計(jì)6.3.1軟件設(shè)計(jì)模塊模塊是能夠單獨(dú)命名并且能夠獨(dú)立完成一定功能的數(shù)據(jù)說明和程序語句的集合。模塊能夠通過名字來訪問,如過程、函數(shù)、子程序等。模塊劃分的原則盡量提高模塊的獨(dú)立性:應(yīng)盡量使每一個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的功能,參數(shù)傳遞應(yīng)盡量使用簡單數(shù)據(jù)類型,而不要使用結(jié)構(gòu)類型變量,盡量少使用全局變量,降低接口的復(fù)雜程度。模塊的規(guī)模應(yīng)該適中:不要太大,不要太小,模塊的規(guī)模最好以一頁紙(高級(jí)語言50行左右)為宜降低模塊接口的復(fù)雜性,模塊之間傳遞的參數(shù)個(gè)數(shù)應(yīng)盡量少,類型應(yīng)盡量簡單。設(shè)計(jì)單入口、單出口的模塊。結(jié)構(gòu)圖舉例圖6-2產(chǎn)生最佳解的結(jié)構(gòu)圖

6.3系統(tǒng)設(shè)計(jì)6.3.1軟件設(shè)計(jì)詳細(xì)設(shè)計(jì)的圖形描述工具常用工具有:程序流程圖、盒圖(N-S圖)、PAD圖、過程設(shè)計(jì)語言PDL、判定表、判定樹、Jackson圖等。它們都可以形象的描述程序的控制流程、處理過程、數(shù)據(jù)組織以及各方面的實(shí)現(xiàn)細(xì)節(jié),作為編碼的依據(jù)。程序流程圖

程序流程圖的基本符號(hào)6.3系統(tǒng)設(shè)計(jì)6.3.2編碼1.結(jié)構(gòu)化程序設(shè)計(jì)的設(shè)計(jì)原則使用語言中的順序、選擇、循環(huán)等有限的基本控制結(jié)構(gòu)表示程序邏輯。選用的控制結(jié)構(gòu)只有一個(gè)入口、一個(gè)出口。程序語句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口。復(fù)雜結(jié)構(gòu)應(yīng)用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。程序中沒有的控制結(jié)構(gòu),可用一段等價(jià)的程序段來模擬,但要求程序段在整個(gè)系統(tǒng)中應(yīng)前后一致。6.3系統(tǒng)設(shè)計(jì)6.3.2編碼2.程序設(shè)計(jì)語言的選擇除了選擇結(jié)構(gòu)化的程序設(shè)計(jì)語言,還應(yīng)該考慮如下幾個(gè)方面:l

系統(tǒng)應(yīng)用領(lǐng)域。l

算法和計(jì)算的復(fù)雜性。l

軟件執(zhí)行環(huán)境。l

性能考慮,程序設(shè)計(jì)語言能否達(dá)到軟件系統(tǒng)的需求。l

數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。l

軟件開發(fā)人員的知識(shí)水平和心理因素等。6.3系統(tǒng)設(shè)計(jì)6.3.2編碼2.程序設(shè)計(jì)語言的選擇項(xiàng)目的應(yīng)用領(lǐng)域是選擇語言的關(guān)鍵因素,不同的應(yīng)用領(lǐng)域有適應(yīng)該領(lǐng)域軟件特點(diǎn)的不同的程序設(shè)計(jì)語言開發(fā)環(huán)境。如在科學(xué)計(jì)算領(lǐng)域多使用FORTRAN語言,在數(shù)據(jù)庫應(yīng)用領(lǐng)域主要使用PowerBuilder、SQLServer、ORACLE、ACCESS、Sybase等,網(wǎng)頁設(shè)計(jì)主要采用JavaScript、VBScript、ASP、PHP、JSP等程序設(shè)計(jì)語言,對(duì)于實(shí)時(shí)性較高的應(yīng)用系統(tǒng)一般采用匯編語言、C語言、C++等。

6.3系統(tǒng)設(shè)計(jì)6.3.2編碼3.程序設(shè)計(jì)風(fēng)格良好的程序設(shè)計(jì)風(fēng)格主要有四個(gè)方面:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)和輸入/輸出技術(shù)。(1)源程序文檔化 ①標(biāo)識(shí)符的命名

標(biāo)識(shí)符指表示模塊名、變量名、常量名、子程序名、函數(shù)名等的名字。 名字命名應(yīng)符合其表示的實(shí)際意義。例如,用number表示編號(hào),用name表示姓名,用sum表示總和,用average表示平均值等等,為此,標(biāo)識(shí)符的長度不應(yīng)限制。但是標(biāo)識(shí)符也不應(yīng)該太長,過長的標(biāo)識(shí)符會(huì)增加程序員的工作量,增加出錯(cuò)機(jī)會(huì)。所以應(yīng)選擇精煉的意義明確的名字。通常是采用單詞縮寫的形式(如用num表示編號(hào)),但要注意縮寫規(guī)則要一致,并應(yīng)該給每個(gè)標(biāo)識(shí)符加上適當(dāng)?shù)淖⑨?。特殊情況還可以使用漢語拼音或漢語拼音縮寫的形式定義標(biāo)識(shí)符,但要保證在程序中的定義規(guī)則一致。6.3系統(tǒng)設(shè)計(jì)6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(1)源程序文檔化 ②

程序注釋程序的注釋能夠幫助讀者理解程序,是程序員和日后的程序讀者之間通信的重要手段,為后續(xù)的測試和維護(hù)工作的順利進(jìn)行提供了有利保證。序言性注釋:序言性注釋置于模塊的開頭部分,包括模塊的功能說明、接口說明(調(diào)用形式、參數(shù)描述、子程序清單等)、模塊位置、主要算法、開發(fā)簡歷(編碼者、復(fù)審者、復(fù)審日期,最后修改日期等);功能性注釋。功能性注釋嵌在源程序體內(nèi),用于描述一些程序段的功能。

6.3系統(tǒng)設(shè)計(jì)6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(1)源程序文檔化 ③

程序的形象化組織使用空格、空行和移行來改善視覺效果,使程序的結(jié)構(gòu)清晰,層次分明,易于理解。例:寫法一floatscore;chardegree;if(score>90)degree='A';elseif(score>80)degree='B';else……寫法二:floatscore;chardegree;if(score>90)degree='A';elseif(score>80)degree='B';else……顯然,寫法二中程序的結(jié)構(gòu)則更清晰,便于理解和查錯(cuò)、改錯(cuò)。

6.3系統(tǒng)設(shè)計(jì)6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(2)數(shù)據(jù)說明數(shù)據(jù)說明的次序應(yīng)當(dāng)規(guī)范化,規(guī)定說明的先后次序。例如,常量說明、簡單變量類型說明、數(shù)組說明、結(jié)構(gòu)類型說明、函數(shù)說明等。在類型說明中,還可以進(jìn)一步要求,如按照整型變量、實(shí)型變量、字符型變量、指針變量的順序進(jìn)行。當(dāng)多個(gè)變量名用一個(gè)語句說明時(shí),應(yīng)對(duì)這些變量按字母表的順序排列。如果設(shè)計(jì)了一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),應(yīng)當(dāng)使用注釋,說明在程序?qū)崿F(xiàn)時(shí)這個(gè)數(shù)據(jù)結(jié)構(gòu)的固有特點(diǎn)。

6.3系統(tǒng)設(shè)計(jì)6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(3)語句結(jié)構(gòu)語句結(jié)構(gòu)應(yīng)力求簡單、直接,不能片面追求效率而使結(jié)構(gòu)語句復(fù)雜化。注意以下幾個(gè)方面:

在一行內(nèi)只寫一條語句,并且采用適當(dāng)?shù)囊菩懈袷?,使程序的邏輯和功能變得更加明確。

程序的編寫應(yīng)當(dāng)首先考慮清晰性,不要刻意追求技巧性,使程序編寫的過于緊湊。

程序編寫的要簡單,寫清楚,直截了當(dāng)?shù)恼f明程序員的用意。

除非對(duì)效率有特殊的要求,程序編寫要做到清晰第一,效率第二。首先要保證正確性,然后才要求提高速度。6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(3)語句結(jié)構(gòu)注意方面:

盡可能使用庫函數(shù)。避免使用臨時(shí)變量而使可讀性下降。

盡量用公共過程或子程序去代替重復(fù)的功能代碼段。

使用括號(hào)清晰的表達(dá)、算術(shù)表達(dá)式和邏輯表達(dá)式的運(yùn)算順序。

避免不必要的轉(zhuǎn)移。

用邏輯表達(dá)式代替分之嵌套。避免使用空的else語句和IF….THEN….IF語句。避免使用ELSEGOTO和ELSERETURN語句。

使與判定相聯(lián)系的動(dòng)作盡可能的緊跟著判定。

盡量減少使用“否定”條件的條件語句。

避免過多的循環(huán)嵌套和條件嵌套。

不要使GOTO語句相互交叉。

對(duì)遞歸定義的數(shù)據(jù)結(jié)構(gòu)盡量使用遞歸過程。經(jīng)常反躬自?。骸叭绻也皇蔷幋a的人,我能看懂它嗎?”,考慮他的可理解性達(dá)到什么程度。6.3.2編碼3.程序設(shè)計(jì)風(fēng)格(4)輸入/輸出(I/O)技術(shù)

輸入/輸出規(guī)則:

對(duì)所有輸入數(shù)據(jù)都應(yīng)進(jìn)行校驗(yàn)。。

檢查輸入項(xiàng)重要組合的合法性。

保持輸入格式簡單。

使用數(shù)據(jù)結(jié)束標(biāo)記,不要要求用戶指定數(shù)據(jù)的數(shù)目。

應(yīng)給用戶明確的輸入提示。

應(yīng)允許缺省值。給所有輸出數(shù)據(jù)加標(biāo)志,并設(shè)計(jì)輸出報(bào)表格式。

返回本節(jié)目錄6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試

1.軟件測試的目標(biāo)G·Myers給出了如下一些觀點(diǎn),可以作為測試的目標(biāo)或定義:(1)測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。(2)好的測試方案是即可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤。(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。

錯(cuò)誤觀點(diǎn):“測試是為了證明程序是正確的”、“測試時(shí)沒有發(fā)現(xiàn)錯(cuò)誤則證明程序是正確的”

6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試2.軟件測試的原則(1)應(yīng)當(dāng)盡早地、不斷地進(jìn)行軟件測試。(2)測試用例應(yīng)由測試輸入數(shù)據(jù)和預(yù)期的輸出結(jié)果兩部分組成。(3)程序員應(yīng)避免檢查自己的程序,開發(fā)小組和測試小組分開。(4)注意測試中的群集現(xiàn)象,即程序中的錯(cuò)誤往往集中在少量的模塊中。如果在某些模塊中發(fā)現(xiàn)的錯(cuò)誤數(shù)較多,應(yīng)當(dāng)對(duì)這些模塊進(jìn)行重點(diǎn)測試。(5)測試用例應(yīng)當(dāng)包含合理的輸入數(shù)據(jù)和不合理的輸入數(shù)據(jù)。6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試2.軟件測試的原則(6)嚴(yán)格執(zhí)行測試計(jì)劃,避免測試的隨意性。(7)應(yīng)當(dāng)對(duì)每一測試結(jié)果作全面檢查。否則可能會(huì)遺漏錯(cuò)誤。(8)在程序修改之后要進(jìn)行回歸測試。因?yàn)樵诟恼e(cuò)誤的同時(shí)可能會(huì)引入新的錯(cuò)誤,因此在程序修改后,應(yīng)對(duì)以前的測試用例重新進(jìn)行測試(稱為回歸測試),以便發(fā)現(xiàn)程序中新引進(jìn)的錯(cuò)誤。(9)要妥善保管測試計(jì)劃、測試用例、修改記錄、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便。6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試3.軟件測試的步驟(1)單元測試程序員編寫完源代碼以后,首先對(duì)自己編寫的模塊進(jìn)行初步的測試,稱為單元測試,又稱模塊測試。主要測試單個(gè)模塊的功能是否達(dá)到了預(yù)定的功能要求。多個(gè)模塊的單元測試可以同時(shí)進(jìn)行。(2)集成測試又稱組裝測試,將多個(gè)模塊組裝在一起進(jìn)行測試,主要測試模塊間接口是否正確、模塊之間能否協(xié)調(diào)工作。根據(jù)系統(tǒng)的規(guī)模,又可以分為子系統(tǒng)測試和系統(tǒng)測試兩個(gè)步驟。(3)確認(rèn)測試又稱驗(yàn)收測試或有效性測試,該階段是在開發(fā)環(huán)境下和用戶的參與下、使用真實(shí)的數(shù)據(jù)進(jìn)行驗(yàn)收,測試系統(tǒng)的整體功能和性能是否達(dá)到了用戶的要求。(4)平行運(yùn)行又稱系統(tǒng)測試,是將軟件安裝到用戶的實(shí)際使用環(huán)境下試運(yùn)行,并且和舊系統(tǒng)或手工操作方式同時(shí)運(yùn)行,用以檢驗(yàn)新軟件的功能和性能,以便發(fā)現(xiàn)錯(cuò)誤。

6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試圖6-5軟件測試與軟件開發(fā)各階段的關(guān)系6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試4.測試方法

(1)靜態(tài)分析靜態(tài)測試是指對(duì)系統(tǒng)分析、系統(tǒng)設(shè)計(jì)各階段的文檔進(jìn)行分析、檢查,而不在實(shí)際的計(jì)算機(jī)運(yùn)行環(huán)境下運(yùn)行程序的過程。通常采取程序?qū)彶闀?huì)和人工運(yùn)行的方法組織測試工作。實(shí)踐證明,這種方法對(duì)發(fā)現(xiàn)文檔和程序中的錯(cuò)誤是十分有效的。(2)動(dòng)態(tài)測試動(dòng)態(tài)測試是指利用測試數(shù)據(jù)作為輸入在計(jì)算機(jī)環(huán)境下運(yùn)行程序,根據(jù)實(shí)際的輸出與預(yù)期的輸出結(jié)果是否一致來確認(rèn)程序是否有錯(cuò)的測試過程。動(dòng)態(tài)測試的測試方法有黑盒測試法和白盒測試法。6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試4.測試方法

黑盒測試法是指將程序模塊看成是一個(gè)不透明的黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,只檢查程序的功能是否按照需求說明書的規(guī)定正常使用,能否適當(dāng)?shù)慕邮諗?shù)據(jù)并產(chǎn)生正確的輸出信息,并保持外部信息(如數(shù)據(jù)庫或文件)的完整性。因此,黑盒測試法又稱為功能測試,是在模塊的接口處進(jìn)行的測試。白盒測試法將程序模塊看成是一個(gè)透明的白盒子,測試人員能夠清楚的看到程序的內(nèi)部結(jié)構(gòu)和處理過程,因此可以按照程序的內(nèi)部邏輯結(jié)構(gòu)進(jìn)行測試,檢驗(yàn)程序中的每一條路經(jīng)能否按照預(yù)定的要求正常工作。因此白盒測試又稱為結(jié)構(gòu)測試。6.3系統(tǒng)設(shè)計(jì)6.3.3軟件測試5.測試和調(diào)試

軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。調(diào)試則是在進(jìn)行了成功的測試之后才開始進(jìn)行的,其目的是為了進(jìn)一步診斷和改正程序中潛在的錯(cuò)誤。軟件調(diào)試工作包含兩部分內(nèi)容:(1)確定程序中錯(cuò)誤的確切性質(zhì)和位置。(2)對(duì)程序(設(shè)計(jì)、編碼)進(jìn)行修改,排除錯(cuò)誤。 因此調(diào)試是測試工作的延續(xù)。返回本章目錄6.4系統(tǒng)實(shí)施與維護(hù)6.4.1維護(hù)的分類

6.4.2提高軟件可維護(hù)性的方法

6.4.3維護(hù)的過程

6.4系統(tǒng)實(shí)施與維護(hù)系統(tǒng)實(shí)施與維護(hù)是軟件開發(fā)周期中最后一個(gè)階段。軟件實(shí)施:當(dāng)軟件經(jīng)過充分的測試后可交付用戶使用,即系統(tǒng)實(shí)施。軟件維護(hù):在使用過程中,不可避免的會(huì)發(fā)現(xiàn)一些錯(cuò)誤,或者用戶的使用環(huán)境變更,或者是用戶提出了新的需求等使得軟件運(yùn)行與實(shí)際需要出現(xiàn)不一致的現(xiàn)象,為了保證軟件能夠長期的有效運(yùn)行需要對(duì)軟件作進(jìn)一步的修改,這就是維護(hù)的工作。系統(tǒng)實(shí)施與維護(hù)是交替進(jìn)行的,通常把它們作為一個(gè)階段。

6.4系統(tǒng)實(shí)施與維護(hù)6.4.1維護(hù)的分類維護(hù):在系統(tǒng)實(shí)施與維護(hù)階段對(duì)軟件產(chǎn)品進(jìn)行的修改。分類:1.改正性維護(hù)因?yàn)檐浖y試不可能發(fā)現(xiàn)大型軟件中潛藏的所有錯(cuò)誤,在用戶使用過程中,必然會(huì)在特定的環(huán)境下暴露出來。為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用而進(jìn)行的診斷和改正軟件錯(cuò)誤的過程,稱為改正性維護(hù)。2.適應(yīng)性維護(hù)隨著計(jì)算機(jī)的飛速發(fā)展,計(jì)算機(jī)的軟、硬件環(huán)境都可能會(huì)發(fā)生變化,為了適應(yīng)新的運(yùn)行環(huán)境而修改軟件的過程稱為適應(yīng)性維護(hù)。例如,將某個(gè)軟件從DOS環(huán)境移植到Windows環(huán)境。6.4系統(tǒng)實(shí)施與維護(hù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論