《信息系統(tǒng)分析與設(shè)計》課件1第7章_第1頁
《信息系統(tǒng)分析與設(shè)計》課件1第7章_第2頁
《信息系統(tǒng)分析與設(shè)計》課件1第7章_第3頁
《信息系統(tǒng)分析與設(shè)計》課件1第7章_第4頁
《信息系統(tǒng)分析與設(shè)計》課件1第7章_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7.1信息系統(tǒng)設(shè)計概述7.2模塊結(jié)構(gòu)圖設(shè)計7.3信息系統(tǒng)流程圖設(shè)計7.4詳細(xì)設(shè)計的工具7.5詳細(xì)設(shè)計的工作7.6系統(tǒng)設(shè)計說明書思考與練習(xí)題第7章信息系統(tǒng)的設(shè)計

7.1信息系統(tǒng)設(shè)計概述

7.1.1系統(tǒng)設(shè)計的主要任務(wù)

系統(tǒng)設(shè)計是開發(fā)管理信息系統(tǒng)的重要階段,也是整個開發(fā)工作的核心。它將實現(xiàn)系統(tǒng)分析階段所提出的邏輯模型,并確定新系統(tǒng)的結(jié)構(gòu)。

系統(tǒng)分析階段是解決管理信息系統(tǒng)“干什么”的問題;而系統(tǒng)設(shè)計階段則是解決“怎么干”的問題。系統(tǒng)分析階段最終提出系統(tǒng)分析報告,建立管理信息系統(tǒng)的邏輯模型;系統(tǒng)設(shè)計階段則最終提出系統(tǒng)實施方案,建立管理信息系統(tǒng)的物理模型??梢赃@樣說,系統(tǒng)分析是從用戶和現(xiàn)行系統(tǒng)入手,進(jìn)行詳細(xì)的調(diào)查研究,把物理因素一一抽去,從具體到抽象;系統(tǒng)設(shè)計則是從管理信息系統(tǒng)的邏輯模型出發(fā),以系統(tǒng)分析報告為依據(jù),一步步地加入物理內(nèi)容,從抽象又回到具體。7.1.2系統(tǒng)設(shè)計的原則

系統(tǒng)設(shè)計的優(yōu)劣直接影響到目標(biāo)系統(tǒng)的質(zhì)量和所獲得的經(jīng)濟(jì)效益,因此,為了使所設(shè)計的目標(biāo)系統(tǒng)成為一個滿足用戶需要的、具有較強(qiáng)生命力的系統(tǒng),在系統(tǒng)設(shè)計時必須遵循下列基本原則:

(1)簡單性。只要能達(dá)到預(yù)定的目標(biāo)和實現(xiàn)預(yù)定的功能,系統(tǒng)就應(yīng)避免一切不必要的復(fù)雜化,應(yīng)該盡量簡單。

(2)靈活性。系統(tǒng)應(yīng)該對外界環(huán)境條件的變化有很強(qiáng)的適應(yīng)性。

(3)完整性。系統(tǒng)是作為一個統(tǒng)一的整體而存在的,因此系統(tǒng)的功能要盡量保持完整,數(shù)據(jù)采集要統(tǒng)一,設(shè)計規(guī)范要標(biāo)準(zhǔn),傳遞語言要一致。

(4)可靠性。指系統(tǒng)受外界干擾時的抵御力與恢復(fù)能力。例如,保密性、檢錯和糾錯能力。

(5)經(jīng)濟(jì)性。系統(tǒng)應(yīng)該給用戶帶來一定的效益,這里提到的效益既包括直接經(jīng)濟(jì)效益,又包括間接經(jīng)濟(jì)效益。系統(tǒng)的投資和經(jīng)營費用應(yīng)盡快得到回收。7.1.3系統(tǒng)設(shè)計的步驟

系統(tǒng)設(shè)計由總體設(shè)計和詳細(xì)設(shè)計兩部分組成。

1.總體設(shè)計

總體設(shè)計也稱為初步設(shè)計或結(jié)構(gòu)設(shè)計??傮w設(shè)計階段內(nèi)容包括劃分子系統(tǒng)、模塊結(jié)構(gòu)圖設(shè)計、信息系統(tǒng)流程圖設(shè)計、系統(tǒng)物理配置方案設(shè)計等。

2.詳細(xì)設(shè)計

在總體設(shè)計基礎(chǔ)上,詳細(xì)設(shè)計是要確定每個模塊內(nèi)部的詳細(xì)執(zhí)行過程。詳細(xì)設(shè)計階段包括代碼設(shè)計、數(shù)據(jù)存儲文件設(shè)計、輸出設(shè)計、輸入設(shè)計等。

詳細(xì)設(shè)計常用流程圖、問題分析圖、IPO圖和過程設(shè)計語言等工具來描述每個模塊的執(zhí)行過程,關(guān)于這些方法我們也將在本章進(jìn)行介紹。

系統(tǒng)設(shè)計階段的成果是系統(tǒng)設(shè)計說明書,它主要由模塊結(jié)構(gòu)圖和模塊說明書兩部分組成。模塊結(jié)構(gòu)圖說明系統(tǒng)由哪些模塊組成和各模塊間的聯(lián)系情況,模塊說明書則詳細(xì)描述了每一模塊的輸入/輸出數(shù)據(jù)、功能和算法等。7.1.4系統(tǒng)設(shè)計的方法

系統(tǒng)設(shè)計階段的任務(wù)是很復(fù)雜的,需要有一定的方法來指導(dǎo),從而使設(shè)計人員可以較容易地設(shè)計出好的設(shè)計方案。

20世紀(jì)70年代以來,出現(xiàn)了多種設(shè)計方法,代表性的有結(jié)構(gòu)化設(shè)計(StructedDesign)、Jackson方法、Parnas方法等。這些方法都采用了模塊化、從頂向下、逐步細(xì)化等基本思想,它們的差別在于構(gòu)成模塊的原則不同。

(1)?Jackson方法:以數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ)建立模塊結(jié)構(gòu)。

(2)?Parnas方法:以信息隱蔽為原則建立模塊結(jié)構(gòu)。

(3)結(jié)構(gòu)化設(shè)計(StructedDesign,SD):以數(shù)據(jù)流程圖為基礎(chǔ)構(gòu)成模塊結(jié)構(gòu)。

7.2模塊結(jié)構(gòu)圖設(shè)計

7.2.1結(jié)構(gòu)化系統(tǒng)設(shè)計方法概述

1.什么是結(jié)構(gòu)化系統(tǒng)設(shè)計方法

結(jié)構(gòu)化設(shè)計方法是由美國IBM公司的W.Stevens、G.Myers和L.Constantine等人提出來的,它是使用最為廣泛的一種系統(tǒng)設(shè)計方法。結(jié)構(gòu)化系統(tǒng)設(shè)計是在結(jié)構(gòu)化思想的基礎(chǔ)上發(fā)展起來的一種用于復(fù)雜系統(tǒng)結(jié)構(gòu)設(shè)計的技術(shù),它運用一套標(biāo)準(zhǔn)的設(shè)計準(zhǔn)則和工具,采用模塊化的方法進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計。該方法適用于管理信息系統(tǒng)的總體設(shè)計,可以同系統(tǒng)分析階段中的結(jié)構(gòu)化系統(tǒng)分析與實施階段中結(jié)構(gòu)化程序設(shè)計方法前后銜接起來使用。

2.結(jié)構(gòu)化系統(tǒng)設(shè)計的基本思想

結(jié)構(gòu)化系統(tǒng)設(shè)計的基本思想是采用分解的方法,將系統(tǒng)設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu)。它以系統(tǒng)的邏輯功能和數(shù)據(jù)流關(guān)系為基礎(chǔ),根據(jù)數(shù)據(jù)流程圖和數(shù)據(jù)字典,借助于一套標(biāo)準(zhǔn)的設(shè)計準(zhǔn)則和圖表工具,通過“自上而下”和“自下而上”的反復(fù),把系統(tǒng)逐層劃分為多個大小適當(dāng)、功能明確、具有一定獨立性且容易實現(xiàn)的模塊,從而把復(fù)雜系統(tǒng)的設(shè)計轉(zhuǎn)變?yōu)槎鄠€簡單模塊的設(shè)計。

3.結(jié)構(gòu)化系統(tǒng)設(shè)計的特點

結(jié)構(gòu)化系統(tǒng)設(shè)計具有以下特點:

(1)相對獨立、功能單一的模塊結(jié)構(gòu)。由于模塊之間相對獨立,每一模塊就可以單獨地被理解、編寫、測試、糾錯和修改,從而有效地防止錯誤在模塊之間擴(kuò)散蔓延,提高了系統(tǒng)的質(zhì)量(可維護(hù)性、可靠性等),同時,系統(tǒng)研制工作也大大簡化。

