自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UML軟件的設(shè)計(jì)全過(guò)程解析

開(kāi)發(fā) 架構(gòu)
在學(xué)習(xí)UML的過(guò)程中,你可能會(huì)遇到UML軟件的問(wèn)題,不知道你是否熟悉,這里就向大家介紹一下基于UML軟件的設(shè)計(jì)全過(guò)程,希望通過(guò)本文的介紹,你對(duì)UML相關(guān)內(nèi)容有一定的了解。

本節(jié)向大家介紹一下基于UML軟件的設(shè)計(jì)全過(guò)程,主要介紹一下手機(jī)模擬界面的設(shè)計(jì)過(guò)程,相信通過(guò)本節(jié)的介紹你對(duì)UML軟件設(shè)計(jì)有一定的認(rèn)識(shí)。

基于UML軟件的設(shè)計(jì)全過(guò)程

前段時(shí)間把一個(gè)界面框架完成了,今天基于這個(gè)框架開(kāi)發(fā)一個(gè)小模塊,在這里把這個(gè)模塊設(shè)計(jì)的全過(guò)程記錄下來(lái),希望大家討論并指正。

  起因

  公司交給我一個(gè)任務(wù),為測(cè)試員寫(xiě)一個(gè)手機(jī)模擬界面,以方便她們的手機(jī)短信測(cè)試。過(guò)去她們都是用MC4J直接調(diào)用公司服務(wù)器的MBean服務(wù)來(lái)模擬進(jìn)行測(cè)試,以驗(yàn)證我們整個(gè)系統(tǒng)平臺(tái)。這種測(cè)試主要是檢查收發(fā)短信是否正常,而我的要做的工作就是,讓她們?cè)跍y(cè)試的時(shí)候更方便更直觀。

  需求

  我和測(cè)試員陳MM(也就是軟件的使用者)約定了一個(gè)時(shí)間,大家一起來(lái)討論這個(gè)UML軟件的需求。

  1.首先,我大概了解了一下她們的測(cè)試工作,知道我要做個(gè)什么東東。

  2.然后我回去思考了一下,再次找她詳細(xì)了解其測(cè)試的具體步驟,并在一張白紙上以UML用例圖的方式,記錄下需求的功能。用例是什么?用例就是需求,就是你的軟件應(yīng)該具有的功能,當(dāng)然用例圖只是概括性的對(duì)功能進(jìn)行了描述。

  3.最后,我坐在我的電腦前開(kāi)始用MagicDrawUML來(lái)畫(huà)用例圖(我不喜歡用Rose,那玩意太笨重了,界面友好性也不好)。在畫(huà)用例圖的時(shí)候,我發(fā)現(xiàn)了一些隱含的功能,這些是陳MM在和我做需求時(shí)沒(méi)有考慮到的(注:開(kāi)發(fā)者應(yīng)該為用戶挖掘隱含需求)。我和陳MM一一確定了這些我新發(fā)現(xiàn)的需求,最后得到如下的用例圖。

  a.手機(jī)前臺(tái)測(cè)試操作的用例圖

 

 

 

  b.后臺(tái)管理

 

  界面設(shè)計(jì)

  接下來(lái)是UML軟件界面設(shè)計(jì)。既然是手機(jī)模擬,我很自然就拿我的motorola手機(jī)的操作界面來(lái)做參考。不過(guò)這里應(yīng)該注意到,手機(jī)操作環(huán)境和電腦操作環(huán)境不盡相同(比如說(shuō)電腦有鼠標(biāo),還有鍵盤可以輸入文字),所以沒(méi)有必要唯妙唯肖的完全模枋,還是以使用者操作方便為主。

  界面設(shè)計(jì)是很重要的一步,不要一上來(lái)就寫(xiě)程序,一定要先做到心中有個(gè)大概,否則返工的可能性就很大。而且,把界面拿出來(lái)給客戶看,客戶也就能做到心中有數(shù),還能盡早提出一些新需求和意見(jiàn)來(lái)。千萬(wàn)不要等到軟件做完了再拿給客戶看,到時(shí)客戶看了如果要修改,那就做太多白費(fèi)工了。
  由于軟件界面相對(duì)簡(jiǎn)單,陳MM基本沒(méi)有提修改意見(jiàn),但這不是個(gè)好兆頭。不過(guò)極限編程就是要擁抱變化不是^_^。咱不怕她改,只要大致的界面她能定下來(lái)就行了。
  界面我喜歡用Visio來(lái)畫(huà),當(dāng)然也聽(tīng)說(shuō)有人喜歡用VB來(lái)快速構(gòu)建界面原型的,看個(gè)人喜好了。整個(gè)界面如下:

  這個(gè)是后臺(tái)管理界面

  類圖

  類圖反映了軟件的數(shù)據(jù)模型。在設(shè)計(jì)數(shù)據(jù)模型,我參考了界面設(shè)計(jì)圖和用例圖,找出一個(gè)個(gè)的類。然后參照用例圖的一個(gè)個(gè)功能,設(shè)計(jì)出了各類的屬性和方法。設(shè)計(jì)初始的類圖當(dāng)然不可能很詳細(xì),但至少應(yīng)該看到個(gè)大概。有錯(cuò)誤不要緊,后期可以慢慢修正,但大體關(guān)系就算定下來(lái)了?! eil(公司CTO,一個(gè)40歲左右的真正的資深程序員)說(shuō):看一個(gè)UML軟件的設(shè)計(jì)主要看兩個(gè)類:類圖和時(shí)序圖。類圖確定了軟件數(shù)據(jù)模型的靜態(tài)關(guān)型,時(shí)序圖則是數(shù)據(jù)模型的動(dòng)態(tài)關(guān)系?! ☆悎D如下,看英文大致可以知道類/屬性/方法的含義和作用了,就不一一介紹了。

  時(shí)序圖

  時(shí)序圖是本文最后一個(gè)圖,時(shí)序圖表明了用例圖中各功能的實(shí)現(xiàn)方案,同時(shí)也反應(yīng)了類圖中各類的交互關(guān)系。以后程序的邏輯和時(shí)序圖基本一致。不過(guò),有些人會(huì)去畫(huà)得很詳細(xì)的時(shí)序圖,詳細(xì)到都快趕上偽代碼級(jí)別了,我覺(jué)得這沒(méi)必要。我把時(shí)序圖看做反映自己思路的大概過(guò)程,所以也就畫(huà)個(gè)大概。

  我認(rèn)為時(shí)序圖要簡(jiǎn)潔易懂,這樣以后你的后繼維護(hù)者,拿到這個(gè)UML軟件的時(shí)序圖(當(dāng)然也包括用例圖、類圖),就能明白你的大概設(shè)計(jì)思路。另外,畫(huà)時(shí)序圖也能整理自己的思路,同時(shí)還可以對(duì)類圖的設(shè)計(jì)進(jìn)行驗(yàn)證。在畫(huà)這個(gè)時(shí)序圖的過(guò)程中,我就糾正了在類圖中的幾處考慮不周的地方。

  總結(jié):時(shí)序圖可以(1)整理思路(2)驗(yàn)證類的設(shè)計(jì)(3)是很好的軟件文檔,對(duì)維護(hù)者理解代碼很有幫助。
  這里僅給出其中幾個(gè)時(shí)序圖(實(shí)際上我也沒(méi)有把用例都畫(huà)完,有些類似的簡(jiǎn)單的,就忽略了)
  a.新增一個(gè)手機(jī)號(hào)碼
  b.關(guān)機(jī)
  c.開(kāi)機(jī)
  d.發(fā)送短信
  到這里設(shè)計(jì)階段就完成了,用時(shí)一天。下一步是編碼,將應(yīng)用TDD先寫(xiě)測(cè)試代碼的方式來(lái)寫(xiě)代碼,下次再介紹了。

