自考“管理系統中計算機應用”課堂筆記(十一)
5.3系統分析報告
系統分析階段更后一項任務是編寫系統方案說明書。它實際上是整個系統分析階段的工作總結或成果,又是企業領導對系統進入設計階段決策的依據,其主要內容包括:
1.原系統的狀況和問題
2.新系統的目標
3.新系統的邏輯設計
4.有關新系統方案的比較
6.l系統總體結構設計
6.1.1系統總體結構設計的任務
系統總體結構設計的任務,是根據系統分析的邏輯模型設計應用軟件系統的物理結構。系統物理模型必須符合邏輯模型,能夠完成邏輯模型所規定的信息處理功能,這是物理設計的基本要求。
系統應具有可修改性,即易讀,易于進行查錯、改錯、可以根據環境的變化和用戶的要求進行各種改變和改進。系統是否具有可修改性,對于系統開發和維護影響極大。據統計,在系統生命周期中各階段的應用軟件費用及人力投入大體分布如下:
。系統開發:20%
。系統維護:80%
6.1.2結構化設計的基本思想
1.結構化設計的要點
系統是否具有可修改性與其結構有著密切的關系。“結構化設計”的構想,成為系統設計的基本思想。其要點如下:
(1)模塊化。
(2)由頂向下,逐步求精。系統劃分模塊的工作應按層次進行:①把整個系統看做一個模塊,然后把它按功能分解成若干第一層模塊,它們各擔負一定的局部功能,共同完成整個系統的功能。②每個第一層模塊又可以進一步分解成為更簡單一些的第二層模塊,越下層的模塊,其功能越具體、越簡單。
(3)上層模塊分解為下層模塊,有三種不同的結構形式,即順序結構、選擇結構和循環結構。
控制結構圖也稱為軟件結構圖或模塊結構圖,它表示出一個系統的層次分解關系、模塊調用關系、模塊之間數據流和控制信息流的傳遞關系,它是系統物理結構的主要工具。
2.控制結構圖的基本符號和規定
(1)每個模塊有自身的任務,只有接收到上級模塊的調用命令時才能執行。
(2)模塊之間的通信只限于其直接上、下級模塊,任何模塊不能直接與其他上下級模塊或同級模塊發生通信聯系。
(3)若有某模塊要與非直接上、下級的其他模塊發生通信聯系,必須通過其上級模塊進行傳遞。
(4)模塊調用順序為自上而下。在控制結構圖中,把一個系統分解為若干模塊,實質上是把一件比較抽象、其物理內容不大確定的任務,分解為若干件比較具體的、物理內容比較確定的任務。
控制結構圖既可以反映系統整體結構,又能反映系統的細節,能準確反映各組成部分(各模塊)及它們之間的聯系。
6.1.3模塊分解的規則
1.模塊獨立性
所謂兩個模塊彼此完全獨立,是指其中任一模塊在運行時,與另一個模塊存在無關。獨立性只是一個相對的概念。具有獨立功能而且和其他模塊之間相互作用少的模塊,稱為獨立性高的模塊。
保證模塊獨立性高是設計一個系統的關鍵,它具有以下優點:
(1)系統容易開發。系統開發往往由若干人分工合作完成,由于模塊之間聯系少,接口簡單,可以簡化合作者之間的協調工作。
(2)系統可*性高。模塊之間的相互影響小,當一個模塊出錯時,產生波動效應的概率低,從而提高了系統的可*性。
(3)系統容易維護。在對一個模塊進行修改和維護時,不必擔心其他模塊的內部是否會受到影響。
要衡量模塊自身聯系是否緊密、與外部的聯系是否合理,需引入模塊凝聚、模塊耦合的概念。
2.模塊凝聚
模塊凝聚是用以衡量一個模塊內部自身功能的內在聯系是否緊密的指標,也是衡量模塊質量好壞的重要標準。模塊按凝聚程度的高低可分為以下五級:
(1)偶然凝聚。一個模塊內部各組成部分的處理彼此無關,偶然地組合在一起,這是一種組織得更差的模塊,凝聚程度更低。
(2)邏輯凝聚。一個模塊內部各組成部分的處理邏輯相似,但功能卻彼此不同。這種模塊通常包含一個選擇控制和若干彼此獨立的處理功能。先執行選擇功能,再根據選擇的結果,控制執行不同的處理功能。由于它的邏輯途徑比較復雜,修改困難,因此凝聚程度較差。
(3)時間凝聚。這是指若干處理由于執行時間彼此有關,集中在一起組成的模塊。如初始化模塊,各處理內容必須在特定時間內執行,而各處理內容彼此無關,故凝聚程度較差。時間凝聚的模塊通常要影響到其他許多模塊的運行,因此與其他模塊之間聯系多,修改比較困難。
(4)數據凝聚。模塊內部包含若干處理,它們按一定的順序執行,且前一處理所產生的輸出數據,是后一處理的輸入數據,這稱為數據凝聚模塊。這種模塊可較明確表述其功能,內部結構較密切,與其他模塊聯系一般較少,凝聚性較好。
(5)功能凝聚。一個模塊只執行一個明確的功能,即上級模塊調用它時,它只完成一項確定的任務。這種模塊獨立性強、便于修改。凝聚程度高,是結構化設計模塊的理想目標。一個模塊的內部凝聚程度。
3.模塊耦合
模塊間的信息聯系方式,稱為模塊的耦合,它是衡量模塊間結構性能的重要指標。耦合有三種類型:
(1)數據耦合。兩個模塊間通過調用關系傳遞被處理的數據稱為數據耦合。
(2)控制耦合。兩個模塊間通過調用關系,不僅傳遞數據,還傳遞對運行過程有影響的控制信號。下層模塊執行校驗功能,校驗結果的控制信號傳回上層模塊,以控制其他模塊的運行。如數據正確,調用正常處理模塊;如數據異常,或遇到文件尾等不同情況時,調用不同處理模塊,這種耦合使一個模塊的執行直接影響到接受該控制信號的模塊的運行。這對于系統的修改工作是不利的,特別是對自下向上傳遞的控制信號,影響面更大。因此,應當盡量將這種耦合減少到更低限度。
(3)非法耦合。一個模塊與另一個模塊內部發生聯系,即一個模塊中的某些內容在另一模塊中以某種方式被引用,稱為非法耦合。例如,不經過調用關系,直接使用或修改另一模塊中的數據,將控制選擇指向另一模塊中的某一標號(節、過程)等。
模塊間數據耦合是更正常的方式,為保持模塊的獨立性,模塊之間互相傳遞的數據要盡量少;要努力避免控制耦合,特別是避免自下而上傳遞控制信號;應消除任何形式的非法耦合。
6.1.4控制結構圖的繪制
繪制控制結構圖的依據是數據流程圖。繪制控制結構圖,首先是將上層數據流程圖映射為上層控制結構圖,由頂層數據流程圖開始,逐級下推。
每一層數據流程圖(DFD)中的“處理功能”,映射為相應層次控制結構圖中的“模塊”;而DFD中流人“處理功能”的數據流映射為輸入模塊的數據流,DFD中流出“處理功能”的數據流映射成從“模塊”中輸出的數據流。能結構;另一方面應按照模塊分解的規則,將凝聚程度低的、或具有控制耦合、非法耦合的結構進行分解。
低層次模塊結構的分解,一方面可參照低層次數據流程圖的功
分解時采用以下兩種不同的方式:
1.以轉換為中心結構的分解
如果待分解的模塊是一個數據凝聚的模塊,即內部包含若干順序執行且對某些數據進行轉換處理,稱為以轉換為中心的結構。這種模塊可分解為輸入、處理、輸出三大部分。
2.以業務為中心結構的分解
待分解的模塊要處理幾項邏輯上相似的業務,即它是一個邏輯凝聚的模塊。這種模塊可以將之分解為一個檢查業務類型的模塊和一個調度模塊,根據不同的業務類型,調度模塊調用不同的下層模塊,進行不同的處理。
以上兩種分解方式常常要混合使用,以達到模塊凝聚程度高、模塊之間獨立性強、易于修改的目的。(以上內容僅供參考)