(2)塊內(nèi)聯(lián)系大、塊間聯(lián)系小。模塊內(nèi)部聯(lián)系要大,模塊之間聯(lián)系要小,這是結(jié)構(gòu)化設(shè)計中衡量“相對獨立”性能的標(biāo)準(zhǔn)。

(3)采用模塊結(jié)構(gòu)圖的描述方式。結(jié)構(gòu)化設(shè)計方法使用的描述方式是模塊結(jié)構(gòu)圖。模塊結(jié)構(gòu)圖不僅描述了系統(tǒng)的分層模塊結(jié)構(gòu),清楚地表示了每個模塊的功能,而且直觀地反映了塊內(nèi)聯(lián)系和塊間聯(lián)系等特性。

采用結(jié)構(gòu)化系統(tǒng)設(shè)計方法,有利于系統(tǒng)結(jié)構(gòu)的優(yōu)化,設(shè)計出的系統(tǒng)比較容易實現(xiàn),而且有較好的可維護(hù)性,因而獲得了廣泛的應(yīng)用。7.2.2模塊結(jié)構(gòu)圖

要確定系統(tǒng)的模塊結(jié)構(gòu),主要考慮以下四個方面的問題:

(1)如何將一個系統(tǒng)或子系統(tǒng)劃分成多個模塊。

(2)模塊間傳遞什么數(shù)據(jù)。

(3)模塊間的調(diào)用關(guān)系如何。

(4)如何評價并改進(jìn)模塊結(jié)構(gòu)的質(zhì)量。

1.模塊結(jié)構(gòu)圖的概念

描述系統(tǒng)內(nèi)各個組成部分的結(jié)構(gòu)及其相互關(guān)系的圖稱為模塊結(jié)構(gòu)圖。模塊結(jié)構(gòu)圖是結(jié)構(gòu)化設(shè)計的一個主要工具,它能表達(dá)已經(jīng)被分解成若干個模塊的系統(tǒng)結(jié)構(gòu)的層次和通信關(guān)系,如圖7-1所示。

模塊結(jié)構(gòu)圖可以描述以下幾個問題:

(1)如何將系統(tǒng)劃分成一個個模塊。

(2)模塊間傳送什么數(shù)據(jù)。

(3)模塊間組成層次的調(diào)用關(guān)系。圖7-1模塊結(jié)構(gòu)圖

2.模塊結(jié)構(gòu)圖的組成

模塊結(jié)構(gòu)圖是結(jié)構(gòu)化設(shè)計中描述系統(tǒng)結(jié)構(gòu)的圖形工具,它由模塊、調(diào)用、數(shù)據(jù)和控制四種基本符號組成,如圖7-2所示。

下面我們就模塊結(jié)構(gòu)圖的主要成份進(jìn)行討論。圖7-2基本符號

1)模塊

模塊通常是指用一個名字就可以調(diào)用的一段程序語句。

2)調(diào)用

在模塊結(jié)構(gòu)圖中,用連接兩個模塊的箭頭表示調(diào)用,箭頭總是由調(diào)用模塊指向被調(diào)用模塊,被調(diào)用模塊執(zhí)行后又返回到調(diào)用模塊。模塊間的調(diào)用關(guān)系有以下三種:

(1)直接調(diào)用,是一種最簡單的調(diào)用關(guān)系,指一個模塊無條件地調(diào)用另一個模塊,如圖7-3所示。

在該圖中,模塊A直接調(diào)用模塊B,而模塊B又直接調(diào)用模塊C。

(2)選擇調(diào)用,也稱為條件調(diào)用。如果一個模塊是否調(diào)用另一個模塊取決于調(diào)用模塊內(nèi)部的某個條件,則把這種調(diào)用稱為選擇調(diào)用,用菱形符號表示。其含義是,根據(jù)條件滿足情況決定調(diào)用哪一個模塊,如圖7-4所示。圖7-3直接調(diào)用關(guān)系

圖7-4選擇調(diào)用關(guān)系

(3)循環(huán)調(diào)用,也稱為重復(fù)調(diào)用。如果一個模塊內(nèi)部存在一個循環(huán)過程,每次循環(huán)中均需調(diào)用一個或幾個下屬模塊,則稱這種調(diào)用為循環(huán)調(diào)用或重復(fù)調(diào)用,用符號?表示。其含義是上層模塊對下層模塊的多次反復(fù)的調(diào)用,如圖7-5所示。圖中,模塊M對模塊A、B、C進(jìn)行多次反復(fù)調(diào)用,而不是只調(diào)用一次。圖7-5循環(huán)調(diào)用關(guān)系

3)通信

伴隨著模塊調(diào)用而發(fā)生的模塊間的信息交換稱為模塊間的通信。

模塊間的通訊有兩種方式:

(1)數(shù)據(jù)通信,表示模塊間只傳送數(shù)據(jù),如“庫存量”、“產(chǎn)品編號”、“顧客姓名”等。

(2)控制通信,模塊間除傳送數(shù)據(jù)外,還傳遞標(biāo)志位,如“無此記錄”、“文件結(jié)束”、“打印錯誤信息”等。

例如,圖7-6中,“無此職工”就是用來表示傳送來的職工號有誤的控制信息。圖7-6模塊間的通信

3.模塊調(diào)用和通信的規(guī)則

模塊調(diào)用和模塊間通信必須遵循以下規(guī)則:

(1)一個上層模塊可以有一個或多個直屬下層模塊。

(2)一個下層模塊可以有一個或多個直屬上層模塊。

(3)同一層模塊不能相互調(diào)用。

(4)每個模塊只能調(diào)用其直屬的下層模塊,不能調(diào)用非直屬的下層模塊。

(5)模塊間的通信只限于直屬的上、下層模塊之間進(jìn)行,可以是單向的或雙向的,但不能越層進(jìn)行。

4.模塊結(jié)構(gòu)圖與數(shù)據(jù)流程圖和程序流程圖的區(qū)別

在結(jié)構(gòu)化系統(tǒng)分析中,我們采用的一個主要工具是數(shù)據(jù)流程圖,而在結(jié)構(gòu)化系統(tǒng)設(shè)計中,我們采用了模塊結(jié)構(gòu)圖作為主要工具。兩者的區(qū)別是:

(1)數(shù)據(jù)流程圖是從數(shù)據(jù)在系統(tǒng)中的流動情況,即從數(shù)據(jù)流的角度來考慮系統(tǒng)的,而模塊結(jié)構(gòu)圖則是從功能層次關(guān)系的角度來考慮系統(tǒng)的。

(2)數(shù)據(jù)流程圖主要說明系統(tǒng)“做什么”,即描述系統(tǒng)的邏輯模型;而模塊結(jié)構(gòu)圖則主要說明“如何做”,即描述系統(tǒng)的物理模型。

(3)數(shù)據(jù)流程圖描述系統(tǒng)中數(shù)據(jù)流動的情況,每張數(shù)據(jù)流程圖對應(yīng)于模塊結(jié)構(gòu)圖中的某一層次。

(4)數(shù)據(jù)流程圖的繪制過程是從具體到抽象,逐步去掉各種物理的處理方法,只剩下抽象的信息流動情況,以便抽象地描述系統(tǒng)的邏輯功能;而模塊結(jié)構(gòu)圖則相反,它是從一個總的抽象的系統(tǒng)功能出發(fā),逐一具體化,逐步考慮具體的實現(xiàn)方法,逐步加入具體的實現(xiàn)方法和技術(shù)手段,最后設(shè)計出物理模型來,即從抽象到具體的過程。因此,在某種意義上,數(shù)據(jù)流程圖與模塊結(jié)構(gòu)圖的繪制過程正好相反,分別用于系統(tǒng)分析和系統(tǒng)設(shè)計兩個不同的階段。

對于模塊結(jié)構(gòu)圖與程序流程圖,從表面上看很類似,然而二者是有本質(zhì)區(qū)別的:模塊結(jié)構(gòu)圖表達(dá)系統(tǒng)的處理功能,描述模塊的外部屬性(輸入和輸出、邏輯功能),而且能夠表達(dá)各個模塊之間的通信關(guān)系,指出模塊間的數(shù)據(jù)流向;程序流程圖描述模塊的內(nèi)部屬性(處理過程、內(nèi)部數(shù)據(jù)),無法進(jìn)一步知道某系統(tǒng)的組織結(jié)構(gòu)。

5.模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式

一個系統(tǒng)的模塊結(jié)構(gòu)圖有兩種標(biāo)準(zhǔn)形式,即變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)。

1)變換型

