ANALISIS & DESAIN BERORIENTASI OBJEK

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
PEMODELAN ANALISIS Kuliah - 5
CLASS DIAGRAM.
Unified Modelling Language (UML)
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
Interaksi Objek.
PERANCANGAN BERORIENTASI OBJEK
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
Desain Berorientasi Obyek dan UML
Pertemuan 1 Konsep Dasar OOAD
UNIFIED MODELLING LANGUAGE
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Pemrograman Berorientasi Obyek1 Sejarah C – Martin Richard -> Bahasa Pemrograman BCPL 1970 – Ken Thomson (Bell Lab) -> Bahasa B yang membuat Unix.
Perancangan Berorientasi Objek (Object Oriented Analysis & Design)
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
Perancangan Sistem Informasi Berorientasi Object
Oleh : Veri Julianto, M.Si
CLASS DIAGRAM.
Rekayasa Perangkat Lunak UML (Unified Modelling Language)
Analisa dan Perancangan Berbasis Objek
Soal Kuis I PSBO.
Analisis dan Perancangan Berorientasi Objek (OOAD)
KONSEP DASAR PENDEKATAN OBJEK
Object-Oriented Design (OOD)
E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
Rinci Kembang Hapsari,S.Si, M.Kom
Analisa dan Desain Berorientasi Obyek
Pengantar Object Oriented Analysis and Design
Object-Oriented Analysis (OOA)
PEMROGRAMAN VISUAL II Outline: UML (Unified Modeling Language)
QUIZ PSBO Total : 35 PG.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Object oriented analyst and design
KEBUTUHAN & SPESIFIKASI SOFTWARE
Latihan Soal 1. Dalam membagun aplikasi tidak lepas dari SDLC(System Development Life Cycle), yang tidak masuk dalam kategori tahapan SDLC adalah a. Analisa.
SOAL PERTEMUAN 1-6 PSBO 4 SKS
REKAYASA PERANGKAT LUNAK
Oleh : Sri Herawati, S.Kom
PEMODELAN OBJECT ORIENTED
Soal PSBO Pert.1-6.
Waktu : 2 menit 30 detik/slide
KEBUTUHAN & SPESIFIKASI SOFTWARE
Perancangan Perangkat Lunak – Part 1
UNIFIED MODELLING LANGUAGE
REKAYASA PERANGKAT LUNAK
Analisis Model.
SOAL LATIHAN 1 SIMULA di perkenalkan pertama kali pada tahun …..
Pengantar Analisa dan Design Berbasis Objek
Perancangan PL berorientasi objeck
ANALISA & DESAIN BERORIENTASI OBJEK
Pendekatan-Pendekatan Pengembangan Sistem
Pengantar Analisa Desain Berorientasi Objek
Perancangan Sistem Berorientasi Objek Dengan UML
Pertemuan 9 UML Diagram Class & Diagram Objek
Pertemuan 6 Unified Modeling Language (UML)
Perancangan Berorientasi Objek (UML lanjutan)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Model Struktural dan Model Perilaku
Rekayasa Perangkat Lunak
Perancangan Berorientasi Objek (UML lanjutan)
Analisa Desain Berorientasi Objek
OBJECT ORIENTED ANALISYS AND DESIGN
OBJECT ORIENTED ANALISYS AND DESIGN
Universitas Indraprasta PGRI
Analisis dan Desain Berorientasi Obyek PERTEMUAN 1.
Perancangan Berorientasi Objek (UML lanjutan 2) Activity Diagram
TIM RPL Program Studi Teknik Informatika
Konsep Aplikasi Berbasis Objek
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

ANALISIS & DESAIN BERORIENTASI OBJEK Konsep Dasar OOAD ANALISIS & DESAIN BERORIENTASI OBJEK

Pendahuluan Konsep objek telah dikenal sejak lebih dari tiga puluh tahun yang lalu. Diawali dengan penggunaan pemrograman berorientasi objek (OOP), lalu berkembang menjadi konsep perancangan berorientasi objek (OOD) dan selanjutnya metode analisis dan perancangan berorientasi objek (OOAD) di tahun 1990

