天天看點

淺談資料分析四大方法

       在一個軟體和系統開放中,需求分析是最要的一部分,隻有需求分析做好了,才能為以後打好基礎.

1.功能分解方法

       功能分解方法是最早的分析方法,這種方法是将一個系統看成是由若幹功能構成的一個集合,每個功能又可劃分若

幹個子功能,一個子功能又進一步分解成若幹個子功能.這樣功能分解方法有功能,子功能和功能接口三個組成要素.這種

方法的關鍵是利用以往的經驗,對一個新的系統預先設定加工和步驟,出發點凡在這個新系統需要進行什麼樣的加工上.

也就是把軟體需求當作一顆倒置的功能樹,樹葉是子子功能,整棵樹就是一個資訊系統的全部功能樹.功能分解法展現

了"自頂向下,逐漸求精"的思想,本質上是用過程抽象的觀點來看待需求,符合傳統程式設計人員的思維特征,最後分解的

結果一般已經是系統程式結構的一個雛形,實際她已經很難與軟體設計明确分離.但是這種方法難以适應使用者的需求變

化.

2.結構化分析方法

       結構化分析方法是一種從問題空間到某種表示的映射方法,軟體功能由資料流圖表示,是結構化方法中重要的被普

遍采用的方法,它由資料流圖和資料字典構成系統的邏輯模型.而且結構化分析(Structured Analysis)方法是一種簡單,實

用的軟體需求分析方法,特别适合于資訊控制和資料處理系統.像所有的軟體分析方法一樣,SA方法也是一種模組化活動,

該方法使用簡單易讀的符号,根據軟體内部資料傳遞.變化關系,自頂向下逐層分解.描繪滿足功能需求分析的軟體模型.

下圖就是自頂向下逐層分解的示意圖:

淺談資料分析四大方法

頂層的系統P很複雜,可以把它分解為0層的1,2,3三個子系統.在這三個子系統中,子系統1和3仍很複雜,可以把他們分解

為子系統1.1,1.2,1.3和3.1,3.2,3.3,3.4,3.5…..直到分解所得到的子系統都能被清楚地了解和實作為止.當然,如果子系統

已經能夠清楚了解和容易實作,就不需要再分解它.比如,子系統就不要再分解了."分解"和"抽象"在自頂向下逐層分解中

是兩個互相聯系的概念.上層是下層的抽象,而下層是上層的分解,中間層是從抽象到具體的逐漸過渡,這種層次分解使分

析人員分析問題時不至于一下子考慮過多的細節,而是逐漸去了解更多細節.

       對于任何比較複雜的大系統,分析工作都可以按照這種政策有計劃,有步驟,有條不絮的進行.

       有分析政策,就要付出行動,話說"心動,不如行動"付出行動,肯定少不了工具.看看結構化分析的三大工具:資料流圖.資料字典,描述加工邏輯描述.

1)資料流圖

       資料流圖(Data Flow Diagram,DFD)是SA方法中用于表示系統邏輯模型的一種工具.它以直覺的圖形清晰地描述了

系統資料的流動和處理過程,途中沒有任何具體的實體元素.主要強調的是資料流和處理過程,圖中沒有任何具體的實體

元素,主要喝死強調的是資料流和處理過程.即使不是計算機專業技術人員也可以很容易的了解,資料流圖是軟體開發人

員和使用者之間很好的通信工具.設計資料流圖時隻需考慮軟體系統必須完成的基本邏輯功能不需要考慮如何具體實作這

些功能 ,它是軟體開發的出發點.訂機票的資料流圖如下:

2)資料字典

       資料字典(Data Dictionary,DD)是對資料流圖中所包含元素的定義的集合,資料流圖隻描述了系統的"分解",系統由

哪幾部分組成,各部分之間的聯系,并沒有對所有的圖形元素都進行命名,這些名字都是一些屬性和内容抽象的概括,沒有

直接參加定義的人對每個名字可能有不同的了解,對一個軟體來說,對資料流圖中命名的不同了解,将會給以後的開發和

維護工作造成災難.資料字典的作用也正是在軟體分析和設計的過程中給人提供資料描述.即讀資料存儲和加工等名字

