Rational Unified Process
Rational Unified Process A process for the effective implementation of key “Best Practices” Manage Requirements Use Component Architectures Develop Iteratively Verify Quality Model Visually Control Changes
Features of the Process Attack risks through progress measured in products - not documentation Continuous integration Frequent releases Continuous user involvement
RUP is an Iterative Approach Initial Planning Requirements Capture Analysis & Design Implementation Test Deployment Evaluation Management Environment
Manage Requirements Elicit, organize, and document required functionality and constraints Track and document tradeoffs and decisions Business requirements are captured and communicated through use cases Use cases are important planning instruments Use-Case Model Implementation Model Test Model verifies realization influenced by Design Model
The Importance of Architecture Design, implement and test your architecture first A systematic approach to define a “good” architecture resilient to change by using well-defined interfaces by using and reverse engineering components derived from top rank use cases intuitively understandable
Model Visually Capture the structure and behavior of architectures and components Show how the elements of the system fit together Maintain consistency between a design and its implementation Promote unambiguous communication Code Classes Sub Systems
Verify Quality Create tests for each key scenario to ensure that all requirements are properly implemented Unacceptable application performance hurts as much as unacceptable reliability Test every iteration - automate test!
The Rational Unified Process has four phases: Phases in the Process Major Milestones Inception Elaboration Construction Transition time The Rational Unified Process has four phases: Inception - Define the scope of project Elaboration - Plan project, specify features, baseline architecture Construction - Build the product Transition - Transition the product into end user community
Iterations and Phases Releases Inception Elaboration Construction Transition Preliminary Iteration Architect. Iteration Architect. Iteration Devel. Iteration Devel. Iteration Devel. Iteration Transition Iteration Transition Iteration An iteration is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an executable release (internal or external).
Models and Workflows Business Modeling Requirements Workflow realized by Use-Case Model Analysis Design Workflow implemented by Design Model Implementation Workflow verified by Implementation Model Test Workflow Test Model
Bringing It All Together... Phases Process Workflows Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements Elaboration Transition Inception Construction Supporting Workflows Iterations
Example Workflow
Architecture: The “4+1 View” Model Process View Deployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance Scalability Throughput System integrators System topology Delivery, installation communication System engineering Analysts/Designers Structure The above diagram describes the model Rational uses to describe the software architecture. This is the recommended way to represent a software architecture. There may be other “precursor” architectures that are not in this format. The goal is to mature those architectural representations into the 4+1 view representation. The Implementation View is developed during Implementation and is thus considered out of scope for this analysis and design course.