Object oriented analyst and design

Slides:



Advertisements
Presentasi serupa
KEBUTUHAN & SPESIFIKASI SOFTWARE
Advertisements

Pemrograman Berorientasi Objek
PEMODELAN ANALISIS Kuliah - 5
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Object Oriented Programming
PENGENALAN ANALISA SISTEM BERORIENTASI OBYEK
Pemrograman Lanjut Ratnokustiawan.wordpress.com.
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB I – KONSEP PBO.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Analisis Model.
Konsep Pemrograman Berorientasi Objek
Encapsulation, Inheritance, polymorphism, dan interface
PERANCANGAN BERORIENTASI OBJEK
Pertemuan 2 Konsep Aplikasi Berbasis Objek, UML dan Rational Rose
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Pemrograman Berorientasi Obyek Oleh Tita Karlita
ALGORITMA DAN PEMROGRAMAN 2C MATERI MINGGU KE-2 Pengenalan Teknik-teknik Bahasa Pemrograman Henny Medyawati.
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
Object Oriented Programming with JAVA 2011/2012
Pemrograman Berorientasi Obyek (PBO)
ANALISIS DAN PEMODELAN BERORIENTASI OBJEK DENGAN UML
1 Pertemuan 3 Unified Modeling language (UML) Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Analisis Model.
Analisis dan Perancangan Berorientasi Objek (OOAD)
KONSEP DASAR PENDEKATAN OBJEK
11. Konsep Berbasis Object (Object-Oriented Concept)
OBJEK dan KELAS Sutrisno PTIIK-UB.
Object oriented analyst and design
Access Modifier.
Inheritance (Pewarisan)
Perancangan Sistem Informasi
Object-Oriented Programming (OOP)
Object oriented analyst and design
Object-Oriented Analysis (OOA)
Encapsulation, Inheritance, Polymorphism
PEMROGRAMAN VISUAL II Outline: UML (Unified Modeling Language)
Teori *Karakteristik PBO*
QUIZ PSBO Total : 35 PG.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
MODIFIER JAVA.
KEBUTUHAN & SPESIFIKASI SOFTWARE
Association, Composition dan Inheritance
PPBO.
Konsep Dasar Pemrograman Berorientasi Objek
REKAYASA PERANGKAT LUNAK
PEMODELAN OBJECT ORIENTED
Karakteristik Pemrograman Berorientasi Objek
Object Oriented Programming
KEBUTUHAN & SPESIFIKASI SOFTWARE
REKAYASA PERANGKAT LUNAK
Analisis Model.
PEMROGRAMAN BERORIENTASI OBJECT 4 SKS 2 TEORI DAN 2 PRAKTEK
ANALISA & DESAIN BERORIENTASI OBJEK
Unified Modelling Languange (UML)
Object Oriented Programming
Pemrograman Berorientasi Objek
PEMROGRAMAN BERORIENTASI OBJEK
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
PEMODELAN ANALISIS RPL – PERTEMUAN 5&6.
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) PALANGKARAYA
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT (OOP)
Object-Oriented Programming (OOP)
KEBUTUHAN & SPESIFIKASI SOFTWARE
Analisa Desain Berorientasi Objek
Pemrograman berorientasi objek
Konsep Aplikasi Berbasis Objek
Object oriented analyst and design
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
DPH1C4 Pemrograman berorientasi Obyek
Transcript presentasi:

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

ANALISIS BERORIENTASI OBJECT

Analisis Terstruktur vs Berorientasi Object Memperlihatkan bagaimana caranya mereka melakukan transformasi data saat objek-objek data mengalir di dalam sistem yang akan dikembangkan Analisis Berorientasi Objek Berfokus pada pendefinisian kelas-kelas dan cara bagaimana mereka saling bekerjasama satu dengan yang lainnya

Analisis Berorientasi Object Pada Paradigma Analysis Design Berorientasi Object, Unified Modeling Language (UML) merupakan perkakas (tools) yang digunakan untuk melakukan pemodelan berorientasi objek

Analysis Design Paradigm and Diagrams Data-oriented  DFD Process-oriented  Flowchart Object-oriented (data + process)  UML

