210 likes | 398 Views
SE3414 RPL: Teknik Berorientasi Objek. Pengantar. Problem. Biaya proyek perangkat lunak meningkat Waktu pengembangan PL semakin lama Biaya pemeliharaan PL semakin tinggi Error PL semakin sering dibanding error perangkat keras.
E N D
SE3414RPL: Teknik Berorientasi Objek Pengantar
Problem • Biaya proyek perangkat lunak meningkat • Waktu pengembangan PL semakin lama • Biaya pemeliharaan PL semakin tinggi • Error PL semakin sering dibanding error perangkat keras Perkembangan teknologi perangkat keras yang pesat mendukung pengembangan PL yang besar dan kompleks
Kebutuhan Pengembang • maintainable • testable • reusable • dapat mengatasi system yang besar dan kompleks Pendekatan baru dalam membangun perangkat lunak yang menghasilkan PL yang lebih
Kebutuhan Klien • memenuhi kebutuhan fungsional • mampu beradaptasi dengan lingkungan bisnis yang berubah dengan cepat • memiliki waktu proses yang cepat dan tidak boros space • mudah dipelihara • dikembangkan dengan sumber daya yang minimal • dapat dipakai dalam jangka waktu yang lama Pendekatan baru dalam membangun perangkat lunak yang menghasilkan PL yang lebih
Pemeliharaan PL 3 penyebab masalah pemeliharaan: • Dekomposisi fungsional: Penambahan/pengurangan fungsionalitas PL akan menyebabkan perubahan yang besar pada PL bahkan arsitektur awal PL bisa menjadi hilang. • Modularitas yang rendah: modul-modul yang tidak otonom (kohesiv rendah) akan mempersulit pemrogram melakukan pengubahan pada sebuah modul. • Visibility data yang tinggi: Data yang terlalu visible dimana hampir setiap modul dapat mengakses data tersebut akan mempersulit perubahan pada data.
Object Modeling Technique (OMT) • Dibuat oleh James Rumbaugh • Memodelkan sistem ke dalam 3 buah model • Model objek, Direpresentasikan dalam model objek dan kamus data • Model dinamik Digambarkan dengan state diagram • Model fungsional Digambarkan dengan DFD
Tahapan dalam OMT (1) • Analisis sistem. Output: model objek, model dinamik, dan model fungsional • Perancangan sistem. Output: arsitektur sistem, performansi, alokasi sumber daya, strategi antisipasi problem, dan lain-lain.
Tahapan dalam OMT (2) • Perancangan objek Output: dokumen perancangan yang berisi detil model objek, model dinamik, model fungsional. (struktur data, algorima, kelas-kelas baru). • Implementasi Output: kode program.
Model Objek OMT Menggambarkan struktur objek pada sebuah sistem meliputi identitas objek, relasinya dengan objek-objek lain, atribut-atribut yang dimiliki, dan operasi-operasinya.
Model Dinamik OMT • Menggambarkan interaksi antar objek pada sistem, berbentuk graf yang node-nya merepresentasikan status dan busurnya transisi antar status
Model Fungsional OMT Digambarkan dengan Data Flow Diagram yang terdiri dari entitas eksternal, proses, data flow, dan data store
Metodologi Booch • Terdiri atas fase analisis dan perancangan • Menyediakan simbol: diagram kelas, diagram objek, diagram transisi status, diagram modul, diagram proses, dan diagram interaksi • Terdiri dari 2 tahap, yaitu: • Tahap pengembangan makro • Tahap pengembangan mikro
Booch Proses Pengembangan Makro • Konseptualisasi Menentukan tujuan dan prototype • Analisis dan pengembangan Mendefinisikan kelas & objek, diagram interaksi objek (skenario fungsi), diagram transisi status • Perancangan arsitektur sistem Mendefinisikan diagram kelas/objek, diagram modul, diagram proses • Evolusi/Implementasi Merupakan proses iteratif. Output: kode program. • Pemeliharaan
Booch Contoh Diagram Kelas
Booch Proses Pengembangan Mikro • Setiap proses makro masing-masing mempunyai proses mikro • Proses mikro merupakan deskripsi aktivitas detil oleh seorang atau sekelompok pengembang • Langkah: • Identifikasi kelas dan objek • Identifikasi semantik kelas dan objek • Identifikasi relasi kelas dan objek • Identifikasi antarmuka dan implementasi kelas dan objek
Object Oriented Software Engineering (OOSE) • Dibuat oleh Ivar Jacobson • Sering disebut juga ‘Objectory’ • Digunakan untuk pengembangan PL yang besar dan real time • Inti: penggunaan konsep use case • Output model: Model use case Model domain objek Model analisa objek Model implementasi Model test
OOSE Use Case • Merupakan skenario untuk memahami kebutuhan sistem • Menggambarkan interaksi antara pengguna dengan sistem • Menggambarkan tujuan dan tanggung jawab sistem pada pengguna • Dapat digambarkan dengan: Teks tanpa aliran kejadian yang jelas Teks dengan aliran data yang jelas Formal dengan pseudo code
OOSE Use Case • Bagaimana dan kapan use case mulai dan selesai • Interaksi antara use case dan aktor, termasuk kapan interaksi terjadi dan apa yang dipertukarkan • Bagaimana dan kapan use case menyimpan data • Exception pada aliran kejadian • Bagaimana dan kapan konsep persoalan ditangani