Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer.

Slides:



Advertisements
Similar presentations
Introduction to Software Engineering Dr. Basem Alkazemi
Advertisements

Information System Design IT60105 Lecture 3 System Requirement Specification.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Introduction to Software Engineering
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Requirements Management.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009.
SE 555 – Software Requirements & Specifications Introduction
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Requirement engineering for an online bookstore system
Chapter 4 Capturing the Requirements 4th Edition Shari L. Pfleeger
What is Business Analysis Planning & Monitoring?
S/W Project Management
Requirements Analysis
Chapter 4 – Requirements Engineering
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
IS 466 ADVANCED TOPICS IN INFORMATION SYSTEMS LECTURER : NOUF ALMUJALLY 22 – 10 – 2011 College Of Computer Science and Information, Information Systems.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
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.
IT Requirements Management Balancing Needs and Expectations.
1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] January 31, 2012.
The Requirement. What is Inception? What is the vision and business case for this project? –not to define all the requirements Feasible? Buy and/or build?
Chapter 7 Applying UML and Patterns Craig Larman
Lecture 7: Requirements Engineering
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
Team Skill 2 Understanding User and Stakeholder Needs Interviewing (10)
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements Engineering Process
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
An Agile Requirements Approach 1. Step 1: Get Organized  Meet with your team and agree on the basic software processes you will employ.  Decide how.
Requirements Gathering
Requirements in the product life cycle Chapter 7.
SmartPosition Customer Review and Feedback Presentation.
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue SOFTWARE ENGINEERING.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
Your Prescription for Requirements Management 1. Assumptions The prescription for requirements management is based on the following assumptions:  The.
CMPE 280 Web UI Design and Development August 29 Class Meeting
EKT 421 SOFTWARE ENGINEERING
CS 691z / 791z Topics on Software Engineering
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
UNIT II.
Requirements Analysis
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
CS 425/625 Software Engineering
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Chapter 3: The Requirements Workflow [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada, Reno Department of Computer Science & Engineering

2  The requirements workflow  Metamodel for software requirements  Requirements workflow details  The importance of requirements  Defining requirements

3 The UP description shows that most of the work in requirements workflow occurs in Inception and Elaboration phases

4  The purpose of the requirements workflow is to reach an agreement on what the system should do, expressed in a way accessible to the users of the system  Requirements engineering involves various activities: elicitation, negotiation, conflict resolution, prioritization, documentation, and maintenance of requirements  Various stakeholders are involved in establishing the set of requirements for the system  UML uses cases describe functional requirements, but non- functional requirements need different description

5

6 Specific tasks for UP requirements workflow

7 Arlow and Neustadt extend slightly the UP requirements workflow with the addition of new tasks: find functional requirements, find non-functional requirements, prioritize requirements, & trace requirements to use cases.

8  Requirements engineering is about establishing what the stakeholders need from the system  Poor requirements engineering is the major cause of software project failure  The second major cause of software project failure is lack of user participation

9  Requirement: “a specification of what should be implemented”  There are two types of requirements:  Functional requirements: describe the desired behavior of the system  Non-functional requirements: specify particular properties of or constraints on the system  In theory, the set of requirements should be only about “what” the system should do, but in practice it is not possible to avoid “how” aspects of the system

10  The SRS (Systems Requirements Specification) is the document that contains the set of requirements expected to be satisfied by the system, both functional and non- functional  There are many ways to write an SRS (“company dependent” ways)  The SRS provides the input for analysis and design phases of the development process  The bottom line regarding the SRS is: “does it help me to understand what the system should do or not?”

11  Simple format recommended for well-formed requirements: The shall  Examples of functional requirements (what the system should do): 1 The ATM shall check the validity of the ATM card inserted 2 The ATM shall validate the PIN number entered by the client 3 The ATM shall allow the user to deposit cash  Examples of non-functional requirements (constraints on or properties of the system): 1 The ATM shall be written in C++ 2 The ATM shall validate the PIN in three seconds or less

12  Organizing requirements: a more complex taxonomy can be used when there are many requirements, e.g.  Functional requirements Customers Products Orders Sales channels Payments

13  Organizing requirements: a more complex taxonomy can be used when there are many requirements, e.g.  Non-functional requirements Performance Capacity Availability Compliance with standards Security

14  Requirements may have attributes, e.g., priority  Must have  Should have  Could have  Want to have [the MoSCoW system]  Other requirement attributes in RUP:  Status (proposed, approved, rejected, incorporated)  Benefit (critical, important, useful)  Effort (measured in person*day or function points)  Risk (high, medium, low)  Stability (high, medium, low)  TargetRelease (product version when implemented)

15  Requirements come from the context of the system: Direct users Other stakeholders (e.g., managers, maintainers, installers) Other systems that interact with the system Hardware devices attached to the system Legal and regulatory constraints Technical constraints Business goals

16  The map is not the territory  When modeling, we apply three cognitive filters that simplify our effort [Chomsky, 1975]:  Deletion  Distortion  Generalization

17  In requirements specification we need to identify the application of the above filters and find “challenges” for them to recover information  In particular, universal quantifiers such as  All  Everyone  Always  Never  Nobody  None should be inspected closely for accuracy

18  Interviews:  Don’t imagine a solution  Ask context-free questions  Listen  Don’t mind read  Have patience

19  Questionnaires  Cannot substitute the interviews  Can supplement the interviews  Good at getting answers to closed questions

20  Requirements workshop  Participants Facilitator Requirements engineer Stakeholders Domain experts  Procedure Brainstorm (accept all ideas) Identify key requirements Iterate over identified requirements, note additional attributes  After the meeting Analyze results and turn them into requirements Circulate results for comment