What is a Project?
An Enterprise Architect project is a mechanism for storing and managing the components of one or more UML models.
A project can be a .EAP file in an MS Access database or (in the Enterprise Architect Corporate, Business and Software Engineering, System Engineering and Ultimate editions) a structure of files in a database management system such as MySQL or Oracle.
A project can contain a single model, or a number of models, each of which defines a particular system or process. A model contains the diagrams, elements, relationships and associated metadata that define the structure and function of the system or process. These components are organized into a hierarchy of packages, which help to group and manage related components.
Different aspects of the process or system - or their development - are defined by Model Packages, which you generate from templates specifically structured to support the aspects that the Model Packages represent, such as requirements or deployment. You can generate these templated packages at any level of the hierarchy, but as they are created with their own content they are more useful at the top levels.
The top-level packages in a model can also be Views, which represent partitions of the model that you define yourself. You can start with standard Views such as Class or Component, or create whatever partitions are appropriate to your model.
So a typical project could have a structure something like the following:
The project Condor contains two models:
- Development Model and
- Requirements Model.
Requirements Model contains:
- Requirements View and
- Use Case Model Package.
Each View or Model Package contains packages. Use Case Model Package contains:
- Actors and
- Primary Use Cases.
It also contains the diagram Use Case Diagram, which could be an overview of the package structure or function. Each package itself can contain one or more diagrams, one or more packages, and several elements. The Primary Use Cases package contains the:
- Primary UCDiagram
- Customer Setup package
- Use Case 1 element
- Use Case 2 element.
Each subordinate package also contains diagrams, elements and (if necessary) further packages. The elements are related by connectors created in the diagrams, and each element and connector has properties, attributes, operations and extensions defined in the respective Properties dialogs.