[全程建模]全程建模實踐過程指南(2004年)
1. 引言
我是2001年開始全面接觸Uml的,隨後當時的公司在這個方向上做了一些培訓,我自己也買了一些書來看,同時在一個專案中開始了應用。當時,我是邊學邊用,感覺起來理解的很快,不瞭解的東西在和同事的討論和實際的摸索中逐漸得到驗證和最後的確認。
後來,我開始主動在一些工程專案中採用Uml來取代傳統文件模式進行需求和分析設計等工作。
經過了幾個專案的實踐後,根據專案的實踐,我總結了一些經驗和教訓,完成了《軟體工程之全程建模實現》。
這也是因為,在這個時候,我發現一個人的實踐和摸索已經遠遠不能達到我所要求達到的程度,我希望能有更多的人參加到這個實踐中來。大家一同實踐,不斷體驗,並將經驗總結起來,彙集眾人的力量來推動中國軟體業分析設計技術的革命。
於是2003年底,我應邀到北航給他們的研究生講授Uml方面的知識。其間,我刻意地將一些全程建模的知識和理念灌輸給了他們,雖然我知道這對他們來說接受起來很困難,但是,結果還是讓我感到很欣慰的,因為他們都非常努力,這也使得我有了更強的信心來推動這個方向的發展。
2. 全程建模
本文的標題就提到了全程建模,那,到底什麼是全程建模?為什麼要採用全程建模?她有什麼好處?如果要用,又如何應用?如何開始?
2.1 什麼是全程建模
在軟體工程的全部實施過程中都採用模型的方式/手段而非文字的表達方式來進行描述/展現,這樣的實現過程就稱之為全程建模。
特點:這些模型相互之間是有關聯的,模型成為軟體工程過程各階段展現的主體而不是文字描述作為主體存在。
2.2 全程建模的好處
通過建模的方式將原來純文字加圖形描述的各種文件模型化,使得從需求到程式碼能夠統一起來,實現需求的變動直接影響到程式碼的變化。
提高程式碼對需求的有效性聯絡,同時,降低過去經常出現的:編碼一啟動,文件就失效的“怪圈”。
2.3 全程建模的應用環境
2.3.1 專案型別
目前而言,我建議的專案應該具有以下特徵:
第一、在開發時間較為充足的專案中應用。
第二、產品將來會不斷地被要求提供升級服務。
例如做產品開發時,一般時間和資金都較為充足,而且,公司方面也會要求將來對該產品做持續不斷的升級,這時候,建議你採用全程建模的方法來實施你的專案。
2.3.2 管理方式
管理方式上建議儘可能的正規化,至少也應該提供如下管理措施:
第一、專案開發計劃和過程管理;
第二、配置管理的應用;
只要做了這兩條,就基本上可以應用全程建模的方法來實施專案了。
2.4 如何開始全程建模實踐
首先,開發人員必須有相應的基礎知識;
其次,公司在管理上應當適當的正規化;
第三,初次應用的時候,開發過程中需要有經驗的人來做指導和稽核,以便於實施能夠順利進行。
3. 常用工具
3.1 常用建模工具
我經常使用的建模工具就是Rational的Rose,2001年曾經用過together,但是感覺不是很好。
Together被Borland收購後,應該會有一些好的變化。
3.2 常用輔助工具
除了Rose之外,還需要配備的工具如下:
文件編輯工具——用於用例闡述和互動建模
繪圖工具——用於介面設計
編碼工具——IDE開發環境
測試工具——對程式碼進行測試
配置管理工具——對程式碼和模型進行統一的管理
具體採用那種工具(例如:文件編輯工具是使用Word還是wps)就要看各個公司的情況。
4. 圖書資料介紹
4.1 《Uml參考手冊》
4.1.1 介紹
作者:James Rumbaugh Ivar Jacobson Grady Booch
譯者:姚淑珍 唐髮根
出版社:機械工業出版社
原出版社: Addison Wesley/Pearson
ISBN書號:7-111-08220-6
出版日期:2001年1月
頁數: 440
附註:這本書的英文版已經由科學出版社引進影印成書,英文比較好的朋友可以去看看。
4.1.2 評論
這是一本非常好的概念性書籍。
有些朋友對我說,看了這本書以後,什麼都看不懂。書中的句子大都是對著原文一句一句翻譯出來的,非常晦澀難懂。
我給他的回答是,沒關係,這很正常。如果你沒有這個反應,那才是真正的不正常。我第一遍讀這本書的時候也有同樣的感覺,當時,我也是硬著頭皮將它讀完的。
看完這本書以後,你就應該嘗試著去做一些專案,至少是練練手。然後,看看下面這本書《Uml設計核心技術》,看的方法見我的評論4.2.2。同時配合著看看RUP的內容或者參考《軟體工程之全程建模實現》中所介紹的對應階段的操作方法。
等一個專案做完以後,再把本書重新讀一遍,這時候,你一定會有非常不同的感受的。其實,你在做這第一個專案的過程中也會不斷的翻閱這本書來查詢一些概念上的解釋。
4.2 《UML設計核心技術》
4.2.1 介紹
作者:蔣慧 吳禮發 陳衛衛
出版社:北京希望電子出版社
ISBN書號:7-900056-45-9
出版日期:2001年4月
頁數: 306
4.2.2 評論
這本書也是一本還算不錯的Uml方面的入門性書籍,大家不要被它的名字給嚇壞了,以為真的是核心技術而不敢看它。
對於這本書的讀法是:
詳細地看完前七章,也就是它的第一部分UML入門。
第二部分,可以完全忽略掉,或者大概的翻一翻即可。
然後就可以開始做你的第一個專案了,做專案的時候配合著RUP中的過程,或者參考《軟體工程之全程建模實現》中所介紹的對應階段的操作方法。
4.3 RUP
4.3.1 介紹
下面是RUPC2000的標誌圖。
下面是RUP2003的標誌圖。
4.3.2 評論
關於RUP網上已經有了太多的內容,我不想多做介紹,這裡就直接些我是如何用它的。
RUP本身是個重型軟體工程方法,所謂的重是由於其內部詳細縝密的軟體工程實現方法和邏輯理念。在實際的軟體開發過程中,我們很難應用完整的RUP來實現專案。這與中國國內的工程性專案居多有著非常密切的關係。
在這裡我們操作的過程中可以參考RUP所提供的方法,卻不一定每個都要用到,對他做一定的裁減,根據專案需要和公司能力來定製所需的開發過程。
對於RUP,不需要每一個內容都仔細看,使用的方式是用到了就找找,看看。用不到,就先放到資料庫裡。
4.4 J2EE核心模式
4.4.1 介紹
出版社:機械工業出版社出版,(Sun公司核心技術叢書)
作者:(美)Deepak Alur John Crupi Dan Malks
譯者:牛志奇 丁天 田蘊哲
出版社:機械工業出版社
原出版社: PH PTR
ISBN書號:7-111-09511-1
出版日期:2002年1月
頁數: 300
它的英文原版封面是:
附註:這本書的英文版已經由科學出版社引進影印成書,英文比較好的朋友可以去看看。
4.4.2 評論
由於本人主要是從是Java方面的軟體開發,所以,對這本書較為推崇。
書中主要介紹了J2EE關鍵技術的模式、最佳實踐、設計策略和經過驗證的解決方案。涉及J2EE包括的15個模式的分類和大量的策略。
這裡面的模式主要是在架構體系層面的模式,和大家平時所說的設計模式是出於兩個不同層面的。
在《軟體工程之全程建模實現》一書中引用了這本書中的一個模式,對於Java語言開發者,我建議您能看看這本書,這是一定會對你有所幫助的。
4.5 軟體工程之全程建模實現
4.5.1 介紹
作者:青潤
出版社:電子工業出版社
ISBN書號:7-5053-9825-3
出版日期:2004年4月
開本:短16開
頁數: 291
4.5.2 評論
我在這本書的介紹中寫道:
本書主要介紹的是採用UML建模實現軟體工程的主要過程,包括需求、分析、設計、程式碼匯出、設計模型維護等,對協作開發等團隊開發所要求的必備知識也進行了詳細的描述。本書採用了國內實際軟體工程中的大量截圖,通過圖形和示例描述工程實際中的問題和過程。
本書適合於對UML基礎知識有一定的瞭解,同時參加過一些實際工程專案開發而又對全程建模過程實現感興趣的人員閱讀。
另外,這本書中所介紹的是在軟體開發的需求、分析、設計、編碼、維護這幾個階段的具體操作方法和注意事項。它與軟體的開發過程無關、與開發工具也沒有關係。無論您是採用Rose還是Together,或者是採用Jude等工具,都可以實現。不過,大部分工具還不能提供完整得到程式碼匯出和維護的功能,這一點需要大家注意。
使用.net等非Java開發語言的朋友,本書中的內容主要是以Java語言為基礎來介紹整個過程的,但是,與語言相關的主要在設計、編碼和維護這三個階段,在設計之前的內容是於語言無關的,你們也可以直接使用。而後續階段,只要甄別出Java與您所使用的語言的差異,我個人認為在用的時候,也同樣沒有太大的問題。
提醒:看過了4.1-4.4中的這四本書後,你就可以較為全面的來了解全程建模的過程和操作方式了。這時候,您再看我的這本書,相信您一定會有較大的收穫。
4.6 關於書的結束語
除了上面的幾本書以外,還有很多不錯的書,可能因為筆者的精力有限,因此沒能一一閱讀,給各位推薦。
不過,這裡還是以一句老話來結尾:書上能記錄下來的都是過去的東西。
能夠成書就已經說明這個東西經過了很多次的考驗,已經相對而言比較成熟了。而不能成書的,或者說來不及成書的才是真正及時的嶄新的知識。但是,新的知識和經驗必然也帶著新的風險,那就是沒有經過多次考驗而具有可能不穩定不夠確實的問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-683469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [全程建模]MDA、全程建模、開源和應用的對話
- 軟體全程建模1
- [全程建模]軟體工程之全程建模實現第二版進展通報軟體工程
- [全程建模]《軟體工程之全程建模實現》一書第二版簽約公告軟體工程
- [全程建模]互動建模和介面設計的區分詳釋
- [全程建模]2008年5月8日某公司的全程建模績效管理辦法執行中出現的偏差
- [全程建模]軟體開發方法論綜述
- [全程建模]業務建模和用例模型以及需求規格說明書的關係模型
- [全程建模]傾聽——軟體開發中的重要手段
- [全程建模]關於Actor與外部系統的對話
- 敏捷建模對統一過程的改造實踐敏捷
- [全程建模]UML應用與實踐的對話——需求中流程與用例的關係
- [全程建模]窺國外uml應用情況之一隅
- [全程建模]用例的子流和分析類的關係
- [全程建模]交換程式設計中的大鍋飯問題程式設計
- [全程建模]UML設計類中的實現與方法數量問題
- [技術討論]軟體工程之全程建模實現適合做教材麼?軟體工程
- Sublime Text全程指南
- [全程建模]業務用例到系統用例的變化圖
- [全程建模]設計模型和UML應用中的例項分析模型
- [全程建模]用例、用例圖和用例模型的概念解析模型
- [全程建模]屬性方法是否都要在UML中設計出來?
- [全程建模]類圖與時序圖作用的對比討論時序圖
- [全程建模]一個專案UML設計中的幾個問題
- [全程建模]績效管理模型在itsp組內的對話討論模型
- 財務建模最佳實踐 - DDD相關建模
- [全程建模]為什麼UML工具生成的程式碼只有標頭檔案
- PHP安全程式設計最佳實踐PHP程式設計
- [全程建模]UML工具的反工和程式碼類圖時序圖的作用時序圖
- [全程建模]元用例和需求與績效之間的關係討論
- Gentoo Linux CD 方式全程安裝過程(轉)Linux
- [全程建模]UML中用例圖裡的外部系統的表示方式有規定麼?
- 軟體專案需求開發過程實踐之業務建模用例圖
- [全程建模]系統用例和業務用例的區別以及用例粒度的討論
- nginx+nagios在ubuntu下搭建過程全程指導NginxiOSUbuntu
- 17條建模實踐與原則
- UML建模實踐——選“對”企業架構建模視角很關鍵架構
- DDD過程中大家都使用什麼建模工具?