use case diagram · “use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu...

51
Use Case Diagram Brigida Arie Minartiningtyas, M.Kom.

Upload: others

Post on 19-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case Diagram

Brigida Arie Minartiningtyas, M.Kom.

Page 2: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Requirements

and

Business Models

HTML

CGI

XML

JavaScript

SQL

ER Models

C++

Java

SW ModelsSoftwareEngineer

DatabaseAdministrator

Web ContentCreator

BusinessAnalyst

Page 3: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

SoftwareEngineer

DatabaseAdministrator

Web ContentCreator

BusinessAnalyst

Requirements

Data

Structure

Behavior

Page 4: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

• Use Case Diagrams

User Model View

• Class Diagrams

• Object Diagrams

Structural Model View

• Sequence Diagram

• Collaboration Diagrams

• State Machine Diagrams

• Activity Diagrams

Behavioral Model View

• Deployment Diagrams

Environment Model View

Klasifikasi UML

Page 5: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Requirements

Object

Oriented

Software

Product

Analisis, desain,

implementasi,

pengujian &

perbaikan

Page 6: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Proses yang lebih teliti

Banyak waktu yg disediakan untuk

• mendapatkan requirement

• membangun model requirement dan model analisis

• selanjutnya diubah menjadi model desain

Tidak perlu melihat code sampai waktu pembangunan 25%

Page 7: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Objek?

Page 8: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Obyek dalam “Software Analysis & Design” adalah sesuatu berupa

konsep, benda, dan sesuatu yg membedakannya dari lingkungannya

Page 9: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 10: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 11: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Pemodulan (Encapsulation)

Pewarisan (Inheritance)

Polymorphism

Page 12: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Encapsulation?

Page 13: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Information

Hiding

Menjaga proses agar tidak dapat diakses sembarangan atau diintervensi

Menjaga keutuhan program agar dapat diakses sewaktu-waktu

Page 14: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Inheritence?

Page 15: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Binatang

Herbivora

Kambing Kerbau

Karnivora

Harimau Anjing

Hubungan dua kelas atau lebih

Page 16: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Kelas parent mewariskan atribut dan

metodenya kepada kelas child

Page 17: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Terdapat atribut dan metode tambahan dari kelas

child yg menjadi sifat khusus yg membedakannya

Page 18: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Polymorphism?

Page 19: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Dapat menimpa (override) suatu method

dari parent yg diturunkan, sehingga

memiliki kelakuan yg berbeda

Page 20: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Objek child melakukan metode yg sama

dengan algoritma yg berbeda dengan parent

Page 21: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case Diagrams

Menggambarkan perilaku fungsional sistem dari sudut pandang user

Digunakan pada proses pengumpulan requirementuntuk merepresentasikan perilaku sistem

Actor: User, sistem eksternal atau lingkungan fisik

Use case: sebuah class dari fungsionalitas yang disediakan sistemsebagai sebuah event flow

• Memiliki kondisi entry dan exit, flow of events, aktor-aktor

Page 22: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 23: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Actor

Use Case

RelasiAssociation

•<<includes>>

•<<extend>>

Secara umum dalam use case diagram, terdapat

Page 24: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 25: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Actor

Page 26: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Actor adalah representasi salah satu dari dua hal:

1. Sebuah peran yang dapat dimainkan user dalam hubungannya dengan sistem

2. Sebuah entitas, seperti sistem eksternal atau database, yang berada diluar system

Nama dari aktor bukanlah nama orang/sistem melainkan label dari ROLE atau SET

of ROLES yang dimainkan

Seorang User dapat memainkan berbagai peran (roles) dan menjadi aktor yang

berbeda

Actor

Customer

Accountant

Shipping System

Page 27: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case

Page 28: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Cases

Menangkap fungsi yang visible dan clear dari user sistem

Terkait dengan kebutuhan spesifik user /requirements

Semua use case adalah tentang kebutuhan fungsional eksternal

Dapat berhubungan dengan fungsi yang dibutuhkan oleh sistem lain

Page 29: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

“Use case adalah sebuah deretan tindakan yang dilakukan aktor

dalam suatu sistem untuk mencapai tujuan tertentu”

Use Case yang baik:

Diekspresikan dari the point of view dari actor, dalamkata kerja

Menjelaskan suatu aspek dari penggunaan sistem tanpamemikirkan bagaimana desain dan implementasinya

Menjelaskan apa yang dilakukan sistem tanpamenspesifikkan bagaimana sistem akan melakukannya

Page 30: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use case X

Use case X

Search by Author

Print GL Report

Produce Shipping Manifest

Use Case ditampilkan dengan bentuk elips dan sebuah label yang berisi kata kerja.

Label dapat berada didalam/diluar elips

Page 31: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case Diagrams

