OOAD Pengenalan Analisis Berorientasi Objek
ANALI SI S BERORI ENTASI OBJEK Defri Kurniaw an M .Kom
Analisa dan Desain Berorientasi Objek
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
Case St udy: ATM Syst em
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 perkakas (t ools) yang digunakan unt uk melakukan pemodelan berorient asi objek
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)
UM L
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 para st akeholders
Why Modeling? M odeling menangkap bagian pent ing dari sist em
(James Rumbaugh) Comput er Syst em Business Process
Visual M odeling adalah pemodelan yang menggunakan not asi grafik st andar
The Tr iangle of Success in Soft war e Dev.
Notation : Standard Tools : Support Standard and Process Process : Customer- Oriented M ethodology
UML Tools
Rat ional Rose
Visual Paradigm
Ent erprise Archit ect
M icrosoft Visio St ar UM L Net beans UM L Plugin
UML Diagr ams Use-Case Statechart Class Diagram Diagram Actor A Use Case 1 Use Case 2 add( ) Actor B sortBy Name( ) fetchDoc( ) FileMgr delete( ) FileList read( ) delete( ) add( ) DocumentList fList numField : int open( ) read() fill the docid : int get( ) name : int create( ) close( ) code.. fillDocument( ) sortFileList( ) Document Diagram Openning add f ile [ numberOf f ile==MAX ] / f lag OFF close f ile add f ile Writing Use Case 3 (from Persistence) GrpFile name : char * = 0 readDoc( ) Repository rep read( ) File
1 1 read( ) Reading close f ile Closing readFile( ) open( ) fillFile( ) create( ) Deployment 9: sortBy Name ( ) DocumentList Diagram Collaboration 1: Doc view request ( ) L mainWnd : MainWnd FileManager Repository Window95 Windows95 Windows95 Diagram user : Clerk fileMgr : FileMgr 7: readFile ( ) 5: readDoc ( ) 2: fetchDoc( ) 8: fillFile ( ) 4: create ( ) 6: fillDocument ( ) 3: create ( ) gFile : GrpFile Document GraphicFile File FileList ạđẳư°ỹáđ ĂểờóÀÌớđẳệ.EXE Windows NT ¹®¼°ü¸® ¿£Âø.EXE Windows NT Mainframe IBM ÀÀ¿ë¼¹ö.EXE Solaris ÓợÒỨổüĨợ ¾ơđấĨÍ Alpha UNIX ặ¯ÁÔạđẳư¿Ă ´ ởầẹ ºá± õáƯ 1: Doc view request ( ) »ç¿ëÀÚ°¡ ¿äûÇÑ´ Ù. user repository : Repository mainWnd fileMgr : document : gFile repository Component FileMgr Document document : Document µ¥ÀÌŸº£À̽º¼¹ö 2: fetchDoc( ) 3: create ( ) 4: create ( ) Diagram ° ´ ü¿¡ ¼³Á¤À» ¿äûÇÑ´ Ù. ÓợÒỨầđ ÁẵửĨĨỠ đừÍ ç ÓợÒỨ ÈÀÏ°ü¸®ÀÚ´  Àоî¿Â 6: fillDocument ( ) 7: readFile ( ) 5: readDoc ( )
Target È¸é °´ ü´  ÀоîµéÀÎ 9: sortByName ( ) º¸¿©Ẩ´ Ù. Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ ổ Í ấÒÌéự¡ Í ẽđừ ầỉĨớửổ Ỉị 8: fillFile ( ) System Forward and Reverse Sequence
Engineering Diagram
UML 2.0 UM L version 2.0 memiliki 14 diagram yang t erbagi pada 2 kelompok besar:
Behavior Diagrams
UML St r uct ur e Diagr ams
M ew akili dat a dan hubungan st at is pada
sist em informasi1. Class Diagram
2. Object Diagram 3.
Package Diagram
4. Deployment Diagram
5. Component Diagram
6. Composit e St ruct ure 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
Kelompok elemen-elemen UM L digunakan unt uk membent uk t ingkat konst ruksi yang lebih t inggi
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 M enggambarkan st rukt ur int ernal dari kelas yang kompleks
UML Behavior Diagr ams M enggambarkan hubungan dinamis ant ara objek yang mew akili sist em informasi bisnis
Sequence Diagram 3. Communicat ion Diagram 4. Int eract ion Diagram 5.
Timing Diagram 6. Behavior St at e M achine 7. Prot ocol St at e M achine 8. Use Cas e Diagrams
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
Komunikasi ant ara sekumpulan objek yang berkolaborasi dari suat u akt ivit as
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 M enangkap kebut uhan bisnis
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 dengan deployment diagram
UML Pr ocess (EA Spar x) 1
Use Cases Diagram 2. Act ivit y Diagram 3. Sequence Diagram 4. Class Diagram 5. Deployment Diagrams
UML Pr ocess (Kendal, 2011) 1.
Sebuah use case diagram , menggambarkan bagaimana sist em yang digunakan. Analis memulai dengan use case diagram
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
kelas dapat membuat st at echart diagram, yang berguna unt uk
menent ukan class met hodSyst 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 ) 3.
Entity-Relationship M odel
(Buat ER 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 )
M enggambarkan hubungan ant ara use case dan act or
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
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 diagram
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 andaUSE 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 <<include>> catat
Rekening data pribadiNasabah
USE CASE DIAGRAM - Associat ion <<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
caseBuka Rekening <<extend>> Nasabah
Buka Deposito
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
keadaan yang lain sendiri / perlakuan khusus (single condit ion)
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 Syst em boundary boxes dalam penggunaannya opt ional
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
membant u memahami proses secara keseluruhan
ACTIVITY DIAGRAM – simbol Simbol Ket erangan End Point Start Point
Activities Fork (Percabangan) Join (Penggabungan) Decision Swimlane activity berdasarkan Actor sebuah urutan yang sama) (mengelompokkan activity dalam Sebuah cara untuk mengelompokkan
ACTIVITY DIAGRAM – cont oh Bagian Gudang Bagian Pembelian Supplier Barang yang akan dipesan informasi Memberi informasi data Menerima
Buat
Terima Terima Barang Kirim Barang dan Faktur SPP SPP disertai Faktur SPBJ SPBJ SPBJ Buat Tandatangani Terima Melakukan Konfirmasi pembayaran pembayaran Terima Buat pembayaran Terima Kwitansi kwitansiSequence 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 internal dan output apa yang dihasilkan
Simbol Sequence Diagr am
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 Sequence Diagram
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 sequence diagram unt uk menggambarkan kasus di at as!
ATM Syst em
Layar
Kotak Uang Kotak Kart u Kotak Kuitansi
M asukkan PIN:
Kotak Uang Kotak Kart u Kotak Kuitansi
M enu Utama
1. M elihat Saldo
2. M ent ransfer Uang
3. M engambil Uang
4. Logout Kotak Kart u Kotak Uang Kotak Kuitansi
M enu M elihat Saldo 1. Saldo anda adalah …
Kotak Kart u Kotak Uang Kotak Kuitansi M enu M ent ransfer Uang
Kotak Kart u Kotak Uang Kotak Kuitansi M enu M ent ransfer Uang
Kotak Kart u Kotak Uang Kotak Kuitansi M enu M ent ransfer Uang
Kotak Kart u Kotak Uang Kotak Kuitansi M enu M engambil Uang
Kotak Kart u Kotak Uang Kotak Kuitansi M enu M engambil Uang
Uang berhasil diambil
Kotak Kart u Kotak Uang Kotak Kuitansi
Use Case Diagr am
Pengguna
Sistem AT M
Memasukkan Kartu Memasukkan PIN Mengecek Saldo Mentransfer Uang Mengambil Uang Melakukan Logout «include»Act ivit y Diagr am: Memasukkan Kar t u Pengguna Sistem ATM Mulai
Menyiapkan Kartu Memasukkan Kartu Memv alidasi Kartu kartu valid? tidak Mengeluarkan Kartu
Menampilkan MenuPIN
yaSelesai
Act ivit y Diagr am: Memasukkan PIN Pengguna Sistem ATM Mulai Memasukkan PIN
Memv alidasi Account
pin valid?
Menampilkan MenuUtama Memblokkir Kartu lebih dari 3x? Selesai ya tidak tidak ya
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
Selesai
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 ya
Act ivit y Diagr am: Mengambil Uang Pengguna Sistem ATM Memilih M enu Mengambil Mul ai Uang di Menu Utama tidak Memasukkan Jumlah Uang Mengecek Ketercukupan Saldo
Saldo Cukup? ya Memproses Pengambilan Uang Mengambil Uang di Kotak Uang Mengeluarkan Uang di Kotak Uang
Act ivit y Diagr am: Melakukan Logout Pengguna Sistem ATM M ulai
Memilih Keluar di Menu M emproses Logout Utama Mengeluarkan Kuitansi Mengambil Kuitansi M engeluarkan Kartu Mengambil Kartu Sel esai
Sequence Diagr am: Memasukkan Kar t u Pengguna KotakKartu ProsesValidasiKartu MenuPIN memasukanKartu() alt kartu v alid?
validasiKartu()
[tidak] [ya] tampilkan() mengeluarkanKartu()(from 1 Use Case Diagram)
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 Class yang berhubungan dengan dat a (flat file or dat abase)
Sequence Diagr am: Memasukkan PIN Pengguna
(from 1 Use Case Diagram) M enuPIN ProsesValidasiAccount Login Account MenuUtama alt PIN v alid? [ya] [tidak] alt lebih dari 3x? [tidak] [ya] m emasukkanPIN() validasi(id, pin) getIDLogin() getPIN() tampilkan() tampilkan() blokirAccount() errorKartuDiblokir()
Sequence Diagr am: Mengecek Saldo Pengguna
(from 1 Use Case Diagram) MenuUtama MenuMengecekSaldo ProsesMengecekSaldo Account Balance Transaksi memilihMengecekSaldo() lihatSaldo(id) getIDBalance() getSaldo() setTransaksi(tgl, jenis) tampilkanHasil(saldo)
Sequence Diagr am: Ment r ansfer Uang
Pengguna MenuUtama MenuMentransferUang ProsesM entransferUang Account pengirim:Bal ance penerim a:Balance T ransaksi
memi li hMentransferUang() memasukkanJumlahUang() tampilkan() memasukkanAccountT uj uan() transferUang(id, jumlah) alt saldo cukup? getIDBalance() getSaldo() [ya] setSal do(sal do) setSaldo(saldo) setT ransaksi(tgl, jenis) [ti dak] tampil kanErrorSaldoT idakCukup() tam pi lkanUangBerhasi lDi ki ri m()Sequence Diagr am: Mengambil Uang
Pengguna MenuUtama MenuMengambilUang ProsesMengambilUang Account Balance Transaksi KotakUang
memi lihMengambil Uang() memasukkanJuml ah() tampilkan() ambi lUang(id, jumlah) getIDBalance() getSaldo() [ya] alt saldo cukup? setSaldo(saldo) keluarkanUang(juml ah) Tampi lkanUangBerhasil Diambil() setTransaksi(tgl, jenis)[tidak] TampilkanErrorSal doTidakCukup()
Sequence Diagr am: Melakukan Logout Pengguna
(from 1 Use Case Diagram) MenuUtama MenuLogout ProsesLogout KotakKuitansi KotakKartu memilihKeluar() tampilkan() logout() keluarkanKuitansi() keluarkanKartu() tampilkanTelahKeluar()