第 7章-結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)_第1頁(yè)
第 7章-結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)_第2頁(yè)
第 7章-結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)_第3頁(yè)
第 7章-結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)_第4頁(yè)
第 7章-結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩155頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)本章主要內(nèi)容 系統(tǒng)設(shè)計(jì)的任務(wù) 總體設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)的概念、基本原則從數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖 詳細(xì)設(shè)計(jì)代碼設(shè)計(jì)輸出設(shè)計(jì)輸入設(shè)計(jì)人機(jī)對(duì)話設(shè)計(jì)模塊詳細(xì)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)、網(wǎng)絡(luò)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)說明書轉(zhuǎn)換轉(zhuǎn)換從分析到設(shè)計(jì)現(xiàn)實(shí)領(lǐng)域的各種需求現(xiàn)實(shí)領(lǐng)域的各種需求計(jì)算機(jī)領(lǐng)域的具體實(shí)現(xiàn)計(jì)算機(jī)領(lǐng)域的具體實(shí)現(xiàn)針對(duì)需求,進(jìn)針對(duì)需求,進(jìn)行計(jì)算機(jī)信息行計(jì)算機(jī)信息系統(tǒng)的物理模系統(tǒng)的物理模型設(shè)計(jì)型設(shè)計(jì)7.1 系統(tǒng)設(shè)計(jì)的任務(wù) 通俗地說,設(shè)計(jì)就是要回答“怎么做” 完成技術(shù)實(shí)現(xiàn)方案的制定,即信息系統(tǒng)的物理模型一個(gè)邏輯模型,可以提出多個(gè)物理模型根據(jù)物理模型進(jìn)行實(shí)施,得到最終的物理系統(tǒng)設(shè)計(jì)系統(tǒng)之前,先看看評(píng)價(jià)信息系統(tǒng)的標(biāo)準(zhǔn),這

2、設(shè)計(jì)系統(tǒng)之前,先看看評(píng)價(jià)信息系統(tǒng)的標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)對(duì)任何設(shè)計(jì)方法都適用:些標(biāo)準(zhǔn)對(duì)任何設(shè)計(jì)方法都適用:1.1.信息系統(tǒng)的功能:信息系統(tǒng)的功能:是否滿足用戶的需求是否滿足用戶的需求2.2.系統(tǒng)的效率:系統(tǒng)的效率:響應(yīng)時(shí)間、操作的方便性響應(yīng)時(shí)間、操作的方便性3.3.系統(tǒng)的可靠性:系統(tǒng)的可靠性:抗干擾能力、故障恢復(fù)抗干擾能力、故障恢復(fù)4.4.系統(tǒng)的工作質(zhì)量:系統(tǒng)的工作質(zhì)量:準(zhǔn)確性、使用效果準(zhǔn)確性、使用效果5.5.系統(tǒng)的可變更性:系統(tǒng)的可變更性:修改和維護(hù)的難易程度修改和維護(hù)的難易程度6.6.系統(tǒng)的經(jīng)濟(jì)性:系統(tǒng)的經(jīng)濟(jì)性:系統(tǒng)收益與支出比系統(tǒng)收益與支出比7.1.1 設(shè)計(jì)標(biāo)準(zhǔn)信息系統(tǒng)的可變更性 變化是不變的真

3、理。 統(tǒng)計(jì)表示:在信息系統(tǒng)的整個(gè)生命周期中,系統(tǒng)維護(hù)成本占總成本的80%左右。 因此,可變更性是衡量信息系統(tǒng)設(shè)計(jì)的重要指標(biāo)。如何提高系統(tǒng)變更性 結(jié)構(gòu)簡(jiǎn)單系統(tǒng)各組成元素分工明確,易于理解元素之間的關(guān)系清晰簡(jiǎn)潔 變動(dòng)靈活軟件維護(hù)中的“水波效應(yīng)”使系統(tǒng)各組成元素內(nèi)部的改變?nèi)菀讓?shí)現(xiàn),改動(dòng)對(duì)其他部分的影響盡量減少提前考慮將來(lái)最易出現(xiàn)的擴(kuò)展和變更 設(shè)計(jì)方法:結(jié)構(gòu)化設(shè)計(jì)和面向?qū)ο笤O(shè)計(jì) 系統(tǒng)設(shè)計(jì)階段的主要工作總體設(shè)計(jì):根據(jù)邏輯模型,完成系統(tǒng)體系結(jié)構(gòu)(計(jì)算模式)、系統(tǒng)運(yùn)行平臺(tái)、系統(tǒng)的軟件結(jié)構(gòu)等設(shè)計(jì).詳細(xì)設(shè)計(jì):代碼設(shè)計(jì)代碼設(shè)計(jì)輸入設(shè)計(jì)輸入設(shè)計(jì)輸出設(shè)計(jì)輸出設(shè)計(jì)人機(jī)交互設(shè)計(jì)(用戶界面設(shè)計(jì))人機(jī)交互設(shè)計(jì)(用戶界面設(shè)計(jì))

4、模塊處理過程設(shè)計(jì)(模塊詳細(xì)設(shè)計(jì))模塊處理過程設(shè)計(jì)(模塊詳細(xì)設(shè)計(jì))數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 安全設(shè)計(jì) 系統(tǒng)設(shè)計(jì)的流程 圖 8.1 系 統(tǒng) 設(shè) 計(jì) 的 流 程 系 統(tǒng) 邏 輯 模 型 計(jì) 算 模 式 設(shè) 計(jì) 系 統(tǒng) 運(yùn) 行 平 臺(tái) 設(shè) 計(jì) 數(shù) 據(jù) 存 儲(chǔ) 設(shè) 計(jì) 用 戶 界 面 設(shè) 計(jì) 安 全 設(shè) 計(jì) 軟 件 設(shè) 計(jì) 編 寫 系 統(tǒng) 設(shè) 計(jì) 報(bào) 告 數(shù) 據(jù) 集 中 性 選 擇 系統(tǒng)運(yùn)行平臺(tái)的設(shè)計(jì)系統(tǒng)運(yùn)行平臺(tái)的設(shè)計(jì) 設(shè)計(jì)內(nèi)容:系統(tǒng)網(wǎng)絡(luò)配置、硬件平臺(tái)選擇、軟件平臺(tái)選擇等。 影響系統(tǒng)運(yùn)行平臺(tái)設(shè)計(jì)的因素 系統(tǒng)軟件、實(shí)用軟件的選型 軟件選型原則 符合開放式系統(tǒng)的發(fā)展大方向符合開放式系統(tǒng)的發(fā)展大方向有必要和足夠的

5、軟件工具支持有必要和足夠的軟件工具支持 對(duì)新技術(shù)的支持能力對(duì)新技術(shù)的支持能力 較低購(gòu)買的成本較低購(gòu)買的成本 系統(tǒng)軟件、實(shí)用軟件的選型 軟件選型的內(nèi)容操作系統(tǒng)操作系統(tǒng) 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) 開發(fā)語(yǔ)言開發(fā)語(yǔ)言/工具工具 (1)開放性)開放性 (2)易用性)易用性 (3)面向?qū)ο笮裕┟嫦驅(qū)ο笮?(4)支持團(tuán)隊(duì)開發(fā))支持團(tuán)隊(duì)開發(fā) 系統(tǒng)硬件選型原則立足于通用機(jī)型立足于通用機(jī)型 滿足應(yīng)用的速度要求滿足應(yīng)用的速度要求 統(tǒng)一的標(biāo)準(zhǔn)統(tǒng)一的標(biāo)準(zhǔn) 具有支持所選擇的軟件平臺(tái)的能力具有支持所選擇的軟件平臺(tái)的能力 設(shè)備配置服務(wù)器服務(wù)器 可管理性、可用性、容錯(cuò)性可管理性、可用性、容錯(cuò)性網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備 網(wǎng)絡(luò)結(jié)構(gòu)、傳

6、輸介質(zhì)、互聯(lián)設(shè)備網(wǎng)絡(luò)結(jié)構(gòu)、傳輸介質(zhì)、互聯(lián)設(shè)備外部設(shè)備的配置外部設(shè)備的配置 包括各種輸入輸出設(shè)備包括各種輸入輸出設(shè)備 安全設(shè)施的選擇安全設(shè)施的選擇 不間斷電源、防雷設(shè)施、安全加密設(shè)施不間斷電源、防雷設(shè)施、安全加密設(shè)施7.2 結(jié)構(gòu)化設(shè)計(jì)的概念 結(jié)構(gòu)化:自上至下,逐步分解求精 結(jié)構(gòu)化設(shè)計(jì):模塊化模塊化模塊化的基本思想使用結(jié)構(gòu)化設(shè)計(jì)方法一定程度上能夠簡(jiǎn)化系統(tǒng)結(jié)構(gòu),使系統(tǒng)容易修改和理解。具體做法:把整個(gè)軟件劃分為多個(gè)部分,其中每一部分的功能簡(jiǎn)單明確,即程序模塊(可以是子過程或函數(shù))劃分模塊的工作按層次進(jìn)行,上層模塊調(diào)用下層模塊每一個(gè)模塊應(yīng)盡可能獨(dú)立模塊間的調(diào)用接口要闡明(模塊名稱、輸入數(shù)據(jù)、輸出數(shù)據(jù))接

