usecase usecase scenario

47
USECASE & USECASE SCENARIO HERNAWATI SUSANTI SAMOSIR, SST., M.KOM. DOSEN D3 TEKNOLOGI INFORMASI REKAYASA PERANGKAT LUNAK/ SOFTWARE ENGINEERING-1131105

Upload: others

Post on 23-Feb-2022

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: USECASE USECASE SCENARIO

U S E C A S E

&

U S E C A S E S C E N A R I O

H E R N A W A T I S U S A N T I S A M O S I R , S S T . , M . K O M .

D O S E N D 3 T E K N O L O G I I N F O R M A S I

REKAYASA PERANGKAT LUNAK/

SOFTWARE ENGINEERING-1131105

Page 2: USECASE USECASE SCENARIO

WHY USE USECASE?

Page 3: USECASE USECASE SCENARIO

OBJECT ORIENTED MODELING

- In software there are several ways approach a model.

- The two most common ways are from an algorithmic perspective and from an object

oriented perspective

~ In traditional view of software development takes algorithmic

perspective, the main building block of software is procedure or function.

As requirement change and the system grows, system built with an

algorithmic focus turn out to be very hard to maintain.

~ In OO perspective the main building block of all software system is the

object or class

Page 4: USECASE USECASE SCENARIO

UML (UNIFIED MODELING LANGUAGE)

Object oriented modeling appeared between mid 1970s and the late 1980s

~ UML was originally motivated by the desire to standardize the disparate notational systems

and approaches to software design developed by Grady Booch, Ivar Jacobson and James

Rumbaugh at Rational Software in 1994– 1995

~ UML is language for visualizing, specifying, constructing, documenting the artifacts of

software-intensive system.

Page 5: USECASE USECASE SCENARIO

USE CASES

What is a Use Case? A formal way of representing how a business system interacts with its environment

Illustrates the activities that are performed by the users of the system

A scenario-based technique in the UML

A sequence of actions a system performs that yields a

valuable result for a particular actor.

Page 6: USECASE USECASE SCENARIO

USE CASE ANALYSIS

What is an Actor?

A user or outside system that interacts with the

system being designed in order to obtain some value

from that interaction

Use Cases describe scenarios that describe the interaction

between users of the system (the actor) and the system itself.

Page 7: USECASE USECASE SCENARIO

USE CASES

Use case diagrams describe what a system does from the

standpoint of an external observer. The emphasis is on what a

system does rather than how.

Use case diagrams are closely connected to scenarios. A scenario

is an example of what happens when someone interacts with

the system.

Page 8: USECASE USECASE SCENARIO

USE CASES

Here is a scenario for a medical clinic.

A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment for that time slot. "

We want to write a use case for this scenario.

Remember: A use case is a summary of scenarios for a single task or goal.

Page 9: USECASE USECASE SCENARIO

USE CASES

Step 1 Identify the actors

As we read the scenario, define those people or systems that are going to

interact with the scenario.

A patient calls the clinic to make an appointment for a yearly

checkup. The receptionist finds the nearest empty time slot

in the appointment book and schedules the appointment for

that time slot. "

Page 10: USECASE USECASE SCENARIO

QUESTIONS FOR IDENTIFYING PEOPLE

ACTORS Who is interested in the scenario/system?

Where in the organization is the scenario/system be used?

Who will benefit from the use of the scenario/system?

Who will supply the scenario/system with this information, use this information, and remove this information?

Does one person play several different roles?

Do several people play the same role?

Page 11: USECASE USECASE SCENARIO

QUESTIONS FOR IDENTIFYING OTHER

ACTORS

What other entity is interested in the scenario/system?

What other entity will supply the scenario/system with this information, use this information, and remove this information?

Does the system use an external resource?

Does the system interact with a legacy system?

Page 12: USECASE USECASE SCENARIO

ACTORS

An Actor is outside or external the system.

It can be a:

Human

Peripheral device (hardware)

External system or subsystem

Time or time-based event

Represented by stick figure

Page 13: USECASE USECASE SCENARIO

USE CASES

A use case is a summary of scenarios for a single task or goal.

An actor is who or what initiates the events involved in the task of the

use case. Actors are simply roles that people or objects play.

So as we read our scenario, what or who is the actor????

Page 14: USECASE USECASE SCENARIO

USE CASES

So as we read our scenario, what or who is the actor?

A patient calls the clinic to make an appointment for a yearly checkup. The

receptionist finds the nearest empty time slot in the appointment book

and schedules the appointment for that time slot. "

The actor is a Patient.

Page 15: USECASE USECASE SCENARIO

USE CASES

The use case is a summary of scenarios for a single task or goal.

So What is the Use Case????

The Use Case is Make Appointment.

It is a use case for the medical clinic.

Page 16: USECASE USECASE SCENARIO

USE CASES

The picture below is a Make Appointment use case for the medical clinic.

The actor is a Patient. The connection between actor and use case is a

communication association (or communication for short).

