2. Use Case Model
• Teknik pemodelan untuk mendapatkan
functional requirement dari sebuah sistem
• Menggambarkan interaksi antara pengguna dan sistem
• Menjelaskan secara naratif bagaimana sistem akan
digunakan
• Menggunakan skenario untuk menjelaskan
setiap aktivitas yang mungkin terjadi
• Kadangkala notasi kurang detail, terutama untuk
beberapa aktivitas tertentu
3. Kapan Menggunakan Use Case?
• Use case sederhana digunakan pada saat
proses requirement analysis
- Tidak semua pengguna paham bahasa teknis
• Versi yang lebih detail dibuat sebelum
implementasi rancangan
- Dibuat khusus untuk mempermudah desain sistem
oleh para developer
4. Skenario
• Buy a product scenario
* The customer browses the catalog and adds
desired items to the shopping basket.
* When the customer wishes to pay, the customer
describes the shipping and credit card information
and confirms the sale
* The system checks the authorization on the credit
card and confirms the sale both immediately and
with a follow-up e-mail
• Bagaimana jika proses pembayaran
menggunakan CC gagal atau konsumen lama
yang tidak perlu merekam informasi CC?
Buat skenario baru
5. • Catatan: Proses pada skenario tidak selalu
harus berhasil
Kesimpulan:
* USE CASE adalah sekumpulan skenario yang
dihubungkan satu sama lain dengan satu
tujuan yang sama dari pengguna
* Use Case berisi apa yang dilakukan oleh sistem /
apa yang terjadi pada sistem, bukan
bagaimana sistem melakukan
6. Level Use Case Model
Use Case memiliki dua istilah
* System use case : interaksi dengan sistem
* Business use case : interaksi bisnis dengan
konsumen atau kejadian nyata
Cookburn menyarankan adanya pembedaan
level
* Sea level : interaksi sistem dengan aktor utama
* Fish level: use case yang ada karena include dari
use case sea-level
* Kite level : menggambarkan sea-level use case
untuk interaksi bisnis yang lebih luas
7. Use Case Mdl. Key Elements
What actions or procedures exist within a
system Use Case
Who’s involved in those actions Actor
How those actions related to each other in
a system Relationship
8. Element: Use Case
Aksi yang terdapat di dalam sistem,
melingkupi semua aksi yang harus
maupun dapat terjadi
Tidak harus berelasi dengan seorang/
sebuah aktor
Pada umumnya berupa kata kerja
9. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
• Actor menggambarkan segala sesuatu yang
berinteraksi dengan sistem untuk melakukan pertukaran
informasi. Actor adalah pengguna, pemeran (role), yang
bisa berupa sistem eksternal maupun orang.
• Actor menginisiasi aktivitas sistem, dalam bentuk use
case, bertujuan untuk melengkapi beberapa kegiatan
bisnis.
• Actor menggambarkan peranan yang dilakukan oleh
user yang berinteraksi dengan sistem dan bukan
menggambarkan individual jabatan pekerjaan.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
10. Element: Actor
Dalam notasi Use Case, pengguna sistem
disebut dengan Actor (role)
Actor bisa berupa manager, pimpinan,
mahasiswa, dan lain sebagainya
* Actor tidak harus berupa manusia
* Jika sistem A mengerjakan sebuah fungsi
untuk sistem sistem B, maka sistem B
disebut actor
Satu use case diagram bisa memiliki banyak
actor didalamnya
11. Use Case Models
USE CASE USE CASE
TEXT DIAGRAM
* lebih detail * lebih abstrak
kurang detail
* tidak ada visualisasi * bentuk visual
(berbentuk teks) (gambar)
* Cocok bagi * Cocok untuk
developer berkomunikasi
dengan client
12. Use Case Text
Pilih salah satu skenario sebagai skenario
utama yang sukses
Tuliskan langkah-langkah untuk menyelesaikan
skenario tersebut
* Setiap langkah menampilkan tujuan dari sang actor
* Tidak perlu menuliskan bagian user interface
Tulis skenario lain dan sebut sebagai extensions
,variasi dari skenario utama
* Extension bisa sukses atau gagal, tetapi interaksinya harus
berbeda dengan skenario utama
* Extension bisa kembali ke skenario utama
13. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Keuntungan Use Case
1. Sebagai dasar untuk membantu mengidentifikasi
objek-objek dan hubungan tingkat tinggi dan
tanggung jawab masing-masing.
2. Sebagai gambaran dari behavior sistem yang akan
dibuat dari sisi pengguna eksternal.
3. Sebagai alat yang efektif untuk memvalidasi
kebutuhan.
4. Sebagai alat komunikasi yang efektif
5. Sebagai dasar untuk melakukan perencanaan
testing.
6. Sebagai dasar untuk melakukan pembuatan user
manual.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
14. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Langkah-langkah dalam membuat use case modeling
1. Mengidentifikasi actor-actor tambahan dan use
case-use case
2. Buatlah model Use Case
3. Dokumentasikan kejadian-kejadian dalam Use
Case
4. Definisikan Analysis Use Cases
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
15. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 1: Identifying Actors and Use Cases
Actor Use Case Name Use Case Description
Potential SUBMIT NEW Potential member joins the club by subscribing. (“Take anu 12 CDs for one penny
Member SUBSCRIPTION and agree to buy 4 more at regular club prices within two years.”)
Club PLACE NEW MEMBER Club member places order.
Member ORDER
Club MAKE ACCOUNT INQUIRY Club member wants to examine his or her account history.
Member (90-day time limit)
Club MAKE PURCHASE INQUIRY Club member inquires about his/her purchase history.
Member (three-year time limit)
Club MAINTAIN MEMBER ORDER Club member wants to revise an order or cancel an order.
Member
Club SUBMIT CHANGE OF Club member changes address.
Member ADDRESS (including e-mail and privacy code)
Past SUBMIT Past member rejoins the club by resubscribing.
Member RESUBSCRIPTION
Marketing SUBMIT NEW MEMBER Marketing establishes a new membership resubscription plan to entice new
SUBSCRIPTION PROGRAM members.
Marketing SUBMIT PAST MEMBER Marketing establishes a new membership resubscription plan to lure back former
RESUBSCRIPTION members.
PROGRAM
Marketing SUBMIT NEW PROMOTION Marketing initiates a promotion.
(Note: A promotion features specific titles, usually new, that company is trying to
sell at a special price. These promotions are integrated into a catalog sent (or
communicated) to all members.)
Time GENERATE QUARTERLY Print quarterly promotion analysis report.
PROMOTION ANALYSIS
Time GENERATE QUARTERLY Print annual sales analysis report.
SALES ANALYSIS
Time GENERATE QUARTERLY Print annual membership analysis report.
MEMBERSHIP ANALYSIS
Time GENERATE ANNUAL SALES Print annual sales analysis report.
ANALYSIS
Time GENERATE ANNUAL Print annual membership analysis report.
MEMBERSHIP ANALYSIS
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
16. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 2: Constructing a Use Case Model Diagram
Order Subsystem Subscription Subsystem
Maintain Member Submit Change of Submit New Potential Member
Order Address Subscription
initiates
initiates
Club Member
initiates
Place New initiates Submit
Member Order Resubscription
initiates initiates
Make Purchase Submit Past Submit New Past Member
Inquiry Member Member
Resubscription Subscription
Program Program
initiates
Operations Subsystem Promotion Subsystem initiates
initiates
Make Account Generate Quarterly
Inquiry Membership
Analysis initiates Time Marketing
Generate Annual Generate Quarterly Submit New
initiates initiates
Sales Analysis initiates Promotion Analysis Promotion
initiates initiates
Generate Quarterly Generate Annual
Sales Analysis Membership
Analysis
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
17. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 3: Documenting the Use Case Typical Course
Author: S. Shepard Date: 10/05/2000
Use Case Name: Submit New Member Order
Actor(s): Member
Description: This use case describes the process of a member submitting an order for
SoundStage products. On completion, the member will be sent a notification that
the order was accepted.
References: MSS-1.0 1 System response
Typical Course Step 2: The member’s personal information such as
of Events: Actor Action address is validated against what is currently
Step 1: This use case is recorded in member services.
2 initiated when a member
submits an order to be Step 3: The member’s credit status is checked with
processed Accounts Receivable to make sure no
payments are outstanding.
Step 4: For each product being ordered, validate the
product number and then check the availability
in inventory and record the ordered product
information.
Step 5: Create a picking ticket for the member order
containing all ordered products that are
available and route it to the warehouse for
processing.
Step 6: Generate an order confirmation notice
indicating the status of the order and send it to
the member.
Step 7: This use case
concludes when the
member receives the
order confirmation notice.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
18. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 3: Documenting the Use Case Typical Course (concluded)
Alternate Step 2: If the club member has indicated an address or telephone number change on the
Courses: promotion order, update the club member’s record with the new information.
Step 3: If Accounts Receivable returns a credit status that the customer is in arrears, send an
order rejection notice to the member.
Step 4: If the product number is not valid, send a notification to the member requesting them to
submit a valid product number. If the product being ordered is not available, record the
ordered product information and mark as “back-ordered.”
Pre-condition: Orders can only be submitted by members.
Post-condition: Member order has been recorded and the picking ticket has been routed to the warehouse.
Assumptions: None at this time.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
19. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Extension and Abstract Use Cases
• An extension use case extends the functionality
(typical course) of an original use case. An extension
use case can only be invoked by the use case it is
extending.
• An abstract use case contains typical course steps that
were common to two or more original use cases. An
abstract use case reduces redundancy and promotes
reuse.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
20. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Depicting Extension and Abstract Use Cases using UML Notation
Generate Warehouse Calculate Order Subtotal &
Packing Order Sales Tax
Extension use
case Extension use
case
Place New
Member Order
Revise Street
Address
Abstract use
case
Submit Change of Address
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
21. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 4: Defining the Analysis Use Case
ANALYSIS USE CASE
Author: S. Shepherd Date: 10/25/2000
USE CASE NAME: Place New Member Order
ACTOR(S): Club Member
DESCRIPTION: This use case describes the process of a club member submitting a new order for
SoundStage products. On completion, the club member will be sent a notification that the
order was accepted.
REFERENCES MSS-1.0
Actor Action System Response
TYPICAL COURSE
OF EVENTS: Step 1: This use case is initiated Step 2: The member’s personal information such as
when a member submits an address and phone number is validated against what is
order to be processed. currently on file.
Step 3: For each product being ordered, validate the
product number.
Step 4: For each product being ordered, check the
availability in inventory and record the ordered product
information such as the quantity being ordered.
Step 5: Invoke extension use case Calculate Order
Subtotal & Sales Tax.
Step 6: The member’s credit card information is verified
based on the amount due and Accounts Receivable
transaction data is checked to make sure no payments are
outstanding.
Step 7: Invoke extension use case Generate Warehouse
Step 9: This use case concludes Packing Order.
when the member receives the Step 8: Generate an order confirmation notice indicating
order confirmation notice. the status of the order and send it to the member.
(continued)
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
22. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Step 4: Defining the Analysis Use Case (concluded)
ALTERNATE Step 2: If the club member has indicated an address or telephone number change on the
COURSES: order, invoke abstract use case Revise Street Address.
Step 3: If the product number is not valid, send a notification to the member requesting the
member to submit a valid product number.
Step 4: If the product being ordered is not available, record the ordered product information
and mark the order as “backordered.”
Step 6: If member’s credit card information is invalid or if member is found to be in arrears,
a credit problem notice is sent to the member. Modify the order’s status to be “on hold
pending payment.”
PRECONDITION: Orders can only be submitted by members.
POSTCONDITION: Member order has been recorded and the Packing Order has been routed to the Warehouse.
ASSUMPTIONS: None at this time.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
23. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Finding and Identifying Business Objects
• Step 1: Find the Potential Objects
– Underlining (or highlighting) the use case nouns
• Step 2: Select the Proposed Objects
– Removing the nouns that represent:
• Synonyms
• Nouns outside the scope of the system
• Nouns that are roles without unique behavior or are external roles
• Unclear nouns that need focus
• Nouns that are really actions or attributes
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
24. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Use Case with Nouns Highlighted
Author: S. Shepherd ANALYSIS USE CASE Date: 10/25/2000
USE CASE NAME: Place New Member Order
ACTOR(S): Club Member
DESCRIPTION: This use case describes the process of a club member submitting a new order for
SoundStage products. On completion, the club member will be sent a notification that the
order was accepted.
REFERENCES MSS-1.0
TYPICAL COURSE Actor Action System Response
OF EVENTS:
Step 1: This use case is initiated Step 2: The member’s personal information such as
when a member submits an address and phone number is validated against what is
order to be processed. currently on file.
Step 3: For each product being ordered, validate the
product number.
Step 4: For each product being ordered, check the
availability in inventory and record the ordered product
information such as the quantity being ordered.
Step 5: Invoke extension use case Calculate Order
Subtotal & Sales Tax.
Step 6: The member’s credit card information is verified
based on the amount due and Accounts Receivable
transaction data is checked to make sure no payments are
outstanding.
Step 7: Invoke extension use case Generate Warehouse
Step 9: This use case concludes Packing Order.
when the member receives the Step 8: Generate an order confirmation notice indicating
order confirmation notice. the status of the order and send it to the member.
(continued)
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
25. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Use Case with Nouns Highlighted (concluded)
ALTERNATE Step 2: If the club member has indicated an address or telephone number change on the
COURSES: order, invoke abstract use case Revise Street Address.
Step 3: If the product number is not valid, send a notification to the member requesting the
member to submit a valid product number.
Step 4: If the product being ordered is not available, record the ordered product information
and mark the order as “backordered.”
Step 6: If member’s credit card information is invalid or if member is found to be in arrears,
a credit problem notice is sent to the member. Modify the order’s status to be “on hold
pending payment.”
PRECONDITION: Orders can only be submitted by members.
POSTCONDITION: Member order has been recorded and the Packing Order has been routed to the Warehouse.
ASSUMPTIONS: None at this time.
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
26. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Potential Objects Extracted from Use Case
POTENTIAL OBJECT LIST
Accounts Receivable Department
Amount Due
Club Member
Credit Card Information
Credit Problem Notice
Credit Status
File
Marketing Department
Member Address
Member Order
Member Phone Number
Member Services Department
Member Services System
Order
Order Confirmation Notice
Order Sales Tax
Order Status
Order Subtotal
Ordered Product
Ordered Product Information
Ordered Product Quantity
Past Member
Payments
Potential Member
Product
Product Inventory
Product Number
Street Address
Transaction
Warehouse
Irwin/McGraw-Hill Warehouse Packing Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
Order
27. SYSTEMS ANALYSYS AND DESIGN METHODS 5TH Edition Whitten Bentley Dittman
Analysis of the Potential Objects
POTENTIAL OBJECT LIST REASON
Accounts Receivable Department x Not relevant for current project
Amount Due x Attribute of “MEMBER ORDER”
Club Member / Type of “MEMBER”
Credit Card Information x Attribute of “MEMBER”
Credit Problem Notice x Potential Interface item to be addressed in object-oriented design
Credit Status x Attribute of “MEMBER”
File x Not relevant for current project
Marketing Department x Not relevant for current project
Member Address x Attribute of “MEMBER”
Member Order / “MEMBER ORDER”
Member Phone Number x Attribute of “MEMBER”
Member Services Department x Not relevant for current project
Member Services System x Not relevant for current project
Order x Another name for “MEMBER ORDER”
Order Confirmation Notice x Potential Interface item to be addressed in object-oriented design
Order Sales Tax x Attribute of “MEMBER ORDER”
Order Status x Attribute of “MEMBER ORDER”
Order Subtotal x Attribute of “MEMBER ORDER”
Ordered Product / “MEMBER ORDERED PRODUCT”
Ordered Product Information x Unclear noun
Ordered Product Quantity x Attribute of “MEMBER ORDERED PRODUCT”
Past Member / Type of “MEMBER”
Payments / Type of “TRANSACTION”
Potential Member / Type of “MEMBER”
Product / “PRODUCT”
Product Inventory x Attribute of “PRODUCT”
Product Number x Attribute of “PRODUCT”
Street Address x Attribute of “MEMBER”
Transaction / “TRANSACTION”
Warehouse x Not relevant for current project
Warehouse Packing Order x Potential Interface item to be addressed in object-oriented design
Irwin/McGraw-Hill Copyrighth@2000 The Mcgraw-Hill Companies All Right reserved
28. Developing Software Woth UML Booch Jacobson Rumbaugh
• Sebuah use case menjelaskan interaksi antara user
dengan sistem aplikasi.
• Sebagai contoh dalam sebuah sistem reservasi
peminjaman mobil (rent a car), sebuah use case harus
dapat menjelaskan apa yang user lakukan dengan
sistem aplikasi dalam sebuah kejadian/event bisnis
dalam sebuah proses bisnis. Misalnya reservasi sebuah
mobil Ferrari untuk Pak Agus.
• Sebuah proses dapat dibagi menjadi beberapa use case
jika dapat diketahui dengan jelas tiap-tiap kejadiannya
atau jika bagian-bagian yang diidentifikasi tersebut
dikerjakan oleh orang-orang yang berbeda.
• Jika diasumsikan sistem yang akan di analisa adalah
Sistem Informasi Peminjaman Mobil (Rent a car) maka
orang yang akan kita temui adalah:
Addison-Wesley
29. Developing Software Woth UML Booch Jacobson Rumbaugh
• Customer service (central telephone operator)
– Information
– Reservation
• Customer service (branch office)
– Vehicle hand-over
– Vehicle return
• Service personnel (branch office, vehicle clerk)
• Branch office management
• Phone service management
• Managing clerks, vehicle transfer staff,
accounting staff (jika diperlukan)
Addison-Wesley
30. Developing Software Woth UML Booch Jacobson Rumbaugh
Objek-objek yang disebutkan diatas harus dapat
diidentifikasi dan diberi nama.
Sebagai contoh objek-objek tersebut adalah:
• Data customer
• Kontrak
• Invoice
• Konfirmasi reservasi
• Aturan pengembalian mobil
• Aturan pemarkiran
• Dokumentasi kendaraan
Addison-Wesley
31. Developing Software Woth UML Booch Jacobson Rumbaugh
• Aksesories yang ada dalam mobil
• Fixed accessories (AC, tape, sun roof)
• Kunci-kunci kendaraan
• File-file customer
• Alokasi / lot tempat parkir
• Contract condition / aturan kontrak
• Dsb.
Addison-Wesley
32. Developing Software Woth UML Booch Jacobson Rumbaugh
Identifikasi use case dan actor
• Gambar use case dari kasus diatas dapat dilihat pada
gambar di bawah ini. Disini actor-nya adalah interested
party yaitu customer, dan staff untuk reservasi (staff for
reservation), penyerahan mobil yang akan dipinjam
(vehicle hand-over) dan pengembalian mobil (vehicle
return)
• Interested party (Calon customer) berbeda dengan
Customer, karena calon customer biasanya belum ada
datanya (anonymous), karena data mereka belum
terdaftar
Addison-Wesley
33. Developing Software Woth UML Booch Jacobson Rumbaugh
Car Rental Agency
Advise, give
information
Interested Party
<<include>>
Reservation Staff
reserve
Stipulate contract
Customer Handover vehicle Hand-over staff
Take back vehicle
Driver Return Staff
Invoice
Customer
Addison-Wesley
34. Developing Software Woth UML Booch Jacobson Rumbaugh
Business use case dan System use case
Dalam bisnis use case, actor adalah semua peran
(role) yang terlibat dalam proses bisnis, sedangkan
dalam system use case, mereka dibatasi hanya
kepada mereka yang mempunyai kontak langsung
dengan sistem aplikasi. Biasanya customer tidak
memiliki akses langsung dengan sistem aplikasi,
tetapi dalam bisnis use case mereka tetap dicatat.
Jika customer dapat melakukan reservasi melalui
self-service terminal atau melalui internet, mereka
berinteraksi langsung dengan sistem aplikasi dan
oleh karena itu mereka harus digambarkan dalam
system use case.
Addison-Wesley
35. Developing Software Woth UML Booch Jacobson Rumbaugh
Jika use case car rental agency diatas dikelompokkan,
Reservation
bentuknya :
Advise,
Interested party give information
<<include>>
Reservation
Reserve
Customer
Rental
Stipulate Vehicle
contract hand-over
Hand over
vehicle
Accept
Driver return vehicle
Vehicle
Invoicing return
Customer Invoice
Addison-Wesley
36. Developing Software Woth UML Booch Jacobson Rumbaugh
Menggunakan use case
• Menggambarkan use case dalam bentuk
diagram elips adalah langkah pertama, setelah
itu yang berikutnya adalah menjelaskannya
dalam bentuk lebih detil lagi.
• Penjelasan detil dari use case adalah tujuan
utama dari use case analysis untuk itu ada dua
contoh yang menggambarkan use case lebih
detil.
Addison-Wesley