7、口成本接口成本成本成本模塊數(shù)量模塊數(shù)量單元模塊成本單元模塊成本軟件總成本軟件總成本模塊數(shù)量和軟件成本 粒度太大,單個(gè)模塊復(fù)雜度升高、維護(hù)困難粒度太大,單個(gè)模塊復(fù)雜度升高、維護(hù)困難 粒度太小,管理與運(yùn)行成本升高粒度太小,管理與運(yùn)行成本升高試想一下:每個(gè)經(jīng)理管理協(xié)調(diào)多少個(gè)下級(jí)合適?試想一下:每個(gè)經(jīng)理管理協(xié)調(diào)多少個(gè)下級(jí)合適?7.2.1 模塊的概念 模塊(Module)一詞使用很廣泛。通常對(duì)應(yīng)于用一個(gè)名字就可以調(diào)用的一段程序語(yǔ)句(子程序或函數(shù)) 模塊具有輸入和輸出、邏輯功能、運(yùn)行程序、內(nèi)部數(shù)據(jù)四種屬性。計(jì)算工資計(jì)算工資模塊的圖形表示方法模塊的圖形表示方法7.2.2 模塊結(jié)構(gòu)圖 結(jié)構(gòu)圖結(jié)構(gòu)圖(Struc

8、tured Chart)描述系統(tǒng)的模塊結(jié)描述系統(tǒng)的模塊結(jié)構(gòu)及模塊間的聯(lián)系構(gòu)及模塊間的聯(lián)系 結(jié)構(gòu)圖中的主要成分有:模塊:模塊:用長(zhǎng)方形表示用長(zhǎng)方形表示調(diào)用:調(diào)用:從一個(gè)模塊指向另一模塊的箭頭表示前一從一個(gè)模塊指向另一模塊的箭頭表示前一個(gè)模塊調(diào)用后一個(gè)模塊。有循環(huán)調(diào)用和條件調(diào)用個(gè)模塊調(diào)用后一個(gè)模塊。有循環(huán)調(diào)用和條件調(diào)用數(shù)據(jù):數(shù)據(jù):用帶圓圈的小箭頭表示從一個(gè)模塊傳遞給用帶圓圈的小箭頭表示從一個(gè)模塊傳遞給另一模塊的數(shù)據(jù)(有實(shí)義)另一模塊的數(shù)據(jù)(有實(shí)義)控制信息:控制信息:帶涂黑圓圈的小箭頭表示一個(gè)模塊傳帶涂黑圓圈的小箭頭表示一個(gè)模塊傳送給另一模塊的控制信息送給另一模塊的控制信息結(jié)構(gòu)圖基本符號(hào)A AB

9、BC CB BA AA AB BC CB BA A(a)基本形式基本形式(b)順序順序(c)選擇選擇(d)循環(huán)循環(huán)計(jì)算獲得有效數(shù)據(jù)生成報(bào)表打印報(bào)表獲得編輯數(shù)據(jù)核對(duì)數(shù)據(jù)打印表頭打印表尾讀入數(shù)據(jù)編輯數(shù)據(jù)顯示無(wú)效數(shù)據(jù)打印一行有效數(shù)據(jù)EOF編輯數(shù)據(jù)EOF有效數(shù)據(jù)編輯數(shù)據(jù)有效數(shù)據(jù)結(jié)果編輯數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)EOFEOF結(jié)果日期行行行總計(jì)一個(gè)完整的結(jié)構(gòu)圖模塊設(shè)計(jì)的度量標(biāo)準(zhǔn) 為了衡量模塊的相對(duì)獨(dú)立性,提出了模塊間的耦合(Coupling)與模塊的內(nèi)聚(Cohesion)兩個(gè)標(biāo)準(zhǔn)耦合:模塊和模塊之間的聯(lián)系程度內(nèi)聚:模塊內(nèi)部各元素之間的聯(lián)系程度 設(shè)計(jì)目標(biāo):模塊間的聯(lián)系越少越好模塊內(nèi)的聯(lián)系越緊越好為什么?影響耦合度的因素

10、 如果使用模塊A需要了解模塊B,那么A和B是耦合的。影響模塊間耦合程度有三方面的因素:聯(lián)系方式模塊間通過什么方式聯(lián)系來(lái)往信息的作用模塊間來(lái)往信息作什么用數(shù)量模塊間來(lái)往信息的多少。混合混合控制控制數(shù)據(jù)數(shù)據(jù) 用過程用過程 直接引用直接引用語(yǔ)句調(diào)用語(yǔ)句調(diào)用少少多多數(shù)量數(shù)量方式方式作用作用0 0離坐標(biāo)原點(diǎn)越遠(yuǎn),離坐標(biāo)原點(diǎn)越遠(yuǎn),耦合程度越高耦合程度越高模塊聯(lián)系方式 直接引用:一個(gè)模塊直接存取另一個(gè)模塊的某些信息,例如全程變量、FORTRAN的common量、語(yǔ)言的extern量、共享的通信區(qū)等 。也稱為公共環(huán)境耦合(common environment coupling) 降低這種耦合程度的辦法是使數(shù)據(jù)

11、局部化,即使用局部變量 過程語(yǔ)句調(diào)用:一個(gè)模塊調(diào)用另一個(gè)模塊,所有數(shù)據(jù)來(lái)往都以參數(shù)或返回值方式傳遞并使用來(lái)往信息的作用 模塊間的來(lái)往信息可以作數(shù)據(jù)用,也可以作控制信息用A A取平均成績(jī)?nèi)∑骄煽?jī)或最高成績(jī)或最高成績(jī)平均平均/ /最高最高B B(a)(a)控制耦合控制耦合成績(jī)成績(jī)?nèi)∽罡叱煽?jī)?nèi)∽罡叱煽?jī)?nèi)∑骄煽?jī)?nèi)∑骄煽?jī)A A平均成績(jī)平均成績(jī)最高成績(jī)最高成績(jī)(b)(b)數(shù)據(jù)耦合數(shù)據(jù)耦合來(lái)往信息的數(shù)量 模塊間傳遞的信息量越大,它們之間的耦合程度越高。 一個(gè)模塊最好只了解它確實(shí)需要使用的數(shù)據(jù),而完全不知道其他數(shù)據(jù)的存在(獨(dú)立性好)耦合的類型根據(jù)以上因素,對(duì)耦合分類如下:數(shù)據(jù)耦合:采用子程序調(diào)用,調(diào)用模

12、塊將需要進(jìn)行處理的數(shù)據(jù)傳遞給被調(diào)模塊。數(shù)據(jù)耦合是不可避免的。標(biāo)記耦合:如果調(diào)用模塊將整個(gè)數(shù)據(jù)記錄傳遞給被調(diào)模塊,而被調(diào)模塊只使用了部分?jǐn)?shù)據(jù)項(xiàng),則稱為標(biāo)記耦合或特征耦合??刂岂詈希阂粋€(gè)模塊將控制信息傳遞給另一個(gè)模塊,以控制被調(diào)模塊的內(nèi)部處理邏輯。(可以分解)公共環(huán)境耦合:如果兩個(gè)模塊共享同一全局?jǐn)?shù)據(jù),稱為公共耦合。內(nèi)容耦合:兩個(gè)模塊之間的內(nèi)部屬性有直接關(guān)聯(lián),也稱病態(tài)耦合。(某些GOTO語(yǔ)句)減低耦合的設(shè)計(jì)原則結(jié)構(gòu)化設(shè)計(jì)要求模塊間的耦合程度盡可能小。 為此應(yīng):用過程語(yǔ)句調(diào)用其他模塊模塊間的參數(shù)作數(shù)據(jù)用模塊間的參數(shù)盡可能少7.2.4 模塊的內(nèi)聚 模塊的內(nèi)聚反映模塊內(nèi)部聯(lián)系的緊密程度。 一個(gè)模塊只需要

13、做好一件事情,不要過分關(guān)心其他任務(wù)。 高內(nèi)聚性的好處是可以提高程序的可靠性。有一個(gè)調(diào)查表明,50的強(qiáng)內(nèi)聚性子程序是沒有錯(cuò)誤的,而只有 18的弱內(nèi)聚性子程序才是無(wú)錯(cuò)的,弱內(nèi)聚性子程序的出錯(cuò)機(jī)會(huì)要比強(qiáng)內(nèi)聚性出錯(cuò)機(jī)會(huì)高 6 倍,而修正成本則要高 19 倍。代碼大全內(nèi)聚的類型 模塊的內(nèi)聚可以分以下七類:. 偶然內(nèi)聚(coincidental cohesion). 邏輯內(nèi)聚(logical cohesion). 時(shí)間內(nèi)聚(temporal cohesion). 步驟內(nèi)聚(procedural cohesion). 通信內(nèi)聚(communicational cohesion). 順序內(nèi)聚(sequenti

14、al cohesion). 功能內(nèi)聚(functional cohesion)當(dāng)同一個(gè)子程序中的操作之間無(wú)任何聯(lián)系時(shí),當(dāng)同一個(gè)子程序中的操作之間無(wú)任何聯(lián)系時(shí),為偶然內(nèi)聚性,也叫作為偶然內(nèi)聚性,也叫作“無(wú)內(nèi)聚性無(wú)內(nèi)聚性”。比如只是為了將程序中某幾處湊巧相同的一些語(yǔ)比如只是為了將程序中某幾處湊巧相同的一些語(yǔ)句組合起來(lái)形成的一個(gè)模塊:句組合起來(lái)形成的一個(gè)模塊:P PQ QR RS S1、偶然內(nèi)聚 B=A; read(Cardfile); D=C;T T將幾個(gè)邏輯上相似的功能放在一個(gè)模塊中將幾個(gè)邏輯上相似的功能放在一個(gè)模塊中 準(zhǔn)備準(zhǔn)備算平均成績(jī)算平均成績(jī)算最高成績(jī)算最高成績(jī)返返 回回Y Y取平均成績(jī)?nèi)?/p>

