rup design rup artifacts and deliverables rup analysis & design workflow

36
RUP Design • RUP Artifacts and Deliverables • RUP Analysis & Design Workflow

Upload: randolf-walsh

Post on 30-Dec-2015

293 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

RUP Design

• RUP Artifacts and Deliverables

• RUP Analysis & Design Workflow

Page 2: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Purpose of Analysis & Design

• To transform the requirements into a design of the system to-be.

• To evolve a robust architecture for the system.

• To adapt the design to match the implementation environment, designing it for performance.

Page 3: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 4: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Define Candidate Architecture

• Create an initial sketch of the architecture of the system

• Identify analysis classes from the architecturally significant use cases

• Update the use-case realizations with analysis class interactions

Page 5: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Create Initial Architecture Sketch

• Define an initial set of architecturally significant elements to be used as the basis for analysis

• Define an initial set of analysis mechanisms • Define the initial layering and organization of the

system • Define the use-case realizations to be addressed in

the current iteration

Page 6: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Define Candidate Architecture - Staffing

These activities are best carried out by a small team staffed by cross-functional team members.

Issues that are typically architecturally significant include performance, scaling, process and thread synchronization, and distribution.

The team should also include members with domain experience who can identify key abstractions.

The team should also have experience with model organization and layering.

The team will need to be able to pull all these disparate threads into a cohesive, coherent(albeit preliminary) architecture.

Page 7: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Define Candidate Architecture Workflow

Page 8: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Login Use Case Realization

Page 9: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Login Class Diagram

Page 10: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 11: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analyze Behavior - Purpose

Transform the behavioral descriptions provided by the use cases into a set of elements upon which the design can be based

Page 12: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analyze Behavior - StaffingThe Activity: Use-Case Analysis is best conducted by a small group with a blend of skills; staffing guidelines are presented in Work Guidelines: Use-Case Analysis Workshop.

The Activity: IdentifyDesign Elements requires a broader perspective of the architecture and the results of other use-case analysis workshops, and requires some experience in the implementation technology and any frameworks being used on the project.

Reviews should be staffed with people who have both in-depth knowledge of the implementation technologies as well as an understanding of the problem domain.

Page 13: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analyze Behavior Workflow

Page 14: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 15: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Refine the Architecture - Purpose

• Provide the natural transition from analysis activities to design activities, identifying:

- appropriate design elements from analysis elements - appropriate design mechanisms from related analysis mechanisms • Maintain the consistency and integrity of the architecture, ensuring that: - new design elements identified for the current iteration are

integrated with pre-existing design elements. - maximal re-use of available components and design elements is

achieved as early as possible in the design effort. • Describe the organization of the system's run-time and deployment

architecture • Organize the implementation model so as to make the transition

between design and implementation seamless

Page 16: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Refine the Architecture - Staffing

These activities are best carried out by a small team staffed by cross-functional team members.

The team should also include members with domain experience who can identify key abstractions.

The team should also have experience with model organization and layering.

The team will need to be able to pull all these disparate threads into a cohesive, coherent (albeit preliminary) architecture.

The architecture team will need to shift members or expand to include people with distribution and deployment expertise (if those issues are architecturally significant).

Page 17: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Refine the Architecture Workflow

Page 18: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture Document - Purpose

The software architecture document provides a comprehensive overview of the architecture of the software system. It serves as a communication medium between the architect and other project team members regarding architecturally significant decisions which have been made on the project.

Page 19: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture DocumentUse Case View

Page 20: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture DocumentLogical View – Architecture Overview

Page 21: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture DocumentProcess View - Processes

Page 22: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture DocumentProcess View – Process to Design

Page 23: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Software Architecture DocumentProcess View – Process to Design Model Dependencies

Page 24: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 25: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design Components - Purpose

• Refine the definitions of design elements by working out the 'details' of how the design elements implement the behavior required of them.

• Refine and update the use-case realizations based on new design element identified (i.e. keeping the use-case realizations updated)

• Reviewing the design as it evolves • Implementing the design elements as components • Testing the implemented components to verify

functionality and satisfaction of requirements at the component/unit level

Page 26: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design Components - StaffingTypically, one person or a small team is responsible for a set of design elements, usually one or more packages or subsystems containing other design elements.

The individuals or teams responsible for designing classes should be knowledgeable in the implementation language as well as possessing expertise in the algorithms or technologies to be employed by the class.

Individuals or teams responsible for subsystems should be more generalists, able to make decisions on the proper partitioning of functionality between design elements, and able to understand the inherent trade-offs involved in various design alternatives.

The individuals or teams responsible for use-case realizations need to have broader understanding of the behavior required by the use cases and of the trade-offs of different approaches to allocating this behavioramongst design elements.

Page 27: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design Components Workflow

Page 28: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 29: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design Real Time Components - Purpose

• Refine the definitions of design elements (including capsules and protocols) by working out the 'details' of how the design elements implement the behavior required of them.

• Refine and update the use-case realizations based on new design element identified (i.e., keeping the use-case realizations updated)

• Reviewing the design as it evolves • Implementing the design elements as components • Testing the implemented components to verify functionality

and satisfaction of requirements at the component/unit level

Page 30: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design Real Time Components Workflow

Page 31: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Workflow

Page 32: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design the Database - Purpose

• Identify the persistent classes in the design

• Design appropriate database structures to store the persistent classes

• Define mechanisms and strategies for storing and retrieving persistent data in such a way that the performance criteria for the system are met

Page 33: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design the Database - Staffing

The Designers responsible for persistent classes need to have an understanding of the persistence in general and the persistence mechanisms in specific.

The Database Designer needs to understand the persistent classes in the design model and so must have a working understanding of object-oriented design and implementation techniques.

The Database Designer also needs a strong background in database concurrency and distribution issues.

Page 34: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Design the Database Workflow

Page 35: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Activity Overview

Page 36: RUP Design RUP Artifacts and Deliverables RUP Analysis & Design Workflow

Analysis & Design Artifact Overview