Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.

Slides:



Advertisements
Similar presentations
SDLC – Beyond the Waterfall
Advertisements

The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Development Life-Cycle Models
Diane Pozefsky. Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will start)
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
IS2210: Systems Analysis and Systems Design and Change
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Approaches to Systems Development
INCORPORATING AGILE METHODS INTO THE DEVELOPMENT OF LARGE-SCALE SYSTEMS 資工四 曾珮綺.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Developing for continuous change UCD demands a different model for development An iterative approach is suitable.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Software engineering Process models Pavel Agejkin.
Ch 2: Software Life-Cycle Models CSCI Ideal Software Development.
1 CMPT 275 Software Engineering Software life cycle.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Software Engineering II Lecture 3 Fakhar Lodhi. Software Life-Cycle Steps Life-cycle model (formerly, process model) –Requirements phase –Specification.
The Spiral Model Sultana & Mahmood. Systems development life-cycle The process of creating or altering computer systems The models that define the processes.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
Dr. Rob Hasker. What if every project used Scrum?  Why might Scrum not be perfect for every project? Hard to get the big picture Early choices may have.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
Agile febrian | erlien | beny | ragnar | billy. SLDC Methodologies.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
10 key principles of agile software development
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Rational Unified Process  “de facto standard”, framework.
ICS 61 – The Game Improves through Iteration Based on Schell, ch. 8 Winter, 2015.
Dr. Rob Hasker. Should every project use Scrum?  When might Scrum not be an appropriate model?  What are some of its limitations? Hard to get the big.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
10 September Interactions  There is no “right answer”  Typically people and product are fixed  … can adapt process  (which is where we will.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
4.2 SOFTWARE DEVELOPMENT METHODOLOGGY PRESENTED BY : AZURA IBRAHIM SYARIFAH SYAZA BTE SEYD ZULKAFLY CS230(5A)
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Software Engineering cosc 4359 Spring 2017.
Agile/XP Introduction
Unit 6 Application Design KLB Assignment.
Systems Analysis and Design in a Changing World, 6th Edition
Software Process Models
Introduction to Software Engineering
Object Oriented Analysis and Design
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger Joanne M. Atlee 4th Edition.
Computer Science Life Cycle Models.
Computer Science Life Cycle Models.
Lecture 2 Revision of Models of a Software Process
Chapt 2 Iterative Evolutionary Agile.
Process Models Coming up: Prescriptive Models.
Basic SDLC Models SDLC  System Development Life Cycle.
Project Lifecycle and IT Product Life Cycle
CSCI 360: Software Architecture & Design
Presentation transcript:

Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004

Outline Cost of errors Software lifecycle Problem Statements

3 Cost to Fix Errors Requirements Design Coding Unit Test Acceptance Test Maintenance

Waterfall Model Manufacturing life cycle model Assumes –multi-stage development cycle –completely separate stages –output of one stage is input for next –each stage complete before next is begun

Waterfall Stages Requirements DesignCodingTestingMaintenance

Advantages Much better than chaos! Staged deliverables are possible Can modify model to allow for feedback Clearly defined stages help with –planning, scheduling –management, organization –accountability, control

Disadvantages Not very practical (do not know requirements in the beginning) No feedback, provision for modification Customer sees nothing until last step

8 Spiral Model Incremental –more feedback from customer Risk analysis –more rigorous analysis of risk at each stage

Spiral Model

Synchronize-and-Stabilize A version of incremental model used by Microsoft –Interview customers –Prioritize features to be added –Divide work into several builds (parallel) –Synchronize builds daily (!) –Stabilize after builds complete

Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Iterations Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction Workflows group activities logically In an iteration, you walk through all workflows Process Workflow Support Workflow Rational Unified Process Model

12 Cartoon of the Day

13 Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: –Individuals and interactions over processes and tools –Working software over comprehensive documentation –Customer collaboration over contract negotiation –Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

14 Problem Statements Function: What the solution must do and how it will be used Form: The form the system must take in providing the functional features Economy: The expected value and cost of the solution to customers and to your own organization Time: The relationship of the solution to past, present, and future