3C05: Unified Software Development Process



Similar documents
The Unified Software Development Process

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Software Design Models, Tools & Processes *

I219 Software Design Methodology

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

SOFTWARE PROCESS MODELS

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Supporting Workflow Overview. CSC532 Fall06

The most suitable system methodology for the proposed system is drawn out.

Software Project Management using an Iterative Lifecycle Model

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Basic Unified Process: A Process for Small and Agile Projects

Abstract. 1 Introduction

Software Development Methodologies

Classical Software Life Cycle Models

Plan-Driven Methodologies

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

What CMMI Cannot Give You: Good Software

The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)

CS4507 Advanced Software Engineering

Development Methodologies

Agile Unified Process

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

An Introduction to the UML and the Unified Process

Software Lifecycles Models

Inter-operability of DSDM with the Rational Unified Process

The Rap on RUP : An Introduction to the Rational Unified Process

Unit 1 Learning Objectives

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

To introduce software process models To describe three generic process models and when they may be used

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Oracle Unified Method (OUM)

Business Modeling with UML

How To Understand The Software Process

A FRAMEWORK FOR INTEGRATING SARBANES-OXLEY COMPLIANCE INTO THE SOFTWARE DEVELOPMENT PROCESS

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Iterative Software Development -

A Rational Development Process

Chap 1. Introduction to Software Architecture

2. Analysis, Design and Implementation

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

Software Process and Models

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Menouer Boubekeur, Gregory Provan

Information systems modelling UML and service description languages

What is a life cycle model?

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Time Monitoring Tool Software Development Plan. Version <1.1>

Introduction to OpenUP (Open Unified Process)

Title: Topic 3 Software process models (Topic03 Slide 1).

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

CHAPTER. Software Process Models

Using EVMS with COTS-Based Systems

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

RUP for Software Development Projects

A Rational Software Corporation White Paper

A Survey of Plan-Driven Development Methodologies

REVIEW ON THE EFFECTIVENESS OF AGILE UNIFIED PROCESS IN SOFTWARE DEVELOPMENT WITH VAGUE SYSTEM REQUIREMENTS

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

What Is the Rational Unified Process?

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

A Framework for Software Product Line Engineering

Agile Modeling: A Brief Overview

6 Contracts and Scenarios in the Software Development Process

<Project Name> Quality Assurance Plan

Masters of Science in Software & Information Systems

Software Development Life Cycle (SDLC)

How To Model Software Development Life Cycle Models

System development lifecycle waterfall model

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

IT3205: Fundamentals of Software Engineering (Compulsory)

Software Engineering

(Refer Slide Time: 01:52)

<Project Name> Configuration Management Plan

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

Websphere Portal and Lotus Web Content Management adoption and Project best practices at the Royal Bank of Scotland Group

Web Application Development Process

CMMI and IBM Rational Unified Process

Requirements Management Practice Description

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

How To Write An Slcm Project Plan

Reaching CMM Levels 2 and 3 with the Rational Unified Process

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Course Registration Case Study

Planning a Project with the Rational Unified Process Author: David West

Web Application Development Processes: Requirements, Demands and Challenges

Agile development of safety-critical software while meetings standards' requirements

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Quality Assurance Software Development Processes

JOURNAL OF OBJECT TECHNOLOGY

Engineering Process Software Qualities Software Architectural Design

Transcription:

3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2 1

USDP USDP is an industry standard software development process Free! The generic process for the UML USDP is: Use-case and risk driven Architecture centric Iterative and incremental For reference: Ivar Jacobson, Grady Booch, James Rumbaugh: The Unified Software Development Process. Addison Wesley. 1999 3 USDP for your project USDP is a generic software engineering process. It has to be customised (instantiated) for your project: In-house standards Document templates Tools Databases Lifecycle modifications Rational Unified Process is an instantiation of USDP. RUP is a product marketed and owned by Rational Corporation RUP also has to be instantiated for your project! 4 2

Iterations Iterations are the key to the USDP Each iteration is like a mini-project including: Planning Analysis and design Integration and test An internal or external release The result of an iteration is an increment We arrive at a final product release through a sequence of iterations Iterations contain workflows Iterations are organised into phases 5 Iteration Workflows USDP specifies 5 core workflows Requirements Analysis Design Implementation Test Planning An iteration Assessment Each iteration may contain all of the core workflows but with different emphasis depending on where the iteration is in the lifecycle (see later!) Specific Activities 6 3

Iterations may overlap Iteration 1 Iteration 2 In order to allow parallel development and flexible working in large teams, iterations can, and often do, overlap. In the example above, Iteration 1 overlaps significantly with iteration 2 Iteration 3 This requires Careful planning 7 Increments Each iteration generates internal (or external) releases of various artefacts which together constitute a baseline A baseline is a set of reviewed and approved artefacts that: Provides an agreed basis for further review and development Can be changed only through a formal procedure such as configuration and change management An increment is the difference between the release of one iteration and the release of the next The result of an iteration is an increment 8 4

USDP Lifecycle The USDP lifecycle is divided into a sequence of phases Each phase may include many iterations The exact number of iterations per phase depends on the size of the project! One iteration per phase for small projects Each phase concludes with a major milestone 9 USDP Phases Milestone Life-cycle Objectives Life-cycle Architecture Initial Operational Capability Product Release Phase Inception Elaboration Construction Transition Iterations Iter 1 Iter 2 Iter 3 Iter 4 Iter 5 Iter 6 5 Core Workflows R A D I T The exact number of iterations per Phase depends on the size of the project! We have assumed a that this particular project lasts 18 months. 10 5