變換型系統(tǒng)由三部分組成:輸入、數(shù)據(jù)加工(變換)和輸出。它的功能是將輸入的數(shù)據(jù)經(jīng)過加工后輸出,如圖7-7所示。圖7-7變換型模塊結(jié)構(gòu)變換型系統(tǒng)工作時,首先主模塊受到控制,然后控制沿著結(jié)構(gòu)逐層達(dá)到底層的輸入模塊,當(dāng)?shù)讓幽K輸入數(shù)據(jù)A后,A由下至上逐層傳送,逐步由物理輸入A變成邏輯輸入C,在主控模塊控制下,C經(jīng)中心變換模塊轉(zhuǎn)換成邏輯輸出D,D再由上至下逐層傳送,逐步把邏輯輸出變成物理輸出E。

2)事務(wù)型

事務(wù)型系統(tǒng)由三層組成:事務(wù)層、操作層和細(xì)節(jié)層。它的功能是對接收的事務(wù),按其類型選擇某一類事務(wù)處理,如圖

7-8所示。

事務(wù)型系統(tǒng)在工作時,主模塊將按事務(wù)的類型選擇調(diào)用某一事務(wù)處理模塊,事務(wù)處理模塊又調(diào)用若干個操作模塊,而每個操作模塊又調(diào)用若干個細(xì)節(jié)模塊。圖7-8事務(wù)型模塊結(jié)構(gòu)7.2.3模塊結(jié)構(gòu)設(shè)計的原則與技術(shù)

模塊結(jié)構(gòu)設(shè)計是管理信息系統(tǒng)總體設(shè)計的重要內(nèi)容,為了使系統(tǒng)有合理的結(jié)構(gòu)和較好的可維護(hù)性,模塊結(jié)構(gòu)設(shè)計要注意以下設(shè)計原則和設(shè)計技術(shù)。

1.盡量降低模塊間的耦合度

所謂耦合(Coupline),是指模塊與模塊之間聯(lián)系的程度。模塊間的耦合度越低,模塊的獨立性就越高。

降低模塊間耦合度的好處在于:

(1)耦合度越低,模塊間相互影響就越小,產(chǎn)生連鎖反應(yīng)的概率就越低。

(2)耦合度越低,可以使修改范圍控制在最小限度。

(3)一個模塊修改時對系統(tǒng)其他部分正常運行的影響小。模塊間的耦合度受到兩個因素的影響,一是模塊間的接口復(fù)雜性;二是模塊間的耦合形式。其中,模塊間接口的復(fù)雜性用進(jìn)入或訪問一個模塊的入口點個數(shù)和通過接口的數(shù)據(jù)多少來衡量,而模塊間的耦合形式(或稱為聯(lián)結(jié)形式)是影響塊間耦合度的主要因素。模塊間的耦合形式可以歸納為四種類型,按照耦合度由低到高的次序排列為:數(shù)據(jù)耦合、控制耦合、公共環(huán)境耦合、內(nèi)容耦合。

下面我們對這四種耦合形式進(jìn)行討論。

1)數(shù)據(jù)耦合

數(shù)據(jù)耦合是指兩個模塊之間的聯(lián)系是通過數(shù)據(jù)交換而實現(xiàn)的。這是一種理想的耦合,耦合度最低。若一個模塊與其他模塊之間的聯(lián)系全部是數(shù)據(jù)聯(lián)系,則這個模塊就是一個黑箱,如圖7-9所示。

2)控制耦合

兩個模塊之間,除了傳遞數(shù)據(jù)信息外,還傳遞控制信息,模塊間的這種連接關(guān)系稱為控制耦合,如圖7-10所示。圖7-9模塊間的數(shù)據(jù)耦合圖7-10模塊間的控制耦合

3)公共環(huán)境耦合

當(dāng)兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,它們之間的耦合稱為公共環(huán)境耦合。公共數(shù)據(jù)環(huán)境可以是全程變量、內(nèi)存的公共覆蓋區(qū)及任何存儲介質(zhì)上的文件等。

4)內(nèi)容耦合

內(nèi)容耦合是指一個模塊與另一個模塊的內(nèi)部屬性(程序或內(nèi)部數(shù)據(jù))直接發(fā)生聯(lián)系。內(nèi)容耦合的兩個模塊間是病態(tài)連接的,在修改其中一個模塊時,將直接影響到另一個模塊,產(chǎn)生波動現(xiàn)象,影響整個系統(tǒng)。因此,在系統(tǒng)設(shè)計時,應(yīng)完全避免這種模塊耦合。

總之,在進(jìn)行模塊結(jié)構(gòu)設(shè)計時,應(yīng)盡量采用數(shù)據(jù)耦合,并盡可能降低接口的復(fù)雜性;只有在必要時才使用控制耦合并盡量減少控制信息,簡化控制關(guān)系;堅決消除內(nèi)容耦合。

2.盡量提高模塊的聚合度

所謂聚合(Cohesion),是指模塊內(nèi)部各成分之間的聯(lián)系程度。模塊的聚合度越高,其獨立性也越高。模塊的聚合度可分為七種形式,按聚合程度由高到低的順序排列如下:

1)功能聚合

功能聚合是指一個模塊內(nèi)部的各個組成部分的處理功能全都為執(zhí)行同一個功能而存在,并且只執(zhí)行一個功能。功能聚合是一種最理想的聚合方式,獨立性最強(qiáng)。

例如,讀庫存記錄、打印發(fā)貨單和計算實發(fā)工資三個模塊都是功能聚合模塊。

2)順序聚合

如果一個模塊內(nèi)部各個組成部分執(zhí)行幾個處理功能,且一個處理功能所產(chǎn)生的輸出數(shù)據(jù)直接成為下一個處理功能的輸入數(shù)據(jù),那么這種聚合稱為順序聚合。例如,“合同輸入與匯總”就屬于順序聚合模塊,它先執(zhí)行合同輸入功能,然后再執(zhí)行合同匯總功能,而且前者的輸出正是后者的輸入。

3)通信聚合

通信聚合也稱數(shù)據(jù)聚合,是指一個模塊內(nèi)部各個組成部分執(zhí)行的處理功能都使用相同的輸入數(shù)據(jù)或產(chǎn)生相同的輸出數(shù)據(jù),且其中各個處理功能是無序的。圖7-11所示模塊就是通信聚合的,它使用相同的輸入數(shù)據(jù),即配件編號,分別完成兩個處理功能,一是按配件編號檢索獲得配件價;另一是按配件編號檢索獲得該配件的當(dāng)前庫存量。圖7-11通信聚合模塊

4)過程聚合

如果一個模塊內(nèi)部各個組成部分的處理功能各不相同,彼此也沒有什么關(guān)系,但它們都受同一個控制流支配,決定它們的執(zhí)行次序,那么,這種聚合稱為過程聚合。

5)時間聚合

時間聚合也稱暫時聚合。如果一個模塊內(nèi)各個組成部分的處理功能和時間有關(guān),那么這種聚合稱為時間聚合。初始化模塊是典型的時間聚合模塊。

6)邏輯聚合

如果一個模塊內(nèi)部各個組成部分的處理功能彼此無關(guān),但處理邏輯相似,那么這種聚合稱為邏輯聚合。例如,把所有的輸入操作(讀磁帶文件、讀磁盤文件、接收鍵盤輸入)都放在一個模塊中。

7)偶然聚合

偶然聚合也稱機(jī)械聚合。如果一個模塊的構(gòu)成是由若干個毫無關(guān)系的功能偶然組合在一起的,則這種聚合稱為偶然聚合。它的聚合度最低,可修改性也最差。總之,在模塊結(jié)構(gòu)設(shè)計時,要盡可能提高模塊的聚合度,多用功能聚合、順序聚合、通信聚合,盡可能避免邏輯聚合和偶然聚合,以提高模塊的獨立性。

在進(jìn)行管理信息系統(tǒng)的模塊結(jié)構(gòu)設(shè)計時,除了要盡量提高模塊的聚合度和降低模塊間的耦合度,即耦合小,聚合大這兩項最重要的原則外,還需要一些輔助原則,它們是模塊的分解、扇出和扇入、控制范圍和判斷影響范圍。下面分別加以討論。

3.模塊的分解

模塊的分解是指把一個模塊劃分成若干個較小的新模塊。

模塊的分解主要是按功能來進(jìn)行的。對于規(guī)模過大、內(nèi)部結(jié)構(gòu)復(fù)雜的模塊;內(nèi)部含有重復(fù)處理功能的模塊;功能劃分還沒有詳細(xì)到使人完全理解的模塊,應(yīng)進(jìn)一步進(jìn)行分解,力求使系統(tǒng)的模塊結(jié)構(gòu)清晰,每個模塊應(yīng)該是一個小的、功能單一的模塊。

