建設(shè)工程信息管理 課件 第7、8章 系統(tǒng)設(shè)計、系統(tǒng)實施_第1頁
建設(shè)工程信息管理 課件 第7、8章 系統(tǒng)設(shè)計、系統(tǒng)實施_第2頁
建設(shè)工程信息管理 課件 第7、8章 系統(tǒng)設(shè)計、系統(tǒng)實施_第3頁
建設(shè)工程信息管理 課件 第7、8章 系統(tǒng)設(shè)計、系統(tǒng)實施_第4頁
建設(shè)工程信息管理 課件 第7、8章 系統(tǒng)設(shè)計、系統(tǒng)實施_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第7章系統(tǒng)設(shè)計

7.1系統(tǒng)設(shè)計的目標(biāo)與原則7.2系統(tǒng)概要設(shè)計7.3系統(tǒng)詳細設(shè)計

系統(tǒng)設(shè)計的任務(wù)主要是解決“怎么做”的問題。其目標(biāo)是進一步實現(xiàn)系統(tǒng)分析階段提出的系統(tǒng)模型,詳細地確定新系統(tǒng)的結(jié)構(gòu)、應(yīng)用軟件的研制方法和內(nèi)容。第7章系統(tǒng)設(shè)計

7.1系統(tǒng)設(shè)計的目標(biāo)與原則系統(tǒng)工作效率(處理能力、處理速度、響應(yīng)時間)系統(tǒng)的可靠性(抗干擾、平均無故障時間、平均修復(fù)時間)系統(tǒng)的工作質(zhì)量(準確及時性、用戶友好性)系統(tǒng)的可變性(可修改性、易維護性)系統(tǒng)的經(jīng)濟性(直接、間接經(jīng)濟效益、社會效益)7.1.1系統(tǒng)設(shè)計的目標(biāo)系統(tǒng)性(代碼統(tǒng)一,設(shè)計規(guī)范標(biāo)準,數(shù)據(jù)一次輸入多次利用)靈活性(開放性和結(jié)構(gòu)可變性,盡量采用模塊化結(jié)構(gòu),提高模塊的獨立性)可靠性(安全保密性、查錯及糾錯能力等)經(jīng)濟性(硬件投資應(yīng)以滿足需要為前提,系統(tǒng)設(shè)計應(yīng)盡量避免不必要的復(fù)雜化,各模塊應(yīng)盡量簡潔)7.1.2系統(tǒng)設(shè)計的原則7.1系統(tǒng)設(shè)計的目標(biāo)與原則

系統(tǒng)概要設(shè)計也就是對系統(tǒng)進行總體結(jié)構(gòu)設(shè)計,它是根據(jù)系統(tǒng)分析的結(jié)果對新系統(tǒng)的總體結(jié)構(gòu)形式和可利用的資源進行大致的設(shè)計,它是一種宏觀、總體上的設(shè)計和規(guī)劃。通過總體結(jié)構(gòu)設(shè)計劃分出子系統(tǒng)并對系統(tǒng)功能模塊進行描述,給出系統(tǒng)平臺的設(shè)計方案。

劃分子系統(tǒng)系統(tǒng)功能模塊設(shè)計系統(tǒng)平臺設(shè)計7.2

系統(tǒng)概要設(shè)計

按功能劃分7.2.1劃分子系統(tǒng)

根據(jù)對系統(tǒng)業(yè)務(wù)流程、數(shù)據(jù)流程以及數(shù)據(jù)/功能(U/C矩陣)分析的結(jié)果,結(jié)合系統(tǒng)設(shè)計要求,進行子系統(tǒng)的劃分。要作到功能獨立、數(shù)據(jù)完整、規(guī)模適中。如:項目系統(tǒng):進度、質(zhì)量、合同等。

將系統(tǒng)劃分成若干個子系統(tǒng),再把子系統(tǒng)劃分為若干個模塊。每一個子系統(tǒng)或模塊,無論是設(shè)計或是調(diào)試、修改或擴充,基本上可以互不干擾地進行。

7.2

系統(tǒng)概要設(shè)計7.2

系統(tǒng)概要設(shè)計7.2.1劃分子系統(tǒng)應(yīng)考慮的因素:

①子系統(tǒng)在功能上應(yīng)有相對的獨立性;

②子系統(tǒng)在數(shù)據(jù)上應(yīng)有較好的數(shù)據(jù)完整性;

③子系統(tǒng)在規(guī)模上應(yīng)有一定的適中性,可以根據(jù)功能獨立性、數(shù)據(jù)完整性綜合考慮。例如:工程項目管理信息系統(tǒng)可以分為進度控制子系統(tǒng)、成本控制子系統(tǒng)、質(zhì)量控制子系統(tǒng)、合同管理等子系統(tǒng)等。

采用系統(tǒng)輸入輸出圖劃分

按輸入輸出的獨立性劃分子系統(tǒng)。格子中的“×”號表示輸出文件來自哪個輸入文件。圖中可分為兩個子系統(tǒng):其中ACD-245構(gòu)成一個子系統(tǒng),BE-136構(gòu)成另一個子系統(tǒng)。在這兩個子系統(tǒng)之間,輸入輸出不發(fā)生關(guān)系。因此可以獨立開發(fā)和維護。××E××D×C××B×××A654321輸出輸入7.2

系統(tǒng)概要設(shè)計7.2.1劃分子系統(tǒng)

結(jié)構(gòu)化設(shè)計(StructuredDesign,SD)方法

SD方法是由美國IBM公司的W.Stavens,G.Myers,L.Constantinl等人提出的,適用于任何軟件系統(tǒng)的軟件結(jié)構(gòu)設(shè)計。SD方法通常與系統(tǒng)分析階段的SA方法銜接起來使用,借助SA方法得到用數(shù)據(jù)流圖和數(shù)據(jù)詞典描述的系統(tǒng)分析報告,SD方法則以數(shù)據(jù)流圖為基礎(chǔ)得到軟件的模塊結(jié)構(gòu)。

是將系統(tǒng)設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu),從而簡化研制工作,防止錯誤蔓延,提高系統(tǒng)的可靠性。在這種模塊結(jié)構(gòu)中,模塊之間的調(diào)用關(guān)系非常明確與簡單,每個模塊可以單獨地被理解、編寫、調(diào)試、查錯與修改。模塊結(jié)構(gòu)整體上具有較高的正確性、可理解性與可維護性。

基本思想7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計

在從數(shù)據(jù)流圖導(dǎo)出初始模塊結(jié)構(gòu)圖時采用一組基本的設(shè)計策略—變換分析與事務(wù)分析。在對初始模塊結(jié)構(gòu)圖改進和優(yōu)化方面有一組基本的設(shè)計原則—耦合小、內(nèi)聚大,和一組質(zhì)量優(yōu)化技術(shù)。

模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖由五種基本符號組成:模塊轉(zhuǎn)接符號調(diào)用數(shù)據(jù)控制信息可以組合、分解和更換的單元,是組成系統(tǒng)、易于處理的基本單位。系統(tǒng)中的任何一個處理功能都可以看作是一個模塊。也可以理解為用一個名字就可以調(diào)用的一段程序語句。

