Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)

Slides:



Advertisements
Similar presentations
Chapter 1: Introduction
Advertisements

Rational Unified Process®
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 16, Methodologies: Putting It All Together.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 12, Software Life Cycle.
Computer Science Department
Chapter 15, Software Life Cycle
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
CEN nd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Software Process Models.
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
Software Life Cycle Sources:
CSC 480 Software Engineering
Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle.
April 22, 2014CS410 – Software Engineering Lecture #19: The Software Life Cycle 1 The Software Life Cycle.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Example of a Problem Statement: Introduction into.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Chapter 1: Introduction
Chapter 15: Life Cycle Models
Software Engineering About the Course Software Engineering Qutaibah Malluhi Computer Science and Engineering Department Qatar University.
1 SOFTWARE LIFE-CYCLES Elements and Definitions. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Problem with Software Requirements are complex The client does not know the functional requirements in advance Requirements may be changing Technology.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Chapter 1: Introduction
Using UML, Patterns, and Java Object-Oriented Software Engineering Example of a Problem Statement: Introduction into ARENA.
CEN 4010 Second Lecture January 23, 2006 CEN 4010 Introduction to Software Engineering Spring 2006 Instructor: Masoud Sadjadi
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
ECE 355: Software Engineering
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Chapter 15, Software Life Cycle
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 3, Project Communication.
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 15, Software Life Cycle.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 12, Software Life Cycle.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
CEN nd Lecture CEN 5011 Advanced Software Engineering Instructor: Masoud Sadjadi Software Life Cycle.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 16, Methodologies Extreme Programming.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Software Production ( ) First Semester 2011/2012 Dr. Samer Odeh Hanna (PhD)
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 1, Introduction to Software Engineering.
Software Life-Cycle and Models
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
COMP2110 Software Design in 2003 ● a(nother) framework for Software Engineering ● the Software Engineering ideas and concepts in comp2110 ● Organisation.
Software Engineering Process Models Models for Guiding the Development of Software.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
DE?!GN software. COMP2110 Software Design in 2004 Chris Johnson 1.Software Requirements and Software Design in a framework for Software Engineering 2.The.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
Software Production ( ) Second Semester 2010/2011 Dr. Samer Odeh Hanna (PhD) office: 318.
Systems Development Life Cycle
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 15, Software Life Cycle.
Introduction to Systems Analysis and Design
INTERNATIONAL BURCH UNIVERSITY
Software Development Life Cycle Waterfall Model
SOFTWARE ENGINEERING - SOFTWARE LIFECYCLE MODELS
Object-Oriented Software Engineering Using UML, Patterns, and Java,
SNS College of Engineering Coimbatore
Dr. Samer Odeh Hanna (PhD)
CEN 5011 Advanced Software Engineering
SOFTWARE ENGINEERING LECTURE 2
Presentation transcript:

Using UML, Patterns, and Java Object-Oriented Software Engineering 15. Software Life Cycle (Waterfall)

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Outline  Software Life Cycle  Waterfall model  Pure Waterfall Model  Iterative Waterfall

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Requirements Software What we intend

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 How it should go: Our plan of attack Requirements Analysis Implementation Design Testing Delivery and Installation

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Inherent Problems with Software Development  Requirements are complex  The client does not know the functional requirements in advance  Requirements may be changing  Technology enablers introduce new possibilities to deal with nonfunctional requirements  Frequent changes are difficult to manage  Identifying milestones and cost estimation is difficult  There is more than one software system  New system must be backward compatible with existing system (“legacy system”)  Phased development: Need to distinguish between the system under development and already released systems  Let’s view these problems as the nonfunctional requirements for a system that supports software development!  This leads us to software life cycle modeling

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Definitions  Software lifecycle modeling: Attempt to deal with complexity and change  Software lifecycle:  Set of activities and their relationships to each other to support the development of a software system  Software development methodology:  A collection of techniques for building models - applied across the software lifecycle

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Typical Software Lifecycle Questions  Which activities should I select for the software project?  What are the dependencies between activities?  Does system design depend on analysis? Does analysis depend on design?  How should I schedule the activities?  Should analysis precede design?  Can analysis and design be done in parallel?  Should they be done iteratively?

Copyright 2002 Bernd Brügge Software Engineering II, Lecture 3: Scheduling SS  Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the waterfall model [Royce 1970] Life Cycle Modeling

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9  Many models have been proposed to deal with the problems of defining activities and associating them with each other  The waterfall model  First described by Royce in 1970  There seem to be at least as many versions as there are authorities - perhaps more Life-Cycle Model: Variations on a Theme

Copyright 2002 Bernd Brügge Software Engineering II, Lecture 3: Scheduling SS Requirements Process System Allocation Process Concept Exploration Process Design Process Implementation Process Installation Process Operation & Support Process Verification & Validation Process The Waterfall Model of the Software Life Cycle adapted from [Royce 1970]

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Problems with Waterfall Model  Managers love waterfall models:  Nice milestones  No need to look back (linear system), one activity at a time  Easy to check progress : 90% coded, 20% tested  Different stakeholders need different abstractions  => V-Model  Software development is iterative  During design problems with requirements are identified  During coding, design and requirement problems are found  During testing, coding, design& requirement errors are found  => iterative models  Iterative Waterfall  Spiral Model  System development is a nonlinear activity  => Issue-Based Model

Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Requirements Process System Allocation Process Concept Exploration Process Design Process Implementation Process Installation Process Operation & Support Process Verification & Validation Process The Iterative Waterfall Model of the Software Life Cycle