15、平均成績(jī)?N N比如常見的出錯(cuò)處理模塊,工作模塊發(fā)現(xiàn)錯(cuò)誤后,調(diào)用比如常見的出錯(cuò)處理模塊,工作模塊發(fā)現(xiàn)錯(cuò)誤后,調(diào)用錯(cuò)誤處理模塊,將錯(cuò)誤號(hào)作為控制參數(shù)傳入,然后出錯(cuò)錯(cuò)誤處理模塊,將錯(cuò)誤號(hào)作為控制參數(shù)傳入,然后出錯(cuò)處理模塊根據(jù)不同的錯(cuò)誤號(hào)執(zhí)行相應(yīng)的操作處理模塊根據(jù)不同的錯(cuò)誤號(hào)執(zhí)行相應(yīng)的操作 2、邏輯內(nèi)聚將在有限時(shí)間單元內(nèi)處理的成分組合為同一將在有限時(shí)間單元內(nèi)處理的成分組合為同一模塊模塊比如在程序初始化時(shí)所作的處理:比如在程序初始化時(shí)所作的處理: m_Medirecno = psPerson.Medirecno txtMedirecno = psPerson.Medirecno txtTel = ps

16、Person.Tel txtContact = psPerson.Contact txtAddr = psPerson.Addr txtMedirecno.Enabled = False 可視化程序設(shè)計(jì)中在窗口打開時(shí)初始化窗口中得控件內(nèi)容,可視化程序設(shè)計(jì)中在窗口打開時(shí)初始化窗口中得控件內(nèi)容,如列表框的項(xiàng)目、文本框或單選鈕的缺省取值如列表框的項(xiàng)目、文本框或單選鈕的缺省取值 還比如:還比如:C+的構(gòu)造函數(shù)、析構(gòu)函數(shù)的構(gòu)造函數(shù)、析構(gòu)函數(shù)3、時(shí)間內(nèi)聚4、步驟內(nèi)聚 當(dāng)子程序中的操作是按某一特定過程結(jié)構(gòu)進(jìn)行的,就是步驟內(nèi)聚。例如:用戶想按一定的順序打印,子程序設(shè)計(jì)成是用于按順序打印銷售收入、開支、雇員電話

17、表的。 步驟內(nèi)聚在時(shí)間內(nèi)聚的基礎(chǔ)上增加了次序的約束當(dāng)模塊內(nèi)的成分引用共同的數(shù)據(jù),而不存在當(dāng)模塊內(nèi)的成分引用共同的數(shù)據(jù),而不存在其他聯(lián)系時(shí),稱為通信內(nèi)聚其他聯(lián)系時(shí),稱為通信內(nèi)聚修改庫(kù)存修改庫(kù)存購(gòu)貨單購(gòu)貨單開發(fā)貨單開發(fā)貨單庫(kù)存庫(kù)存A A、銷售模塊、銷售模塊B B 、產(chǎn)生留退名單模塊、產(chǎn)生留退名單模塊期末不及格統(tǒng)計(jì)期末不及格統(tǒng)計(jì)累計(jì)不及格統(tǒng)計(jì)累計(jì)不及格統(tǒng)計(jì)留退名單留退名單學(xué)籍表學(xué)籍表5、通信內(nèi)聚模塊中某個(gè)成分的輸出是另一成分的輸入。模塊中某個(gè)成分的輸出是另一成分的輸入。比如顯示期末成績(jī)通知:比如顯示期末成績(jī)通知:讀讀入入學(xué)學(xué)號(hào)號(hào)讀讀取取成成績(jī)績(jī)?nèi)∪〔徊患凹案窀窨瓶颇磕咳∪】瓶颇磕垦a(bǔ)補(bǔ)考考安安排排顯顯

18、示示數(shù)數(shù)據(jù)據(jù)判判斷斷留留退退級(jí)級(jí)6、順序內(nèi)聚6、順序內(nèi)聚 順序內(nèi)聚有較強(qiáng)的內(nèi)聚性 是步驟內(nèi)聚和通信內(nèi)聚的結(jié)合例如:一個(gè)模塊用于計(jì)算高于平均分的人數(shù),步驟是先循環(huán)累計(jì)總分,然后計(jì)算得到平均分,最后循環(huán)統(tǒng)計(jì)高于平均分的人數(shù)有步驟的先后,而且前一個(gè)步驟的結(jié)果要用于后一步驟的運(yùn)算中 但仍然不是最高的內(nèi)聚類型7、功能內(nèi)聚 一個(gè)模塊包括并且僅僅包括為完成一個(gè)具體任務(wù)所需要的所有成分,稱為功能內(nèi)聚。 功能內(nèi)聚性是最強(qiáng)也是最好的一種內(nèi)聚例如:打印職工名單,PrintStaffList()例如:計(jì)算平均分,CalculateAvg() 僅用一個(gè)動(dòng)賓詞組能明確指出這個(gè)模塊的所有功能。內(nèi)聚的評(píng)分 耦合和內(nèi)聚的概念是

19、Stevens等人提出的, 是測(cè)量一個(gè)模塊化系統(tǒng)好壞的標(biāo)志。 按他們的觀點(diǎn), 給上述七種內(nèi)聚評(píng)分如下:功能內(nèi)聚分順序內(nèi)聚分通信內(nèi)聚分步驟內(nèi)聚分時(shí)間內(nèi)聚分邏輯內(nèi)聚分偶然內(nèi)聚分 可以給一個(gè)軟件的所有模塊打分,最后計(jì)算平均分,作為軟件結(jié)構(gòu)質(zhì)量評(píng)價(jià)的參考耦合和內(nèi)聚的關(guān)系 二者就像連體兄弟,存在緊密相關(guān)的關(guān)系:模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合反之,低內(nèi)聚一般會(huì)帶來(lái)緊耦合7.2.6 模塊的扇入與扇出 模塊的扇入是指有多少個(gè)上級(jí)模塊調(diào)用它。 模塊的扇出是指模塊的直屬下層模塊的個(gè)數(shù),扇出系數(shù)不宜過大A A的扇出為的扇出為2 2A AB BC CB B1 1C1C1C2C2C3C3B B的扇出為的扇出為1

20、 1C C的扇出為的扇出為3 3T TT T的扇入為的扇入為2 2減少高扇出,爭(zhēng)取高扇入減少高扇出,爭(zhēng)取高扇入清真寺型清真寺型不夠好不夠好,底層模塊復(fù)用度低底層模塊復(fù)用度低金字塔型金字塔型總體設(shè)計(jì)原則 設(shè)計(jì)功能內(nèi)聚的模塊 模塊使用過程語(yǔ)句調(diào)用其他模塊,傳遞的參數(shù)作數(shù)據(jù)用,并且盡可能少 模塊內(nèi)語(yǔ)句數(shù)一般為50100 平均扇出系數(shù)最好是35 高層模塊高扇出,最低層模塊高扇入 一個(gè)判斷的作用范圍是判斷所在模塊的控制范圍的子集7.3 數(shù)據(jù)流圖導(dǎo)出初始結(jié)構(gòu)圖數(shù)據(jù)流圖導(dǎo)出初始結(jié)構(gòu)圖n從數(shù)據(jù)流程圖導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖,首先要區(qū)分?jǐn)?shù)據(jù)流程圖的結(jié)構(gòu)類型,然后根據(jù)不同的類型采用不同的方法把數(shù)據(jù)流圖映象成相應(yīng)的模塊

21、結(jié)構(gòu)。n 數(shù)據(jù)流程圖DFD的結(jié)構(gòu)類型(1)變換型DFD一個(gè)數(shù)據(jù)流程圖可以明顯地分成輸入、處理和輸出三部分。(2)事務(wù)型DFD事務(wù)型數(shù)據(jù)流程圖一般呈束狀形。(1) (1) 變換型結(jié)構(gòu)變換型結(jié)構(gòu)n由輸入、變換中心由輸入、變換中心( (或稱主加工或稱主加工) )和輸出三部分組成。和輸出三部分組成。n基本模型:基本模型:變換變換中心中心輸入輸入路徑路徑輸出輸出路徑路徑變換型數(shù)據(jù)流圖變換型數(shù)據(jù)流圖輸入輸入信息信息物理物理輸入輸入格式格式檢查檢查處理處理顯示顯示正確正確信息信息結(jié)果結(jié)果物理物理輸出輸出數(shù)據(jù)數(shù)據(jù)變換中心變換中心輸出輸出邏輯邏輯輸入輸入邏輯邏輯輸出輸出輸入輸入(2) (2) 事務(wù)型結(jié)構(gòu)事務(wù)型結(jié)

