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

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 3 Waterfall Model of SDLC

Copyright A.M.Y 2003 4 Iteration Across Life Cycle Phases

Copyright A.M.Y 2003 5 The Spiral Life Cycle Model

Copyright A.M.Y 2003 6 The Unified Process Life Cycle Model

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 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: -  driven  Architecture-centric  Iterative and incremental  Unified Process is one such life-cycle approach that is well-suited to the UML

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 11 The Architecture of RUP

Copyright A.M.Y 2003 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/, Sequence/Collaboration Diagram

Copyright A.M.Y 2003 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:  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:

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 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

Copyright A.M.Y 2003 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 -based architectures.  Visually model software.  Continuously verify software quality.  Control changes to software.

Copyright A.M.Y 2003 17