Desain Berorientasi Obyek dan UML

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

REKAYASA PERANGKAT LUNAK
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
21-Aug-14 OO Concept E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 3 : Administrative dan Introduction 8 Oktober 2010.
Introduction to Object Oriented Diah Priharsari Sumber: DEV475 Mastering Object-Oriented Analysis and Design.
Model Data Pertemuan Minggu Ke-3.
BPR – Tahap 1 (Persiapan)
CLASS DIAGRAM.
Unified Modelling Language (UML)
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
Interaction Diagram.
Pertemuan 6 Structural modelling
BY DR. HERI NUGRAHA. SE.MSi
Architecture dan design
Ir. Waniwatining Astuti, M.T.I Rekayasa Perangkat Lunak
Analisis Model.
Interaksi Objek.
Yang akan dipelajari Pengenalan UML Sejarah Singkat UML
PERANCANGAN BERORIENTASI OBJEK
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
RELATIOPNSHIPS IN THE UML
OBJECTORIENTED ANALYSIS
Oleh : Veri Julianto, M.Si
Unified Modeling Language [UML]
CLASS DIAGRAM.
Visual Modelling Teguh Sutanto, S.Kom.,M.Kom.
Analisis Model.
Analisis dan Perancangan Berorientasi Objek (OOAD)
Lanjutan.
Lebih Lanjut Tentang UML
Rinci Kembang Hapsari,S.Si, M.Kom
OOidentity, state and behavior
Object-Oriented Analysis (OOA)
Relasi Antar Class Teguh Sutanto.
QUIZ PSBO Total : 35 PG.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
POLYMORPHISM.
KEBUTUHAN & SPESIFIKASI SOFTWARE
Class Diagram Siti Mukaromah, S.Kom.
PEMODELAN PROYEK (UML)
SOAL PERTEMUAN 1-6 PSBO 4 SKS
REKAYASA PERANGKAT LUNAK
Pertemuan 3 OOAD Coad Yourdon Pendahuluan + Notasi
PERANCANGAN BERORIENTASI OBJEK
Oleh : Sri Herawati, S.Kom
PEMODELAN OBJECT ORIENTED
UML Class Diagram.
Konsep & Perancangan Database
Use Case Diagram.
KEBUTUHAN & SPESIFIKASI SOFTWARE
PERANCANGAN BERORIENTASI OBJEK
Use Case Diagram.
Analisis Model.
ANALISA & DESAIN BERORIENTASI OBJEK
METHODOLOGYAND UML.
SE3414 RPL: Teknik Berorientasi Objek
Lanjutan.
Analisis dan Desain Berorientasi Obyek
PEMODELAN ANALISIS RPL – PERTEMUAN 5&6.
Relasi Antar Class Teguh Sutanto.
KelompoK 4 Agus Dwi Prayogo / 2928 Rian Chikita / 2942
Pertemuan 9 UML Diagram Class & Diagram Objek
Pemodelan Sistem PL.
Pertemuan 6 Unified Modeling Language (UML)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Analisa Desain Berorientasi Objek
Tahapan pengembangan sistem basis data
Konsep Aplikasi Berbasis Objek
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

Desain Berorientasi Obyek dan UML

Konsep OO Penyembunyian Informasi - menggunakan enkapsulasi untuk membatasi visibilitas eksternal OO mengenkapsulasi data, menyediakan akses dan visibilitas terbatas Penyembunyian Informasi dapat disediakan tanpa OO - adalah sebuah konsep lama

Konsep OO ... Retensi state- fungsi dan prosedur tidak mempertahankan state; objek mengetahui kondisi lampaunya (sebelumnya) dan mempertahankan state Identitas - setiap objek dapat diidentifikasi dan diperlakukan sebagai entitas yang berbeda Perilaku – state dan layanan secara bersama-sama menentukan perilaku objek, atau bagaimana sebuah objek merespon

Konsep OO .. Pesan - melalui mana obj pengirim menyampaikan permintaan ke obj sasaran Untuk melakukan permintaan O1 harus memiliki - penanganan untuk O2, nama dari operasi (metode), info pada operasi yang diperlukan O2 Format umum O2.metode (argumen)