Actors are stick figures. Use cases are ovals. Communications are lines that link

actors to use cases.

Actors are stick figures. Use cases are ovals. Communications are

lines that link actors to use cases.

Page 17: USECASE USECASE SCENARIO

USE CASE COMPONENTS

The use case has three components.

The use case task referred to as the use case that represents a feature needed in a software system.

The actor(s) who trigger the use case to activate.

The communication line to show how the actors communicate with the use case.

Page 18: USECASE USECASE SCENARIO

USE CASE DIAGRAM - USE CASE A major process performed by the system that benefits an actor(s) in some way

Models a dialogue between an actor and the system

Represents the functionality provided by the system

Page 19: USECASE USECASE SCENARIO

USE CASE

Each use case in a use case diagram describes one and only one function

in which users interact with the system

May contain several “paths” that a user can take while interacting with the

system

Each path is referred to as a scenario

Page 20: USECASE USECASE SCENARIO

USE CASE

Labelled using a descriptive verb-noun phrase

Represented by an oval

Make

Appointment

Page 21: USECASE USECASE SCENARIO

USE CASE - ACTOR

Labelled using a descriptive noun or phrase

Represented by a stick character

Page 22: USECASE USECASE SCENARIO

USE CASE - RELATIONSHIPS

Relationships

Represent communication between actor and use case

Depicted by line or double-headed arrow line

Also called association relationship

Appointment

Page 23: USECASE USECASE SCENARIO

USE CASE - RELATIONSHIPS

Boundary

A boundary rectangle is placed around the perimeter of the system to show how the actors

communicate with the system.

Make

Appointment

Page 24: USECASE USECASE SCENARIO

USE-CASE DIAGRAM

A use case diagram is a collection of actors, use cases, and their communications.

Page 25: USECASE USECASE SCENARIO

USE CASE DIAGRAM

Other Types of Relationships for Use Cases

Generalization

Include

Extend

Page 26: USECASE USECASE SCENARIO

COMPONENTS OF USE CASE DIAGRAM

Generalization Relationship

Represented by a line and a hollow arrow

From child to parent

Child use case Parent use case

Page 27: USECASE USECASE SCENARIO

EXAMPLE OF RELATIONSHIPS

Page 28: USECASE USECASE SCENARIO

USE CASE DIAGRAM

Include Relationship

Represents the inclusion of the functionality of one use case within another

Arrow is drawn from the base use case to the used use case

Write << include >> above arrowhead line

Page 29: USECASE USECASE SCENARIO

USE CASE DIAGRAM Extend relationship

Represents the extension of the use case to include optional

functionality

Arrow is drawn from the extension use case to the base use case

Write << extend >> above arrowhead line

Page 30: USECASE USECASE SCENARIO

EXAMPLE OF RELATIONSHIPS

Page 31: USECASE USECASE SCENARIO

USE CASE RELATIONSHIPS

Pro:

Reduces redundancy in use cases

Reduces complexity within a use case

Con

May introduce complexity to use case diagram

Page 32: USECASE USECASE SCENARIO

BENEFITS OF USE CASES

1. Use cases are the primary vehicle for requirements capture in RUP

2. Use cases are described using the language of the customer (language of the domain

which is defined in the glossary)

3. Use cases provide a contractual delivery process (RUP is Use Case Driven)

4. Use cases provide an easily-understood communication mechanism

5. When requirements are traced, they make it difficult for requirements to fall through the

cracks

6. Use cases provide a concise summary of what the system should do at an abstract (low

modification cost) level.

Page 33: USECASE USECASE SCENARIO

DIFFICULTIES WITH USE CASES

1. As functional decompositions, it is often difficult to make the transition from

functional description to object description to class design

2. Reuse at the class level can be hindered by each developer “taking a Use

Case and running with it”. Since UCs do not talk about classes, developers

often wind up in a vacuum during object analysis, and can often wind up

doing things their own way, making reuse difficult

3. Use Cases make stating non-functional requirements difficult (where do you

say that X must execute at Y/sec?)

4. Testing functionality is straightforward, but unit testing the particular

implementations and non-functional requirements is not obvious

Page 34: USECASE USECASE SCENARIO

USE CASE DIAGRAM

1. We will build use case diagram for a video rental system.

2. Look and identify potential actors and use case tasks.

3. Nouns and verbs may be helpful.

Page 35: USECASE USECASE SCENARIO

DIFFERENCE BETWEEN INCLUDES AND EXTENDS?

X includes Y:

X memiliki subtask Y

Agar X complete, subtask Y juga harus dilakukan

Contoh: “Memeriksa saldo” includes “verifikasi PIN”

X extends Y:

X dan Y memiliki task yang “serupa”, namun X memiliki task yang lebih

spesifik dari Y

Contoh: “Memesan minuman” extends “memesan makanan”

Page 36: USECASE USECASE SCENARIO

TYPES OF ACTORS

Primary Business Actor

Actor yang mendapatkan manfaat utama dari use case yang terkait

Contoh: pegawai menerima gaji

