03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (2 nd Edition), McGraw Hill, 2002.
© Bennett, McRobb and Farmer In This Lecture You Will Learn: n About the Unified Software Develop- ment Process n How phases relate to workflows in an iterative life cycle n An approach to system development n Major activities in the development process
© Bennett, McRobb and Farmer Unified Software Development Process n Developed by the team that created UML n Embodies best practice in system development n Adopts an iterative approach with four main phases n Different tasks are captured in a series of workflows
© Bennett, McRobb and Farmer Best Practice n Iterative and incremental development n Component-based development n Requirements-driven development n Configurability n Architecture-centrism n Visual modelling techniques
© Bennett, McRobb and Farmer Four Phases n Inception n Elaboration n Construction n Transition
© Bennett, McRobb and Farmer Phases, Workflows and Iterations n Within each phase activities are grouped into workflows n The balance of effort spent in each workflow varies from phase to phase n Within phases there may be more than one iteration
© Bennett, McRobb and Farmer Size of square relative to time spent on workflowh InceptionElaborationConstruction Transition Project Phases Iterations within each phase Requirements Analysis Design Implementation Test Workflows
© Bennett, McRobb and Farmer Difference from Waterfall Life Cycle n In a waterfall life cycle project the phases and the workflows are linked together n In the Requirements phase, only Requirements workflow activities are carried out n All Requirements activity should be completed before work starts on Analysis n In an iterative life cycle project it is recognised that some Requirements work will be happening alongside Analysis work
© Bennett, McRobb and Farmer Requirements Analysis Design Implementation Test Requirements Analysis Design Implementation Test
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables Requirements Capture and Modelling Requirements Elicitation Use Case Modelling Prototyping Use Case Model Requirements List Prototypes Glossary
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables Requirements Analysis Collaboration Diagrams Class and Object Models Analysis Modelling Analysis Models
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables System Design Deployment Modelling Component Modelling Package Modelling Architectural Modelling Overview Design and Implementation Architecture
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables Class DesignClass and Object Modelling Interaction Modelling State Modelling Design Patterns Design Models
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables User Interface Design Class and Object Modelling Interaction Modelling State Modelling Package Modelling Prototyping Design Patterns Design Models with Interface Specification
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables Data Management Design Class and Object Modelling Interaction Modelling State Modelling Package Modelling Design Patterns Design Models with Database Specification
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables ConstructionProgramming Component Re- use Database DDL Programming Idioms Constructed System Documentation
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables TestingProgramming Test Procedures Tested System
© Bennett, McRobb and Farmer Major Activities of the Development Process ActivityTechniquesKey Deliverables ImplementationInstalled System
© Bennett, McRobb and Farmer Summary In this lecture you have learned about: n The Unified Software Development Process n How phases relate to workflows in an iterative life cycle n An approach to system development n Major activities in the development process
© Bennett, McRobb and Farmer References n Jacobson, Booch and Rumbaugh (1999) n Kruchten (1999) n Chapter 22 of Bennett, McRobb and Farmer includes more detail about the Unified Process (For full bibliographic details, see Bennett, McRobb and Farmer)