1 / 46

Oleh:

Pertemuan 07:. Systems Analysis and Design. ANALISIS DAN PEMODELAN BERORIENTASI OBJEK. MENGGUNAKAN UML. Oleh:. Purwanto, S.Si, M.Kom. Purwanto, S.Si, M.Kom. Object-oriented Analysis and Modeling Using the UML. Mendefinisikan pemodelan objek dan menjelaskan manfaatnya.

Télécharger la présentation

Oleh:

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. Pertemuan 07: Systems Analysis and Design ANALISIS DAN PEMODELAN BERORIENTASI OBJEK MENGGUNAKAN UML Oleh: Purwanto, S.Si, M.Kom Purwanto, S.Si, M.Kom

  2. Object-oriented Analysis and Modeling Using the UML • Mendefinisikan pemodelan objek dan menjelaskan manfaatnya. • Mengenali dan memahami konsep dan konstruksi dasar pemodelan objek • Mendefinisikan UML dan berbagai tipe diagramnya • Meningkatkan model use-case persyaratan bisnis menjadi model use-case analisis sistem • Membangun diagram kegiatan • Menentukan objeks, kelas dan hubungannya • Membangun sebuah diagram kelas

  3. Pengantar Pemodelan Objek Object-oriented analysis (OOA) Sebuah pendekatan yang dipergunakan untuk: • Mempelajari objek yang sudah ada untuk mengetahui apakah mereka dapat digunakan kembali atau atau diadaptasi untuk pemakaian baru, atau • Menentukan satu objek baru atau yang dimodifikasi yang akan digabung dengan objek yang sudah ada ke dalam suatu aplikasi komputasi bisnis yang sangat berharga Object modeling Teknik untuk mengidentifikasi objek di dalam lingkungan sistem dan mengidentifikasi hubungan antara objek-objek tersebut

  4. Introduction to the UML Modeling (Pemodelan) Proses merancang software sebelum melakukan pengkodean (coding). Dengan model diharapkan pengembangan software dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat. Unified Modeling Language (UML) Satu Kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek

  5. Objects, Attributes, & Instances Object Sesuatu yang ada atau dapat dilihat, disentuh atau dirasakan dan user menyimpan data serta mencatat perilaku mengenai sesuatu itu. Contoh: • Person, place, thing, or event • Employee, customer, instructor, student • Office, building, room • Product, computer, videotape

  6. Objects, Attributes, & Instances Attribute Data yang mewakili karakteristik interes tentang sebuah objek Contoh: Objek Customer memiliki atribut Customer Number, First Name, Last Name, Adress dll. Object instance Setiap orang khusus, tempat, sesuatu, atau kejadian dan juga nilai untuk atribut dari objek. Contoh: 4223212, Jhon, Robert, Jl. Merdeka 2123

  7. Objects, Attributes, & Instances (cont.) Gambar 1. Menggambarkan Objek dalam UML

  8. Behavior Behavior Kumpulan dari sesuatu yang dapat dilakukan oleh objek dan terkait dengan fungsi-fungsi yang bertindak pada data objek (atau atribut). Pada siklus berorientasi objek, pelaku objek merujuk kepada metode, operasi, atau fungsi. Contoh: Objek pintu, pintu dapat diasosiasikan sebagai behavior yang diasumsikan dapat dilakukan, misal pintu dapat dibuka, dapat terkunci dll.

  9. Object Classes Kelas (Class ) Satu set objek yang memiliki atribut dan behavior yang sama. Kadang-kadang disebut Object Class. Gambar 2. Menggambarkan Kelas dalam UML

  10. Pewarisan (Inheritance) Pewarisan Konsep dimana metode dan atau atribut yang ditentukan di dalam sebuah object class dapat diwariskan atau digunakan lagi oleh object class lainnya. Gambar 3. Hubungan Supertype dan Subtype

  11. Inheritance (cont.) Gambar 4. Generalisasi dan Spesialisasi

  12. Generalization/Specialization, Supertype, and Subtype Generalization/specialization Sebuah teknik dimana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan (atau diabstraksi) ke dalam kelasnya sendiri, disebut supertype. Atribut dan metode kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype). Supertype Sebuah entity yang berisi atribut dan behavior yang umum bagi satu atau lebih subtype kelas. Juga disebut kelas abstract atau parent.

  13. Generalization/Specialization, Supertype, and Subtype Subtype Sebuah kelas objek yang mewarikan atribut dan behavior dari sebuah kelas supertype dan kemudian mengisikan atribut dan behavior lain yang unik ke dalamnya. Juga disebut kelas child, dan jika berada di level terendah dan hierarki pewarisan, maka disebut concrete

  14. Representasi Generalization/Specialization dengan UML Gambar 5. Generalisasi dan Spesialisasi dengan UML

  15. Object/Class Relationships Object/classrelationship Asosiasi bisnis biasa yang ada di antara satu atau lebih objek dan kelas Gambar 6. Asosiasi Objek/ Kelas • Seorang Customer menempatkan nol atau lebih pesanan • Sebuah pesanan ditempatkan oleh satu dan hanya satu customer

  16. Multiplicity and UML Multiplicity Notations Multiplicity Jumlah kejadian minimum dan maksimum dari satu objek/ kelas untuk satu kejadian tunggal dari objek/ kelas yang terkait. Gambar 7. Notasi Multiplicity

  17. Aggregation Aggregation Sebuah hubungan dimana satu kelas “whole” yang lebih besar berisi satu atau lebih kelas “part” yang lebih kecil. Atau kelas “part” yang lebih kecil adalah bagian dari kelas “whole” yang lebih besar. Gambar 8a. Hubungan Agregasi Dasar

  18. Composition Compositionhubungan agregasi dimana “whole” bertanggung jawab atas pembuatan dan perusakan “bagian-bagian”. Jika “whole” rusak, maka “part” juga akan rusak. Gambar 8b. Hubungan Agregasi Komposisi

  19. Messages Message Komunikasi yang terjadi ketika satu objek memaksa metode objek lain (behavior) untuk meminta informasi atau beberapa action. Gambar 9. Message

  20. Polymorphism Polymorphismsecara harfiah berarti “banyak bentuk”, konsep bahwa objek yang berbeda dapat merespon pesan yang sama dalam cara yang berbeda. Override Teknik dimana satu subtype menggunakan sebuah atribut atau behavior yang diwariskan dari kelas (supertype) Gambar 10. Overriding Behavior

  21. Breaking … • Partner • Soda • Game • Food

  22. UML Diagrams • Use-Case Model Diagrams Secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Diagram ini mendekripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan ssitem tersebut. • Static Structure Diagrams • Class diagramsmenggambarkan struktur objek sistem. Diagram ini menunjukkkan kelas objek yang menyususn sistem dan juga hubungan antara kelas objek tersbut • Object diagrams serupa dengan diagram kelas, tetapi memodelkan instance objek aktual. Diagram ini tidak digunakan sesering diagram kelas, jika digunakan dapat membantu seorang developer untuk memahami struktur sistem secara baik.

  23. UML Diagrams • Interaction Diagrams • Sequence diagrams secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuensi apa. • Collaboration diagrams serupa dengan Sequence diagrams, tetapi tidak fokus pada timing atau skuensi pesan. Diagram ini menggambarkan interaksi (atau kolaborasi) antara objek dalam sebuah format jaringan. • State Diagrams Diagram state memodelkan behavior dinamis dari sistem • Statechart diagramsdigunakan untuk memodelkan behavior objek khusus yang dinamis. Diagram ini menggambarkan siklus hidup objek berbagai keadaan yang dapat diasumsikan oleh objek dan event-event yang menyebabkan objek beralih dari suatu state ke state lain • Activity diagrams secara grafis untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case.

  24. UML Diagrams • Implementation Diagrams Diagram implementasi juga memodelkan struktur sistem informasi, yaitu: • Component diagrams digunakan untuk menggambarkan organisasi dan ketergantungan komponen-komponen software sistem. Diagaram ini dapat digunakan untuk menunjukkan bagaimana kode pemrograman dibagi menjadi modul-modul • Deployment diagrams mendeskripsikan arsitektur fisik dalam istilah “node” untuk hardware dan software dalam sistem. Diagram ini menggambarkan konfigurasi komponen-komponen software run time, prosesor, dan peralatan yang membentuk arsitektur sistem

  25. Pada bab ini hanya fokus pada use case, kelas dan diagram kegiatan. Beberapa diagram lain akan didiskusikan pada bab selanjutnya. (a). Diagram Use Case (b) Diagram Kelas (c) Diagram Kegiatan Gambar 11. Diagram UML

  26. Memodelkan Deskripsi Fungsional Sistem Untuk persiapan melakukan pemodelan objek, perlu memperluas model use case persyaratan bisnis menjadi model use case analisis. • Memodelkan fungsi sistem • Menemukan dan mengidentifikasi objek bisnis • Mengorganisir objek dan mengidentifikasi hubungan objek Proses Pemodelan Objek Analisis berorientasi objek mengharuskan untuk mengidentifikasi kebutuhan fungsionalitas sistem dari pengguna, dan mengidentifikasi objek, atribut data objek, behavior yang diasosiasikandan hubungan yang mendudkung fungsionalitas sistem yang dibutuhkan. Ada tiga kegiatan umum dalam melakukan analisis berorientasi objek

  27. Membangun Model Use-Case Analisis Berikut ini adalah langkah-langkah model use-case analisis pada analisis berorientasi objek: • Mengidentifikasi, mendefinisikan dan mendokumentasikan pelaku-pelaku baru • Mengidentifikasi, mendefinisikan dan mendokumentasikan use case baru. • Mengidentifikasi semua re-use yang mungkin • Memperbaiki diagram model use-case (jika perlu) • Mendokumentasikan naratif use-case analisis sistem

  28. Langkah 1: Mengidentifikasi, mendefinisikan dan mendokumentasikan pelaku-pelaku baru Antara waktu model use case persyaratan bisnis dibuat dan waktu dimana model tersebut disetujui oleh pemilik sistem, analis sistem dan sebagian tim pengembang bekerjasama dengan para stakeholder melanjutkan untuk mempelajari lebih lanjut mengenai apa yang dibutuhkan supaya sistem itu berhasil. Contoh: Perlu pelaku baru Member Service Associate (orang yang berinteraksi dengan sistem untuk melakukan order dari internet atau e-mail), pada diagram use case Gambar 11 (a). Gambar 12. Actor Member Server Associate

  29. Langkah 2: Mengidentifikasi, mendefinisikan dan mendokumentasikan Use Case baru Member Service Associate memandu ke interaksi baru dengan sistem – menjadi use case baru. Use case yang diidentifikasi secara baru perlu didefinisikan dalam glossary pelaku use-case yang sebelumnya telah disiapkan. Langkah 3: Mengidentifikasi Semua re-Use yang mungkin. Jika memiliki dua use case yang memiliki tujuan bisnis yang sama tetapi teknologi interface atau pengguna sistem sebenarnya berbeda, maka kedua use case tersebut mungkin menggunakan langkah-langkah yang sudah umum. Untuk mengeliminasi langkah-langkah yang redundan, langkah-langkah umum tersebut diekstrak menjadi use case terpisah yang disebut abstract use case.

  30. Langkah 4: Memperbaiki Model Diagram Use Case (Jika Perlu) Dengan ditemukannya pelaku baru dan use case baru, sekarang baru memperbaiki diagram use-case yang telah dibuat pada Gambar 11. (a) untuk memasukkan item-item tersebut. Hasil Use Case yang telah direvisi, dengan pelaku yaitu Member Service Associate , dan use case yang baru diidentifikasi yaitu Enter New Member Order dan Determine Distribution Center & Release, adalah sebagai berikut:

  31. Revised System Use-Case Model Diagram Gambar 13. Diagram Model Use Case yang Direvisi

  32. Langkah 5: Mendokumentasikan naratif use-case analisis sistem Sekali semua use case persyaratan bisnis ditinjau kembali dan disetujui oleh pengguna, tiap use case akan diseleksi untuk menyertakan lebih banyak informasi untuk menentukan fungsionalitas sistem secara mendetail. System analysis use case use case yang mendokumentasikan interaksi antara user sistem dan sistem. Sangat detail dalam nenggambarkan apa yang diperlukan, tetapi bebas dari detail-detail dan batasan implementasi.

  33. Use-Case Narrative Gambar 14. Use Case Place New Order

  34. Use-Case Narrative (cont.)

  35. Abstract Use-Case Narrative Gambar 15. Use Case Enter New Member Order

  36. Modeling Use-Case Activities Activity diagram Sebuah diagram yang dapat digunakan untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use case atau logika behavior (metode) objek. Analisa sistem menggunakan diagram kegiatan untuk memahami secara lebih baik aliran dan rangkaian langkah-langkah use case. • Titik solid menggambarkan awal sebuah proses • Segi empat bersudut tumpul menggambarkan sebuah kegiatan atau tugas yang perlu dilakukan

  37. Modeling Use-Case Activities • Panah menggambarkan sasaran yang mengawali kegiatan • Bar hitam solid adalah sebuah bar sinkronisasi. Pada contoh diagram aktifitas berikut Send Order Confirmation dan Release Order to be Filled terjadi secara paralel dan dapat dilakukan di semua pesanan, tetapi keduanya harus dilakuakn sebelum proses dapat diakhiri. • Teks di dalam simbol “[]” menggambarkan sebuah sasaran yang merupakan sebuah hasil dari kegiatan keputusan • Tanda Diamon menggambarkan sebuah kegiatan keputusan • Titik solid didalam sebuah lingkaran berlubang menggambarkan akhir sebuah proses

  38. Contoh Activity Diagram Gambar 16. Diagram Aktifitas

  39. Menemukan dan mengidentifikasi Objek Bisnis • Menemukan objek Potensial • Meninjau setiap use case untuk menemukan kata-kata benda yang berhubungan dengan keseluruhan bisnis atau even. Gambar 17. menggambarkan use case dengan semua kata benda ditandai. Kemudian tiap kata yang ditemukan dalam tinjauan use case ditambahkan ke daftar objek potensial yang akan dianalisis lebih lanjut, sepert Gambar 18. • Select the Proposed Objects • Tidak semua kandidat (Kata benda) pada daftar menggambarkan objek bisnis yang ada di dalam lingkup domain masalah. Lihat gambar 19, tanda ‘’ kandidat yang dibuang, tanda “” menandakan mempertahankannya sebagai objek. • Pertanyaan berikut dapat membantu menentukan apakah kandidat itu harus dipertahankan atau dihapus: • Apakah kandidat ini sebuah sinonim dari objek lain? • Apakah kandidat ini di luar lingkup sistem? • Apakah kandidat ini tidak jelas dan perlu difokuskan? • Apakah kandidat ini sebuah tindakan atau sebuah atribut yang mendesjripsikan obyek lain?

  40. Contoh Naratif Use-Case dengan kata benda diberi tanda Gambar 17. Contoh narative use case dengan kata benda diberi tanda

  41. Potential Object List Gambar 18. Daftar Objek Potensial Sistem Layanan Anggota

  42. Cleaning Up List of Candidate Objects Gambar 19. Menganalisis Daftar Objek Potensial

  43. Proposed Object List Gambar 20. Daftar Objek yang Diusulkan

  44. Mengorganisir Objek dan Mengidentifikasi Hubungan Objek-Objek • Mengidentifikasi Asosiasi dan Multiplicity • Mengidentifikasi Hubungan Generalization/Specialization • Mengidentifikasi Hubungan Aggregation • Menyiapkan Diagram Kelas Diagram Kelas (Class diagram) Gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut.

  45. Bersambung…

  46. m T e r i a a k s i h

More Related