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.
Role Sets: Developers
Relationships

Class DesignComponent Specification (SOA)Design Testability ElementsDocument Service Realization DecisionsIdentify and Associate Services to GoalsIdentify Commonality and VariabilityMessage DesignOperation AnalysisOperation DesignService SpecificationSubsystem DesignSubsystem Design (SOA)Use-Case AnalysisUse-Case DesignAnalysis ClassDesign ClassDesign PackageDesign SubsystemMessageOperationOperation RealizationServiceService ChannelService ComponentService ContractService GatewayService ModelService PartitionService ProviderService SpecificationTestability ClassUse-Case RealizationDesigner

Additionally Performs
Modifies
    Process Usage
    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.

    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.
    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