<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    走在架構師的大道上 Jack.Wang's home

    Java, C++, linux c, C#.net 技術,軟件架構,領域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks

    OOA面向對象分析

    ?
    面向對象分析產生三種分析模型 
    ?功能模型(即用例模型à作為輸入) 
    ?對象模型:對用例模型進行分析,把系統分解成互相協作的分析類,通過類圖/對象圖描述對象/對象的屬性/對象間的關系,是系統的靜態模型 
    ?動態模型:描述系統的動態行為,通過時序圖/協作圖描述對象的交互,以揭示對象間如何協作來完成扛鼉嚀宓撓美?單個對象的狀態變化/動態行為可以通過狀態圖來表達

    OOD面向對象的設計


    OOD是對OOA的細化 
    ?沒有嚴格的界線 
    ?OOD的結果直接用于編碼 
    ?與OOA的輸出一樣,只是更加詳細完善
    OOA與OOD的區別
    ?OOA偏重于理解問題,描述軟件要做什么,而OOD偏重于理解解決方案,描述軟件要如何做 
    ?OOA只考慮理想的設計,不關心技術與實現底層的細節,而OOD需要得到更具體詳細更接近于真實的代碼的設計方案 
    ?在設計結果的描述上,OOA偏重于描述對象的行為,OOD偏重于描述對象的屬性與方法 
    ?OOA只關注功能性需求,OOD還需要關注非功能性需求
    OOA步驟
    ?從用例中提取實體對象/實體類 
    ?添加邊界類 
    ?添加控制類 
    ?提取類的屬性(一般省略,放到OOD中) 
    ?提取分析類間的關系 
    ?繪制類圖/時序圖 
    ?編制術語表(可選)
    三種分析類
    分析類 
    ?實體類(Entity Class) 
    ?邊界類 
    ?控制類 
    實體類
    ?是應用中的核心類 
    ?與現實事物相對應的類 
    ?用于長期保存系統中的信息,以及針對這些信息的相關處理行為 
    ?一般實體類的對象和應用系統本身有相同的生命周期
    邊界類
    ?從與那些系統和外界進行交互的對象中歸納和抽象出來的 
    ?邊界類是系統內的對象和系統外的參與者的聯系媒介 
    ?外界的消息只有通過邊界類的對象才能發送給系統 
    ?大多數為用戶界面(表示層)
    控制類
    ?管理實體對象與邊界對象之間的交互的仲裁對象 
    ?通過控制類協調系統內邊界類與實體類之間的交互
    1、提取實體類
    ?用例驅動:從用例模型中找名詞或名詞短語,再進行篩選 
    ?候選實體類:用戶/帳戶/系統管理員/聊天服務器/消息 
    ?用戶在系統中表現為帳戶,因此用戶就不需要了 
    ?本項目中系統管理員僅完成啟動/關閉系統的作用,而沒有其他管理任務,也不需要作為一個實體類 
    ?聊天系統:代表整個系統,大多數情況這個實體對象不必存在 
    ?聊天消息:聊天的內容本項目不需要保存 
    ?可以得到實體類: 帳戶類
    2.添加邊界類
    ?交互型軟件的邊界類就是用戶界面 
    ?邊界類: 
    ?注冊界面:注冊類 
    ?登陸界面:登陸類 
    ?聊天界面:聊天類
    3.添加控制類
    ?有人認為每個用例確定一個控制類,但可能會得到很小的控制類,應該考慮進行恰當的合并 
    ?我們項目可以把注冊/登陸/聊天用例合并為一個控制器類
    4、提取屬性
    ?建議放到設計時再提取,因為現在只能對屬性進行與語言無關的描述
    5、提取分析類之間的關系
    ?一對一 
    ?一對多 
    ?多對對 
    ?歸納關系 
    ?
    6、繪制類圖(參見demo) 
    7、繪制時序圖(流程簡單可省略) 
    8、編制術語表(羅列系統模型中需要澄清的術語)
    架構分析
    ?架構分析主要從宏觀上考慮一個軟件系統應該如何組織 
    ?目的:通過科學的解析,將整個軟件系統劃分為不同的組件,并準確定義出組件和組件之間的接口 
    ?最典型的架構模式:分層模式(Layer),客戶/服務器模式,MVC模式等等 
    ?獲得架構圖

    OOD步驟
    ?細化重組類 
    ?細化和實現類間關系,明確其可見性 
    ?增加屬性,指定屬性的類型與可見性 
    ?分配職責,定義執行每個職責的方法 
    ?對消息驅動的系統,明確消息傳遞方式 
    ?利用設計模式進行局部設計 
    ?畫出詳細的類圖與時序圖




    本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
    posted on 2007-10-14 22:01 Jack.Wang 閱讀(1589) 評論(0)  編輯  收藏 所屬分類: 開發技術
    主站蜘蛛池模板: www.亚洲精品.com| 国产综合亚洲专区在线| 精品国产_亚洲人成在线| 亚洲精品国产自在久久| 久久免费福利视频| 男人天堂2018亚洲男人天堂| 亚洲Aⅴ无码一区二区二三区软件| 日韩精品在线免费观看| 亚洲日产乱码一二三区别 | 午夜爱爱免费视频| XXX2高清在线观看免费视频| 亚洲影视一区二区| 亚洲国产综合久久天堂| 91频在线观看免费大全| 有色视频在线观看免费高清在线直播| 久久久亚洲裙底偷窥综合| 国产99视频免费精品是看6| 84pao国产成视频免费播放| 特级毛片免费播放| 亚洲国产高清在线精品一区| 精品国产亚洲男女在线线电影| 中文字幕免费在线看线人| 国产成人1024精品免费| 亚洲色大成网站WWW国产| 亚洲成人动漫在线| 亚洲免费日韩无码系列| 在线观看av永久免费| 免费的全黄一级录像带| 美女羞羞免费视频网站| 亚洲二区在线视频| www亚洲一级视频com| 亚洲免费在线视频播放| 国产精品九九久久免费视频| 亚洲人成网站色7799| 亚洲最大中文字幕| 久久精品亚洲综合一品| 亚洲日本中文字幕一区二区三区| 性感美女视频免费网站午夜| 99ee6热久久免费精品6| 黄色片免费在线观看| a在线视频免费观看在线视频三区|