4.模塊的扇出系數(shù)和扇入系數(shù)

模塊的扇出(Fan-Out)系數(shù)是指一個模塊擁有的直屬下層模塊的個數(shù)。模塊的扇入(Fan-In)系數(shù)是指一個模塊的直接上層模塊的個數(shù)。在模塊結(jié)構(gòu)設(shè)計中,應(yīng)盡可能地加大模塊的扇入系數(shù)。扇入系數(shù)大,說明模塊分解得好,通用性強(qiáng),冗余度低。

5.模塊的控制范圍和判斷影響范圍

一個模塊的控制范圍是指它可調(diào)用(包括間接調(diào)用)的所有下層模塊和其本身所組成的集合。一個模塊的判斷影響范圍是指由該模塊中包含的判斷處理所影響到的所有其他模塊的集合。

模塊的控制范圍和判斷影響范圍的關(guān)系,直接決定了模塊關(guān)系的復(fù)雜性及系統(tǒng)的可修改性和可維護(hù)性。一個好的模塊結(jié)構(gòu),應(yīng)該滿足以下要求:

(1)對于任何一個具有判斷功能的模塊,其判斷影響范圍都應(yīng)當(dāng)是它控制范圍的一個子集。

(2)內(nèi)部存在判斷調(diào)用的模塊和屬于其判斷影響范圍的模塊,二者所在的層次不要相隔太遠(yuǎn)。

根據(jù)以上兩點可知,最理想的判斷影響范圍是由判斷所在模塊及其直接下層模塊組成的。7.2.4模塊結(jié)構(gòu)圖的繪制

模塊結(jié)構(gòu)設(shè)計是管理信息系統(tǒng)總體設(shè)計的重要組成部分,其任務(wù)是根據(jù)系統(tǒng)分析階段提出的邏輯模型來確定系統(tǒng)的總體結(jié)構(gòu),即將數(shù)據(jù)流程圖轉(zhuǎn)換成模塊結(jié)構(gòu)圖。模塊結(jié)構(gòu)設(shè)計分為兩步:

(1)根據(jù)數(shù)據(jù)流程圖建立初始的模塊結(jié)構(gòu)圖。

(2)根據(jù)上述提出的模塊結(jié)構(gòu)設(shè)計的五項原則對初始的模塊結(jié)構(gòu)圖進(jìn)行修改和優(yōu)化,以求獲得設(shè)計合理的模塊結(jié)構(gòu)圖。管理信息系統(tǒng)的數(shù)據(jù)流程圖一般有兩種典型的結(jié)構(gòu):變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)。

變換型結(jié)構(gòu)的數(shù)據(jù)流程圖呈一種線性狀態(tài),如圖7-12(a)所示,它可以明顯地分成輸入、主加工(或主處理)、輸出三部分。

事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流程圖則呈束狀,即一束數(shù)據(jù)流平行流入或流出,可能同時有幾個事務(wù)要求處理,如圖7-12(b)所示。這兩種典型的結(jié)構(gòu)分別通過“變換分析”和“事務(wù)分析”技術(shù),就可以導(dǎo)出模塊結(jié)構(gòu)圖的兩種標(biāo)準(zhǔn)形式,即變換型模塊結(jié)構(gòu)圖和事務(wù)型模塊結(jié)構(gòu)圖。變換型和事務(wù)型模塊結(jié)構(gòu)都有較高的模塊集合和較低的塊間耦合,因此便于修改和維護(hù)。在管理信息系統(tǒng)中,經(jīng)常將這兩種結(jié)構(gòu)結(jié)合使用。

變換分析和事務(wù)分析這兩種方法都是首先設(shè)計頂層模塊,然后自頂向下,逐步細(xì)化,最后得到一個滿足數(shù)據(jù)流程圖所表示的、用戶要求的系統(tǒng)模塊結(jié)構(gòu)圖。圖7-12數(shù)據(jù)流程圖的典型結(jié)構(gòu)(a)變換型;(b)事務(wù)型下面我們分別討論這兩種方法。

1.變換分析

我們已經(jīng)知道,變換型結(jié)構(gòu)的數(shù)據(jù)流程圖由輸入、主加工和輸出三部分組成,其中,主加工部分執(zhí)行系統(tǒng)的主要處理功能,對輸入數(shù)據(jù)實行變換,是系統(tǒng)的中心部分,也稱為變換中心。我們把主加工的輸入和輸出數(shù)據(jù)流稱為系統(tǒng)的“邏輯輸入”和“邏輯輸出”,而把系統(tǒng)輸入端和系統(tǒng)輸出端的數(shù)據(jù)流分別稱為“物理輸入”和“物理輸出”。顯然,邏輯輸入與邏輯輸出之間的部分即是系統(tǒng)的變換中心。運用變換分析從變換型結(jié)構(gòu)的數(shù)據(jù)流程圖導(dǎo)出變換型模塊結(jié)構(gòu)圖的過程可以分為三步:

(1)確定主加工(或變換中心)。

(2)設(shè)計模塊結(jié)構(gòu)圖的頂層和第一層。

(3)設(shè)計中、下層模塊。

下面分別進(jìn)行討論。

1)確定變換中心

通常,在數(shù)據(jù)流程圖中多股數(shù)據(jù)流的匯合處往往是系統(tǒng)的變換中心。若沒有明顯的匯合處,可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,從而獲得變換中心。

從物理輸入端開始,沿著數(shù)據(jù)流輸入的方向一步步向系統(tǒng)中間移動,直至到達(dá)這樣一個數(shù)據(jù)流——它再不能被作為系統(tǒng)的輸入,則其前一個數(shù)據(jù)流就是系統(tǒng)的邏輯輸入。換句話說,離物理輸入端最遠(yuǎn)的,但仍可視為是系統(tǒng)輸入的那個數(shù)據(jù)流就是邏輯輸入。

同樣,從系統(tǒng)的物理輸出端開始,一步步向系統(tǒng)中間移動,也可以找出離物理輸出端最遠(yuǎn)的,但仍可視為系統(tǒng)輸出的那個數(shù)據(jù)流就是邏輯輸出。

邏輯輸入和邏輯輸出之間的部分就是系統(tǒng)的變換中心。

2)設(shè)計模塊結(jié)構(gòu)圖的頂層和第一層

系統(tǒng)模塊結(jié)構(gòu)圖的頂層是主控模塊,負(fù)責(zé)對全系統(tǒng)進(jìn)行控制和協(xié)調(diào),通過調(diào)用下層模塊來實現(xiàn)系統(tǒng)的各種處理功能。

在與變換中心對應(yīng)的位置上畫出主控模塊(如圖7-13所示,也稱為主模塊),它是模塊結(jié)構(gòu)圖的“頂”,然后我們就可按“自頂向下,逐步細(xì)化”的方法來畫模塊結(jié)構(gòu)圖的以后各層了。每一層均需按輸入、變換中心、輸出等分支來處理。圖7-13變換型數(shù)據(jù)流程圖轉(zhuǎn)換為模塊結(jié)構(gòu)圖結(jié)構(gòu)圖第一層的作法如下:

(1)為數(shù)據(jù)流程圖中的每一個邏輯輸入設(shè)計一個輸入模塊,它的功能是向主控模塊提供邏輯輸入數(shù)據(jù)。

(2)為數(shù)據(jù)流程圖中的每一個邏輯輸出設(shè)計一個輸出模塊,其功能是把主控模塊提供的數(shù)據(jù)輸出。

(3)為數(shù)據(jù)流程圖中的變換部分設(shè)計一個變換模塊,它的功能是對邏輯輸入進(jìn)行加工處理,將之變換成邏輯輸出。

3)設(shè)計中、下層模塊

在模塊結(jié)構(gòu)圖的頂層和第一層已經(jīng)確定的基礎(chǔ)上,根據(jù)數(shù)據(jù)流程圖將系統(tǒng)模塊結(jié)構(gòu)圖中第一層的各模塊自頂向下地逐級向下擴(kuò)展,即可逐步細(xì)化每一模塊的功能,最后形成完整的系統(tǒng)模塊結(jié)構(gòu)圖。

由于輸入模塊的功能是向調(diào)用它的模塊提供數(shù)據(jù),因此它自己也需要一個數(shù)據(jù)來源。

此外,輸入模塊應(yīng)具有變換功能,以向調(diào)用模塊提供所需的數(shù)據(jù)。因此,我們?yōu)槊總€輸入模塊設(shè)計兩個下層模塊,其中一個是輸入模塊,另一個是變換模塊。同理,也為每個輸出模塊設(shè)計兩個下層模塊:一個是變換模塊,將調(diào)用模塊所提供的數(shù)據(jù)變換成輸出的形式;另一個是輸出模塊,將變換后的數(shù)據(jù)輸出。

