[修練營 UML]簡介軟體開發相關角色與UML產出模組
前言
一個中大型軟體系統開發,系統工時往往超過24個人月,
其中每個系統開發階段,相關的角色與應有的產出,產出的文件與其他角色和每個階段的關係都是環環相扣的。
這邊透過EA的Sample Project來簡介一下,軟體開發會有哪一些階段、相關的角色、相關的產出文件。
說明
我們先從一張Overview的概觀圖來看,可以看出軟體開發時,可以被分成以下幾類Model:
接著我們在根據軟體開發順序去看相關的角色應該負責哪一些Model文件的產出:
UML的精神,就是一張圖抵的上千言萬語,
其實圖上的說明已經很清楚了,這邊為了避免有騙讀者的嫌疑,就幫忙多補充一些相關敘述。
- Business Model階段
- 主要由Business Analyst負責
- 分析企業流程與領域模型
- 產出相關的文件應有Process Model與Domain Model
- Requirements階段(屬Requirements Model)
- 主要也是由Business Analyst負責
- 界定出User的需求,每個需求給定一個REQ編號,依據不同類型切成不同模組
- 產出相關的文件可以分成Formal Requirements與Non-Functional Requirements Model,不同需求之間可能也會存在著relation
- Use Cases階段(屬Requirements Model)
- 主要由Use Case Modeller負責產出Use Case Model,Architect則負責描繪出至少符合Requirements與Use Case的System Model
- Use Case Diagram
- System Model裡面則包含了相當多的模組,在PIM階段,還沒到PSM之前,這些文件都與實作的語言和平台無關,這樣才符合MDA的規範,
也才能讓系統分析和領域模型趨於穩定
- Analysis階段(屬System Model)
- Design階段(仍屬System Model)
- 由Developers與DBA負責
- 產出User interface、Abstract Class Model(PIM部分),再由PIM的部分產出屬於PSM的部分,例如DDL與C# Model,DDL則由DBA維護與監管
- Deployment階段(仍屬System Model裡)
結論
雖然台灣很多的軟體公司在進行專案或軟體設計時,
通常人員都是校長兼撞鐘,不過透過整個Overview掃下來,
希望對大家在進行軟體開發的時候,各個階段可以去思考相關的文件、分析、設計,UML可以帶來哪一些好處。
這邊很多diagram都只有舉一兩個當範例,因為篇幅的關係沒有全部貼上來請見諒。
blog 與課程更新內容,請前往新站位置:http://tdd.best/