調(diào)用模塊可以把數(shù)據(jù)傳送到被調(diào)用模塊處供處理,而被調(diào)用模塊又可以將處理的結(jié)果數(shù)據(jù)送回到調(diào)用模塊。

模塊間傳送某些控制信息,以指導(dǎo)程序下一步的執(zhí)行。7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計相關(guān)概念:①統(tǒng)帥與從屬②深度③寬度④扇出數(shù)⑤扇入數(shù)AGHIJKLMN總深度總寬度BCDEFA扇出5B扇出3F扇出2寬度5寬度2M扇入2N扇入3A統(tǒng)帥B、C、D、E、FB、C、D、E、F從屬

A

模塊結(jié)構(gòu)圖7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計(1)事務(wù)分析以事務(wù)為中心的轉(zhuǎn)換方法。

一個抽象的高層數(shù)據(jù)流圖CYAXBZF1F2ABCSYSTEM分解后的系統(tǒng)結(jié)構(gòu)圖范圍:一般用于轉(zhuǎn)換高層數(shù)據(jù)流圖。優(yōu)點:能把一個大的、復(fù)雜的系統(tǒng)分解成若干個小的、簡單的子系統(tǒng)。模塊結(jié)構(gòu)圖的導(dǎo)出7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計123654ABCDEFGH輸入主加工輸出范圍:一般用于轉(zhuǎn)換低層數(shù)據(jù)流圖轉(zhuǎn)換成系統(tǒng)模塊結(jié)構(gòu)圖。如下面的圖A轉(zhuǎn)換為圖B。(2)變換分析以變換為中心的轉(zhuǎn)換方法。模塊結(jié)構(gòu)圖的導(dǎo)出7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計SYSTEMGETCMAKECINTOD&EPUTEPUTDD&ECCEDGETBMAKEBINTOCMAKEEINTOGPUTGMAKEDINTOFPUTFBBCEGGDFFGETAMAKEAINTOBMAKEGINTOHPUTHAABGHH123654ABCDEFGH輸入主加工輸出模塊結(jié)構(gòu)圖的導(dǎo)出7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計

模塊結(jié)構(gòu)圖改進首先應(yīng)按照“塊間聯(lián)系小、塊內(nèi)聯(lián)系大”的質(zhì)量標(biāo)準進行檢查和修改。其次應(yīng)注意以下幾個問題:

(1)合理確定模塊的扇入和扇出扇入數(shù)為1的模塊一般可以合并到它的上層模塊。扇入數(shù)較大時,不能向上合并。一個模塊具有多個功能時,應(yīng)考慮進一步分解(扇出)。對扇出數(shù)過少(例如1和2)的模塊,也應(yīng)進行檢查。一般說來,模塊的扇出數(shù)應(yīng)在七個以內(nèi)。

(2)模塊的大小適中

為了提高可讀性和方便修改,一個基本模塊的程序量以能印在一張紙上為宜,但不是絕對的。模塊的功能決定模塊的大小。模塊結(jié)構(gòu)圖的改進7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計

同一功能的程序多次出現(xiàn)會浪費編碼時間,并不易調(diào)試和維護,應(yīng)予以合并。YXYXQQ1*Q2*QX*Y*QQQ1Q2YXYXQQQQ1Q2正確的合并錯誤的合并模塊結(jié)構(gòu)圖的改進7.2

系統(tǒng)概要設(shè)計

(3)消除重復(fù)的功能7.2.2功能模塊設(shè)計

(4)減少塊間傳遞參數(shù)的個數(shù)(5)消除管道性的模塊

管道性指沒有實質(zhì)性的工作,只是傳遞數(shù)據(jù)。(6)整體考慮問題

研究整張結(jié)構(gòu)圖,而不是由幾個人分別研究一張圖的各個部分。(7)合理設(shè)置模塊的作用范圍和控制范圍

作用范圍:模塊中包含的判定處理所影響到的其他模塊集??刂品秶耗K本身及其所有的下屬模塊。

模塊結(jié)構(gòu)圖的改進7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計

好的模塊結(jié)構(gòu)應(yīng)滿足以下要求:

①判定的作用范圍應(yīng)該在判定所在模塊的控制范圍之內(nèi)。

判定所在模塊在模塊層次結(jié)構(gòu)中的位置不能太高。當(dāng)出現(xiàn)作用范圍不在控制范圍之內(nèi)時,可采取如下糾正方法:

①把判定所在的模塊合并至上層模塊中,或從低層模塊移到高層模塊,使判定的位置提高。

②把受判定影響的模塊下移到控制范圍之內(nèi)。模塊結(jié)構(gòu)圖的改進7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計圖例:判定判定的作用范圍

判定的作用范圍不在控制范圍內(nèi)頂XYABB1B2頂XYABB1B2頂XYABB1B2頂XYABB1B2判定太高,需多次傳遞基本合適耦合最小模塊結(jié)構(gòu)圖的改進7.2

系統(tǒng)概要設(shè)計7.2.2功能模塊設(shè)計

系統(tǒng)平臺選擇

(1)單項業(yè)務(wù)系統(tǒng)。選用各類PC機、數(shù)據(jù)庫管理系統(tǒng)為平臺。(2)綜合業(yè)務(wù)管理系統(tǒng)。以計算機網(wǎng)絡(luò)為系統(tǒng)平臺,如Novell網(wǎng)絡(luò)和關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。(3)集成管理系統(tǒng)。綜合性更強,規(guī)模更大,系統(tǒng)平臺也更復(fù)雜,涉及異型機、異種網(wǎng)絡(luò)、異種庫之間的信息傳遞和交換。

在信息處理模式上常采用客戶機/服務(wù)器(Client/Server)模式或瀏覽器/服務(wù)器(Browser/Server)模式。7.2

系統(tǒng)概要設(shè)計7.2.3系統(tǒng)平臺設(shè)計7.2

系統(tǒng)概要設(shè)計7.2.3系統(tǒng)平臺設(shè)計計算機處理方式選擇根據(jù)系統(tǒng)功能、業(yè)務(wù)處理的特點、性能/價格比等因素,選擇批處理、聯(lián)機實時處理、聯(lián)機成批處理、分布式處理等方式。計算機網(wǎng)絡(luò)系統(tǒng)的設(shè)計包括中小型主機方案與微機網(wǎng)絡(luò)方案的選取、網(wǎng)絡(luò)互連結(jié)構(gòu)及通信介質(zhì)的選型、局域網(wǎng)拓撲結(jié)構(gòu)的設(shè)計、網(wǎng)絡(luò)應(yīng)用模式及網(wǎng)絡(luò)操作系統(tǒng)的選型、網(wǎng)絡(luò)協(xié)議的選擇、網(wǎng)絡(luò)管理、遠程用戶等工作。

代碼的概念

代碼是客觀實體或?qū)傩缘囊环N表示符號。在管理信息系統(tǒng)中,代碼是人與計算機的共同語言,起著溝通人與計算機的作用。

