OBJECT ORIENTED ANALISYS AND DESIGN Pengenalan Object Analysis And Design Adi Panca Saputra Iskandar, S.Kom, M.T | adipancaiskandar @gmail.com
Pengertian OOAD adalah metode analisis yang memerikasa requirements dari sudut pandang kelas kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek system atau subsistem.OOAD merupakan 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.
Blind People
Opini yg kuat Masing-masing benar Masing-masing salah Tidak satupun dari mereka pernah melihat gajah
Sofware Product
Pendekatan Berorientasi Objek Proses yang lebih teliti Banyak waktu yg disediakan utk mendapatkan requirement, membangun model requirement dan model analisis, selanjutnya diubah menjadi model desain Tidak perlu melihat code sampai waktu pembangunan 25%
Pengembangan Software “Proses untuk mengubah, memperbaiki, transformasi dan menambah produk yg ada”
Proses Pengembangan S/W Transformasi I (Analisis) Menerjemahkan kebutuhan user ke dalam requirements & tanggung jawab (resposibilities) sistem Bagaimana sistem akan digunakan dapat menambahkan informasi requirement
Proses Pengembangan S/W Transformasi II (Desain) Dimulai dengan pernyataan permasalahaan, berakhir dengan detil desain yg dapat diwujudkan menjadi sistem operasional Kegiatan pembangunan, termasuk definisi tentang bagaimana membangun perangkat lunak, pengembangan, pengujian, deskripsi desain dan program
Proses Pengembangan S/W Transformasi III (Implementasi) Menyempurnakan detil desain ke deployment sistem yang akan memenuhi kebutuhan user Memperhitungkan peralatan, prosedur, SDM, dll Bagaimana perwujudan produk (s/w) dalam lingkungan operasionalnya
Pengertian Obyek Obyek dalam “Software Analysis & Design” adalah sesuatu berupa konsep, benda, dan sesuatu yg membedakannya dari lingkungannya
Dasar OOA & OOD Terdapat 3 konsep dasar OOA & OOD: Pemodulan (Encapsulation) Penurunan (Inheritance) Polymorphism
Encapsulation Information hiding Pembungkusan, menjaga proses agar tidak dapat diakses sembarangan atau diintervensi Dilakukan utk menjaga keutuhan program agar dapat diakses sewaktu-waktu
BIKE Inheritance Hubungan dua kelas atau lebih Kelas parent mewariskan atribut dan metodenya kepada kelas child Terdapat atribut dan metode tambahan dari kelas child yg menjadi sifat khusus yg membedakannya BIKE
Polymorphism Dapat menimpa (override) suatu method dari parent yg diturunkan, sehingga memiliki kelakuan yg berbeda Obyek child melakukan metode yg sama dengan algoritma yg berbeda dengan parent
Kebutuhan bisnis dan user tidak sesuai Pergolakan Requirements Modules tidak terintegrasi Susah untuk dikelola Kelemahan yang terlambat diketahui Kualitas buruk Kinerja buruk Tidak ada upaya terkoordinasi dari tim
Gejala -> Penyebab -> Solusi Symptoms Root Causes Best Practices Tidak sesuai Requirements kacau Modules tdk sesuai Susah dikelola Penemuan yg lambat Kualitas rendah Kinerja rendah Masalah pengembang Kurangnya requirements Komunikasi yg ambigu Arsitektur rapuh Terlalu kompleks Tidak konsisten Kurangnya testing Penilaian subyektif Metode waterfall Perubahan tak terkontrol Kurangnya otomatisasi Bangun secara iteratif Kelola requirements Gunakan arsitektur komponen Pemodelan Visual (UML) Verfifikasi kualitas berkerlanjutan Mengontrol perubahan (UCM)
Metode Tahapan Pengembangan Produk diperoleh melalui tahapan Pengembangan = Software Development Life Cycle (SDLC) Contoh siklus hidup (SDLC): Waterfall model V model Spiral model CBD model Prototyping Extreme Model
Tujuan Metode Tahapan Pengembangan Kerangka kerja untuk tugas-tugas yang dibutuhkan untuk membangun perangkat lunak dengan kualitas tinggi . Strategi pengembangan PL yang melingkupi lapisan proses, metode dan alat bantu yang digunakan
Tahapan Metode Waterfall
Tahapan Metode Waterfall
Tahapan Metode Waterfall Requirements analysis and definition : Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. System and software design : Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. Implementation and unit testing : desain program diterjemahkan ke dalam kode kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji. Integration and system testing : Penyatuan unitunit program kemudian diuji secara keseluruhan (system testing). Operation and maintenance : mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai sebelum mengerjakan fase berikutnya.
Tahapan Metode Prototyping Sebagian besar customer hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses atau detil output.
Tahapan Metode Prototyping Requirements : developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagianbagian yang akan dibutuhkan berikutnya. Design : perancangan dilakukan cepat dan rancangan mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype. Evaluasi prototype : klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software.