Konsep OO .. Kelas - kelas adalah stensil dari mana objek diciptakan, mendefinisikan struktur dan layanan. Kelas memiliki: antarmuka yang mendefinisikan bagian mana dari sebuah objek dapat diakses dari luar tubuh yang mengimplementasikan operasi variabel instance untuk menahan state objek Objek dan kelas yang berbeda; kelas tipe, objek adalah sebuah instance State dan identitas adalah benda

Hubungan antara objek-objek Sebuah objek memiliki kemampuan tertentu - objek berinteraksi dengan obyek lain untuk layanan lain yg diperlukannya Beberapa cara yang berbeda untuk interaksi: Objek Pemasok adalah global untuk klien Obj Pemasok adalah parameter untuk beberapa operasi klien Obj Pemasok merupakan bagian dari obj klien Obj Pemasok secara lokal dinyatakan dalam operasi Hubungan dapat berupa agregasi (seluruh bagian hubungan), atau hanya hubungan server-klien

Pewarisan Pewarisan adalah unik untuk OO dan tidak ada dalam bahasa-bahasa berorientasi fungsi / model Pewarisan oleh kelas B dari kelas A adalah fasilitas dimana B secara implisit mendapatkan atribut dan operasi A sebagai bagian dari dirinya sendiri Pewarisan atribut dan metode dari A yang digunakan kembali oleh B Ketika B mewarisi dari A, B adalah subkelas atau kelas turunan dan A adalah kelas dasar atau superclass

Pewarisan .. Subkelas B umumnya memiliki bagian yang diturunkan (diwariskan dari A) dan bagian tambahan (baru) Oleh karena itu, B perlu menetapkan hanya bagian tambahan Menciptakan sebuah hubungan "adalah" - objek tipe B juga objek tipe A

Pewarisan ...

Pewarisan ... Hubungan pewarisan antara kelas membentuk hirarki kelas Dalam model, hirarki harus mewakili hubungan alami dalam ranah/domain masalah Dalam hirarki, semua fitur yang umum dapat terakumulasi dalam superclass Sebuah kelas yang ada dapat menjadi spesialisasi dari kelas umum yang ada - juga disebut hubungan generalisasi-spesialisasi

Pewarisan ... Pewarisan ketat - subkelas mengambil semua fitur dari kelas induk Hanya menambahkan fitur untuk mengkhususkannya Non-ketat: ketika beberapa fitur telah didefinisikan ulang Pewarisan ketat mendukung hubungan "adalah" sepenuhnyadan memiliki lebih sedikit efek samping

Pewarisan ... Pewarisan tunggal - subkelas mewarisi hanya dari satu superclass hirarki kelasnya berupa pohon Pewarisan berganda- kelas mewarisi dari lebih dari satu kelas Dapat menyebabkan konflik runtime pewarisan berulang - kelas mewarisi dari kelas, tetapi dari dua jalur terpisah

Pewarisan dan Polimorfisme Pewarisan menyebabkan polimorfisme, yaitu suatu objek dapat berasal dari berbagai jenis Sebuah objek tipe B juga merupakan objek tipe A Oleh karena sebuah objek memiliki jenis statis dan tipe dinamis Implikasi pada pemeriksaan jenis Juga membawa ikatan dinamis operasi yang memungkinkan penulisan kode umum di mana operasi melakukan hal yang berbeda tergantung pada jenis

Unified Modeling Language (UML) dan Pemodelan UML adalah sebuah notasi grafis yang berguna untuk analisis dan desain berorientasi objek Memungkinkan mewakili berbagai aspek dari sistem Berbagai notasi digunakan untuk membangun model yang berbeda untuk sistem metodologi OOAD menggunakan UML untuk mewakili model yang diciptakan

Pemodelan Pemodelan digunakan dalam banyak disiplin ilmu - arsitektur, rancangbangun pesawat, ... Sebuah model adalah penyederhanaan dari realitas/kenyataan "Semua model yang salah, beberapa di antaranya berguna“ Sebuah model yang baik mencakup elemen-elemen yang memiliki efek luas dan menghilangkan elemen-elemen minor Sebuah model sistem bukan merupakan sistem!