22、構(gòu)特征特征:具有在多種事物中選擇:具有在多種事物中選擇 執(zhí)行某類事物的能力執(zhí)行某類事物的能力基本模型:基本模型:事務(wù)事務(wù)中心中心接受路徑接受路徑動(dòng)作動(dòng)作路徑路徑(3)(3)大型系統(tǒng)大型系統(tǒng)DFDDFD中中, ,變換型和事變換型和事務(wù)型結(jié)構(gòu)往往共存務(wù)型結(jié)構(gòu)往往共存: :T T事務(wù)中心事務(wù)中心傳入傳入變換變換傳出傳出(二二)DFD導(dǎo)出初始導(dǎo)出初始SC的過程的過程 兩種轉(zhuǎn)換策略兩種轉(zhuǎn)換策略/ /技術(shù)技術(shù) 變換分析變換分析 事務(wù)分析事務(wù)分析 一般過程一般過程 先設(shè)計(jì)模塊結(jié)構(gòu)頂端的主模塊先設(shè)計(jì)模塊結(jié)構(gòu)頂端的主模塊 然后然后“由頂向下逐步細(xì)化由頂向下逐步細(xì)化” 最后得到一個(gè)最后得到一個(gè)與數(shù)據(jù)流圖相對(duì)應(yīng)與數(shù)

23、據(jù)流圖相對(duì)應(yīng)的程序結(jié)構(gòu)的程序結(jié)構(gòu)變換型DFD事務(wù)型DFD初始SC初始SC變換分析事務(wù)分析“由頂向下逐步細(xì)化由頂向下逐步細(xì)化”的思想的思想 找出找出“頂頂”在哪里,設(shè)計(jì)一個(gè)相應(yīng)的主控模塊在哪里,設(shè)計(jì)一個(gè)相應(yīng)的主控模塊 每創(chuàng)建一個(gè)新的模塊時(shí),必須決定該模塊的外部特征每創(chuàng)建一個(gè)新的模塊時(shí),必須決定該模塊的外部特征 該模塊的功能,即該模塊該模塊的功能,即該模塊“做什么做什么” 該模塊同其調(diào)用模塊的界面,即調(diào)用時(shí)傳送的參該模塊同其調(diào)用模塊的界面,即調(diào)用時(shí)傳送的參數(shù)數(shù) 對(duì)已創(chuàng)建的模塊進(jìn)行細(xì)化,考慮這個(gè)模塊應(yīng)該對(duì)已創(chuàng)建的模塊進(jìn)行細(xì)化,考慮這個(gè)模塊應(yīng)該“怎樣怎樣做做”才能完成它的功能才能完成它的功能, ,于是

24、又要?jiǎng)?chuàng)建下一層的新模于是又要?jiǎng)?chuàng)建下一層的新模塊塊, ,再回到上一步再回到上一步 通過這樣通過這樣“先決定做什么先決定做什么, ,再考慮怎樣再考慮怎樣 做做”, ,循環(huán)循環(huán)往復(fù)往復(fù), ,設(shè)計(jì)過程就有序地進(jìn)行設(shè)計(jì)過程就有序地進(jìn)行, , 直至獲得整個(gè)完整的直至獲得整個(gè)完整的結(jié)構(gòu)層次。結(jié)構(gòu)層次。變換型變換型事務(wù)型事務(wù)型(三)變換分析設(shè)計(jì)方法(三)變換分析設(shè)計(jì)方法步驟:步驟:1 1 找出主加工、邏輯輸入和邏輯輸出找出主加工、邏輯輸入和邏輯輸出2 2 設(shè)計(jì)模塊結(jié)構(gòu)的頂層和第一層設(shè)計(jì)模塊結(jié)構(gòu)的頂層和第一層3 3 設(shè)計(jì)中、下層模塊設(shè)計(jì)中、下層模塊1 1 區(qū)分輸入、主加工、輸出部區(qū)分輸入、主加工、輸出部分,在分

25、,在DFDDFD上標(biāo)明分界線上標(biāo)明分界線(1)(1)確定確定邏輯輸入邏輯輸入離物理輸入端最遠(yuǎn)的,離物理輸入端最遠(yuǎn)的,但仍可被看作系統(tǒng)輸入的那個(gè)數(shù)據(jù)流但仍可被看作系統(tǒng)輸入的那個(gè)數(shù)據(jù)流 方法方法:從物理輸入端開始,一步步向系統(tǒng)的:從物理輸入端開始,一步步向系統(tǒng)的中間移動(dòng),直至達(dá)到這樣一個(gè)數(shù)據(jù)流:它已中間移動(dòng),直至達(dá)到這樣一個(gè)數(shù)據(jù)流:它已不能再被看作為系統(tǒng)的輸入,則其前一個(gè)數(shù)不能再被看作為系統(tǒng)的輸入,則其前一個(gè)數(shù)據(jù)流就是系統(tǒng)的邏輯輸入。據(jù)流就是系統(tǒng)的邏輯輸入。(2)(2)確定確定邏輯輸出邏輯輸出離物理輸出端最遠(yuǎn)的,但離物理輸出端最遠(yuǎn)的,但仍可被看作系統(tǒng)輸出的那個(gè)數(shù)據(jù)流仍可被看作系統(tǒng)輸出的那個(gè)數(shù)據(jù)流

26、方法:從物理輸出端開始,一步步向系統(tǒng)的中方法:從物理輸出端開始,一步步向系統(tǒng)的中間反方向移動(dòng),直至達(dá)到這樣一個(gè)數(shù)據(jù)流:它間反方向移動(dòng),直至達(dá)到這樣一個(gè)數(shù)據(jù)流:它已不能再被看作為系統(tǒng)的輸出,則其后一個(gè)數(shù)已不能再被看作為系統(tǒng)的輸出,則其后一個(gè)數(shù)據(jù)流就是系統(tǒng)的邏輯輸出。據(jù)流就是系統(tǒng)的邏輯輸出。(3)對(duì)系統(tǒng)的每一股輸入和輸出,都用上對(duì)系統(tǒng)的每一股輸入和輸出,都用上 面面的方法找出相應(yīng)的邏輯輸入、輸出的方法找出相應(yīng)的邏輯輸入、輸出(4)確定確定主加工主加工位于邏輯輸入和邏輯輸位于邏輯輸入和邏輯輸出之間的加工,就是系統(tǒng)的主加工出之間的加工,就是系統(tǒng)的主加工(5)(5)幾點(diǎn)說明:幾點(diǎn)說明: 根據(jù)經(jīng)驗(yàn),幾股數(shù)

27、據(jù)流的匯合處往往是根據(jù)經(jīng)驗(yàn),幾股數(shù)據(jù)流的匯合處往往是 系統(tǒng)的主加工系統(tǒng)的主加工 每個(gè)人都可以有自己的看法,找出來(lái)的主加工可每個(gè)人都可以有自己的看法,找出來(lái)的主加工可能也不同,但一般不會(huì)相差太遠(yuǎn)。能也不同,但一般不會(huì)相差太遠(yuǎn)。變換中心變換中心1 12 23 34 45 56 67 7a ab bc ce ed dr rp pu uw wv v輸入輸入部分部分輸出輸出部分部分2 2 設(shè)計(jì)設(shè)計(jì)SCSC的頂層和第一層模塊:的頂層和第一層模塊:(1) (1) 設(shè)計(jì)一個(gè)頂層模塊設(shè)計(jì)一個(gè)頂層模塊( (主模塊主模塊) ),它的功能是完成整個(gè)程,它的功能是完成整個(gè)程序要做的工作。序要做的工作。(2) (2) 設(shè)

28、計(jì)結(jié)構(gòu)的第一層:設(shè)計(jì)結(jié)構(gòu)的第一層: 為邏輯輸入設(shè)計(jì)一個(gè)輸入模塊,它的功能是向主模塊提為邏輯輸入設(shè)計(jì)一個(gè)輸入模塊,它的功能是向主模塊提供數(shù)據(jù)供數(shù)據(jù) 為邏輯輸出設(shè)計(jì)一個(gè)輸出模塊,它的功能是輸出主模塊為邏輯輸出設(shè)計(jì)一個(gè)輸出模塊,它的功能是輸出主模塊提供的數(shù)據(jù)提供的數(shù)據(jù) 為主加工設(shè)計(jì)一個(gè)變換模塊,它的功能是將邏輯輸入變?yōu)橹骷庸ぴO(shè)計(jì)一個(gè)變換模塊,它的功能是將邏輯輸入變換成邏輯輸出換成邏輯輸出 第一層模塊同頂層主模塊之間傳送的數(shù)據(jù)應(yīng)與數(shù)據(jù)流第一層模塊同頂層主模塊之間傳送的數(shù)據(jù)應(yīng)與數(shù)據(jù)流圖相對(duì)應(yīng)。這里主模塊控制并協(xié)調(diào)一層的輸入、變換、圖相對(duì)應(yīng)。這里主模塊控制并協(xié)調(diào)一層的輸入、變換、輸出模塊的工作,注意識(shí)別出

29、選擇或循環(huán)調(diào)用以及調(diào)用輸出模塊的工作,注意識(shí)別出選擇或循環(huán)調(diào)用以及調(diào)用條件。條件。第一級(jí)分解后的第一級(jí)分解后的SCSCM MC CM MT TM MA AM ME E第一層第一層頂層頂層c,ec,ec,ec,e u,wu,wu,wu,w傳送信息傳送信息第一級(jí)分解后的第一級(jí)分解后的SC(SC(另一種畫法另一種畫法) )M MC CM MA1A1c ce eu,wu,wc,pc,pM MA2A24 45 56 6M ME1E1M ME2E2e ep pr rr rw,uw,uw w3 3 第二級(jí)分解第二級(jí)分解( (分解分解SCSC各分支各分支) )自頂向下分解,設(shè)自頂向下分解,設(shè)計(jì)出每個(gè)分支計(jì)出每

