Pengembangan Aplikasi Perangkat...

58
Pengembangan Aplikasi Perangkat Lunak OOAD Teknik Analisis Requirement & Use Case Augury El Rayeb - AER 2011/2012 1 Universitas Pembangunan Jaya SIF_TIF

Transcript of Pengembangan Aplikasi Perangkat...

Page 1: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Pengembangan Aplikasi PerangkatLunak

OOAD

Teknik Analisis Requirement & Use Case

Augury El Rayeb - AER – 2011/2012 1Universitas Pembangunan Jaya – SIF_TIF

Page 2: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Fundamentals of Information Systems, Second Edition

2

Tujuan Pertemuan

–Mengetahui teknik analisis requirement

–Mampu melakukan analisis requirement

–Paham kegunaan use-case diagram

–Mampu membuat use-case diagram

Page 3: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Unified Modeling Language (UML)

• UML Bahasa Pemodelan Terpadu

• UML dikembangkan sebagai bahasa untuk pemodelan sistem berorientasi objek.

• Sekarang UML juga digunakan sebagai spesifikasi sistem

Augury El Rayeb – AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Page 4: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Unified Modeling Language (UML)

• Sekarang UML juga menjadi alat standar bagisoftware engineer dan sistem engineer.

• Melalui diagram UML, dengan menggunakansoftware khusus dapat dihasilkan suatudeskripsi data dan bahkan kode programsecara otomatis.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Page 5: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Unified Modeling Language (UML)

• UML pertama kali dikembangkan oleh; Rational Software Company , dengan cara memadukan beberapa object-oriented modeling methods:– Booch

by: Grady Booch,

– OMT (Object Modeling Technique)

by: Jim Raumbaugh, and

– OOSE (Object-Oriented Software Engineering), by: Ivar Jacobson.

• Selanjutnya Tim ini tergabung dalam OMG (Object Management Group ).

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF

Page 6: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

UML - Pemodelan Perangkat Lunak

• UML digunakan untuk pemodelan sistem perangkat lunak,

• Pemodelan tersebut mencakup;

– Analisis, dan

– Disain.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 6

Page 7: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

UML - Analisis

• Tahapan dalam Analysa Sistem:– Sistem digambarkan/deskripsikan oleh sekumpulan

ketentuan/syarat/kebutuhan

– Identifikasi bagian-bagian sistem pada tingkat tinggi (dengan visualisasi tingkat tinggi, yang mudah dipahami).

• Untuk visualisasi tingkat tinggi ini digunakan use case.

• Use Case digunakan untuk:– Mengidentifikasi ketentuan/kebutuhan, dan

– Menentukan ketentuan/kebutuhan

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 7

Page 8: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

UML - Disain

• Fase disain sangat terkait dengan fase analisis

• Tahapan dalam disain:

– identified system parts,

– detailed specification of these parts

Untuk visualisasi hasil identifikasi dan spesifikasi detil gunakan Class diagrams atau component diagrams.

– parts interaction.

Untuk visualisasi interaksi bagian-bagian dari sistem gunakan interaction diagrams atau state chart diagrams

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 8

Page 9: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Basic Building Blocks

• Basic Building Block dari UML adalah tentang sesuatu dan relasinya.

• Pada UML terdapat 9 jenis diagram, namun terdapat 5 diagram yang sering disebut sebagai core diagrams;

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 9

1. Use Case Diagrams2. Class Diagrams3. Sequence diagrams4. State chart diagrams5. Activity diagrams

6. Object diagrams7. Collaboration diagrams8. Component diagrams9. Deployment diagrams

Page 10: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Use Case

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 10

Page 11: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Fase dalam Pengembangan System

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 11

Phase Actions Outcome

InitiationMembuat / membentuk kebutuhan

bisnis

Business

documents

AnalysisInterview stakeholders, Eksplorasi

lingkungan sistem

Organized

documentation

SpecificationAnalisa aspek rekayasa sistem,

membuat konsep sistem

Logical System

Model

ImplementationProgram, build, unit-testing, integrasi,

dokumentasi

Testable

system

Testing &

IntegrationIntegrasi seluruh komponen, verifikasi,

validasi, instalasi, panduan

Testing results,

Working sys

