偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

實(shí)例解析UML面向?qū)ο蠹夹g(shù)

開發(fā) 架構(gòu)
UML面向?qū)ο蠹夹g(shù)有很多值得學(xué)習(xí)的地方,本文通過實(shí)例向大家介紹一下UML面向?qū)ο蠹夹g(shù)的應(yīng)用,希望通過本文的介紹你對(duì)UML面向?qū)ο蠹夹g(shù)有一定的認(rèn)識(shí)。

本節(jié)向大家介紹一下UML面向?qū)ο蠹夹g(shù)的應(yīng)用,通過開發(fā)俄羅斯方塊這一實(shí)例向大家介紹,相信通過本節(jié)的介紹你對(duì)UML面向?qū)ο蠹夹g(shù)的應(yīng)用有深刻的認(rèn)識(shí)。

基于UML面向?qū)ο蠹夹g(shù)開發(fā)俄羅斯方塊?
  
  1.1系統(tǒng)描述與規(guī)劃并建立用例圖?

       俄羅斯方塊的功能需求是,提供一個(gè)界面顯示當(dāng)前生成的方塊狀態(tài)、下落及下一個(gè)方塊,接收用戶輸入以控制下落和旋轉(zhuǎn),調(diào)整到***位置,當(dāng)下落終止后判斷是否產(chǎn)生滿行,如果有滿行則消行并設(shè)置分?jǐn)?shù),當(dāng)分?jǐn)?shù)達(dá)到一定要求時(shí)給用戶增加等級(jí)和下降速度,之后產(chǎn)生新方塊,重復(fù)執(zhí)行此操作,直到方塊無法被消去而阻止新方塊的產(chǎn)生。?
  根據(jù)系統(tǒng)描述我們可以抽象出9個(gè)用例:用戶輸入系統(tǒng)、圖像顯示系統(tǒng)、方塊動(dòng)作、新方塊生成、消行、方塊死亡、分?jǐn)?shù)設(shè)置、等級(jí)設(shè)置、下降速度控制。抽取出兩個(gè)角色:用戶和控制系統(tǒng)。
