項目建模大致流程

一、前言

從10年初到現在13年5月,差不多幹了3年多的管理了,雖然是部門經理的職位,帶着兩個技術團隊(iOS & Android),但是,由於是小公司,所以,除了日常的團隊管理外,更多的是技術上和項目上的管理,以及參與手機跨平臺架構設計,UML建模和Coding工作,今天這篇文章,就講講整個項目UML建模的大致流程。

雖然,小公司,像我現在所在的公司,不到100人,基本上,都是上面的領導拍着腦袋決定做什麼,不做什麼,但是,在我看來,無論做什麼項目,還是得了解領導想做一個什麼樣的應用,含有哪些功能,UI界面如何,項目週期以及上線運營要到達一個什麼樣的效果,我都必需要提前很早了解個大致,並在接下來的細化中,不斷完善。

二、流程

大致的流程分爲:

a. 發現業務過程;

b. 執行領域分析;

c. 識別協作系統;

d. 發現系統需求;

e. 提交客戶結果。

2.1 發現業務過程

做任務一個項目,都需要了解這個項目的業務過程,即這個項目最終的結果,要達到客戶心裏所想的那樣,符合需求。

通常,需要先與客戶的負責人溝通,從業務的初始狀態,開始與客戶交流,傾聽,記錄客戶敘述整個的業務過程,積極與客戶交流該業務中你可能不太理解或不明白的業務,讓整個過程表現的就像是朋友間的聊天,輕鬆自在而不會使氣氛很凝重。

當然,客戶也不可能完全瞭解整個業務過程,那麼你就得在傾聽或交流中,發現潛在的業務邏輯,並在客戶將整個業務過程大致敘述完之後,再將這些潛在的業務邏輯一個一個的問客戶。

最終,根據這份會話記錄,得出一份UML的活動圖(最好以泳道圖的方式展現更加直觀)給客戶看,目的:一是讓客戶重新瞭解一次這個項目的業務邏輯,另一個是避免有漏掉的業務。

可能由於項目較大,或是無法一次談話,就能全部瞭解清楚,因此,最好每次只與客戶聊一到兩個話題即可。

2.2 執行領域分析

瞭解了整個業務過程這後,接下來,就是分析這個業務,將其拆成許多個類圖,然後,分析各個類圖,將相同屬性功能的合併爲同一個類圖。

2.3 識別協作系統

將所有類圖關聯起來,有些類圖可能之間存在聚合或組合關係,有些是抽象類,因此有些類圖是泛化關係。

2.4 發現系統需求

如果一個大型系統,如物流,那麼涉及的角色,業務環節較多,那麼需要按照不同的角色,進行多次聯合會議,來進一步細化業務,最終得到一個按某種規則(如角色,環節)來定義的包圖,而每個規則又是一個小包,這個小包含有相關聯的用例圖。

2.5 提交客戶結果

這裏的結果,不是開發出來的系統或者應用,而只是根據二、三、四和五得出來的需求,離真正的概要設計,詳細設計還遠着很。根據前面所說,我們最終將得到:業務過程圖(二),類圖及之間關係(三、四)和功能包圖(五)。這些東西將提交給客戶,並我們將保留一份。

 三、細化建模和設計

這個部分開始,工程師們開始要考慮概要設計和詳細設計了,同時,測試人員也要開始考慮編寫白盒和黑盒的測試用例,不過,爲了更進一步的讓工程師和測試人員瞭解更全面的信息,我們將會開始做如下事情:

3.1 用例圖描述

由2.4,我們有了功能包圖和許多的用例圖,接下來,咱們需要分析這些用例圖,並對它們加以描述,一個用例圖,用一個描述,還要寫上前置條件,後置條件,和步驟。

如下格式:

a. 用例"xxxx"

    描述:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    前置條件: xxxxxxx

    後置條件: xxxxxxxxx

    操作步驟:1. xxxx; 2. xxxxx; 3. xxxx

最終根據這些用例圖的描述,可以將同一個功能包中的所有用例相互的關聯起來。用例圖中,系統外的參與者是不可少的,別忘記加上。

3.2 功能包之間的關係:交互

一個系統有不同的功能區分,這時,就需要將這些功能集成起來,並用一種方式來描述它們之間是如何交互的,知道了這些,工程師們就可以更加輕鬆簡單的編寫代碼。

在UML中,描述交互的圖有兩種:順序圖和協作圖。

個人比較喜歡用順序圖來描述,因爲對象之間的交互如果一但多起來,協作圖就會看起來比較混亂,而順序圖的對象間的交互很直觀,而且還能描述對象的生命週期。

3.3 GUI、前後端及部署

到目前爲止,我們還沒有一個GUI的DEMO讓我們的客戶看到一個雛形,因此,我們這部分就開始讓美術設計人員參與界面的設計,別小看這個環節,GUI的好壞,決定着使用着的心情,一個好看的GUI,操作方便的GUI可以讓用戶使用的心情愉快,而相反,用戶會越來越不想使用,直到最後產生牴觸的情緒並最終放棄使用。所以,我們需要將設計出來的DEMO給客戶看,並讓客戶體驗一些簡單的功能,得到客戶的反饋以改進我們的界面設計。

現在的系統,都分爲前端與後端(後臺),而前端可以爲PC(臺式),移動設備(筆記本,手機,PAD等),因此,要考慮產品部署到前端和後端時,不能導致某些功能不能使用,或與部署的系統衝突不兼容等原因。考慮到這些之後,就需要給出一個部署圖。

四、總結

以上說的,只是我平時日積月累下來的一些經驗,和參考,閱讀一些UML建模方面的書籍的心得體會,我也希望大家給出一些建議,讓我可以更進一步的改進自己的工作方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章