代碼設(shè)計的目的

采用代碼,可以使數(shù)據(jù)表達標(biāo)準化,簡化程序設(shè)計,加快輸入,減少出錯,便于計算機處理(記錄、檢索、排序等),節(jié)省存儲空間,提高處理速度。

代碼設(shè)計的意義

代碼設(shè)計是一項重要的基礎(chǔ)工作,設(shè)計質(zhì)量的好壞,不僅關(guān)系到計算機的處理效率,而且直接影響MIS的推廣與使用。7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計

代碼設(shè)計的原則唯一確定性

每一代碼僅代表唯一的實體或?qū)傩?,每一實體和屬性都用一個確定的代碼來表示。標(biāo)準化與通用性

盡可能利用國際、國內(nèi)、部門的標(biāo)準代碼??蓴U充性

考慮系統(tǒng)的發(fā)展與變化,當(dāng)增加新的實體(或?qū)傩裕r,不需要變動原代碼體系。簡明性

盡可能簡短、統(tǒng)一。系統(tǒng)性代碼要有規(guī)律,邏輯性強。這樣既便于計算機處理,也便于識別和記憶及人工處理使用。易修改性

這是代碼具有標(biāo)準化又具有靈活性的一面,當(dāng)系統(tǒng)條件發(fā)生某些變化時,代碼應(yīng)容易進行修改。7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計明確代碼目的;確定代碼對象;確定代碼的使用范圍和期限;分析代碼對象特征。包括代碼使用頻率、變更周期、追加及刪除情況等;決定采用何種代碼,確定代碼結(jié)構(gòu)及內(nèi)容;編制代碼表;編制相應(yīng)的代碼使用管理維護制度,保證代碼使用。代碼的種類按文字種類分:數(shù)字代碼、字母代碼、數(shù)字字母混合碼按功能劃分:順序碼、層次碼、十進制碼、助記碼

代碼設(shè)計步驟7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計

用連續(xù)數(shù)字表示編碼對象。例如企業(yè)職工代碼可以編為“0001,0002,0003等。順序碼簡單明了,易擴充,但不便于分類匯總,刪除數(shù)據(jù)易造成空碼。作為順序碼的一個特例是分區(qū)順序碼,它將順序碼分為若干個區(qū),給每個區(qū)以特定的意義,并可在每個區(qū)預(yù)留些空碼,為以后插入之用。例如課程分區(qū)順序碼:

01~09公共課(如公共課只有6門,從01~06,預(yù)留3個位置)10~29基礎(chǔ)課;30~39專業(yè)基礎(chǔ)課;40~60專業(yè)課。

這種碼在使用中預(yù)留多少備用碼不好估計。

順序碼

層次碼也稱區(qū)間碼。按位被分成若干個區(qū)間,每個區(qū)間有不同的意義,這樣每位碼本身和其所在的位置都代表一定的意義。

層次碼7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計例:我國公民身份證代碼的含義123456789101112131415161718所在省市所在地區(qū)所在縣區(qū)年月日出生日期戶口所歸屬的派出所性別:男為奇數(shù)女為偶數(shù)校驗碼優(yōu)點:是分類基準明確,碼中的數(shù)字(或字母)與位置都代表一定的意義,因而檢索、分類或排序都很方便。缺點:有時會造成代碼過長。

層次碼7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計先把整體分成十份,進而把每一份再分成十份,這樣繼續(xù)不斷。

十進制碼

助記碼將編碼對象的名稱、規(guī)格等用漢語拼音或英文縮寫等形式編成代碼,可幫助記憶。

以上幾種主要代碼,在實際應(yīng)用中,可根據(jù)需要進行選擇,或?qū)追N編碼方法結(jié)合起來使用。

例如:“SX-2”表示2厘米直徑的石硝建材;“YSZE”表示預(yù)算總額;“PMIS”表示項目管理信息系統(tǒng)。助記碼適用于數(shù)據(jù)較少的情況,否則容易引起聯(lián)想錯誤。7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計部門代碼

一般采用區(qū)間碼或分組碼。2位部門碼又可以采用區(qū)間碼。例如:00~49表示基本生產(chǎn)部門

50~99表示管理科室。人員代碼

采用部門代碼加順序碼。代碼設(shè)計示例

班組碼部門碼****班組碼部門碼順序碼*******物資代碼

采用分組碼或區(qū)間碼,并輔以助記碼。設(shè)備代碼

一般按類別設(shè)置代碼。產(chǎn)品代碼

一般采用分組碼或助記碼設(shè)計。物資(設(shè)備)代碼示例產(chǎn)品代碼示例

大類中類小類序號(大類)(品種)(規(guī)格)(序號)********型號產(chǎn)品品種序列號*********7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計工程代碼

一般采用分組碼。會計科目代碼

一般采用3-2-2-2代碼結(jié)構(gòu)。業(yè)務(wù)往來單位代碼

一般采用郵政編碼加序號。會計科目代碼示例工程代碼示例業(yè)務(wù)往來單位代碼示例代碼設(shè)計示例

性質(zhì)年份序號****************郵編序號一級科目二級科目三級科目四級科目*********7.3

系統(tǒng)詳細設(shè)計7.3.1代碼設(shè)計輸出設(shè)計所要解決的問題是針對不同用戶的特點和要求,以最適當(dāng)?shù)男问?,輸出最切合需要的信息。輸出方式的選擇輸出報表的設(shè)計輸出設(shè)計說明7.3

系統(tǒng)詳細設(shè)計7.3.2輸入輸出設(shè)計輸出方式的選擇顯示器:內(nèi)容不多,無需保存的檢索信息。打印機、繪圖儀:系統(tǒng)最終結(jié)果,以圖表或文件的形式輸出。音箱:以聲音方式輸出。磁盤:以磁盤文件的形式輸出中間結(jié)果信息。調(diào)制解調(diào)器或網(wǎng)絡(luò):可通過電話線或網(wǎng)絡(luò)傳至其他系統(tǒng)。輸出報表的設(shè)計標(biāo)準化,使用方便,符合用戶習(xí)慣,便于計算機實現(xiàn)。輸出設(shè)計說明

選用的輸出設(shè)備、信息輸出的頻率和數(shù)量、各種輸出文件及輸出報表的格式及表格樣本等。針對不同用戶的特點和要求,以最適當(dāng)?shù)男问剑敵鲎钋泻闲枰男畔ⅰ?.3

系統(tǒng)詳細設(shè)計7.3.2輸入輸出設(shè)計在保證輸入信息正確性和滿足輸出需要的前提下,做到輸入方法簡便、迅速、經(jīng)濟。輸入方式的選擇