Konsep Komunikasi & Analisis Spesifikasi-spesifikasi kebutuhan pengguna harus diperoleh melalui aktifitas-aktifitas komunikasi sebelum dilakukannya analisis Sasaran dari spesifikasi kebutuhan adalah untuk memahami berbagai hal yang para stakeholder inginkan dari perangkat lunak yang akan dikembangkan Analisis adalah tindakan yang terjadi saat kebutuhan-kebutuhan sudah didapatkan

Requirement Requirement adalah pernyataan yang mendefinisikan tujuan atau batasan sistem yang harus terpenuhi Perlu dipahami oleh tim pengembang dan divalidasi oleh para stakeholder dan pengguna (user) Sebagai kriteria penentuan lolos / gagal yang dapat diverifikasi oleh tim penguji Prioritas yang ditetapkan dalam kaitannya dengan persyaratan lain

Requirement Requirement dibagi menjadi 2 (dua): Functional Requirement (persyaratan fungsional) “Functional requirements define what the system or application will do” Non-functional Requirement (persyaratan non fungsional) “A software requirement that describes not what the software will do, but how the software will do it, for example software performance requirements, software external interface requirements, design constraints, and software quality attributes” IEEE Definition

Non Functional Requirement Persyaratan perangkat lunak yang menggambarkan bagaimana perangkat lunak akan melakukannya, misalnya, persyaratan kinerja perangkat lunak, persyaratan antarmuka eksternal perangkat lunak, dan atribut kualitas perangkat lunak. Persyaratan nonfungsional sulit untuk diuji oleh karena itu, mereka biasanya dievaluasi secara subyektif

Contoh Functional & Non Functional Requirement Contoh Functional & Non Functional requirements dalam pengembangan Mobile Application: Functional Requirement: Cross platform compatible and works on most mobile browser Integrates a selected number of popular social networking sites in one place Communicates with social networking APIs User login and OAuth mechanisms to authorize Records and monitors social networking activity Stores the data locally Displays total statistics for the user

Contoh Functional & Non Functional Requirement Non functional requirements Record statistics accurately Fast navigation Should be available to users to use anytime

Validasi Kebutuhan Setelah kebutuhan-kebutuhan didapatkan, perlu melakukan validasi terhadap kebutuhan-kebutuhan tsb. Daftar pertanyaan seperti ini, perlu kita fikirkan: Apakah kebutuhan-kebutuhan dinyatakan dengan jelas? Mungkinkah kebutuhan-kebutuhan itu mengalami salah penafsiran? Apakah sumber kebutuhan-kebutuhan (misalnya: orang, aturan, dokumentasi) telah diidentifikasi? Apakah pernyataan final tentang kebutuhan-kebutuhan telah diperiksa atau dilacak sumber aslinya?

Model Analisis Sasaran model analisis adalah untuk memberikan deskripsi dari ranah informasional, fungsional, dan perilaku yang dibutuhkan untuk sistem-sistem berbasis komputer. Pemodelan analisis berfokus pada “Apa”, bukan “Bagaimana”

Letak Model Analisis Deskripsi Sistem Model Analisis Model Perancangan Model Analisis sebagai jembatan Deskripsi Model dan Model Perancangan

Elemen-elemen Model Analisis Secara umum, model-model analisis memiliki elemen-elemen spesifik seperti di bawah ini: Elemen berbasis skenario Elemen berbasis kelas Elemen berbasis aliran Elemen-elemen perilaku

Elemen-elemen Model Analisis Bentuk representasi yang berbeda memberi pertimbangan kebutuhan-kebutuhan sistem/ perangkat lunak dari berbagai sudut pandang yang berbeda

Elemen-elemen Model Analisis

Elemen-elemen Model Analisis Elemen-elemen berbasis skenario Memperlihakan bagaimana interaksi yang kelak akan terjadi antara pengguna dengan sistem/perangkat lunak Memperlihatkan sejumlah aktifitas berurutan yang terjadi saat perangkat lunak digunakan Elemen model berbasis kelas Memodelkan objek-objek yang akan dimanupulasi oleh sistem Memodelkan operasi-operasi yang akan diterapkan Memodelkan relasi yang terjadi antara objek satu dengan lainnya