【編輯推薦】

  1. UML建模語(yǔ)言的基本概念專家講解
  2. 教你繪制整潔的UML圖
  3. 如何繪制UML用例圖
  4. UML狀態(tài)圖及其組成元素簡(jiǎn)介
  5. UML用例圖用法實(shí)例剖析

 

責(zé)任編輯:佚名 來(lái)源: tech.ddvip.com
相關(guān)推薦

2009-02-20 10:25:54

UML軟件設(shè)計(jì)例程

2010-07-07 09:11:31

Eclipse UML

2011-04-18 15:56:10

軟件測(cè)試

2009-06-10 16:55:42

cygwin netb安裝

2010-02-22 13:38:50

Python解析器

2011-06-24 13:08:34

Qt Qt 4.5.3 移植

2009-12-15 16:51:32

2011-02-22 10:46:02

Samba配置

2009-12-08 17:56:16

WCF配置

2011-09-06 15:38:20

QT安裝

2011-01-21 17:51:52

2009-04-13 12:37:18

2017-04-25 18:03:11

Caffe深度學(xué)習(xí)框架

2010-03-01 17:01:03

Python編程技巧

2010-03-10 13:24:45

Zend Debugg

2010-06-17 13:10:09

Linux Grub修

2010-11-19 10:11:49

Oracle物化視圖

2012-11-06 10:19:18

Java自定義加載Java類

2011-03-11 10:39:02

YUM安裝LAMP

2010-07-21 14:51:19

telnet-serv
點(diǎn)贊
收藏

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