進行定義.這個定義是嚴密而精确的,不應該有半點的含糊,因為它主要的作用是供人查閱,并應以一種準确的,無二義性

的說明方式為系統分析,設計及維護提供有關元素的一緻的定義和詳細的描述,資料流圖和資料字典共同構成系統的邏

輯模型.

上圖訂機票系統的資料流圖中,資料流條目有:

訂機票=姓名+住址+電話+航班号+日期+起點+終點

航班=日期+航班号+姓名

機票=姓名+日期+航班号+座位等級+起點+終點+費用

資料存儲條目有:

航班目錄檔案={航班号+起點+終點+時間}

記賬檔案={旅客+航班+機票價+機場建設費}

3)加工邏輯的描述

        加工邏輯也稱為"小說明",是對資料流圖中每個加工所作的說明,小說明集中描述一個加工"做什麼",即加入邏輯,而

不是"怎麼做".加工邏輯是指使用者對這個加工的邏輯要求,即這個加工的輸出資料流和輸入資料流的邏輯關系.小說明并

不是描述具體加工過程.描述加工邏輯一般用結構化語言,判斷表和判斷樹.

淺談資料分析四大方法
  1. 結構化語言

例如:如果年齡在25歲以下者,國中教育程度脫産學習,高中教育程度當電工,年齡在25歲至40歲之間者,中學教育程度男

性當鉗工,女性當車工,大學教育程度的當技術員,年齡在40歲到50歲之間者的,中學文程度當交通協管員,大學教育程度

當技術員.用結構化語言編寫該加工邏輯說明為:

If 年齡 <= 25 Then

    If 教育程度 = 國中 Then 脫産學習

End If

If 教育程度 = 高中 Then 電工

End If

If 年齡 > 25 Or 年齡 <= 40 Then

    If 教育程度 = 中學 Then

        If 性别 = 男 Then 鉗工

    Else

        車工

    End If

End If

If 教育程度 = 大學 Then 技術員

End If

End If

If 年齡 > 40 Or 年齡 <= 50 Then

    If 教育程度 = 中學 Then

        交通協管員

    End If

    If 教育程度 = 大學 Then

        技術員

    End If

  End If

  1. 判斷表

       有些問題不是簡單的條件判斷,而是組合條件的判定,直接引用if-then-else就比較困難,即使能直接引用,但對問題的

描述也不能做到清晰.則可以采用另一種描述工具----判斷表.判定表采用表格化的形式,适用于含有複雜判斷的加工邏

輯.

例如:加工邏輯為:如果某學生期末考試總分大于500分,且單科成績有滿分,發更新通知書,單科成績有不及格的則發更新

通知書,同時發重修單科通知書;如果考試總分小于560分且單科成績有滿分,發留級通知書,免修單科通知書,單科成績有

不及格的,則發留級通知書.用判斷表表示為:

淺談資料分析四大方法
  1. 判定樹
淺談資料分析四大方法

3.資訊模組化方法

       資訊模組化方法是從資料的角度來對現實世界建立模型的,模型是現實系統的一個抽象.由于要描述現實系統,是以,必

須反映實際,又由于抽象的特征,它又必須高于實際,即不僅能反映實際,而且還能知道其他共性問題的解決.

資訊模組化方法的基本工具是實體-聯系圖(E-R圖),由實體,屬性和聯系構成.該方法是從實際中找出實體,然後再用屬性來

描述這些實體.在資訊模型中,實體是一個對象或一組對象.實體把資訊收集在其中,關系是實體之間的聯系或互動作用.

有時在實體與關系之外,再加上屬性,實體和關系形成一個網絡,描述系統的資訊狀況,給出系統的資訊模型.

4.面向對象的分析

       面向對象的分析是把實體--聯系圖中的概念與面向對象程式設計語言中的概念結合在一起形成的一種分析方法.面

向對象分析的關鍵是識别,定義問題域内的類與對象(實體).并分析它們之間的關系,根據問題域中的操作規則和記憶體性

質建立模型.在該方法中采用了實體,關系和屬性等資訊模型分析中的概念,同時采用了封閉,類結構和繼承性等面向對象

程式設計語言的概念.

繼續閱讀