Summary of Typical Tasks

Throughout a design and development project there are many different tasks to be performed, which could be carried out either by one person or - more probably - by members of a team with different responsibilities. In either case, Enterprise Architect supports most - if not all - of the responsibilities you might have on your project.

Therefore, the next topics to explore depend on the work you normally do on a project.

The descriptions below cover a number of job roles that Enterprise Architect supports. For those that most resemble your role on a project, follow the job title hyperlink to display a description of how that role might use Enterprise Architect, then follow links within those topics to explore some of the Enterprise Architect features of importance to the role.

Most of these roles work with specific types of diagram, so you might want to learn more about diagram types in general and specific types of diagram in particular. See the UML Diagrams topic

Several types of project team member might want to generate documentation on their work and reports on how the project is developing and changing. Enterprise Architect enables you to generate project documentation in either RTF or HTML format - see the Report Generation topic.


The Corporate, Business and Software Engineering, Systems Engineering and Ultimate editions of Enterprise Architect have a user security feature that can be applied or turned off. If security is turned on, you require the appropriate access permissions to use many of the Enterprise Architect facilities listed above. For further information, see the List of Available Permissions topic.

Business Analyst

A Business Analyst might be responsible for modeling:

  • Requirements
  • High-level business processes
  • Business activities
  • Work flows
  • System behavior.

Software Architect

A Software Architect might be responsible for:

  • Mapping functional requirements of the system
  • Mapping objects in real time
  • Mapping the deployment of objects
  • Defining deliverable components.

Software Engineer

A Software Engineer might be responsible for:

  • Mapping Use Cases into detailed Classes
  • Defining the interaction between Classes
  • Defining system deployment
  • Defining software packages and the software architecture.

Database Developer

A Database Developer might be responsible for:

  • Developing databases
  • Modeling database structures
  • Creating logical data models
  • Generating schema
  • Reverse engineering databases.


A Tester might be responsible for:

  • Developing test cases
  • Importing requirements, constraints and scenarios
  • Creating Quality Test documentation
  • Tracking element defects and changes.

Project Manager

A Project Manager might be responsible for:

  • Providing project estimates
  • Resource Management
  • Risk Management
  • Maintenance Management.


A Developer might be responsible for:

  • Forward, reverse and round-trip engineering
  • Visualizing the system states
  • Visualizing package arrangements
  • Mapping the flow of code.

Implementation Manager

An Implementation Manager might be responsible for:

  • Modeling the tasks in rolling-out a project, including network and hardware deployment
  • Assigning and tracking maintenance items on elements (issues, changes, defects and tasks).

Technology Developer

A Technology Developer might be responsible for creating or customizing:

  • UML Profiles
  • UML Patterns
  • Code Templates
  • Tagged Value Types
  • MDG Technologies
  • Add-Ins.