鍵盤、鼠標(biāo)、掃描儀、聲音等。輸入數(shù)據(jù)的獲得考慮數(shù)據(jù)產(chǎn)生的部門,了解數(shù)據(jù)的產(chǎn)生周期、平均發(fā)生量及最大量,確定收集的時間和方法等。輸入格式設(shè)計輸入格式一般與單據(jù)格式一致或設(shè)計專門的輸入記錄單,按屏幕填表或?qū)υ挿绞捷斎?。輸入?shù)據(jù)的校驗(檢驗方法)靜態(tài)校驗:輸入,打印,校對;聲音校驗:邊輸入計算機邊讀;詞典校驗:以預(yù)先存入的詞典作為校驗樣本;格式檢驗:檢驗數(shù)據(jù)是否符合預(yù)先規(guī)定格式;邏輯校驗:檢驗數(shù)據(jù)值是否合理;界限校驗:檢驗數(shù)據(jù)值是否在規(guī)定范圍內(nèi);順序校驗:檢查順序排列的記錄;記錄計數(shù)檢驗:通過記錄個數(shù)檢查是否遺漏;平衡校驗:檢驗數(shù)據(jù)的合計是否正確.7.3

系統(tǒng)詳細設(shè)計7.3.2輸入輸出設(shè)計

規(guī)范化理論:NormalizationTheory為了使數(shù)據(jù)存儲有一定的標(biāo)準和簡化數(shù)據(jù)存儲的結(jié)構(gòu),美國IBM公司的科德(E.F.Codd)在1971年首先提出了規(guī)范化理論,如今這個理論有了很大的發(fā)展。用規(guī)范化方法設(shè)計數(shù)據(jù)存儲結(jié)構(gòu),可以提高數(shù)據(jù)的完整性,一致性和可修改性。規(guī)范化理論雖然以關(guān)系數(shù)據(jù)模型為背景,設(shè)計一個關(guān)系數(shù)據(jù)庫,但是它對一般的數(shù)據(jù)庫邏輯設(shè)計,同樣具有重要的指導(dǎo)意義。

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計第一范式(1NF)

為將其轉(zhuǎn)換成規(guī)范化的關(guān)系,需把“職工檔案”數(shù)據(jù)結(jié)構(gòu)分解成若干個二維表記錄。職工檔案…...…...…...…...…...簡歷職工號姓名性別出生日期日期工作單位職務(wù)0001丁一男1945.10.51952.9永紅小學(xué)學(xué)生1958.9二十二中學(xué)學(xué)生1964.9哈工大學(xué)生1969.8哈二建公司助工、工程師

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化

在一個數(shù)據(jù)結(jié)構(gòu)中沒有重復(fù)出現(xiàn)的數(shù)據(jù)項。

例如:職工檔案表示的數(shù)據(jù)結(jié)構(gòu)(不是規(guī)范化的)7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計將上表中的數(shù)據(jù)項分解成如下兩表所示的兩個文件存儲,這兩個文件表示的數(shù)據(jù)結(jié)構(gòu)是規(guī)范化的。職工號日期工作單位職務(wù)00011952.9永紅小學(xué)學(xué)生00011958.9二十二中學(xué)學(xué)生00011964.9哈工大學(xué)生00011969.8哈二建公司助工、工程師………...……………...職工基本情況文件職工號姓名性別出生日期

0001丁一男1945.10.5…...職工簡歷文件

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化第一范式(1NF)

7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計函數(shù)依賴(FunctionalDependence)

如果在一個數(shù)據(jù)結(jié)構(gòu)R中,數(shù)據(jù)元素B的取值依賴于數(shù)據(jù)元素A的取值,我們稱B函數(shù)依賴于A。或稱A決定B,用“A

B”表示。所有非關(guān)鍵字數(shù)據(jù)元素完全函數(shù)依賴于整個關(guān)鍵字。(關(guān)鍵字僅由一個數(shù)據(jù)元素所組成必為第二范式)

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化第二范式(2NF)

供應(yīng)商文件*供應(yīng)商名稱供應(yīng)商地址材料編號材料名稱規(guī)格供應(yīng)商名稱供應(yīng)商地址價格庫存量庫存占用資金

材料文件*材料編號材料名稱規(guī)格

材料庫存文件*材料編號*供應(yīng)商名稱價格庫存量庫存占用資金例如:“材料-供應(yīng)商-庫存”中的數(shù)據(jù)元素關(guān)系7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計

一個屬于第三范式的數(shù)據(jù)結(jié)構(gòu),所有的非關(guān)鍵字數(shù)據(jù)元素都是彼此函數(shù)獨立的。ABC函數(shù)依賴:如果在一個數(shù)據(jù)結(jié)構(gòu)R中,數(shù)據(jù)元素B的取值依賴于數(shù)據(jù)元素A的取值,稱B函數(shù)依賴于A。傳遞依賴:設(shè)A,B,C分別是同一個數(shù)據(jù)結(jié)構(gòu)R中的三個數(shù)據(jù)元素,如果C函數(shù)依賴于B,而B又函數(shù)依賴于A,那么C也函數(shù)依賴于A,稱C傳遞依賴于A。

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化第三范式(3NF)

7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計

如下材料庫存結(jié)構(gòu),已是第二范式,但存在著傳遞依賴關(guān)系。即庫存占用資金”函數(shù)依賴于“庫存量”和“價格”,這三個元素均為非關(guān)鍵字域,而“庫存量”和“價格”都完全依賴于整個關(guān)鍵字。顯然,“庫存占用資金”是冗余數(shù)據(jù)元素。去掉它,就去掉了傳遞依賴關(guān)系,而轉(zhuǎn)換成第三范式的數(shù)據(jù)結(jié)構(gòu)。材料庫存文件

**材料編號**供應(yīng)商名稱價格庫存量材料庫存文件材料編號供應(yīng)商名稱價格庫存量庫存占用資金

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化第三范式(3NF)

7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計第二步:如果關(guān)鍵字多于一個數(shù)據(jù)元素,確保每個非關(guān)鍵字數(shù)據(jù)元素完全函數(shù)依賴于整個關(guān)鍵字第一步:把所有有重復(fù)的數(shù)據(jù)結(jié)構(gòu)分解為若干個二維表的數(shù)據(jù)結(jié)構(gòu),指定關(guān)鍵字唯一標(biāo)識出每個元組。第三步:檢查所有的非關(guān)鍵字數(shù)據(jù)元素是彼此獨立,如果不是,消除函數(shù)傳遞依賴關(guān)系,通過去掉冗余或分解的辦法轉(zhuǎn)換成若干個滿足這種要求的數(shù)據(jù)結(jié)構(gòu)。非規(guī)范化的數(shù)據(jù)結(jié)構(gòu)(含有重復(fù)出現(xiàn)的數(shù)據(jù)組項)第一規(guī)范化模式(沒有重復(fù)組項的數(shù)據(jù)結(jié)構(gòu))第二規(guī)范化形式(所有非關(guān)鍵字數(shù)據(jù)元素都完全依賴于整個關(guān)鍵字)第三規(guī)范化形式(所有的非關(guān)鍵字數(shù)據(jù)元素都完全函數(shù)依賴于整個關(guān)鍵字并且僅依賴于整個關(guān)鍵字)

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化的步驟7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計(1)去掉重復(fù)的數(shù)據(jù)項,轉(zhuǎn)換成1NF

