版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第10講系統(tǒng)設計(2)管理信息系統(tǒng)一、系統(tǒng)模塊結(jié)構(gòu)設計總體結(jié)構(gòu)設計的主要內(nèi)容之一是合理地進行模塊的分解和定義,使一個個子系統(tǒng)設計轉(zhuǎn)為若干個基本模塊設計,并通過模塊結(jié)構(gòu)圖把分解的模塊按層次結(jié)構(gòu)聯(lián)系起來。模塊與模塊分解模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)的標準形式如何畫模塊結(jié)構(gòu)圖
數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)
“變換分析”和“事務分析”技術(一)模塊的概念模塊是組成系統(tǒng)的基本單位,它的特點是可以組合、分解和更換。系統(tǒng)中任何一個處理功能都可以看成是一個模塊。根據(jù)模塊功能具體化程度的不同,可以分為邏輯模塊和物理模塊。在系統(tǒng)邏輯模型中定義的處理功能可視為邏輯模塊。物理模塊是邏輯模塊的具體化,可以是一個計算機程序、子程序或若干條程序語句,也可以是人工過程的某項具體工作。1、模塊的四個要素輸入和輸出處理功能內(nèi)部數(shù)據(jù)程序代碼2、模塊分解系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模塊,模型中沒有說明模塊的物理構(gòu)成和實現(xiàn)途徑,同時也看不出模塊的層次分解關系,為此在系統(tǒng)結(jié)構(gòu)設計中要將數(shù)據(jù)流圖上的各個邏輯處理模塊進一步分解,用模塊結(jié)構(gòu)圖確定系統(tǒng)的層次結(jié)構(gòu)關系,并將系統(tǒng)的邏輯模型轉(zhuǎn)變?yōu)槲锢砟P?。?)劃分模塊的依據(jù)一個合理的子系統(tǒng)或模塊劃分,應該是子系統(tǒng)或模塊內(nèi)部聯(lián)系強,子系統(tǒng)或模塊間盡可能獨立,接口明確、簡單,盡量適應用戶的組織體系,有適當?shù)墓灿眯?。?)模塊分解的方式按邏輯劃分按時間劃分按過程劃分按通信劃分按職能劃分子系統(tǒng)按職能、模塊按邏輯劃分所形成的系統(tǒng)(二)模塊結(jié)構(gòu)圖含義模塊結(jié)構(gòu)圖是把分解的一個個模塊按層次結(jié)構(gòu)聯(lián)系起來的圖。序號名稱符號含義說明1模塊表示一個功能模塊,模塊名稱表住在方框的內(nèi)部2預定義表是一個預先定義的模塊,模塊名稱標注在方框的內(nèi)部,預先定義模塊是指不必在編程實現(xiàn)的模塊,通常是應用程序中的一個程序。3調(diào)用表示模塊與模塊之間的調(diào)用關系,箭頭部分指示被調(diào)用模塊,箭尾部分指示調(diào)用模塊。4數(shù)據(jù)表示模塊與模塊之間的數(shù)據(jù)流,數(shù)據(jù)項名稱或編號標注在旁邊。5控制信息表示模塊與模塊之間的控制流,控制變量的名稱或編號標注在旁邊。6判斷分支表示模塊內(nèi)部包含有判斷邏輯,根據(jù)判定結(jié)果調(diào)用哪些功能模塊。7循環(huán)調(diào)用表示模塊內(nèi)部包含有循環(huán)調(diào)用某個或某些模塊的功能。8轉(zhuǎn)接模塊結(jié)構(gòu)圖需要轉(zhuǎn)接到另外一張紙上,或為了避免圖上線條交叉時,都可使用轉(zhuǎn)接符號,圓圈內(nèi)加上標號。1、模塊系統(tǒng)設計中所說的模塊為物理模塊,通常是指用一個名字就可以調(diào)用的一段程序語句。模塊名通常由一個動詞和一個作為賓語的名詞組成。模塊的名字應當能夠表明該模塊的功能。對于現(xiàn)成的模塊,則以雙縱邊矩形框表示。模塊的表示2、調(diào)用在模塊結(jié)構(gòu)圖中,用聯(lián)接兩個模塊的箭頭表示調(diào)用,箭頭總是由調(diào)用模塊指向被調(diào)用模塊,但是應該理解成被調(diào)用模塊執(zhí)行后又返回到調(diào)用模塊。如果一個模塊是否調(diào)用一個從屬模塊,決定于調(diào)用模塊內(nèi)部的判斷條件,則該調(diào)用稱為判斷調(diào)用。如果一個模塊通過其內(nèi)部的循環(huán)功能來循環(huán)調(diào)用一個或多個從屬模塊,則該調(diào)用稱為循環(huán)調(diào)用。模塊調(diào)用3、數(shù)據(jù)當一個模塊調(diào)用另一個模塊時,調(diào)用模塊可以把數(shù)據(jù)傳送到被調(diào)用模塊處供處理,而被調(diào)用模塊又可以將處理的結(jié)果數(shù)據(jù)送回到調(diào)用模塊。4、控制信息
為了指導程序下一步的執(zhí)行,模塊間有時還必須傳送某些控制信息,例如,數(shù)據(jù)輸入完成后給出的結(jié)束標志,文件讀到末尾所產(chǎn)生的文件結(jié)束標志等??刂菩畔⑴c數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài),不必進行處理。在模塊結(jié)構(gòu)圖中,用帶實心圓點的箭頭表示控制信息。例如,上圖中“無此職工”所示。5、轉(zhuǎn)接符號當模塊結(jié)構(gòu)圖在一張圖面上畫不下,需要轉(zhuǎn)接到另外一張紙上,或為了避免圖上線條交叉時,都可使用轉(zhuǎn)接符號,圓圈內(nèi)加上標號,如圖所示。轉(zhuǎn)接符號的使用(三)模塊結(jié)構(gòu)圖的標準形式一個系統(tǒng)的模塊結(jié)構(gòu)圖有兩種標準形式:變換型模塊結(jié)構(gòu)事務型模塊結(jié)構(gòu)1、變換型模塊結(jié)構(gòu)變換型模塊結(jié)構(gòu)描述的是變換型系統(tǒng),變換型系統(tǒng)由三部分組成:輸入數(shù)據(jù)加工(中心變換)輸出變換型模塊的功能是將輸入的數(shù)據(jù)經(jīng)過加工后輸出。下圖所示:變換型系統(tǒng)工作的順序首先主模塊受到控制,然后控制沿著結(jié)構(gòu)逐層達到底層的輸入模塊,當?shù)讓幽K輸入數(shù)據(jù)A后,A由下至上逐層傳送,逐步由“物理輸入”變成“邏輯輸入”C;在主控模塊控制下,“邏輯輸入”C經(jīng)中心變換模塊轉(zhuǎn)換成“邏輯輸出”D,D再由上至下逐層傳送,逐步把“邏輯輸出”變成“物理輸出”E。
這里的“邏輯輸入”和“邏輯輸出”分別為系統(tǒng)主處理的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流,而“物理輸入”和“物理輸出”是指系統(tǒng)輸入端和系統(tǒng)輸出端的數(shù)據(jù)。2、事務型模塊結(jié)構(gòu)事務型系統(tǒng)由三層組成:事務層操作層細節(jié)層事務型模塊的功能是對接收的事務,按其類型選擇某一類事務處理。如圖所示:事務型系統(tǒng)工作的順序:主模塊將按事務的類型選擇調(diào)用某一事務處理模塊,事務處理模塊又調(diào)用若干個操作模塊,而每個操作模塊又調(diào)用若干個細節(jié)模塊。在實際系統(tǒng)中,由于不同的事務可能有共同的操作,而不同操作又可能有共同的細節(jié),因此事務型系統(tǒng)的操作模塊和細節(jié)模塊可以達到一定程度的共享。變換型和事務型模塊結(jié)構(gòu)都有較高的模塊內(nèi)聚和較低的塊間耦合,因此便于修改和維護。在管理信息系統(tǒng)中,經(jīng)常將這兩種結(jié)構(gòu)結(jié)合使用。(四)如何畫初始的模塊結(jié)構(gòu)圖下面介紹通過“變換分析”和“事務分析”技術,導出“變換型”和“事務型”初始結(jié)構(gòu)圖的方法。變換分析事務分析混合結(jié)構(gòu)的分析1、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)系統(tǒng)分析階段,我們采用結(jié)構(gòu)化分析方法得到了由數(shù)據(jù)流圖、數(shù)據(jù)字典和加工說明等組成的系統(tǒng)的邏輯模型?,F(xiàn)在,可根據(jù)一些規(guī)則從數(shù)據(jù)流圖導出系統(tǒng)初始的模塊結(jié)構(gòu)圖。管理信息系統(tǒng)的數(shù)據(jù)流圖通常也可分為兩種典型的結(jié)構(gòu):變換型結(jié)構(gòu)和事務型結(jié)構(gòu)。變換型結(jié)構(gòu):
變換型結(jié)構(gòu)的數(shù)據(jù)流圖呈一種線性狀態(tài),它所描述的工作可表示為:輸入、主處理、輸出。事務型結(jié)構(gòu):
事務型結(jié)構(gòu)的數(shù)據(jù)流圖則呈束狀形,即一束數(shù)據(jù)流平行流入或流出,可能同時有幾個事務要求處理。上述兩種典型的數(shù)據(jù)流圖結(jié)構(gòu)分別可通過“變換分析”和“事務分析”技術,導出“變換型”和“事務型”初始的模塊結(jié)構(gòu)圖。這兩種方法的思想是首先設計頂層模塊,然后自頂向下,逐步細化,最后得到一個滿足數(shù)據(jù)流圖所表示的用戶要求的系統(tǒng)的模塊結(jié)構(gòu)圖,即系統(tǒng)的物理模型。
2、變換分析
因為變換型結(jié)構(gòu)由輸入,主處理和輸出三部分組成,所以從變換型結(jié)構(gòu)的數(shù)據(jù)流圖導出變換型模塊結(jié)構(gòu)圖,可分三步進行。找出系統(tǒng)的主加工設計頂層模塊和第一層模塊設計中、下層模塊(1)找出系統(tǒng)的主加工為了處理方便,先不考慮數(shù)據(jù)流圖中的一些支流,如出錯處理等。通常在數(shù)據(jù)流圖中多股數(shù)據(jù)流的匯合處理往往是系統(tǒng)的主加工。若沒有明顯的匯合處,則可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,從而獲得主加工。(2)設計頂層模塊和第一層模塊頂層模塊:首先在與主加工對應的位置上畫出主模塊,主模塊的功能就是整個系統(tǒng)要做的工作,主模塊又稱為主控制模塊。主模塊是模塊結(jié)構(gòu)圖的“頂”,現(xiàn)在我們就可按“自頂向下,逐步細化”的思想來畫模塊結(jié)構(gòu)圖頂下的各層了。每一層均需按輸入、變換、輸出等分支來處理。模塊結(jié)構(gòu)圖第一層的畫法如下:第一層模塊①為每一個邏輯輸入畫一個輸入模塊,其功能是向主模塊提供數(shù)據(jù)。②為每一個邏輯輸出畫一個輸出模塊,其功能是把主模塊提供的數(shù)據(jù)輸出。③為主處理畫一個變換模塊,其功能是把邏輯輸入變換成邏輯輸出。至此,結(jié)構(gòu)圖第一層就完成了。在作圖時應注意主模塊與第一層模塊之間傳送的數(shù)據(jù),要與數(shù)據(jù)流圖相對應。(3)設計中層模塊和下層模塊因為輸入模塊的功能是向調(diào)用它的模塊提供數(shù)據(jù),所以它自已也需要一個數(shù)據(jù)來源。此外,輸入模塊必須向調(diào)用模塊提供所需的數(shù)據(jù),因此它應具有變換功能,能夠?qū)⑤斎霐?shù)據(jù)按模塊的要求進行變換后,再提交該調(diào)用模塊。從而,要為每個輸入模塊設計兩個下層模塊,其中一個是輸入模塊,另一個是變換模塊。同理,也為每個輸出模塊設計兩個下層模塊,一個是變換模塊,將調(diào)用模塊所提供的數(shù)據(jù)變換成輸出的形式,另一個是輸出模塊,將變換后的數(shù)據(jù)輸出。該過程由頂向下遞歸進行,直到系統(tǒng)的物理輸入端或物理輸出端為止。每設計出一個新模塊,應同時給它起一個能反映模塊功能的名字3、事務分析的步驟
當數(shù)據(jù)流圖呈現(xiàn)“束狀”結(jié)構(gòu)時,應采用事務分析的設計方法。就步驟而言該方法與變換分析方法大部分類似,主要差別在于由數(shù)據(jù)流圖到模塊結(jié)構(gòu)的影射方式不同。進行事務分析時,通常采用以下四步:確定以事務為中心的結(jié)構(gòu),包括找出事務中心和事務來源。如圖所示的典型事務型數(shù)據(jù)流結(jié)構(gòu)為例,A是事務中心,X則為事務來源。(2)按功能劃分事務,將具備相同功能的事務分為同一類,建立事務模塊。(3)為每個事務處理模塊建立全部的操作層模塊。其建立方法與變換分析方法類似,但事務處理模決可以共享某些操作模塊。(4)若有必要,則為操作層模塊定義相應的細節(jié)模塊,并盡可能使細節(jié)模塊被多個操作模塊共享。例如,下圖是一個以事務為中心的數(shù)據(jù)流圖,顯然,加工“確定事務類型”是它的事務中心,由該數(shù)據(jù)流圖經(jīng)事務分析可得到的模塊結(jié)構(gòu)圖如圖所示。4、混合結(jié)構(gòu)的分析
在規(guī)模較大的實際系統(tǒng)中,其數(shù)據(jù)流圖往往是變換型和事務型的混合結(jié)構(gòu),如圖所示。此時可把變換分析和事務分析應用在同一數(shù)據(jù)流圖的不同部分。例如,可以以“變換分析”為主,“事務分析”為輔進行設計。二、模塊結(jié)構(gòu)圖的改進模塊結(jié)構(gòu)的質(zhì)量標準在改進結(jié)構(gòu)圖時還應注意的問題(一)模塊結(jié)構(gòu)的質(zhì)量標準內(nèi)聚(凝聚)和耦合模塊的耦合方式模塊的內(nèi)聚方式1、模塊耦合和內(nèi)聚的概念一個模塊內(nèi)部的聯(lián)系稱為塊內(nèi)聯(lián)系,穿越模塊邊界的聯(lián)系稱為塊間聯(lián)系。耦合是表示模塊之間聯(lián)系的程度;內(nèi)聚則用來表示模塊內(nèi)部各成分之間的聯(lián)系程度。緊密耦合表示模塊之間聯(lián)系非常強,松散耦合表示模塊之間聯(lián)系比較弱,非耦合則表示模塊之間無任何聯(lián)系,是完全獨立的。模塊設計的標準:高內(nèi)聚低耦合2、模塊的耦合方式
數(shù)據(jù)耦合
控制耦合
非法耦合公共耦合內(nèi)容耦合(1)數(shù)據(jù)耦合如果兩個模塊之間的通信信息是若干數(shù)據(jù)項,則這種耦合方式稱為數(shù)據(jù)耦合。例如,為了計算實發(fā)工資,“計算工資”模塊必須把工資總額和扣款數(shù)傳輸給“計算實發(fā)工資”模塊,而“計算實發(fā)工資”模塊在算出實發(fā)工資后又送回到“計算工資”模塊。這種耦合對系統(tǒng)的影響比較小,是一種較好的耦合方式,但為了減少接口的復雜性,應盡量防止傳輸不必要的數(shù)據(jù)。(2)控制耦合如果兩個模塊之間傳輸?shù)男畔⑹强刂菩畔?,則該耦合稱為控制耦合。傳送的控制信息可分成兩類,一類是判定參數(shù),調(diào)用模塊通過該判定參數(shù)控制被調(diào)用模塊的工作方式,若判定參數(shù)出錯則導致被調(diào)用模塊按另一種方式工作。另一種是地址參數(shù),調(diào)用模塊直接轉(zhuǎn)向被調(diào)用模塊內(nèi)部的某一些地址,這時若改動一個模塊則必將影響另一模塊。因為控制耦合方式的耦合程度較高,應盡量避免采用地址參數(shù)的方式。(3)公共耦合多個模塊訪問同一個全局變量,或者多個模塊訪問統(tǒng)一全局性的數(shù)據(jù)結(jié)構(gòu)(4)內(nèi)容耦合兩個模塊之間,不經(jīng)過調(diào)用關系,彼此直接使用或修改對方的數(shù)據(jù)。3、模塊的內(nèi)聚方式功能內(nèi)聚順序內(nèi)聚通信內(nèi)聚過程內(nèi)聚邏輯內(nèi)聚巧合內(nèi)聚耦合度性能低好高壞(1)功能內(nèi)聚功能內(nèi)聚表示模塊中各成分的聯(lián)系是功能性的,即一個模塊執(zhí)行一個功能,且完成該功能所必須的全部成分都包含在模塊中。例如,計算工資、打印月報表等。由于這類模塊的功能明確、模塊間的耦合簡單,所以便于維護。我們在系統(tǒng)設計時應力求按功能劃分模塊。(2)順序內(nèi)聚順序內(nèi)聚是指模塊中各成分有順序關系,某一成分的輸出是另一成分的輸入。例如,“錄入和匯總”模塊、“統(tǒng)計和打印”模塊都是順序內(nèi)聚模塊。順序內(nèi)聚的模塊中有可能包含幾個功能,因而會給維護帶來不便。(3)通信內(nèi)聚通信內(nèi)聚是指模塊中各成分引用或產(chǎn)生共同的數(shù)據(jù)。例如報表打印模塊,各成分都從若干共同的數(shù)據(jù)來源接收數(shù)據(jù),然后轉(zhuǎn)換、匯總并打印出各種報表。(4)過程內(nèi)聚過程內(nèi)聚是指一個模塊內(nèi)各組成部分的處理動作各不相同,彼此也沒有什么關系,但他們受同一個控制流支配,決定他們的執(zhí)行次序。過程內(nèi)聚是由一段公共的處理過程組合成的模塊。例如,把處理過程中的所有循環(huán)部分,判定部分和順序執(zhí)行部分劃分到一個模塊,則它們都是過程內(nèi)聚的,過程內(nèi)聚的內(nèi)部結(jié)構(gòu)一般是由程序流程圖直接演變出來的。顯然,采用過程內(nèi)聚時,模塊間的耦合度比較高。(5)邏輯內(nèi)聚邏輯內(nèi)聚是指模塊各成分的邏輯功能是相似的。例如,把系統(tǒng)中與“輸出”有關的操作抽取出來組成一個模塊,包括將數(shù)據(jù)在屏幕上顯示、從打印機上打印、拷貝到磁盤上等,則該模塊就是邏輯內(nèi)聚的。邏輯內(nèi)聚的內(nèi)聚程度稍強于巧合內(nèi)聚,但仍不利于修改和維護。(6)巧合內(nèi)聚巧合內(nèi)聚是指模塊各成分之間毫無聯(lián)系整個模塊如同一盤散沙,不易修改或維護。4、耦合和內(nèi)聚的關系一般說來,在系統(tǒng)中各模塊的內(nèi)聚越大,則模塊間的耦合越小。但這種關系并不是絕對的。耦合小使得模塊間盡可能相對獨立,從而各模塊可以單獨開發(fā)和維護。內(nèi)聚大使得模塊的可理解性和維護性大大增強。(二)在改進結(jié)構(gòu)圖時還應注意的問題作用范圍與控制范圍模塊的扇入和扇出數(shù)模塊分解和模塊的大小消除重復的功能補充、完善和修改1、作用范圍與控制范圍
分析判定的作用范圍和模塊的控制范圍之間的關系,可以較好地處理系統(tǒng)的模塊關系,合理地分解模塊。因此,在分解模塊時應該滿足以下要求:判定的作用范圍應該在判定所在模塊的控制范圍之內(nèi)判定所在模塊在模塊層次結(jié)構(gòu)中的位置不能太高
根據(jù)以上兩點可知,最理想的模塊分解是判定范圍由判定所在模塊及其直接下層模塊組成。一個判定的作用范圍是指所有受這個判定影響的模塊。按照規(guī)定:若模塊中只有一小部分加工依賴于某個規(guī)定,則該模塊僅僅本身屬于這個判定的作用范圍;若整個模塊的執(zhí)行取決于這個判定,則該模塊的調(diào)用模塊也屬于這個判定作用范圍。一個模塊的控制范圍是指模塊本身及其所有的下屬模塊。MAGBCDFE當出現(xiàn)作用范圍不在控制范圍之內(nèi)時,可以用以下措施糾正:把判定所在的模塊合并至上層模塊中,或從低層模塊移到高層模塊使判定的位置提高;把受判定影響的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中職第二學年(畜牧獸醫(yī))動物疫病防治2026年階段測試題及答案
- 2025年大學地理信息科學(地理信息系統(tǒng)設計)試題及答案
- 2025年高職導游服務(應急事件處理)試題及答案
- 高二地理(人口城市)2025-2026年上學期期末測試卷
- 高職第一學年(機械設計制造及其自動化)機械設計基礎2026年階段測試題
- 深度解析(2026)《GBT 18227-2000航空貨運集裝板 技術條件和試驗方法》(2026年)深度解析
- 深度解析(2026)《GBT 18114.3-2010稀土精礦化學分析方法 第3部分:氧化鈣量的測定》
- 深度解析(2026)《GBT 17546.1-1998信息技術 開放系統(tǒng)互連 無連接表示協(xié)議 第1部分協(xié)議規(guī)范》(2026年)深度解析
- 鋼筋混凝土結(jié)構(gòu)耐久性檢測規(guī)范
- 河北科技學院《機械精度設計》2025-2026學年第一學期期末試卷
- 2025廣西柳州城市職業(yè)學院人才招聘28人(公共基礎知識)測試題附答案解析
- 22064,22877,23041,11041,59969《管理學基礎》國家開放大學期末考試題庫
- 加盟連鎖經(jīng)營政策分析與實施方案
- 電纜路徑檢測協(xié)議書
- 《烹飪工藝學》期末考試復習題庫(附答案)
- 片區(qū)供熱管網(wǎng)連通工程可行性研究報告
- 課件《法律在我身邊》
- 2025年文職倉庫保管員考試題及答案
- 2025年重慶市大渡口區(qū)事業(yè)單位考試試題
- 管道施工圍擋施工方案
- 《軍用關鍵軟硬件自主可控產(chǎn)品名錄》(2025年v1版)
評論
0/150
提交評論