Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?

Slides:



Advertisements
Similar presentations
Basic SDLC Models.
Advertisements

Software Processes.
Software Development Life-Cycle Models
CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS.
Lecture # 2 : Process Models
SOFTWARE PROCESS MODELS. Software Process Models  Process model (Life-cycle model) -steps through which the product progresses Requirements phase Specification.
Software Engineering Saeed Akhtar The University of Lahore Lecture 4 Originally shared for: mashhoood.webs.com.
CS487 Software Engineering Omar Aldawud
CSE 470 : Software Engineering The Software Process.
Chapter 3 Process Models
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
29 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Life Cycles ECE 417/617: Elements of Software Engineering
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
Object-oriented Analysis and Design
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
CSI315 Web Technology and Applications
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 2 The process Process, Methods, and Tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Prescriptive Process Models
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1/23 Prescriptive Process Models. 2/23 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Project – A Quick Tutorial Krishna Sainath Meda. PROJECT  A task assigned to a set of people or teams to be completed within a time frame  Any project.
SOFTWARE LIFE-CYCLE MODELS
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
3.1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering If prescriptive process models strive for structure.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 3 Prescriptive Process Models Discussion of the Software Process models:
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
© Bennett, McRobb and Farmer 2005
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Unified Process Software Development Darren Roback/Ravali Kallem CMIS Fall 2009.
Systems Development Life Cycle
TK2023 Object-Oriented Software Engineering
Software Life Cycle “What happens in the ‘life’ of software”
CS 5150 Software Engineering
CS 425/625 Software Engineering Software Processes
V-Shaped SDLC Model Lecture-6.
Software Process Models
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes.
Prescriptive Process Models
Introduction to Software Engineering
Lecture 2 Revision of Models of a Software Process
Software life cycle models
Process Models Coming up: Prescriptive Models.
Baisc Of Software Testing
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Processes Process should be
Software Processes.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
The Waterfall Model Also known as: classic life cycle, the waterfall model, the linear model Rarely projects are sequential (allows iteration indirectly)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 3 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Presentation transcript:

Prescriptive Process Models Jon Walker

Prescription? What does prescriptive mean?

Answer ● Proscribe a set of process elements ● “Things to do” ● A model of the lifecycle also

Software Life-Cycle Models ● Build-And-Fix  Build and product without any specification or design  Modify (or “fix”) product until client is satisfied

Waterfall ● Used exclusively until the early 80s ● Output (or “artifacts”) from each phase go into next phase ● What are artifacts? ● What are the advantages of Waterfall?  Forced discipline of going through each phase  Well defined phases ● What are the disadvantages?  No modeling of requirements  Traceability is hard to attain (why?)

Incremental Models ● RAD ● Incremental

RAD ● Rapid Application Development (RAD) ● Short development cycle ● High speed waterfall ● Break into pieces/components ● Assign teams to components ● What do you think the pros/cons are?

Pros/Cons ● Pros of RAD  More rapid feedback than waterfall ● Cons of RAD  Project has to be scalable ● Able to be broken into pieces  For a large project you need to have a lot of teams  May not be appropriate if there is a lot of technical risk (interfaces change)

Incremental ● Break the software into pieces ● Build and test the software after adding each piece (incrementally) ● Stop when the final product meets the specifications ● The product must be testable as each piece is added ● What do you think the pros/cons are?

Pros/Cons ● Pros of Incremental  Client gets a functional product earlier  Change in requirements can be handled incrementally ● Cons of Incremental  Product has to naturally break into pieces that can be incorporated one at a time without breaking existing functionality  Quickly degenerates into build-and-fix model

Evolutionary ● Rapid Prototyping ● Spiral ● Synchronize and Stabilize

Rapid Prototyping ● Build a prototype and refine prototype until the customer is satisfied ● What are the pros/cons?

Pros/Cons ● Pros of Rapid Prototype  Requirements are more likely to be correct  Input from prototype can be used in design ● Cons of Rapid Prototype  Problem with seeing prototype as throw- away?  Design may be inflexible  Difficult to review decisions made during certain phases

Spiral ● Incorporates aspects of the other models ● Main objective is to reduce risk  What is risk? ● Like Waterfall but risk analysis is done before each phase and verification is done afterwards ● What are the pros/cons?

Pros/Cons ● Pros of Spiral  Emphasis on alternatives so when a problem is encountered another approach can be taken ● Cons of Spiral  Requires that developers are good at identifying and mitigating risks

Synchronize and Stabilize ● Variation on Incremental model ● Gather requirements ● Prioritize and break into three or four builds with the earlier builds having the most important features ● Features are worked on by a number of independent teams ● Each day or periodically during the lifecycle  “Synchronize” all source code  Test, debug, and “stabilize”  “Freeze” result ● Used by Microsoft ● Advantages and disadvantages are similar to incremental model

Specialized Process Models ● Component-Based Development  Like spiral  Identify components at start of each cycle ● Formal Methods  Mathematical specification of software ● Aspect-Oriented Development  Extract system wide features  Aspect oriented languages

Rational Unified Process (RUP) ● James Rumbaugh, Grady Booch, Ivar Jacobsen  Had individual methods for developing software  Rumbaugh and Booch ● 1990 – unified method ● Added Jacobsen - requirements ● Considered the “modern” alternative to waterfall ● Standard for OO software development ● Phases much like waterfall ● Defines work products or “models” for each phase  e.g. Use cases

Phases of RUP ● Phases  Inception  Elaboration  Contruction  Transition  Production ● What are the waterfall phases again? ● Can you match them? ● Difference is that they happen in increments ● Increments may be concurrent