ABEFCD*ABEF*A*CD(2)去掉部分函數(shù)依賴,轉(zhuǎn)換成2NF(3)去掉傳遞依賴,轉(zhuǎn)換成3NF*A*BCD*A*BC*AD*ABC*AB

數(shù)據(jù)存儲結(jié)構(gòu)規(guī)范化的步驟7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計主文件

長期保存、用以存儲重要數(shù)據(jù),對主文件經(jīng)常進行調(diào)用和更新。業(yè)務(wù)文件

臨時存儲數(shù)據(jù)、實時記載業(yè)務(wù)過程中數(shù)據(jù)發(fā)生的變化,用于統(tǒng)一更新主文件。輸入文件

需要輸入的大量數(shù)據(jù)先建立數(shù)據(jù)文件,經(jīng)校驗后,一次輸入進行處理。輸出文件

輸出的結(jié)果文件,它可以是打印文件或其他形式的文件。工作文件

在處理過程中暫時使用的中間文件,處理結(jié)束后文件即可刪除。轉(zhuǎn)存文件

用于存儲在一定恢復(fù)點上系統(tǒng)部分狀態(tài)的拷貝文件。轉(zhuǎn)存文件主要是為了安全目的。7.3

系統(tǒng)詳細設(shè)計文件設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計

文件設(shè)計的步驟

了解已有的或可提供的計算機系統(tǒng)功能文件外存配備:磁盤、磁帶、光盤的配備數(shù)量、功能、容量和有關(guān)文件的轉(zhuǎn)貯條件等;終端和其他外設(shè)的配備:涉及文件可能使用的范圍,多終端操作的可能性及文件輸入、輸出和更新的條件;系統(tǒng)所能提供的文件組織方式和存取方法等7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計與其他文件的接口:搞清有關(guān)文件之間的相互關(guān)系及數(shù)據(jù)項的協(xié)調(diào)。文件的數(shù)據(jù)量:根據(jù)文件用途和記錄長度,并從將來的需要量考慮,估算文件的數(shù)據(jù)量(記錄數(shù))。文件的邏輯結(jié)構(gòu):根據(jù)需要,確定文件記錄的長度、邏輯結(jié)構(gòu)組成以及各數(shù)據(jù)項的描述。文件處理方式:由用途決定文件的處理方式,可以是批處理、實時處理或混合方式等。文件的更新情況:從文件使用情況考慮,估計插入、修改和刪除等操作的頻率和更新要求。文件的使用率:估算文件記錄的實際使用頻率。文件存取時間:根據(jù)業(yè)務(wù)處理的需要,對文件存取時間提出的不同要求文件的保密性:用戶對文件機密程度的要求。

文件設(shè)計的步驟

確定文件設(shè)計的基本指標(biāo)7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計

文件設(shè)計的步驟

下面是以FoxPro數(shù)據(jù)庫文件為例給出的記錄設(shè)計工作表。數(shù)據(jù)庫文件名:GZWJ

字段字段名類型長度小數(shù)位姓名XMC(字符)

6

工資GZN(數(shù)字)72

記錄設(shè)計工作表7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計數(shù)據(jù)庫設(shè)計步驟用戶需求分析概念結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計物理結(jié)構(gòu)設(shè)計系統(tǒng)分析(詳細調(diào)查)系統(tǒng)分析(邏輯設(shè)計)系統(tǒng)設(shè)計系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計與系統(tǒng)開發(fā)階段對照

數(shù)據(jù)庫系統(tǒng)已形成一門獨立的學(xué)科,所以,當(dāng)把數(shù)據(jù)庫設(shè)計原理應(yīng)用到管理信息系統(tǒng)開發(fā)中時,數(shù)據(jù)庫設(shè)計的幾個步驟就與系統(tǒng)開發(fā)的各個階段相對應(yīng),且融為一體。系統(tǒng)開發(fā)步驟

數(shù)據(jù)庫設(shè)計

7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計概念結(jié)構(gòu)設(shè)計應(yīng)在系統(tǒng)分析階段進行。任務(wù)是根據(jù)用戶需求,設(shè)計數(shù)據(jù)庫的概念數(shù)據(jù)模型(簡稱概念模型)。概念模型是從用戶角度看到的數(shù)據(jù)庫,可用E-R模型表示。

數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計

數(shù)據(jù)庫設(shè)計

數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計是將概念結(jié)構(gòu)設(shè)計階段完成的概念模型轉(zhuǎn)換成能被選定的數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型。數(shù)據(jù)模型可以由實體聯(lián)系模型轉(zhuǎn)換而來。邏輯結(jié)構(gòu)設(shè)計階段提出的關(guān)系數(shù)據(jù)模型應(yīng)符合第三范式3NF的要求。如果選用的DBMS是支持層次、網(wǎng)絡(luò)模型的DBMS,則還需完成從關(guān)系模型向?qū)哟位蚓W(wǎng)絡(luò)模型轉(zhuǎn)換的工作。用DBMS提供的數(shù)據(jù)描述語言DDL對數(shù)據(jù)模型予以精確定義,即所謂模式定義。例如FoxPro中的CREATE命令,其作用類似于DDL,可用來定義邏輯數(shù)據(jù)結(jié)構(gòu)。7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計

物理結(jié)構(gòu)設(shè)計是為數(shù)據(jù)模型在設(shè)備上選定合適的存儲結(jié)構(gòu)和存取方法,以獲得數(shù)據(jù)庫的最佳存取效率。物理結(jié)構(gòu)設(shè)計的主要內(nèi)容包括:庫文件的組織形式。如選用順序文件組織形式、索引文件組織形式等;存儲介質(zhì)的分配。例如將易變的、存取頻度大的數(shù)據(jù)存放在高速存儲器上,穩(wěn)定的、存取頻度小的數(shù)據(jù)存放在低速存儲器上;存取路徑的選擇等。

數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計

數(shù)據(jù)庫設(shè)計

7.3

系統(tǒng)詳細設(shè)計7.3.3數(shù)據(jù)存儲設(shè)計IPO圖問題分析圖(PAD)控制流程圖(FC)過程設(shè)計語言(PDL)

用SD方法,可以完成系統(tǒng)總體模塊結(jié)構(gòu)的設(shè)計,而每一個模塊完成的具體操作,則在處理過程設(shè)計中完成。處理過程設(shè)計是系統(tǒng)設(shè)計的最后一步,也是最詳細的涉及到具體的業(yè)務(wù)處理過程的一步,是下一步編程實現(xiàn)系統(tǒng)的基礎(chǔ)。所用到的設(shè)計工具有:7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計IPO圖由IBM公司提出。主要是用來配合層次化模塊結(jié)構(gòu)圖詳細說明每個模塊內(nèi)部功能的一種工具。IPO圖的設(shè)計因人和具體情況而異,但都必須包括輸入(I)、輸出(O)、處理(P)以及與之相應(yīng)的數(shù)據(jù)庫或文件、在總體結(jié)構(gòu)中的位置等信息。常用的IPO圖結(jié)構(gòu)見下頁。IPO圖(INPUT--PROCESS--OUTPUT)7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計開始循環(huán).T.顯示系統(tǒng)功能功能選擇工作結(jié)束銷售業(yè)務(wù)采購業(yè)務(wù)選擇錯誤會計業(yè)務(wù)退出0123其他YN處理過程說明局部數(shù)據(jù)元素:注釋:輸入:功能代碼0,1,2,3上層調(diào)用模塊:無可調(diào)用的下層模塊:銷售、采購、會計模塊輸出:系統(tǒng):材料供應(yīng)商MIS