Pengantar Analisa & Desain Berorientasi Objek Tujuan OOAD: Untuk merubah analisa kebutuhan menjadi desain system Untuk mengembangkan arsitektur system yang kuat - Untuk menyesuaikan desain agar sesuai dengan lingkungan implementasi, dan mendesain untuk performance

Perbedaan Analisa dan Desain OO Fokus pada pemahaman masalah Penyempurnaan desain Perilaku System structure Functional requirement Small model Desain Fokus pada pemahaman solusi Operation dan Attribute Performance Mendekati code nyata Object Lifecycle Non-functional requirement Large model

ALASAN MENGGUNAKAN OO Pengembangan perangkat lunak itu sulit karena “perangkat lunak mudah diimpikan” Kompleksitas pengembangan perangkat lunak yang terus bertumbuh membutuhkan dukungan konsep yang lebih handal, guna ulang (reusable) dan natural OO menawarkan tipe data abstrak, modularitas, pemodelan informasi, proses software untuk mengatasinya Walaupun demikian, OO bukan jaminan sukses pengembangan perangkat lunak

Kapan & dimana kita memakai 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

Konsep OOAD Object Oriented Analysis Design (OOAD) adalah rekayasa perangkat lunak yang model pendekatan sistem sebagai kelompok interaksi objek. Beberapa entitas mewakili setiap obyek, yang menarik dalam sistem menjadi model dan kelas, elemen data, dan perilaku. Analisis berorientasi objek (OOA) berlaku objek modeling teknik untuk menganalisis fungsional persyaratan untuk sistem.

Konsep OOAD Secara singkat OOAD adalah metode analisis yang memeriksa requirements dari sudut pandang kelas-kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem. Sekarang ini terdapat berbagai metodologi yang digunakan dalam object oriented analisys and design (OOAD).

Inheritance (Pewarisan) Adalah konsep yang menyatakan bahwa metode atau atribut dalam kelas dapat diturunkan atau digunakan kembali oleh kelas lain.

Generalisasi,Supertype, dan Subtype Generalisasi/spesialisasi – atribut dan perilaku yang sama untuk beberapa kelas dikelompokkan ke dalam kelas tersendiri yang disebut supertype. Supertype – entitas yang berisi atribut dan perilaku yang sama untuk satu atau lebih subtipe kelas. Juga disebut parent class. Subtype – kelas yang mewarisi (inherit) atribut dan perilaku dari kelas supertype serta mungkin juga berisi atribut dan perilaku lain yang khusus. Juga disebut kelas anak (child). Jika berada pada tingkat yang paling rendah dalam hirarki pewarisan, akan disebut kelas konkret (concrete)

Polimorphism Arti : mempunyai banyak bentuk Merupakan suatu konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.

Berikut fungsi dengan nama gambar : Contoh Polimorphism pada C++ dapat dikenakan pada fungsi atau operator dan di kenal dengan overloading. Berikut fungsi dengan nama gambar : gambar(x,y); Menggambar titik gambar(x1,y1,x2,y2); Menggambar garis gambar(x,y,5); Menggambar lingkaran

encapsulation Adalah pembungkusan/pengemasan data dan fungsi dalam wadah bernama obyek. atau...Menyembunyikan operasi-operasi dari dunia luar dan dari obyek-obyek lain

Contoh Encapsulation Televisi : - Tampak luar hanya layar dan beberapa tombol operasi - Di dalam terkandung kompleksitas rangkaian elektronika

Asosiasion Merupakan relasi atau hubungan obyek satu dengan lainnya. Sebuah obyek dapat berelasi dengan obyek yang lain

Agregasi Agregasi – sebuah relasi yang menyatakan bahwa satu kelas “utuh (whole)” yang lebih besar memuat satu atau lebih kelas “bagian (part)” yang lebih kecil. Sebaliknya, kelas “bagian” adalah bagian dari kelas “utuh” Dalam UML 2.0 notasi agregasi sudah tidak dipakai lagi

Contoh Agregasi

Contoh Agregasi

Konsep class Mewakili sebuah benda atau barang ( kata benda) misalnya : mahasiswa, pelanggan, kendaraan Class Diagram Format and sample class: Package::Class visibility attribute:Type= Default value visibility Operation (Parameter):Return Type Person - name:String - address:String +setAddress(address:String) +getAddress():String +setName(name:String) +getName():String Visibility + Public : Able to access from any classes # Protected : Able to access from same class and its inherited classes ˜ Package : Able to access within same package - Private : Able to access from same class

