KEMBAR78
Software Engineering Scenarios | PDF | Test (Assessment) | Online And Offline
0% found this document useful (0 votes)
202 views27 pages

Software Engineering Scenarios

This document provides information about scenarios and use cases in software engineering. It discusses scenarios as a tool used in requirements analysis to describe specific uses of a proposed system from an outside perspective like a user. The document then gives guidelines for describing a scenario, including its purpose, users, assumptions, and steps. It provides an example of developing a scenario with a client for an online exam system, including questions asked of the client to flesh out details of a scenario describing a typical student's use of the system.

Uploaded by

ለዛ ፍቅር
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
202 views27 pages

Software Engineering Scenarios

This document provides information about scenarios and use cases in software engineering. It discusses scenarios as a tool used in requirements analysis to describe specific uses of a proposed system from an outside perspective like a user. The document then gives guidelines for describing a scenario, including its purpose, users, assumptions, and steps. It provides an example of developing a scenario with a client for an online exam system, including questions asked of the client to flesh out details of a scenario describing a typical student's use of the system.

Uploaded by

ለዛ ፍቅር
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Cornell

University
Compu1ng and Informa1on Science




CS 5150 So(ware Engineering
Scenarios and Use Cases


William Y. Arms
Scenarios

Scenario
A scenario is a scene that illustrates some interac>on with a proposed
system.
A scenario is a tool used during requirements analysis to describe a
specic use of a proposed system. Scenarios capture the system, as
viewed from the outside, e.g., by a user, using specic examples.
Note on terminology
Some authors restrict the word "scenario" to refer to a user's total
interac>on with the system.
Other authors use the word "scenario" to refer to parts of the
interac>on.
In this course, the term is used with both meanings.
Describing a Scenario

Some organiza>ons have complex documenta>on standards


for describing a scenario.
At the very least, the descrip>on should include:
A statement of the purpose of the scenario
The individual user or transac>on that is being followed
through the scenario
Assump>ons about equipment or so(ware
The steps of the scenario

3
Developing a Scenario with a Client

Example of how to develop a scenario with a client


The requirements are being developed for a system that will enable
university students to take exams online from their own rooms using a
web browser.
Create a scenario for how a typical student interacts with the system.
In the next few slides, the ques7ons in blue are typical of the
ques7ons to ask the client while developing the scenario.
Developing a Scenario with a Client:
a Typical Student
Purpose: Scenario that describes the use of an online Exam system by a
representa>ve student
Individual: [Who is a typical student?] Student A, senior at Cornell, major in
computer science. [Where can the student be located? Do other
universi7es dier?]
Equipment: Any computer with a supported browser. [Is there a list of
supported browsers? Are there any network restric7ons?]
Scenario:
1. Student A authen>cates. [How does a Cornell student authen7cate?]
2. Student A starts browser and types URL of Exam system. [How does the
student know the URL?]
3. Exam system displays list of op>ons. [Is the list tailored to the individual
user?]
Developing a Scenario with a Client (con>nued)

4. Student A selects CS 1234 Exam 1.


5. A list of ques>ons is displayed, each marked to indicate whether
completed or not. [Can the ques7ons be answered in any order?]
6. Student A selects a ques>on and chooses whether to submit a new
answer or edit a previous answer. [Is it always possible to edit a
previous answer? Are there other op7ons?]
7. [What types of ques7on are there: text, mul7ple choice, etc.?] The
rst ques>on requires a wri]en answer. Student A is submi^ng a
new answer. The student has a choice whether to type the solu>on
into the browser or to a]ach a separate le. Student A decides to
a]ach a le. [What types of le are accepted?]
Developing a Scenario with a Client (con>nued)

8. For the second ques>on, the student chooses to edit a previous answer.
Student A chooses to delete a solu>on previously typed into the browser,
and to replace it with an a]ached le. [Can the student edit a previous
answer, or must it always be replaced with a new answer?]
9. As an alterna>ve to comple>ng the en>re exam in a single session, Student
A decides to saves the completed ques>ons work to con>nue later. [Is this
always permiMed?]
10. Student A logs o.
11. Later Student A log in, nishes the exam, submits the answers, and logs
out. [Is this process any dierent from the ini7al work on this exam?]
12. The Student A has now completed the exam. The student selects an op>on
that submits the exam to the grading system. [What if the student has not
aMempted every ques7on? Is the grader no7ed?]
Developing a Scenario with a Client (con>nued)

13. Student A now wishes to change a solu>on. The system does not
permit changes once the solu>on has been submi]ed. [Can the
student s7ll see the solu7ons?]
14. Later Student A logins in to check the grades. [When are grades
made available? How does the student know?]
15. Student A requests a regrade. [What are the policies? What are the
procedures?]
Developing a Scenario with a Client (con>nued)

Developing a scenario with a client claries many func>onal


