讓技術人員看得懂的流程(1)——麵向對象設計全流程概述
讓技術人員看得懂的流程
——麵向對象設計全流程概述
談到流程,大家都會想到熟悉的瀑布模型、螺旋模型、迭代開發、敏捷、RUP等一堆軟件工程相關的軟件開發流程,但是請不要誤會,本文的流程和這些管理流程完全不同,為了以示區分,我把瀑布模型、敏捷、RUP等流程成為項目流程,也就是說這是給項目管理用的;而本文的流程是技術流程,是給技術人員(主要是設計人員)看的流程。
在開始講解之前,看看如下問題你是否能夠回答?
1、客戶的需求是描述性的,例如“我們需要一個POS機”,而代碼是一個一個具體的類和函數,那麼如何從描述性的語言最後轉化到具體的類和函數呢?
2、具體語言的特性,例如Java和C++的private、protected、public這些屬性是從哪裏來的?什麼時候設計的?
3、不管什麼代碼,最後都要運行在具體的平台上,如Windows、Linux、UNIX等,那麼這些平台相關的進程、線程什麼時候設計、如何設計?(不要說你所有的產品都是單線程或者單進程哈:-P)
4、如果是稍微大一點的產品,需要運行在多台機器上,那麼如何確定需要多少機器?如何分工?
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
怎麼樣?以上這些問題是否似曾相識,或者自己是否考慮過?
如果你的第一反應是去翻開《軟件工程》、RUP、敏捷開發等相關著作,那麼我可以很肯定的告訴你你會失望的,就像前麵提到的,這些東西不是管理流程的事情,而是技術流程的事情。
如果你心有疑問,或者不敢肯定自己的答案,那麼“不懂的人有福了”,因為我將通過幾篇短的博文和一個實例來簡明概要的講述這個流程,概要的講,主流程如下:
用例模型->領域模型->設計模型->實現模型->進程模型->部署模型
實例就用一個簡單的POS機係統來講解,欲知詳情如何,且聽下回分解!
最後更新:2017-04-02 04:01:45