1 / 48

OOAD Pengantar UML

OOAD Pengantar UML. Pendahuluan.

keira
Download Presentation

OOAD Pengantar 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. OOAD Pengantar UML

  2. Pendahuluan Konsep objek telah dikenal sejak lebih dari tiga puluh tahun yang lalu. Diawali dengan penggunaan pemrograman berorientasi objek (OOP), lalu berkembang menjadi konsep perancangan berorientasi objek (OOD) dan selanjutnya metode analisis dan perancangan berorientasi objek (OOAD) di tahun 1990

  3. Pengantar Analisa & Desain Berorientasi Objek Tujuan OOAD: • Untuk merubah analisa kebutuhan menjadi desain system • Untuk mengembangkan arsitektur system yang kuat - Untuk menyesuaikan desain agar sesuai dengan lingkungan implementasi, dan mendesain untuk performance

  4. Perbedaan Analisa dan Desain OO • Analisa • Fokus pada pemahaman masalah • Penyempurnaan desain • Perilaku • System structure • Functional requirement • Small model • Desain • Fokus pada pemahaman solusi • Operation dan Attribute • Performance • Mendekati code nyata • Object Lifecycle • Non-functional requirement • Large model

  5. ALASAN MENGGUNAKAN OO • Pengembangan perangkat lunak itu sulit karena “perangkat lunak mudah diimpikan” • Kompleksitas pengembangan perangkat lunak yang terus bertumbuh membutuhkan dukungan konsep yang lebih handal, guna ulang (reusable) dan natural • OO menawarkan tipe data abstrak, modularitas, pemodelan informasi, proses software untuk mengatasinya • Walaupun demikian, OO bukan jaminan sukses pengembangan perangkat lunak analisa dan desain sistem II -- irmathea --

  6. Kapan & dimana kita memakai OO? • Jika perangkat lunak (PL) yang dibangun cukup kompleks • Jika PL yang dibangun diperkirakan akan tumbuh makin kompleks di masa mendatang • Jika kita ingin membangun PL yang: • Berdasar pada komponen yang telah pernah ada sebelumnya (daur ulang) • Dapat dipergunakan kembali di masa mendatang (reusable) dan mungkin, kapanpun dan di manapun analisa dan desain sistem II -- irmathea --

  7. Konsep OOAD • Object Oriented Analysis Design (OOAD) adalah rekayasa perangkat lunak yang model pendekatan sistem sebagai kelompok interaksi objek. • Beberapa entitas mewakili setiap obyek, yang menarik dalam sistem menjadi model dan kelas, elemen data, dan perilaku. Analisis berorientasi objek (OOA) berlaku objek modeling teknik untuk menganalisis fungsional persyaratan untuk sistem.

  8. Konsep OOAD • Analisis dan disain berorientasi objek adalah cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata. • Dasar pembuatan adalah objek, yang merupakan kombinasi antara struktur data dan perilaku dalam satu entitas. • Pengertian "berorientasi objek" berarti bahwa kita mengorganisasi perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data dan perilakunya. • Konsep OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaitu analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). • OOA adalah metode analisis yang memeriksa requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. • OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.

  9. Konsep OOAD • Secara singkat OOAD adalah metode analisis yang memeriksa requirements dari sudut pandang kelas-kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. • Sekarang ini terdapat berbagai metodologi yang digunakan dalam object oriented analisys and design (OOAD).

  10. Package::Class Person visibility attribute:Type= Default value - name:String - address:String visibility Operation (Parameter):Return Type +setAddress(address:String) +getAddress():String +setName(name:String) +getName():String Konsep class • Mewakili sebuah benda atau barang ( kata benda) misalnya : mahasiswa, pelanggan, kendaraan • Class Diagram Format and sample class: Visibility + Public : Able to access from any classes # Protected : Able to access from same class and its inherited classes ˜Package : Able to access within same package - Private : Able to access from same class

  11. Kelas • Sekumpulan objek yang memiliki kemiripan dalam hal properti, atribut, prilaku, dan semantik. • Proses klasifikasi dilakukan untuk membentuk kelompok dari beberapa objek yang memiliki kemiripan.

  12. Kelas

  13. Contoh Kelas di pemrograman PHP

  14. Konsep Object What is Object is that Object: • Is Identical (because Object has own unique ID) • Has Behavior (because Object has Method) • Has State (because Object has instance parameter) Mobil Super class Parent class Kijang Child class Kijang NX2001 Kijang NX2001 N 12345 Object

  15. Association (Aggregation, Composition) Aggregation (One of associations) Composition (One of associations) Generalization Realization Dependency Relationships of Object There three types of relationship : • Is-a (Generalization, Realization: Inheritance) • Has-a (Association) • Others (Association , Dependency)

  16. Karakteritik Metodologi Berorientasi Objek • Metodologi pengembangan sistem berorientasi objek mempunyai tiga karakteristik utama: • Encapsulation (Pengkapsulan) • Inheritance (Pewarisan) • Polymorphism (Polimorfisme)

  17. Karakteritik Metodologi Berorientasi Objek • Encapsulation (Pengkapsulan) • Encapsulation merupakan dasar untuk pembatasan ruang lingkup program terhadap data yang diproses. • Data dan prosedur atau fungsi dikemas bersama-sama dalam suatu objek, sehingga prosedur atau fungsi lain dari luar tidak dapat mengaksesnya. • Data terlindung dari prosedur atau objek lain, kecuali prosedur yang berada dalam objek itu sendiri.

  18. Karakteritik Metodologi Berorientasi Objek • Inheritance (Pewarisan) • Inheritance adalahteknik yang menyatakanbahwaanakdariobjekakanmewarisi data/atributdanmetodedariinduknyalangsung. • Atributdanmetodedariobjekdariobjekindukditurunkankepadaanakobjek, demikianseterusnya. • Inheritance mempunyaiartibahwaatributdanoperasi yang dimilikibersamadianatarakelas yang mempunyaihubungansecarahirarki. • Suatukelasdapatditentukansecaraumum, kemudianditentukanspesifikmenjadisubkelas. Setiapsubkelasmempunyaihubunganataumewarisisemuasifat yang dimilikiolehkelasinduknya, danditambahdengansifatunik yang dimilikinya. • KelasObjekdapatdidefinisikanatributdan service darikelasObjeklainnya. • Inheritance menggambarkangeneralisasisebuahkelas.

  19. Karakteritik Metodologi Berorientasi Objek • Polymorphism (Polimorfisme) • Polimorfismeyaitukonsep yang menyatakanbahwaseuatu yang samadapatmempunyaibentukdanperilakuberbeda. • Polimorfismemempunyaiartibahwaoperasi yang samamungkinmempunyaiperbedaandalamkelas yang berbeda. • Kemampuanobjek-objek yang berbedauntukmelakukanmetode yang pantasdalammerespon message yang sama. • Seleksidarimetode yang sesuaibergantungpadakelas yang seharusnyamenciptakanObjek.

  20. Enkapsulasi • Enkapsulasi adalah menyembunyikan kompleksitas dari luar dan hanya membuka operasi-operasi yg diperlukan saja terhadap obyek-obyek lain.

  21. Contoh Encapsulation Pada Perbankan • Informasi/properties objek rekening : No rekening, Nama , alamat dll • Perilaku/method objek rekening : buka, tutup, penarikan, penyimpanan, ubah nama, ubah alamat dll • Kita bungkus/encapsulate informasi dan perilaku tersebut pada objek rekening • Sehingga perubahan-perubahan pada sistem perbankan yang berkaitan dengan rekening diimplementasikan sederhana pada objek rekening

  22. Inheritance Inheritance (Pewarisan ) adalah kelas yang mewariskan sifat-sifatnya ke kelas lainnya.

  23. Contoh Pewarisan Pada Perbankan • Objek Induk Rekening : Mempunyai karakteristik umum seperti no rekening, pemilik, tingkat suku bunga • Objek Turunan (Mempunyai karakteristik yang unik dan mewarisi karakteristik umum dari objek induk) • Rekening Deposito : atribut jatuh tempo dll • Rekening Pinjaman : atribut batas kredit, cicilan minimum

  24. Polymorphism • Polymorphism (Banyak Bentuk) adalah suatu operasi yg mempunyai nama yg sama tetapi jika diberikan pada obyek yg berbeda akan mengakibatkan operasi yg berbeda pula.

  25. Sejarah UML Th 1994. Munculnya tokoh pelopor (Booch,Rumbough dan Jacobson) Th 1995. Direlease draft pertama UML (versi 0.8) Th 1996. Pengkoordinasian oleh Object Management Group (OMG) Th 1997. Munculnya UML (versi 1.1) Th 1999. Penyusunan 3 buku UML oleh (Booch,Rumbough dan Jacobson) Th 1999. UML menjadi standart bahasa permodelan berorientasi objek Th 2003. Direlease UML versi 1.5 Th 2004 direlease UML Versi 2.0 (masih dalam pengembangan)

  26. Sejarah UML • Di awal tahun 1990, metode OO yang dikenalkan oleh Grady Booch dan James Rumbaugh menjadi amat populer, Rumbough menekankan pengembangan berorientasi objek berdasarkan pendekatan terstruktur, sementara Booch menerapkan metode objek pada bidang teknik dan bisnis. • Selanjutnya pada tahun 1995 muncul gagasan Booch dan Rumbough untuk menggabungkan metode mereka dengan membakukan notasi simbol yang digunakan dalam menggambarkan komponen sebuah aplikasi dan selanjtnya disebut Unified Method (UM). • Kemudian Ivar Jacobson bergabung bersama mereka untuk menyempurnakan metode objek ini, dengan menyusun konsep use-case. • Munculnya metode yang dibuat oleh Booch, Rumbough, dan Jacobson selanjutnya lebih dikenal sebagai bahasa Unified Modelling Language (UML ver 0.9). • Penggunaan UML semakin populer, dan pada tahun 1997 UML ver 1.0 dibawa ke dalam konferensi organisasi pemakai objek OMG (Object Management Group) yang akhirnya menyepakati untuk dijadikan sebagai standar metode pengembagan sistem dengan munculnya UML versi 1.1.

  27. UML (Unified Modelling Language) • UML = Unified Modelling Language • Sebuah“Bahasa" ygmenjadistandart untukvisualisasi, merancangdanmendokumentasikansistempirantilunak • Membuat model untuksemuajenisaplikasipirantilunak • Aplikasitersebutdapatberjalanpadasemuaperangkatkeras, semuasistemoperasi, jaringansertadapatditulisdalamsemuabahasapemrograman • Karena UML menggunakanclass danoperation dalamkonsepdasarnya, makaialebihcocokuntukpenulisanpirantilunakdalambahasabahasaberorientasiobjekseperti C++, Java, C# atau VB.NET. • UML tetapdapatdigunakanuntuk modeling aplikasiproseduraldalambahasa basic atau C.

  28. UML (Unified Modelling Language) • UML mendefinisikannotasi-notasitunggadansemantiknyabersama-samadidalamsebuah meta-model, yaitukumpulanberbagainotasisimbol UML yang secarabersamadigunakanuntukpengembangansuatuaplikasi yang lengkap. • UML adalahbahasapemodelan yang dapatdikembangkanlebihlanjutkedalamsuatubahasa program denganmenggunakan code generator sehinggaberpeluangamenjadidasarpengembangansuatu Case tools pengeembangansistem.

  29. Pengantar UML • Unified Modeling Language (UML) • Aturan-aturan pemodelan yang digunakan untuk mendeskripsikan sistem perangkat lunak dalam bentuk kumpulan obyek. • Note : • UML bukan sebuah metode untuk mengembangkan sisten tetapi notasi-notasi yang digunakan secara umum sebagai standar untuk pemodelan obyek.

  30. Diagram UML • Use case diagram • Class diagram • Object diagram • Statechart diagram • Activity diagram • Sequencediagram • Collaboration diagram • Component diagram • Deployment diagram • UML Versi 2.0 MasihdalamPengembangan

  31. Diagram –Diagram dalam UML 2.0 (1)

  32. Diagram –Diagram dalam UML 2.0 (2)

  33. Diagram –Diagram dalam UML 2.0 (3)

  34. Diagram –Diagram dalam UML 2.0 (3)

  35. Categories of UML Diagrams • Berdasarkan model, UML Logikal & Physical • Berdasarkan sifatnya, UML  Static(structural) & • Dinamic (Behaviour)

  36. 4+1 Architecture Model Logical view Development view Scenarios System & Environment Physical view Process view

  37. Flow of Architecture Process Logical view Development view Use Case System & Environment Physical view Process view

  38. Use Case View • Merupakangambarandariarsitektursistem • Menggambarkaninteraksiantarobjekdanantarsistem • Digunakanuntukmengidentifikasielemen-elemenarsitektur • Menggambarkandanmenvalidasidesainarsitektur • Titikawaldaripengujianpurwarupa(prototype)arsitektur

  39. UML Diagram for ArchitectureUse Case View Logical view Development view Use Case System & Environment • Use Case Diagram Physical view Process view

  40. Logical view • Berkaitan dengan fungsional yang disediakan untuk end-user

  41. UML Diagram for ArchitectureLogical View • Sequence Diagram • Communication Diagram* • Class Diagram Logical view Development view Use Case System & Environment Physical view Process view

  42. Development View • Biasa juga disebut sebagai Implementation View • Merupakan perspektif system dari mata seorang programmers • Berkaitan dengan Software Management

  43. UML Diagram for ArchitectureDevelopment View • Component Diagram* • Package Diagram Logical view Development view Use Case System & Environment Physical view Process view

  44. Process View • Memandang system dari aspek dinamis • Menjelaskan proses-proses dari system dan bagaimana komunikasi antar proses tersebut • Fokus pada system saat dieksekusi

  45. UML Diagram for ArchitectureProcess View Logical view Development view Use Case System & Environment Physical view Process view • Activity Diagram*

  46. Physical View • Biasa juga disebut Deployment view • Sistem dari sudut pandang perekayasa system (system engineer) • Berkaitan dengan topology dari komponen-komponen software pada physical layer dan komunikasi antar komponen

  47. UML Diagram for ArchitecturePhysical View Logical view Development view Use Case System & Environment Physical view Process view • Deployment Diagram*

  48. Tool Yang Mendukung UML • Rational Rose (www.rational.com) • Together (www.togethersoft.com) • Object Domain (www.objectdomain.com) • Jvision (www.object-insight.com) • Objecteering (www.objecteering.com) • MagicDraw (www.nomagic.com/magicdrawuml) • Visual Object Modeller (www.visualobject.com)

More Related