Object oriented analyst and design

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

PERANCANGAN PERANGKAT LUNAK (SOFTWARE DESIGN)
Pemrograman Berorientasi Objek
PEMODELAN ANALISIS Kuliah - 5
BPR – Tahap 1 (Persiapan)
Pertemuan 8 Proyek Sistem Informasi Viska Armalina, ST., M.Eng
Unified Modelling Language (UML)
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
PENGEMBANGAN SISTEM.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
BAB 1 KONSEP OOP.
Pertemuan 1 Konsep Dasar OOAD
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Keuntungan metodologi berorientasi objek.
Sistem berorientasi Objek & Unified Modelling Language
SIKLUS HIDUP SISTEM Proses Pengembangan sistem berasal dari system life cycle/siklus hidup sistem. Siklus hidup sistem terjadi begitu saja System.
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Perancangan Sistem Informasi Berorientasi Object
Pengembangan SISTEM secara TOTALITAS bahan 14
Pengantar UML.
Analisa dan Perancangan Berbasis Objek
Analisis dan Perancangan Berorientasi Objek (OOAD)
KONSEP DASAR PENDEKATAN OBJEK
Rekayasa Perangkat Lunak Konsep Orientasi Objek
Object-Oriented Design (OOD)
Object Oriented Design
Rekayasa Perangkat Lunak Model Proses PL
Introduction Object Oriented Analysis & Design
OOidentity, state and behavior
Materi 1: Konsep Pemrograman Berorientasi Objek Kelas dan Objek
Object oriented analyst and design
Perancangan Sistem Informasi
Analisa dan Desain Berorientasi Obyek
Pengantar Object Oriented Analysis and Design
Object-Oriented Analysis (OOA)
PENGEMBANGAN PERANCANGAN SISTEM
Konsep Dasar Pemrograman Berorientasi Objek
Object oriented analyst and design
SE3414 RPL: Teknik Berorientasi Objek
Object oriented analyst and design
KEBUTUHAN & SPESIFIKASI SOFTWARE
Pendahuluan Analisis & Desain Berorientasi Obyek (ADBO)
PEMODELAN PROYEK (UML)
Konsep Dasar Pemrograman Berorientasi Objek
Konsep Dasar Pemrograman Berorientasi Objek
KELAS & OBJEK SUSSI.
1.3 Konsep Dasar Pemrograman Berorientasi Objek
REKAYASA PERANGKAT LUNAK
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
INTRODUCTION.
PEMROGRAMAN BERORIENTASI OBYEK
ANALISA & DESAIN BERORIENTASI OBJEK
Pendekatan-Pendekatan Pengembangan Sistem
Unified Modelling Languange (UML)
Pengantar Analisa Desain Berorientasi Objek
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
PEMODELAN ANALISIS RPL – PERTEMUAN 5&6.
PENGEMBANGAN SISTEM.
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
Pertemuan 9 UML Diagram Class & Diagram Objek
Pertemuan 6 Unified Modeling Language (UML)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Pengembangan SISTEM secara TOTALITAS bahan 14
OBJECT ORIENTED ANALISYS AND DESIGN
Perkembangan Teknik Pemrograman
Analisis dan Desain Berorientasi Obyek PERTEMUAN 1.
OBJECT ORIENTED ANALISYS AND DESIGN
Konsep Aplikasi Berbasis Objek
Transcript presentasi:

Object oriented analyst and design Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id

INTRODUCTION OBJECT ORIENTED ANALYST AND DESIGN

What’s Object Oriented? [1] Object Oriented Paradigm saat ini merupakan pendekatan yang populer dalam menganalisa, desain, mengembangkan aplikasi khususnya pada skala besar Object Oriented? Suatu perspektif yang melihat element-elemen yang diberikan oleh suatu situasi dengan cara memecahnya ke dalam objek-objek dan hubungannya

What’s is Object Oriented Development? [1] Pandangan Tradisional program komputer: Membuat code dari eksekusi suatu form Menjalankan sebagai urutan operasi Baik sebagai pengenalan pemrograman, namun tidak untuk pengembangan sistem yang besar Pandangan Tradisional program komputer memiliki kesulitan: Perilaku (Behaviour) sulit digambarkan dalam bentuk suatu proses

What’s is Object Oriented Development? [1] Pengembangan berorientasi objek memungkinkan pengembang aplikasi untuk menentukan behaviour dengan memberikan method terhadap objek yang bersangkutan