設(shè)計人:張濤模塊:主控

日期:

2004.4IPO圖由日本日立公司二村良彥等人于1979年提出,是一種支持結(jié)構(gòu)化程序設(shè)計的圖形工具。它僅有三種基本成分。與結(jié)構(gòu)化程序設(shè)計中的三種基本程序結(jié)構(gòu)相對應(yīng)。

問題分析圖(PROBLEMANALYSISDIAGRAM)P1P2

順序P1P2

選擇CP循環(huán)C7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計又稱框圖,是經(jīng)常使用的程序細節(jié)描述工具??驁D包括三種基本成分:

控制流程圖(FC--FLOWCHART)

處理步驟判斷控制流

框圖的特點:清晰易懂,便于初學(xué)者掌握。框圖中的箭頭若使用不當(dāng),會使框圖非常難懂。7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計開始i=1i>n-1Riji+1RJJ=J+1A(R)>A(J)i=i+1A(R),A(I)交換R=iJ>NNYYNNY停止YI=1TON-1R=IJ=I+1TONR=JSWAPA(R),A(I)I<﹥RA(R)>A(J)選擇排序程序框圖選擇排序問題分析圖、“走樹”示例及程序

10FORI=lTON-120R=I30FORJ=I十1TON401FA(R)>A(J)THENR=J50NEXTJ60IFI<>RTHENSWAPA(R),A(I)70NEXTI過程設(shè)計語言是用于描述模塊中算法的具體細節(jié)(也稱結(jié)構(gòu)化英語)。過程設(shè)計語言的外層語法描述結(jié)構(gòu),采用了一般編程語言類似的確定的關(guān)鍵字(如IF--THEN--ELSE,WHILE--DO等),內(nèi)層語法描述操作,可以采用任意的自然語句。過程設(shè)計語言的特點:同自然語言(英語)很接近,易于理解。易于被計算機處理并存貯??梢詮乃詣赢a(chǎn)生程序。不如圖形描述直觀,英語使用的準確性要求較高

過程設(shè)計語言(PROCESSDESIGNLANGUAGE)7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計

一個管理信息系統(tǒng)的軟件由很多程序模塊組成,這些程序模塊可以按處理過程歸納成為幾種基本的類型,參見下圖:優(yōu)化預(yù)測計算數(shù)據(jù)檢索分類更新編輯輸入及校驗?zāi)K合并處理模塊輸出模塊顯示結(jié)果打印報表等主控模塊基本程序模塊結(jié)構(gòu)圖

幾種基本的處理過程7.3

系統(tǒng)詳細設(shè)計7.3.4處理過程設(shè)計1.概述(1)系統(tǒng)的功能、設(shè)計目標(biāo)及設(shè)計策略;(2)項目開發(fā)者、用戶、系統(tǒng)與其它系統(tǒng)或機構(gòu)的聯(lián)系;(3)系統(tǒng)的安全和保密限制。

2.系統(tǒng)設(shè)計規(guī)范(1)程序名、文件名及變量名的規(guī)范化;(2)數(shù)據(jù)字典。

3.計算機系統(tǒng)的配置(1)硬件配置:主機、外存、終端與外波、其它輔助設(shè)備、網(wǎng)絡(luò)形態(tài);(2)軟件配置:操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、語言、軟件工具、服務(wù)程序、通訊軟件;(3)計算機系統(tǒng)的分布及網(wǎng)絡(luò)協(xié)議文本。4.系統(tǒng)結(jié)構(gòu)(1)系統(tǒng)的模塊結(jié)構(gòu)圖;(2)各個模塊的IPO圖。

5.代碼設(shè)計各類代碼的類型、名稱、功能、使用范圍及要求等。7.3

系統(tǒng)詳細設(shè)計7.3.5系統(tǒng)設(shè)計說明書(2)文件結(jié)構(gòu)設(shè)計:各類文件的數(shù)據(jù)項名稱、類型及長度等;(3)文件存貯要求,訪問方法及保密處理。

9.模型庫和方法庫設(shè)計關(guān)于模型庫和方法庫設(shè)計的相關(guān)說明。10.系統(tǒng)安全保密性設(shè)計關(guān)于系統(tǒng)安全保密性設(shè)計的相關(guān)說明。

11.系統(tǒng)實施方案及說明實施方案、進度計劃、經(jīng)費預(yù)算等。6.輸入設(shè)計(1)各種數(shù)據(jù)輸入方式的選擇;(2)輸入數(shù)據(jù)的格式設(shè)計;(3)輸入數(shù)據(jù)的校驗方法。

7.輸出設(shè)計(1)輸出介質(zhì);(2)輸出內(nèi)容及格式。8.文件(數(shù)據(jù)庫)設(shè)計(1)數(shù)據(jù)庫總體結(jié)構(gòu):各文件數(shù)據(jù)問的邏輯關(guān)系;7.3

系統(tǒng)詳細設(shè)計7.3.5系統(tǒng)設(shè)計說明書第8章系統(tǒng)實施8.1硬軟件系統(tǒng)的建立8.2系統(tǒng)測試8.3系統(tǒng)的實現(xiàn)8.4系統(tǒng)運行及維護8.5系統(tǒng)評價8.1.1硬件系統(tǒng)的建立

在建立和測試網(wǎng)絡(luò)時,首要的工作是確定網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。網(wǎng)絡(luò)拓撲是由網(wǎng)絡(luò)節(jié)點設(shè)備(包括計算機、集線器、交換機、路由器等設(shè)備)和傳輸介質(zhì)構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)圖。網(wǎng)絡(luò)拓撲結(jié)構(gòu)對網(wǎng)絡(luò)采用的技術(shù)、網(wǎng)絡(luò)的可靠性、網(wǎng)絡(luò)的可維護性和網(wǎng)絡(luò)的實施費用都有很大影響。在選擇網(wǎng)絡(luò)拓撲結(jié)構(gòu)時,一般應(yīng)考慮以下因素實施安裝的難易程度、改造升級后或重新配置的難易程度、維護的難易程度、傳輸介質(zhì)發(fā)生故障對其他設(shè)備影響的程度等因素。8.1硬軟件系統(tǒng)的建立8.1.1硬件系統(tǒng)的建立8.1硬軟件系統(tǒng)的建立ACTACT10M100M123413141516567817181920910111221222324UPLINK123456789101112131415161718192021222324COLCOLPWRSWITCH星型拓撲結(jié)構(gòu)8.1.1硬件系統(tǒng)的建立8.1硬軟件系統(tǒng)的建立

