Role: Designer
This role leads the design of a part of the system, within the constraints of the requirements, architecture, and development process for the project.
Main Description

The designer identifies and defines the responsibilities, operations, attributes, and relationships of design elements. The designer ensures that the design is consistent with the software architecture, and is detailed to a point where implementation can proceed.

Multiple Occurrences

The designer must have a solid working knowledge of:

  • system requirements
  • the architecture of the system
  • software design techniques, including object-oriented analysis and design techniques, and the Unified Modeling Language
  • technologies with which the system will be implemented
  • project guidelines on how the design relates to the implementation, including the level of detail expected in the design before implementation should proceed.
Assignment Approaches

A designer may be assigned responsibility for implementing a structural part of the system (such as a class or implementation subsystem), or a functional part of the system, such as a use-case realization or feature that crosses classes/subsystems.

It is common for a person to act as both implementer and designer, taking on the responsibilities of both roles.

It is possible for design responsibilities to be divided, such that a high level sketch of the design is the responsibility of one designer, while detailed design (such as details of operation signatures, or the identification and design of helper classes) is deferred to another designer who also acts as the implementer.

More Information