软件工程之系统建模
1、系統工程:
軟件工程由系統工程演變而來,要了解軟件工程應先了解系統工程。系統工程一般通過自頂向下、自底向上的方法,用層次結構來來分析整個系統。在系統工程層次圖中自頂向下依次是全局視圖(業務或產品域)——領域視圖(關注全局中感興趣領域)——要素視圖(關注領域中系統要素)——詳細視圖(關注系統要素的組成要素),可以有很多層次,是個金字塔結構。
2、系統建模:
對于一個系統模型要定義在所考慮視圖中滿足需要的過程,描述過程行為和該行為所依據的假設,明確定義模型的外在和內在輸入,描述有助于工程師理解視圖的全部聯系。
?????? 系統建模中的制約因素:假設、簡化、限制(確定系統邊界)、約束、偏好。
基于計算機的系統:組織在一起通過處理信息來實現預定目標的要素集合或排列。
3、業務過程工程:
在實際軟件工程中主要包含兩種過程工程:業務過程工程和產品工程。
業務過程工程:定義一個能有效利用信息進行業務活動的體系。為一個組織(如企業)建立實施計算架構的總體計劃提供一種方法。業務過程工程必須設計三種架構:
數據架構:為業務或業務功能的信息需求提供了框架,單獨建立的框架模塊是被業務所用到的數據對象。一個數據對象包括用于定義不同側面的屬性集、質量、特征或數據描述符。
應用架構:包含那些為了某些業務目的而在數據架構范圍內進行轉換的系統要素。一般是指執行轉換的程序,也可包括人員角色和尚未實現自動化的業務規程。
技術基礎設施:為數據架構和應用架構提供基礎的軟件、硬件設施。
業務過程工程層次圖(自頂向下):信息戰略規劃(實體:組織,對應系統工程中的全局視圖)——業務區域分析(實體:業務區域,對應系統工程中的領域視圖)——業務系統設計(實體:信息系統,對應系統工程中的要素視圖)——構建和集成(實體:軟件構件,對應系統工程的詳細視圖)。軟件工程師主要工作在業務系統設計、構建和集成兩個層次。
4、產品工程:
?????? 將用戶期望的以定義的一組能力轉變成真實產品。
?????? 產品工程層次圖(自頂向下):需求工程(實體:完整產品,對應全局視圖)——構件工程(實體:軟硬件,對應領域視圖)——分析和設計建模(實體:數據、行為、功能,對應要素視圖)——構建和集成(實體:程序構件,對應詳細視圖)。軟件工程師主要工作在分析和設計建模、構建和集成兩個層次。
5、軟件工程中的系統建模:
?????? Haltey-pirbhai建模:將所有系統要素分派到五個模板處理過程中——用戶界面、輸入、系統功能和控制、輸出、維護和自檢。
?????? 輔助圖形:系統環境圖和系統流圖。
?????? 系統環境圖(SCD):確定系統所使用信息的所有外部生產者、信息外部消費者、所有通過接口交流或者執行維護和自檢的實體,建立待實現系統和系統操作環境之間的邊界。
?????? 系統流圖(SFD):展示主要子系統和重要信息流,子系統從SCD圖中導出,流經SCD區域的信息流用于指導系統工程是制作系統流圖。系統流圖可分為很多層次,初始系統流圖成為SFD層次的頂層節點。
6、UML系統建模:
?????? 通過多種UML視圖(用例圖、活動圖、類圖、部署圖)來表示對系統的理解。轉載于:https://www.cnblogs.com/outofthink/archive/2012/02/05/2338878.html
總結
- 上一篇: C++的文艺复兴: Why C++? 王
- 下一篇: (转)iReaper for wp7正式