星型拓撲結(jié)構(gòu)特點:(1)網(wǎng)絡(luò)容易進行重新配置,只需增加,移去和改變中心設(shè)備的某個端口的聯(lián)接即可。(2)維護比較容易,如果某臺計算機發(fā)生故障,整個網(wǎng)絡(luò)不受影響。集線器可以檢測到網(wǎng)絡(luò)故障,并且出現(xiàn)個別有問題的計算機或網(wǎng)絡(luò)電纜,網(wǎng)絡(luò)的其余部分可以正常運行。(3)對中心結(jié)點的可靠性要求較高,如果中心節(jié)點設(shè)備(如集線器或交換機)發(fā)生故障,就會影響到整個網(wǎng)絡(luò)。

復(fù)合網(wǎng)絡(luò)拓撲

復(fù)合網(wǎng)絡(luò)拓撲主要是在基本網(wǎng)絡(luò)拓撲的基礎(chǔ)上構(gòu)造而成的。目前應(yīng)用較多的是交換式以太網(wǎng)和快速以太網(wǎng),其網(wǎng)絡(luò)主要連接設(shè)備是交換機和集線器。該種網(wǎng)絡(luò)具有維護容易、網(wǎng)絡(luò)速度快、技術(shù)成熟等特點。

6-628.1硬軟件系統(tǒng)的建立8.1.1硬件系統(tǒng)的建立集成編程工具:VisualBasic

VisualC++

PowerBuilderDelphi6-638.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

1.程序設(shè)計及數(shù)據(jù)庫系統(tǒng)集成編程工具關(guān)系型數(shù)據(jù)庫軟件:OracleDB2Informix

SybaseSQLServerAccessxBASE類Paradox6-648.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

1.程序設(shè)計及數(shù)據(jù)庫系統(tǒng)集成編程工具

xBASE類數(shù)據(jù)庫系統(tǒng):

xBASE數(shù)據(jù)庫系統(tǒng)主要包括:xBASE的代表dBASE系列、Fox公司推出的Fox系列(包括FoxBase和FoxPro)、Nantucket公司推出的Clipper數(shù)據(jù)庫系統(tǒng),微軟公司的VisualFoxPro等。其中VFP即具有數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu),同時也是一個面向?qū)ο蟮募删幊坦ぞ摺?-658.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

1.程序設(shè)計及數(shù)據(jù)庫系統(tǒng)集成編程工具自頂向下的方法要求程序員首先實現(xiàn)軟件結(jié)構(gòu)的最高層次,之后再實現(xiàn)下一個層次,直至用程序設(shè)計語言實現(xiàn)最低層次為止。自底向上的方法與上述方法開發(fā)過程相反,它是從最底層開始,直至實現(xiàn)最高層次為止。

6-668.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

2.程序設(shè)計方法

通常用自頂向下的開發(fā)方法開發(fā)的程序可讀性好,條理分明,可靠性也較高。而用自底向上開發(fā)方法得到的程序往往局部是最優(yōu)的,系統(tǒng)的整體結(jié)構(gòu)卻較差。

(1)程序設(shè)計的基本要求正確性

編出的程序,能夠嚴格按照規(guī)定的要求,準確無誤地提供預(yù)期的全部信息??衫斫庑猿绦虻膬?nèi)容清晰、明了,便于閱讀和理解??煽啃?/p>

程序應(yīng)具有較好的容錯能力,不僅正常情況下能正確工作,而且在異常情況下應(yīng)便于處理??删S護性程序的應(yīng)變性能強。程序執(zhí)行過程中,發(fā)現(xiàn)問題或客觀條件有了變化,調(diào)整和修改程序比較簡便易行。6-678.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

2.程序設(shè)計方法

效率

程序的結(jié)構(gòu)嚴謹、明了,運算處理速度快,節(jié)省機時。程序和數(shù)據(jù)的存儲、調(diào)用安排得當(dāng),節(jié)省存儲空間。(2)編程風(fēng)格 標(biāo)識符的命名 程序的書寫格式 程序的注釋 程序的輸入和輸出6-688.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

2.程序設(shè)計方法

結(jié)構(gòu)化程序設(shè)計(STRUCTUREDPROGRAMING,簡稱SP)方法是由E.Dijkstra提出的。它是用于詳細設(shè)計和程序設(shè)計階段,指導(dǎo)人們用良好的思想方法開發(fā)出正確又易于理解的程序的一種程序設(shè)計技術(shù)。

SP方法建立在Bohm和Jacopini在1966年就證明了的結(jié)構(gòu)定理的基礎(chǔ)上,它指出任何程序邏輯結(jié)構(gòu)都可以用順序、分支和循環(huán)這三種基本結(jié)構(gòu)來表示。SP方法用這三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成“結(jié)構(gòu)化的程序”。結(jié)構(gòu)化程序設(shè)計是采用自項向下逐步求精的設(shè)計方法和單入口單出口的控制技術(shù)。6-698.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

3.結(jié)構(gòu)化程序設(shè)計順序分支循環(huán)程序的基本結(jié)構(gòu)6-708.1硬軟件系統(tǒng)的建立8.1.2軟件系統(tǒng)的建立

3.結(jié)構(gòu)化程序設(shè)計6-718.1硬軟件系統(tǒng)的建立

由于結(jié)構(gòu)化程序具有結(jié)構(gòu)清晰、易于閱讀和修改、容易驗證其正確性等優(yōu)點,因此使用該方法有利于編寫出結(jié)構(gòu)良好的程序,提高編程工作效率。目前,多種計算機程序語言都支持結(jié)構(gòu)化程序設(shè)計。系統(tǒng)測試是保證系統(tǒng)質(zhì)量的關(guān)鍵步驟。統(tǒng)計資料表明,對于一些較大規(guī)模的系統(tǒng)來說,系統(tǒng)測試的工作量往往占系統(tǒng)開發(fā)總工作量的40%以上,開發(fā)費用的近1/2。8.1.2軟件系統(tǒng)的建立

3.結(jié)構(gòu)化程序設(shè)計6-728.2系統(tǒng)測試

(1)測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。(2)好的測試方案是很可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)錯誤的測試方案。(3)成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。

到目前為止,人們還無法證明一個大型復(fù)雜程序的正確性,只能依靠一定的測試手段來說明該程序在某些條件下沒有發(fā)生錯誤。所以在測試時應(yīng)想方設(shè)法使程序的各個部分部投入運行,力圖找出所有錯誤。

G.Myers對測試目標(biāo)做出了如下歸納:8.2.1測試的目的、原則

1.測試的目的

(1)應(yīng)避免自己測試自己設(shè)計的程序。(2)測試用例的設(shè)計應(yīng)該由“確定的輸入數(shù)據(jù)”和“預(yù)期的輸出結(jié)果”組成

。(3)測試數(shù)據(jù)的選取應(yīng)考慮各種不同情況。(4)檢查程序是否執(zhí)行了規(guī)定以外的操作。(5)注意保留測試用例。(6)對已發(fā)現(xiàn)的錯誤模塊要足夠重視。6-738.2系統(tǒng)測試8.2.1測試的目的、原則

