Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

Design by Contract.
Ver 1,12/09/2012Kode :CIA-230 Anal-Perc.SistemFASILKOM PERTEMUAN-4 Chapter 4. Use Case Analysis.
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© Copyright 2011 John Wiley & Sons, Inc.
9/10/2004Use Case Workshop 1 CSC480 Software Engineering Workshop 1 Requirements Modeling.
Information System Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Lecture 8 – USE CASE ANALYSIS
Use-case Modeling.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
Unit 211 Requirements Phase The objective of this section is to introduce software system requirements and to explain different ways of expressing these.
WEEK 4 Material Lecture 4a (Wed.). Use Cases/Actors o What is a use case ? l A sequence of actions performed by a system that yields an observable result.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Documenting Requirements using Use Case Diagrams
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Introduction to Software Engineering Dr. Basem Alkazemi
Use Cases.
Functional Requirements – Use Cases Steve Chenoweth & Chandan Rupakheti (Chapters 14, 21 – Requirements Text)  Quiz question 9 relates to this, when you’ve.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
State Machines State diagrams SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Chapter 4 Interpreting the CMM. Group (3) Fahmi Alkhalifi Pam Page Pardha Mugunda.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
Configuration Management (CM)
Introduction to Software Design Chapter 1. Chapter Objectives  To become familiar with the software challenge and the software life cycle  To understand.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Software Requirements (Advanced Topics) “Walking on water and developing software from a specification are easy if both are frozen.” --Edward V Berard.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Chapter 11 Analysis Concepts and Principles
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Use Case Modeling Reference: RUP Doc. Use Case Example 2.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Information Systems Analysis and Management Modeling Sys. Requirements with Use Cases Arnie Lund, Jeffrey Kim May 5, 2009 INFO380.
Analysis Modeling CpSc 372: Introduction to Software Engineering
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
By Germaine Cheung Hong Kong Computer Institute
Use Case Textual Analysis
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
UML - Development Process 1 Software Development Process Using UML.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
 Week03 Jerry Kotuba SYST30009-Engineering Quality Software 1.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
UML Review Sequence Diagrams SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Use Cases Discuss the what and how of use cases: Basics Benefits
Recall The Team Skills Analyzing the Problem (with 5 steps)
Storyboarding and Game Design SBG, MBG620 Full Sail University
Use Case Document Example
Use Case Modeling Part of the unified modeling language (U M L)
Presentation transcript:

Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.

2 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation Unit Test Integration System Test Deploy Maintain

What is Requirements Analysis? And why do we do it? SE-2030 Dr. Rob Hasker 3 “Beware of the guy in the room” - Steve McConnell

A Requirement is a specific thing your system must satisfy in order to work correctly A Requirement is usually a single thing that can be tested to make sure you’ve actually satisfied it When all Requirements are met, your application is complete! SE-2030 Dr. Rob Hasker 4

We perform Requirements Analysis to… Help the customer/client establish specific requirements Help the customer/client determine what the cost will be Provide our managers with information they need to plan the project Primarily effort/time Help colleagues (team members or programmers) understand the problem Produce a program that best satisfies the given problem SE-2030 Dr. Rob Hasker 5

What is meant by Requirements? Statements that qualify what the program does… Or should do Sometimes requirements specify what a program must not or cannot do Or should not do SE-2030 Dr. Rob Hasker 6

User Stories are a common way of expressing a Requirement User Story format: “As a, I would like to [in order to ]” As a Student, I would like to view open courses in order to create a schedule As a Faculty, I would like to view the students registered for the course sections I am teaching As the Registrar, I would like to create courses and course sections SE-2030 Dr. Rob Hasker 7

Use Cases are an effective technique for narrating the ways a system works in fulfilling a requirement (User Story) Use Cases narrate what actually happens when someone uses the system - to help us understand how it should work in detail SE-2030 Dr. Rob Hasker 8 Use Cases were introduced by Ivar Jacobson in the 1980’s

Each Use Case explains one or more Scenarios that describe how the system should interact with an Actor to achieve a specific Goal A Scenario is a narrative that describes what happens within a specific Use Case An Actor is an external agent that interacts with the system A Goal is the specific thing accomplished as a result of executing a Use Case. SE-2030 Dr. Rob Hasker 9