Maintenance Bug fixes, modifikasi, adaptasiSystem

versions

Page 12: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Use Case

• Use case diagram digunakan pada fase awal dalam suatu proyek pengembangan software.

• fokus pada menentukan bagaimana pengguna eksternal berinteraksi dengan sistem, bukan untuk menentukan bagaimana sistem harus menyelesaikan tugas-tugas.

• Menggunakan Use case merupakan cara yang baik untuk mengekspresikan kebutuhan fungsional dari sistem perangkat lunak, use case intuitif dan mudah dimengerti sehingga use case dapat digunakan dalam negosiasi dengan non-programmer.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 12

Page 13: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Sumber-sumber Membuat Kebutuhan Bisnis• Kebutuhan awal berasal dari user, didapat melalui:

– Dokumen, such as RFI (Request for Information)/RFP (Request for Proposal)

– Meetings, laporan-laporan

• Kebutuhan selanjutnya datang dari analis, setelah mempelajari:– Batasan dam harga– Feasibility (technological, organizational etc)– Prototypes

• Kebutuhan yang final akan terbentuk setelah melalui suatu proses iteratif.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 13

Page 14: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Requirements vs. Design

• Requirements:

– What the system should do

– More abstract

• Design:

– How the system should do it

– More detailed

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 14

Page 15: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Type Requirements

• Visible Functional Requirements– “Sistem akan memberikan uang

tunai pada pelanggan”– “Uang tunai akan disampaikan

setelah kartu keluar”

• Qualitative Requirements– “proses otorisasi tidak lebih dari 1

detik”– “User interface akan mudah

digunakan”

• Hidden Requirements– “Proses pemeliharaan Database

dilakukan setiap malam”

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 15

QualitativeRequirements

HiddenFunctional

Requirements

Functional Visible

Requirements

Page 16: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Use-case diagram

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 16

Page 17: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

• Sebuah use case adalah kontrak dari interaksi antara sistemdan aktor.

• Sebuah model use case lengkap terdiri dari :– Sebuah diagram yang menggambarkan hubungan antara use-

case dan aktor.– Sebuah dokumen yang menjelaskan use case dengan rinci.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 17

Illustration

Use Case

Use case in diagram Use Case in scriptActor

Page 18: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Objective Menggunakan Use Case

1. Create a semi-formal model of the functional requirements

2. Analyze and define:

– Scope

– External interfaces

– Scenarios and reactions

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 18

Page 19: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Use Case digunakan sebagai Sarana Komunikasi

• Use case harus menstimulasi diskusi tentang apa yang harus dilakukan sistem, terutama dengan orang-orang yang berada di luar tim pengembangan.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 19

Customers DesignersUsers

Page 20: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Contoh sederhana

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 20

Example

Handle Message

Cellular Phone

Customer

Bill Management

Handle CallExternal Phone

Company

ActorsUse CaseSystem

boundaryAssociation

Page 21: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Menentukan Aktor

• Obyek eksternal yang menghasilkan/menggunakan data:– Harus berfungsi sebagai sumber dan tujuan untuk data– Harus di luar sistem

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 21

Humans Machines External systems Sensors

Database PrinterOrganizational Units

Page 22: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Aktor dapat digeneralisasi

Aktor turunan (anak) mewarisi seluruh asosiasi use case dari induknya

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 22

Harus digunakan jika (dan hanya jika), aktor tertentu memiliki tanggung jawab lebih daripada yang umum (yang digeneralisasi) (misalnya, berhubungan dengan lebih banyak use-case)

Register Client

Sales Person

Institutional

Sales Person

Perform Sale

Perform

Business Sale

Sales Manager

Cancel Sale

Page 23: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Writing Use-case

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 23

Page 24: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Struktur Spesifikasi Use Case

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 24

Alistair Cockburn “Writing Effective Use Cases”

Name

Actors

Preconditions (lihat slide selanjutnya)

Post conditions (lihat slide selanjutnya)

Success Scenario

Alternatives flows

Trigger (lihat slide selanjutnya)

Page 25: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Isi Trigger

• Apa yang memulai (trigger) use-case?

• Contoh:

– Customer melaporkan suatu claim

– Customer memasukkan card

– Jam pada Sistem clock is 10:00

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 25

