Role: Designer
| The designer role is responsible for designing a part of the system, within the constraints of the requirements, architecture, and development process for the project. | |
| Other Relationships: | Extended By: - Capsule Designer |
| Topics - Description - Related Information - Staffing - Further Reading |
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.
Related Information
This section provides links to additional information related to this role.
- Whitepaper: Developing Large-Scale Systems with the Rational Unified Process
- Whitepaper: RUP/XP Guidelines: Test-first Design and Refactoring
Staffing
Skills
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.
Role 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.
Further Reading
See the references page, in particular the references on Modeling and Unified Modeling Language, and Object Oriented Technology.