Anda di halaman 1dari 64

Rekayasa Perangkat Lunak

ANALISIS DAN
DESAIN
BERORIENTASI
OBYEK (OOAD )

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Pendahuluan
Konsep objek telah dikenal sejak lebih dari tiga puluh tahun
yang lalu. Diawali dengan penggunaan pemrograman
berorientasi objek (OOP), lalu berkembang menjadi konsep
perancangan berorientasi objek (OOD) dan selanjutnya
metode analisis dan perancangan berorientasi objek
(OOAD) di tahun 1990

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Pengantar Analisa & Desain Berorientasi Objek

Tujuan OOAD:

- Untuk merubah analisa kebutuhan menjadi desain system

- Untuk mengembangkan arsitektur system yang kuat

- Untuk menyesuaikan desain agar sesuai dengan lingkungan


implementasi, dan mendesain untuk performance

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Perbedaan Analisa dan Desain OO

 Analisa  Desain

Fokus pada pemahaman masalah Fokus pada pemahaman solusi


Penyempurnaan desain Operation dan Attribute
Perilaku Performance
System structure Mendekati code nyata
Functional requirement Object Lifecycle
Small model Non-functional requirement
Large model

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

ALASAN MENGGUNAKAN OO
• Pengembangan perangkat lunak itu sulit karena
“perangkat lunak mudah diimpikan”
• Kompleksitas pengembangan perangkat lunak yang
terus bertumbuh membutuhkan dukungan konsep yang
lebih handal, guna ulang (reusable) dan natural
• OO menawarkan tipe data abstrak, modularitas,
pemodelan informasi, proses software untuk
mengatasinya
• Walaupun demikian, OO bukan jaminan sukses
pengembangan perangkat lunak

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Kapan & dimana kita memakai OO?

• Jika perangkat lunak (PL) yang dibangun cukup kompleks

• Jika PL yang dibangun diperkirakan akan tumbuh makin


kompleks di masa mendatang

• Jika kita ingin membangun PL yang:


• Berdasar pada komponen yang telah pernah ada
sebelumnya (daur ulang)
• Dapat dipergunakan kembali di masa mendatang
(reusable) dan mungkin, kapanpun dan di manapun

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Konsep OOAD
• Object Oriented Analysis Design (OOAD) adalah rekayasa
perangkat lunak yang model pendekatan sistem sebagai
kelompok interaksi objek.
• Beberapa entitas mewakili setiap obyek, yang menarik
dalam sistem menjadi model dan kelas, elemen data, dan
perilaku. Analisis berorientasi objek (OOA) berlaku objek
modeling teknik untuk menganalisis fungsional
persyaratan untuk sistem.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Konsep OOAD
• Secara singkat OOAD adalah metode analisis yang
memeriksa requirements dari sudut pandang kelas-kelas
dan objek yang ditemui dalam ruang lingkup
permasalahan yang mengarahkan arsitektur software
yang didasarkan pada manipulasi objek-objek sistem atau
subsistem.
• Sekarang ini terdapat berbagai metodologi yang
digunakan dalam object oriented analisys and design
(OOAD).

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Konsep class
• Mewakili sebuah benda atau barang ( kata benda) misalnya : mahasiswa,
pelanggan, kendaraan
• Class Diagram Format and sample class:

Package::Class Person

visibility attribute:Type= Default value - name:String


- address:String

visibility Operation (Parameter):Return +setAddress(address:String)


Type
+getAddress():String
+setName(name:String)
+getName():String
Visibility
+ Public : Able to access from any classes
# Protected : Able to access from same class and its inherited classes
˜ Package : Able to access within same package
- Private : Able to access from same class

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Kelas
• Sekumpulan objek yang memiliki kemiripan dalam hal
properti, atribut, prilaku, dan semantik.
• Proses klasifikasi dilakukan untuk membentuk kelompok
dari beberapa objek yang memiliki kemiripan.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Kelas

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Contoh Kelas di pemrograman PHP

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Konsep Object
What is Object is that Object:

1. Is Identical (because Object has own unique ID)


2. Has Behavior (because Object has Method)
3. Has State (because Object has instance parameter)

Mobil Super class

Kijang Parent class

