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

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

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

    走在架構(gòu)師的大道上 Jack.Wang's home

    Java, C++, linux c, C#.net 技術(shù),軟件架構(gòu),領(lǐng)域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

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

    OOA面向?qū)ο蠓治?/strong>

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

    OOD面向?qū)ο蟮脑O(shè)計


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

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




    本博客為學習交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請注明出處,如有版權(quán)問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
    posted on 2007-10-14 22:01 Jack.Wang 閱讀(1589) 評論(0)  編輯  收藏 所屬分類: 開發(fā)技術(shù)
    主站蜘蛛池模板: 亚洲麻豆精品国偷自产在线91| 无码国产精品一区二区免费| 国产乱弄免费视频| 国产亚洲精aa在线看| 日本精品人妻无码免费大全| 亚洲av永久无码嘿嘿嘿| 免费看韩国黄a片在线观看| 亚洲国产中文在线二区三区免| 免费观看国产网址你懂的| 亚洲一级大黄大色毛片| 免费羞羞视频网站| 国产精品亚洲专区无码WEB | 2020久久精品国产免费| 国产精品亚洲自在线播放页码| 毛片免费观看网址| 免费无遮挡无遮羞在线看| 国产日韩亚洲大尺度高清| 日本免费人成在线网站| 亚洲色成人网站WWW永久四虎| 国产成人免费手机在线观看视频| 美女裸免费观看网站| 亚洲日韩精品无码专区网址| 久久狠狠躁免费观看| 亚洲综合在线一区二区三区 | 少妇人妻偷人精品免费视频 | 亚洲精品第五页中文字幕| 在线观看成人免费视频| 免费精品久久久久久中文字幕| 亚洲精品乱码久久久久久中文字幕| 免费无码又爽又刺激高潮视频| 亚洲色欲色欱wwW在线| 亚洲AⅤ永久无码精品AA| 国产精品白浆在线观看免费| 亚洲一区二区三区在线网站| 亚洲成人国产精品| 99热在线免费播放| 国产成人va亚洲电影| 中文字幕亚洲精品资源网| 四虎精品亚洲一区二区三区| 少妇人妻偷人精品免费视频| 国产AV日韩A∨亚洲AV电影|