無(wú)為

          無(wú)為則可為,無(wú)為則至深!

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
           1.建模
            
            1.1
          為什么要建模
            
            
          建立大廈和建立狗窩的區(qū)別是建設(shè)狗窩不需要設(shè)計(jì)。要生產(chǎn)合格的軟件就要有一套關(guān)于體系結(jié)構(gòu)、過(guò)程和工具的規(guī)范。
            
            
          建模的定義:建模是對(duì)現(xiàn)實(shí)的簡(jiǎn)化。
            
            
          建模的目標(biāo):
            1
          )模型幫助我們按照實(shí)際情況或按照我們所需要的樣式對(duì)系統(tǒng)進(jìn)行可視化。
            2
          )模型允許我們?cè)敿?xì)說(shuō)明系統(tǒng)的結(jié)構(gòu)和行為。
            3
          )模型給出一個(gè)知道我們構(gòu)造系統(tǒng)的模板。
            4
          )模型對(duì)我們的決策進(jìn)行文檔化。
            
            
          建模就是把復(fù)雜的系統(tǒng)變成小的系統(tǒng),采用各個(gè)擊破的原則逐一解決。
            
            1.2
          建模原理
            
            1
          )選擇創(chuàng)建什么模型很重要,模型要反映你難于處理的開(kāi)發(fā)問(wèn)題。
            2
          )模型要在不同的精度級(jí)別上來(lái)表示。你可以根據(jù)觀察的角色和觀察的原因來(lái)選擇精度。
            3
          )建造模型要和現(xiàn)實(shí)相連。
            4
          )重要的系統(tǒng)需要用一組獨(dú)立的模型去處理。在面向?qū)ο蟮能浖w系中,為了理解系統(tǒng)的體系結(jié)構(gòu),你需要幾個(gè)互補(bǔ)和連鎖的視圖:用例圖、設(shè)計(jì)視圖、進(jìn)程視圖、實(shí)現(xiàn)視圖和實(shí)施視圖。
            
            1.3
          面向?qū)ο蟮慕?/SPAN>
            
            
          面向算法的建模在需求發(fā)生變化或者系統(tǒng)增長(zhǎng)后就變得難以維護(hù)。
            
            
          面向?qū)ο蟮慕0褜?duì)象和類作為其主要構(gòu)造塊。例如,在三層結(jié)構(gòu)中,我們可以在用戶接口層、中間層和數(shù)據(jù)庫(kù)層中找到你想要的對(duì)象。
            
            
            2 UML
          介紹
            
            
            2.1
          概述
            UML
          可以對(duì)軟件密集型系統(tǒng)的制品進(jìn)行可視化、詳述、構(gòu)造和文檔化。最好把它用于以用況(用例)為驅(qū)動(dòng)、以體系結(jié)構(gòu)為中心、跌代及增量的過(guò)程中。
            
            UML
          是一種語(yǔ)言,它是一種可視化的語(yǔ)言,它是一組圖形符號(hào)。它可用于詳細(xì)描述。它又是一種構(gòu)造語(yǔ)言,可以直接生成代碼。用Rational XDE就可以實(shí)現(xiàn)從UMLC#,或者從C#UML的雙向工程。
            
            2.2 UML
          的概念模型
            
          學(xué)習(xí)建模的三個(gè)要素:UML的基本構(gòu)造塊、這些構(gòu)造塊放在一起的規(guī)則、一些運(yùn)用于整個(gè)UML的公共機(jī)制。
            
            UML
          中由一些四種事物
            1
          )結(jié)構(gòu)事物 --- 類、接口、協(xié)作(它是一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其它元素構(gòu)成的一個(gè)群體。)、用例、主動(dòng)類(至少擁有一個(gè)進(jìn)程或者線程,其元素的行為可以和其它元素的行為并發(fā))、構(gòu)件(如COM+Java Bean)、節(jié)點(diǎn)。
            2
          )行為事物 --- 交互、狀態(tài)機(jī)(描述了一個(gè)對(duì)象或者一個(gè)交互在生命期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列)。
            3
          )分組事物 ---
            4
          )注釋事物 --- 注解
            
            UML
          中的四種關(guān)系
            1
          )依賴 --- 兩個(gè)事物間的語(yǔ)義關(guān)系
            2
          )關(guān)聯(lián) --- 是一種結(jié)構(gòu)關(guān)系,如聚合
            3
          )泛化 --- 一般/特殊關(guān)系
            4
          )實(shí)現(xiàn) --- 用在兩種地方:接口和實(shí)現(xiàn)他們之間的類和構(gòu)件之間;用例和實(shí)現(xiàn)他們的協(xié)作之間。
            
            UML
          中的圖
            1
          )類圖 --- 系統(tǒng)的靜態(tài)狀態(tài)圖,包含主動(dòng)類的類圖給除系統(tǒng)的靜態(tài)進(jìn)程視圖。
            2
          )對(duì)象圖
            3
          )用例圖
            4
          )順序圖
            5
          )協(xié)作圖
            6
          )狀態(tài)圖
            7
          )活動(dòng)圖 --- 強(qiáng)調(diào)對(duì)象間的控制流程
            8
          )構(gòu)件圖
            9
          )實(shí)施圖
            
            2.3
          體系結(jié)構(gòu)
            
            
          我們用5個(gè)互聯(lián)的視圖來(lái)描述軟件密集型系統(tǒng)的體系結(jié)構(gòu):
            
            1
          )系統(tǒng)的用例圖
            2
          )系統(tǒng)的設(shè)計(jì)視圖 --- 靜態(tài)方面由類圖和對(duì)象圖描述,動(dòng)態(tài)方面由交互圖、狀態(tài)圖和活動(dòng)圖描述。
            3
          )系統(tǒng)的進(jìn)程視圖 --- 包含了形成系統(tǒng)并發(fā)和同步機(jī)制的線程和進(jìn)程。
            4
          )系統(tǒng)的實(shí)現(xiàn)視圖 --- 主要針對(duì)系統(tǒng)發(fā)布的配置管理。
            5
          )系統(tǒng)的實(shí)施視圖
            
            2.4
          軟件開(kāi)發(fā)生命周期
            
            
          用況驅(qū)動(dòng)
            
          以體系結(jié)構(gòu)為中心
            
          跌代過(guò)程 --- 涉及到一連串可執(zhí)行發(fā)布的管理。
            
            
          軟件開(kāi)發(fā)生命周期的四個(gè)階段:
            
          初始
            
          細(xì)化
            
          構(gòu)造
            
          移交

           

          3 Hello World
            
            4

            
            4.3.1
          對(duì)系統(tǒng)的詞匯建模
            
            
          需要做如下工作:
            1
          )識(shí)別用戶用于描述問(wèn)題或解決問(wèn)題的事物。
            2
          )對(duì)于每個(gè)抽象,識(shí)別一個(gè)職責(zé)集。
            3
          )提供為實(shí)現(xiàn)每個(gè)類的職責(zé)所需的屬性和操作。
            
            4.3.2
          對(duì)系統(tǒng)中職責(zé)的分布建模
            
            
          抽象出來(lái)的類要適中,不要過(guò)大過(guò)小。
            
            
          需要如下工作:
            1
          識(shí)別一組為了完成某些行為而緊密協(xié)同工作的類。
            2
          對(duì)上面的每一個(gè)類識(shí)別出一組職責(zé)。
            3
          從整體上觀察這些類,過(guò)大的分解,過(guò)小的合并。
            4
          考慮相映的協(xié)作方式,重新分配職責(zé)。
            
            5
          關(guān)系
            
            
          面向?qū)ο蠼V腥N最重要的關(guān)系:
            
            
          依賴 --- 使用關(guān)系
            
          泛化 --- 一般/特殊關(guān)系
            
          關(guān)聯(lián) --- 結(jié)構(gòu)關(guān)系
            
            
          當(dāng)你開(kāi)始建模是,特別是解決這些對(duì)象的動(dòng)態(tài)協(xié)作時(shí),你還會(huì)遇到兩種其它的關(guān)系:鏈(可能發(fā)送消息的對(duì)象間的實(shí)例)和轉(zhuǎn)換(狀態(tài)機(jī)中不同狀態(tài)的連接)
            
            
            
          對(duì)簡(jiǎn)單依賴建模 ---(如一個(gè)類作為另一個(gè)類的參數(shù)) 依賴從操作的類指向當(dāng)作參數(shù)的類。
            
          對(duì)單繼承建模
            
          對(duì)結(jié)構(gòu)關(guān)系建模
            
            6
          公共機(jī)制
            
            
          四個(gè)公共機(jī)制可以使UML簡(jiǎn)化:詳述、修飾、公共劃分和擴(kuò)展
            
            
          構(gòu)造型、標(biāo)記值和約束使UML提供的用以增加新的構(gòu)造塊、創(chuàng)建新的特性以及描述新的語(yǔ)義的機(jī)制。
            
            
            
            7

            
            
          5種最重要的互補(bǔ)視圖:用例視圖、設(shè)計(jì)視圖、進(jìn)程視圖、實(shí)現(xiàn)視圖和實(shí)施視圖
            
            
          每一種視圖包含結(jié)構(gòu)建模(靜態(tài))和行為建模(動(dòng)態(tài))
            
            
          建圖的兩種方法:正向工程和逆向工程
            
            
            
          一些術(shù)語(yǔ):
            
          系統(tǒng):由子系統(tǒng)組成; 子系統(tǒng):由元素組成; 模型:對(duì)現(xiàn)實(shí)的簡(jiǎn)化; 視圖:對(duì)系統(tǒng)模型的組織和結(jié)構(gòu)的投影,注重于系統(tǒng)的一個(gè)方面。
            
            
          結(jié)構(gòu)圖:類圖、對(duì)象圖、構(gòu)件圖、實(shí)施圖。
            
          行為圖: 用況圖、順序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。
            
            
          順序圖和協(xié)作圖統(tǒng)稱交互圖。順序圖強(qiáng)調(diào)消息的時(shí)間次序,協(xié)作圖強(qiáng)調(diào)收發(fā)消息的對(duì)象的結(jié)構(gòu)組織。
            
            
          活動(dòng)圖強(qiáng)調(diào)對(duì)象之間的控制流。
            
            
            
          如何選擇視圖來(lái)建模?
            1
          )視圖能夠表達(dá)系統(tǒng)的體系結(jié)構(gòu),能夠暴露項(xiàng)目的技術(shù)風(fēng)險(xiǎn)。
            2
          )決定用哪些制品來(lái)捕獲視圖的基本細(xì)節(jié)。
            3
          )作為你的過(guò)程策略的一部分,決定把那種視圖至于某種形式或者半形式的控制之下。
            4
          )保留廢棄的視圖。
            
            
          兩種系統(tǒng)建模的方法:
            1
          )針對(duì)同一模型,用不同層次上的細(xì)節(jié)描述圖。
            2
          )在不同的抽象層次上,從一個(gè)模型跟蹤到另一個(gè)模型的方法建模。
            
            8
          類圖
            
            
          類圖包括如下內(nèi)容:
            
            

            
          接口
            
          協(xié)作
            
          依賴、泛化和關(guān)聯(lián)關(guān)系。
            
            
          對(duì)系統(tǒng)的靜態(tài)設(shè)計(jì)視圖建模時(shí)使用類圖的3種方式:
            1
          )對(duì)系統(tǒng)的詞匯建模
            2
          )對(duì)簡(jiǎn)單協(xié)作建模 --- 協(xié)作提供的一些合作行為強(qiáng)于其所有元素行為之和。
            3
          )對(duì)邏輯數(shù)據(jù)庫(kù)模式建模
            
            
            9
          高級(jí)類
            
            
          UML中更一般的構(gòu)造塊是類元,類元包括:類、接口、數(shù)據(jù)類型、信號(hào)、構(gòu)件、節(jié)點(diǎn)、用況和子系統(tǒng)。他是描述結(jié)構(gòu)特性和行為特性的機(jī)制。



          凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
          、轉(zhuǎn)載請(qǐng)注明來(lái)處和原文作者。非常感謝。

          posted on 2005-12-20 21:15 草兒 閱讀(1010) 評(píng)論(1)  編輯  收藏

          Feedback

          # re: UML學(xué)習(xí)筆記 2006-05-25 19:10 pc
          http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=200644155011 java連接lotus的源代碼 http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=200644154949 Java封裝數(shù)據(jù)結(jié)果集 http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=200644154712 Java的垃圾回收機(jī)制詳解和調(diào)優(yōu)  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 青铜峡市| 临邑县| 通渭县| 家居| 宿迁市| 瑞安市| 阿拉善左旗| 灵璧县| 宜宾市| 海兴县| 澄迈县| 侯马市| 桦南县| 绩溪县| 扎赉特旗| 彭泽县| 定陶县| 巫溪县| 金溪县| 吴桥县| 乌恰县| 巩留县| 墨竹工卡县| 诏安县| 且末县| 洛扎县| 宿州市| 伊吾县| 洞头县| 凯里市| 营口市| 大冶市| 安达市| 宣恩县| 启东市| 江都市| 鹰潭市| 射阳县| 响水县| 平原县| 栾川县|