Kijang NX2001 Child class

Kijang NX2001 N 12345 Object

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Karakteritik Metodologi Berorientasi Objek

• Metodologi pengembangan sistem berorientasi objek


mempunyai tiga karakteristik utama:
• Encapsulation (Pengkapsulan)
• Inheritance (Pewarisan)
• Polymorphism (Polimorfisme)

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Karakteritik Metodologi Berorientasi Objek

• Encapsulation (Pengkapsulan)
• Encapsulation merupakan dasar untuk pembatasan ruang
lingkup program terhadap data yang diproses.
• Data dan prosedur atau fungsi dikemas bersama-sama dalam
suatu objek, sehingga prosedur atau fungsi lain dari luar tidak
dapat mengaksesnya.
• Data terlindung dari prosedur atau objek lain, kecuali prosedur
yang berada dalam objek itu sendiri.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Karakteritik Metodologi Berorientasi Objek


• Inheritance (Pewarisan)
• Inheritance adalah teknik yang menyatakan bahwa anak dari objek
akan mewarisi data/atribut dan metode dari induknya langsung.
• Atribut dan metode dari objek dari objek induk diturunkan kepada
anak objek, demikian seterusnya.
• Inheritance mempunyai arti bahwa atribut dan operasi yang dimiliki
bersama di anatara kelas yang mempunyai hubungan secara hirarki.
• Suatu kelas dapat ditentukan secara umum, kemudian ditentukan
spesifik menjadi subkelas. Setiap subkelas mempunyai hubungan atau
mewarisi semua sifat yang dimiliki oleh kelas induknya, dan ditambah
dengan sifat unik yang dimilikinya.
• Kelas Objek dapat didefinisikan atribut dan service dari kelas Objek
lainnya.
• Inheritance menggambarkan generalisasi sebuah kelas.
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Karakteritik Metodologi Berorientasi Objek

• Polymorphism (Polimorfisme)
• Polimorfisme yaitu konsep yang menyatakan bahwa seuatu
yang sama dapat mempunyai bentuk dan perilaku berbeda.
• Polimorfisme mempunyai arti bahwa operasi yang sama
mungkin mempunyai perbedaan dalam kelas yang berbeda.
• Kemampuan objek-objek yang berbeda untuk melakukan
metode yang pantas dalam merespon message yang sama.
• Seleksi dari metode yang sesuai bergantung pada kelas yang
seharusnya menciptakan Objek.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

21

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Apa itu UML


• Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem piranti lunak.

• UML menawarkan sebuah standar untuk merancang model sebuah sistem.

• Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti
keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa
pemrograman apapun. Tetapi karena UML juga menggunakan class dan
operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan
piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C#
atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk
modeling aplikasi prosedural dalam VB atau C.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

SEJARAH UML

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

MASUKAN-MASUKAN UNTUK UML

Booch
Rumbaugh Jacobson
Fusion
Meyer
Operation descriptions,
Before and after
Message numbering
conditions

Harel
State charts

Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Responsibilities
notes Shlaer - Mellor Odell

Object Lifecycles Classification


Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

ARTIFACT UML
Use-Case
Class Diagram State Diagram
Diagram FileMgr
DocumentList
Document
add file

add( ) name : int


fetchDoc( ) delete( ) docid : int
sortByName( ) numField : int
Writing
add file [ numberOffile==MAX ] /
get( ) flag OFF
open( ) read() fill the
close( ) code..
FileList read( )
sortFileList( ) Openning
Use Case 1 add( )
fList create( )
fillDocument( )
delete( )
1 close file
Actor A Actor B
close file Closing
Reading
rep
Use Case 2 File
Repository
<<entity>>
(from Persistence)

name : char * = 0
read( )
GrpFile
Customer
name
Domain
readDoc( ) read( )
open( )
readFile( )
create( )
addr
Deployment
fillFile( )

receive()
Use Case 3 withdraw()
Expert fetch()
send()
UI

MFC Class Diagram


DocumentApp

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨


­ À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
­ À©µµ¿ì NT: ÀÀ¿ë¼­¹ö
­ À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼­¹ö ¹× µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö
­ IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö

RogueWave

