1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009.

Slides:



Advertisements
Similar presentations
:: 1 :: What is a requirement? Standard Definition Something the product must do or a quality the product must have. More Ways to Characterize Something.
Advertisements

Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
SE 555 Software Requirements & Specification Requirements Management.
CS 425/625 Software Engineering Software Requirements
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/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 CS 426/CPE 426 Senior Projects Chapter 5: Advanced Use Case Modeling [Arlow and Neustadt, 2005] February 14, 2008.
SE 555 – Software Requirements & Specifications Introduction
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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
Slide 1 Requirements Workflow. Slide 2 The Phases/Workflows of the Unified Process Figure 3.1 l Phase is Business context of a step Workflow is Technical.
S/W Project Management
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
RUP Requirements RUP Artifacts and Deliverables
Introduction to Software Quality Assurance (SQA)
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. 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.
Feasibility Study.
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.
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?
Lecture 7: Requirements Engineering
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
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
1 Quality Attributes of Requirements Documents Lecture # 25.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
RequisitePro Software Requirement Management Tool A peresentation by: Mojdeh Jalali-Heravi Maryam Daneshi.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
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.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
© NALO Solutions Limited NALO Solutions, presents the – Revenue Collector App Using Mobile Phones to gather Revenue SOFTWARE ENGINEERING.
Introduction to Software Requirement Engineering Nisa’ul Hafidhoh Teknik Informatika
©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.
CS 389 – Software Engineering Lecture 2 – Part 2 Chapter 2 – Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
CS 691z / 791z Topics on Software Engineering
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
UNIT II.
Chapter 2 – Software Processes
KEY PROCESS AREAS (KPAs)
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:

1 CS 426 Senior Projects Chapter 3: The Requirements Workflow [Arlow & Neustadt, 2005] February 10, 2009

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

3 The Requirements Workflow. Fig. 3.2 [Arlow & Neustadt 2005] shows that most of the work in requirements workflow occurs in Inception and Elaboration phases

4.The Requirements Workflow 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 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 Metamodel for Software Requirements Arlow & Neustadt’s approach for requirements engineering is shown in Fig. 3.3 [Arlow 2002]. Details can be found in Section 3.3

6 Requirements Workflow Detail. Specific tasks for UP (Unified Process) requirements workflow Fig. 3.4 [Arlow & Neustadt 2005]

7.Requirements Workflow Detail 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. As such, non-functional requirements can be addressed as well, along with the traditional UP/UML treatment of functional requirements via use cases. Fig. 3.5 [Arlow & Neustadt 2005]

8 The Importance of Requirements Requirements engineering is about establishing what the stakeholders need from the system Requirements engineering encompasses elicitation, negotiation, conflict resolution, prioritization, documentation, and maintenance of requirements 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 Defining Requirements..… Requirement: “a specification of what should be implemented” There are two types of requirements: Functional requirements: describe the desired behaviour 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.Defining Requirements.... 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 a SRS (“company dependent” ways) The SRS provides the input for the 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..Defining Requirements… 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. 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 …Defining Requirements.. “The map is not the territory” (that is, a model is not the real thing). When modeling, we apply three cognitive filters that simplify our effort [Chomsky, 1975]: Deletion Distortion Generalization 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

13.…Defining Requirements. Organizing requirements: a more complex taxonomy can be used when there are many requirements, e.g. Functional requirements Functional requirements Customers Customers Products Products Orders Orders Sales channels Sales channels Payments Payments Non-functional requirements: Non-functional requirements: Performance Performance Capacity Capacity Availability Availability Compliance with standards Compliance with standards Security Security

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