What’s is Object Oriented Development? OOAD merupakan cara baru dalam memikirkan suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia nyata Pada dasarnya terdiri dari 2 : OOA (Object Oriented Analysis) OOD(Object Oriented Design) Sedangkan OOP berkaitan dengan meralisasikan OOD menggunakan bahasa pemrograman OO seperti Java atau C++

Object Oriented Analyst Vs Design OOA Mempelajari domain permasalahan bisnis untuk merekomendasikan perbaikan dan menentukan kebutuhan sistem untuk menyelesaikan permasalahan OOD Menentukan solusi teknis atau rancangan/computer-based dimana solusi ini berdasarkan kebutuhan sistem yang telah diidentifikasi pada proses analisis

Modeling A model is a simplification of reality. Pemodelan adalah suatu cara berpikir tentang persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata (real world). Why Modeling? To understand why a software system is needed, what it should do, and how it should do it. To communicate our understanding of why, what and how. To detect commonalities and differences in your perception, my perception, his perception and her perception of reality. To detect misunderstandings and miscommunications.

Modeling menangkap bagian penting dari sistem (James Rumbaugh) Business Process Computer System

Why OOAD? Memudahkan pemanfaatan ulang code dan arsitektur Lebih mencerminkan dunia nyata Kestabilan Perubahan kecil dalam requirement tidak berarti perubahan yang signifikan dalam sistem yang sedang dikembangkan Lebih mudah disesuaikan dengan perubahan

When should we use 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

Object oriented analyst and design concept

Key Concepts of Object-Oriented Design [1] Central Role of Object The Notion of A Class Abstract specification of functionality A Language To Define The System Standard Solution An Analysis Process To Model A System The Notions Of Extendability And Adaptability

Key Concepts of Object-Oriented Design [1] 1. Central Role of Object Object sebagai inti dari desain perangkat lunak bukan proses Proses rentan terhadap perubahan dan sebagian sistem lama tidak dapat digunakan kembali (re-usable) 2. The Notion of A Class Kelas-kelas mengijinkan perancang software untuk melihat object sebagai jenis entitas yang berbeda Object berpusat pada struktur data dan method yang dapat dimodifikasi/disesuaikan dengan kebutuhan Melihat sebagai object memungkinkan untuk menggunakan mekanisme klasifikasi untuk mengkategorikan jenis, mendefinisikan hirarki, dan terlibat pada ide-ide spesialisasi dan generalisasi

Key Concepts of Object-Oriented Design [1] 3. Abstract Specification of Functionality Dalam proses perancangan kita biasanya menentukan properti-properti dari object Spesifikasi adalah abstrak bahwa hal itu tidak menempatkan pembatasan pada bagaimana fungsi tersebut tercapai. 4. A Language To Define The System Unified Modelling Language (UML) telah terpilih sebagai alat standar untuk menggambarkan produk akhir dari kegiatan desain 3. Spesifikasi ini disebut dengan interface atau kelas abstrak 4. Dokumen-dokumen yang dihasilkan dalam bahasa ini dapat dipahami secara universal dan dengan demikian dapat digunakan sebagai blueprint yang dapat digunakan oleh enginer teknik lainnya

Key Concepts of Object-Oriented Design [1] 5. Standard Solution Adanya struktur objek memfasilitasi mendokumentasikan standar solution, disebut pola desain / design pattern. 6. An Analysis Process To Model A System Object oriented menyediakan kita dengan cara yang sistematis untuk menerjemahkan spesifikasi fungsional ke desain konseptual 5. Standar solusi ditemukan pada semua tahap pengembangan perangkat lunak, tetapi pola desain mungkin adalah bentuk paling umum dari penggunaan kembali suatu solusi. 6. Desain ini menjelaskan ketentuan sistematis kelas konseptual dari mana langkah-langkah berikutnya dari proses pembangunan yang menghasilkan kelas implementasi yang merupakan akhir software

Key Concepts of Object-Oriented Design [1] 7. The Notions Of Extendability And Adaptability Software memiliki fleksibilitas yang tidak biasanya ditemukan dalam perangkat keras, memungkinkan kita untuk memodifikasi entitas yang ada dengan cara-cara kecil untuk membuat yang baru. Inheritance atau pewarisan merupakan contoh dari konsep ini.

Other Related Concept Tidak cukup hanya memahami konsep kunci perancangan berorientasi objek. Terdapat konsep terkait lain yang diperlukan untuk memahami object oriented: Modular design and encapsulation Cohesion and coupling