該過程自頂向下進(jìn)行,直到系統(tǒng)的物理輸入端或物理輸出端為止(如圖7-13所示)。每設(shè)計出一個新模塊,應(yīng)同時給它起一個能反映模塊功能的名字。

2.事務(wù)分析

當(dāng)數(shù)據(jù)流程圖呈現(xiàn)“束狀”結(jié)構(gòu)時,應(yīng)采用事務(wù)分析的設(shè)計方法。它同變換分析法一樣,是結(jié)構(gòu)化系統(tǒng)設(shè)計的重要方法。

用事務(wù)分析法設(shè)計系統(tǒng)模塊結(jié)構(gòu)圖與用變換分析法設(shè)計系統(tǒng)模塊圖的方法基本類似。

1)分析數(shù)據(jù)流程圖,確定它的事務(wù)中心

如果數(shù)據(jù)沿輸入通路到達(dá)一個處理,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干動作序列中選出一個來執(zhí)行,那么,該處理稱為事務(wù)中心。它完成如下功能:

(1)接收原始的事務(wù)記錄。

(2)分析每一個事務(wù)并確定它的類型。

(3)根據(jù)事務(wù)類型選擇一條邏輯處理路徑。一般來說,只要對數(shù)據(jù)流程圖作比較仔細(xì)的分析,就能找出各種類型的事務(wù)、事務(wù)處理邏輯及事務(wù)中心。如果存在這樣的處理邏輯:它對流入的數(shù)據(jù)流進(jìn)行類型判斷,并根據(jù)它的處理邏輯類型的不同產(chǎn)生不同的處理路徑,那么,它就是事務(wù)中心。例如,圖7-14中的“確定事務(wù)類型”就是該系統(tǒng)的事務(wù)中心。

2)設(shè)計高層模塊

事務(wù)中心確定后,就可著手繪制系統(tǒng)模塊結(jié)構(gòu)圖了。事務(wù)型數(shù)據(jù)流程圖轉(zhuǎn)換成的模塊結(jié)構(gòu)圖的高層模塊結(jié)構(gòu)具有如圖7-15所示的基本形式。圖7-14事務(wù)型數(shù)據(jù)流程圖圖7-15事務(wù)型模塊結(jié)構(gòu)圖的高層結(jié)構(gòu)

3)設(shè)計中、下層模塊

系統(tǒng)的高層模塊結(jié)構(gòu)確定后,就可根據(jù)自頂向下、逐層細(xì)化的原則,參照數(shù)據(jù)流程圖對高層模塊進(jìn)行必要的分解,從而形成完整的模塊結(jié)構(gòu)圖。具體方法與采用變換法時相似,不再贅述。按照上述步驟,完整的事務(wù)型模塊結(jié)構(gòu)圖應(yīng)具有下述結(jié)構(gòu)形式:

(1)在頂層模塊下為每一種類型的事務(wù)設(shè)置一個事務(wù)處理模塊,形成系統(tǒng)模塊結(jié)構(gòu)圖的第一層,即事務(wù)層。

(2)根據(jù)每個事務(wù)處理模塊所進(jìn)行的不同處理,為它們設(shè)置若干個動作模塊(或稱為操作模塊),其中有的動作模塊可能是多個事務(wù)處理模塊的公共下屬模塊,所有動作模塊形成系統(tǒng)模塊結(jié)構(gòu)圖的第二層,即動作層(或操作層)。

(3)如果有必要,還可以設(shè)置細(xì)節(jié)層作為系統(tǒng)模塊結(jié)構(gòu)圖的第三層,即將每個動作模塊再分解成若干個細(xì)節(jié)模塊,其中某些細(xì)節(jié)模塊可能被若干個動作模塊調(diào)用。

上述層次結(jié)構(gòu)如圖7-16所示。圖7-16事務(wù)型模塊結(jié)構(gòu)圖的典型層次結(jié)構(gòu)變換分析法和事務(wù)分析法是進(jìn)行系統(tǒng)模塊結(jié)構(gòu)設(shè)計的兩種基本方法,但是,一個實際的管理信息系統(tǒng)的數(shù)據(jù)流程圖是相當(dāng)復(fù)雜的,往往是變換型和事務(wù)型的混合結(jié)構(gòu),此時可把變換分析和事務(wù)分析的應(yīng)用列在同一數(shù)據(jù)流程圖的不同部分。例如,可以以“變換分析”為主,“事務(wù)分析”為輔進(jìn)行設(shè)計,先找出主加工(或變換中心),設(shè)計出結(jié)構(gòu)圖的上層,然后根據(jù)數(shù)據(jù)流程圖各部分的結(jié)構(gòu)特點,適當(dāng)選用“變換分析”或“事務(wù)分析”,就可得出初始結(jié)構(gòu)圖的某個方案。

3.模塊結(jié)構(gòu)圖的改進(jìn)

在系統(tǒng)分析階段,加工說明中所反映的用戶要求(例如出錯處理、過程信息等)不能完全在數(shù)據(jù)流程圖中反映。然而,在系統(tǒng)設(shè)計階段的系統(tǒng)模塊結(jié)構(gòu)圖中,又必須體現(xiàn)出用戶的所有要求。而且,運用上述方法建立的模塊結(jié)構(gòu)圖是初步的,它能實現(xiàn)數(shù)據(jù)流程圖提出的邏輯功能,因而是可用的,但不一定是優(yōu)化的。因此,初始的系統(tǒng)模塊結(jié)構(gòu)圖完成后,應(yīng)當(dāng)根據(jù)前面提出的模塊結(jié)構(gòu)設(shè)計的五項原則進(jìn)行檢查和改進(jìn),特別是應(yīng)按照“耦合小,聚合大”的標(biāo)準(zhǔn)對結(jié)構(gòu)圖進(jìn)行檢查和修改。

7.3信息系統(tǒng)流程圖設(shè)計

模塊結(jié)構(gòu)圖主要從功能的角度描述了系統(tǒng)的結(jié)構(gòu),但并未表達(dá)各功能之間的數(shù)據(jù)傳送關(guān)系。事實上,系統(tǒng)中許多業(yè)務(wù)或功能都是通過數(shù)據(jù)存儲文件聯(lián)系起來的。例如,某一功能模塊向某一數(shù)據(jù)存儲文件中存入數(shù)據(jù),而另一個功能模塊則從該數(shù)據(jù)存儲文件中取出數(shù)據(jù)。再比如,雖然在數(shù)據(jù)流程圖中的某兩個功能模塊之間原來并沒有通過數(shù)據(jù)存儲文件發(fā)生聯(lián)系,但為了處理方便,在具體實現(xiàn)中有可能在兩個處理功能之間設(shè)立一個臨時的中間文件,以便把它們聯(lián)系起來。7.3.1事務(wù)處理系統(tǒng)流程圖

在一個企業(yè)中,每天都會產(chǎn)生大量的單據(jù),如原材料的入庫單、出庫單,產(chǎn)成品的入庫單、出庫單,發(fā)貨單、收款單,班組的產(chǎn)品生產(chǎn)日報,職工的考勤表,設(shè)備的運行記錄,能源的消耗記錄等。對這些單據(jù),各個部門要進(jìn)行加工、處理、計算、匯總,并且定期形成報表,如產(chǎn)品銷售月報、產(chǎn)品產(chǎn)量產(chǎn)值月報、會計報表等。通常,我們稱這類工作為“事務(wù)處理”,每一種單據(jù)表示某一種事務(wù),而電子計算機(jī)最適合于事務(wù)處理工作,越是大量的事務(wù),其效益就越明顯。通常,在一個事務(wù)處理系統(tǒng)中有兩類數(shù)據(jù)文件,一類是事務(wù)文件,如原料入庫單、出庫單構(gòu)成的數(shù)據(jù)文件,它們按一定的記錄格式存儲在磁性介質(zhì)或其他介質(zhì)中,磁帶、磁盤、光盤中;另一類是主文件,如原材料庫存文件,它反映了各種原材料當(dāng)前的庫存情況。典型的事務(wù)處理工作就是用事務(wù)文件來修改主文件,以便使主文件始終處于最新狀態(tài),及時反映各種原材料的當(dāng)前庫存情況。一般來說,事務(wù)處理過程包含以下幾個步驟:

(1)將原始單據(jù)成批輸入,形成原始事務(wù)數(shù)據(jù)文件。當(dāng)然,這些單據(jù)的記錄格式必須相同,且在輸入過程中,必須對每一張單據(jù)進(jìn)行有效性檢驗,以確保所形成的事務(wù)記錄在邏輯上是正確的。