Page 26: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Preconditions

• Kondisi yang diperlukan sistem dan harus dipenuhi sebelum menjalankan use-case

• Contoh:– Ada User account– User memiliki uang yang cukup pada

account-nya– Terdapat kapasistas penyimpanan yang

cukup.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 26

Page 27: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Post conditions

• post-condition adalah outcome (hasil/keluaran) dari use-case. Ada dua kondisi post-condition; minimal guarantee dan success guarantee.

• Contoh– Uang ditransfer ke account user– User sudah login (masuk ke sistem)– File sudah tersimpan ke hard-disk

• Minimal guarantee– Hal minimum yang dapat dijanjikan sistem, menahan even

disaat eksekusi use case berakhir failure.– contoh: Uang tidak ditransfer kecuali otorisasi diberikan oleh user.

• Success guarantee– Apa yang terjadi setelah use-case berjalan dengan sukses.– Contoh: File disimpan; Uang ditransfer

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 27

Page 28: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Success Scenario

• The success scenario adalah alur cerita utama dari use-case• Ditulis dengan asumsi bahwa segala sesuatunya sudah okay,

no errors atau tidak ada problems, dan success scenario mengarah langsung ke hasil yang diinginkan dari use-case.

• Success scenario terdiri dari urutan langkah-langkah• Contoh:

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 28

1. User memasukkan nama produk, SKU and deskripsi

2. System melakukan validasi SKU produk SKU

3. System add (menambahkan) produk ke DB dan menampilkan pesan

konfirmasi

Interaction step

Validation Step

Internal Change Step

(plus) Interaction Step

Page 29: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Success Scenario Example

1. User memasukkan keyword2. System menampilkan sekumpulan hasil

pencarian, dan produk sponsor, semuanya disertai nama, deskripsi singkat dan harganya.

3. User memilih satu produk4. Sistem menampilkan halaman produk,

termasuk informasi produk, review dan produk terkait.

5. User menambahkan produk ke shopping cart

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 29

Page 30: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Panduan untuk Penulisan yang Efektif

• Gunakan gramar yang simple• Hanya satu pihak/sisi (system

or actor) yang melakukan sesuatu pada satu step

• Tulis dari sudut pandang objective– Bad: “Get the amount form

the user and give him the money”

• Setiap langkah harus mengarah pada beberapa kemajuan– Bad: “User click the enter

key”

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 30

System Actor

Actor asks for money

System asks for amount

Actor gives the amount

System produce the money

Page 31: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Steps – cont’d

• Penulisan Percabangan (Branches):– If user memiliki lebih dari $10000 pada account-

nya, sistem menyajikan daftar iklan– Otherwise…

• Penulisan Perulangan (Repeats):1. User memasukkan nama item yang ingin dibeli2. Sistem menampilkan item3. User memilih item untuk dibeli4. Systems menambahkan item ke shopping cart5. User repeats steps 1-4 until indicating he is

done

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 31

Page 32: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Use-Cases – Common Mistakes

• Diagramnya kompleks• No system• No actor• Terlalu banyak detil user interface

– “User mengetik ID dan Password, clicks OK atau tekan Enter”

• Terlalu sedikit detil tujuan– User mengisi nama– User mengisi alamat– User mengisi nomer telepon– …

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 32

Page 33: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Alternative Flows

• Used to describe exceptional functionality

• Examples:– Errors

– Unusual or rare cases

– Failures

– Starting points

– Endpoints

– Shortcuts

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 33

Success Scenario

ShortcutsExceptions

Endpoints

Starting points

Page 34: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Alternative Flows - Example

• Errors:– “jika tidak eject dengan benar”– “ada network error terjadi pada langkah 4-7”– “segala jenis error yang terjadi”

• Unusual atau kasus yang jarang– “Credit card dinyatakan di curi”– “User memilih untuk menambah kata baru pada kamus

• Endpoints– “Sistem mendeteksi tidak ada lagi isu atau permintaan

yang dibuka”• Shortcuts:

– “User dapat meninggalkan use-case dengan click pada tombol “esc”

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 34

Page 35: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Linking Use-case

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 35

Page 36: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Linking Use-case

• Linking memungkinkan flesibilitas pada spesifikasi kebutuhan.– Mengisolasi fungsi