2.測試的基本原則程序1模塊測試子系統(tǒng)測試系統(tǒng)測試6-748.2系統(tǒng)測試8.2.2測試的過程

(1)靜態(tài)測試在模塊上機運行前通過閱讀程序和人工運行程序的方法來發(fā)現(xiàn)程序中的語法錯誤和邏輯錯誤。只要認真檢查就可以發(fā)現(xiàn)絕大部分的語法錯誤和部分邏輯錯誤。(2)動態(tài)測試即模塊上機運行測試。當(dāng)人工運行程序走通以后,就可上機調(diào)試。6-758.2系統(tǒng)測試8.2.2測試的過程

1.模塊測試

語法錯誤比較容易發(fā)現(xiàn)和修改,而要追蹤邏輯錯誤則比較困難。為了有效地發(fā)現(xiàn)并改正邏輯錯誤,除了要充分利用所有高級語言提供的調(diào)試機制或軟件工具外,還需要掌握測試技術(shù)。6-768.2系統(tǒng)測試8.2.2測試的過程

1.模塊測試

是在模塊測試的基礎(chǔ)上,把各模塊組合到一起形成一個子系統(tǒng)來測試的過程。目的是解決各模塊間相互調(diào)用的協(xié)調(diào)和通信問題,即重點測試子系統(tǒng)內(nèi)各模塊的接口。可能出現(xiàn)的問題有:一個模塊對另一個模塊產(chǎn)生有害影響;數(shù)據(jù)在穿過接口時丟失;把模塊組合到一起沒有產(chǎn)生預(yù)期的功能等問題。6-778.2系統(tǒng)測試8.2.2測試的過程

2.子系統(tǒng)測試6-788.2系統(tǒng)測試

模塊組裝成子系統(tǒng)方法:非漸增式測試方法——先分別測試每個模塊,再把所有模塊按設(shè)計要求結(jié)合在一起測試。漸增式測試方法——是把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起來進行測試,測試完以后再結(jié)合進來下一個測試的模塊繼續(xù)測試。這種方法實際上同時完成模塊測試和子系統(tǒng)測試。8.2.2測試的過程

2.子系統(tǒng)測試兩種方法的比較非漸增式測試方法漸增式測試方法需要分別測試每個模塊,編寫的測試軟件(驅(qū)動模塊和支持模塊)較多,工作量較大;可利用已測試過的模塊最后才把模塊相連在一起,接口錯誤發(fā)現(xiàn)得晚??梢暂^早發(fā)現(xiàn)模塊之間的接口錯誤一次組合所有模塊,如果發(fā)現(xiàn)錯誤難以判斷定位。如果發(fā)生錯誤則通常和最新加進來的模塊有關(guān);可以并行測試所有模塊,能充分利用人力,加快工程進度。占用機時多,測試每個新加入模塊時,已經(jīng)測試完的模塊也都要一起運行。但測試更徹底6-798.2系統(tǒng)測試8.2.2測試的過程

在所有子系統(tǒng)都測試成功以后,就可以進行系統(tǒng)測試,也稱為總調(diào)。它主要解決各子系統(tǒng)之間的數(shù)據(jù)通訊和數(shù)據(jù)共享(公用數(shù)據(jù)庫)等問題,以及系統(tǒng)安全測試、恢復(fù)測試和滿足用戶要求的測試等。6-808.2系統(tǒng)測試8.2.2測試的過程

3.系統(tǒng)測試6-818.2系統(tǒng)測試

(1)總調(diào)——可采用一些精心設(shè)計的數(shù)據(jù)量較少的測試用例,這樣可以使處理的工作量減少,而且也更容易發(fā)現(xiàn)錯誤和確定錯誤所在范圍。(2)安全測試——是指測試系統(tǒng)對外來有意或惡意攻擊的自我保護能力。(3)恢復(fù)測試——是指系統(tǒng)出現(xiàn)意外故障時,能否正確和迅速恢復(fù)的測試。(4)系統(tǒng)有效性測試——通過測試來證實系統(tǒng)功能與用戶要求一致。8.2.2測試的過程

3.系統(tǒng)測試

(1)用戶手冊。(2)系統(tǒng)開發(fā)報告(包括系統(tǒng)分析說明書、系統(tǒng)設(shè)計說明書、系統(tǒng)實施說明等)。(3)有關(guān)程序的所有資料。(4)系統(tǒng)操作說明等。6-828.2系統(tǒng)測試8.2.2測試的過程

4.系統(tǒng)說明文件

(1)黑盒子測試測試人員不必考慮模塊的內(nèi)部結(jié)構(gòu),只用測試數(shù)據(jù)來檢驗程序是否符合它的功能要求,是否會發(fā)生異常情況。(2)白盒子測試要求測試人員根據(jù)模塊的內(nèi)部結(jié)構(gòu)來導(dǎo)出測試數(shù)據(jù),使模塊中的測試路徑都被測試到。8.2系統(tǒng)測試8.2.3測試技術(shù)及方法

1.模塊測試技術(shù)

無論是黑盒子法還是白盒子法都不能將程序中的所有錯誤全查出來。因為黑盒子法不可能將所有的輸入情況都測試一遍,白盒子法也不能窮舉模塊中的所有可能路徑??砂春诤凶臃ê桶缀凶臃ǖ乃枷氚匆韵路椒ㄟM行模塊測試。(1)等價類劃分法根據(jù)黑盒子法思想,在所有可能的輸入數(shù)據(jù)中取一個有限的子集,作為測試用數(shù)據(jù)。通常是將模塊的輸入域劃分成有效等價類(模塊中符合規(guī)范的輸入)和無效等價類(模塊中非法的輸入)兩種。8.2管理信息系統(tǒng)測試8.2.3測試技術(shù)及方法

2.模塊測試的常用方法

例如:某模塊的合理輸入是0~100,則大于0且小于100的數(shù)據(jù)屬于有效等價數(shù)據(jù);小于0或大于100的數(shù)據(jù)為無效等價類,測試數(shù)據(jù)可以從這兩個等價類中抽取。(2)

邊界值分析法在編寫程序時,往往只注意正常情況,忽視了邊界狀態(tài)。因此,在測試過程中以邊緣值作為測試數(shù)據(jù),容易發(fā)現(xiàn)程序中的錯誤。例如:某模塊的有效值是0~100,則可以取-0.1,0.1,99.9,100.1作為測試數(shù)據(jù)。8.2系統(tǒng)測試8.2.3測試技術(shù)及方法

2.模塊測試的常用方法

(3)邏輯覆蓋測試法用白盒子法測試模塊時,要執(zhí)行程序中的每一條路徑。當(dāng)程序中有循環(huán)存在時,測試程序中的每一條路徑是不可能的。而能希望覆蓋的程度盡可能高一些。邏輯覆蓋常用的方法有: 語句覆蓋

判斷覆蓋 條件覆蓋 判斷/條件覆蓋 條件組合覆蓋8.2系統(tǒng)測試8.2.3測試技術(shù)及方法

8.2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論