Elemen-elemen Model Analisis Elemen-elemen perilaku (behavior) Memperlihatkan bagaimana event-event eksternal melakukan perubahan pada keadaan (state) sistem atau kelas-kelas yang ada di dalamnya Elemen-elemen berorientasi aliran Memperlihatkan sistem/perangkat lunak yang bertindak sebagai pelaku transformasi informasi Memperlihatkan bagaimana objek-objek data ditransformasikan saat mereka mengalir melintasi berbagai fungsi yang dimiliki sistem

KarakteriStik Metodologi Berorientasi Objek

Karakteritik Metodologi Berorientasi Objek Abstraksi (Abstraction) Pewarisan (Inheritance) Banyak Bentuk (Polymorphism) Pembungkusan (Encapsulation)

romi@romisatriawahono.net Object-Oriented Programming Abstraction Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang saling berinteraksi. Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman Alat meng-abstraksikan sesuatu adalah class Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain http://romisatriawahono.net

romi@romisatriawahono.net Object-Oriented Programming http://romisatriawahono.net

romi@romisatriawahono.net Object-Oriented Programming http://romisatriawahono.net

Encapsulation Enkapsulasi adalah menyembunyikan kompleksitas dari luar dan hanya membuka operasi-operasi yg diperlukan saja terhadap obyek-obyek lain Class access level (public, protected, privat) adalah implementasi dari konsep encapsulation Abstraction dan encapsulation saling berkomplemen: Abstraction fokus pada sudut pandang dari luar Encapsulation membatasi client dari melihat isi dari dalam sebuah object

Encapsulation Enkapsulasi data juga dapat dilakukan dengan cara: romi@romisatriawahono.net Object-Oriented Programming Encapsulation Enkapsulasi data juga dapat dilakukan dengan cara: mendeklarasikan instance variable sebagai private mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut http://romisatriawahono.net

Contoh Encapsulation

Contoh Encapsulation Perbankan Informasi / properties kelas rekening: no rekening, nama, alamat, dll Perilaku / method kelas 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

Inharitance (Pewarisan) Mekanisme untuk menurunkan/mewariskan atribut (data) dan operasi (behavior) dari sebuah kelas ke kelas yang lain Kelas induk/dasar (super class) Kelas turunan (derived class/sub-class) Atribut dan operasi dari kelas induk menjadi bagian / anggota dari kelas turunan Kelas turunan bisa memiliki atribut dan operasi yang tidak ada pada kelas induk  kelas turunan sebagai perluasan (extension)

Inharitance (Pewarisan) romi@romisatriawahono.net Object-Oriented Programming Inharitance (Pewarisan) Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Penting untuk Reusability Java Keyword: extends http://romisatriawahono.net

Class SepedaGunung Mewarisi Class Sepeda romi@romisatriawahono.net Object-Oriented Programming Class SepedaGunung Mewarisi Class Sepeda public class SepedaGunung extends Sepeda{ private int sadel; void setSadel (int jumlah) { sadel = getGir() - jumlah; } int getSadel(){ return sadel; public class SepedaGunungBeraksi { public static void main(String[] args) { SepedaGunung sg=new SepedaGunung(); sg.setGir(3); System.out.println(sg.getGir()); sg.setSadel(1); System.out.println(sg.getSadel()); } SepedaGunung.java SepedaGunungBeraksi.java http://romisatriawahono.net

Contoh Inheritance (Pewarisan)

Contoh Inheritance (Pewarisan)

Polymorphism (Banyak Bentuk) Polimorfisme yaitu konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku berbeda. Kemampuan untuk memperlakukan object yang memiliki perilaku (bentuk) yang berbeda

Polymorphism (Banyak Bentuk) Polimorfisme mempunyai arti bahwa operasi yang sama mungkin mempunyai perbedaan dalam kelas yang berbeda. Kemampuan objek-objek yang berbeda untuk melakukan metode yang pantas dalam merespon message yang sama. Implementasi konsep polymorphism: Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah)

Contoh Polymorphism

Contoh Polymorphism

Polymorphism – Overloading romi@romisatriawahono.net Object-Oriented Programming Polymorphism – Overloading class Lingkaran{ void gambarLingkaran(){ } void gambarLingkaran(int diameter){ ... void gambarLingkaran(int diameter, int x, int y){ ... void gambarLingkaran(int diameter, int x, int y, int warna, String namaLingkaran){ ... http://romisatriawahono.net

TERIMA KASIH