Modular Design And Encapsulation [1] Modularity / modularitas mengacu pada gagasan menyusun sistem besar dengan mengembangkan sejumlah komponen yang berbeda secara independen dan kemudian mengintegrasikannya untuk menyediakan fungsionalitas yang diperlukan. Modularity ketika digunakan dengan tepat akan membuat modul individu relatif lebih sederhana dan sistem lebih mudah dipahami Setiap modul jelas harus menyediakan fungsi tertentu yang jelas ditentukan oleh sebuah Interface. Interface juga mendefinisikan bagaimana komponen lain dapat berinteraksi atau berkomunikasi dengan modul.

Modular Design And Encapsulation [1] Encapsulation / enkapsulasi mengacu pada penyembunyian detail modul dari implementasinya terhadap pihak external. Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri Class access level (public, protected, privat) adalah implementasi dari konsep encapsulation

Cohesion And Coupling [1] Salah satu konsep OOP yang cukup penting adalah low coupling dan high cohesion Coupling berhubungan dengan seberapa besar ketergantungn class dengan class yang lain Cohesion berhubungan dengan responsibility sebuah class.

Cohesion And Coupling [1] Semakin spesifik (tinggi) suatu responsibility class, maka semakin rendah tingkat ketergantungannya, begitu juga sebaliknya Tujuan utama dari konsep ini adalah, fleksibilitas sebuah class, artinya class yang didesain dengan low coupling dan high cohesion, akan mudah di modifikasi

Contoh Responsibility pada suatu Class

Benefit and Drawbacks of OO Development Benefit / Keuntungan Objek sering kali mencerminkan entitas dalam sistem aplikasi, ini yang membuat designer gampang membuat kelas Membantu meningkatkan produktivitas, karena kemampuan re-use software yang ada Lebih mudah untuk mengakomodasi perubahan, fleksibel. Contoh: meskipun ada perubahan requirement Mengurangi resiko dalam system development

Benefit and Drawbacks of OO Development Drawbacks / Kerugian Pada sistem yang kompleks, dengan banyaknya objects creation dan destruction serta objek yang berinteraksi dengan cara yang kompleks, mengakibatkan poor memory access times Susahnya mempelajari dan menggunakan OO principles serta nyaman dengan konsep ini, khususnya yang belum mengenal (terpaku dengan konsep struktural)

Class vs object

Class vs Object [2] Perbedaan Class dengan Object Sebuah class merupakan definisi abstract dari sebuah object Obyek merupakan hasil instansiasi dari class Obyek disebut juga dengan instance. Example: Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama (object memiliki sifat independen)

Class vs Object [2] Perbedaan Class dengan Object Class mendefinisikan struktur dan behaviour dari masing-masing object di dalam sebuah class Class bertugas sebagai template untuk pembuatan Object Class: konsep dan deskripsi dari sesuatu Object: instance dari class, bentuk (contoh)

Class vs Object [2] Attribute: Topi, Baju, Jaket, Tas Punggung, Tangan, Kaki, Mata Behavior: Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

Class vs Object [2] Attribute (State): Behavior: Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi Behavior: Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil Attribute  Variable(Member) Behavior  Method(Fungsi)

Implementation of Class Bagian-bagian Class Diagram

Implementation of Class Contoh Implementasi Code dari Class Diagram

Classes of Object How many classes do you see?

Attribute Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program Variable memiliki jenis (tipe), nama dan nilai Name & age adalah atribute (variabel) dari class Person

Method Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class Method biasa dikaitkan dengan Behaviour / Perilaku Yang bisa dilakukan oleh method – Merubah nilai atribut suatu obyek – Menerima informasi dari obyek lain – Mengirim informasi ke obyek lain untuk melakukan sesuatu

Class = Method + Variable romi@romisatriawahono.net Object-Oriented Programming Class = Method + Variable Class Sepeda gir kecepatan variable tampilkan kecepatan ubah gir method http://romisatriawahono.net

Object = Method + Variable yg Memiliki Nilai romi@romisatriawahono.net Object-Oriented Programming Object = Method + Variable yg Memiliki Nilai Object Sepedaku gir = 3 instance variable kecepatan = 10km/jam tampilkan kecepatan () kecepatan = 10 km/jam instance method ubah gir (2) gir = 5 http://romisatriawahono.net

Example Employee Class And Object

TERIMA KASIH