軟體需求分析方法大體分為如下四類:結構化方法、面向物件方法、面向控制方法和麵向資料方法。限於篇幅,將主要從結構化方法和麵向物件方法以及RUP三個方面進行簡要的探討。面向物件(ObjectOriented,OO)的方法把分析建立在系統物件以及物件間互動的基礎之上,使得我們能以3個最基本的方法框架——物件及其屬性、分類結構和集合結構來定義和溝通需求。面向物件的問題分析模型從3個側面進行描述,即物件模型(物件的靜態結構)、動態模型(物件相互作用的順序)和功能模型(資料變換及功能依存關係)。需求工程的抽象原則、層次原則和分割原則同樣適用於面向物件方法,即物件抽象與功能抽象原則是一樣的,也是從高階到低階、從邏輯到物理,逐級細分.每一級抽象都重複物件建模(物件識別)一動態建模(事件識別)一功能建模(操作識別)的過程,直到每一個物件例項在物理(程式編碼)上全部實現為止。面向物件需求分析(OORA)利用一些基本概念來建立相應模型,以表達目標系統的不同側面。儘管不同的方法所採用的具體模型不盡相同,但都無外乎用如下五個基本模型來描述軟體需求:整體—部分模型:該模型描述物件(類)是如何由簡單的物件(類)構成的。將一個複雜物件(類)描述成一個由互動作用的若干物件(類)構成的結構的能力是OO途徑的突出優點。該模型亦稱聚合模型。分類模型:分類模型描述類之間的繼承關係。與聚合關係不同,它說明的是一個類可以繼承另一個或另一些類的成分,以實現類中成分的複用。類—物件模型:分析過程必須描述屬於每個類的物件所具有的行為,這種行為描述的詳細程度可以根據具體情況而定。既可以只說明行為的輸入、輸出和功能,也可以採用比較形式的途徑來精確地描述其輸入、輸出及其相應的型別甚至使用偽碼或小說明的形式來詳細刻畫。物件互動模型:一個面向物件的系統模型必須描述其中物件的互動方法。如前所述,物件互動是透過訊息傳遞來實現的。事實人物件互動也可看作是物件行為之間的引用關係。因此,物件互動模型就要刻畫物件之間的訊息流。對應於不同的詳細程度,有不同的訊息流描述分析,分析人員應根據具體館況而選擇。一般地,一個詳細的物件互動模型能夠說明物件之間的訊息及其流向,並且同時說明該訊息將啟用的物件及行為。一個不太詳細的物件互動模型可以只說明物件之間有訊息,並指明其流向即可。還有一種狀況就是介於此兩者之間。狀態模型:在狀態模型中,把一個物件看作是一個有限狀態機,由一個狀態到另一狀態的轉變稱作狀態轉換。狀態模型將物件的行為描述成其不同狀態之間的通路。它也可以刻畫動態系統中物件的建立和廢除,並稱由物件的建立到物件的廢除狀態之間的退路為物件的生存期。狀態模型既可以用狀態轉換因的圖形化手段,又可用決策表或稱決策矩陣的形式來表。RUP(RationalUnifiedProcess)是Rational公司開發和維護的過程產品。RUP是工程化的軟體開發過程,它提供了在開發機構中分派任務和責任的紀律化方法。RUP不僅僅是一個簡單的過程,而是一個通用的過程框架,可用於各種不同型別的軟體系統、各種不同的應用領域、各種不同型別的組織、各種不同的功能級別以及各種不同的專案規模。RUP的突出特點可以由以下三個關鍵詞來體現——用例驅動、以構架為中心、迭代和增量的。這些是RUP所特有的,也是同等重要的。構架提供了一種結構來指導迭代過程中的工作,而用例則確定了目標井驅動每次迭代的工作。進行需求分析的基礎是要獲得使用者的需要,為了完成這一工作,必須建立業務模型,透過描述業務規則、業務邏輯,明確業務過程並對其進行規範、最佳化。對於一個系統,在建立業務模型時,應從3個方面來描述其特性:功能、行為、資料,對應於這些特性。基於上述分析可知,結構化分析方法與面向物件分析方法的區別主要體現在兩個方面:*將系統分解成於系統的方式不同。前者將系統描述成一組互動作用的處理,後者則描述成一組互動作用的物件。*子系統之間的互動關係的描述方式不一樣。前者加工之間的互動是透過不太精確的資料流來表示的,而後者物件之間透過訊息傳遞互動關係。因此,面向物件軟體需求分析的結果能更好地刻畫現實世界,處理複雜問題,物件比過程更具有穩定性,便於維護與複用。
軟體需求分析方法大體分為如下四類:結構化方法、面向物件方法、面向控制方法和麵向資料方法。限於篇幅,將主要從結構化方法和麵向物件方法以及RUP三個方面進行簡要的探討。面向物件(ObjectOriented,OO)的方法把分析建立在系統物件以及物件間互動的基礎之上,使得我們能以3個最基本的方法框架——物件及其屬性、分類結構和集合結構來定義和溝通需求。面向物件的問題分析模型從3個側面進行描述,即物件模型(物件的靜態結構)、動態模型(物件相互作用的順序)和功能模型(資料變換及功能依存關係)。需求工程的抽象原則、層次原則和分割原則同樣適用於面向物件方法,即物件抽象與功能抽象原則是一樣的,也是從高階到低階、從邏輯到物理,逐級細分.每一級抽象都重複物件建模(物件識別)一動態建模(事件識別)一功能建模(操作識別)的過程,直到每一個物件例項在物理(程式編碼)上全部實現為止。面向物件需求分析(OORA)利用一些基本概念來建立相應模型,以表達目標系統的不同側面。儘管不同的方法所採用的具體模型不盡相同,但都無外乎用如下五個基本模型來描述軟體需求:整體—部分模型:該模型描述物件(類)是如何由簡單的物件(類)構成的。將一個複雜物件(類)描述成一個由互動作用的若干物件(類)構成的結構的能力是OO途徑的突出優點。該模型亦稱聚合模型。分類模型:分類模型描述類之間的繼承關係。與聚合關係不同,它說明的是一個類可以繼承另一個或另一些類的成分,以實現類中成分的複用。類—物件模型:分析過程必須描述屬於每個類的物件所具有的行為,這種行為描述的詳細程度可以根據具體情況而定。既可以只說明行為的輸入、輸出和功能,也可以採用比較形式的途徑來精確地描述其輸入、輸出及其相應的型別甚至使用偽碼或小說明的形式來詳細刻畫。物件互動模型:一個面向物件的系統模型必須描述其中物件的互動方法。如前所述,物件互動是透過訊息傳遞來實現的。事實人物件互動也可看作是物件行為之間的引用關係。因此,物件互動模型就要刻畫物件之間的訊息流。對應於不同的詳細程度,有不同的訊息流描述分析,分析人員應根據具體館況而選擇。一般地,一個詳細的物件互動模型能夠說明物件之間的訊息及其流向,並且同時說明該訊息將啟用的物件及行為。一個不太詳細的物件互動模型可以只說明物件之間有訊息,並指明其流向即可。還有一種狀況就是介於此兩者之間。狀態模型:在狀態模型中,把一個物件看作是一個有限狀態機,由一個狀態到另一狀態的轉變稱作狀態轉換。狀態模型將物件的行為描述成其不同狀態之間的通路。它也可以刻畫動態系統中物件的建立和廢除,並稱由物件的建立到物件的廢除狀態之間的退路為物件的生存期。狀態模型既可以用狀態轉換因的圖形化手段,又可用決策表或稱決策矩陣的形式來表。RUP(RationalUnifiedProcess)是Rational公司開發和維護的過程產品。RUP是工程化的軟體開發過程,它提供了在開發機構中分派任務和責任的紀律化方法。RUP不僅僅是一個簡單的過程,而是一個通用的過程框架,可用於各種不同型別的軟體系統、各種不同的應用領域、各種不同型別的組織、各種不同的功能級別以及各種不同的專案規模。RUP的突出特點可以由以下三個關鍵詞來體現——用例驅動、以構架為中心、迭代和增量的。這些是RUP所特有的,也是同等重要的。構架提供了一種結構來指導迭代過程中的工作,而用例則確定了目標井驅動每次迭代的工作。進行需求分析的基礎是要獲得使用者的需要,為了完成這一工作,必須建立業務模型,透過描述業務規則、業務邏輯,明確業務過程並對其進行規範、最佳化。對於一個系統,在建立業務模型時,應從3個方面來描述其特性:功能、行為、資料,對應於這些特性。基於上述分析可知,結構化分析方法與面向物件分析方法的區別主要體現在兩個方面:*將系統分解成於系統的方式不同。前者將系統描述成一組互動作用的處理,後者則描述成一組互動作用的物件。*子系統之間的互動關係的描述方式不一樣。前者加工之間的互動是透過不太精確的資料流來表示的,而後者物件之間透過訊息傳遞互動關係。因此,面向物件軟體需求分析的結果能更好地刻畫現實世界,處理複雜問題,物件比過程更具有穩定性,便於維護與複用。