JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Software Engineering » OOAD  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:請問這樣的方法算是ooad嗎? [Re:winddknight]
diymike





發文: 4
積分: 0
於 2010-02-19 00:36 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
winddknight wrote:
從開始接觸程式設計的工作,參與軟體開發,在規劃系統的時候,先分析有哪些資料表,再決定資料表之間的關聯,實作系統時,採用多層式架構:表現層 -> 商業邏輯層 -> 資料層,然後以Struts2的技術實作系統,用JSP傳送資料到ACTION,再由ACTION調用資料庫物件來做處理,例如:報名活動的動作,由ACTION接到JSP的資料後,直接調用存檔的類別,將資料寫入關聯式資料庫中,完成了報名活動的動作。

我的問題是:
1.這樣的開發過程是否為物件導向式的分析、設計與實作呢?
2.這樣的開發過程產出的系統是否為物件導向式的系統?
3.如果不是的話,以物件導向式的系統分析與設計應該怎麼樣來實現呢?
4.什麼樣的系統才能稱為物件導向式的系統呢?
5.STRUTS2在多層式架構中,屬於哪個層次呢?表現層還是商業邏輯層?

另外:
a.登入與登出是否為商業邏輯?
b.購買基金的金額必須以5千為單位,這樣的資料驗證是否要寫在物件的setter裡面呢?

我的回答:

1. 不是。這大致是傳統procedural開發方法的延續,前半段導出所謂的data model,後半段則是針對目前web 應用架構必須進行的程式實施設計。

2. 通常不是。因為頂多能產出data model,而OO系統的背後必須有object model。另外從OO原理而言,以action調用資料庫物件無法達到OO最重要的原理 Encapsulation,也就是代表處理意義的operations或methods及被其處理的data (attributes) 被包裹而構成class。(Encapsulation的重要性在於能夠達成軟體工程上追求的首要效益: 軟體change impact的降低...)

3. 以現今OOAD方法的顯學RUP為例,是以Use Case表達需求,然後針對每一UC進行Use Case Realization (UCR)設計,也就是在辨識出相關class之後,使用Sequence Diagram (或Communication Diagram)設計出class間如何互動以完成UC需求內容,並以Class Diagram表達class間的靜態關連(所有Sequence Diagram加上Class Diagram即構成所謂 object model); 然後再加上如 packaging、software layer設計、子系統設計、及data modeling (DB persistency) 設計 ... 等等,最後再加上如 Struts、Hibernate等 implementation設計。

4. 參照2.項回答,或以現今web應用架構而言,在action class 後必須要有由前述 object model 構成的商業邏輯層,而不是由action直接調用資料庫物件,才是一個物件導向系統。

5. 表現層->web層->商業邏輯層...,Struts屬於 web層。

a. 是,因為通常登入登出是UC需求....

b. 應在表現層處理掉。


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
2632 請問這樣的方法算是ooad嗎? winddknight 435 2009-04-11 16:22
1994 Re:請問這樣的方法算是ooad嗎? akin 93 2009-10-12 16:48
1825 Re:請問這樣的方法算是ooad嗎? winddknight 67 2010-04-19 13:48
2012 Re:請問這樣的方法算是ooad嗎? andyjjt 408 2009-10-12 22:35
1759 Re:請問這樣的方法算是ooad嗎? winddknight 474 2010-04-19 13:49
1825 Re:請問這樣的方法算是ooad嗎? diymike 1354 2010-02-19 00:36
1798 Re:請問這樣的方法算是ooad嗎? winddknight 1075 2010-04-19 13:57
1806 Re:請問這樣的方法算是ooad嗎? worookie 139 2010-04-19 14:12
1405 Re:請問這樣的方法算是ooad嗎? starlin 317 2011-06-12 17:44
» JWorld@TW »  Software Engineering » OOAD

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8