30、個(gè)分支( (輸入、加工、輸出輸入、加工、輸出) )的中、下層模的中、下層模塊:塊:(1)(1)為每一個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊,一個(gè)是為每一個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊,一個(gè)是輸輸入模塊入模塊,接受數(shù)據(jù)來(lái)源;另一個(gè)是,接受數(shù)據(jù)來(lái)源;另一個(gè)是變換模塊變換模塊,模塊,模塊調(diào)用時(shí)傳送的參數(shù)應(yīng)同數(shù)據(jù)流圖相對(duì)應(yīng)調(diào)用時(shí)傳送的參數(shù)應(yīng)同數(shù)據(jù)流圖相對(duì)應(yīng)(2)(2)輸出模塊也有兩部分組成,一部分是輸出模塊也有兩部分組成,一部分是變換模塊變換模塊,將數(shù)據(jù)變換成輸出的形式;另一部分是將數(shù)據(jù)變換成輸出的形式;另一部分是輸出模塊輸出模塊 上述設(shè)計(jì)過程由頂向下遞歸進(jìn)行,直至達(dá)到系統(tǒng)上述設(shè)計(jì)過程由頂向下遞歸進(jìn)行,直至達(dá)到系統(tǒng)的

31、輸入端或輸出端的輸入端或輸出端(3) (3) 變換模塊的下層模塊,根據(jù)數(shù)據(jù)流圖中相應(yīng)加工變換模塊的下層模塊,根據(jù)數(shù)據(jù)流圖中相應(yīng)加工的組成情況而定。的組成情況而定。輸輸入入分分支支的的分分解解MAMAGet CGet Cb ba ac cReadRead D Dd de ec,ec,eB to CB to Cb bc cd de ea ab bGet EGet EGet BGet BD to ED to EA to BA to BRead ARead ADFD圖圖輸輸出出分分支支的的分分解解M ME EWriteWrite V Vu uu uw,uw,uv vv vPut Put U UU to

32、 VU to VWriteWrite W Ww wDFD圖圖加工分支的分解加工分支的分解M MT T5 54 46 6e ec,pc,pr ru,wu,wp pr rDFD圖圖任何情況下都可使用變換分析方法設(shè)計(jì)任何情況下都可使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但如數(shù)據(jù)流具有明顯的事軟件結(jié)構(gòu),但如數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時(shí)務(wù)特點(diǎn)時(shí)( (有一個(gè)明顯的事務(wù)中心有一個(gè)明顯的事務(wù)中心) ),以采用事務(wù)分析方法為宜。以采用事務(wù)分析方法為宜。 ( (四四) ) 事務(wù)分析設(shè)計(jì)方法事務(wù)分析設(shè)計(jì)方法事務(wù)分析設(shè)計(jì)方法步驟:事務(wù)分析設(shè)計(jì)方法步驟:(1)(1)在在DFDDFD上確定事務(wù)中心。上確定事務(wù)中心。(2)(2)為為D

33、FDDFD上的事務(wù)中心設(shè)計(jì)主模塊,再為每一種上的事務(wù)中心設(shè)計(jì)主模塊,再為每一種類型的事務(wù)處理設(shè)計(jì)一個(gè)事務(wù)處理模塊。類型的事務(wù)處理設(shè)計(jì)一個(gè)事務(wù)處理模塊。(3)(3)為每個(gè)事務(wù)處理模塊設(shè)計(jì)下面的操作模塊,為每個(gè)事務(wù)處理模塊設(shè)計(jì)下面的操作模塊,再為操作模塊設(shè)計(jì)細(xì)節(jié)模塊。某些操作模塊和再為操作模塊設(shè)計(jì)細(xì)節(jié)模塊。某些操作模塊和細(xì)節(jié)模塊可以被幾個(gè)上一層模塊共用。細(xì)節(jié)模塊可以被幾個(gè)上一層模塊共用。事務(wù)型事務(wù)型DFDDFD的劃分的劃分T T事務(wù)事務(wù)中心中心傳入傳入變換變換傳出傳出接收接收部分部分發(fā)發(fā)送送部部分分a事務(wù)型事務(wù)型SCSC的上層結(jié)構(gòu)的上層結(jié)構(gòu)(1)(1)事務(wù)控制事務(wù)控制Get aGet a頂層頂層第

34、一層第一層a事務(wù)事務(wù)1 事務(wù)型事務(wù)型SCSC的上層結(jié)構(gòu)的上層結(jié)構(gòu) (2)(2)事務(wù)控制事務(wù)控制事務(wù)事務(wù)分析分析發(fā)送發(fā)送動(dòng)作分支的典型結(jié)構(gòu)動(dòng)作分支的典型結(jié)構(gòu)P PT T 2 2T T 1 1T T i iA A 2 2D D 2 2A A 1 1D D 1 1A A 3 3A A j jD D k k事務(wù)層事務(wù)層操作層操作層細(xì)節(jié)層細(xì)節(jié)層處理層處理層7.3.3 層次的對(duì)應(yīng)關(guān)系 數(shù)據(jù)流圖的層次和結(jié)構(gòu)圖的層次存在一定的對(duì)應(yīng)關(guān)系,但不是機(jī)械照搬。3232. . . . . .P1.41格式格式檢查檢查3產(chǎn)生產(chǎn)生收據(jù)收據(jù)2計(jì)算計(jì)算匯費(fèi)匯費(fèi)4記賬記賬匯款單匯款單合格的合格的匯款單匯款單處理后的處理后的匯款單

35、匯款單收據(jù)收據(jù)明細(xì)賬明細(xì)賬變換中心變換中心輸出輸出輸入輸入業(yè)務(wù)業(yè)務(wù)數(shù)據(jù)數(shù)據(jù)匯款處理系統(tǒng)匯款處理系統(tǒng)取得合格取得合格匯款單匯款單計(jì)算匯費(fèi)計(jì)算匯費(fèi)記賬記賬輸出處理后輸出處理后的匯款單的匯款單 輸入輸入?yún)R款單匯款單格式檢查格式檢查產(chǎn)生收據(jù)產(chǎn)生收據(jù)打印收據(jù)打印收據(jù)合格的合格的匯款單匯款單處理后的處理后的匯款單匯款單合格的合格的匯款單匯款單業(yè)務(wù)數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)處理后的處理后的匯款單匯款單匯款單匯款單合格的合格的匯款單匯款單匯款單匯款單處理后的處理后的匯款單匯款單收據(jù)收據(jù)收據(jù)收據(jù)業(yè)務(wù)數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)要求類要求類型處型處理理圖書管理圖書管理要求要求無(wú)效輸入無(wú)效輸入1.11.1新書入庫(kù)新書入庫(kù)1.21.2還還入庫(kù)單入

36、庫(kù)單罰款單罰款單1.51.5注銷圖書注銷圖書1.31.3還書還書1.41.4目錄文件目錄文件借書單借書單書書單單注銷單注銷單借書借書借書文件借書文件罰款單罰款單事務(wù)事務(wù)中心中心圖書處理系統(tǒng)圖書處理系統(tǒng)取得圖書取得圖書處理要求處理要求修改目修改目錄文件錄文件操作層操作層細(xì)節(jié)層細(xì)節(jié)層新書入庫(kù)新書入庫(kù)注銷圖書注銷圖書借書借書還書還書 打印打印罰款單罰款單修改借修改借書文件書文件圖書管圖書管理要求理要求入庫(kù)單入庫(kù)單借書單借書單 還書單還書單注銷單注銷單7.2.8 結(jié)構(gòu)圖優(yōu)化方法 減少模塊間的聯(lián)系,減少參數(shù)傳遞,特別是控制信息的傳遞 消除重復(fù)功能 消除“管道”模塊 考慮變化 控制模塊大小 整體考慮結(jié)構(gòu)圖

37、優(yōu)化舉例問題描述:病人監(jiān)護(hù)系統(tǒng)中的實(shí)時(shí)監(jiān)測(cè)模塊。該模塊使用病床專用設(shè)備測(cè)量病人的若干生理參數(shù),如體溫、脈搏、血壓等等。每個(gè)病人各種指標(biāo)的安全范圍由醫(yī)生預(yù)先指定。每經(jīng)過一定的時(shí)間間隔,監(jiān)測(cè)模塊從監(jiān)視設(shè)備讀入這些數(shù)據(jù),并存入數(shù)據(jù)庫(kù)中。若發(fā)現(xiàn)某個(gè)指標(biāo)超出合理范圍,則向維修站發(fā)出設(shè)備故障通知,報(bào)告床號(hào)。 若發(fā)現(xiàn)某個(gè)指標(biāo)越出安全范圍,則向護(hù)理站發(fā)出通知,報(bào)告病人號(hào)。分析產(chǎn)生的1層DFD病人病人護(hù)護(hù)理理站站病歷病歷合理合理數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)不安不安全因全因素素讀取讀取數(shù)據(jù)數(shù)據(jù)存儲(chǔ)存儲(chǔ)數(shù)據(jù)數(shù)據(jù)檢查檢查數(shù)據(jù)數(shù)據(jù)通報(bào)通報(bào)不不安全安全因素因素維維修修站站不合理不合理數(shù)據(jù)數(shù)據(jù)FS2病人監(jiān)護(hù)系統(tǒng)病人監(jiān)護(hù)系統(tǒng)采集數(shù)據(jù)采集

