软工分析建模
軟工分析建模
一、分析建模概念
? ? ? ? ? ? 為了更好地理解需求獲取過程中用戶描述的問題,可以采用創建模型的方式來實現,這就是分析建模的過程。
? ? ? ? ? ? 所謂模型,就是為了理解事物所做出的一種抽象,是對事物無歧義的書面描述。
? ? ? ? ? ? 模型由一組圖形符號和組成這些符號的規則所組成。
二、分析建模方法
? ? ? ? ? ? 軟件的分析模型通常是由一組模型組成,其中包括數據模型、功能模型和行為模型。
? ? ? ? ? ? 目前有兩種主要的建立分析模型的方法:一種是基于數據流的結構化分析模型,它將系統分成幾個功能模塊,各塊之間用數據流進行通信;另一種是基于對象的面向對象分析模型,它則將系統分解為一組互相關聯的對象,每一對象由對象的屬性和在對象上的操作構成。
三、結構化分析模型
? ? ? ? ? ? 結構化分析(StructuredAnalysis, SA)模型的組成結構如圖,可以看出模型的核心是DD(Data Dictionary, 數據字典), 這是系統所涉及的各種數據對象的總和。從數據字典出發主要通過以下3 種圖來構建該模型的3 種模型。
? ? ? ? ? ? E-R 圖(Entity Relation Diagram,實體聯系圖): 用于描述數據對象間的關系、構建軟件的數據模型,在實體—關系中出現的每個數據對象的屬性均可用數據對象進行說明描述。
? ? ? ? ? ? DFD(Data Flow Diagram,數據流圖):其主要作用是指明系統中數據是如何流動和變換的,以及描述數據流如何進行變換。在DFD 圖中出現的每個功能都會寫在PSPEC(Process Specification,加工說明)中,它們一起構成系統的功能模型。
? ? ? ? ? ? STD 圖(Status Transfer Diagram,狀態-變遷圖):用于指明系統在外部事件的作用下將如何動作,表明系統的各種狀態及各種狀態間的變遷。所有軟件控制方面的附加信息包含在CSPEC(Control Specification,控制說明)中,它們構成系統的行為模型。
四、面向對象分析建模
? ? ? ? ? ? 面向對象分析是采用面向對象的思想進行軟件需求分析建模的過程。
? ? ? ? ? ? 通過對對象定義屬性,賦予操作,把該對象在系統中的活動特點描述出來,然后通過消息將對象內以及對象與對象之間的關系反映出來,它的組成結構如圖所示。面向對象分析得到的模型包含對象的3 個要素即數據交換(功能模型)、靜態結構(對象模型)和交互次序(動態模型)。面向對象分析模型中具體包含3 個模型。
? ? ? ? ? ? 對象模型:定位在哪個對象上,通過反映系統中的對象與對象之間的關系及表示對象、類、屬性和操作來表達目標系統的靜態結構,與結構化分析模型中的數據模型有相近的功能。利用類圖及對象圖建模。
? ? ? ? ? ? 功能模型:確定什么事件發生,反映的是系統模塊的輸入和輸出。該模型從用戶的視角來表示系統,用例和場景用于功能模型的建模選擇。
? ? ? ? ? ? 動態模型:決定在什么時候,什么條件下發生。關心的是時間變化、對象與對象之間關系的變化。對象與對象之間的相互作用,導致它們的狀態不斷發生變化。一個事件是指一個單獨對象對另一個的激勵。該模型主要描述目標系統的動態或行為,相當于結構化分析模型中的行為模型。以狀態圖和時序圖為工具建模。
總結