requirements that must be agreed before a system can be built, e.g.,
policies, procedures, etc.
The scenario will o(en clarify the requirements for the user interface,
but the design of the user interface should not be part of the scenario.
Although this scenario is quite simple, many details have been le( out.

9
Scenarios for Analyzing Special Requirements

Scenarios are very useful for analyzing special requirements.


Examples
Reversals. In a nancial system, a transac>on is credited to the wrong
account. What sequence of steps are used to reverse the transac>on?
Errors. A mail order company has several copies of its inventory database.
What happens if they become inconsistent?
Malfeasance. In a vo>ng system, a voter has houses in two ci>es. What
happens if he a]empts to vote in both of them?
Scenarios for error recovery
Murphy's Law: "If anything can go wrong, it will". Create a scenario for
everything that can go wrong and how the system is expected to handle it.
Modeling Scenarios as Use Cases

Models
Scenarios are useful in discussing a proposed system with a client,
but requirements need to be made more precise before a system is
fully understood.
This is the purpose of requirements modeling.
A use case provides such a model.

There is a good discussion of use cases in Wikipedia. The approach


used in this course is less complex than the Wikipedia ar7cle.
Two Simple Use Cases

Borrow Book
BookBorrower

Record Pressure

PressureSensor

12
Actor and Use Case Diagram

An actor is a user of a system in a


par>cular role.
BookBorrower An actor can be human or an external
system.


PressureSensor

A use case is a a task that an actor


Borrow Book needs to perform with the help of the
system.

Record Pressure
Use Cases and Actors

Actor is role, not an individual


(e.g., librarian can have many roles)
Actor must be a beneciary of the use case
(e.g., not librarian who processes book when borrowed)
In naming actors, choose names that describe the role, not generic names,
such as "user" or "client".
Use Cases for Exam System

Take Exam

ExamTaker
Check Grades

Request
Three separate Regrade
use cases
Describing a Use Case

Some organiza>ons have complex documenta>on standards


for describing a use case.
At the very least, the descrip>on should include:
The name of the use case, which should summarize its
purpose
The actor or actors
The ow of events
Assump>ons about entry condi>ons

Outline of Take Exam Use Case

Name of Use Case: Take Exam


Actor(s): ExamTaker
Flow of events:
1. ExamTaker connects to the Exam server.
2. Exam server checks whether ExamTaker is already authen>cated and
runs authen>ca>on process if necessary.
3. ExamTaker selects a exam from a list of op>ons.
4. ExamTaker repeatedly selects a ques>on and either types in a
solu>on, a]aches a le with a solu>on, edits a solu>on or a]aches a
replacement le.
Outline Specica>on of Use Case (con>nued)

Flow of events (con>nued):


5. ExamTaker either submits completed exam or saves current state.
6. When a completed exam is submi]ed, Exam server checks that all ques>ons
have been a]empted and either sends acknowledgement to ExamTaker, or
saves current state and no>es ExamTaker of incomplete submission.
7. ExamTaker logs out.
Entry condi>ons:
1. ExamTaker must have authen>ca>on creden>als.
2. Compu>ng requirements: supported browser.
Use Cases for Exam System (con>nued)

Set Exam

Instructor
Grade
Note that actor is a role. An
individual can be an ExamTaker
on one occasion and an
Instructor at a dierent >me. Regrade
Rela>onships Between Use Cases: <<includes>>

Take Exam <<includes>>

Authen>cate

ExamTaker Check Grades <<includes>>

The Authen>cate use case may be


used in other contexts
Rela>onships Between Use Cases: <<extends>>

<<extends>> Connec>on
Fails
ExamTaker Take Exam

<<includes>> is used for use cases that are in the ow of events of the
main use case.
<<extends>> is used for excep>onal condi>ons, especially those that
can occur at any >me.
Scenarios and Use Cases in the Development Cycle

Scenarios and use cases are both intui>ve -- easy to discuss with
clients
Scenarios are a tool for requirements analysis.
They are useful to validate use cases and in checking the
design of a system.
They can be used as test cases for acceptance tes>ng.
Use cases are a tool for modeling requirements.
A set of use cases can provide a framework for the
requirements specica>on.
Use cases are the basis for system and program design, but are
o(en hard to translate into class models

Use Cases with Several Actors

<<includes>>
Order Food Order Wine
Waiter

Serve Food

Chef
Diner Cook Food
Eat Food

Pay for Food


Cashier

This restaurant example is based on a use case diagram from Wikipedia.


Use Case Diagrams

Use case diagrams


A use case diagram shows the rela1onships between actors and
and their interac>ons with a system.
It does not show the logic of those interac>ons.

24
An Old Examina>on Ques>on

The Pizza Ordering System


The Pizza Ordering System allows the user of a web browser to order
pizza for home delivery. To place an order, a shopper searches to nd
items to purchase, adds items one at a 7me to a shopping cart, and
possibly searches again for more items.
When all items have been chosen, the shopper provides a delivery
address. If not paying with cash, the shopper also provides credit card
informa7on.
The system has an op7on for shoppers to register with the pizza shop.
They can then save their name and address informa7on, so that they do
not have to enter this informa7on every 7me that they place an order.
Develop a use case diagram, for a use case for placing an order, PlaceOrder.
The use case should show a rela>onship to two previously specied use
cases, Iden7fyCustomer, which allows a user to register and log in, and
PaybyCredit, which models credit card payments.
An Old Examina>on Ques>on

Correct solu1on
<<includes>>
PaybyCredit
PlaceOrder

<<includes>>
Shopper

Is link is
op>onal Iden>fyCustomer
An Old Examina>on Ques>on

Wrong Solu1on
SearchMenu

AddtoCart

Pay <<includes>>

Shopper
PaybyCredit

<<includes>>
Iden>fyCustomer

You might also like