Requirements Gathering How do we find out what we are supposed to be building?

Slides:



Advertisements
Similar presentations
Understanding Requirements Unit II
Advertisements

7.1 A Bridge to Design & Construction
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 7 Requirements Engineering
1 R&D SDM 1 Software Project Management Requirements Analysis 2010 Theo Schouten.
Chapter 5 Understanding Requirements
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Unit-III Requirements Engineering
Introduction to Software Engineering
1 R&D SDM 1 Software Project Management Requirements Analysis 2009 Theo Schouten.
Requirements Analysis Concepts & Principles
Analysis Concepts and Principles
Identifying needs and establishing requirements Chapter 7b.
SE 555 Software Requirements & Specification Requirements Validation.
Requirements Specifications Today: Homework #1 due For next class: Pressman 11; SRD Team Status Reports Requirements Process (continued) Bio Break ( 5.
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
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
Requirements analysis Speaker: Chuang-Hung Shih Date:
Understanding Requirements. Requirements Engineering
Requirements Analysis
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Requirements Engineering How do we keep straight what we are supposed to be building?
System Analysis and Design Dr. Taysir Hassan Abdel Hamid Lecture 5: Analysis Chapter 3: Requirements Determination November 10, 2013.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirements Engineering CSE-305 Requirements Engineering Process Tasks Lecture-5.
Requirement Engineering Tasks Inception Elicitation Problems of scope Problems of understanding Problems of Volatility Elaboration Scenarios Negotiation.
Software Requirements The starting point of software development “He kept changing the requirements on us” 1 540f07reqelic4sep4.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 7 Requirements Engineering Elements of software requirement gathering.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
Chapter 7 Requirements Engineering
Software Engineering Saeed Akhtar The University of Lahore Lecture 7 Originally shared for: mashhoood.webs.com.
Lecture 7: Requirements Engineering
Software Requirements The starting point of software development “He kept changing the requirements on us” 1 540f07tmproj6sep11.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Lecture-3.
Software Engineering Saeed Akhtar The University of Lahore Lecture 6 Originally shared for: mashhoood.webs.com.
IS Analysis and Design. SDLC Systems Development Life Cycle Break problems into management review stages Control cost and time Works best with well understood.
Develop Project Charter
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.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Lecture 2 Developing Requirements
CS 5150 Software Engineering Lecture 7 Requirements 1.
By Germaine Cheung Hong Kong Computer Institute
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Initiation Project Management Minder Chen, Ph.D. CSU Channel Islands
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
Requirement Engineering
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.
Requirements Gathering
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
 System Requirement Specification and System Planning.
Requirements Engineering
Requirements Elicitation – 1
Software Requirements analysis & specifications
CS 790M Project preparation (I)
Requirements Management
Requirements Analysis
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements
Chapter 5 Understanding Requirements.
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Requirements Gathering How do we find out what we are supposed to be building?

Why good Specs are Essential: $  It is VERY expensive to fix problems late in the process. It is very cheap to rewrite or clarify a written spec.  What costs $1 to fix at ReqGathering $5 in the design stage $10 in the coding stage $20 in the unit testing phase $200 after delivery

Types of Requirements  Functional ex - it must the sales manager when an inventory item is "low"  Non-Functional ex - it must require less than one hour to run  Explicit ex – required features  Implied ex – software quality  Forgotten ex – exists in current process  Unimagined

Requirements of Requirements  Clear  Measurable  Feasible  Necessary  Prioritized  Concise

Req Gathering Problems  Accommodating changing reqs  Being complete, without being constraining  Conflicting views  Ease of omitting obvious info  Identifying the experts and getting authority to talk to people  Incomplete understanding of the problem on the part of the user/customer  Sticking with “what” and not “how”  Determining what is critical  Avoiding mission creep

Requirements WILL Change

Requirements Engineering Tasks 1.Inception 2.Elicitation 3.Elaboration 4.Negotiation 5.Specification 6.Validation 7.Management Software Engineering: A Practitioner’s Approach by Roger Pressman

Inception  Project starts due to a business decision  Software Engineer Asks: What is the basic problem Who wants a solution Nature of solution

Inception  Project starts due to a business decision  Software Engineer Asks: What is the basic problem Who wants a solution Nature of solution First Questions: 1.Who is behind the request for work? 2.Who will use the solution? 3.What will be the economic benefit of success? 4.Is there another source for the solution?

Elicitation via Interviews

 Difficulties: Ill-defined project scope Unnecessary details that confuse Not sure what they need Poor understanding of capabilities Omitting the “obvious” Requirements that conflict with other people’s requirements Requirements Change!!!

Elicitation via Interviews  The list of involved stakeholders must be broad!!!! Use real users.  Meetings include the SwEngs and the stakeholders  Use agendas that cover the important points yet encourage flow of ideas  Use wall-stickers, flip-charts, …  Ahead of time, the participants should build a partial list of the functions, performance criteria, environment factors, …  Start with scope and context, move to functions

Elicitation via Use Cases  Diagrams composed of Actors and Actions Anonymous User Registered User Credit Card System Create Account Manage Account Logout

Elicitation via JAD Joint Application Design  JAD Sessions Participants: Executive Sponsor Project Leader Facilitator – trained and experienced Recorder Participants Observers – developers who sit on sideline and don’t talk  Outputs of sessions: Data flow diagrams Data requirements List of assumptions etc

Elicitation via QFD Since 1966, Quality Function Deployment (QFD) has been used world wide in nearly every industry and sector to: 1. Prioritize spoken and unspoken customer wows, wants, and needs; 2. Translate these needs into actions and designs such as technical characteristics and specifications; and 3. Build and deliver a quality product or service by focusing various business functions toward achieving a common goal and customer satisfaction.  QFD uses interviews, surveys, and data (problem reports) to build a table of requirements called the Customer Voice Table.  Functional Deployment – value of each function  Information Deployment – identify the input and output  Task Deployment – examine system behavior  Value Analysis – prioritize the requirements

Elaboration  Goal is to create an “analysis model”  Model Defines information functions  What such a model looks like is the next lecture

Negotiation  Goal is to resolve requirements that are Conflicting Costly Unrealistic 1.Identify the subsystem’s stakeholders 2.Determine their win conditions 3.Negotiate their win conditions into win- win conditions for everyone

Specification and Validation  Specification yields the SRS Format of SRS is the next lecture  Validation reviews the SRS