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
Model adalah “penyederhanaan” dari kenyataan yang ada Pemodelan 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
6
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
7
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
8
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
9
Model-Driven Development
10
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
11
12
Prinsip Pemodelan Berorientasi Objek
Prinsip Dasar Pengembangan Berbasis Objek
Abstraction
Encapsulation
Modularity
Hierarchy
13
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
14
Encapsulation
Menyembunyikan implementasi dari “klien”
Klien dapat mengakses implementasi melalui interface
Meningkatkan resiliency sistem Misalnya,
dapat “beradaptasi” dari perubahan
15
Modularity
“Memecah” sesuatu yang kompleks menjadi pecahan yang kecil – kecil
Membantu orang – orang untuk memahami sistem yang kompleks
16
Hierarchy
17
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
18
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
19
UML
UML adalah bahasa untuk :
Memvisualisasi / Visualizing
Menspesifikasi / Specifying
Mengkontruksi / Constructing
Mendokumentasikan / Documenting
“...sebuah artifact dari sistem perangkat lunak”
20
UML
UML dapat menggambarkan arsitektur sistem, kebutuhan sistem, pengujian sistem, perencanaan proyek, dan manajemen perilisan
21
UML
22 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
23
A Language Is Not Enough to Build a System
Team-Based Development
Modeling Language
Unified Process
24
Terimakasih v^^