Repository DocumentList Window95


Windows95

9: sortByName ( ) Persistence
Windows95

global

¹®¼­°ü¸®

FileManager Ŭ¶óÀ̾ðÆ®.EXE
¹®¼­°ü¸® ¾ÖÇø´

mainWnd : MainWnd Windows


NT

1: Doc view request ( )

Package
L

Document Solaris

2: fetchDoc( )
¹®¼­°ü¸® ¿£Áø.EXE
4: create ( ) gFile : GrpFile
Alpha
8: fillFile ( ) UNIX
ÀÀ¿ë¼­¹ö.EXE

Windows

Diagram
NT

User Interface
user : »ç¿ëÀÚ GraphicFile IBM
Mainframe
fileMgr : FileMgr File
3: create ( )
FileList
6: fillDocument ( )

Definition
µ¥ÀÌŸº£À̽º¼­¹ö

7: readFile ( )

5: readDoc ( )

document : Document
repository : Repository

Forward Engineering(Code Generation)


Collaboration Diagram Component and
Diagram Reverse Engineering
mainWnd f ileMgr : document : gFile repository
user FileMgr Document

1: Doc view request ( )

Source Code edit, compile, debug, link


ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( )


¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

7: readFile ( )

8: fillFile ( )

È­¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )


°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡
º¸¿©ÁØ´Ù.

Sequence Diagram

Executable System
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

DIAGRAM-DIAGRAM DI UML
State
State
Diagrams
Class
Diagrams
Use Case Diagrams
Use Case
Diagrams State
Use Case Use Case
Diagrams State
Diagrams
Use Case Diagrams Object
Diagrams
Diagrams
Activity Diagrams
Diagrams
Diagrams

Scenario State
Scenario
Diagrams State
Diagrams
Sequence
Diagrams State
Diagrams
Diagrams Model Diagrams

Scenario Component
Scenario
Diagrams
Component
Diagrams
Component
Collaboration
Diagrams Deployment Diagrams
Diagrams Diagram Diagrams

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

9 DIAGRAM UML
 Class Diagram
 Object Diagram
Structural Diagrams
 Component Diagram
 Deployment Diagram

 Use Case Diagram


 Sequence Diagram
 Collaboration Diagram Behavioral Diagrams
 Statechart Diagram
 Activity Diagram

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

USE CASE DIAGRAM

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Use Case : Definsi


• Use Case adalah deskripsi dari sebuah
perilaku sistem sebagai respon dari suatu
aksi / permintaan dari luar sistem. Dengan
kata lain, use case mendeskripsikan ‘siapa’
bisa melakukan ‘apa’ pada sebuah sistem.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Use Case Diagram


Gambaran grafis dari beberapa atau semua Mengisi FRS
aktor, use case, dan interaksinya yang
menggambarkan sistem yang akan dibangun
Mahasiswa Menampilkan Daftar Kelas yang Ditawarkan

Memodelkan kebutuhan dan


menggambarkan fungsionalitas yang Dosen
Menyetujui FRS

diharapkan dari sebuah sistem


Mengelola Data Mahasiswa

Pegawai BAAK

Yang ditekankan adalah “apa” yang


dilakukan dalam sistem, dan bukan
“bagaimana”
Contoh Potongan Use Case Diagram

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Simbol-simbol Dasar
Use-Case
Use case – sebuah skenario perilaku untuk
menyelesaikan pekerjaan tertentu
Digambarkan dalam bentuk elips horisontal

Actor – segala sesuatu yang perlu berinteraksi


dengan sistem untuk bertukar informasi

Contoh: seseorang, organisasi, sistem informasi


yang lain, alat eksternal, atau waktu.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Aktor
Actor bukan bagian dari sistem, actor merepresentasikan
siapa saja atau apa saja yang harus berinteraksi dengan
sistem. Model use case merupakan suatu dialog antara
suatu actor dengan sistem.
Actor disebut juga external entity

Actor – segala sesuatu yang perlu Bisa person atau menunjuk ke peran misal:
pembeli,
berinteraksi dengan sistem untuk pelanggan,
bertukar informasi manajer,
pegawai dll
Bisa hardware
Contoh: seseorang, organisasi, contoh: printer, timer
sistem informasi yang lain, alat Bisa sub sistem/sistem lain
eksternal contoh: Bank, Inventory dll
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

