Software Development Methodologies

Similar documents
Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

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

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

Rational Unified Process

Successful utilization of ESSENCE at Munich Re

The software process

The Unified Software Development Process

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Chapter 3 Software Process Model

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Introduction of RUP - The Rational Unified Process

Software Development Methodologies. CSC 440: Software Engineering Slide #1

The Product Manager and the Product Development Process. Martin Cagan Silicon Valley Product Group

7. Model based software architecture

Object-Oriented and Classical Software Engineering

Note 10: Software Process

Development Process Bennett, McRobb and Farmer 1

Component-Based Software Engineering. ECE493-Topic 5 Winter Lecture 27 Component Based Development Process (Part A)

Software Engineering Modern Approaches

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Introduction to Software Engineering

The Software Life Cycle

03. Perspective Process Models

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Softwaretechnik. Lecture 02: Processes. Peter Thiemann SS University of Freiburg, Germany

Software Engineering

A New Divide & Conquer Software Process Model

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

Course Organization. Lecture 1/Part 1

An Oracle White Paper February Oracle Unified Method (OUM) Oracle s Full Lifecycle Method for Deploying Oracle-Based Business Solutions

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 10. * Construction, Installation and Operations * Agile Method Software Development

Software Engineering II - Exercise

Processes and Life- Cycles. Kristian Sandahl

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

The Software Life Cycle

Redesigning the Organization with Information Systems

Unifying Systems and Software Teams: A Holistic Approach to Systems Development

The Top Thrill Dragster

Chapter 1 Software Process

SWE 211 Software Processes

Requirements Engineering and Agile Methodology

Planning a Project Using the Oracle Unified Method (OUM) An Iterative and Incremental Approach. An Oracle White Paper February 2011

Quality Management of Software and Systems

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM


Sistemi ICT per il Business Networking

RUP and XP Part II: Valuing Differences

Managing Projects of Chaotic and Unpredictable Behavior

RIGHTNOW A C E

Chapter. Redesigning The Organization With Information Systems

Question Paper Solution (75:25), April 2015 Subject : Software Project Management

Agile Plus Comprehensive model for Software Development

Patterns in Software Engineering

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Quality Management of Software and Systems: Processes and QM

SUSE Unified Delivery Process

Project Plan. CxOne Guide

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

Pertemuan 2. Software Engineering: The Process

WHITEPAPER. Best Practices for Set-Top Box Product Development and Management

Agile Tutorial for the Senior Project Class School of Computing and Information Sciences Florida International University

The Unified Process Transition and Production Phases Best Practices in Implementing the UP

Program Lifecycle Methodology Version 1.7

Scaling Up & Scaling Down

Architecture Planning Adding value to projects with Enterprise Architecture. Whitepaper. September By John Mayall

Introduction to Systems Analysis and Design

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards

The Product Creation Process

3. PLANNING & PROCESSES

Object-Oriented & Classical Soft Engineering

CHAPTER 2 LITERATURE SURVEY

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

Lecture 1: Processes, Requirements, and Use Cases

Core Issues Affecting Software Architecture in Enterprise Projects

Software Lifecycle Models

ORACLE PROJECT MANAGEMENT CLOUD

Title: Leveraging Oracle Identity Manager (OIM) to Improve Costs and Control. An Oracle White Paper March 2009

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

Software Development Life Cycle:

Chapter 1 Systems Development in an Organization Context

Getting Started. Chapter 1

Pearson Education 2007 Chapter 1 (RASD 3/e)

TOGAF ADM/MDA Synergy Project

Information Systems Development

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

CHAPTER 2: IMPLEMENTATION PHASES AND OFFERINGS

Operational Improvement Consulting. SDL Language Solutions

Software Life Cycle. Main Topics. Introduction

SOA Governance is For Life, Not Just a Strategy

[Name] [ ID] [Contact Number]

A Guide to the Business Analysis Body of Knowledge (BABOK Guide), Version 2.0 Skillport

Requirements Engineering and Software Architecture Project Description

Transcription:

Software Development Methodologies Lecturer: Raman Ramsin Lecture 5 Integrated Object-Oriented Methodologies: USDP and EUP 1