38、數(shù)據(jù)檢查數(shù)據(jù)檢查數(shù)據(jù)處理數(shù)據(jù)處理數(shù)據(jù)獲獲取取下下一一個(gè)個(gè)病病人人PN,F(xiàn)SEOF,EFEOFFSEFUSF,EFUSFFSPNEF,USFPN,F(xiàn)SPN,F(xiàn)S,EFPN,EFPN,F(xiàn)SFSFSSRSR讀讀取取數(shù)數(shù)據(jù)據(jù)檢檢查查不不合合理理范范圍圍查查詢?cè)儼舶踩斗秶鷩信卸ǘú〔∪巳耸鞘欠穹癜舶踩珜憣憯?shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)通通報(bào)報(bào)設(shè)設(shè)備備故故障障通通報(bào)報(bào)不不安安全全因因素素EFBNPN,F(xiàn)SEFPN,BN初始結(jié)構(gòu)圖PNPN病人號(hào);病人號(hào);BNBN床位號(hào);床位號(hào);SRSR安安全范圍;全范圍;FSFS各指標(biāo)數(shù)據(jù);各指標(biāo)數(shù)據(jù); EFEF設(shè)設(shè)備故障標(biāo)志;備故障標(biāo)志; EOFEOF標(biāo)志已查過標(biāo)志已查過最后一個(gè)病

39、人;最后一個(gè)病人;FS2FS2標(biāo)志指標(biāo)是標(biāo)志指標(biāo)是否合理;否合理; USFUSF標(biāo)志指標(biāo)不安全標(biāo)志指標(biāo)不安全 第1次改進(jìn) “處理數(shù)據(jù)”模塊沒有實(shí)質(zhì)性的功能,所包含的三個(gè)子模塊相互之間沒有什么關(guān)聯(lián),內(nèi)聚程度很低。 該模塊只是充當(dāng)了“管道”,改進(jìn)如下:廢除“處理數(shù)據(jù)”模塊;直接由主模塊調(diào)用“通報(bào)設(shè)備故障”、“通報(bào)不安全因素”和“寫數(shù)據(jù)庫(kù)”三個(gè)模塊病人監(jiān)護(hù)病人監(jiān)護(hù)寫數(shù)據(jù)庫(kù)寫數(shù)據(jù)庫(kù)通報(bào)不安通報(bào)不安全因素全因素通報(bào)通報(bào)設(shè)備故障設(shè)備故障檢查數(shù)據(jù)檢查數(shù)據(jù)采集數(shù)據(jù)采集數(shù)據(jù)第1次改進(jìn)結(jié)果第2次改進(jìn) 通報(bào)設(shè)備故障時(shí)應(yīng)通報(bào)床位號(hào)而不應(yīng)是病人號(hào),因此要傳遞床位號(hào)。 床位號(hào)BN可由“采集數(shù)據(jù)”模塊傳給主模塊,再由主模塊

40、傳遞給“通知設(shè)備故障”模塊。但這樣做增加了模塊間的聯(lián)系,改為由“采集數(shù)據(jù)”模塊直接調(diào)用PNPN,F(xiàn)SFS病人監(jiān)護(hù)病人監(jiān)護(hù)采集數(shù)據(jù)采集數(shù)據(jù)檢查數(shù)據(jù)檢查數(shù)據(jù)通報(bào)通報(bào)不安全因素不安全因素獲取獲取下一個(gè)病人下一個(gè)病人PNPN,F(xiàn)SFSEOFEOF,EFEFPNPN,BNBNEOFEOFFSFSEFEFUSFUSFUSFUSFPNPNFS2FS2BNBN,EFEFPNPN,F(xiàn)SFSFSFSSRSRSRSR讀取數(shù)據(jù)讀取數(shù)據(jù)檢查檢查不合理范圍不合理范圍查詢安全查詢安全范圍范圍判定病人是判定病人是否安全否安全寫數(shù)據(jù)庫(kù)寫數(shù)據(jù)庫(kù)通報(bào)通報(bào)設(shè)備故障設(shè)備故障EFEFBNBNPNPN,F(xiàn)SFSEFEFFSFS第2次改進(jìn)結(jié)

41、果第3次改進(jìn) 若由“檢查數(shù)據(jù)”模塊直接調(diào)用“通報(bào)不安全因素”模塊,則可減少模塊間的聯(lián)系,即不用傳遞USF標(biāo)志(排除控制耦合)。 這樣的話,“檢查數(shù)據(jù)”的名字改為“報(bào)告不安全因素”更為恰當(dāng)?shù)?次改進(jìn)結(jié)果病人監(jiān)護(hù)病人監(jiān)護(hù)采集數(shù)據(jù)采集數(shù)據(jù)報(bào)告不安全因素報(bào)告不安全因素寫數(shù)據(jù)庫(kù)寫數(shù)據(jù)庫(kù)PNPN,F(xiàn)SFSEOFEOF,EFEFEFEFUSFUSFPNPNSRSR,F(xiàn)SFSEFEFPNPN,F(xiàn)SFS查詢安全范圍查詢安全范圍通報(bào)不安全因素通報(bào)不安全因素PNPN,F(xiàn)SFS判定病人是否安全判定病人是否安全第4次改進(jìn) “獲取下一個(gè)病人”模塊的界面要返回病人號(hào)和床位號(hào),如果使“ 讀取數(shù)據(jù)”模塊包括從病人號(hào)查床位號(hào)的功

42、能,則“獲取下一個(gè)病人”模塊的接口可以簡(jiǎn)化第4次改進(jìn)結(jié)果采集數(shù)據(jù)采集數(shù)據(jù)獲取獲取下一個(gè)病人下一個(gè)病人PNPNEOFEOFFSFSEFEFPNPNBNBNFSFS讀取數(shù)據(jù)讀取數(shù)據(jù)檢查檢查不合理因素不合理因素從從PNPN查查BNBNEOFEOFPNPN通報(bào)通報(bào)設(shè)備故障設(shè)備故障FS2FS2BNBN第5次改進(jìn) 通過床號(hào)讀取數(shù)據(jù),功能很明確,但目前包含在“讀取數(shù)據(jù)”模塊中,這部分程序代碼如果抽取出來(lái)單獨(dú)成為一個(gè)模塊更好,名字為“從床號(hào)讀數(shù)據(jù)” 該模塊可以成為一個(gè)公用模塊,很易于重用第5次改進(jìn)結(jié)果采集數(shù)據(jù)采集數(shù)據(jù)獲取下一個(gè)病人獲取下一個(gè)病人PNPNEOFEOFFSFSEFEFPNPNBNBNFSFSEOF

43、EOFPNPNFS2FS2BNBN從從PNPN查查BNBN從床號(hào)讀數(shù)據(jù)從床號(hào)讀數(shù)據(jù)通報(bào)設(shè)備故障通報(bào)設(shè)備故障檢查不合理因素檢查不合理因素BNBN采集病人數(shù)據(jù)采集病人數(shù)據(jù)FSFSEFEF第6次改進(jìn) “ 從床號(hào)讀數(shù)據(jù)”應(yīng)該是功能單一,調(diào)用“通報(bào)設(shè)備故障”不應(yīng)屬于該模塊內(nèi)容。 將“通報(bào)設(shè)備故障”改為上層模塊調(diào)用,使“從床號(hào)讀數(shù)據(jù)”模塊功能更明確,公用性也更好第6次改進(jìn)結(jié)果病人監(jiān)護(hù)病人監(jiān)護(hù)采集數(shù)據(jù)采集數(shù)據(jù)報(bào)告不安全因素報(bào)告不安全因素寫數(shù)據(jù)庫(kù)寫數(shù)據(jù)庫(kù)判定判定下一個(gè)病人下一個(gè)病人PNPN,F(xiàn)SFSEOFEOF,EFEFPNPNEOFEOFFSFSEFEFUSFUSFPNPNEFEFSRSREFEFFSFSP

44、NPNFS,SRFS,SR采集采集病人數(shù)據(jù)病人數(shù)據(jù)檢查檢查安全范圍安全范圍判定病人是判定病人是否安全否安全通報(bào)通報(bào)不安全因素不安全因素EFEFPNPNPNPN,F(xiàn)SFS從從PNPN查查BNBN從床號(hào)從床號(hào)讀數(shù)據(jù)讀數(shù)據(jù)通報(bào)通報(bào)設(shè)備故障設(shè)備故障檢查不合理因素檢查不合理因素BNBNBNBNEFEFFSFSBNBNFSFSFS2FS2PN,FSPN,FS第7次改進(jìn) 給護(hù)士站或維修站的通報(bào)消息可能采用了同一種方式或界面,因此可能會(huì)有公用的模塊,比如“寫一行”(或者“發(fā)出警報(bào)”之類) 因此再抽出一個(gè)模塊“寫一行”,供兩個(gè)模塊調(diào)用。第7次改進(jìn)結(jié)果病人監(jiān)護(hù)病人監(jiān)護(hù)采集數(shù)據(jù)采集數(shù)據(jù)報(bào)告不安全因素報(bào)告不安全因素寫