(2)對輸入的合格事務(wù)文件分類,也稱為按關(guān)鍵字排序。

(3)用事務(wù)文件來修改主文件,這稱為“更新主文件”。

(4)對更新后的主文件進(jìn)行加工處理。例如,對主文件中有關(guān)的數(shù)據(jù)進(jìn)行計算、匯總、檢索等。

(5)產(chǎn)生各種報表或打印有關(guān)的統(tǒng)計圖。信息系統(tǒng)流程圖是以新系統(tǒng)的數(shù)據(jù)流程圖為基礎(chǔ)繪制的,它通常以計算機(jī)運行作業(yè)為單位,一個作業(yè)包含了若干個作業(yè)步,其中每一個作業(yè)步就是一個程序。信息系統(tǒng)流程圖表示的是計算機(jī)的處理流程。7.3.2系統(tǒng)流程圖的符號

繪制信息系統(tǒng)流程圖應(yīng)當(dāng)使用統(tǒng)一符號。目前,國際上所用的符號日趨統(tǒng)一,我國國家標(biāo)準(zhǔn)GB?1526-79信息處理流程圖圖形符號和國際標(biāo)準(zhǔn)化組織標(biāo)準(zhǔn)ISP1028、2636以及美國國家標(biāo)準(zhǔn)協(xié)會ANSI的圖形符號大致相同,常用的符號如圖7-17所示。圖7-17常用系統(tǒng)流程圖符號7.3.3生產(chǎn)企業(yè)的市場經(jīng)營管理系統(tǒng)流程圖

生產(chǎn)企業(yè)的市場經(jīng)營管理的職能主要包括計劃經(jīng)營研究、顧客訂貨服務(wù)、產(chǎn)品銷售管理。這個系統(tǒng)主要的外部環(huán)境是顧客,該系統(tǒng)的主要數(shù)據(jù)有這樣幾類:有關(guān)顧客的數(shù)據(jù)、有關(guān)顧客向本企業(yè)訂購產(chǎn)品的數(shù)據(jù),本企業(yè)產(chǎn)品的庫存數(shù)據(jù)以及產(chǎn)品銷售的數(shù)據(jù)。

市場經(jīng)營管理的數(shù)據(jù)流程圖如圖7-18所示。圖7-18市場經(jīng)營管理數(shù)據(jù)流程圖

1.訂貨管理

1)訂貨管理數(shù)據(jù)流程圖

我們把圖7-18中的訂貨管理進(jìn)一步擴(kuò)展,其主要功能包括訂貨服務(wù)和訂貨匯總兩項。它接收來自顧客的訂貨單,經(jīng)過驗證以后,產(chǎn)生合格的訂貨單記錄。驗證的主要內(nèi)容是訂貨單中的產(chǎn)品名稱、規(guī)格是否填寫正確,顧客的名稱、地址、開戶銀行和賬號是否正確。定期將顧客的訂貨單加以匯總,形成訂貨匯總文件,也就是按產(chǎn)品匯總數(shù)據(jù),以便安排生產(chǎn),及時向顧客提供所需要的產(chǎn)品。

訂貨管理的數(shù)據(jù)流程圖如圖7-19所示。圖7-19訂貨管理的數(shù)據(jù)流程圖訂貨管理的數(shù)據(jù)流程圖包括的主要項目如下:

(1)外部項:顧客。

(2)輸入數(shù)據(jù)流:訂貨單。

(3)輸入文件:產(chǎn)品目錄、顧客目錄。

(4)輸出文件:訂貨匯總文件。

(5)輸入/輸出文件:訂貨單文件。在訂貨管理的數(shù)據(jù)流程圖中,有關(guān)的數(shù)據(jù)結(jié)構(gòu)如下:

(1)訂貨單,包括訂貨單編號、日期、顧客名稱、地址、產(chǎn)品名稱、數(shù)量、單價、金額和交貨日期。

(2)?C1產(chǎn)品目錄,包括產(chǎn)品代號、產(chǎn)品名稱和銷售單價。

(3)?C2顧客目錄,包括顧客代號、顧客名稱和地址。

(4)?D1訂貨單文件,包括訂貨單編號、日期、顧客代號、產(chǎn)品代號、數(shù)量和交貨日期。

(5)?D2訂貨匯總文件,包括交貨日期、產(chǎn)品代號和數(shù)量。

2)訂貨管理系統(tǒng)流程圖

根據(jù)上述情況,不難畫出相應(yīng)的事務(wù)處理系統(tǒng)流程圖。

首先考慮為了完成這項工作,需要建立哪幾個中間文件:

(1)第一個中間文件T1,本次輸入的訂貨單所形成的文件,每輸入一張訂貨單,就要驗證是否合格,驗證的內(nèi)容包括顧客名稱、地址、產(chǎn)品名稱、金額。驗證的依據(jù)就是C1產(chǎn)品目錄和C2顧客目錄。T1的數(shù)據(jù)結(jié)構(gòu)與D1相同。

(2)第二個中間文件T2,其數(shù)據(jù)結(jié)構(gòu)也和D1訂貨文件的數(shù)據(jù)結(jié)構(gòu)相同,但它已經(jīng)按訂貨單的編號排序,是一個順序文件。

T2文件有三個用途:

①將本次接收的訂貨單打印成訂貨報表;

②與過去的訂貨單文件D1合并;

③按訂貨日期和產(chǎn)品代號匯總訂貨數(shù)量,形成中間文件T3,其數(shù)據(jù)結(jié)構(gòu)與D2訂貨匯總文件相同,然后將T3合并到D2中,形成新的訂貨匯總文件。

訂貨管理的系統(tǒng)流程圖如圖7-20所示。圖7-20訂貨管理的系統(tǒng)流程圖

2.銷售管理

企業(yè)將產(chǎn)品生產(chǎn)出來后,應(yīng)及時地按顧客的訂貨要求把產(chǎn)品銷售給顧客。銷售管理的主要功能是銷售服務(wù)、銷售統(tǒng)計和銷售分析。

1)銷售管理數(shù)據(jù)流程圖

銷售管理的數(shù)據(jù)流程圖如圖7-21所示。圖7-21銷售管理的數(shù)據(jù)流程圖銷售管理的數(shù)據(jù)流程圖包括的主要項目如下:

(1)外部項:顧客、經(jīng)理。

(2)輸出數(shù)據(jù)流:發(fā)貨單、ABC分析報告。

(3)輸入文件:產(chǎn)品目錄、顧客目錄。

(4)輸入/輸出文件:訂貨單文件、訂貨匯總文件、產(chǎn)品庫存文件、發(fā)貨單文件、月銷售統(tǒng)計文件。有關(guān)的數(shù)據(jù)結(jié)構(gòu)如下:

(1)發(fā)貨單,包括發(fā)貨單編號、日期、顧客名稱、產(chǎn)品名稱、單價、數(shù)量和金額。

(2)?ABC分析報告,包括月份、序號、產(chǎn)品代號、產(chǎn)品名稱、單價、銷售數(shù)量、金額、占銷售總額百分比和累積銷售總額百分比。

(3)?D3產(chǎn)品庫存文件,包括產(chǎn)品代號和當(dāng)前庫存量。

(4)?D4發(fā)貨單文件,包括發(fā)貨單編號、日期、顧客代號、產(chǎn)品代號、單價、數(shù)量和金額。

(5)?D5月銷售統(tǒng)計文件,包括月份、產(chǎn)品代號、銷售量和銷售額。

2)銷售管理系統(tǒng)流程圖

根據(jù)上述業(yè)務(wù)情況,可畫出銷售管理的事務(wù)處理系統(tǒng)流程圖。這個系統(tǒng)每天都要運行一次,按當(dāng)天日期讀D2訂貨匯總文件。假設(shè)按交貨日期前一天計算,并根據(jù)產(chǎn)品庫存情況,確定當(dāng)天可交貨的產(chǎn)品有哪些,因此要建立一個中間文件T1,它包括產(chǎn)品代號和可銷售的數(shù)量兩個數(shù)據(jù)項。對那些無法按期交貨的產(chǎn)品要打印出一份報告。第二步工作就是開發(fā)貨單,開發(fā)貨單的依據(jù)是D2訂貨單文件,為了在發(fā)貨單上打出顧客名稱和產(chǎn)品名稱,需要C1產(chǎn)品目錄和C2顧客目錄作為輸入文件。對已開出的發(fā)貨單要記錄在D4發(fā)貨單文件中。第三步工作就是將當(dāng)天的產(chǎn)品銷售情況累加到本月銷售統(tǒng)計文件D5中。上述三步工作每天都要執(zhí)行一次。到月底,將D5月銷售統(tǒng)計文件按本月產(chǎn)品銷售額由大到小排序,形成一個中間文件T2,結(jié)構(gòu)與D5相同,根據(jù)T2和C2的產(chǎn)品目錄,可以編制出本月產(chǎn)品ABC銷售分析報告。其格式如表7-1所示。表7-1中:

A1=S1,A2=S1+S2,…,An=S1+S2+…+Sn

令A(yù)=An(銷售總額),則

t1=1/n×100%,t2=2/n×100%,…,tn=n/n×100%

P1=A1/A×100%,P2=A2/A×100%,…,Pn=An/A×100%

銷售管理的系統(tǒng)流程圖如圖7-22所示。圖7-22銷售管理的系統(tǒng)流程圖

7.4詳細(xì)設(shè)計的工具

在完成系統(tǒng)總體設(shè)計任務(wù)后,就可以進(jìn)行詳細(xì)設(shè)計了。

管理信息系統(tǒng)的詳細(xì)設(shè)計是指在總體設(shè)計所建立的系統(tǒng)模塊結(jié)構(gòu)的基礎(chǔ)上,給出模塊的實現(xiàn)方法的細(xì)節(jié),對模塊的輸入、輸出和處理過程做詳細(xì)描述。

詳細(xì)設(shè)計不僅僅要求從邏輯上正確地實現(xiàn)每個模塊的功能,而且要求設(shè)計出的處理過程盡可能簡明易懂。結(jié)構(gòu)化程序設(shè)計是實現(xiàn)這個目標(biāo)的有效技術(shù)。描述程序處理過程的工具稱為詳細(xì)設(shè)計的工具,可分為圖形、表格和語言三類,如控制流程圖(FC)、問題分析圖(PAD)、IPO圖和過程設(shè)計語言(PDL)等。它們的基本功能都是能提供對設(shè)計的確切的描述。下面我們對常用的詳細(xì)設(shè)計的工具分別進(jìn)行討論。7.4.1結(jié)構(gòu)化程序設(shè)計

結(jié)構(gòu)化程序設(shè)計方法(StructuredPrograming,SP)由E.DIJKSTRA等人于1972年提出,用于詳細(xì)設(shè)計和程序設(shè)計階段,指導(dǎo)人們用良好的思想方法,開發(fā)出正確且易于理解的

程序。

結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。

下面將介紹的控制流程圖、問題分析圖、IPO圖和過程設(shè)計語言等是結(jié)構(gòu)化程序設(shè)計的描述工具,也是詳細(xì)設(shè)計的工具。這些描述工具的任務(wù)不是具體編寫程序,而是設(shè)計出程序的“藍(lán)圖”,程序員將根據(jù)這個藍(lán)圖編寫實際的程序代碼。7.4.2控制流程圖(FC)

控制流程圖(FlowChart,F(xiàn)C),又稱程序框圖。它是使用最廣泛的程序細(xì)節(jié)描述工具。

程序框圖包括三種基本成分:7.4.3問題分析圖(PAD)

問題分析圖(ProblemAnalysisDiagram,PAD)是由日本日立公司于1979年提出的,它是一種支持結(jié)構(gòu)化程序設(shè)計的圖形工具。

PAD圖是從流程圖演化而來的,它針對流程圖的某些缺點,進(jìn)行了適當(dāng)?shù)母倪M(jìn),把程序控制流結(jié)構(gòu)表示成二維樹的圖形,與原來的流程圖相比有著明顯的優(yōu)點。

PAD圖僅僅具有順序、選擇和循環(huán)這三種基本成分,如圖7-23所示,正好與結(jié)構(gòu)化程序設(shè)計中的基本程序結(jié)構(gòu)相對應(yīng)。圖7-23PAD圖的基本成分7.4.4IPO圖

IPO圖是輸入—處理—輸出(Input-Process-Output)圖的簡稱,它是由美國IBM公司開發(fā)并逐漸完善起來的一種工具。

在系統(tǒng)模塊結(jié)構(gòu)圖的形成過程中,產(chǎn)生了大量的模塊,開發(fā)者應(yīng)為每一個模塊寫一份說明。IPO圖就是用來表述每個模塊的輸入、輸出數(shù)據(jù)和數(shù)據(jù)處理的重要工具。目前常用的IPO圖的結(jié)構(gòu)如圖7-24所示。圖7-24IPO圖的結(jié)構(gòu)

IPO圖的主體是算法說明部分,該部分可采用第6章介紹的結(jié)構(gòu)化語言、判斷表、判斷樹,也可用本章介紹的控制流程圖、問題分析圖和過程設(shè)計語言等工具進(jìn)行描述,只要能夠準(zhǔn)確而簡明地描述模塊執(zhí)行細(xì)節(jié)就可以。

在IPO圖中,輸入、輸出數(shù)據(jù)來源于數(shù)據(jù)字典;局部數(shù)據(jù)項是指個別模塊內(nèi)部使用的數(shù)據(jù),與系統(tǒng)的其他部分無關(guān),僅由本模塊定義、存儲和使用;注釋是對本模塊有關(guān)問題作必要的說明。7.4.5過程設(shè)計語言(PDL)

過程設(shè)計語言(ProcessDesignLanguage,PDL)用于描述模塊中算法和加工的具體細(xì)節(jié),以便在開發(fā)人員之間比較精確地進(jìn)行交流。

過程設(shè)計語言的外層語法描述結(jié)構(gòu)采用與一般編程語言類似的、確定的關(guān)鍵字(如If-Then-Else,While-Do等);內(nèi)層語法描述操作可以采用任意的自然語句(英語或漢語)。

7.5詳細(xì)設(shè)計的工作

前面已經(jīng)介紹了結(jié)構(gòu)化設(shè)計的思想、方法以及詳細(xì)設(shè)計的描述工具,在此基礎(chǔ)上,就可以進(jìn)行管理信息系統(tǒng)詳細(xì)設(shè)計的主要工作,即代碼、各種輸入/輸出以及處理的詳細(xì)設(shè)計了。

7.5.1代碼設(shè)計

計算機(jī)不能識別任何一種具體的物體和事件,而只能識別數(shù)字、英文字母及少數(shù)的一些特殊符號。因此,必須把物體和事件數(shù)字化、字符化,這就需要進(jìn)行代碼設(shè)計。

1.代碼

所謂代碼,是代表客觀存在的實體及其各種屬性的符號,如數(shù)字、字母或它們的組合。

代碼的功能:

(1)可以使數(shù)據(jù)的表達(dá)方式標(biāo)準(zhǔn)化,有利于對客觀事物及其屬性進(jìn)行識別。

(2)使用代碼可以減少信息量,節(jié)省存儲空間。

(3)使用代碼便于信息的傳輸和進(jìn)行分類、合并、匹配、檢索等處理,提高計算機(jī)處理信息的效率。

(4)代碼可用來標(biāo)明事物所處狀態(tài)。例如,“1”表示是產(chǎn)品入庫;“0”表示產(chǎn)品出庫。計算機(jī)通過代碼來識別客觀事物及其屬性,并進(jìn)行相應(yīng)的信息處理,因此,在管理信息系統(tǒng)中,重要的數(shù)據(jù)必須代碼化。

2.代碼設(shè)計的原則

代碼設(shè)計必須遵循以下原則:

(1)唯一性。每一個代碼都僅代表唯一的實體或?qū)傩浴?/p>

(2)標(biāo)準(zhǔn)化與通用性。凡國家和主管部門對某些信息分類和代碼有統(tǒng)一規(guī)定和要求的,則應(yīng)采用標(biāo)準(zhǔn)形式的代碼,以使其通用化。

(3)合理性。代碼結(jié)構(gòu)要合理,盡量反映編碼對象的特征,并與事物分類體系相適應(yīng),以便代碼具有分類的標(biāo)識作用。

(4)穩(wěn)定性。代碼應(yīng)能適應(yīng)環(huán)境的變化,要具有不能輕易改變的持久性,避免經(jīng)常修改代碼,使之具有穩(wěn)定性。

(5)可擴(kuò)充性與靈活性。代碼系統(tǒng)要考慮系統(tǒng)的發(fā)展變化。當(dāng)增加新的實體或?qū)傩詴r,應(yīng)能直接利用原代碼加以擴(kuò)充,而不需要變動代碼系統(tǒng)。

(6)具有規(guī)律性。即便于編碼和識別。代碼應(yīng)具有邏輯性強(qiáng),直觀性好的特點,便于用戶識別和記憶。

