Rational Unified Process
Software development Life Cycle The life of a software system can be represented as a series of cycle. A cycle ends with the release of a version of the system to the customers. Software development life cycle encompasses the phases/processes that a software developer goes through when developing a new software. 2
It consists of 5 basic phases: - System planning includes initial investigation System analysis includes requirements capture/elicitation System design System construction and implementation includes system testing System deployment Every system development models that have been developed incorporates these basic phases into their model, ex: - Waterfall Model, Iterative Model, Unified Process etc 3
Waterfall Model of SDLC 4
Iteration Across Life Cycle Phases 5
The Spiral Life Cycle Model 6
The Unified Process Life Cycle Model 7
Unified Process and UML The UML have been designed to help the participants in a software development project to build models that will enable the team to visualise the system specify the structure and behaviour of the system construct the system document the decision made along the way 8
UML is largely process-independent can use it with a number of software engineering process to get the most benefit from UML, should consider a process that is: - Use case driven Architecture-centric Iterative and incremental Unified Process is one such life-cycle approach that is well-suited to the UML 9
The Unified Process sees each cycle as containing four phases. Inception Establish the business case for the project Elaboration Establish a project plan and a sound architecture Construction Grow the system Transition Supply the system to its end users 10
Within each phase are a number of iterations Iteration represents a complete development cycle, from requirements capture in analysis to implementation and testing, that results in the release of an executable project Five workflows cut across the set of four phases Each workflow is a set of activities that various project workers perform 11
The Architecture of RUP 12
The workflows are: - Requirements aims at building the use case model captures the functional requirements of the new system outcome: Use-case Diagram Analysis aims at building the analysis model helps the developer refine and structure the functional requirements captured within the use-case model outcome: Class/Object Diagram, Sequence/Collaboration Diagram 13
Design aims at building the design model describes the physical realisations of the use cases from the use-case models and the contents of the analysis model outcome: Sequence/Collaboration Diagram, Interfaces and Classes, extending the UML aims at building the deployment model defines the physical organisation of the system in terms of computational nodes (geographical locations) defines how things will be built outcome: Deployment diagram Implementation aims at building the implementation model describes how elements of the design model are packaged into software components, i.e source code, DLLs etc outcome: Component diagram 14
Test performs unit, integration and system tests Use test cases, that are derived directly from use-cases Types: black-box testing and white box testing Deployment defines how system will be built and put into operation uses the deployment model built during the design workflow provide for a smooth transition from the old system to the newly constructed system 15
In the UP, a software product is designed and built in a succession of incremental iterations. This allows testing and validation of design ideas, as well as risk mitigation, to occur earlier in the lifecycle 16
The Unified Process captures many of modern software development's best practices in a form suitable for a wide range of projects and organizations: Develop software iteratively. Manage requirements. Use component-based architectures. Visually model software. Continuously verify software quality. Control changes to software. 17