– Memungkinkan sharing fungsi

– Memecah fungsi menjadi potongan-potongan kecil yang terkelola

• Tiga mekanisme linking yang digunakan:– Include

– Extend

– Inheritance

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 36

Page 37: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Bentuk “Include”

• Include digunakan pada saat:– Memecah behaviour (aktifitas/perilaku) yang

kompleks

– Pemusatan behaviour (aktifitas/perilaku) yang umum

– The base use-case (use-case dasar) secara eksplisit menggabungkan behaviour use-case lain pada lokasi yang ditentukan dalam basis.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 37

Perform

Sale

Fill-in

billing info<<include>>

Example

Ket:Perform Sale termasuk fill-in billing info,AtauPerform Sale akan menyertakan Fill-in billing info dalam prosesnya

Page 38: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Penulisan include

• If a base use-case include another use-case, we will add a reference as a step:

1. System presents homepage

2. User performs login to the systemOR

<include: login to the system>

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 38

Page 39: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Bentuk “extend”

• The base use case (use-case dasar) dapat menggabungkan use-case lain pada titik tertentu, yang disebut poin ekstensi.

• Perhatikan arah panah– The base use-case tidak tahu use-case mana yang meng-

extend

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 39

Perform Sale

After checkoutGift wrap

Products

<<extend>>

Product is a gift

Example

Ket:Perform Sale, jika produk is a gift otomatis Gift wrap Products aktif/bekerja,atau,Gift wrap Products memantau Perform Sale, jika Product is a gift Gift wrap Product otomatis aktif

Page 40: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Penulisan extend

• Scenario tidak menyertakan referensi secara langsung• Sebaliknya, Scenario menyertakantitik ekstensi, seperti:

User memasukkan String untuk pencarianSistem menampilkan hasil pencarianExtension point: Hasil presentasi

OR<extension point: Hasil presentasi>

• Use case extension menyertakan kondisi dimana ekstensinya dilakukan– Example: if user termasuk group “rich clients”– If lebih dari dua iklan didapatkan

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 40

Page 41: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Contoh Amazon

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 41

Product Page

Review Writing Page

Shopping Cart

Page 42: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Contoh Amazon - lanjutan

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 42

Search Product

Navigate Deals

Checkout

Handle Order Status

Login Register

View Product Details

Write Review

Rank Supplier«include»

«include»

«include»

«include»

«extend»user is not a member

«extend»

«extend»

After page generation

Add to cart

«extend»

Customer

Page 43: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Generalization antara Use-Cases• The child use-case (use-case turunan) menurunkan use-case induk:

– Interaksi (described in the textual description)

– Link use-case (associations, include, extend, generalization)

• Child use-case (use-case turunan) dapat menggantikan Use case induk

• Penggantian dilakukan melalui deskripsi textual,

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 43

Example

Handle Sale Call

Customer

Representative

Tech Assistant

Representative

Handle Call

Handle Technical

Assistance Call

1. Transfer call to available

representative

2. Mark representative as busy

3. Start record call

4. Stop record call

5. Log call details

6. Mark representative as free

Page 44: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Bahaya generalization

• Mengkombinasi generalization aktor dan use-case dapat berbahaya

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 44

Undergrad Student

Graduate Student

Submit Exam

Submit Thesis

Undergrad Student

Graduate Student

Submit and Get

Grade

Submit Thesis

Submit Exam

Bad: Undergrad can submit

thesis

Good: Only graduate student

can submit thesis

Page 45: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Contoh: Sistem Operasional Perusahaan telepon

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 45

The Cellular Phone

Who are the actors?

External Phone companies

Orange’s objective: Membangun sistem yang menangani pesan SMS, menangani panggilan (untuk ponsel generasi 2 dan 3), termasuk panggilan konferensi dan beberapa panggilan dari telepon tunggal. Sistem harus mendukung pengguna bergerak.

Page 46: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Contoh: Sistem Perusahaan Celular

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 46

3G Phone

Handle SMS

Message

Cellular Phone

while talking

Handle Call

External Phone

Company

Handle Video

Call

Handle Cell

Migration

<<include>> <<include>>

Handle Multiple

Calls

Handle

Conference Call