Use Case Diagram termasuk aktor-aktor danuse case-use case

Aktor menjalankan use case yang muncul dikanan

Use case terletak ditengah

Aktor lain yang terlibat dalam use case muncul di kanan

Garis menunjukkan aktor mana yang terlibatdengan use case

Page 32: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

actor

use case

use case 1

use case 4

use case 2

use case 3

actor 1

Actor 2

Himpunan aktor dalam use case diagram harus mencerminkan segala sesuatu

yang diperlukan untuk bertukar informasi dengan sistem yang dimodelkan.

Himpunan use case yang digunakan dalam model harus menangkap semua

functional requirements yang telah diajukan stakeholders sistem

Page 33: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

customer

Create Account

Log In

Write Customer Review

Add Book to Shopping Cart

Check Out

Page 34: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Relasi

Association

Page 35: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Include Extend

Page 36: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Hubungan dimana satu use case (Base) meliputi fungsionalitasdari use case lain (Inclusion)

Include relationship mendukung penggunaan kembali dalammodel use case

Include relationship dapat menggambarkan:

•Perilaku Inclusion Use Case yang umum untuk dua atau lebih use case

•Hasil dari perilaku Inclusion Use Case adalah penting untuk Base Use Case

Page 37: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Base Use CaseIncluded Use Case

<<include>>

Add to Wish List

Check Out

Log In

<<include>>

<<include>>

Customer Add / Check Out pasti melakukan Log In

Page 38: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Student

enroll-inACourse

validateStudent's

Conditions

validateCourse

State

effectregistration

record

registration

<<include>>

<<include>>

<<include>>

<<include>>

Page 39: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Satu use case (Extension) memperluas perilaku dari use case yang lain (Base)

Mekanisme ini berguna untuk menampilkan perilaku optional/exceptional yang seharusnya dapat diulang berkali-kali dalam use case yang berbeda

Extend relationship dapat menggambarkan:

• Bagian dari use case dengan perilaku sistem optional

• Sebuah subflow yang dijalankan dalam kondisi tertentu

• Satu set perilaku yang dapat dimasukkan dalam base use case

Page 40: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Base Use Case Extended Use Case

<<extend>>(value 1)

Check Order Status Cancel Order

<<extend>>(order ID)

Extension pointsOrder ID

Pada saat customer memeriksa status order, customer dapat melukan cancel atau tidak

Page 41: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

ReturnItem

MakePurchase

BuyExtendedWarranty

AuthorizedCredit Card Use

<<extend>>

CustomerSales

Page 42: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case Generalization

Parent Use Case

Child Use Case

Use case parent mendefinisikan perilaku yang diwarisi child

Use case child dapat menambah atau override perilakunya

Page 43: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Child Use Case2

Parent Use Case

Child Use Case1Child Use Case2

Parent Use Case

Child Use Case1

Child Use Case2

Child Use Case2

Perform Search

Search by Author

Search by Title

Search by free text

Page 44: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Cases and Packages

Dengan cara yang sama class dapat dikelompokkan dalam packages, Use Case dapat dikelompokkan dalam packages juga.

Packages dari Use Case yang terkait adalah sangatberguna pada saat bekerja dalam tim

Perhatikan bahwa model Use Case pada dasarnya adalah sebuah paket dari paket-paket Use Case!

Page 45: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Use Case1

Use Case2

Use Case3

Package Name

Check out

Add book to S.C.

Edit contents S.C.

Shopping Cart

Page 46: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Comments about Use Cases

• Rapid prototyping dan Use Case adalah solusi yang tepat. Use Case dapat digunakan secara cepat untukmenangkap aliran utama sistem

• Jika mencoba untuk me-reverse engineer suatu sistem, dapat dimulai dari dokumentasi yang tersedia (misal: user manual) dan bangun Use Case

• Use Case sangat penting untuk proses testing. Tester dapatmengambil Use Case dan menerapkan flow dasar danalternatif untuk membangun black-box testing

Page 47: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

List Requirements

Page 48: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

Kelompok Requierment

Page 49: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 50: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the
Page 51: Use Case Diagram · “Use case adalah sebuah deretan tindakan yang dilakukan aktor dalam suatu sistem untuk mencapai tujuan tertentu” Use Case yang baik: Diekspresikan dari the

<<include>>

<<extend>>

<<include>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<include>>

<<extend>>

TU

Bendahara

Memanipulasi Data Siswa

Memanipulasi Data Guru

Memproses Absensi Guru Tetap

Mengolah Data Kegiatan

Memproses Pembayaran SPP

Mengolah Data DOP

Mengelola Dana BOS

Mengelola Data Kelas

Memproses Gaji Guru Honorer

Memutuskan Penggunaan Dana BOS

Kepala Sekolah

Mengolah Data Laporan