1 / 34

Desain Berorientasi Obyek dan UML

Desain Berorientasi Obyek dan UML. Konsep OO. Penye mbunyi an Informasi - menggunakan enkapsulasi untuk membatasi visibilitas eksternal OO mengenkapsulasi data, menyediakan akses dan visibilitas terbatas Penye mbunyi an Informasi dapat disediakan tanpa OO - adalah sebuah konsep lama.

gili
Download Presentation

Desain Berorientasi Obyek dan UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desain Berorientasi Obyek dan UML

  2. Konsep OO • Penyembunyian Informasi - menggunakan enkapsulasi untuk membatasi visibilitas eksternal • OO mengenkapsulasidata, menyediakan akses danvisibilitas terbatas • Penyembunyian Informasi dapat disediakan tanpa OO - adalah sebuah konsep lama

  3. Konsep OO ... • Retensi state- fungsidanprosedur tidak mempertahankan state; objek mengetahuikondisilampaunya (sebelumnya) dan mempertahankan state • Identitas - setiap objek dapat diidentifikasi dan diperlakukan sebagai entitas yang berbeda • Perilaku – statedan layanan secarabersama-samamenentukan perilaku objek, atau bagaimana sebuah objek merespon

  4. Konsep OO .. • Pesan - melalui mana obj pengirim menyampaikan permintaan ke obj sasaran • Untuk melakukanpermintaanO1 harus memiliki - penangananuntuk O2, nama dari operasi (metode), info padaoperasiyang diperlukanO2 • Format umum O2.metode(argumen)

  5. Konsep OO .. • Kelas - kelas adalah stensil darimanaobjek 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 menahanstateobjek • Objek dan kelas yang berbeda; kelas tipe, objek adalah sebuah instance • Statedan identitas adalah benda

  6. Hubungan antara objek-objek • Sebuah objek memiliki kemampuan tertentu - objekberinteraksi dengan obyek lainuntuk layanan lain ygdiperlukannya • Beberapa cara yang berbeda untuk interaksi: • Objek Pemasok adalah global untuk klien • Obj Pemasok adalah parameteruntuk 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

  7. Pewarisan • Pewarisan adalah unik untuk OO dan tidak ada dalam bahasa-bahasa berorientasi fungsi / model • Pewarisanoleh kelas B dari kelas A adalah fasilitas dimana B secara implisit mendapatkan atribut dan operasiA sebagai bagian dari dirinya sendiri • Pewarisanatribut 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

  8. 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

  9. Pewarisan ...

  10. 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

  11. 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 sedikitefeksamping

  12. Pewarisan ... • Pewarisan tunggal - subkelas mewarisi hanya dari satu superclass • hirarki kelasnyaberupa pohon • Pewarisanberganda- kelas mewarisi dari lebih dari satu kelas • Dapat menyebabkan konflik runtime • pewarisan berulang - kelas mewarisi dari kelas, tetapi dari dua jalur terpisah

  13. Pewarisan dan Polimorfisme • Pewarisanmenyebabkanpolimorfisme, yaitu suatu objekdapat berasaldari 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 ikatandinamis operasi yang memungkinkan penulisan kode umum di mana operasi melakukan hal yang berbeda tergantung pada jenis

  14. Unified Modeling Language (UML) dan Pemodelan • UML adalah sebuah notasi grafis yang berguna untuk analisis dan desain berorientasiobjek • 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

  15. Pemodelan • Pemodelan digunakan dalam banyak disiplin ilmu - arsitektur, rancangbangun pesawat, ... • Sebuah model adalah penyederhanaan dari realitas/kenyataan • "Semua model yang salah, beberapa diantaranyaberguna“ • Sebuah model yang baik mencakupelemen-elemenyang memiliki efek luas dan menghilangkan elemen-elemen minor • Sebuah model sistem bukanmerupakansistem!

  16. Mengapa membangun model? • Model membantu kitamemvisualisasikan sistem • Membantu menentukan struktur sistem • Memberikan kita template yang dapat memandu konstruksi • Mendokumentasikankeputusan yang diambil dan alasannya

  17. Pemodelan • Setiap sistem yang kompleks membutuhkan beberapa model, yang mewakili aspek ygberbeda • Model ini terkait namun dapat dipelajari secaraterpisah • Misalnya.Rencana arsitektur, rencanalistrik, rencanapipa daribangunan • Model dapat berupa model struktural, atau perilaku

  18. Gambardalam UML • Gambaruse case • Gambardesain • Gambar proses • Gambarimplementasi • Gambarpenyerahan Kita akan fokus terutama pada model untuk desain - diagram kelas, diagram interaksi, dll

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

  20. 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 olehstereotipe <<interface>> • Properti attribut/metode dapat ditentukan oleh tag antara {}

  21. Kelas - contoh

  22. 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

  23. Contoh - hirarki kelas

  24. 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 hubunganbagian-seluruh • Disimbolkandengan berlian (diamond) menghubungkan kelas

  25. Contoh – asosiasi/agregasi

  26. Diagram Interaksi • Diagram Kelas mewakilistruktur 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 • Keduanyamemilikikekuatan yang setara

  27. DiagramUrutan • Objek yang berpartisipasi dalam interaksi ditampilkan di bagian atas • Untuk setiap objek,batangvertikal mewakili garis hidupnya • Pesan dari satuobjek keobjeklain, diwakilisebagai anak panah yang berlabel • Jika pesan dikirimkan di bawah beberapa kondisi, ia bisa ditetapkan dalam kurung • Waktu meningkat ke bawah, urutan peristiwanyatergambardisana

  28. Contoh - diagram urutan

  29. Diagram Kolaborasi • Juga menunjukkan bagaimana objek berinteraksi • Alih-alih gariswaktu, diagram ini lebihmiripseperti diagram state • Pengurutan pesan ditangkap oleh penomorannya • Setara dengan diagram urutan dalam kekuatan pemodelan

  30. Contoh - diag kolaborasi

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

  32. Diagram Lainnya • Selainobjek/kelas, dapat mewakili komponen, paket, subsistem • Ini berguna untuk mengembangkan struktur arsitektur • UML bisadiperluas - bisa memodelkan konsep baru tetapi yang serupa dengan menggunakan stereotip (dengan menambahkan<<name>>) • Nilai ygditandaidapat digunakan untuk menentukan sifat tambahan, misalnyaprivate, readonly.. • Catatan dapat ditambahkan

  33. Simbol lainnya

More Related