Search code examples
umlprojects-and-solutionsenterprise-architect

How to structure a UML (Enterprise Architect) project


I am starting a new embedded software project. I am going to use Enterprise Architect to capture the requirements and to design the software architecture.

How should I structure/organize the project in Enterprise Architect?

My idea is to do something like (edited, thanks to Aleks):

ProjectName
|
+-Analysis
|   +-Deployment (ECU HW, External Devices)
|   +-Actors
|   +-Use Cases
|   +-Requirements
|
+-Design
|   +-Static Views
|   |    +-Component Diagrams
|   |    +-Class Diagrams
|   +-Dynamic Views
|        +-Activity Diagrams
|
+-Testing
    +-Test Cases
         +-Sequence Diagrams

Does it make sense?


Solution

  • It looks good, following the project phases. The most important thing is that the model structure follows your methodology and that you feel comfortable with it and navigate is fast and naturally. With EA in particupar, there is also report generation, that works perfect if the model is properly structured - so if you want to generate documents, keep this in mind.

    For an embedded system it is likely to have some classes with state machines. The most natural place to put those is inside the corresponsing classes (although dynamic views can also be used and later linked to class)

    Another important diagram would be a component diagram under static view. It shows the overall system modules and their interfaces (architecture).

    A deployment can also come in handy, if the system has some distributed components or external systems.

    With EA you should always consider traceability matrix, as a tool to trace elements across packages and models. It's my favourite EA feature. :)