Software Requirements Analysis and Design PDF
Document Details
![DextrousMendelevium](https://quizgecko.com/images/avatars/avatar-9.webp)
Uploaded by DextrousMendelevium
The University of Winnipeg
2022
David Tenjo
Tags
Summary
This document appears to be lecture notes or similar materials on software requirements analysis and design for a course at The University of Winnipeg. It includes discussions related to use cases, user stories, and different techniques within the context of systems analysis. The year, 2022, is provided, indicating it might be from a course in that year.
Full Transcript
ACS2913 Software Requirements Analysis and Design Instructor: David Tenjo USE CASES THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 Chapter 3 Outline User Stories and Use Cases Use Cases and the User Goal Technique Use Cases and Event Decomposition Use Cases in the...
ACS2913 Software Requirements Analysis and Design Instructor: David Tenjo USE CASES THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 Chapter 3 Outline User Stories and Use Cases Use Cases and the User Goal Technique Use Cases and Event Decomposition Use Cases in the Ridgeline Mountain Outfitters Case THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 2 Overview We’ve previously provided an overview of systems analysis activities, functional and non- functional requirements, modeling, and information gathering techniques ◦ This chapter focuses on identifying and modeling the key aspect of functional requirements– use cases THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 3 User Stories ❖Tools used to capture a description of a software feature from an end-user perspective o describes the type of user, what they want and why. o helps to create a simplified description of a requirement. ❖One-sentence description of a work-related task done by a user to achieve some goal or result ❖Acceptance Criteria identify the features that must be present at the completion of the task THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 4 ©2016. Cengage Learning. All rights reserved. User Stories ❖The template for a user story description is: o As a I want to so that The three elements are important - knowing who the story is for helps ensure we build a useable product, what the functionality is that is needed and the value which will be derived from having that functionality enable us to make good priority decisions. ❖The sentence for acceptance criteria is: o E.g. Given the customer has one credit account and one savings account When they have logged in successfully Then the two accounts will be listed in account number order (Account no, Name, Balance, Available Funds) THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 5 Sample User Story THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 6 User Stories Three aspects being documented on a user story: 1. Who is the functionality for? As a ◦ The more specific, the better the story 2. What should be crated? I want to ◦ The user should fully drive this goal 3. Why is it valuable to the user? so that If we don’t know the Who, the What and the Why, then there is not proper understanding of the story. If we don’t know the story, we should not start working on it. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 7 Use Cases Use case— an activity that the system performs, usually in response to a request by a user Use cases define functional requirements Analysts decompose the system into a set of use cases (functional decomposition) Two techniques for Identifying use User goal technique cases Event decomposition technique Name each use case using Verb-Noun THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 8 ©2016. Cengage Learning. All rights reserved. ❖Can begin from user stories ❖Can base it on Requirements ❖Then, follow one of two techniques: Identifying Use cases User Goal Technique Event Decomposition Technique THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2024 9 User Goal Technique This technique is the most common in industry Simple and effective Identify all the potential categories of users of the system Interview and ask them to describe the tasks the computer can help them with Probe further to refine the tasks into specific user goals, “I need to Ship items, Track a shipment, Create a return” THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 10 ©2016. Cengage Learning. All rights reserved. User Goal Technique Some RMO CSMS Users and Goals THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 11 ©2016. Cengage Learning. All rights reserved. User Goal Technique: Specific Steps 1. Identify all the potential users for the new 5. Create a list of preliminary use cases system organized by type of user 2. Classify the potential users in terms of 6. Look for duplicates with similar use case their functional role (e.g., shipping, names and resolve inconsistencies marketing, sales) 7. Identify where different types of users 3. Further classify potential users by need the same use cases organizational level (e.g., operational, management, executive) 8. Review the completed list with each type of user and then with interested 4. For each type of user, identify a list of stakeholders specific goals they will have when using the new system (current goals and innovative functions to add value) THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 12 ©2016. Cengage Learning. All rights reserved. Event Decomposition Technique More Comprehensive and Structured Technique ◦ Identify the events that occur to which the system must respond. ◦ For each event, name a use case (verb-noun) that describes what the system does when the event occurs Event– something that occurs at a specific time and place, can be described, and should be remembered by the system THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 13 ©2016. Cengage Learning. All rights reserved. Events and Use Cases THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 14 Types of Events an event that occurs outside the External Event system, usually initiated by an external agent or actor an event that occurs as a result of Temporal Event reaching a point in time occurs when something happens inside State Event the system that triggers some process THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 15 ©2016. Cengage Learning. All rights reserved. External Event Checklist Event Example ✓ External agent or actor wants something resulting Customer buys a product in a transaction ✓ External agent or actor wants some information Customer wants to know product details ✓ External data changed and needs to be updated Customer has new address and phone ✓ Management wants some information Sales manager wants update on production plans THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 16 ©2016. Cengage Learning. All rights reserved. Temporal Event Checklist Event Examples ✓ Internal outputs needed at points Management reports (summary or exception) in time Operational reports (detailed transactions) Internal statements and documents (including payroll) ✓ External outputs needed at points Statements, status reports, bills, reminders of time THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 17 ©2016. Cengage Learning. All rights reserved. Finding the actual event that affects the system THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 18 Tracing a sequence of transactions resulting in many events THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 19 ©2016. Cengage Learning. All rights reserved. Event Decomposition Technique: Specific Steps 1. Consider the external events in the 5. Consider the state events that the system system environment that require a might respond to, particularly if it is a real- response from the system by using the time system in which devices or internal state checklist For each external event, identify changes trigger use cases. and name the use case that the system 6. For each state event, identify and name the requires use case that the system requires and then define the state change. 2. Consider the temporal events that require a response from the system 7. When events and use cases are defined, check to see if they are required by using the 3. For each temporal event, identify and perfect technology assumption. Do not name the use case that the system include events that involve such system requires and then establish the point of controls as login, logout, change password, or time that will trigger the use case restore the database, as these are put in later. THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 20 ©2016. Cengage Learning. All rights reserved. Event Decomposition: Recruitment system Example Consider events triggered inside the system. A Job Applicant (external) could trigger the Time to update vacancies following events: ◦ Time to count the number of applications ◦ Create profile received ◦ Search for vacancies ◦ Time to filter applications received ◦ Submit application ◦ Time to forward received applications to their respective departments For the applicant to carry out the above tasks, the system must have the following ◦ Time to produce summary reports. functionalities (use cases): The system must be able to respond with the ◦ Record applicant profile information following functionalities (use cases): ◦ Record vacancies ◦ Update Vacancies ◦ Accept submitted application ◦ Count Applications ◦ Filter Applications ◦ Forward Applications ◦ Produce Summary Report THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 21 Event Decomposition Technique: Benefits Help decompose at the right level of Events are broader than user goal: analysis: an elementary business Capture temporal and state events process (EBP) Uses perfect technology assumption EBP is a fundamental business to make sure functions that support process performed by one person, the users work are identified and in one place, in response to a not additional functions for security business event and system controls THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 22 ©2016. Cengage Learning. All rights reserved. Perfect Don’t worry about functions built into system Technology because of limits in technology and people. Wait until design. Assumption THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 23 Summary Use cases are the functions identified, the activities the system carries out usually in response to a user request Two techniques for identifying use cases are the user goal technique and the event decomposition technique The user goal technique begins by identifying end users called actors and asking what specific goals they have when interacting with the system The event decomposition technique begins by identifying events that occur that require the system to respond. Three types of events include external, temporal, and state events THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 24 ©2016. Cengage Learning. All rights reserved.