第三節 係統的分析與設計(1 / 3)

第三節 係統的分析與設計

係統分析是開發過程中使係統設計合理、優化的重要步驟。這個階段的工作深入與否,直接影響到將來係統的設計質量和經濟性,因此,必須給予高度重視。實踐表明,許多管理信息係統的失敗原因往往與忽視或沒有做好係統分析有直接關係。

係統分析工作就是在係統調查的基礎上,將收集到的資料進行整理、提煉,用數據和信息流的方式描述係統的結構,以及達到係統目標所采用的技術手段。

一、係統分析的任務

在調查工作中是掌握管理業務流程,是客觀事物的一種描述,分析工作的首要任務就是將其進行從客觀事物實體到信息的轉換,即用信息流描述研究的內容,以便進行管理信息係統的實現。

在實際工作中,係統調查和係統分析沒有非常明顯的界限,將它們完全獨立開來對待,是非常機械的和不切實際的。

(一)業務流程的分析

為了實現管理信息係統的係統化分析,還要對當前管理業務流程進一步調查研究和分析,從現有的業務流程中將信息流提取出來,有效的方法是繪製業務流程圖,用圖形方式描述業務信息的流程,並按信息化管理要求優化當前的業務流程,在此基礎上對各種數據的屬性和各項處理功能進行詳細的分析。

(二)數據分析

數據分析的任務是徹底了解數據流程圖中出現的各種數據的屬性,數據的存貯情況和對數據查詢的要求,予以定量的描述和分析。數據流程圖通過業務流程圖分析後得出。

1.數據屬性的分析

數據是用屬性的名和屬性的值描述事物某方麵的特征。一個事物的特征可能是多方麵的,需要用多個屬性的名和其相應的值來描述。例如,某客房,其屬性名/屬性值有:客房類型/普通客房丙,床位數/2,房價/100元等。

為了反映所有客房的特征,將各種客房的屬性名和屬性值彙總起來,形成一個二維表格。表中每一行代表一個實體,每一列代表一個屬性,表中每一項為屬性值。

對數據還應分析:

數據項的類型:如是字母,還是數字,或其他的類型。

數據項值的範圍:如房價50~500元人民幣,100~300美元等。

數據屬性值的意義:如普通客房甲為一等雙人單間客房,普通客房丁為四人雙間套房。

數據項的字長:如房價最大長度為3位。

關於數據還需了解,該數據與其他數據之間的邏輯關係,數據的業務發生量,數據的重要程度和保密要求等等。

2.數據查詢要求的分析

在調查中,需了解用戶經常通過何種方式查詢數據,以及可能提出的各種查詢要求。為了有的放矢地組織數據的存儲,采取高效率的檢索技術,係統分析員應將用戶經常提出的問題列出查詢清單,例如:“今天來了多少客人?”,“今天會議有哪些?”,“某某客人來自哪個國家?”等等。用戶的查詢需求,是設計管理信息係統查詢功能的依據。

數據分析的結果是數據庫設計的依據。

二、係統分析的方法

在分析工作中通常采用的方法如下:

(一)結構化方法

所謂結構化就是將係統逐漸分解,首先分解成多個子係統,每個子係統繼續分解,最後分解到具體的功能模塊。每個模塊的功能相對獨立,可以單獨設計和調試,模塊與模塊之間近似獨立,幹擾較少。所以,結構化設計又稱為模塊化設計。

在調查的基礎上,根據業務處理的信息需求分析,將整個係統首先分解成幾個業務處理比較獨立的部分,即子係統。具體分解根據係統規模而定,大型係統可以按業務處理部門分解,小型係統可以按功能劃分。如飯店管理信息係統,可分為接待、預訂、客房、收銀、餐飲、夜審等子係統。一般小型係統分為輸入、打印、處理、查詢和維護等子係統。

通過模塊和模塊之間的數據交換需要,描述係統的信息流動方向和加工處理功能。

(二)數據抽象

所謂數據抽象就是將管理業務的特征用數據方式進行描述。每種業務都用一組數據表示,每個數據賦予名稱,用唯一的一組數據區別每筆業務處理的數據。具體表現形式就是對數據屬性進行分析。

(三)繪製數據流程圖

數據流程圖用圖形符號表示數據的流動和處理的過程,流程圖的特點是簡單明了,顯見易懂,是用戶和開發人員分析交流的常用工具。圖中的符號也比較簡單,僅有處理邏輯框、數據存儲、外部實體和數據流向四種圖符。流程圖也可以繼續細分,每個部分還能繼續分解成若幹個步驟和處理過程。因此,數據流程圖是由上至下、由粗到細、逐步分解的層次結構圖,也是係統詳細設計中模塊結構設計的依據。

(四)合並和分解

1.數據合並

對某些具有相似意義的同類數據進行合並,將複雜的數據進行分解,目的是使數據規範化,便於計算機信息處理。

在賬務係統中憑證種類很多,如:銀行收、付款憑證;現金收、付款憑證;轉賬憑證等。如果每種憑證都使用一組數據定義,係統將十分煩瑣,因此我們統一用“記賬憑證”描述,簡化了數據結構。如果需要,可以在屏幕上設計出各種憑證格式,但是在計算機內部采用統一的數據格式處理。這種方式就是合並。

2.處理過程合並

在手工賬務處理中,憑證記賬要寫入日記賬、明細賬和總賬。采用管理信息係統中的賬務處理,在內部可以隻記入明細賬,所需要的日記賬和總賬都可以從明細賬中導出,這樣減少了數據重複存放的冗餘現象,這體現了處理過程的合並。實際上,處理過程合並是以數據合並為基礎的。

3.數據分解

在數據加工過程中需要很多數據,在數據組織時,為了簡化組織形式,便於數據存取和檢索,往往將一部分數據分離出去,通過代碼保持數據和數據之間的關係。如客人入住登記單上保留“登記單號”和“姓名”,在實際的消費賬單上隻記載客人的“登記單號”而不是姓名,通過登記單號保持兩組數據的一致性。這種分解方法,對於後麵的數據庫設計是非常必要的。