45、數(shù)據(jù)庫(kù)寫數(shù)據(jù)庫(kù)判定判定下一個(gè)病人下一個(gè)病人PNPN,F(xiàn)SFSEOFEOF,EFEFPNPNEOFEOFFSFSEFEFUSFUSFPNPNEFEFSRSREFEFFSFSPNPNFSFSFS,SRFS,SR采集采集病人數(shù)據(jù)病人數(shù)據(jù)檢查安檢查安全范圍全范圍判定病人是判定病人是否安全否安全通報(bào)通報(bào)不安全因素不安全因素EFEFPNPNPNPN,F(xiàn)SFS從從PNPN查查BNBN從床號(hào)從床號(hào)讀數(shù)據(jù)讀數(shù)據(jù)通報(bào)通報(bào)設(shè)備故障設(shè)備故障產(chǎn)生一行產(chǎn)生一行寫一行寫一行檢查不合理因素檢查不合理因素BNBNBNBNEFEFEFEFFSFSBNBNFSFSFS2FS2PN,FSPN,FS一行一行一行一行一行一行對(duì)已有程序進(jìn)

46、行重構(gòu) 重構(gòu)(Refactoring):在不改變程序代碼功能的前提下,對(duì)程序結(jié)構(gòu)所進(jìn)行的改造 因?yàn)椴皇强偰芴崆白龀鲎詈玫脑O(shè)計(jì),或者對(duì)遺留系統(tǒng)的維護(hù)過程中提高品質(zhì)而做出的結(jié)構(gòu)變化 參見重構(gòu)改善既有代碼的設(shè)計(jì)7.5 代碼(編碼)設(shè)計(jì) 什么是代碼?用來(lái)表征客觀事物的一個(gè)或一組有序的符號(hào),它應(yīng)易于計(jì)算機(jī)和人識(shí)別與處理。一般用數(shù)字、字母或它們的組合來(lái)表示。代碼設(shè)計(jì)是科學(xué)管理的體現(xiàn)。代碼無(wú)處不在:車牌號(hào)碼、商品編碼、身份證號(hào)、學(xué)號(hào)、專業(yè)代碼代碼的作用1. 鑒別功能: 唯一地標(biāo)識(shí)一個(gè)實(shí)體或?qū)傩灾?2. 分 類 3. 排序4. 專用含義5. 系統(tǒng)集成的基礎(chǔ)6.在某些場(chǎng)合節(jié)省存儲(chǔ)空間 代碼的特性唯一化唯一化規(guī)范

47、化規(guī)范化系統(tǒng)化系統(tǒng)化 為事物提供一個(gè)概要而不含糊的為事物提供一個(gè)概要而不含糊的認(rèn)定,便于數(shù)據(jù)的存儲(chǔ)和檢索。認(rèn)定,便于數(shù)據(jù)的存儲(chǔ)和檢索。 即編碼要有規(guī)律,符合某一類事即編碼要有規(guī)律,符合某一類事物的聚集,提高處理的效率和精度。物的聚集,提高處理的效率和精度。 也即標(biāo)準(zhǔn)化,符合國(guó)家或行業(yè)標(biāo)也即標(biāo)準(zhǔn)化,符合國(guó)家或行業(yè)標(biāo)準(zhǔn),提高數(shù)據(jù)全局一致性。準(zhǔn),提高數(shù)據(jù)全局一致性。代碼代碼無(wú)實(shí)義代碼無(wú)實(shí)義代碼有實(shí)義代碼有實(shí)義代碼順序碼順序碼特征特征組合碼組合碼層次碼層次碼字母字母順序碼順序碼系列系列順序碼順序碼邏輯碼邏輯碼排序碼排序碼無(wú)序碼無(wú)序碼自檢碼自檢碼矩陣碼矩陣碼代碼的種類 代碼結(jié)構(gòu)按代碼特點(diǎn): 編碼簡(jiǎn)單、簡(jiǎn)

48、短等 可維護(hù)性差 例:在日常生活中,街道兩旁的門牌號(hào)碼一般采用順序碼。 塊碼一種特殊的順序碼。它將順序碼按照一定的方式,將編碼分成若干段或者塊,每一段或塊代表一定類型的編碼對(duì)象。例:我國(guó)郵政編碼采用6位數(shù)碼,其第一、二位采用塊碼標(biāo)識(shí)省、自治區(qū)和直轄市,例如第一、二位為“43”和“44”均標(biāo)識(shí)湖北省。特點(diǎn):與順序碼相比較,塊碼具有較好的可維護(hù)性。只要分段合適,預(yù)留有足夠的碼,那么該編碼就具有較好的維護(hù)性,例如前面談到的部門編碼。該類碼較順序碼復(fù)雜。塊碼并不方便分類統(tǒng)計(jì)的需求。層次碼順序碼和塊碼不適合對(duì)具有層次結(jié)構(gòu)的編碼對(duì)象,例如物品、地區(qū)等的編碼。層次碼是根據(jù)編碼對(duì)象一定的層次關(guān)系,確定若干位,

49、并排成一定的層次關(guān)系。因此,層次碼適合對(duì)具有層次結(jié)構(gòu)的編碼對(duì)象。 例:商場(chǎng)中經(jīng)營(yíng)的商品就具有層次結(jié)構(gòu),按商品大類來(lái)分,商品分為百貨、服裝、家電、體育等,每一大類中又分為中類,如服裝類分為男裝、女裝和童裝。每大類的中類又分為小類,因此可以采用層次碼結(jié)構(gòu)來(lái)編碼。 特點(diǎn):結(jié)構(gòu)清晰、可維護(hù)強(qiáng)等特點(diǎn),但是編碼的設(shè)計(jì)較復(fù)雜。采用層次碼時(shí),首先要理清編碼對(duì)象的層次結(jié)構(gòu)。 N N N N N N 層次碼的一般結(jié)構(gòu) 最低層 中間層 最高層 特征碼在編碼模型中,為編碼對(duì)象的多個(gè)屬性各規(guī)定一個(gè)位置(若干位碼),從而表示編碼對(duì)象不同的屬性。特征碼與順序碼、塊碼、層次碼不同,編碼中表示的各屬性之間沒有關(guān)系,是相互獨(dú)立的

50、。例如表示用材質(zhì)、直徑、形狀、表面處理方式屬性來(lái)為金屬材料編碼,這種編碼就是特征碼。組合靈活、設(shè)計(jì)簡(jiǎn)單等優(yōu)點(diǎn),一般用于枚舉型的編碼對(duì)象例:性別、直徑、形狀等。由于特征碼用于枚舉型的編碼對(duì)象,因此比較方便由系統(tǒng)自動(dòng)編碼。 按照編碼中采用的符號(hào)分類數(shù)字型編碼采用若干位數(shù)字進(jìn)行編碼,其數(shù)字可以是十進(jìn)制、八進(jìn)制、二進(jìn)制等。例如我國(guó)的身份證號(hào)、郵政編碼、電話號(hào)碼等就是采用十進(jìn)制的數(shù)字型編碼,計(jì)算機(jī)中使用的ASCII就是采用八進(jìn)制的數(shù)字型編碼等。數(shù)字型編碼具有排序方便的優(yōu)點(diǎn),缺點(diǎn)是對(duì)表達(dá)編碼對(duì)象不直觀。 字母型編碼字母型編碼只允許編碼的各位采用字母。例:國(guó)際互聯(lián)網(wǎng)中域名中的國(guó)家編碼就是采用相應(yīng)國(guó)家英文名的

51、縮寫,cn代表中國(guó),即字母型編碼。與數(shù)字型編碼相比較,字母編碼具有容量大特點(diǎn)。且能直觀地表達(dá)實(shí)體或?qū)嶓w屬性。通常助記憶碼一般采用字母型編碼,在編碼位有限且編碼量大的情況下,可以考慮使用字母型編碼。 N N N N N N 層次碼的一般結(jié)構(gòu) 最低層 中間層 最高層 代碼的類型 代碼的類型指代碼符號(hào)的表示形式,一般有: 數(shù)字型數(shù)字型:結(jié)構(gòu)簡(jiǎn)單,使用方便,也便于排序,但對(duì)象特征的描述不直觀 字母型字母型:便于記憶,人們有使用習(xí)慣。與同樣長(zhǎng)度的數(shù)字碼相比,容量大得多。但會(huì)出現(xiàn)重復(fù)和沖突 數(shù)字字母混合型數(shù)字字母混合型:兼有前兩種代碼的優(yōu)點(diǎn)。但是其組成形式復(fù)雜,計(jì)算機(jī)輸入不便,人工錄入效率低,錯(cuò)誤率高 代

52、碼舉例 身份證號(hào) 國(guó)際書號(hào) 會(huì)計(jì)科目 考研報(bào)考的學(xué)校代碼、專業(yè)代碼 如何保證代碼輸入的正確性代碼不允許出錯(cuò),那么如何避免代碼錯(cuò)誤:1. 輸入技術(shù)(如磁卡、IC卡、讀卡器)2. 列表選擇輸入(少量)界面中采用下拉表選擇,不需要鍵盤輸入3. 利用數(shù)據(jù)庫(kù)中的代碼表對(duì)照檢查(較多)代碼量很多時(shí),下拉選擇不可取,可在數(shù)據(jù)庫(kù)中為代碼及其含義建立數(shù)據(jù)表,手工輸入后,在數(shù)據(jù)庫(kù)中進(jìn)行查詢,如果存在則可顯示詳細(xì)內(nèi)容,否則表示輸入有誤4. 代碼中設(shè)置校驗(yàn)位(上述方法都不適用時(shí))代碼自身具有一定的驗(yàn)證功能代碼設(shè)計(jì)的原則代碼設(shè)計(jì)必須遵循以下基本原則: 1. 唯一性 2. 合理性 3. 可擴(kuò)充性(想想千年蟲問題) 4.

