1
Pemodelan Berorientasi Objek Pengenalan PBO dan UML Adam Hendra Brata
Review Materi PL
2
Materi Pemrograman Lanjut
Class & Object
Inheritance
Abstraction
Encapsulation
Polymorphism
Interface
Message
Exception
Pemrograman Berorientasi Objek
Pemrograman dan Pemodelan Berbasis Objek
Pemrograman Berbasis Objek
Bertitik berat pada teknik – teknik pemrograman untuk pembangunan aplikasi yang menggunakan konsep berorientasi objek
Bisa dilakukan dengan berbagai bahasa pemrograman yang mendukung pengembangan aplikasi berorientasi objek
3
Pemrograman dan Pemodelan Berbasis Objek
Pemodelan Berorientasi Objek
Bertitik berat pada metode analisis dan desain sistem yang menggunakan konsep berorientasi objek
Pemodelan ini pada umumnya adalah langkah awal pada pembangunan sebuah sistem sebelum dilakukan implementasi pembangunan, tidak terkecuali pada sistem komputer
4
5
Pengantar Pemodelan Berorientasi Objek
Model
6
Model adalah “penyederhanaan” dari kenyataan yang ada Model Bumi
Model USDP
Definisi Model
Model : representasi abstrak dari sesuatu yang nyata ataupun yang tidak nyata
Model : representasi dari sebuah obyek, sistem atau ide dalam bentuk yang berbeda dari aslinya
Model : sebuah obyek yang dibuat untuk merepresentasikan sesuatu untuk kemudahan pemahaman
Model : a theoretical construct that represents processes, with a set of variables and a set of logical & quantitative relationships between them
Contoh
model jembatan, model arus lalu lintas, model pesawat terbang, model proses pengembangan PL
7
Model
Catatan :
Kita biasanya membangun model sistem yang kompleks karena kita tidak dapat memahami sistem tersebut secara keseluruhan
Kita membangun model untuk dapat memahami sistem yang sedang kita kembangkan secara lebih baik
8
Pemodelan
Pemodelan = proses membuat model Dalam perspektif rekayasa sistem, pemodelan sistem adalah proses membangun atau membentuk sebuah model dari suatu sistem nyata dalam bahasa formal tertentu Pada dasarnya pemodelan sistem memiliki 4 tujuan utama : Membantu kita untuk memvisualisasikan sistem yang kita inginkan Memungkinkan kita untuk mendefinisikan struktur dan perilaku sistem Memberikan kita template yang akan memandu kita dalam melakukan konstruksi sistem Memberikan kita dokumentasi atas keputusan yang kita buat
9
Prinsip Pemodelan Visual
Model yang kita buat mempengaruhi bagaimana cara penyelesaian masalah yang terkait
Setiap model dapat dinyatakan pada berbagai tingkatan presisi
Model terbaik adalah yang “terhubung” dengan realitas yang ada
Tidak ada istilah 1 model tunggal cukup untuk menggambarkan semuanya
10
Model-Driven Development
Sebuah “evolusi” alami dari teknologi berorientasi objek
Enkapsulasi logika bisnis melalui pemodelan UML
Penggunaan pemodelan ini untuk mengotomatisasi pengembangan aplikasi, pen-generasi-an kode, pengujian dan pemeliharaan dari sistem
11
Model-Driven Development
12
Automated Generation
Model-Driven Architecture Computation Independent Model – Domain Model, Business Model, Requirements, etc.
CIM Transformation Rules
PIM
PIM
Platform Independent Model – Analysis/Design
PSM
Platform Specific Model – Design/ Implementation
Transformation Rules
PSM
PSM
Transformation Rules
Code, Files, Artifacts
An architectural style based on OMG initiative
13
14
Prinsip Pemodelan Berorientasi Objek
Prinsip Dasar Pengembangan Berbasis Objek
Abstraction
Encapsulation
Modularity
Hierarchy
15
Abstraction
Karakteristik penting dari suatu entitas yang membedakannya dari semua jenis entitas lain
Sifatnya tergantung pada perspektif pengamat
Bentuknya masih belum dalam wujud nyata, namun menunjukkan esensi ideal dari sesuatu
16
Encapsulation
Menyembunyikan implementasi dari “klien”
Klien dapat mengakses implementasi melalui interface
Meningkatkan resiliency sistem Misalnya,
dapat “beradaptasi” dari perubahan
17
Modularity
“Memecah” sesuatu yang kompleks menjadi pecahan yang kecil – kecil
Membantu orang – orang untuk memahami sistem yang kompleks
18
Hierarchy
19
Increasing abstraction
Asset
BankAccount
Decreasing abstraction
Savings
Checking
Security
Stock
RealEstate
Bond
Elements at the same level of the hierarchy should be at the same level of abstraction
20
Unified Modelling Language
UML
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem perangkat lunak
Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan pada perangkat keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun
21
UML
UML adalah bahasa untuk :
Memvisualisasi / Visualizing
Menspesifikasi / Specifying
Mengkontruksi / Constructing
Mendokumentasikan / Documenting
“...sebuah artifact dari sistem perangkat lunak”
22
UML
UML dapat menggambarkan arsitektur sistem, kebutuhan sistem, pengujian sistem, perencanaan proyek, dan manajemen perilisan
23
UML
24 Use Case Diagram
Deployment Diagram ºÐ»ê ȯ°æÀÇ ÇÏ µå¿þ¾î¹× ³×Æ®¿÷À¸ ·Î ÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ 𵨠- À©µµ¿ì 95 : Ŭ¶óÀÌ ¾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼¹ö - À¯´Ð½º ¸ Ó½Å: ÀÀ¿ë ¼¹ö ¹× µ¥ ÀÌ Å¸ ¼¹ö, Åë½Å ¼¹ö - I BM ¸ ÞÀÎ ÇÁ·¹ÀÓ: µ¥ ÀÌ Å¸ ¼¹ö, Åë½Å ¼¹ö
W indow s 95
W indow 95
W indow s 95
Use Case 1
¹®¼°ü¸ ® Ŭ¶óÀÌ ¾ðÆ®. EXE ¹®¼°ü¸ ® ¾ÖÇø ´
W indow s NT
Actor A
Actor B
Use Case 2
Solaris
¹®¼°ü¸ ® ¿£Áø.EXE
Alpha U NI X ÀÀ¿ë¼¹ö.EXE
W indow s NT
I BM
Use Case 3
M ainframe
µ¥ ÀÌ Å¸ º£ÀÌ ½º¼¹ö
Document Lis t
mainWnd
fileMgr :
document :
FileMgr
Document
gFile
repository Document
user
FileM gr
add( ) name : int delet e( )
fet chDoc( )
docid : int s ort ByName( ) numField : int
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸ ±â¸ ¦
get ( )
1: Doc view reques t ( )
»ç¿ëÀÚ °¡ ¿äûÇÑ´Ù .
open( ) clos e( ) 2: fet chDoc( )
read( )
FileLis t
s ort FileLis t ( ) fLis t
creat e( )
3: creat e ( )
fillDocument ( ) add( ) delet e( ) 1
4: creat e ( )
5: readDoc ( )
ÈÀÏ °ü¸ ®ÀÚ ´Â Àоî¿Â
6: fillDocument ( )
¹®¼ÀÇ Á¤º¸ ¸ ¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù . rep
7: readFile ( ) File Repos it ory
8: fillFile ( ) ( from Pers is t ence) read( )
ȸ é °´Ã¼´Â ÀоîµéÀÎ
9: s ort ByName ( )
GrpFile
name : char * = 0
°´Ã¼µé¿¡ ´ëÇØ ÀÌ ¸ §º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸ é¿¡
read( )
º¸ ¿©ÁØ´Ù .
readDoc( ) open( ) readFile( ) creat e( ) fillFile( )
Sequence Diagram
Class Diagram
read( ) fill t he code..
UML
25
A Language Is Not Enough to Build a System
Team-Based Development
Modeling Language
Unified Process
26
Terimakasih v^^