[修練營 UML]簡介軟體開發相關角色與UML產出模組

  • 19451
  • 0

[修練營 UML]簡介軟體開發相關角色與UML產出模組

前言

一個中大型軟體系統開發,系統工時往往超過24個人月,
其中每個系統開發階段,相關的角色與應有的產出,產出的文件與其他角色和每個階段的關係都是環環相扣的。

這邊透過EA的Sample Project來簡介一下,軟體開發會有哪一些階段、相關的角色、相關的產出文件。

說明

我們先從一張Overview的概觀圖來看,可以看出軟體開發時,可以被分成以下幾類Model:
overview 


接著我們在根據軟體開發順序去看相關的角色應該負責哪一些Model文件的產出:

Day24

UML的精神,就是一張圖抵的上千言萬語,
其實圖上的說明已經很清楚了,這邊為了避免有騙讀者的嫌疑,就幫忙多補充一些相關敘述。

 

  1. Business Model階段
    • 主要由Business Analyst負責
    • 分析企業流程與領域模型
    • 產出相關的文件應有Process Model與Domain Model
      • Process Model的範例
        process_model
      • Domain Model的範例
        domain_model
  2. Requirements階段(屬Requirements Model)
    • 主要也是由Business Analyst負責
    • 界定出User的需求,每個需求給定一個REQ編號,依據不同類型切成不同模組
    • 產出相關的文件可以分成Formal Requirements與Non-Functional Requirements Model,不同需求之間可能也會存在著relation
      • Formal Requirements
        Formal Requirements 
        • Take Orders Requirement之間的關係
          take_orders
      • Non-Functional Requirements Model
        Non-Functional Requirements Model
        • Security Requirement之間的關係
          security
  3. Use Cases階段(屬Requirements Model)
    • 主要由Use Case Modeller負責產出Use Case Model,Architect則負責描繪出至少符合Requirements與Use Case的System Model
    • Use Case Diagram
      UseCases
    • System Model裡面則包含了相當多的模組,在PIM階段,還沒到PSM之前,這些文件都與實作的語言和平台無關,這樣才符合MDA的規範,
      也才能讓系統分析和領域模型趨於穩定
      SystemModel
  4. Analysis階段(屬System Model)
    • 主要由System Analyst負責
    • 產出Analysis相關文件,例如
      • Communication Diagram
        communication
      • State Machine Diagram
        StateMachine
  5. Design階段(仍屬System Model)
    • 由Developers與DBA負責
    • 產出User interface、Abstract Class Model(PIM部分),再由PIM的部分產出屬於PSM的部分,例如DDL與C# Model,DDL則由DBA維護與監管
      • 整個Design Model的關係
        designModel
        • User Interface(也就是UI畫面)
          UI
        • Abstract Class Model
          AbstractClass
        • C# Model
          ClassModel
        • DDL(Data Model)
          DataModel
  6. Deployment階段(仍屬System Model裡)
    • 主要由Developers負責
    • 所有與部屬相關的文件,例如Server的機器規格、Client端的OS、網路相關資訊
      deployOverview
      network
      ServerInfo
    • Component Diagram
      Component
       

結論

雖然台灣很多的軟體公司在進行專案或軟體設計時,
通常人員都是校長兼撞鐘,不過透過整個Overview掃下來,
希望對大家在進行軟體開發的時候,各個階段可以去思考相關的文件、分析、設計,UML可以帶來哪一些好處。

這邊很多diagram都只有舉一兩個當範例,因為篇幅的關係沒有全部貼上來請見諒。


blog 與課程更新內容,請前往新站位置:http://tdd.best/