An Actor is a external agent that interacts with the system The Actors for some systems are just the conventional “users” The Blackboard system incorporates the concept of different types of Actor/users What are they? An Actor does not have to be a person Some systems interact with other (external) systems Examples? SE-2030 Dr. Rob Hasker 10

A Goal is a specific thing accomplished as a result of executing a Use Case Achieving the goal is the reason for using the system it has some value A system may be capable of achieving multiple goals How many goals does the Word Counter achieve? More significant example: Blackboard What goals does Blackboard achieve? SE-2030 Dr. Rob Hasker 11

The Blackboard system incorporates the concept of “Student”, “Faculty”, and “Administrator” Actors, and each can achieve different Goals As a Student, you can View the courses you are enrolled in Submit your assignments Retrieve your grades As a Faculty, I can View the courses I am teaching View the students in each course Create assignments Grade assignments An Administrator can Create courses Assign me to a course as the Faculty Assign you to a course as a Student SE-2030 Dr. Rob Hasker 12 Each of these is a Goal, and each distinct Goal is the end result of a separate Use Case

Each Goal is described by a separate Use Case Taken together, the complete set of Use Cases account for all of the desired functionality (requirements) of a system SE-2030 Dr. Rob Hasker 13 Use Cases drive the subsequent development effort

14 Use Case Templates are used to provide a degree of standardization to related Use Cases Use Case Title or User Story Brief Description including Goal Identification of Actor(s) Pre-conditions Scenarios Basic/Normal Flow Alternate Flows Post-conditions Additional Notes See the course website for a link to the Use Case template you’ll use in SE2030

Exercise: ATM Requirement #x: As a Customer, I would like to retrieve cash from my Checking Account. Write down the steps in the Main Path required to achieve the Goal Each step should be described as an action/response i.e. an action initiated by an Actor and the subsequent response by the system Each step should be numbered SE-2030 Dr. Rob Hasker 15

A Use Case can contain more than a single Scenario Every Use Case contains a basic Scenario that describes what happens most of the time (the normal case) This is called the Main Path, Normal Flow, Basic Flow, or “Sunny Day” Scenario Reconsider the preceding case. What are some other Scenarios? SE-2030 Dr. Rob Hasker 16

Most people will expect your programs to work even when problems occur A good solution goes beyond the obvious things a customer tells you and makes sure your system works even in unusual or unexpected circumstances SE-2030 Dr. Rob Hasker 17 Plan for things to go wrong!

Alternate Paths through a Use Case define other Scenarios that describe atypical or exceptional situations Alternate Paths can have Different steps from those of the Main Path Additional steps added to the Main Path A combination of both SE-2030 Dr. Rob Hasker 18

Use Cases have clear boundaries Every Use Case must have a definite Starting and Stopping point Every Use Case is started off by an external initiator (an Actor) Every Use Case must have a condition that indicates that the case is complete SE-2030 Dr. Rob Hasker 19 All Scenarios in a Use Case target a common Goal, although in some Alternate Scenarios the Use Case may terminate abnormally (without achieving the intended Goal)

Often, another Use Case must first be satisfied before another Use Case can proceed This is called a Precondition What Precondition(s) must exist before a Customer can withdraw cash from an ATM? SE-2030 Dr. Rob Hasker 20

Achieving a Goal may result in the creation of artifacts These are called Postconditions The system may have changed state Data may have changed Files may have been created or destroyed Other output may have been generated SE-2030 Dr. Rob Hasker 21

Writing Use Cases can be an iterative process In reviewing Use Cases, you nearly always uncover requirements that the Customer expects …but didn’t think about on their own …sometimes you need to think beyond what the Customer asks for in order to determine the complete Requirements SE-2030 Dr. Rob Hasker 22

Review Requirements User stories: high level descriptions of interactions Use Cases: more detailed interactions Use case = multiple scenarios Each scenario: actors, goal Normal, alternate flows Key: use cases always end with a system response Use cases as a tool for eliciting requirements SE-2030 Dr. Rob Hasker 23