需求,是通過訪談、蒐集等方式,從客戶、專家處獲得知識。緊要的是業務知識。
分析,是對需求的梳理,分析出系統,應該提供什麼。緊要的是,業務知識落實到IT系統,系統的功能和界面。
設計,是把分析要的東西,把IT的元素設計好,畫出系統的骨架和概要。
實現,是根據設計,用代碼實現出系統。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
所以,軟件系統,是從“設計”纔開始與“IT”及“技術”,親密接觸、融合的。
架構設計,是從體系結構方面,來規劃系統。進行宏觀和整體的設計,比如J2EE體系。
系統設計,是在架構設計的框架裏,根據系統需求、分析的要求,進行功能點的設計。
RUP迭代軟件過程,設計和架構,屬於“分析和設計”領域。
一般從項目的初始階段末期開始介入,跨越了初始、設計、構造、交互等過程。主要在設計過程。並在多個迭加階段出現。
UML是進行系統分析和設計的重要工具。
UML分析和設計,是use-case導向的,以use-case爲中心的。
需求分析,從外部actor的角度,分析出case。
系統設計,從每一個case起步。
http://space.itpub.net/?532143
分析師,根據需求,設計出用例圖和業務類圖。
針對每一個case,設計出活動圖、狀態圖。
針對每一個case,設計出順序圖和協作圖。設計順序圖和協作圖的時候,也就開始識別了界面類、控制類、實體類。
根據業務類圖,可以設計出設計類圖。
所以,在設計順序圖和協作圖,再根據業務類圖,就能做出主要的類圖了。
然後,再結合具體的架構和技術體系,把概念類圖細化爲設計類圖、實現類圖。
現在的分佈式體系,無論J2EE還是.net,在邏輯上都分爲3層:
表現層、業務層和實體層。
界面類圖,對應到表現層,在J2EE裏,可落實到Swing的Frame,或Web的jsp。
控制類圖,對應到業務層,在J2EE裏,可落實到Session Bean等業務邏輯組件。
實體類圖,對應到實體層,在J2EE裏,可落實到JOPO或Entity Bean。
表現層和業務層的交互,業務層和實體層的交互,實體層和數據庫間的交互,一般是架構體系設計和規範好了。具體的系統設計時,不需要額外考慮和設計,只需要遵從規範。
架構還會規定好Log、Audit、分層、DAO等。
在設計類圖的時候,需要結合設計模式、J2EE設計模式等設計方法,優化設計。
http://space.itpub.net/?532143