Primary System Actor

Actor yang secara langsung berinteraksi dengan sistem – memberikan

trigger ke sistem

Contoh: admin meng-input katalog buku

Page 37: USECASE USECASE SCENARIO

1. FIND ACTORS

To find the actors, ask the following questions:

Who or what provides inputs to the system?

Who or what receives outputs from the system?

Will the system interact with any external hardware or software system?

Who will maintain information in the system?

Are there events that are automatically triggered at a predetermined time?

Actors should be named with a noun or noun phrase

Page 38: USECASE USECASE SCENARIO

2. IDENTIFYING USE CASES

Check out the user requirements and functional requirements

What are the main tasks of the actor?

What information does the actor need from the system?

What information does the actor provide to the system?

Does the system need to inform the actor of any changes or events that have

occurred?

Does the actor need to inform the system of any changes or events that have

occurred?

Use cases should be named with a verb phrase specifying the goal of the

actor (i.e. Submit Subscription Order)

Page 39: USECASE USECASE SCENARIO

ANOTHER EXAMPLE USECASE

39 Take from: Roger S. Pressman Ed 5[6]

Figure 21.2 A describes Each of the

high-level use-cases may be

elaborated with lower-level use-case

diagrams.

Figure 21.B represents a use-case

diagram that elaborates the interacts

function. A complete set of use-case

diagrams is created for all actors.

Page 40: USECASE USECASE SCENARIO

3. CONSTRUCT THE USE CASE DIAGRAM

Use the UML notations for Use Case!

Page 41: USECASE USECASE SCENARIO

4. ELEMENTS OF USE CASE SCENARIOS

Use Case ID

Use Case Name

Brief Description

Primary Actor

Secondary Actor

Pre-condition

Post condition

Included Use Case

Basic Flow Events

Alternative Flow Events

Extention Points

Page 42: USECASE USECASE SCENARIO

FURTHER READINGS

http://www.sparxsystems.com/resources/map_uc.html

Page 43: USECASE USECASE SCENARIO

USE CASE: MENGAMBIL UANG DARI ATM

1. Use Case ID: UC_SR_001

2. Use Case Name: Mengambil Uang di ATM

3. Brief Description:

Use case ini menjelaskan bagaimana nasabah menggunakan

ATM untuk mengambil uang dari rekeningnya.

4. Primary Actor: Nasabah Bank

5. Secondary Actor: -

Page 44: USECASE USECASE SCENARIO

USE CASE: MENGAMBIL UANG DARI ATM 6. Precondition:

- Nasabah memiliki kartu ATM

- Nasabah sudah memasukkan kartu ATM ke mesin ATM

- Nasabah sudah memasukkan pilihan bahasa

Kartu ATM berhasil divalidasi

- Mesin ATM masih memiliki uang kas

7. Post condition:

- Nasabah berhasil mengambil uang dari ATM

8. Included Use Case: Validasi Kartu (PIN)

Page 45: USECASE USECASE SCENARIO

USE CASE: MENGAMBIL UANG DARI ATM

9. Basic Flow of Events:

User’s Actions System’s Response

1. Sistem menampilkan beberapa pilihan nominal uang yang dapat ditarik dan menu pilihan lainnya

2. Nasabah memasukkan pilihan nominal sesuai jumlah uang yg ingin diambil

3. . Sistem mengeluarkan uang. Sistem akan mengurangi jumlah saldo rekening berdasarkan pilihan nasabah

4. Nasabah mengambil uang

Page 46: USECASE USECASE SCENARIO

USE CASE: MENGAMBIL UANG DARI ATM

10. Alternative Flow of Events

2a. Jumlah uang yg ditarik melebihi jumlah saldo di rekeningnya. Sistem akan menampilkan “warning message” dan pilihan untuk kembali ke menu utama

2b. Jumlah uang yg ditarik melebihi jumlah total penarikan uang per hari. Sistem akan menampilkan “warning message” dan pilihan untuk kembali ke menu utama

2c. Jumlah uang kas yang tersedia di mesin ATM tidak mencukupi. Sistem akan menampilkan “warning message” dan pilihan untuk kembali ke menu utama

Page 47: USECASE USECASE SCENARIO

REFERENCES

1. Whitten, Jeffrey L., Bentley, Lonnie D., System Analysis and Design Methods, 7th Edition, McGraw-Hill Irwin, 2007 (Chapter 10)

2. Dennis, Alan, et. al., System Analysis and Design with UML 3rd Edition, John Wiley & Sons, 2010.

3. Mursanto, Petrus., Budiharjo, Eko., Slide Perkuliahan RPL Fakultas Ilmu Komputer UI, 2009

4. Object Oriented Systems Analysis and Design – Simon Bennet, p.104 figure 5.8

5. Development of the use case model through successive iterations

6. Pressman, Roger S., 2001. Software Engineering: A Practitioner’s Approach, 5th Edition, USA: Mc. Graw Hill International (Ed5)

7. AMS Slide TA 2018