面向過程的軟體設計方法

來源:互聯網
上載者:User

    前面主要是對系統的分析,從而明確我們系統的邏輯模型。也就是說,通過前面幾章我們清楚了“系統需要做什嗎?”。而軟體設計階段主要任務則是要實現系統邏輯模型向物流模型的轉化,即“系統是如何?”的問題。

    例如,下面是面向過程的軟體設計方法階段的一個大概圖,主要包括這幾個方面:軟體設計的目標和任務、軟體設計基礎、模組獨立性、設計類型、結構化設計方法以及最後形成概要設計說明書等。


   我們進行軟體設計,其主要目標是為了瞭解軟體的需求並且明確軟體的主要功能。在這階段主要產生資料設計,資料結構的定義和過程設計。

例如,下面的開發資訊流


   我們可以看出,軟體設計主要來源於資訊域需求,功能與效能的需求。然後在設計階段主要圍繞著資料設計、系統結構設計和過程設計三個方面來進行,最後才進入到下一階段,即編碼階段。

   軟體設計階段的任務主要是完成軟體設計的概要設計和詳細設計。

   在概要設計階段主要是完成系統的結構設計,包括劃分模組以及模組的層次。而詳細設計主要是完成資料設計,例如對資料的描述,定義等。

   軟體設計的目的和任務,規定了我們對軟體的具體需求,為了實現這一階段需要的任務。需要我們具備一些軟體技術基礎,其包括:

1.自頂向下,逐步細化:將軟體的體繫結構按自頂向下方式,對各個層次的過程逐層細化。把一個大的問題,分解成若干個子問題,從頂層開使進行劃分,一直到不能再分解為止。


2.軟體結構包括兩部分:程式的模組結構和資料結構,軟體的體繫結構通過劃分的過程:需求分析——確立的目標系統——模型出發——對整個問題進行分解,再對子問題進行求解。


例如的程式結構圖:

3.結構圖:反應程式中之間的層次調用關係和聯絡。

4.所謂模組,是指具有相對獨立性的,由資料說明,執行語句等程式對象構成的集合。


瞭解了模組之後,我們來瞭解模組之間的調用關係和介面:

圖中表示:A 迴圈的調用 C和D和有條件的調用B


下面一張是程式的系統結構圖:

   下面我們來瞭解圖中涉及到的一些基本概念:

寬度:表示任一層模組數的多少,也就是每一層當中有多少個模組!

深度:表示模組的層次數。即圖中有多少個層次。

扇出:表示每一模組帶出的多少,也就是負載。例如,C的扇出為2,B的扇出為1.

扇入:表示這個模組被多少個模組調用。例如T的扇入為4,注意的是,扇入一般為1—5之間。

模組的對立性:

   要瞭解模組的對立性,我們要先弄清楚什麼是模組:所謂模組,是指具有相對獨立性的,由資料說明,執行語句等程式對象構成的集合。一個模組具有輸入/輸出(介面)、功能、內部資料和程式碼四個特徵。輸入/輸出主要是用於實現模組與其他模組間的資料傳送,即向模組傳入所需未經處理資料及從模組傳出得到的結果資料。功能指模組所完成的工作。內部資料是指僅能在模組內部使用的局部量。程式碼用於描述實現模組功能的具體方法和步驟。


模組的獨立性是指每個模組只需完成系統要求的獨立子功能,與其他模組的聯絡少!一般遵循高內聚、低耦合的原則。

系統結構圖中的模組主要包括以下模組:

傳入模組:從下屬模組中取得資料,經過某些處理,傳入上級模組,傳送的是邏輯資料流。

傳出模組:從上級模組獲得資料處理之後傳到下級模組。

變換模組:從上級模組取得資料,經過特定處理之後,又返回到下級模組。

協調模組:對所有的下屬模組進行協調和管理,例如d圖中把X經過協調之後,變成了Y。

這幾個模組在下面的圖當中都會涉及到:特別是在變換型系統結構圖和事務型系統結構圖中。


例如:變換型系統結構圖

變換型資料處理主要分為三步即,取得資料,變換資料和給出資料。

   中要注意的是:在輸入的時候,左邊的模組是輸入模組,右邊的是變換模組,即先輸入後變換;在輸出的時候,則是要進行先變換後輸出。


又如:事務型系統結構圖

根據交易處理的特點和性質,選擇指派一個適當的處理單元,然後給出結果。


事務型資料處理,依賴於變換型,不同的是在交易處理中心有多條道供你選擇。中出現的調度模組,資料經過調度完成之後,又返回到事務中心,然後進行輸出!並且在調度模組提供了多個事務供你選擇!


程式流程圖:主要有五種基本控制結構:


N-S圖:也叫盒圖,五種基本控制結構用N-S圖表示如下:


PAD圖:問題分析圖


使用問題分析圖的好處是:

1:使用PAD圖一定是結構化的程式

2.用PAD圖描述的流程圖比較清晰

3.可以表示程式的邏輯結構,易懂而且便於我們記憶。

4.嵌套層次清晰,可以很容易的將PAD圖轉變為進階的程式

5.可以描述資料結構

6.支援自頂向下,逐步求精方法使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.