(7)簡潔性。代碼的長度應(yīng)以短小為好,因為代碼的長度會影響所占據(jù)的存儲單元和信息處理的速度,而且也會影響代碼輸入時出錯的概率及輸入、輸出速度。

3.代碼的種類

1)順序碼

順序碼是用連續(xù)數(shù)字代表編碼對象的代碼,通常從1開始。如職工號碼,李紅為00001,王江為00002……

順序碼的優(yōu)點是簡單易懂,位數(shù)較少。但因為順序碼沒有邏輯含義,所以僅適于用作識別代碼,它本身不能說明任何信息特征。

2)組別碼

組別碼是順序碼的特例,將順序碼分為若干塊,每塊代表一定類型的編碼對象。例如,職工號碼根據(jù)職工所在車間分成大小任意的區(qū)段:0001~0299為一車間職工;0301~0499為二車間職工。

組別碼的優(yōu)點是能以較少的位數(shù)分成很多小組;缺點是不便于計算機(jī)處理。它通常在代碼位數(shù)受限制而又必須分組的情況下使用。

3)區(qū)間碼

區(qū)間碼是把數(shù)據(jù)項分成若干組,每一區(qū)間代表一個組,碼中的數(shù)字和位置都代表一定意義。區(qū)間碼可分為以下幾種類型:

(1)?層次碼。在碼的結(jié)構(gòu)中,為數(shù)據(jù)項的各個屬性各規(guī)定一個位置(一位或幾位),并使其排列符合一定層次關(guān)系。

例如,關(guān)于某企業(yè)的組織機(jī)構(gòu)的代碼含義如表7-2所示。依據(jù)表7-2,代碼212就代表技術(shù)副廠長主管的設(shè)計科的夾具設(shè)計組。

層次碼由于數(shù)字的值與位置都代表一定意義,因而檢索、分類和排序都很方便;缺點是有時會造成代碼過長。

(2)十進(jìn)制碼。碼中每一位數(shù)字代表一類。常應(yīng)用于圖書、材料的分類,用四位十進(jìn)制對部件進(jìn)行編碼。

例如,500表示自然科學(xué);510表示數(shù)學(xué);520表示天文學(xué);531表示機(jī)構(gòu);531.1表示機(jī)械;531.11表示杠桿和平衡。

十進(jìn)制碼的優(yōu)點是分類比較清晰,尤其是在圖書資料方面;缺點是適用范圍比較狹窄。

(3)?多面碼。如果在代碼的結(jié)構(gòu)中,為多個屬性各規(guī)定一個位置,就形成多面碼。也就是從兩個以上的屬性識別和處理代碼化對象的代碼。

例如,表7-3是可反映職工多方面情況的職工號碼。依據(jù)表7-3,代碼1970210002表示1970年參加工作的二車間0002號男職工。

總之,區(qū)間碼的優(yōu)點是:碼中數(shù)字的值和位置都代表一定意義,信息處理比較可靠,排序、分類、檢索等操作易于進(jìn)行。但這種碼的長度與分類屬性的數(shù)量有關(guān),有時可能造成很長的碼,而且維護(hù)也比較困難。

4)助記碼

將編碼對象的名稱、規(guī)格等作為代碼的一部分,以幫助記憶的碼稱為助記碼。例如,TV-B-14表示14寸黑白電視機(jī);TV-c-20表示20寸彩色電視機(jī)。

助記碼的優(yōu)點是能原封不動地表示代碼化對象的屬性,易記易讀;缺點是位數(shù)容易變化,不便于計算機(jī)處理。

5)縮寫碼

縮寫碼是把慣用的縮寫字直接用作代碼。例如,cm表示厘米;kg表示公斤;IB表示磅。

4.代碼校驗

代碼的正確性直接影響計算機(jī)處理的質(zhì)量,因此需要對輸入計算機(jī)中的代碼進(jìn)行校驗。

校驗代碼通常有兩種方法:一種是事先在計算機(jī)中建立一個“代碼字典”,然后將輸入的代碼與字典中的內(nèi)容進(jìn)行比較,若不一致則說明輸入的代碼有錯;另一種是設(shè)校驗位,即設(shè)計代碼結(jié)構(gòu)時,在原有代碼基礎(chǔ)上另外加上一個校驗位,使其成為代碼的一個組成部分,校驗值通過事先規(guī)定的數(shù)學(xué)方法計算出來,當(dāng)代碼輸入后,計算機(jī)會以同樣的數(shù)學(xué)方法按輸入的代碼計算出校驗值,并將它與輸入的校驗值進(jìn)行比較,以證實是否有錯。7.5.2輸出設(shè)計

在系統(tǒng)設(shè)計中,輸出設(shè)計是用計算機(jī)系統(tǒng)將輸入數(shù)據(jù)進(jìn)行處理的結(jié)果通過一定的表現(xiàn)形式,提供給用戶使用。

輸出設(shè)計包括確定輸出內(nèi)容,確定輸出方式(設(shè)備與介質(zhì))、輸出格式等。輸出的信息為用戶所用,在設(shè)計中,必須滿足用戶的信息需求。對輸出信息的基本要求是:準(zhǔn)確、及時而且適用。

1.輸出內(nèi)容

輸出的內(nèi)容要根據(jù)系統(tǒng)分析的結(jié)果來確定,主要包括兩方面:

(1)輸出信息的內(nèi)容。包括信息的表現(xiàn)形式(表格、圖形、文字)、輸出項目及其數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型、位數(shù)及取值范圍、精度、數(shù)據(jù)的生成途徑(數(shù)據(jù)來源及生成算法)、完整性與一致性的考慮等。

(2)輸出信息的使用要求。包括使用者(人或設(shè)備)、使用目的或用途、輸出速度、使用頻率或周期、有效期、數(shù)量或份數(shù)需求、保密與安全性要求等。

2.輸出方式的確定

輸出方式的確定也是輸出方法的確定,即用什么設(shè)備和介質(zhì)來產(chǎn)生輸出。不同的輸出方式,所用的介質(zhì)和設(shè)備也不同。

表7-4列出了常用輸出介質(zhì)和設(shè)備的特點和用途。

3.輸出格式

提供給用戶的信息都要進(jìn)行格式設(shè)計,要滿足用戶的要求,達(dá)到格式清晰、美觀,易于閱讀和理解的目的。7.5.3輸入設(shè)計

輸入設(shè)計是將事務(wù)數(shù)據(jù)變成可使用的格式,提交數(shù)據(jù)進(jìn)入計算機(jī)進(jìn)行處理活動的過程設(shè)計。

輸入設(shè)計的出發(fā)點是確保向管理信息系統(tǒng)提供正確的輸入數(shù)據(jù)。

輸入設(shè)計的目標(biāo)是:在保證輸入數(shù)據(jù)正確和滿足需要的前提下,應(yīng)做到輸入方法簡單、迅速、經(jīng)濟(jì)和方便使用者。

1.輸入內(nèi)容

輸入數(shù)據(jù)的內(nèi)容包括確定輸入數(shù)據(jù)項名稱、數(shù)據(jù)類型、精度或位數(shù)、數(shù)值范圍及輸入格式等,還包括確定輸入記錄單的格式、數(shù)據(jù)記錄的描述、數(shù)據(jù)在輸入介質(zhì)上的格式(如屏幕格式)及編寫輸入說明等。

2.輸入方式與設(shè)備

數(shù)據(jù)的輸入方式和設(shè)備與數(shù)據(jù)發(fā)生地點、發(fā)生時間、數(shù)量及數(shù)據(jù)特性、處理速度的要求等有關(guān)。通常所用的輸入介質(zhì)和設(shè)備及其特點詳見表7-5。

隨著計算機(jī)技術(shù)的發(fā)展,輸入方式也在不斷更新,如先后出現(xiàn)了語音輸入、光筆輸入等。先進(jìn)輸入技術(shù)的采用無疑會提高管理信息系統(tǒng)的效率。

輸入介質(zhì)和設(shè)備的選用,要考慮輸入的數(shù)據(jù)量與頻度;輸入信息的來源、形式;輸入的類型和格式的靈活程度;輸入速度和準(zhǔn)確性的要求;輸入的校驗方法,允許的出錯率及糾正的難易程度;數(shù)據(jù)記錄的要求、特點、保密性等;數(shù)據(jù)收集的環(huán)境以及對于其他系統(tǒng)是否適應(yīng);可利用的設(shè)備和費用等。

3.輸入格式

在設(shè)計輸入格式時,應(yīng)注意以下幾點:

(1)盡量減少輸入工作量,凡數(shù)據(jù)庫中已有的數(shù)據(jù),應(yīng)盡量調(diào)用,避免重復(fù)輸入。

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

最新文檔

評論

0/150

提交評論