muhlis tahir 092904033 ptik a 2009 · perancangan berorientasi objek adalah strategi perancangan di...
TRANSCRIPT
Perancangan berorientasi objek adalah strategi perancangan di mana
perancangan sistem memikirkan ‘benda’ dan bukan operasi atau fungsi.
Sistem yang berjalan terdiri dari objek-objek yang berinteraksi yang
mempertahankan status lokal mereka sendiri dan menyediakan operasi
bagi informasi status tersebut. Merancang sistem dengan menggunakan
objek mandiri (self-contained object) dan kelas objek .
Desain Berorientasi Objek (OOD)
Karakteristik OOD
Obyek merupakan abstraksi dari dunia nyata atau entitas sistem dan
mengatur diri mereka sendiri
Objek bersifat independen dan merangkum keadaan dan representasi
informasi
Fungsi sistem dinyatakan dalam hal objek layanan
Area share data ditiadakan. Objek berkomunikasi dengan
menyampaikan pesan
Obyek dapat didistribusikan dan dapat dilakukan secara berurutan atau
paralel.
Interaksi Objek
state o3
o3:C3
state o4
o4: C4
state o1
o1: C1
state o6
o6: C1
state o5
o5:C5
state o2
o2: C3
ops1() ops3 () ops4 ()
ops3 () ops1 () ops5 ()
Sistem yang terdiri dari objek-objek yang berinteraksi yang
mempertahankan status lokal mereka sendiri dan menyediakan
operasi bagi informasi status tersebut. Mereka menyembunyikan
informasi mengenai representasi status dan dengan demikian
membatasi akses terhadapnya.
Proses perancangan berorientasi objek melibatkan perancangan
kelas objek dan hubungan antara kelas-kelas ini. Ketika desain telah
direalisasikan sebagai program yang berjalan, objek yang dibutuhkan
dibuat secara dinamis dengan memakai definisi kelas.
Keuntungan OOD Perawatan lebih mudah. Objek dapat dipahami sebagai entitas
yang berdiri sendiri.
Objek adalah komponen sesuai yang dapat digunakan kembali/
dapat dipakai ulang karena merupakan enkapsulasi yang
independen dari status dan operasi.
Untuk beberapa sistem, mungkin ada pemetaan yang jelas dari
entitas dunia nyata ke objek sistem.
Pengembangan Berorientasi Objek
Analisis berorientasi objek (OOA), desain dan pemrograman saling
berkaitan tetapi berbeda
OOA berkaitan dengan pengembangan model obyek dari domain
aplikasi.
OOD berkaitan dengan model pengembangan sistem berorientasi
objek untuk melaksanakan persyaratan
OOP berkaitan dengan realisasi OOD menggunakan bahasa
pemrograman OO seperti Java atau C++.
Objek Dan Kelas Objek Objek adalah suatu entitas dalam suatu sistem perangkat lunak yang
mewakili contoh-contoh dari dunia nyata dan entitas sistem .
Objek juga berarti suatu entitas yang memiliki status dan set operasi
terdefinisi yang beroperasi pada status tersebut.
Kelas objek adalah template untuk objek. Mereka dapat digunakan
untuk membuat objek.
Kelas object dapat mewarisi sifat dan service dari kelas objek yang
lain.
Objek
Objek adalah sebuah entitas yang memiliki bentuk dan satu set
operasi terdefinisi yang beroperasi dalam bentuk tersebut. Bentuk ini
direpresentasikan sebagai himpunan sifat objek. Operasi berkaitan
dengan objek yang memberikan layanan kepada obyek lain (klien)
yang meminta layanan ini ketika beberapa perhitungan diperlukan.
Objek dibuat berdasarkan beberapa definisi kelas objek. Definisi
kelas Object berfungsi sebagai template untuk objek. Template Ini
mencakup deklarasi semua sifat dan layanan yang harus dikaitkan
dengan obyek dari kelas itu.
Employee Object Class (UML)
Objek Employee
Kelas Employee yang mendefinisikan
sejumlah atribut yang menyimpan
informasi mengenai karyawan,
termasuk nama dan alamat mereka,
nomor jaminan sosial, kode pajak,
dll. Yang tidak diperlihatkan disini.
Employee
name: stringaddress: stringdateOfBirth: DateemployeeNo: integersocialSecurityNo: stringdepartment: Deptmanager: Employeesalary: integerstatus: {current, left, retired}taxCode: integer. . .
join ()leave ()retire ()changeDetails ()
Komunikasi Obyek
Secara konseptual, objek berkomunikasi dengan menyampaikan pesan.
Pesan
Nama layanan diminta oleh objek yang memanggil.
Salinan informasi dibutuhkan untuk melakukan layanan dan nama pemilik
(holder) untuk hasil dari layanan tersebut.
Dalam prakteknya, pesan seringkali dilaksanakan melalui prosedur panggilan.
nama = nama prosedur
informasi = daftar parameter.
Generalisasi dan Warisan Objek adalah anggota dari kelas yang mendefinisikan tipe atribut/sifat
dan operasi.
Kelas dapat diatur di dalam kelas hirarki, dimana satu kelas (kelas
super) adalah generalisasi dari satu atau lebih kelas-kelas lain (sub-
kelas).
Sebuah sub-kelas mewarisi atribut dari kelas super dan bisa menambah
metode atau atribut baru sendiri.
Generalisasi dalam UML diimplementasikan sebagai warisan dalam
bahasa pemrograman OO.
Employee
Programmer
projectprogLanguage
Manager
ProjectManager
budgetsControlled
dateAppointed
projects
Dept.Manager
StrategicManager
dept responsibilities
Pada peraga tersebut menunjukkan contoh hierarki generalisasi
seperti itu, di mana ditunjukkan kelas karyawan yang berbeda. Kelas-
kelas di sebelah bawah hierarki memiliki atribut dan operasi yang sama
dengan kelas orang tua mereka, tetapi bisa menambahkan atribut dan
operasi baru atau memodifikasi beberapa yang berasal dari kelas orang
tua. Ini berarti bahwa terdapat pertukaran satu arah. Jika nama kelas
orang tua dipakai pada model, ini berarti bahwa objek tersebut pada
sistem dapat didefinisikan sebagai kelas itu atau salah satu dari
keturunannya.
Keuntungan Dari Warisan o Ini adalah mekanisme abstraksi yang dapat digunakan untuk
mengklasifikasikan entitas.
o Merupakan mekanisme yang bisa digunakan kembali baik untuk
desain maupun tingkat pemrograman.
o Grafik warisan merupakan sumber pengetahuan organisasi tentang
domain dan sistem
Masalah Dengan Warisan
Kelas objek tidak self-contained, mereka tidak dapat dipahami tanpa
merujuk pada super-kelas mereka.
Desainer memiliki kecenderungan untuk menggunakan kembali grafik
warisan yang dibuat selama analisis. Dapat menyebabkan inefisiensi
signifikan.
Analisis, desain dan implementasi grafik warisan memiliki fungsi yang
berbeda dan harus dijaga secara terpisah.
Warisan dan OOD • Ada beberapa perbedaan pandangan tentang apakah warisan adalah
dasar OOD.
Pandangan 1. Mengidentifikasi hirarki warisan atau jaringan
merupakan bagian mendasar dari desain berorientasi objek. Jelas
ini hanya dapat diimplementasikan dengan menggunakan OOPL.
Pandangan 2. Warisan merupakan konsep implementasi yang
berguna yang memungkinkan penggunaan kembali definisi atribut
dan operasi. Mengidentifikasi hirarki warisan pada tahap desain
dapat menyebabkan pelaksanaan pembatasan yang tidak perlu.
• Warisan memperkenalkan kompleksitas dan ini tidak diinginkan,
terutama dalam sistem kritis.
Proses Desain Berorientasi Objek
Menentukan konteks dan bagaimana menggunakan
sistem.
Merancang arsitektur sistem.
Mengidentifikasi sistem objek utama.
Mengembangkan model desain.
Menentukan objek antarmuka.
Deskripsi Sistem Cuaca Sistem pengumpulan data cuaca diperlukan untuk menghasilkan
peta cuaca secara teratur dengan menggunakan data yang dikumpulkan
dari jauh, stasiun cuaca tanpa pengawasan dan sumber data lain seperti
pengamat cuaca, balon dan satelit. Stasiun cuaca mengirim data mereka ke
komputer area sebagai tanggapan atas permintaan dari mesin mereka.
Komputer area memvalidasi data yang dikumpulkan dan
menyatukannya dengan data dari sumber yang berbeda. Data yang
disatukan diarsipkan dan, menggunakan data dari arsip dan database peta
digital, satu set peta cuaca lokal dibuat. Peta bisa dicetak untuk tujuan
distribusi khusus atau peta utama dapat ditampilkan dalam format yang
berbeda.
Deskripsi Stasiun Cuaca
Stasiun cuaca adalah paket perangkat lunak yang mengontrol
instrumen yang mengumpulkan data, melakukan beberapa
pengolahan data dan mengirimkan data ini untuk diproses lebih
lanjut. Instrumen termasuk termometer udara dan tanah,
anemometer, sebuah baling-baling angin, barometer dan curah hujan.
Data dikumpulkan setiap lima menit.
Ketika perintah dikeluarkan untuk mengirimkan data cuaca,
stasiun cuaca memproses dan merangkum data yang dikumpulkan.
Kemudian data yang diringkas tersebut dikirim ke komputer
pemetaan bila ada permintaan yang diterima.
<<Subsystem>>
Data display
Data menampilkan layer dimana objek berhubungan
dengan persiapan dan penyajian data yang dapat dibaca
<<Subsystem>>
Pengarsipan Data
Pengarsipan data layer dimana objek berhubungan
dengan penyimpanan data untuk proses di masa depan
<<Subsystem>>
Memproses Data
Memproses data layer dimana objek berhubungan
dengan memeriksa dan mengintegrasikan data yang
dikumpulkan
<<Subsystem>>
Pengumpulan Data
Pengumpulan data layer dimana objek berhubungan
dengan mendapatkan data dari sumber jauh
Arsitektur Berlapis
Peraga yang mengilustrsikan arsitektur sistem yang
mungkin yang dapat diturunkan dari deskripsi ini. Peraga
ini merupakan arsitektur lapisan yang merefleksikan
berbagai tahap pemrosesan pada sistem, yaitu
pengumpulan data (data collection), integrasi data (data
integration), pengarsipan data (data archiving) dan
pembuatan peta (map generation).
Konteks Sistem Dan Penggunaan Model
Mengembangkan pemahaman tentang hubungan antara perangkat
lunak yang tengah dibuat dan lingkungan eksternal.
Konteks sistem
Sebuah model statis yang menggambarkan sistem lain dalam
lingkungan. Gunakan model subsistem untuk menunjukkan
sistem lain.
Model penggunaan sistem
Sebuah model dinamis yang menggambarkan bagaimana sistem
berinteraksi dengan lingkungannya. Gunakan use-cases untuk
menunjukkan interaksi.
Subsistem dalam Sistem Stasiun Cuaca
«subsystem»Data collection
«subsystem»Data processing
«subsystem»Data archiving
«subsystem»Data display
Weatherstation
Satellite
Comms
Balloon
Observer
Datachecking
Dataintegration
Map store Data store
Datastorage
Map
Userinterface
Mapdisplay
Mapprinter
Peraga yang memperluas model arsitektural abstrak
ini dengan menunjukkan komponen-komponen pada
subsistem. Sekali lagi komponen ini sangat abstrak dan
diturunkan dari informasi pada deskripsi sistem, yang
meneruskan contoh desain ini dengan memfokuskan
pembahasan pada subsistem stasiun cuaca yang
merupakan bagian dari lapisan pengumpulan data.
Use-Cases untuk Stasiun Cuaca
Peraga yang menunjukkan
bahwa stasiun cuaca
berinteraksi dengan entitas
eksternal untuk startup dan
shutdown, untuk melaporkan
data cuaca yang telah
dikumpulkan dan untuk
pengujian dan kalibrasi
instrumen.
Startup
Shutdown
Report
Calibrate
Test
Deskripsi Use-Cases Sistem : Stasiun Cuaca Use-cases : Laporan Pelaku : Sistem pengumpulan data cuaca, stasiun cuaca Data : Stasiun cuaca mengirimkan ringkasan data cuaca yang dikumpulkan dari instrumen pada periode pengumpulan ke sistem pengumpulan data cuaca. Data yang dikirim adalah suhu rata-rata tanah dan udara minimum dan maksimum, tekanan udara rata-rata minimum dan maksimum, kecepatan rata-rata angin minimum dan maksimum, jumlah curah hujan dan arah angin sebagai sampel pada interval 5 menit. Stimulus : sistem pengumpulan data cuaca mengatur link modem dengan stasiun cuaca dan permintaan untuk transmisi data. Respon : data yang telah diringkas dikirim ke sistem pengumpulan data cuaca Komentar : stasiun cuaca biasanya diminta untuk melaporkan satu jam sekali, namun frekuensi ini dapat bervariasi dari satu stasiun ke stasiun lain dan dapat dimodifikasi di masa depan.
Setiap use-case dapat dideskripsikan dengan
menggunakan deskripsi bahasa natural yang sederhana.
Cara ini membantu perancang mengidentifikasi objek-
objek pada sistem dan memberikan pemahaman mengenai
apa yang dikehendaki dari sistem, dengan memberikan
gaya dari deskripsi ini yang secara jelas mengidentifikasi
informasi apa yang dipertukarkan, bagaimana interaksi
dimulai dsb.
Desain Arsitektur
• Karena interaksi antara sistem dan lingkungan telah dipahami, Anda
menggunakan informasi ini untuk merancang arsitektur sistem.
• Arsitektur berlapis sesuai dengan stasiun cuaca
Interface layer untuk menangani komunikasi.
Pengumpulan data layer untuk mengelola instrumen.
Instrumen layer untuk pengumpulan data
• Sebaiknya tidak lebih dari 7 entitas dalam model arsitektur
Identifikasi Objek Mengidentifikasi objek (atau kelas objek) adalah yang paling sulit
dalam desain berorientasi objek.
Tidak ada “rumus ajaib” untuk mengidentifikasi objek. Hal ini
bergantung pada pengalaman, keterampilan dan pengetahuan
domain dari para perancang sistem.
Identifikasi obyek merupakan proses berulang-ulang. Kemungkinan
besar Anda tidak mungkin mendapatkannya pada kali pertama.
Pendekatan untuk Identifikasi
Gunakan pendekatan gramatikal berdasarkan uraian bahasa alami dari
sistem (yang digunakan dalam metode Hood)
Pusatkan identifikasi pada hal-hal nyata dalam domain aplikasi
Gunakan pendekatan perilaku dan identifikasi objek sesuai dengan
berpartisipasi apa dalam perilaku apa
Gunakan analisis berbasis skenario. Objek, atribut dan metode dalam
setiap skenario diidentifikasi.
Kelas Objek Stasiun Cuaca Termometer tanah, Anemometer, Barometer.
Objek domain aplikasi merupakan objek “perangkat keras” yang
berhubungan dengan instrumen dalam sistem.
Pemetaan Cuaca.
Merupakan basis antarmuka dari stasiun cuaca terhadap
lingkungannya. Karena itu mencerminkan interaksi yang
diidentifikasi dalam model use-cases.
Data Cuaca.
Menyertakan data yang telah diringkas dari instrumen.
Kelas Objek Stasiun Cuaca Pemetaan
identifier
reportWeather ()calibrate (instruments)test ()startup (instruments)shutdown (instruments)
WeatherStation
test ()calibrate ()
Groundthermometer
temperature
Anemometer
windSpeedwindDirection
test ()
Barometer
pressureheight
test ()calibrate ()
WeatherData
airTemperaturesgroundTemperatureswindSpeedswindDirectionspressuresrainfall
collect ()summarise ()
Peraga yang menggunakan pendekatan hibrid untuk
mengidentifikasi objek stasiun cuaca, yang tidak memiliki
tempat untuk mendeskripsikan semua objek tetapi telah
menunjukkan lima kelas objek pada peraga ini.
Ground thermometer, Anemometer dan Barometer
mempresentasikan objek domain aplkasi dan objek
WeatherStation dan WeatherData telah teridentifikasi dari
deskripsi sistem dan deskripsi skenario (use-case).
Objek Selanjutnya dan Penyempurnaan Objek
Gunakan pengetahuan domain untuk mengidentifikasi lebih banyak
objek dan operasi.
Pemetaan Cuaca harus memiliki identifier yang unik.
Pemetaan cuaca diletakkan sedikit jauh, sehingga instrumen tidak
bisa melaporkan secara otomatis. Oleh karena itu atribut dan operasi
diperlukan untuk pemeriksaan diri-sendiri (self-checking).
Objek aktif atau pasif
Dalam hal ini, obyek bersifat pasif dan pengumpulan data berdasarkan
permintaan daripada otomatis. Hal ini memperkenalkan fleksibilitas
dengan mengorbankan waktu pengolahan controller.
Model Desain Desain model menunjukkan objek dan kelas objek dan hubungan
antar entitas tersebut .
Ada dua tipe model desain yang seharusnya dihasilkan untuk
mendeskripsikan perancangan berorientasi objek, yaitu:
Model statis menjelaskan struktur statis sistem dalam hal kelas
objek dan hubungannya.
Model Dinamis menggambarkan interaksi dinamis antara objek
sistem (bukan antara kelas objek).
Contoh Model Desain
Model Sub-sistem menunjukkan pengelompokan logis dari objek ke
dalam subsistem yang koheren.
Model rangkaian yang menunjukkan urutan interaksi objek.
Model mesin menunjukkan bagaimana objek individu mengubah
kondisi mereka dalam menanggapi peristiwa atau event.
Model-model lain termasuk model use-case, model agregasi, model
umum, dll.
Model Subsistem
Menunjukan bagaimana desain dikelola kedalam kelompok obyek
terkait secara logis
Dalam UML, ini ditunjukkan dengan menggunakan paket konsepsi
enkapsulasi. Ini adalah model logis. Realisasi organisasi objek dalam
sistem mungkin berbeda.
Subsistem Stasiun Cuaca
«subsystem»Interface
CommsController
WeatherStation
«subsystem»Data collection
«subsystem»Instruments
Air thermometer
WeatherData
Ground thermometer
Anemometer
WindVane
RainGauge
InstrumentStatus
Barometer
Peraga ini menunjukkan objek-objek pada subsistem
di stasiun cuaca, yang menunjukkan beberapa asosiasi
pada model ini. Sebagai contoh, objek CommsController
berasosiasi dengan objek WeatherStation dan objek
WeatherStation berasosiasi dengan paket Data Collection.
Ini berarti bahwa objek ini berasosiasi dengan satu atau
lebih objek pada paket ini. Model paket ditambah model
kelas objek harus mendeskripsikan pengelompokan logis
pada sistem.
Model Urutan
Model urutan menunjukkan urutan interaksi objek yang terjadi :
Obyek disusun secara horizontal di bagian atas.
Waktu ditunjukkan secara vertikal sehingga model dibaca dari
atas ke bawah.
Interaksi ditunjukkan dengan anak panah. Anak panah berbeda
mewakili berbagai jenis interaksi.
Sebuah kotak untuk objek tipis pada saat objek tersebut adalah
objek mengendalikan sistem.
Peraga ini yang menunjukkan urutan interaksi ketika sistem pemetaan
eksternal meminta data dari stasiun cuaca :
1) Objek yang merupakan instance dari CommsController menerima permintaan
dari lingkungannya untuk mengirim laporan cuaca.
2) Objek ini mengirim message ke objek yang merupakan instance dari
WeatherStation untuk membuat laporan cuaca.
3) Objek yang merupakan instance dari WeatherStation mengirim message ke
objek WeatherData untuk merangkum data cuaca.
4) Rangkuman ini dihitung dan kontrol kembali ke objek WeatherStation.
5) Objek ini mengirim message ke CommsController untuk memintanya
mentransfer data ke sistem jarak jauh.
6) Objek CommsController mengirim data rangkuman ke sistem jarak jauh,
menerima tanda terima dan kemudian menunda dirinya sendiri untuk
menunggu permintaan berikutnya.
Statecharts
Menunjukkan bagaimana objek menanggapi permintaan layanan yang
berbeda dan transisi dipicu oleh permintaan :
Jika keadaan objek Shutdown, maka objek merespon Startup () pesan.
Dalam keadaan menunggu, objek menunggu untuk pesan lebih lanjut.
Jika laporan cuaca () maka sistem bergerak untuk meringkas keadaan.
Jika mengkalibrasi () sistem bergerak ke keadaan kalibrasi.
Sebuah kumpulan keadaan dimasukkan ketika sinyal jam diterima.
Diagram Keadaan Pemetaan Cuaca
Shutdown Waiting Testing
Transmitting
Collecting
Summarising
Calibrating
transmission done
calibrate ()
test ()startup ()
shutdown ()
calibration OK
test complete
weather summarycomplete
clock collectiondone
Operation
reportWeather ()
Peraga yang merupakan statechart untuk objek WeatherStation yang
menunjukkan bagaimana objek tersebut menanggapi permintaan untuk
berbagai layanan :
1) Jika status objek adalah ‘shutdown’, maka objek hanya dapat
menanggapi message startup ().
2) Pada status ‘waiting’, sistem mengharapkan message berikutnya.
3) Jika diterima message reportWeather (), sistem menuju ke status
merangkum kemudian ketika rangkuman telah selesai, menuju status
transmisi di mana informasi ditransmisi melalui CommsController.
4) Jika diterima message calibrate (), sistem berpindah ke status
calibrating, kemudian ke status testing, kemudian ke status transmitting
sebelum kembali ke status waiting.
5) Jika diterima sinyal dari clock, sistem berpindah ke suatu collecting di
mana objek mengumpulkan data dari instrumen-instrumen.
Interface Stasiun Cuaca interface WeatherStation {
public void WeatherStation () ;
public void startup () ;
public void startup (Instrument i) ;
public void shutdown () ;
public void shutdown (Instrument i) ;
public void reportWeather ( ) ;
public void test () ;
public void test ( Instrument i ) ;
public void calibrate ( Instrument i) ;
public int getID () ;
} //WeatherStation
Peraga ini menunjukkan spesifikasi interface dalam Java untuk
stasiun cuaca. Walaupun interface menjadi lebih kompleks,
pendekatan ini lebih efektif karena sintaks yang memeriksa fasilitas
pada compiler dapat dipakai untuk menemukan error dan
ketidakkonsistenan pada deskripsi interface. Deskripsi Java dapat
menunjukkan bahwa beberapa metode dapat mengambil parameter
dalam jumlah yang berbeda. Dengan demikian, metode shutdown
dapat diterapkan pada stasiun secara keseluruhan jika metode itu tidak
memiliki parameter atau dapat mematikan satu instrumen.
Evolusi Desain
Menyembunyikan informasi di dalam objek berarti bahwa perubahan
yang dibuat ke sebuah obyek tidak mempengaruhi objek lain dalam cara
yang tak terduga.
Asumsikan fasilitas pemantauan polusi ditambahkan untuk stasiun
cuaca. Sampel itu adalah udara dan hitung jumlah polutan yang berbeda
di atmosfer.
Pembacaan Polusi dikirim dengan data cuaca.
Perubahan yang dibutuhkan
Tambahkan kelas objek yang disebut “Kualitas udara” sebagai
bagian dari stasiun cuaca.
Tambahkan operasi laporan kualitas udara ke Stasiun Cuaca.
Modifikasi kontrol perangkat lunak untuk mengumpulkan
pembacaan polusi.
Tambahkan objek tersebut yang mewakili instrumen
pemantauan polusi.
Pemantauan Polusi
Peraga ini menunjukkan
WeatherStation dan objek-objek
baru yang ditambahkan ke sistem.
Selain dari tingkat sistem paling
tinggi tidak ada perubahan
perangkat lunak yang diperlukan
pada objek-objek awal di stasiun
cuaca tersebut. Namun demikian,
penambahan pengumpulan data
polusi tidak mempengaruhi
pengumpulan data cuaca.
NODatasmokeDatabenzeneData
collect ()summarise ()
Air qualityidentifier
reportWeather ()reportAirQuality ()calibrate (instruments)test ()startup (instruments)shutdown (instruments)
WeatherStation
Pollution monitoring instruments
NOmeter SmokeMeter
BenzeneMeter
Poin-Poin Penting
OOD adalah pendekatan untuk desain sehingga komponen desain
memiliki keadaan dan operasi sendiri.
Objek harus memiliki constructor dan operasi pemeriksaan. Mereka
memberikan layanan kepada benda lain.
Objek dapat diimplementasikan secara berurutan atau secara
bersamaan.
The Unified Modeling Language menyediakan notasi berbeda untuk
mendefinisikan model obyek yang berbeda.
Poin-Poin Penting
Banyaknya model berbeda dapat dihasilkan selama proses desain
berorientasi objek. Ini termasuk model sistem statis dan dinamis
Obyek antarmuka harus didefinisikan secara akurat misalnya
menggunakan bahasa pemrograman seperti Java
Desain berorientasi objek menyederhanakan sistem evolusi.