510 likes | 870 Views
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.
E N D
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. • 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
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
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
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
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
Objects, Attributes, & Instances (cont.) Gambar 1. Menggambarkan Objek dalam UML
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.
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
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
Inheritance (cont.) Gambar 4. Generalisasi dan Spesialisasi
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.
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
Representasi Generalization/Specialization dengan UML Gambar 5. Generalisasi dan Spesialisasi dengan UML
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
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
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
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
Messages Message Komunikasi yang terjadi ketika satu objek memaksa metode objek lain (behavior) untuk meminta informasi atau beberapa action. Gambar 9. Message
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
Breaking … • Partner • Soda • Game • Food
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.
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.
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
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
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
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
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
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.
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:
Revised System Use-Case Model Diagram Gambar 13. Diagram Model Use Case yang Direvisi
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.
Use-Case Narrative Gambar 14. Use Case Place New Order
Abstract Use-Case Narrative Gambar 15. Use Case Enter New Member Order
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
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
Contoh Activity Diagram Gambar 16. Diagram Aktifitas
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?
Contoh Naratif Use-Case dengan kata benda diberi tanda Gambar 17. Contoh narative use case dengan kata benda diberi tanda
Potential Object List Gambar 18. Daftar Objek Potensial Sistem Layanan Anggota
Cleaning Up List of Candidate Objects Gambar 19. Menganalisis Daftar Objek Potensial
Proposed Object List Gambar 20. Daftar Objek yang Diusulkan
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.
m T e r i a a k s i h