Phases and Workflows Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary I1 I2 In In+1 In+2 Im Im+1 Iterations 11 Time for a typical project 10% 10% If we consider a project of typical difficulty, then this is how the total time for the project is likely to be distributed over the phases 50% 30% Inception Elaboration Construction Transition 12 6

Time for a difficult project 40% 7% 20% Inception Elaboration Construction Transition If we consider a project of greater than normal difficulty, then this is how the total time for the project is likely to be distributed over the phases Note that for more difficult projects more time is spent in the early phases 33% 13 Resource for a typical project 10% 5% 20% Inception Elaboration Construction Transition If we consider a project of typical difficulty, then this is how the total resource for the project is likely to be utilised over the phases 65% 14 7

Resource for a difficult project 8% 8% 24% Inception Elaboration Construction Transition If we consider a project of greater than normal difficulty, then this is how the total resource for the project is likely to be distributed over the phases Note that for more difficult projects more resource is used in the early phases 60% 15 Phases For each phase we will consider: The goal for the phase The focus in terms of the core workflows The milestone at the end of the phase 16 8

Inception Inception Elaboration Construction Transition 17 Inception - Goals Establish feasibility of the project Create a business case Capture key requirements Scope the system Identify critical risks Create proof of concept prototype 18 9

Phases and Workflows Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary I1 I2 In In+1 In+2 Im Im+1 Iterations 19 Inception - Focus Requirements establish business case, scope and core requirements Analysis establish feasibility Design design proof of concept or technical prototypes Implementation build the proof of concept prototype Test not generally applicable N.B. The blue bars indicate approximately the relative amount of resource needed 20 10

Life Cycle Objectives Conditions of satisfaction: System scope has been defined Key requirements for the system have been captured. These have been defined and agreed with the stakeholders An architectural vision exists. This is just a sketch at this stage A Risk Assessment A Business Case Project feasibility is confirmed The stakeholders agree on the objectives of the project 21 Elaboration Inception Elaboration Construction Transition 22 11

Elaboration - Goals Create an executable architectural baseline Refine Risk Assessment Define quality attributes (defect rates etc.) Capture use-cases to 80% of the functional requirements Create a detailed plan for the construction phase Formulate a bid which includes resources, time, equipment, staff and cost 23 Phases and Workflows Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary I1 I2 In In+1 In+2 Im Im+1 Iterations 24 12

How many use-cases? Our goal is to find sufficient use-cases to allow us to build a system Aim to identify about 80% of the use-cases based on a consideration of functional requirements The other 20% will come out in later phases if important Aim to model in detail only about 40% to 80% of the set of identified use-cases For each use-case modelled in detail, only a small fraction of the possible scenarios may need to be modelled Model just enough use-cases to capture the information you need! 25 Elaboration - Focus Requirements refine system scope and requirements Analysis establish what to build Design create a stable architecture Implementation build the architectural baseline Test test the architectural baseline 26 13

Life Cycle Architecture Conditions of satisfaction: A resilient, robust executable architectural baseline has been created The Risk Assessment has been updated A project plan has been created to enable a realistic bid to be formulated The business case has been verified against the plan The stakeholders agree to continue 27 Construction Inception Elaboration Construction Transition 28 14

Construction - Goals Completing use-case identification, description and realisation Finish analysis, design, implementation and test Maintain the integrity of the system architecture Revise the Risk Assessment 29 Phases and Workflows Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary I1 I2 In In+1 In+2 Im Im+1 Iterations 30 15

Construction - Focus Requirements uncover any requirements that had been missed Analysis finish the analysis model Design finish the design model Implementation build the Initial Operational Capability Test test the Initial Operational Capability 31 Plan for two lines of work About 10 to 20% of the resources will not contribute directly to the next release! Primary Tasks Next Release 80% Next Release Plan for this! Secondary Tasks 10-20% 32 16

Primary and secondary tasks Primary tasks: Everything that contributes directly to the next increment Secondary tasks: Everything else! Attack risks with behavioural prototypes Solve critical problems with taskforces (tiger teams) Research into problem and solution domains Bug tracking and reporting 33 Initial Operational Capability Conditions of satisfaction: The product is ready for beta testing in the user environment 34 17

Transition Inception Elaboration Construction Transition 35 Transition - Goals Correct defects Prepare the users site for the new software Tailor the software to operate at the users site Modify software if unforeseen problems arise Create user manuals and other documentation Provide customer consultancy Conduct post project review 36 18

Phases and Workflows Requirements Inception Elaboration Construction Transition Amount of work Analysis Design Implementation Test Preliminary I1 I2 In In+1 In+2 Im Im+1 Iterations 37 Transition - Focus Requirements not applicable Analysis not applicable Design modify the design if problems emerge in beta testing Implementation tailor the software for the users site and correct problems uncovered in beta testing Test beta testing and acceptance testing at the users site 38 19

Product Release Conditions of satisfaction: Beta testing, acceptance testing and defect repair are finished The product is released into the user community 39 Key Points USDP is the iterative and incremental software engineering process for the UML USDP has four phases: Inception Elaboration Construction Transition Each phase may have one or more iterations Each iteration has five iteration workflows Requirements,Analysis,Design,Implementation,Test 40 20