Unified Software Development Process (USDP) Also known as Unified Process (UP) First introduced in 1999 A refined, simplified, and non-proprietary version of the Rational Unified Process (RUP) UML-Based Use-Case-Driven Architecture-centric Iterative and Incremental 2

Unified Software Development Process Software lifecycle is decomposed over time in four sequential phases Inception (Vision Milestone) Define the vision of the product, scope of the project and the business case Elaboration (Architecture Milestone) Refine the definition of the product Define and baseline an architecture Develop a more precise plan for its development and deployment Construction (Initial Operational Capability Milestone) Build the product to the point where it can be delivered to its end-users for the first time Transition (Product Release Milestone) Transition the product to the user community; this includes manufacturing, delivering, training, and planning for supporting and maintaining the product. Inception Elaboration Construction Transition Time Vision Baseline Architecture Initial Capability Product Release 3

Iterations and Workflows Workflows Requirements Analysis Phases Inception Elaboration Construction Transition An iteration in the elaboration phase Design Implementation Test Prelim inary Ite ration (s) iter. #1 iter. #2 iter. #n iter. #n+1 iter. #n+2 iter. #m iter. #m +1 Iterations 4

Inception Phase The purpose of Inception is to "get the project off the ground": establishing feasibility - this may involve some technical prototyping to validate technology decisions or proof of concept prototyping to validate business requirements; creating a business case to demonstrate that the project will deliver quantifiable business benefit; capturing essential requirements to help scope the system; identifying critical risks. 5

Inception Concerns The inception phase is a preparatory stage that attempts to answer the following questions: What is the purpose and objectives of the project? Is it worth the effort? Is the project feasible (e.g. technologically, financially, with current personnel)? Should we buy the system, or build it? Will it be developed now, or built from an existing system? What are the estimated costs and risks? Should we proceed with the project? This phase also deals with project planning and project management This includes Gantt charts and plans, budgets, etc. 6

Inception Postconditions and Deliverables 7

Inception Timeline An important idea with Inception is that we do not yet know if a project will take place! Often 1 or 2 iterations are required for Inception Therefore, since a project may be rejected, it makes sense that the Inception phase should be very short Therefore, if the project gets scrapped, little time (and money) would have been wasted It is not uncommon for Inception to last a few days to a few weeks, maximum 8

Elaboration Phase The purpose of Inception is to understand the problem, whereas Elaboration explores the solution: create an executable architectural baseline; refine the risk assessment; define quality attributes (defect discovery rates, acceptable defect densities, and so on); capture use cases to 80% of the functional requirements; create a detailed plan for the construction phase; formulate a bid that includes resources, time, equipment, staff, and cost. 9

Elaboration and the Workflows In the Elaboration phase, the focus in each of the core workflows is as follows: 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. 10

Elaboration - Concerns After Elaboration, project risks are essentially eliminated The Architecture and UI have been approved by customers and managers Technically difficult software components have been implemented, or proof-of-concept code has been created to prove it was possible Cost estimates are finalized, so budgets can be approved Preliminary user manuals have been created and analyzed Analysis, architecture and design well underway after Elaboration 11

Elaboration Postconditions and Deliverables 12

Construction Phase The purpose of Construction is to iteratively enhance and evolve the previously created artefacts into the target system: complete all requirements, analysis, and design evolve the architectural baseline generated in Elaboration into the final system. 13

Construction and the Workflows We can summarize the kind of work undertaken in each workflow during Construction as follows: 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. 14

Construction Postconditions and Deliverables 15

Transition Phase The purpose of Transition is the ultimate deployment of the software produced at the end of Construction: conduct beta test and acceptance test, and correct defects; prepare the user sites for the new software; tailor the software to operate at the user sites; modify the software if unforeseen deployment problems arise; create user manuals and other documentation; provide user consultancy; conduct a post-project review. 16

Transition and the Workflows We can summarize the kind of work undertaken in each workflow during Transition as follows: Requirements - not applicable. Analysis update the analysis model, if required. Design - modify the design if problems emerge in testing. Implementation - tailor the software for the user site and correct problems uncovered in testing. Test - beta testing and acceptance testing at the user site. 17

Transition Postconditions and Deliverables 18