Use Case
• Deskripsi dari sebuah sebuah skenario perilaku untuk
perilaku sistem sebagai menyelesaikan pekerjaan
respon dari suatu aksi / tertentu
permintaan dari luar sistem
• Dengan kata lain, use case
mendeskripsikan Mengelola Data Mahasiswa

“fungsionalitas” pada sebuah


sistem.
Menampilkan Daftar Kelas yang Ditawarkan
• Use case merupakan sebuah
pekerjaan tertentu, misalnya
•mengisi FRS,
•mengelola data mahasiswa,
•Menampilkan kelas yang
ditawarkan, dan lain
sebagainya
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

Association
• Merupakan hubungan atau relasi dari aktor ke
usecase
• Digambarkan dalam garis lurus.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Association antara actor dan use case


• Ujung panah pada association antara actor dan use
case mengindikasikan siapa/apa yang meminta
interaksi dan bukannya mengindikasikan aliran data
• Sebaiknya gunakan Garis tanpa panah untuk
association antara actor dan use case

• association antara actor dan use case yang


menggunakan panah terbuka untuk mengindikasikan
bila actor berinteraksi secara pasif dengan system anda

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Batas Sistem
• Disimbolkan dengan kotak
• Untuk menggambarkan usecase-usecase apa saja
yang ada di sistem kita

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Relationship antar Use


Cases
Ada dua yaitu:

1. <<extend>>
2. <<include>>

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

<<extend>>
• Mengindikasikan bahwa use case tersebut diperluas
dengan penambahan behavior untuk mendapatkan
usecase lain.

Buka
Rekening

<<extend>>

Nasabah
Buka
Deposito

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

<<include>>
• Adalah relasi yang menggambarkan bahwa fungsi
sebuah usecase dimasukkan dalam fungsi usecase
yang lain.

Buka <<include>> catat


Rekening data pribadi

Nasabah

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Generalization
• Antar aktor bisa ada relasi generalisasi

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Petunjuk membuat usecase diagram


• Nama dari usecase harus kata kerja atau frase kata kerja
• Panjangnya 2 s/d 4 kata
• Penamaan tidak boleh dengan kata benda
• Untuk 1 aktor minimal dihubungkan dengan 1 usecase
• 1 usecase bisa diakses oleh lebih dari 1 aktor
• Untuk fungsionalitas yang manual, tdk usah digambarkan usecasenya
• Jangan membuat usecase yang terlalu general dan terlalu spesifik.
• Usecase menggambarkan tujuan yang akan dicapai oleh aktor.
Sehingga tidak boleh ada usecase login, logout karena itu bukan
tujuan aktor untuk mengakses sistem.
• Untuk usecase dengan relationship include atau extend boleh ada
relasi asosiasi ke sebuah aktor.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Studi Kasus

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Contoh kasus

Peminjaman Buku

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

• Use case entry


System

Entry anggota

<<include>>

Anggota perpustakaan
cetak kartu anggota

Entry buku

Petugas perpustakaan

entry denda

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

• Use case transaksi


System

entry peminjaman buku

<<include>>
anggota perpustakaan

print bukti peminjaman buku

entry pengembalian

<<include>>

print bukti pengembalian buku petugas perpustakaan

entry Denda

<<extend>>

print bukti pembayaran denda

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

• Use case laporan


System

cetak laporan buku baru

anggota perpustakaan

cetak laporan anggota baru

cetak laporan buku blm kembali

petugas perpustakaan
cetak laporan denda

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Activity Diagram

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

ACTIVITY DIAGRAM
Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
Dipakai pada business modeling untuk memperlihatkan
urutan aktifitas proses bisnis
Struktur diagram ini mirip flowchart atau Data Flow
Diagram pada perancangan terstruktur
Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses
untuk membantu memahami proses secara keseluruhan
Activity diagram dibuat berdasarkan sebuah atau
beberapa use case pada use case diagram
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

ACTIVITY DIAGRAM
• Teknik untuk mendiskrpsikan logika procedural, proses
bisnis dan aliran kerja dalam banyak kasus
• kerja personal (workflow) dan alur data (flowchart)

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

