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

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

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

    無(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ì)象和類(lèi)作為其主要構(gòu)造塊。例如,在三層結(jié)構(gòu)中,我們可以在用戶(hù)接口層、中間層和數(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)事物 --- 類(lèi)、接口、協(xié)作(它是一個(gè)交互,它是由一組共同工作以提供某協(xié)作行為的角色和其它元素構(gòu)成的一個(gè)群體。)、用例、主動(dòng)類(lèi)(至少擁有一個(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
    )依賴(lài) --- 兩個(gè)事物間的語(yǔ)義關(guān)系
      2
    )關(guān)聯(lián) --- 是一種結(jié)構(gòu)關(guān)系,如聚合
      3
    )泛化 --- 一般/特殊關(guān)系
      4
    )實(shí)現(xiàn) --- 用在兩種地方:接口和實(shí)現(xiàn)他們之間的類(lèi)和構(gòu)件之間;用例和實(shí)現(xiàn)他們的協(xié)作之間。
      
      UML
    中的圖
      1
    )類(lèi)圖 --- 系統(tǒng)的靜態(tài)狀態(tài)圖,包含主動(dòng)類(lèi)的類(lèi)圖給除系統(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)方面由類(lè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
    類(lèi)
      
      4.3.1
    對(duì)系統(tǒng)的詞匯建模
      
      
    需要做如下工作:
      1
    )識(shí)別用戶(hù)用于描述問(wèn)題或解決問(wèn)題的事物。
      2
    )對(duì)于每個(gè)抽象,識(shí)別一個(gè)職責(zé)集。
      3
    )提供為實(shí)現(xiàn)每個(gè)類(lèi)的職責(zé)所需的屬性和操作。
      
      4.3.2
    對(duì)系統(tǒng)中職責(zé)的分布建模
      
      
    抽象出來(lái)的類(lèi)要適中,不要過(guò)大過(guò)小。
      
      
    需要如下工作:
      1
    識(shí)別一組為了完成某些行為而緊密協(xié)同工作的類(lèi)。
      2
    對(duì)上面的每一個(gè)類(lèi)識(shí)別出一組職責(zé)。
      3
    從整體上觀察這些類(lèi),過(guò)大的分解,過(guò)小的合并。
      4
    考慮相映的協(xié)作方式,重新分配職責(zé)。
      
      5
    關(guān)系
      
      
    面向?qū)ο蠼V腥N最重要的關(guān)系:
      
      
    依賴(lài) --- 使用關(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)單依賴(lài)建模 ---(如一個(gè)類(lèi)作為另一個(gè)類(lèi)的參數(shù)) 依賴(lài)從操作的類(lèi)指向當(dāng)作參數(shù)的類(lèi)。
      
    對(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)圖:類(lèi)圖、對(duì)象圖、構(gòu)件圖、實(shí)施圖。
      
    行為圖: 用況圖、順序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。
      
      
    順序圖和協(xié)作圖統(tǒng)稱(chē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
    類(lèi)圖
      
      
    類(lèi)圖包括如下內(nèi)容:
      
      
    類(lèi)
      
    接口
      
    協(xié)作
      
    依賴(lài)、泛化和關(guān)聯(lián)關(guān)系。
      
      
    對(duì)系統(tǒng)的靜態(tài)設(shè)計(jì)視圖建模時(shí)使用類(lèi)圖的3種方式:
      1
    )對(duì)系統(tǒng)的詞匯建模
      2
    )對(duì)簡(jiǎn)單協(xié)作建模 --- 協(xié)作提供的一些合作行為強(qiáng)于其所有元素行為之和。
      3
    )對(duì)邏輯數(shù)據(jù)庫(kù)模式建模
      
      
      9
    高級(jí)類(lèi)
      
      
    UML中更一般的構(gòu)造塊是類(lèi)元,類(lèi)元包括:類(lèi)、接口、數(shù)據(jù)類(lèi)型、信號(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 草兒 閱讀(1008) 評(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è)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 深夜国产福利99亚洲视频| 亚洲国产精品婷婷久久| 亚洲国产精品成人| 精品亚洲视频在线观看| 亚洲av丰满熟妇在线播放| 国产v亚洲v天堂a无| 黄色毛片免费在线观看| 叮咚影视在线观看免费完整版| 一级毛片免费播放| 国产免费av片在线看| 亚洲国产婷婷香蕉久久久久久| 国产亚洲精品xxx| 亚洲一区二区视频在线观看 | 男女交性永久免费视频播放| 亚洲国产精品自在拍在线播放 | 亚洲国产精品线观看不卡| 亚洲欧美日韩自偷自拍| aa毛片免费全部播放完整| 91九色老熟女免费资源站| 国产成人aaa在线视频免费观看| 亚洲精品少妇30p| 亚洲综合小说另类图片动图 | 亚洲av高清在线观看一区二区| 久久精品亚洲综合| 久久亚洲精品无码av| 亚洲AV无码专区在线观看成人| 国产精品内射视频免费| 老司机在线免费视频| 亚洲日韩在线观看免费视频| 亚洲天堂一区在线| 国产高清视频免费在线观看| 福利免费观看午夜体检区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲精品tv久久久久久久久| 亚洲欧洲日韩极速播放| 三上悠亚电影全集免费| 日韩黄色免费观看| 亚洲高清无在码在线电影不卡| 日本精品久久久久久久久免费| 永久免费精品影视网站| 久久成人免费播放网站|