Mengapa membangun model? Model membantu kita memvisualisasikan sistem Membantu menentukan struktur sistem Memberikan kita template yang dapat memandu konstruksi Mendokumentasikan keputusan yang diambil dan alasannya

Pemodelan Setiap sistem yang kompleks membutuhkan beberapa model, yang mewakili aspek yg berbeda Model ini terkait namun dapat dipelajari secara terpisah Misalnya. Rencana arsitektur, rencana listrik, rencana pipa dari bangunan Model dapat berupa model struktural, atau perilaku

Gambar dalam UML Gambar use case Gambar desain Gambar proses Gambar implementasi Gambar penyerahan Kita akan fokus terutama pada model untuk desain - diagram kelas, diagram interaksi, dll

Diagram Kelas Kelas adalah blok bangunan dasar dari sistem OO karena kelas adalah unit pelaksanaan juga Diagram Class adalah bagian utama dalam sebuah desain OO. Ini menentukan : Kelas dalam sistem Asosiasi antara kelas Subtipe, hubungan supertipe

Class Diagram ... Kelas itu sendiri direpresentasikan sebagai kotak dengan nama, atribut, dan metode Ada konvensi untuk penamaan Jika kelas adalah suatu interface, ini bisa ditentukan oleh stereotipe <<interface>> Properti attribut/metode dapat ditentukan oleh tag antara { }

Kelas - contoh

Generalisasi-Spesialisasi Hubungan ini menyebabkan hirarki kelas Dapat ditangkap dalam diagram kelas Panah berasal dari subkelas ke superclass dengan kepala menyentuh Super Memungkinkan beberapa subkelas Jika spesialisasi ini dilakukan atas dasar beberapa diskriminator, panah dapat diberi label

Contoh - hirarki kelas

Asosiasi/agregasi Kelas memiliki hubungan-hubungan lainnya Asosiasi: ketika objek dari sebuah kelas membutuhkan layanan dari objek lain Tampil dengan garis yang menghubungkan kelas Multiplisitas dapat diwakili Agregasi: ketika suatu objek terdiri dari objek-objek lain Menunjukkan hubungan bagian-seluruh Disimbolkan dengan berlian (diamond) menghubungkan kelas

Contoh – asosiasi/agregasi

Diagram Interaksi Diagram Kelas mewakili struktur statis dari sistem (kelas dan relasinya) Tidak memodellan perilaku sistem Gambar perilaku - menunjukkan bagaimana objek berinteraksi untuk melakukan tindakan (biasanya use case) Interaksi antara objek, bukan kelas Diagram Interaksi dalam dua gaya Diagram kolaborasi Diagram urutan Keduanya memiliki kekuatan yang setara

Diagram Urutan Objek yang berpartisipasi dalam interaksi ditampilkan di bagian atas Untuk setiap objek, batang vertikal mewakili garis hidupnya Pesan dari satu objek ke objek lain, diwakili sebagai anak panah yang berlabel Jika pesan dikirimkan di bawah beberapa kondisi, ia bisa ditetapkan dalam kurung Waktu meningkat ke bawah, urutan peristiwanya tergambar di sana

Contoh - diagram urutan

Diagram Kolaborasi Juga menunjukkan bagaimana objek berinteraksi Alih-alih garis waktu, diagram ini lebih mirip seperti diagram state Pengurutan pesan ditangkap oleh penomorannya Setara dengan diagram urutan dalam kekuatan pemodelan

Contoh - diag kolaborasi

Diagram Lainnya Diagram kelas dan diagram interaksi merupakan yang paling umum digunakan selama desain Ada diagram lain yang digunakan untuk membangun berbagai jenis model yang berbeda

Diagram Lainnya Selain objek/kelas, dapat mewakili komponen, paket, subsistem Ini berguna untuk mengembangkan struktur arsitektur UML bisa diperluas - bisa memodelkan konsep baru tetapi yang serupa dengan menggunakan stereotip (dengan menambahkan <<name>>) Nilai yg ditandai dapat digunakan untuk menentukan sifat tambahan, misalnya private, readonly.. Catatan dapat ditambahkan

Simbol lainnya