1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)

Slides:



Advertisements
Similar presentations
“Not Fully Specified (Project) Objectives” CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang Fall I 2007 Ernie Rosales.
Advertisements

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 5 Understanding Requirements
Introduction to Requirements (Chapters 1-3 of the requirements text) CSSE 371, Software Requirements and Specification Don Bagert, Rose-Hulman Institute.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirements - Why What and How? Sriram Mohan. Outline Why ? What ? How ?
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 1 (cont ’d) Title : Client requirements (Review) Mandatory reading: I.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Requirements Specifications Today: Homework #1 due For next class: Pressman 11; SRD Team Status Reports Requirements Process (continued) Bio Break ( 5.
SE 555 – Software Requirements & Specifications Introduction
1 College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 2 Chapter 6 & 7 System.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 4 Requirements Engineering
Understanding Requirements. Requirements Engineering
S/W Project Management
Chapter 2 Introduction to Requirements Management
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
1 Requirements Management - General concepts - Noureddine Abbadeni King Saud University College of Computer and Information Sciences Based on “Software.
REQUIREMENTS - WHY WHAT AND HOW? Steve Chenoweth & Chandan Rupakheti CSSE 371 Chapters Requirements Text. Question 6.
Statistics from the Famous 1995 Standish Group Report.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SOFTWARE REQUIREMENTS Chapter 1 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia university based on.
Software Requirements and Design Khalid Ishaq
CMSC 345 Fall 2000 Requirements Overview. Work with customers to elicit requirements by asking questions, demonstrating similar systems, developing prototypes,
Chapter 4 Software Requirements
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Week 1. The goal of software development To develop quality software – on time on budget – that meets customers’ need However, our customer are quite.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
By Germaine Cheung Hong Kong Computer Institute
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Validation
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
Smart Home Technologies
Requirement Engineering
Software Requirements Specification Document (SRS)
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
1 Chapter 10 System Engineering. 2 Computer-Based System  A computer-based system is a set or arrangement of elements that are organized to accomplish.
Software Engineering Lecture 10: System Engineering.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Chapter 4 Software Requirements
Software Engineering (CSI 321)
Software Requirements analysis & specifications
Introduction to Requirements Management
Chapter 7 Requirements Engineering
Chapter 5 Understanding Requirements
Chapter 7 Requirements Engineering
Lecture # 7 System Requirements
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

1 The Requirements Problem Chapter 1

2 Standish Group Research Research paper at:  php (1994) php  31.1% of project get canceled before they ever get started  52.7% of projects will cost 189% of their original estimates  The failure to produce reliable software to handle baggage at the new Denver airport is costing the city $1.1 million per day  16.2% of software projects are completed on-time and on- budget

3 IT executive managers on their opinions about why projects succeed Project Success Factors% of Responses 1. User Involvement15.9% 2. Executive Management Support13.9% 3. Clear Statement of Requirements13.0% 4. Proper Planning9.6% 5. Realistic Expectations8.2% 6. Smaller Project Milestones7.7% 7. Competent Staff7.2% 8. Ownership5.3% 9. Clear Vision & Objectives2.9% 10. Hard-Working, Focused Staff2.4% Other13.9%

4 IT executive managers on their opinions about why projects are challenged Project Challenged Factors% of Responses 1. Lack of User Input12.8% 2. Incomplete Requirements & Specifications12.3% 3. Changing Requirements & Specifications11.8% 4. Lack of Executive Support7.5% 5. Technology Incompetence7.0% 6. Lack of Resources6.4% 7. Unrealistic Expectations5.9% 8. Unclear Objectives5.3% 9. Unrealistic Time Frames4.3% 10. New Technology3.7% Other23.0%

5 Relative Cost to Repair a Defect at Different Life Cycle Phases Analysis Design Coding Unit Test Acceptance Test Maintenance 1 Unit cost of 1 is assigned to effort required to detect and repair an error during the coding stage, then the cost to detect and repair during the requirements stage is 5 to 10 times less

6 Key Points Goal of software development is to develop quality software–on time and on budget–that meets customer’s real needs Project success depends on effective requirements management Requirements error are the most common type of systems development errors and the most costly to fix A few key skills can significantly reduce requirements errors and thus improve software quality

7 Intro to Requirements Management Chapter 2

8 What is a Software Requirement? Software capability needed by the user to solve a problem to achieve an objective [Dorfman] System Requirements define what the system is required to do and the constraints under which it is required to operate [Sommerville] Software capability that must be met or possessed by a system…to satisfy a contract, standard, specification, or other formally imposed documentation [Dorfman] (1) A characteristic that a system or software item is required to possess in order to be acceptable to the acquirer. (2) A binding statement… Requirements are expressed using the word “shall”. [IEEE/EIA J-STD-016]

9 Types of Software Applications Information systems and other applications developed for use within a company. Software developed and sold as commercial products. Software that runs on computers embedded in other devices, machines, or complex systems.

10 Requirements Management Systematic approach to:  Elicit  Organize  Document Process that establishes and maintains agreements on the changing requirements of the system  Engineering Review Boards  Change Control Boards

11 Requirements Elicitation Assess the business and technical feasibility for the proposed system. Identify the people who will help specify requirements and understand their organizational bias. Define the technical environment (e.g., operating system, telecommunications needs) into which the system or product will be placed. Identify “domain constraints” (i.e., characteristics of the business environment specific to the application domain) that limit the functionality or performance of the system or product to be built. Define one or more requirements elicitation methods (e.g., interviews, focus groups, team meetings). Solicit participation from many people so that requirements are defined from different points of view.

12 Requirements Analysis and Negotiation Analysis categorizes requirements and organizes them into related subsets; explores each requirement in relationship to others; examines requirements for consistency, omissions, and ambiguity; and ranks requirements based on the needs of customers/users.

13 Requirements Analysis and Negotiation As the requirements analysis activity commences, the following questions are asked and answered:  Is each requirement consistent with the overall objective for the system/product?  Have all requirements been specified at the right level of abstraction?  Is the requirement really necessary or does it represent an add-on feature that may not be essential to the objective of the system?  Is each requirement bounded and unambiguous?  Do any requirements conflict with other requirements?  Is each requirement achievable in the technical environment that will house the system or product?  Is each requirement testable, once implemented?

14 Requirements Specification  The System Specification is the final work product produced by the system and requirements engineer. The System Specification also describes the information (data and control) that is input to and output from the system.  A specification can be a written document, a graphical model, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these.

15 Requirements Validation  Requirements validation examines the specification to ensure that all system requirements have been stated unambiguously; that inconsistencies, omissions, and errors have been detected and corrected; and that the work products conform to the standards established for the process, the project, and the product.

16 Requirements Validation The following questions represent a small subset of those that might be asked: Are requirements clear? Can they be misinterpreted? Who is the source of the requirement? Has the final statement of the requirement been examined by or against him/her? What other requirements relate to this requirement? Does the requirement break any domain constraints? Is the requirement testable? If so, can we specify tests to implement the requirement? Is the requirement traceable to any system model that has been created? Is the requirement traceable to overall system/product objectives?

17 Problem Domain & Solution Domain Needs – in user terms Features – a service provided by the system that fulfills a need Problem Domain Solution Domain Software requirements – more specific

18 Key Points A requirement is a capability that is imposed on the system Requirements management is a process of systematically eliciting, organizing, and documenting requirements for a complex system Our challenge is to understand users’ problems in their culture and their language and to build systems that meet their needs A feature is a service that the system provides to fulfill one or more stakeholder needs A use case describes a sequence of actions, performed by a system, that yields a result of value to a user