<<extend>>

{incoming call}

<<extend>>

{phone initiate call}

Handle Voice

Call

Page 47: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Panduan membuat Use-case yang efektif

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 47

Page 48: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

How to Model?

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 48

print

saveBullets

format

loadSave as

preview

File

actions

Formatting

actionsViewing

Actions

Font

format

Paragraph

format

Bottom-up Process Top-down Process

Starting with throwing allscenarios on the page, andthen combining them:

Starting with an overview ofthe system, and then splittingUse-cases

Page 49: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

How to Model?

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 49

• Kebanyakan proses analisis sebenarnya merupakan:

Combined

Page 50: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Mengkombinasikan Proses

• Jumlah batas:– Diagram harus berjumlah antara 3 – 10 base use-case (use-case

dasar). – Tidak lebih dari 15 use-case (base + included + extending).

• Abstraksi:– Semua use-case harus memiliki tingkat abstraksi yang se-level

• Ukuran:– Use-case harus dituangkan dalam setengah halaman atau lebih.

• Interaksi (interactions): – Use-case dibuat sebagai bagian dari interaksi yang sama.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 50

UCUC UC

Page 51: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Pembagian Proses

• Ukuran:

– Jika suatu use-case memerlukan lebih dari satu halaman, pertimbangkan menggunakan include/extend

• Ketergantungan lemah (Weak dependency):

– Jika ketergantungan antara dua bagian use-case lemah mereka harus di pecah.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 51

UC

Page 52: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Panduan tambahan

• Faktor luar yang umum digunakan dan diperlukan oleh beberapa use-case:– Jika penggunaannya diperlu gunakan <<include>>

– Jika base use-case komplit dan penggunaannya hanya optional, pertimbangkan untuk menggunakan <<extend>>

• Diagram use-case harus:– Hanya terdiri dari use-case yang memiliki abstrak

dengan tingkatan level yang sama

– Hanya menyertakan aktor yang diperlukan

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 52

Page 53: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Cakupan

• Cara yang baik untuk menetukan cakupan adalah dengan in/out lists:

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 53

Topic In Out

Setiap bagian non-software pada sistem

Catatan analisis statistik

Interfacing dengan sistem credit card

Proses pembersihan Database

Backup catatan

Page 54: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Apa yang Sudah Kita Lakukan

• Jika semua aktor sudah ditentukan.• Jika setiap kebutuhan fungsi masing-masing memiliki

satu use-case yang mengakomodirnya.• Suatu tabel matrix da[at membantu kita

mengetahuisudah sejauh mana kita melakukannya:

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 54

Use Cases

Requirements

Page 55: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Langkah Selanjutnya

• Keluar dan masuknya Data pada sistem direpresentasikan dengan data entities (entitas data) dal structural diagrams.

• Behavior yang disebabkan oleh use-cases dapat dilihat pada behavioral diagrams.

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 55

Class AClass C

Class B

Class D

Use Case 1

Use Case 2Use Case 3

Page 56: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Ringkasan (Summary)

Introduction to the Unified Modeling Language (UML)To Use Case Diagram

Use Case DiagramsDual presentation of use-casesInclude, Extend, Inheritance

Writing Use CasesPreconditions & Post-conditionsMain scenario vs. Alternative Flow

Guidelines for Effective Use Cases

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 56

Page 57: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Thank’s

• See Ya Next Week

AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 57

Page 58: Pengembangan Aplikasi Perangkat Lunakocw.upj.ac.id/files/Slide-IST204-IST-204-PAPL-3-OOAD-Use-Case.pdf · State chart diagrams 5. ... Contoh sederhana AER ... •Contoh: –Ada User

Referensi:

• Eran Torch,”Specifying Requirements with Use Case Diagrams”File: UML-asis04use-case-090707110145-phpapp01.ppt

• Mikael Åkerholm, Ivica Crnković, Goran Mustapić, “Introduction for Using UML”File: UML-Intro.pdf

• UML, “Use Case Modeling With Activity And Use Case Diagrams”UML-acticity-UseCase-usecasemodelingnotation-123784689696-phpapp02.ppt

Augury El Rayeb - AER – 2011/2012 Universitas Pembangunan Jaya – SIF_TIF SIF1213 - 58