基于UML的軟件設(shè)計全過程_第1頁
基于UML的軟件設(shè)計全過程_第2頁
基于UML的軟件設(shè)計全過程_第3頁
基于UML的軟件設(shè)計全過程_第4頁
基于UML的軟件設(shè)計全過程_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于UML的軟件設(shè)計全過程 作者:51CTO.COM 2009-09-11 陳剛【內(nèi)容導(dǎo)航】····· 第1頁: 第2頁: 第3頁: 第4頁: 第5頁:統(tǒng)一建模語言(UML是 Unified Modeling Language的縮寫)是用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。本文將要介紹一個基于UML的軟件設(shè)計全過程,希望能對你有所幫助。前段時間把一個界面框架完成了,今天基于這個框架開發(fā)一個小模塊,在這里把這個模塊設(shè)計的全過程記錄下來,希望大家討論并指正。 起因公司交

2、給我一個任務(wù),為測試員寫一個手機模擬界面,以方便她們的手機短信測試。過去她們都是用MC4J直接調(diào)用公司服務(wù)器的MBean服務(wù)來模擬進(jìn)行測試,以驗證我們整個系統(tǒng)平臺。這種測試主要是檢查收發(fā)短信是否正常,而我的要做的工作就是,讓她們在測試的時候更方便更直觀。需求我和測試員陳MM(也就是軟件的使用者)約定了一個時間,大家一起來討論這個軟件的需求。1. 首先,我大概了解了一下她們的測試工作,知道我要做個什么東東。2. 然后我回去思考了一下,再次找她詳細(xì)了解其測試的具體步驟,并在一張白紙上以UML用例圖的方式,記錄下需求的功能。用例是什么?用例就是需求,就是你的軟件應(yīng)該具有的功能,當(dāng)然用例圖只是概括性的

3、對功能進(jìn)行了描述。3. 最后,我坐在我的電腦前開始用MagicDraw UML來畫用例圖(我不喜歡用Rose,那玩意太笨重了,界面友好性也不好)。在畫用例圖的時候,我發(fā)現(xiàn)了一些隱含的功能,這些是陳MM在和我做需求時沒有考慮到的(注:開發(fā)者應(yīng)該為用戶挖掘隱含需求)。我和陳MM一一確定了這些我新發(fā)現(xiàn)的需求,最后得到如下的用例圖。a. 手機前臺測試操作的用例圖b. 后臺管理界面設(shè)計接下來是界面設(shè)計。既然是手機模擬,我很自然就拿我的motorola手機的操作界面來做參考。不過這里應(yīng)該注意到,手機操作環(huán)境和電腦操作環(huán)境不盡相同(比如說電腦有鼠標(biāo),還有鍵盤可以輸入文字),所以沒有必要唯妙唯肖的完全模枋,還

4、是以使用者操作方便為主。界面設(shè)計是很重要的一步,不要一上來就寫程序,一定要先做到心中有個大概,否則返工的可能性就很大。而且,把界面拿出來給客戶看,客戶也就能做到心中有數(shù),還能盡早提出一些新需求和意見來。千萬不要等到軟件做完了再拿給客戶看,到時客戶看了如果要修改,那就做太多白費工了。由于軟件界面相對簡單,陳基本沒有提修改意見,但這不是個好兆頭。不過極限編程就是要擁抱變化不是_。咱不怕她改,只要大致的界面她能定下來就行了。界面我喜歡用Visio來畫,當(dāng)然也聽說有人喜歡用來快速構(gòu)建界面原型的,看個人喜好了。整個界面如下:這個是后臺管理界面類圖類圖反映了軟件的數(shù)據(jù)模型。在設(shè)計數(shù)據(jù)模型,我參考了界面設(shè)計

5、圖和用例圖,找出一個個的類。然后參照用例圖的一個個功能,設(shè)計出了各類的屬性和方法。設(shè)計初始的類圖當(dāng)然不可能很詳細(xì),但至少應(yīng)該看到個大概。有錯誤不要緊,后期可以慢慢修正,但大體關(guān)系就算定下來了。Neil(公司,一個40歲左右的真正的資深程序員)說:看一個軟件的設(shè)計主要看兩個類:類圖和時序圖。類圖確定了軟件數(shù)據(jù)模型的靜態(tài)關(guān)型,時序圖則是數(shù)據(jù)模型的動態(tài)關(guān)系。類圖如下,看英文大致可以知道類屬性方法的含義和作用了,就不一一介紹了。時序圖時序圖是本文最后一個圖,時序圖表明了用例圖中各功能的實現(xiàn)方案,同時也反應(yīng)了類圖中各類的交互關(guān)系。以后程序的邏輯和時序圖基本一致。不過,有些人會去畫得很詳細(xì)的時序圖,詳細(xì)到都快趕上偽代碼級別了,我覺得這沒必要。我把時序圖看做反映自己思路的大概過程,所以也就畫個大概。我認(rèn)為時序圖要簡潔易懂,這樣以后你的后繼維護(hù)者,拿到這個軟件的時序圖(當(dāng)然也包括用例圖、類圖),就能明白你的大概設(shè)計思路。另外,畫時序圖也能整理自己的思路,同時還可以對類圖的設(shè)計進(jìn)行驗證。在畫這個時序圖的過程中,我就糾正了在類圖中的幾處考慮不周的地方??偨Y(jié):時序圖可以()整理思路()驗證類的設(shè)計()是很好的軟件文檔,對維護(hù)者理解代碼很有幫助。這里僅給出其中幾個時序圖(實際上我也沒有把用例都畫完

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論