REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters 1 - 4 Requirements Text. Question 6.

Slides:



Advertisements
Similar presentations
Chapter 7: Software production process Refers to the activities that are used for building, delivering, deploying, and evolving a software product, from.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Process Models
Unit 2. Software Lifecycle
CS487 Software Engineering Omar Aldawud
THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
SYSC System Analysis and Design
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Lifecycle Phases time InceptionElaborationConstruction Transition  Define the scope of the project and develop business case  Inception Define the scope.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Iterative development and The Unified process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Chapter 2- Software Process Lecture 4. Software Engineering We have specified the problem domain – industrial strength software – Besides delivering the.
Principles of Object Technology Module 1: Principles of Modeling.
Object-Oriented Analysis and Design Iterative Development and the Unified Process.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
Software Development *Life-Cycle Phases* Compiled by: Dharya Dharya Daisy Daisy
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Processes Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch4.ppt.
©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.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Iterative development and The Unified process Chapter 2 Applying UML and Patterns -Craig Larman.
Software Process Models
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Software Requirements and Design Khalid Ishaq
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 13: Software Life Cycle Models Omar Meqdadi SE 273 Lecture 13 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
The principles of an object oriented software development process Week 04 1.
Software Engineering Lecture # 1.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 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.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 /26 Rational Unified Process – Part 2 Original slides modified.
Topic:- At the end we will be able to explain:- Why it is called Meta Model ?? Spiral Model Its Advantages & Disadvantages… Phases of Spiral Model...
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini II. Software Life Cycle.
1 Week 3 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Software Development Framework
TK2023 Object-Oriented Software Engineering
School of Business Administration
Software Process Models
Requirements and the Software Lifecycle
Introduction to Software Engineering
Object Oriented Analysis and Design
Rational Unified Process
Software engineering -1
The Unified/Rational Unified Process (UP/RUP) Defined
Introduction to Requirements Management
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Chapter 4: Software Process Models
CSCI 360: Software Architecture & Design
Presentation transcript:

REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6

WHY REQUIREMENTS “Why not just ask them what they want, they tell you, and you build it?”

Some facts 3  250 billion dollar industry  31% projects cancelled(money lost 81 billion dollars)  52.7% cost 189% of their original estimates

Biggest Reasons for Project Success and Failure

Project Failure  Lack of user input (13%)  Incomplete requirements (12%)  Changing requirements (12%) Question 1

Project Success  User involvement (16%)  Executive management support (14%)  Clear statement of requirements (12%)

7

Defects by Development Phase  Requirements – 31%  Design – 25%  Coding – 12%  Documentation – 16%  Bad fixes – 16%

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

Why ? 10  Requirements errors are likely to be the most common class of error  Requirements errors are likely to be the most expensive to fix

WHAT IS A SOFTWARE REQUIREMENT? “I’d like to see the web pages in green…”

What is a Software Requirement? A software capability needed by the user to solve a problem to achieve an objective 2. A software capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification or other formally imposed documentation Question 2

What is Software Requirements Management? 13  The process of systematically, eliciting, organizing and documenting requirements for the software system, and a process that establishes and maintains agreement between the customer and the project team on the changing requirements of the system. Question 3

14

What does it involve? 15  Understand the need - the problem to be solved  Propose features - how the need will be resolved  Requirements are the specific conditions that are imposed on the solution

16 Needs Features Requirements Problem Domain Solution Domain Question 4

SOFTWARE LIFECYCLE PROCESS MODELS

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!  Clearly defined stages help with  planning, scheduling  management, organization  accountability, control

Disadvantages  Not very practical (do not know requirements in the beginning)  Customer sees nothing until last step  Change is Anathema

Spiral Model 22  Incremental  more feedback from customer  Risk analysis  more rigorous analysis of risk at each stage

Spiral Model

Iterative (or Incremental) Approach  Four phases  Inception  Elaboration  Construction  Transition 24

Iterative(or Incremental) Approach 25  An iteration is a sequence of activities with an established plan and evaluation criteria, resulting in an executable of some type  Each phase goes under a # of iterations

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 activities Process Workflow Support Workflow Rational Unified Process Model Question 5

Software Development 27  Is this a team activity? Why?

Requirements Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System Definition 6. Building the Right System