USDP: Strengths and Weaknesses Strengths Same benefits as RUP Complexity has been significantly reduced. Unlike RUP, Analysis and Design are separate workflows, each with it s own specific set of workunits and products. Weaknesses Same weaknesses as RUP, albeit to a far lesser degree. Business modeling, deployment, and management activities have lost their pivotal roles (as disciplines) in the process. 19

Enterprise Unified Process (EUP) Introduced by Ambler and Constantine in 2000 as an extended variant of RUP A revised and refactored version was introduced in 2005 Motivated by the belief that RUP suffers from serious drawbacks: RUP does not cover system support and eventual retirement. RUP does not explicitly support organization-wide infrastructure development. The iterative nature of RUP is both a strength and a weakness, since the iterative nature of the lifecycle is hard to grasp for many experienced developers. Rational s approach to developing RUP was initially tools-driven; hence the resulting process is not sufficient for the needs of developers. 20

Enterprise Unified Process (EUP) Extends RUP by adding two new phases and two new disciplines, one of which was further broken down into seven disciplines in the 2005 version of the methodology Extends the activities in some of the old disciplines of RUP Whereas RUP advocates adherence to UML, EUP makes use of some older modeling notations too; e.g. the use of Data Flow Diagrams for business modeling. EUP stresses that use cases are not enough for modeling the requirements; consequently, use cases in EUP do not have the pivotal role they have in RUP. 21

EUP: Process Disciplines in Iterations and Phases [Ambler et al. 2005] 22

EUP: Process Production Phase Focus is on keeping the software in production until it is either replaced with a new version (by executing the lifecycle all over again), or retired and removed. There are no iterations during this phase. Somewhat similar to the maintenance phase in the generic lifecycle, in that it is mainly concerned with the operation and support of the system. Unlike classic maintenance, any need for changing the system (even a bug fix) will result in the reinitiation of the development cycle. 23

EUP: Process Retirement Phase Added in 2002 as the sixth phase Focus is on the careful removal of a system from production, either because it is no longer needed or is being replaced. This typically includes: Identification of the existing system s coupling to other systems. Redesign and rework of other systems so that they no longer rely on the system being retired. Transformation of existing legacy data. Archival of data previously maintained by the system that is no longer needed by other systems. System integration testing of the remaining systems to ensure that they have not been broken via the retirement of the system in question. 24

EUP: Process Operations and Support Discipline Concerned with issues related to operating and supporting the system Spans several phases, not only the production phase: During the construction phase, and perhaps as early as the elaboration phase, the development of operations and support plans, documents, and training manuals is initiated. Artefacts are enhanced and perfected during the transition phase, where the discipline will also include the training of the operations and support staff. During the production and retirement phases, the discipline covers classic maintenance activities. 25

EUP: Process Enterprise Management Discipline Concerned with the activities required to create, evolve, and maintain the organization s cross-system artefacts, such as: Organization-wide models (requirements and architecture) Software process Standards Guidelines Reusable artefacts Broken down into seven disciplines in the 2005 version of the methodology 26

EUP: Process Enterprise Management: Seven Disciplines Added in 2005, these disciplines prescribe enterprise management activities in a more finegrained fashion: 1. Enterprise Business Modeling 2. Portfolio Management 3. Enterprise Architecture 4. Strategic Reuse 5. People Management 6. Enterprise Administration 7. Software Process Improvement 27

EUP: Strengths and Weaknesses Strengths Same benefits as RUP Addresses enterprise-level issues Maintenance is a phase in its own right. Attention is given to post-mortem activities when retiring the project (in the form of a new Retirement phase). Not strictly adherent to UML; other modeling languages such as DFDs are also used. 28

EUP: Strengths and Weaknesses Weaknesses Like RUP, EUP is very complex encumbered with a prohibitive number of models suffering high potential for model inconsistency confusing as to the process used hard to customize EUP has added further complexity to RUP by adding two new phases and two new disciplines. Adding the maintenance phase is not sufficient, since any change needed will result in a restart of the development process. 29

References Arlow, J., Neustadt, I., UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2 nd Ed. Addison-Wesley, 2005. Ambler, S. W., Nalbone, J., Vizdos, M. J., The Enterprise Unified Process: Extending the Rational Unified Process. Prentice-Hall, 2005. 30