ANALI SI S BERORI ENTASI OBJEK
Defri Kurniaw an M .Kom
Cont ent
Analisis Berorint asi Objek
Analysis Design Paradigm and Diagrams
UM L
What UM L?
Why M odeling?
The Triangle of Success in Soft w are Dev
UM L Tools, Diagram, Version, St ruct ure Diagram, Behavior Diagram,
Problem, Process
Syst em Analysis and Design w it h UM L
Use Case Diagram
Act ivit y Diagram
Sequence Diagram
Analisis Ber or ient asi Objek
Analisis Berorientasi Objek
Berfokus pada pendefinisian kelas-kelas dan cara
bagaimana mereka saling bekerjasama sat u dengan
yang lainnya unt uk memenuhi kebut uhan para pelanggan.
Pada Paradigma Analysis Design dan Diagram,
Unified M odeling Language (UM L) merupakan
Analysis Design Par adigm and Diagr ams
1.
Dat a
-orient ed
DFD
2.
Process
-orient ed
Flow chart
3.
Object
-orient ed (dat a + process)
What is t he UML?
UM L: Unified M odeling Language
UM L dapat digunakan unt uk memodelkan semua
proses dalam siklus hidup pengembangan dan seluruh t eknologi implement asi yang berbeda
UM L adalah bahasa st andar unt uk
memvisualisasikan,menspesifiksi, konst ruksi, dan mendokument asikan art ifak dari sist em perangkat lunak
UM L adalah suat u alat komunikasi unt uk t eam dan
Why Modeling?
M odeling menangkap bagian pent ing dari sist em
(James Rumbaugh)
Business Process Comput er Syst em
Visual M odeling adalah pemodelan yang
The Tr iangle of Success in Soft war e Dev.
Notation:
Standard
Tools:
Support Standard and
Process
Process:
UML Tools
Rat ional Rose
Visual Paradigm
Ent erprise Archit ect
M icrosoft Visio
St ar UM L
UML Diagr ams
Actor A
Use Case 1
Use Case 2
Actor B
user : Clerk
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repository document : Document gFile : GrpFile
9: sortBy Name ( )
L
1: Doc view request ( ) 2: fetchDoc( )
5: readDoc ( ) 7: readFile ( )
3: create ( ) 6: fillDocument ( ) 4: create ( )
Repository DocumentList
FileList
user
mainWnd fileMgr : FileMgr
Forward and Reverse
Engineering
Target System
Openning
Writing
Reading Closing add f ile [ numberOf f ile==MAX ] /
f lag OFF
add f ile
close f ile close f ile
Use Case 3
Use-Case
Diagram Class Diagram
Collaboration Diagram
Sequence Diagram
Component Diagram create( ) fillFile( ) rep
Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence)
FileMgr fetchDoc( ) sortBy Name( )
DocumentList add( ) delete( )
Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList
1 FileList add( ) delete( )
1
File read( )
read() fill the code..
UML 2.0
UM L version 2.0 memiliki 14 diagram
yang t erbagi pada 2 kelompok besar:
1.
St ruct ure
Diagrams
UML St r uct ur e Diagr ams
M ew akili
dat a dan hubungan st at is
pada
sist em informasi
1. Class Diagram
2. Object Diagram
3. Package Diagram
4. Deployment Diagram
5. Component Diagram
St r uct ur e Diagr ams
1.
Class
Diagrams
Kosakat a umum yang digunakan oleh analis dan pengguna
M ew akili sesuat u/ benda (employee, paycheck,…)
M enenjukkan hubungan ant ar kelas
2.
Object
Diagrams
M irip dengan Class Diagram
Gambaran t ent ang objek-objek dalam sist em
Hubungan ant ar objek
3. Package Diagrams
St r uct ur e Diagr ams
4. Deployment Diagrams
M enunjukkan arsit ekt ur fisik dan komponen perangkat lunak sist em
For example, net w ork nodes
5. Component Diagrams
Hubungan fisik di ant ara komponen perangkat lunak
Example – Client / Server (M esin mana yang berjalan pada
soft w are yang mana)
6. Composit e St ruct ure
UML Behavior Diagr ams
M enggambarkan hubungan dinamis ant ara
objek yang mew akili sist em informasi bisnis
1. Act ivit y Diagram 2. Sequence Diagram
3. Communicat ion Diagram 4. Int eract ion Diagram
5. Timing Diagram
Behavior Diagr ams
1. Act ivit y Diagrams
M odel proses pada suat u sist em informasi
Example: Business w orkflow s, business logic
2. Int eract ion Diagrams
M enunjukkan int eraksi anat ar objek
3. Sequence Diagrams
Urut an berdasarkan w akt u int eraksi
4. Communicat ion Diagrams
Behavior Diagr ams
5. Int eract ion Diagrams
Kilasan aliran cont rol dari suat u proses
6. Timing Diagrams
M enunjukkan bagaimana suat u objek berubah dari w akt u ke w akt u
7. St at e M achines
M emeriksa perilaku dari suat u kelas
M enunjukkan model keadaan-keadaan yang berbeda dan t ransisi keadaan dari suat u objek
8. Use-Case Diagrams
M enunjukkan int eraksi ant ara sist em dan lingkungan
UML Pr ocess (EA Spar x)
1.
M enampilkan bat as sist em dan fungsi ut ama
menggunakan
use cases dan act ors
2.
M emodelkan proses bisnis organisasi
dengan
act ivit y diagram
3.
M enggambarkan realisasi use case
menggunakan
sequence diagrams
4.
M erepresent asikan st rukt ur st at is dari suat u
sist em dengan menggunakan
class diagram
5.
M engungkapkan pelaksanaan arsit ekt ur fisik
UML Pr ocess (EA Spar x)
1.
Use Cases
Diagram
2.
Act ivit y
Diagram
3.
Sequence
Diagram
4.
Class
Diagram
UML Pr ocess (Kendal, 2011)
1. Sebuah use case diagram, menggambarkan bagaimana sist em
yang digunakan. Analis memulai dengan use case diagram 2. Sebuah act ivit y diagram, menggambarkan aliran keseluruhan
kegiat an. Set iap use case dapat membuat sat u diagram akt ivit as
3. Sequence diagram, menunjukkan urut an kegiat an dan
hubungan kelas. Set iap use case dapat membuat sat u at au lebih sequence diagram
4. Class diagrams, menunjukkan kelas dan hubungan. Sequence diagram digunakan unt uk menent ukan kelas
5. St at echart diagram, menunjukkan keadaan t ransisi. Set iap
Syst em Analysis and Design wit h UML
1. Syst em Analysis
1. Business Process Ident ificat ion
Use Case Diagram
2. Business Process M odeling
Activity Diagram
3. Business Process Realizat ion
Sequence Diagram
2. Syst em Design
1. Program Design
1. Class Diagram
2. Package Diagram (Gabungan class yang sesuai)
3. Deployment Diagram (arsit ekt ur soft w are dari sist em yang dibangun)
2. User Interface Design (Buat UI design)
USE CASE DIAGRAM
M enggambarkan fungsionalit as yang diharapkan dari sebuah sist em.
M enekankan “ apa” yang diperbuat sist em, dan bukan “ bagaimana” .
M enggambarkan kebut uhan sist em dari sudut
pandang pengguna (user)
M engfokuskan pada proses komput erisasi
(aut omat ed processes)
USE CASE DIAGRAM – Use case
Use case diagram t erdiri dari:
Use case
Act ors
Relat ionship
Syst em boundary boxes (opt ional)
Use case dinot asikan dengan
gambar horizont al ellipse
Use case biasanya menggunakan kata kerja
USE CASE DIAGRAM - ACTOR
Act or menggambarkan orang, sist em at au ext ernal
ent it as / st akeholder yang menyediakan at au
menerima informasi dari sist em
Act or menggambarkan sebuah t ugas/ peran/ role,
bukan posisi sebuah jabat an
Act or memberi input at au menerima informasi dari
sist em
Act or biasanya menggunakan Kata benda
Indikasi <<syst em>> unt uk sebuah act or yang merupakan sebuah sist em
Let akkan act or ut ama anda pada pojok kiri at as dari
USE CASE DIAGRAM - Associat ion
Ujung panah pada associat ion ant ara act or dan use
case mengindikasikan siapa/ apa yang memint a
int eraksi dan bukannya mengindikasikan aliran dat a
Sebaiknya gunakan Garis t anpa panah unt uk
associat ion ant ara act or dan use case
associat ion ant ara act or dan use case yang
menggunakan panah t erbuka unt uk mengindikasikan
bila act or berint eraksi secara pasif dengan syst em
USE CASE DIAGRAM - Associat ion
<<include>> t ermasuk di dalam use case lain (required) / (diharuskan)
Pemanggilan use case oleh use case lain, cont ohnya adalah pemanggilan sebuah fungsi program
Tanda panah t erbuka harus t erarah ke sub use case
Buka Rekening
<<include>> catat data pribadi
<<ext end>> perluasan dari use case lain jika kondisi at au syarat t erpenuhi
Kurangi penggunaan associat ion Ext end ini, t erlalu banyak pemakaian associat ion ini membuat diagram sulit
dipahami.
Tanda panah t erbuka harus t erarah ke parent / base use case
Buka Rekening
<<extend>>
Buka Deposito Nasabah
USE CASE DIAGRAM - Associat ion
Generalizat ion/ inherit ance digambarkan dengan sebuah garis
berpanah t ert ut up pada salah sat u ujungnya yang menunjukkan lebih umum
Generalizat ion/ inherit ance dipakai ket ika ada sebuah
USE CASE DIAGRAM - syst em boundar y
boxes
Digambarkan dengan kot ak disekit ar use case, unt uk
menggambarkan jangkauan sist em (scope of of your syst em).
Biasanya digunakan apabila t erdapat beberapa alt ernat if sist em yang dapat dijadikan pilihan
ACTIVITY DIAGRAM
M enggambarkan proses bisnis dan urut an akt ivit as
dalam sebuah proses
Dipakai pada business modeling unt uk
memperlihat kan urut an akt ifit as proses bisnis
St rukt ur diagram ini mirip flow chart at au Dat a Flow
Diagram pada perancangan t erst rukt ur
ACTIVITY DIAGRAM – simbol
Simbol Ket erangan
Start Point
End Point
Activities
Fork (Percabangan)
Join (Penggabungan)
Decision
Swimlane
Sebuah cara untuk mengelompokkan activity berdasarkan Actor
ACTIVITY DIAGRAM – cont oh
Supplier Bagian Pembelian
Bagian Gudang
Memberi informasi data Barang yang akan dipesan
Menerima
Kirim Barang disertai Faktur Terima Barang
dan Faktur
Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek
di dalam dan di sekitar sistem (termasuk pengguna,
display, dan sebagainya) berupa message yang digambarkan terhadap waktu.
Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respons dari sebuah event untuk
menghasilkan output tertentu
Diawali dari apa yang men-trigger aktivitas tersebut,
proses dan perubahan apa saja yang terjadi secara
Case St udy: ATM
Syst em
System Analysis:
1. Business Process Identification
Use Case Diagram
2. Business Process Modeling
Activity Diagram
3. Business Process Realization
Latihan
Terdapat Sist em ATM dimana pengguna dapat :
1. M elihat Saldo
2. M ent ransfer Uang
3. M engambil Uang
4. Logout
Buat lah use case diagram, act ivit y diagram, dan
Layar
Kotak Uang Kotak Kart u
M asukkan PIN:
Kotak Uang Kotak Kart u
M enu Utama
1. M elihat Saldo
2. M ent ransfer Uang
3. M engambil Uang
4. Logout
Kotak Uang Kotak Kart u
M enu M elihat Saldo
1. Saldo anda adalah ….
Kotak Uang Kotak Kart u
M enu M ent ransfer Uang
1. No Account Penerima:
Kotak Uang Kotak Kart u
M enu M ent ransfer Uang
1. Jumlah uang yang dikirim:
Kotak Uang Kotak Kart u
M enu M ent ransfer Uang
1. Uang berhasil t erkirim
Kotak Uang Kotak Kart u
M enu M engambil Uang
1. Jumlah uang yang diambil:
Kotak Uang Kotak Kart u
M enu M engambil Uang
Uang berhasil diambil
Kotak Uang Kotak Kart u
Use Case Diagr am
Pengguna
Sistem AT M
Memasukkan Kartu Memasukkan PIN
Mengecek Saldo
Mentransfer Uang
Mengambil Uang Melakukan Logout
Act ivit y Diagr am: Memasukkan Kar t u
Mulai
Pengguna Sistem ATM
Menyiapkan Kartu
Memasukkan Kartu Memv alidasi Kartu
kartu valid?
Menampilkan MenuPIN
Mengeluarkan Kartu
Selesai tidak
Act ivit y Diagr am: Memasukkan PIN
Pengguna Sistem ATM
Mulai
Memasukkan PIN
Memv alidasi Account
pin valid?
Menampilkan MenuUtama
lebih dari 3x?
Memblokkir Kartu
Selesai
ya tidak
tidak
Act ivit y Diagr am: Mengecek Saldo
Pengguna Sistem ATM
Mulai
Memilih Mengecek Saldo di Menu Utama
Memproses Pengecekan Saldo
Menampilkan Saldo di Menu Saldo
Act ivit y Diagr am: Ment r ansfer Uang
Pengguna Sistem ATM
Mulai
Memilih Mentransfer Uang di Menu Utama
Memasukkan Account Tuj uan
Memasukkan Jumlah Uang yang dikirim
Menghitung Kecukupan Saldo Pengirim Memv alidasi Account
Tuj uan
Account T ujuan Valid?
Saldo Cukup?
Mentransfer Uang
Selesai tidak
ya tidak
Act ivit y Diagr am: Mengambil Uang
Pengguna Sistem ATM
Mul ai
Memilih M enu Mengambil Uang di Menu Utama
Memasukkan Jumlah Uang
Mengecek Ketercukupan Saldo
Saldo Cukup?
Memproses Pengambilan Uang
Mengeluarkan Uang di Kotak Uang Mengambil Uang di Kotak
Uang
tidak
Act ivit y Diagr am: Melakukan Logout
Sistem ATM Pengguna
M ulai
Memilih Keluar di Menu Utama
M emproses Logout
Mengeluarkan Kuitansi
M engeluarkan Kartu Mengambil Kuitansi
Mengambil Kartu
Sequence Diagr am: Memasukkan Kar t u
Pengguna
(from 1 Use Case Diagram)
KotakKartu ProsesValidasiKartu MenuPIN
alt kartu v alid?
[ya]
[tidak]
memasukanKartu()
validasiKartu()
tampilkan()
Type of Class
1. Boundary Class
Class yang berhubungan dengan act or (user int erface)
2. Cont rol Class
Class yang berhubungan dengan pemrosesan, komput asi, penghit ungan, dsb
3. Ent it y Class
Sequence Diagr am: Memasukkan PIN
Pengguna
(from 1 Use Case Diagram)
M enuPIN ProsesValidasiAccount Account Login MenuUtama
alt PIN v alid?
[ya] [tidak]
alt lebih dari 3x?
[tidak]
[ya]
m emasukkanPIN()
validasi(id, pin)
Sequence Diagr am: Mengecek Saldo
Pengguna
(from 1 Use Case Diagram)
MenuUtama ProsesMengecekSaldo Account Balance Transaksi MenuMengecekSaldo
memilihMengecekSaldo()
lihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl, jenis)
Sequence Diagr am: Ment r ansfer Uang
Pengguna MenuUtama MenuMentransferUang ProsesM entransferUang Account pengirim:Bal ance penerim a:Balance T ransaksi
alt saldo cukup?
[ya]
[ti dak] memi li hMentransferUang()
tampilkan()
memasukkanJumlahUang()
memasukkanAccountT uj uan()
transferUang(id, jumlah)
getIDBalance() getSaldo()
setSal do(sal do)
setSaldo(saldo)
setT ransaksi(tgl, jenis)
tam pi lkanUangBerhasi lDi ki ri m()
Sequence Diagr am: Mengambil Uang
Pengguna MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance Transaksi KotakUang
alt saldo cukup?
[ya]
[tidak] memi lihMengambil Uang()
tampilkan()
memasukkanJuml ah()
ambi lUang(id, jumlah)
getIDBalance()
getSaldo()
setSaldo(saldo)
keluarkanUang(juml ah)
setTransaksi(tgl, jenis)
Tampi lkanUangBerhasil Diambil()
Sequence Diagr am: Melakukan Logout
Pengguna
(from 1 Use Case Diagram)
MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu
memilihKeluar()
tampilkan()
logout()
keluarkanKuitansi()
keluarkanKartu()