A) Object
Oriented Analysis (OOA)
Object-oriented analysis (OOA) telah ada sejak 1988. orang yang telah
memakai metode ini adalah Shlaer-Mellor, Jacobson, Coad-Yourdon, and Rumbaugh.
Hasil sukses dalam penerapan metode ini dibuktikan di AT & T Bell Labs. AT
& T Bell Labs menerapkan metode ini dalam project besar yang disebut Call
Attempt Data Collection System (CADCS). Dari proyek tersebut didapat bahwa
penggunaan metode ini mengurangi 8% dari total waktu untuk spesifikasi
kebutuhan project dan pengurangan 30% staff effort.
Ada hubungan yang sangat erat antara Object-oriented analysis dan teknologi
object oriented yang lain. Diantaranya yaitu Object-Oriented Database,
Object-Oriented Design, and Object-Oriented Programming Languages. Dalam
penerapannya semua metode itu digunakan secara keseluruhan dalam project
disebut dengan metode object-oriented. Jika hanya melakukan analisis saja
dengan metode object-oriented dan tidak diikuti dengan design dan programming
dengan metode yang sama tentunya akan menambah kesulitan dalam pengambangannya.
Dalam kenyataannya ketiga metode diatas tidak bisa dilepaskan satu sama lain.
Karena memang untuk mendapatkan hasil yang maksimal dari metode
object-oriented, ketiganya harus ada.
OOA mempelajari permasalahan dengan menspesifikasikannya atau mengobservasi
permasalahn tersebut dengan menggunakan metode berorientasi objek. Biasanya
analisa sistem dimulai dengan adanya dokumen permintaan (requirement)
yang diperoleh dari semua pihak yang berkepentingan. (Mis: klien,developer,
pakar, dll)
Dokumen
permintaan memiliki 2 fungsi yaitu :
- memformulasikan kebutuhan klien
dan
- membuat suatu daftar tugas
Analisis
berorientasi obyek (OOA) melihat pada domain masalah, dengan tujuan untuk memproduksi
sebuah model konseptual informasi yang ada di daerah yang sedang dianalisis.
Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan apapun yang
mungkin ada, seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem harus dibangun.
Kendala pelaksanaan ditangani selama desain berorientasi objek (OOD). Analisis
dilakukan sebelum Design
Sumber-sumber
untuk analisis dapat persyaratan tertulis pernyataan, dokumen visi yang formal,
wawancara dengan stakeholder atau pihak yang berkepentingan lainnya. Sebuah
sistem dapat dibagi menjadi beberapa domain, yang mewakili bisnis yang berbeda,
teknologi, atau bidang yang diminati, masing-masing dianalisis secara terpisah.
Contoh dari
OOA:
Hasil
analisis berorientasi objek adalah deskripsi dari apa sistem secara
fungsional diperluan untuk melakukan, dalam bentuk sebuah model konseptual. Itu
biasanya akan disajikan sebagai seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram interaksi. Tujuan dari analisis
berorientasi objek adalah untuk mengembangkan model yang menggambarkan
perangkat lunak komputer karena bekerja untuk memenuhi seperangkat persyaratan
yang ditentukan pelanggan.
UML (Unified
Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar
untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari
sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML
sendiri juga memberikan standar penulisan sebuah sistem blue print, yang
meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang
spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem
software. Unified Model Language (UML) adalah bahasa universal untuk :
- memvisualisasikan grafis model
yang tepat
- menetapkan model yang tepat,
lengkap , dan tidak ambigu untuk mengampil semua keputusan penting dalam
analisis, desain dan implementasi
- membangun model yang dapat
dihubungkan langsung dengan bahasa pemrograman
- mendokumentasikan semua
informasi yang dikumpulkan oleh tim sehinngga memungkinkan untuk berbagi informasi
Object-Oriented
Analysis
- Object-oriented analysis adalah
suatu metoda analisis yang memeriksa syarat-syarat dari sudut pandang
kelas-kelas dan objek-objek yang ditemui pada ruang lingkup permasalahan.
- Mendefinisikan
kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus.
- Kemudian, membuat suatu model
obyek dengan kemampuan memenuhi kebutuhan-kebutuhan.
- Output: Model
kebutuhan-kebutuhan, biasanya menggunakan CRC Cards.
- Memberikan gambaran rinci dari
suatu sistem.
- Mengidentifikasi “WHAT”
kebutuhan fungsional (Use Cases)
- Identifikasi: objects, classes,
operations
- Identifikasi: object
relationships, object interations
- Bangun model-model di dunia
nyata menggunakan tampilan OO
- Tujuan dari OOA adalah untuk
memahami domain masalah dan meningkatkan ketelitian,konsistensi,
kelengkapan
B) Object
Oriented Design (OOD)
OOD mengubah model konseptual yang dihasilkan dalam analisis berorientasi
objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang dipilih dan
setiap non-fungsional – teknologi atau lingkungan – kendala.
OOD seperti:
Transaksi
throughput, response time, run – waktu platform, lingkungan pengembangan, atau
bahasa pemrograman.
Object-Oriented
Design
- Object-oriented design adalah
metoda untuk meng-arahkan arsitektur perangkat lunak yang didasarkan pada
manipulasi objek-objek sistem atau subsistem.
- Model kebutuhan-kebutuhan yang
dibuat pada fase analisis diperkaya dalan fase perancangan.
- Kadang-kadang ditambahkan lebih
banyak lagi atribut dan pelayanan.
- Ditambahkan antarmuka
obyek-obyek.
- Memberikan blueprint untuk
implementasi
- Menspesifikasi “HOW”
- Menspesifikasi: class
definitions, class categories
- Menspesifikasi: subsystems,
system architectures
- OOA + Rincian Implementasi
- Tujuan dari OO Design adalah
mengoptimalkan maintainability, reusability, enhancebility dan
Reliability.
C) Object
Modeling Technique (OMT)
Object Modeling Technique (OMT)
adalah bahasa pemodelan obyek untuk pemodelan dan desain perangkat lunak. Dikembangkan
oleh Rumbaugh, Blaha, Premerlani, Eddy dan Lorensen sebagai metode untuk
pengembangan sistem berorientasi obyek dan mendukung pemrograman berorientasi
obyek.
Object-Oriented Software Engineering
(OOSE) teknik desain perangkat lunak yang digunakan dalam pemrograman
berorientasi obyek. OOSE dikembangkan oleh Ivar Jacobson tahun 1992. OOSE
adalah metodologi desain berorientasi obyek yang menggunakan use case dalam
desain perangkat lunak. Termasuk di dalam OOSE model persyaratan (requirement),
analisis, desain, implementasi dan testing.
Tujuan
pemodelan menuru Raumbaugh (1991) Melakukan testing fisik dari entiti sebelum
membangunnya (simulasi), Komunikasi dengan konsumen, Visualisasi (alternatif
dari presentasi informasi). Mengurangi kompleksitas.
Terdapat 3
jenis model utama
1. Model
Obyek : konsep utama adalah class dan asosiasi dengan atribut dan operasi.
Relasi antar class berupa agregasi dan generalisasi
2. Model
Dinamis : merepresentasikan state/transisi model. Konsep utama adalah state,
transisi antar state dan event yang menyebabkan transisi. Aksi dimodelkan
sebagai kejadian dalam state
3. Model
Fungsional : menangani proses dari model, hubungan ke diagram alir data. Konsep
utama adalah proses, data store, data flow dan aktor.
SIKLUS OOSE
•
Requirements Engineering (Rekayasa Persyaratan) :
– Memperoleh
persyaratan (requirement)
– Analisa
berorientasi obyek
–
spesifikasi
• Desain OO:
– Desain
arsitektur
– Desain
detail
– Keduanya
membutuhkan transformasi dari persyaratan fungsional menjadi elemen desain OO
•
Implementasi atau Coding:
–
Pemrograman menggunakan bahasa pemrograman OO dan tool.
• Testing:
– Testing
unit: metode tes dalam setiap obyek
– Testing
integrasi: kolaborasi tes antar obyek
– Testing
sistem: tes keseluruhan sistem sebagai kumpulan obyek
– Testing
penerimaan (acceptance testing): tes untuk standarisasi dan kepuasan konsumen.
D) Object
Oriented Software Engineering (OOSE).
OOSE adalah suatu rekayasa
perangkat lunak yang digunakan untuk membangun sebuah software dengan melalui
serangkaian proses terlebih dahulu. Sedangkan object oriented software
engineering merupakan salah satu model/konsep dalam perancangan suatu rekayasa
piranti perangkat lunak sebelum melakukan pengkodean. konsep ini mulai
banyak digunakan tetapi konsep object oriented ini tidak dapat menjangkau
formalitas yang dapat dicapai oleh bahasa spesifikasi formal. Konsep ini
menggunakan metode Unified Modelling Laguange (UML) yaitu suatu metode modeling generasi
ketiga dan bahasa spesifikasi yang sifatnya non-proprietary. Sebenarnya
penggunaan dari UML itu sendiri tidak terbatas hanya pada dunia software
modeling, tetapi bisa pula digunakan untuk modeling hardware (engineering
systems) dan sering digunakan sebagai modeling untuk proses bisnis dan
juga modeling untuk struktur organisasi.
Kegunaan OOSE:
- Sebagai salah satu sumber utama
Unified Modeling Language (UML),
konsep dan notasi dari OOSE telah dimasukkan ke dalam UML.
- Bagian metodologi OOSE telah
berkembang menjadi Rational Unified Process (RUP).
- Alat OOSE telah diganti dengan
alat yang mendukung UML dan RUP.
- OOSE sebagian besar telah
digantikan oleh notasi UML dan oleh metodologi RUP.