ACTIVITY DIAGRAM
• Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
• Dipakai pada business modeling untuk memperlihatkan
urutan aktifitas proses bisnis
• Struktur diagram ini mirip flowchart atau Data Flow
Diagram pada perancangan terstruktur
• Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses
untuk membantu memahami proses secara
keseluruhan
• Activity diagram dibuat berdasarkan sebuah atau
beberapa use case pada use case diagram
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

Simbol Activity Diagram


Simbol Keterangan
Start Point

End Point

Activities

Fork (Percabangan)

Join (Penggabungan)

Decision

Sebuah cara untuk mengelompokkan


Swimlane activity berdasarkan Actor
(mengelompokkan activity dalam
sebuah urutan yang sama)

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

ACTIVITY
• Activity menggambarkan sebuah pekerjaan/tugas dalam
workflow.
• Pada UML, activity digambarkan dengan simbol belah
ketupat=‘lozenge’ (horizontal top and bottom with
convex sides).

Activity State

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Start State

• Start state dengan tegas menunjukkan dimulainya


suatu workflow pada sebuah activity diagram.
• Hanya ada satu start state dalam sebuah workflow.
• Pada UML, start state digambarkan dengan simbol
lingkaran yang solid.

Start State
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

End State
• End state menggambarkan akhir atau terminal
dari pada sebuah activity diagram.
• Bisa terdapat lebih dari satu end state pada
sebuah activity diagram.
• Pada UML, end state digambarkan dengan
simbol sebuah bull’s eye.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

State Transitions
• State transition menunjukkan kegiatan apa berikutnya setelah suatu
kegiatan sebelumnya.
• Pada UML, state transition digambarkan oleh sebuah solid line dengan
panah.

State Transition

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Decisions
• Decision adalah suatu titik/point pada activity
diagram yang mengindikasikan suatu kondisi
dimana ada kemungkinan perbedaan transisi.
• Pada UML, decision digambarkan dengan
sebuah simbol diamond.
Decision

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Swimlanes
• Object swimlane untuk menggambarkan objek mana yang bertanggung
jawab untuk aktivitas tertentu.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Petunjuk Membuat Diagram Aktivitas


 Mulailah dengan node awal untuk titik awal.
 Tambahkan partisi jika relevan untuk analisis yang dibuat.
 Tambahkan aksi untuk setiap langkah utama dari use case.
 Tambahkan alur dari setiap aksi ke aksi lain, keputusan atau
node akhir. Setiap aksi hanya mendapat satu alur masuk
dan satu alur keluar menuju ke forks, joins, decisions, dan
merges.
 Tambahkan decisions jika alur dipecah menjadi beberapa
pilihan. Jangan lupa untuk menggabungkan kembali
dengan merge.
 Tambahkan forks dan joins jika aktivitas akan dilakukan
secara paralel.
 Akhiri proses dengan notasi untuk akhir aktivitas.
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak

CONTOH
ACTIVITY
DIAGRAM

Penarikan
Uang dari
Account
Bank
Melalui
ATM

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

CONTOH ACTIVITY DIAGRAM

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

CONTOH – ACTIVITY DIAGRAM


 Pengunjung ingin meminjam buku A yang ada pada
perpustakaan
 Pengunjung meminta petugas perpustakaan untuk meminjam
buku yang diinginkan.
 Petugas melakukan identifikasi apakah pengunjung tersebut
merupakan member atau bukan
 Apabila member maka petugas melakukan pencatatan
peminjaman.
 Jika tidak maka pengunjung diminta untuk melakukan
pendaftaran lalu melakukan pembayaran atas pendaftaran
tersebut kepada petugas administrasi.

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

CONTOH – ACTIVITY DIAGRAM

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

LATIHAN Pembuatan Use Case


dan Activity Diagram
1. Studi Kasus Transfer ATM dan Pembayaran Kuliah
2. Buat Skenarionya
3. Buat Use Case dan activity nya

Vilia Eka Meyana, M.Kom


Rekayasa Perangkat Lunak

Vilia Eka Meyana, M.Kom

Anda mungkin juga menyukai