-----------------------------------------------------
以下內(nèi)容節(jié)選自清華大學版《系統(tǒng)分析師教程》
僅供學習、參考使用,詳細內(nèi)容請查閱原著
-----------------------------------------------------
3.4.1系統(tǒng)設計概述
系統(tǒng)設計是信息系統(tǒng)開發(fā)過程中另一個重要階段。這一階段中,要根據(jù)前一階段系統(tǒng)分析的結(jié)果,在已經(jīng)獲得批準的系統(tǒng)分析報告的基礎上,進行新系統(tǒng)設計。
系統(tǒng)設計的主要目的就是為系統(tǒng)制定藍圖,在各種技術(shù)和實施方法中權(quán)衡利弊,精心設計,合理使用各種資源,最終勾畫出新系統(tǒng)的詳細設計方案。
但是,實際情況往往與主觀設定存在差距,項目開發(fā)過程中并不總是能按總體計劃分階段順利推進,甚至造成反復,究其原因有:
1.傳統(tǒng)方法認為“系統(tǒng)設計之前,用戶的所有的需求都能被預先定義”。
2.在生命周期法中,系統(tǒng)分析通常用數(shù)據(jù)流圖、數(shù)據(jù)字典、判斷表等工具來描述目的系統(tǒng)的邏輯模型,這些文字和圖形工具被認梢猿浞址從承孿低車穆嘸δ堋?/P>
3.生命周期法將開發(fā)過程嚴格劃分為幾個不同階段,并嚴格分離,即后一個階段工作必須在前一階段結(jié)束才能進行,把各個階段工作的變化幅度限制在一個特定的范圍內(nèi)。
3.4.1.1系統(tǒng)設計的內(nèi)容和步驟
為保證總體結(jié)構(gòu)設計的順利完成,主要應遵循以下幾條原則:
1.分解-協(xié)調(diào)原則。整個系統(tǒng)是一個整體,具有整體的目的和功能。但這些目的和功能的實現(xiàn)又是由相互聯(lián)系的各個組成部分共同工作的結(jié)果。解決復雜問題的一個很重要的原則就是把它分解成多個小問題分別處理,在處理過程中根據(jù)系統(tǒng)總體要求協(xié)調(diào)各部門的關系。在系統(tǒng)中,應按以下要求分解:
按系統(tǒng)的功能進行分解
按管理活動和信息運動的客觀規(guī)律分解
按系統(tǒng)的工作規(guī)程分解
按用戶工作的特殊需要分解(如按保密的要求)
按開發(fā)、維護和修改的方便性分解
協(xié)調(diào)的依據(jù)主要是:
目的調(diào)節(jié)
工作進程調(diào)節(jié)
工作規(guī)范和技術(shù)規(guī)范協(xié)調(diào)
信息協(xié)調(diào)(指信息的提供和收回)
業(yè)務內(nèi)容協(xié)調(diào)(如某些業(yè)務指標的控制)
2.自頂向下的原則
3.信息隱蔽、抽象的原則
4.一致性的原則
5.明確性原則
6.模塊之間的耦合盡可能小,模塊內(nèi)部組合要盡可能緊湊。
7.模塊的扇入系數(shù)和扇出系數(shù)要合理。
8.模塊的規(guī)模適當
3.4.2系統(tǒng)總體結(jié)構(gòu)設計
系統(tǒng)總體結(jié)構(gòu)設計是要根據(jù)系統(tǒng)分析的要求和組織的實際情況來對新系統(tǒng)的總體結(jié)構(gòu)形式和可利用的資源進行大致設計,這是一種宏觀、總體上的設計和規(guī)劃。
3.4.2.1子系統(tǒng)劃分
1.子系統(tǒng)劃分的原則
為了方便今后系統(tǒng)開發(fā)和系統(tǒng)運行,子系統(tǒng)的劃分應遵循如下幾點原則:
子系統(tǒng)要具有相對獨立性。
子系統(tǒng)之間數(shù)據(jù)的依賴性盡量小
子系統(tǒng)劃分的結(jié)果應使數(shù)據(jù)冗余較小
子系統(tǒng)的劃分應便于系統(tǒng)分階段實現(xiàn)
子系統(tǒng)的劃分應考慮到各類資源的充分利用
2.系統(tǒng)劃分方法的分類
3.4.2.2子系統(tǒng)結(jié)構(gòu)設計
子系統(tǒng)結(jié)構(gòu)設計的任務是確定劃分后的子系統(tǒng)的模塊結(jié)構(gòu),并畫出模塊結(jié)構(gòu)圖。這個工程中必須考慮以下幾個問題:
每個子系統(tǒng)如何劃分多個模塊
如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調(diào)用關系
如何評價并改進模塊結(jié)構(gòu)的質(zhì)量
如何從數(shù)據(jù)流圖導出模塊結(jié)構(gòu)圖
3.4.2.3網(wǎng)絡設計
網(wǎng)絡設計首先要根據(jù)系統(tǒng)的要求選擇網(wǎng)絡的結(jié)構(gòu)。然后根據(jù)系統(tǒng)結(jié)構(gòu)劃分的結(jié)果,安排網(wǎng)絡和設備的分布,再根據(jù)物理位置來考慮聯(lián)網(wǎng)布線和配件,最后就是根據(jù)實際業(yè)務的要求劃定網(wǎng)絡個結(jié)點的級別、管理方式、數(shù)據(jù)讀寫的權(quán)限、選擇相應的軟件系統(tǒng)等。
3.4.2.4硬件設備及配置
在確定了系統(tǒng)的劃分后,就可以考慮各子系統(tǒng)的設備,即計算機和網(wǎng)絡設備的配置問題,以及如何將這些分布的設備和任務、功能、數(shù)據(jù)資源等集中統(tǒng)一管理。
3.4.3系統(tǒng)模塊結(jié)構(gòu)設計
3.4.3.1模塊的概念
模塊是組成系統(tǒng)的基本單位,它的特點是可以組合、分解和更換。系統(tǒng)中任何一個處理功能都可以看成是一個模塊。根據(jù)模塊功能具體化程度的不同,可以分為邏輯模塊和物力模塊。在系統(tǒng)邏輯模型中定義的處理功能可視為邏輯模塊。物理模塊是邏輯模塊的具體化,可以是一個計算機程序、子程序或若干條程序語句,也可以是人工過程的某項具體工作。
3.4.3.2模塊結(jié)構(gòu)圖
模塊結(jié)構(gòu)圖主要關心的是模塊的外部屬性,即上下級模塊、同級模塊之間的數(shù)據(jù)傳遞和調(diào)用關系,并不關心模塊的內(nèi)部。
模塊結(jié)構(gòu)圖式結(jié)構(gòu)設計中描述系統(tǒng)結(jié)構(gòu)的圖形工具。作為一種文檔,它必須嚴格地定義模塊的名字、功能和接口,同時還應當在模塊結(jié)構(gòu)圖上反映出結(jié)構(gòu)化設計的思想。
3.4.3.3模塊的變化型分析與事務型分析
一個系統(tǒng)的模塊結(jié)構(gòu)圖一般有兩種標準形式,變換型模塊結(jié)構(gòu)和事務型模塊結(jié)構(gòu)。
變換型模塊結(jié)構(gòu)描述的是變換型系統(tǒng)。變換型系統(tǒng)由3部分組成:輸入、數(shù)據(jù)加工(中心變換)和輸出,它的功能是將輸入的數(shù)據(jù)經(jīng)過加工后輸出。事務型系統(tǒng)由3層組成:事務層、操作層和細節(jié)層。它的功能是對接收的事務按其類型選擇某一事務處理。
1.變換型分析
變換型分析過程可以分為3步
(1)找出系統(tǒng)底層邏輯輸入、主加工和邏輯輸出
(2)設計頂層模塊和第一層模塊
(3)對輸入、變換、輸出模塊逐個分解,便可得到初始結(jié)構(gòu)圖
2.事務型分析
事務型分析也是“自頂向下,逐步細化”的原則進行。先設計模塊,其功能就是整個系統(tǒng)的功能。下面有一個“分析模塊”和“調(diào)度模塊”。前者分析事務的類型,后者根據(jù)不同的類型調(diào)用相應的下層模塊。
3.4.3.4模塊的耦合與內(nèi)聚
一個合理的模塊劃分,應該是內(nèi)部聯(lián)系強,模塊間盡可能獨立,接口明確、簡單,有適當?shù)墓眯?,要滿足“歐和小,內(nèi)聚大”的原則。
3.4.4系統(tǒng)詳細設計
3.4.4.1代碼設計
代碼是用來表征客觀事物的一組有序的符號,以便易于計算機和人工識別與處理。代碼的類型指代碼符號的表示形式,一般有數(shù)字型、字母型、數(shù)字字母混合型等。3種類型的代碼各有所長,應根據(jù)使用者的要求、信息量的多少、信息交換的頻度、使用者的習慣等方面綜合考慮。
代碼設計應該遵循以下基本原則:
性,一個對象可能有多個名稱,也可按不同的方式對它進行描述。但在一個編碼體系中,一個對象只能賦予它的代碼。
合理性,代碼結(jié)構(gòu)與相應的分類體系相對應。
可擴充性。應留有充分的余地,以備將來不斷擴充的需要。
簡單性。結(jié)構(gòu)盡可能簡單,以減少各種差錯。
適用性。代碼盡可能反映對象的特點,以助記憶,便于填寫。
規(guī)范性。國家有關編碼標準是代碼設計的重要依據(jù),已有標準的必須遵循。在一個代碼體系中,代碼結(jié)構(gòu)、類型、編寫個是必須統(tǒng)一。
系統(tǒng)性。有一定的分組規(guī)則,從而在整個系統(tǒng)中具有通用性。
3.4.4.2輸出設計
從系統(tǒng)開發(fā)的角度看,輸出決定輸入,即輸入信息只有根據(jù)輸出要求才能確定。
3.4.4.3輸入設計
輸入設計的目的是保證向系統(tǒng)輸入正確的數(shù)據(jù)。
3.4.4.4處理過程設計
總體結(jié)構(gòu)設計將系統(tǒng)分解成許多模塊,并決定了每個模塊的外部特征:功能與界面。計算機處理過程的設計則要確定每個模塊的內(nèi)部特征,即內(nèi)部的執(zhí)行過程,包括局部的數(shù)據(jù)組織、控制流、每一步的具體加工要求及種種事實細節(jié)。通過這樣的設計,為編寫程序制定一個周密的計劃。
處理過程設計的關鍵是用一種合適的表達方法來描述每個模塊的執(zhí)行過程。這種表示方法應該簡明、精確,并由此能直接導出用編程語言表示的程序。常用的描述方式由圖形、語言和表格等3類。
1.程序流程圖
2.盒圖(NS圖)
3.形式語言
4.決策樹
5.決策表
3.4.4.5數(shù)據(jù)存儲設計
信息系統(tǒng)的主要任務是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲和管理大量的數(shù)據(jù)。因此建立一個良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫,使整個系統(tǒng)都可以迅速、方便、準確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標之一。
3.4.4.6用戶界面設計
用戶界面是系統(tǒng)與用戶之間的接口,也是控制和選擇信息輸入輸出的主要途徑。用戶界面設計應堅持友好、簡便、實用、易于操作的原則。
用戶界面設計包括菜單方式、會話方式、操作提示方式,以及操作權(quán)限管理方式等。
3.4.4.7安全控制設計
從數(shù)據(jù)環(huán)境和數(shù)據(jù)處理兩方面看,影響系統(tǒng)安全的因素有:
環(huán)境性因素。
數(shù)據(jù)處理因素。
3.4.5系統(tǒng)設計報告
系統(tǒng)設計階段的最終結(jié)果是系統(tǒng)設計報告。系統(tǒng)設計報告是下一步系統(tǒng)實施的基礎。
從系統(tǒng)調(diào)查、系統(tǒng)分析到系統(tǒng)設計是信息系統(tǒng)開發(fā)的主要工作,這3個階段的工作量幾乎占了總開發(fā)工作量的70%,而且這3個階段所用的工作圖表較多,涉及面廣,較為復雜。
以下內(nèi)容節(jié)選自清華大學版《系統(tǒng)分析師教程》
僅供學習、參考使用,詳細內(nèi)容請查閱原著
-----------------------------------------------------
3.4.1系統(tǒng)設計概述
系統(tǒng)設計是信息系統(tǒng)開發(fā)過程中另一個重要階段。這一階段中,要根據(jù)前一階段系統(tǒng)分析的結(jié)果,在已經(jīng)獲得批準的系統(tǒng)分析報告的基礎上,進行新系統(tǒng)設計。
系統(tǒng)設計的主要目的就是為系統(tǒng)制定藍圖,在各種技術(shù)和實施方法中權(quán)衡利弊,精心設計,合理使用各種資源,最終勾畫出新系統(tǒng)的詳細設計方案。
但是,實際情況往往與主觀設定存在差距,項目開發(fā)過程中并不總是能按總體計劃分階段順利推進,甚至造成反復,究其原因有:
1.傳統(tǒng)方法認為“系統(tǒng)設計之前,用戶的所有的需求都能被預先定義”。
2.在生命周期法中,系統(tǒng)分析通常用數(shù)據(jù)流圖、數(shù)據(jù)字典、判斷表等工具來描述目的系統(tǒng)的邏輯模型,這些文字和圖形工具被認梢猿浞址從承孿低車穆嘸δ堋?/P>
3.生命周期法將開發(fā)過程嚴格劃分為幾個不同階段,并嚴格分離,即后一個階段工作必須在前一階段結(jié)束才能進行,把各個階段工作的變化幅度限制在一個特定的范圍內(nèi)。
3.4.1.1系統(tǒng)設計的內(nèi)容和步驟
為保證總體結(jié)構(gòu)設計的順利完成,主要應遵循以下幾條原則:
1.分解-協(xié)調(diào)原則。整個系統(tǒng)是一個整體,具有整體的目的和功能。但這些目的和功能的實現(xiàn)又是由相互聯(lián)系的各個組成部分共同工作的結(jié)果。解決復雜問題的一個很重要的原則就是把它分解成多個小問題分別處理,在處理過程中根據(jù)系統(tǒng)總體要求協(xié)調(diào)各部門的關系。在系統(tǒng)中,應按以下要求分解:
按系統(tǒng)的功能進行分解
按管理活動和信息運動的客觀規(guī)律分解
按系統(tǒng)的工作規(guī)程分解
按用戶工作的特殊需要分解(如按保密的要求)
按開發(fā)、維護和修改的方便性分解
協(xié)調(diào)的依據(jù)主要是:
目的調(diào)節(jié)
工作進程調(diào)節(jié)
工作規(guī)范和技術(shù)規(guī)范協(xié)調(diào)
信息協(xié)調(diào)(指信息的提供和收回)
業(yè)務內(nèi)容協(xié)調(diào)(如某些業(yè)務指標的控制)
2.自頂向下的原則
3.信息隱蔽、抽象的原則
4.一致性的原則
5.明確性原則
6.模塊之間的耦合盡可能小,模塊內(nèi)部組合要盡可能緊湊。
7.模塊的扇入系數(shù)和扇出系數(shù)要合理。
8.模塊的規(guī)模適當
3.4.2系統(tǒng)總體結(jié)構(gòu)設計
系統(tǒng)總體結(jié)構(gòu)設計是要根據(jù)系統(tǒng)分析的要求和組織的實際情況來對新系統(tǒng)的總體結(jié)構(gòu)形式和可利用的資源進行大致設計,這是一種宏觀、總體上的設計和規(guī)劃。
3.4.2.1子系統(tǒng)劃分
1.子系統(tǒng)劃分的原則
為了方便今后系統(tǒng)開發(fā)和系統(tǒng)運行,子系統(tǒng)的劃分應遵循如下幾點原則:
子系統(tǒng)要具有相對獨立性。
子系統(tǒng)之間數(shù)據(jù)的依賴性盡量小
子系統(tǒng)劃分的結(jié)果應使數(shù)據(jù)冗余較小
子系統(tǒng)的劃分應便于系統(tǒng)分階段實現(xiàn)
子系統(tǒng)的劃分應考慮到各類資源的充分利用
2.系統(tǒng)劃分方法的分類
3.4.2.2子系統(tǒng)結(jié)構(gòu)設計
子系統(tǒng)結(jié)構(gòu)設計的任務是確定劃分后的子系統(tǒng)的模塊結(jié)構(gòu),并畫出模塊結(jié)構(gòu)圖。這個工程中必須考慮以下幾個問題:
每個子系統(tǒng)如何劃分多個模塊
如何確定子系統(tǒng)之間、模塊之間傳送的數(shù)據(jù)及其調(diào)用關系
如何評價并改進模塊結(jié)構(gòu)的質(zhì)量
如何從數(shù)據(jù)流圖導出模塊結(jié)構(gòu)圖
3.4.2.3網(wǎng)絡設計
網(wǎng)絡設計首先要根據(jù)系統(tǒng)的要求選擇網(wǎng)絡的結(jié)構(gòu)。然后根據(jù)系統(tǒng)結(jié)構(gòu)劃分的結(jié)果,安排網(wǎng)絡和設備的分布,再根據(jù)物理位置來考慮聯(lián)網(wǎng)布線和配件,最后就是根據(jù)實際業(yè)務的要求劃定網(wǎng)絡個結(jié)點的級別、管理方式、數(shù)據(jù)讀寫的權(quán)限、選擇相應的軟件系統(tǒng)等。
3.4.2.4硬件設備及配置
在確定了系統(tǒng)的劃分后,就可以考慮各子系統(tǒng)的設備,即計算機和網(wǎng)絡設備的配置問題,以及如何將這些分布的設備和任務、功能、數(shù)據(jù)資源等集中統(tǒng)一管理。
3.4.3系統(tǒng)模塊結(jié)構(gòu)設計
3.4.3.1模塊的概念
模塊是組成系統(tǒng)的基本單位,它的特點是可以組合、分解和更換。系統(tǒng)中任何一個處理功能都可以看成是一個模塊。根據(jù)模塊功能具體化程度的不同,可以分為邏輯模塊和物力模塊。在系統(tǒng)邏輯模型中定義的處理功能可視為邏輯模塊。物理模塊是邏輯模塊的具體化,可以是一個計算機程序、子程序或若干條程序語句,也可以是人工過程的某項具體工作。
3.4.3.2模塊結(jié)構(gòu)圖
模塊結(jié)構(gòu)圖主要關心的是模塊的外部屬性,即上下級模塊、同級模塊之間的數(shù)據(jù)傳遞和調(diào)用關系,并不關心模塊的內(nèi)部。
模塊結(jié)構(gòu)圖式結(jié)構(gòu)設計中描述系統(tǒng)結(jié)構(gòu)的圖形工具。作為一種文檔,它必須嚴格地定義模塊的名字、功能和接口,同時還應當在模塊結(jié)構(gòu)圖上反映出結(jié)構(gòu)化設計的思想。
3.4.3.3模塊的變化型分析與事務型分析
一個系統(tǒng)的模塊結(jié)構(gòu)圖一般有兩種標準形式,變換型模塊結(jié)構(gòu)和事務型模塊結(jié)構(gòu)。
變換型模塊結(jié)構(gòu)描述的是變換型系統(tǒng)。變換型系統(tǒng)由3部分組成:輸入、數(shù)據(jù)加工(中心變換)和輸出,它的功能是將輸入的數(shù)據(jù)經(jīng)過加工后輸出。事務型系統(tǒng)由3層組成:事務層、操作層和細節(jié)層。它的功能是對接收的事務按其類型選擇某一事務處理。
1.變換型分析
變換型分析過程可以分為3步
(1)找出系統(tǒng)底層邏輯輸入、主加工和邏輯輸出
(2)設計頂層模塊和第一層模塊
(3)對輸入、變換、輸出模塊逐個分解,便可得到初始結(jié)構(gòu)圖
2.事務型分析
事務型分析也是“自頂向下,逐步細化”的原則進行。先設計模塊,其功能就是整個系統(tǒng)的功能。下面有一個“分析模塊”和“調(diào)度模塊”。前者分析事務的類型,后者根據(jù)不同的類型調(diào)用相應的下層模塊。
3.4.3.4模塊的耦合與內(nèi)聚
一個合理的模塊劃分,應該是內(nèi)部聯(lián)系強,模塊間盡可能獨立,接口明確、簡單,有適當?shù)墓眯?,要滿足“歐和小,內(nèi)聚大”的原則。
3.4.4系統(tǒng)詳細設計
3.4.4.1代碼設計
代碼是用來表征客觀事物的一組有序的符號,以便易于計算機和人工識別與處理。代碼的類型指代碼符號的表示形式,一般有數(shù)字型、字母型、數(shù)字字母混合型等。3種類型的代碼各有所長,應根據(jù)使用者的要求、信息量的多少、信息交換的頻度、使用者的習慣等方面綜合考慮。
代碼設計應該遵循以下基本原則:
性,一個對象可能有多個名稱,也可按不同的方式對它進行描述。但在一個編碼體系中,一個對象只能賦予它的代碼。
合理性,代碼結(jié)構(gòu)與相應的分類體系相對應。
可擴充性。應留有充分的余地,以備將來不斷擴充的需要。
簡單性。結(jié)構(gòu)盡可能簡單,以減少各種差錯。
適用性。代碼盡可能反映對象的特點,以助記憶,便于填寫。
規(guī)范性。國家有關編碼標準是代碼設計的重要依據(jù),已有標準的必須遵循。在一個代碼體系中,代碼結(jié)構(gòu)、類型、編寫個是必須統(tǒng)一。
系統(tǒng)性。有一定的分組規(guī)則,從而在整個系統(tǒng)中具有通用性。
3.4.4.2輸出設計
從系統(tǒng)開發(fā)的角度看,輸出決定輸入,即輸入信息只有根據(jù)輸出要求才能確定。
3.4.4.3輸入設計
輸入設計的目的是保證向系統(tǒng)輸入正確的數(shù)據(jù)。
3.4.4.4處理過程設計
總體結(jié)構(gòu)設計將系統(tǒng)分解成許多模塊,并決定了每個模塊的外部特征:功能與界面。計算機處理過程的設計則要確定每個模塊的內(nèi)部特征,即內(nèi)部的執(zhí)行過程,包括局部的數(shù)據(jù)組織、控制流、每一步的具體加工要求及種種事實細節(jié)。通過這樣的設計,為編寫程序制定一個周密的計劃。
處理過程設計的關鍵是用一種合適的表達方法來描述每個模塊的執(zhí)行過程。這種表示方法應該簡明、精確,并由此能直接導出用編程語言表示的程序。常用的描述方式由圖形、語言和表格等3類。
1.程序流程圖
2.盒圖(NS圖)
3.形式語言
4.決策樹
5.決策表
3.4.4.5數(shù)據(jù)存儲設計
信息系統(tǒng)的主要任務是通過大量的數(shù)據(jù)獲得管理所需要的信息,這就必須存儲和管理大量的數(shù)據(jù)。因此建立一個良好的數(shù)據(jù)組織結(jié)構(gòu)和數(shù)據(jù)庫,使整個系統(tǒng)都可以迅速、方便、準確地調(diào)用和管理所需的數(shù)據(jù),是衡量信息系統(tǒng)開發(fā)工作好壞的主要指標之一。
3.4.4.6用戶界面設計
用戶界面是系統(tǒng)與用戶之間的接口,也是控制和選擇信息輸入輸出的主要途徑。用戶界面設計應堅持友好、簡便、實用、易于操作的原則。
用戶界面設計包括菜單方式、會話方式、操作提示方式,以及操作權(quán)限管理方式等。
3.4.4.7安全控制設計
從數(shù)據(jù)環(huán)境和數(shù)據(jù)處理兩方面看,影響系統(tǒng)安全的因素有:
環(huán)境性因素。
數(shù)據(jù)處理因素。
3.4.5系統(tǒng)設計報告
系統(tǒng)設計階段的最終結(jié)果是系統(tǒng)設計報告。系統(tǒng)設計報告是下一步系統(tǒng)實施的基礎。
從系統(tǒng)調(diào)查、系統(tǒng)分析到系統(tǒng)設計是信息系統(tǒng)開發(fā)的主要工作,這3個階段的工作量幾乎占了總開發(fā)工作量的70%,而且這3個階段所用的工作圖表較多,涉及面廣,較為復雜。