Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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 2  The requirements workflow  Metamodel for software requirements  Requirements workflow details  The importance of requirements  Defining requirements

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

4 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 5

6 6 Specific tasks for UP requirements workflow

7 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 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 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 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 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 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 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 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 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 16  The map is not the territory  When modeling, we apply three cognitive filters that simplify our effort [Chomsky, 1975]:  Deletion  Distortion  Generalization

17 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 18  Interviews:  Don’t imagine a solution  Ask context-free questions  Listen  Don’t mind read  Have patience

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

20 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


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

Similar presentations


Ads by Google