Enterprise Architect supports requirements definition for enterprise, business, software, hardware and system engineering projects, including functional and non-functional requirements. There are a number of requirement types built into the core product and new types can be added to suit any project. The UML does not formally define a Requirement element, but Enterprise Architect extends the language to provide an element that can be added directly into the repository or through the text based Specification Manager, or created on diagrams. In Enterprise Architect the requirement is treated as a first-class modeling element, and is able to participate in relationships allowing traceability to be established and a project manager or business analyst can track that a project is being designed, built and tested according to the stakeholders needs and its specifications. Use Cases can also be defined and a sophisticated editor helps you to define Scenarios that can be automatically generated to behavior diagrams, enabling the Requirements Analyst to trace to individual steps in a scenario. Using Stereotypes user stories can be modeled, and an Agile Backlog can be defined using the Feature element; as prioritization occurs these can be elaborated into well articulated requirements ready for the development team.
As an analysis step, often it is desirable to capture simple system requirements. These are eventually realized by Use Cases.
In the initial requirement gathering phase, cataloging requirements can be achieved using the Requirement extension on a Custom diagram.
Requirements can be aggregated to create a hierarchy, as illustrated by this diagram.
In the next diagram, a requirement that a user can log into a website is implemented by the Login Use Case, which in turn is implemented by the Business Logic, ASP Pages and Login Web Page constructions. Using this approach, you can easily model quite detailed and complex dependencies and implementation relationships.