?
  用例圖用簡(jiǎn)單的圖形符號(hào)表示出系統(tǒng)的活動(dòng)者,用例以及它們之間的聯(lián)系,準(zhǔn)確的表達(dá)了活動(dòng)者與系統(tǒng)的交互情況和系統(tǒng)所能提供的服務(wù)。在實(shí)際問題中提取出用例是系統(tǒng)的一個(gè)基本任務(wù),把系統(tǒng)的功能需求用用例圖清楚、準(zhǔn)確的表達(dá)出來,在此基礎(chǔ)上進(jìn)行對(duì)象模型的分析與設(shè)計(jì)。在開發(fā)過程中要不斷的修改和完善用例模型,推動(dòng)系統(tǒng)的分析與設(shè)計(jì)不斷精化,努力達(dá)到系統(tǒng)預(yù)定目標(biāo)。?

     1.2系統(tǒng)靜態(tài)分析、類圖及順序圖?

      UML面向?qū)ο蠹夹g(shù)中系統(tǒng)分析主要是對(duì)領(lǐng)域問題及其解決方案的一個(gè)分析和設(shè)計(jì)過程,關(guān)鍵是要準(zhǔn)確找出現(xiàn)實(shí)世界的對(duì)象和類之間的關(guān)系,把他們映射成系統(tǒng)中的對(duì)象類和類之間的聯(lián)系,并加以設(shè)計(jì)和調(diào)整,最終用圖形表示出來。?

  本系統(tǒng)中主要類有窗口類、圖形顯示類和方塊類。窗口是操作的載體,圖形顯示是與用戶進(jìn)行交互的媒介,方塊類是操作的對(duì)象執(zhí)行具體的動(dòng)作。窗口類是整個(gè)系統(tǒng)的載體,操作顯示等都在其上完成;圖形顯示類提供了將方塊的布局及產(chǎn)生的新方塊和下一個(gè)方塊顯示給用戶,以告知用戶當(dāng)前狀態(tài)。具體的動(dòng)作是由方塊執(zhí)行,方塊接收用戶的控制消息,執(zhí)行動(dòng)作,同時(shí)刷新圖形。我們要處理的關(guān)鍵是方塊,這里方塊共7種圖形,要是建立七個(gè)單一的類,則系統(tǒng)編寫起來會(huì)非常復(fù)雜,這時(shí)可以根據(jù)系統(tǒng)的共性,得到一個(gè)基類。因?yàn)楦鞣N不同的方塊的動(dòng)作是一樣的,都有下降、旋轉(zhuǎn)、移動(dòng)三種動(dòng)作,同時(shí)各種方塊的組成相同,即4個(gè)小方塊,可以統(tǒng)一存儲(chǔ)。這樣我們創(chuàng)建一個(gè)虛基類,它本身不創(chuàng)建實(shí)際對(duì)象,只提供操作和存儲(chǔ)功能,不同形狀的方塊對(duì)象由各子類創(chuàng)建。創(chuàng)建對(duì)象時(shí),由子類的構(gòu)造函數(shù)給類的屬性賦值,決定了類對(duì)象的形狀。類圖和具體方塊的形狀如圖2類圖及實(shí)例對(duì)象模型所示。?

  在產(chǎn)生新對(duì)象時(shí),只需創(chuàng)建一個(gè)對(duì)象并把對(duì)象賦給基類對(duì)象指針,就可以用全局基類指針來控制各種動(dòng)作,而不用對(duì)各個(gè)子類單獨(dú)處理。系統(tǒng)只需對(duì)基類對(duì)象指針作移動(dòng)、旋轉(zhuǎn)、下降等操作,而不用關(guān)心當(dāng)前對(duì)象是那個(gè)類創(chuàng)建的。這樣操作和具體對(duì)象分離,就簡(jiǎn)化了程序的控制,使全局的設(shè)計(jì)達(dá)到***化。?
  通過發(fā)現(xiàn)類、類對(duì)象,明確他們的含義和責(zé)任,確定屬性和操作,發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系,分析對(duì)象類之間的一般與特殊關(guān)系、部分與整體關(guān)系,研究類的繼承性、多態(tài)性,調(diào)整和精化類之間的聯(lián)系,使其能更準(zhǔn)確地描述系統(tǒng)的靜態(tài)特征。?
  順序圖表示完成某個(gè)行為的對(duì)象類和這些對(duì)象類之間所傳遞的消息的時(shí)間順序。用戶進(jìn)入系統(tǒng)后,通過鍵盤輸入對(duì)方塊做動(dòng)作控制,控制系統(tǒng)根據(jù)輸入或系統(tǒng)等待時(shí)間決定方塊的動(dòng)作,當(dāng)方塊下落到遇到障礙后,控制系統(tǒng)得到消息進(jìn)行消行、分?jǐn)?shù)設(shè)置等,見圖3順序圖。?
  
    1.3動(dòng)態(tài)分析設(shè)計(jì)及狀態(tài)圖?

      UML面向?qū)ο蠹夹g(shù)中狀態(tài)圖用于描述系統(tǒng)的行為,描述類的一個(gè)對(duì)象在其生存周期間的行為,表現(xiàn)為一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列,引起狀態(tài)或活動(dòng)轉(zhuǎn)移的事件,以及因狀態(tài)或活動(dòng)轉(zhuǎn)移而伴隨的動(dòng)作,可以描述用例及整個(gè)系統(tǒng)的動(dòng)態(tài)行為。在對(duì)確定的對(duì)象進(jìn)行行為建模時(shí),所選擇對(duì)象生存期中的狀態(tài)數(shù)量是有限的。對(duì)象處于每個(gè)狀態(tài)的持續(xù)時(shí)間也是有限的。當(dāng)發(fā)生某個(gè)事件,或完成了某個(gè)動(dòng)作或活動(dòng)的執(zhí)行,都會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)移。首先選擇初始狀態(tài)和終結(jié)狀態(tài),然后發(fā)現(xiàn)對(duì)象的各種狀態(tài),確定狀態(tài)可能發(fā)生的轉(zhuǎn)移,把必要的動(dòng)作加到狀態(tài)或轉(zhuǎn)移上。根據(jù)俄羅斯方塊的系統(tǒng)描述,功能要求,分析得到系統(tǒng)的狀態(tài)圖  

  總結(jié)?
  
  利用上述方法,設(shè)計(jì)了俄羅斯方塊游戲,并用C++Builder6.0作為開發(fā)工具實(shí)現(xiàn)了系統(tǒng),如果需要添加新的方塊形狀只需新建一個(gè)類并在控制中加入新建對(duì)象的過程即可,充分體現(xiàn)了系統(tǒng)的可擴(kuò)充性,可維護(hù)性等。雖然游戲較小,但足可以生動(dòng)的展現(xiàn)了面向?qū)ο骍ML技術(shù)的強(qiáng)大功能,不僅能夠提高開發(fā)效率,提高軟件質(zhì)量,加速開發(fā)過程,而且具有較好的可重用性、可擴(kuò)充性、可維護(hù)性和可移植性。?

  【編輯推薦】

  1. UML面向?qū)ο蠹夹g(shù)全面解析
  2. UML建模工具Rose與EA的區(qū)別
  3. UML面向?qū)ο蠹夹g(shù)學(xué)習(xí)筆記
  4. 免費(fèi)UML建模工具盡情體驗(yàn)
  5. 幾款常用UML建模工具解析
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-17 18:17:36

UML面向?qū)ο蠹夹g(shù)

2010-06-13 17:48:36

UML面向?qū)ο蠼?/a>

2010-06-13 10:33:54

面向?qū)ο骍ML技術(shù)

2010-06-13 10:19:24

面向?qū)ο蠹夹g(shù)與UML

2010-06-18 17:49:34

UML面向?qū)ο蠹夹g(shù)

2010-07-12 10:15:11

UML對(duì)象圖

2010-06-13 10:01:48

面向?qū)ο蠹夹g(shù)與UML

2010-06-18 11:28:14

2010-07-09 16:45:26

UML面向?qū)ο?/a>

2010-07-12 14:32:29

UML對(duì)象關(guān)系

2010-06-17 17:57:10

UML面向?qū)ο蠓治雠c設(shè)

2010-07-06 09:43:34

UML面向?qū)ο?/a>

2009-06-26 13:29:11

面向?qū)ο?/a>

2010-06-08 13:52:11

UML技術(shù)

2010-06-11 17:34:37

UML對(duì)象圖

2010-06-17 18:57:11

UML對(duì)象關(guān)系

2009-06-26 13:56:20

UML面向?qū)ο蠼?/a>

2010-06-17 09:22:48

UML面向?qū)ο蠓治雠c建

2010-07-06 17:21:08

UML面向?qū)ο?/a>

2010-06-11 17:59:24

UML對(duì)象圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)