Kelas Sekumpulan objek yang memiliki kemiripan dalam hal properti, atribut, prilaku, dan semantik. Proses klasifikasi dilakukan untuk membentuk kelompok dari beberapa objek yang memiliki kemiripan.

Kelas

Contoh Kelas di pemrograman PHP

Konsep Object Is Identical (because Object has own unique ID) What is Object is that Object: Is Identical (because Object has own unique ID) Has Behavior (because Object has Method) Has State (because Object has instance parameter) Mobil Super class Kijang Parent class Kijang NX2001 Child class Kijang NX2001 N 12345 Object

Relationships of Object There three types of relationship : Is-a (Generalization, Realization: Inheritance) Has-a (Association) Others (Association , Dependency) Association (Aggregation, Composition) Aggregation (One of associations) Composition (One of associations) Generalization Realization Dependency

Contoh Encapsulation Pada Perbankan Informasi/properties objek rekening : No rekening, Nama , alamat dll Perilaku/method objek rekening : buka, tutup, penarikan, penyimpanan, ubah nama, ubah alamat dll Kita bungkus/encapsulate informasi dan perilaku tersebut pada objek rekening Sehingga perubahan-perubahan pada sistem perbankan yang berkaitan dengan rekening diimplementasikan sederhana pada objek rekening

Contoh Pewarisan Pada Perbankan Objek Induk Rekening : Mempunyai karakteristik umum seperti no rekening, pemilik, tingkat suku bunga Objek Turunan (Mempunyai karakteristik yang unik dan mewarisi karakteristik umum dari objek induk) Rekening Deposito : atribut jatuh tempo dll Rekening Pinjaman : atribut batas kredit, cicilan minimum

Polymorphism Polymorphism (Banyak Bentuk) adalah suatu operasi yg mempunyai nama yg sama tetapi jika diberikan pada obyek yg berbeda akan mengakibatkan operasi yg berbeda pula.

4+1 Architecture Model Scenarios Logical view Development view System & Environment Process view Physical view

Flow of Architecture Process Logical view Development view Use Case System & Environment Process view Physical view

Use Case View Merupakan gambaran dari arsitektur sistem Menggambarkan interaksi antar objek dan antar sistem Digunakan untuk mengidentifikasi elemen-elemen arsitektur Menggambarkan dan menvalidasi desain arsitektur Titik awal dari pengujian purwarupa (prototype) arsitektur

UML Diagram for Architecture Use Case View Logical view Development view Use Case System & Environment Process view Use Case Diagram Physical view

Logical view Berkaitan dengan fungsional yang disediakan untuk end-user

UML Diagram for Architecture Logical View Sequence Diagram Communication Diagram* Class Diagram Logical view Development view Use Case System & Environment Process view Physical view

Development View Biasa juga disebut sebagai Implementation View Merupakan perspektif system dari mata seorang programmers Berkaitan dengan Software Management

UML Diagram for Architecture Development View Component Diagram* Package Diagram Logical view Development view Use Case System & Environment Process view Physical view

Process View Memandang system dari aspek dinamis Menjelaskan proses-proses dari system dan bagaimana komunikasi antar proses tersebut Fokus pada system saat dieksekusi

UML Diagram for Architecture Process View Logical view Development view Use Case System & Environment Process view Physical view Activity Diagram*

Physical View Biasa juga disebut Deployment view Sistem dari sudut pandang perekayasa system (system engineer) Berkaitan dengan topology dari komponen-komponen software pada physical layer dan komunikasi antar komponen

UML Diagram for Architecture Physical View Logical view Development view Use Case System & Environment Process view Physical view Deployment Diagram*

Tool Yang Mendukung UML Rational Rose (www.rational.com) Together (www.togethersoft.com) Object Domain (www.objectdomain.com) Jvision (www.object-insight.com) Objecteering (www.objecteering.com) MagicDraw (www.nomagic.com/magicdrawuml) Visual Object Modeller (www.visualobject.com)