53、簡(jiǎn)單性 5. 適用性 6. 規(guī)范性 7. 系統(tǒng)性代碼設(shè)計(jì)的步驟代碼設(shè)計(jì)可按下列步驟進(jìn)行:確定代碼對(duì)象考查是否已有標(biāo)準(zhǔn)代碼根據(jù)代碼的使用范圍、使用時(shí)間,根據(jù)實(shí)際情況選擇代碼的種類與類型。考慮檢錯(cuò)功能編寫代碼表 e.g. 商品的編碼模型1 2 3 4 5 6 7 8 9 大類編碼 中類編碼 小類編碼 商品分類編碼 生產(chǎn)廠商編碼 商品序列號(hào) 輸入/輸出設(shè)計(jì) 哪些地方需要進(jìn)行輸入/輸出設(shè)計(jì)呢?輸出設(shè)計(jì):當(dāng)DFD圖中有數(shù)據(jù)流從系統(tǒng)流出到外部實(shí)體的地方。報(bào)表、人機(jī)交互的查詢、發(fā)送郵件等到其他系統(tǒng)(消息、數(shù)據(jù)庫(kù)、文件等)輸入設(shè)計(jì):外部實(shí)體的數(shù)據(jù)流進(jìn)入到系統(tǒng)的地方。本系統(tǒng)操作人員的輸入來(lái)自于其他系統(tǒng)的輸入(其

54、他的數(shù)據(jù)庫(kù)或文件、其他系統(tǒng)的實(shí)時(shí)響應(yīng)結(jié)果)高度自動(dòng)化的輸入(條碼掃描儀、傳感器等)7.6 輸出設(shè)計(jì) 系統(tǒng)中的數(shù)據(jù)輸出到人、組織、其他系統(tǒng)經(jīng)理經(jīng)理顧客顧客信用卡信用卡系統(tǒng)系統(tǒng)報(bào)表報(bào)表商品查詢結(jié)果商品查詢結(jié)果付款信息付款信息輸出設(shè)計(jì)的內(nèi)容 確定輸出內(nèi)容:首先確定用戶在使用信息方面的要求,包括使用目的、輸出速度、頻率、數(shù)量、安全性要求等等。然后設(shè)計(jì)輸出信息的內(nèi)容、信息形式(表格、圖形、文字)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型、位數(shù)及取值范圍等等。 選擇輸出設(shè)備與介質(zhì):常用的輸出設(shè)備有顯示終端、打印機(jī)、磁帶機(jī)、磁盤機(jī)、繪圖儀、縮微膠卷輸出器、多媒體設(shè)備。輸出介質(zhì)有紙張、磁帶、磁盤、縮微膠卷、光盤、多媒體介質(zhì)等等。

55、確定輸出格式:輸出報(bào)表或圖形,清晰直觀,滿足需求和習(xí)慣,符合行業(yè)標(biāo)準(zhǔn)什么是高質(zhì)量的輸出設(shè)計(jì)以下因素確定了輸出質(zhì)量:易存取Accessibility :很容易被使用及時(shí)Timeliness適當(dāng)Relevance :有使用價(jià)值正確Accuracy可用Useability :有合適的格式輸出設(shè)備輸出設(shè)備輸出介質(zhì)輸出介質(zhì)輸出設(shè)備和輸出介質(zhì) Printers(打印機(jī)) Video Display Unit(顯示器) Plotters(繪圖儀) COM Equipment(串行端口設(shè)備) Speakers(喇叭) Paper(紙) Video Screen(屏幕) Microfilm/Microfiche

56、(膠片) Air Waves/Sound(聲音) Disk(存儲(chǔ)設(shè)備) IC卡輸出格式表格清單(如各種收費(fèi)單)匯總表(月報(bào)表)對(duì)照表(年度對(duì)照)圖形折線圖(股票走勢(shì))柱狀圖(產(chǎn)品銷售業(yè)績(jī))餅圖(產(chǎn)品區(qū)域分布比例)文字7.7 輸入設(shè)計(jì) 外部產(chǎn)生的數(shù)據(jù)如何輸入到系統(tǒng)中經(jīng)理經(jīng)理顧客顧客省招辦省招辦貸款審批意見貸款審批意見訂單訂單新生檔案新生檔案1、輸入設(shè)計(jì)的內(nèi)容 確定輸入數(shù)據(jù)內(nèi)容:包括確定輸入數(shù)據(jù)項(xiàng)名稱、數(shù)據(jù)內(nèi)容、精度、數(shù)值范圍。 確定數(shù)據(jù)的輸入方式:聯(lián)機(jī)終端輸入還是脫機(jī)批量輸入,與數(shù)據(jù)發(fā)生地點(diǎn)、時(shí)間、緊急程度有關(guān)。 記錄格式設(shè)計(jì):記錄格式設(shè)計(jì)得好,能減少數(shù)據(jù)冗余,降低錯(cuò)誤率和操作員勞動(dòng)強(qiáng)度。 輸入

57、數(shù)據(jù)的正確性校驗(yàn):可能的話直接從已有數(shù)據(jù)中選擇 確定輸入設(shè)備:鍵盤、鼠標(biāo)、觸摸屏、讀卡機(jī)、字符識(shí)別機(jī)、光電閱讀器、條形碼識(shí)別機(jī)、語(yǔ)音識(shí)別儀、圖像掃描儀 輸入設(shè)計(jì)的重要性 輸入是垃圾 輸出是垃圾 (GIGO) 批量輸入 聯(lián)機(jī)輸入 混合方式2、輸入模式批量輸入的優(yōu)點(diǎn) 收集和輸入可以脫機(jī) 輸入可以由受過專門訓(xùn)練的人員完成 處理的速度很快 處理可以安排在非高峰時(shí)間進(jìn)行保險(xiǎn)單的錄入人口普查數(shù)據(jù)的輸入比如國(guó)內(nèi)一些科研項(xiàng)目申請(qǐng)的數(shù)據(jù)都是各個(gè)單位自行錄入,保存在盤中上交。批量輸入的不足 數(shù)據(jù)收集通常是集中式的 數(shù)據(jù)錄入一般需要受過專門訓(xùn)練的人員完成 處理過程有延遲,因此可能造成數(shù)據(jù)過時(shí),或等到處理完后已經(jīng)不適

58、用了 因?yàn)樘幚硗ǔT跇I(yè)余時(shí)間進(jìn)行,因此在處理時(shí)發(fā)現(xiàn)的輸入錯(cuò)誤,只能在下一次處理時(shí)才能糾正(錄入人員不熟悉業(yè)務(wù)) 如果程序發(fā)生故障,業(yè)余計(jì)算機(jī)操作員沒有能力處理,不得不報(bào)告系統(tǒng)分析員或程序員(錄入人員不熟悉技術(shù))聯(lián)機(jī)輸入的優(yōu)點(diǎn) 數(shù)據(jù)能夠由擁有者進(jìn)行錄入 數(shù)據(jù)的錄入可以盡可能地與他們的源頭靠近 對(duì)于數(shù)據(jù)的正確性和可接受性,可以獲得快速的反饋 輸入的數(shù)據(jù)能及時(shí)更新數(shù)據(jù)庫(kù),從而使數(shù)據(jù)在最新狀態(tài)比如北京市房地產(chǎn)開發(fā)企業(yè)與購(gòu)房者簽訂房屋預(yù)售合同時(shí),通過網(wǎng)上簽約并下載打印合同文本,實(shí)現(xiàn)與政府網(wǎng)的聯(lián)機(jī)備案,保護(hù)了消費(fèi)者權(quán)益聯(lián)機(jī)輸入的不足 為了完成錄入,設(shè)備的花費(fèi)更多 使用者繁雜,不總是受過良好訓(xùn)練 對(duì)用戶數(shù)據(jù)

59、錄入的程序控制要求高 數(shù)據(jù)經(jīng)常在交易時(shí)間錄入,因此對(duì)正常的機(jī)器運(yùn)行工作量有影響 同樣的數(shù)據(jù),其錄入會(huì)比批量錄入過程要慢,總的效率低Magnetic Ink Character Recognition (MICR)Optical Character Recognition (OCR)Optical Mark Recognition (OMR)Image Scanner & Facsimile (Fax) MachinesPoint-of-Sale Device (POS)Automatic Teller Machine (ATM)Intelligent Card Keyboard Mou

60、se Joystick Pens Scales Voice Recognition Touch Screen3、輸入設(shè)備格式設(shè)計(jì)例子中國(guó)郵政匯款單中國(guó)郵政匯款單郵編郵編用用戶戶填填寫寫郵郵局局填填寫寫寫寫業(yè)務(wù)業(yè)務(wù)種類種類普通匯款普通匯款加急匯款加急匯款電子匯款電子匯款特急匯款特急匯款禮儀禮儀自行通知自行通知?jiǎng)潛軇潛芨窖愿窖匀霂と霂ぶ敝备郊痈郊臃N類種類收款人收款人姓名姓名匯款匯款金額金額佰佰 拾拾 萬(wàn)萬(wàn) 千千 佰佰 拾拾 元元 角角 分分收款人地址收款人地址開戶局及帳號(hào)開戶局及帳號(hào)匯款人地址匯款人地址匯款人姓名匯款人姓名匯匯 票票 號(hào)號(hào) 碼碼匯款金額匯款金額匯費(fèi)匯費(fèi)手續(xù)費(fèi)手續(xù)費(fèi)收匯日期收匯日期經(jīng)辦員

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論