REKAYASA
PERANGKAT LUNAK
pengembangan berorientasi objek
1. berorientasi objek analisis, desain dan pemrograman yang terkait namun
berbeda.
2. OOA berkaitan dengan mengembangkan model obyek dari domain aplikasi.
3. OOD berkaitan dengan mengembangkan model berorientasi obyek sistem untuk
melaksanakan persyaratan.
4. OOP berkaitan dengan relaising OOD yang menggunakan bahasa pemrograman OO
seperti java atau C + +.
karakteristik OOD
- Objek adalah abstraksi dari entitas dunia nyata atau
sistem dan mengelola sendiri.
- Benda informasi independen dan representasi.
- Fungsi sistem dinyatakan dalam hal layanan objek.
- Daerah data bersama dieliminasi. benda berkomunikasi melalui pesan lewat.
- Benda dapat didistribusikan dan dapat mengeksekusi secara berurutan atau
paralel.
berinteraksi benda
keuntungan
dari OOD
- Mudah perawatan. benda dapat
dipahami sebagai entitas yang berdiri sendiri.
- Benda yang berpotensi dapat
digunakan kembali komponen.
- Untuk beberapa sistem,
mungkin ada pemetaan yang jelas dari entitas dunia nyata ke objek sistem.
objek
dan kelas objek
- Benda entitas dalam suatu
sistem perangkat lunak yang merupakan contoh dari entitas dunia nyata dan
sistem.
- Kelas objek merupakan
template untuk objek. mereka dapat digunakan untuk membuat objek.
- Kelas objek dapat mewarisi
atribut dan jasa dari kelas objek lainnya.
objek
dan kelas objek
objek adalah sebuah entitas
yang memiliki negara dan satu set didefinisikan operasi yang beroperasi di
negara itu. negara yang direpresentasikan sebagai seperangkat atribut objek.
operasi yang berhubungan dengan objek menyediakan layanan ke objek lain (klien)
yang meminta layanan ini saat perhitungan beberapa diperlukan.
objek diciptakan menurut
beberapa definisi kelas obyek. definisi kelas objek berfungsi sebagai template
untuk objek. itu termasuk deklarasi dari semua atribut dan servies yang harus
dikaitkan dengan obyek dari kelas itu.
bahasa
pemodelan terpadu
- Notasi yang berbeda untuk
menggambarkan berorientasi obyek desain yang diusulkan pada 1980-an dan
1990-an.
- Bahasa pemodelan terpadu
merupakan integrasi dari notasi.
- Ia menjelaskan notasi untuk
sejumlah model yang berbeda yang mungkin dihasilkan selama analisis dan desain
OO.
- Sekarang standar de facto
untuk pemodelan OO.
karyawan
kelas obyek (UML)
objek
komunikasi
- Konseptual, obyek
berkomunikasi melalui pesan lewat.
- pesan
1. nama layanan
yang diminta oleh obyek memanggil;
2. salinan informasi yang diperlukan untuk
melaksanakan layanan dan nama pemegang untuk hasil layanan.
- Dalam praktik yang, pesan
sering dilaksanakan oleh panggilan prosedur.
1. Nama = Nama prosedur;
2. informasi = daftar
parameter.
Contoh
– contoh pesan
/ / Memanggil metode yang
berhubungan dengan buffer
/ / Objek yang mengembalikan
nilai berikutnya
/ / Dalam buffer
v = circularBuffer.Get ();
/ / Memanggil metode terkait
dengan
/ / Termostat objek yang
menetapkan
/ / Suhu dipertahankan
thermostat.setTemp (20);
generalisasi
dan warisan
- Benda adalah anggota dari
kelas yang mendefinisikan jenis atribut dan operasi.
- Kelas dapat diatur dalam
hirarki kelas dimana satu kelas (super-class) adalah generalisasi dari satu
atau lebih kelas lainnya (sub-kelas).
- Sub-kelas mewarisi atribut
dan operasi dari kelas super dan dapat menambahkan metode baru atau atribut
sendiri.
- Generalisasi dalam UML
diimplementasikan sebagai warisan dalam bahasa pemrograman OO.
hirarki
generalisasi
keuntungan
dari warisan
- Itu adalah mekanisme
abstraksi yang dapat digunakan untuk mengklasifikasikan entitas.
- Itu adalah mekanisme
penggunaan kembali pada kedua desain dan tingkat pemrograman.
- Grafik warisan adalah sumber
pengetahuan tentang domain organisasi dan sistem.
masalah
dengan warisan
- Kelas objek yang tidak
mandiri. mereka tidak dapat dipahami tanpa merujuk pada mereka super-kelas.
- Desainer memiliki
kecenderungan untuk menggunakan kembali grafik warisan dibuat selama analisis.
dapat menyebabkan inefisiensi signifikan.
- Grafik warisan dari analisis,
desain dan implementasi memiliki fungsi yang berbeda dan harus dipertahankan
secara terpisah.
UML
asosiasi
- Objek dan kelas objek
berpartisipasi dalam hubungan dengan obyek lain dan kelas objek.
- Di UML, hubungan generalisasi
ditunjukkan oleh asosiasi.
- Asosiasi mungkin dijelaskan
dengan informasi yang menggambarkan asosiasi.
- Asosiasi yang umum tetapi
dapat menunjukkan bahwa atribut dari suatu objek adalah objek yang terkait atau
metode bergantung pada objek terkait.
Model
sebuah asosiasi
bersamaan
benda
- Sifat benda sebagai entitas
mandiri membuat mereka cocok untuk pelaksanaan bersamaan.
- Model message-passing
komunikasi objek dapat diimplementasikan secara langsung jika objek berjalan
pada prosesor terpisah dalam sistem terdistribusi.
server
dan objek aktif
1. server
- Objek diimplementasikan
sebagai proses paralel (server) dengan entry point sesuai dengan operasi objek.
jika tidak ada panggilan yang dibuat untuk itu, objek itu sendiri menunda dan
menunggu permintaan selanjutnya untuk layanan.
2. aktif benda
- Benda yang dilaksanakan
sebagai proses paralel dan keadaan obyek internal dapat diubah oleh obyek itu
sendiri dan bukan hanya dengan panggilan eksternal.
aktif
transponder objek
- Benda aktif mungkin memiliki
atribut mereka diubah oleh operasi tetapi juga dapat memperbarui mereka secara
mandiri menggunakan operasi internal.
- Benda transponder menyiarkan
posisi pesawat terbang. posisi dapat diperbarui dengan menggunakan sistem
posisi satelit. objek berkala memperbaharui posisi dengan triangulasi dari
satelit.
Sebuah
objek yang aktif transponder
Class Transponder extends
Thread{
Position currentPosition;
Coords c1, c2;
Satellite sat1, sat2;
Navigator theNavigator;
public Position givePosition()
{
return currentPosition’
}
public void run{}
{
while (true)
{
c1 =
sat1.position();
c2 = sat2.position();
currentPosition = theNavigator.computer(c1,
c2);
}
}
}//Transponder
Java
thread
- Thread di java adalah
membangun sederhana untuk melaksanakan obyek bersamaan.
- Thread harus menyertakan
metode yang disebut run () dan ini dimulai oleh sistem run-time Java.
- Benda yang aktif biasanya
mencakup infinite loop sehingga mereka selalu melakukan perhitungan.
Sebuah
proses desain berorientasi obyek
- Proses desain terstruktur
melibatkan mengembangkan sejumlah model sistem yang berbeda.
- Mereka memerlukan banyak
upaya untuk pengembangan dan pemeliharaan model ini dan, untuk sistem kecil,
hal ini mungkin tidak efektif biaya.
- Namun, untuk sistem yang
besar yang dikembangkan oleh kelompok yang berbeda model desain merupakan
mekanisme komunikasi yang penting.
proses
tahapan
1. menyoroti kegiatan utama
tanpa terikat pada proses kepemilikan seperti RUP.
- Mendefinisikan konteks dan
cara penggunaan sistem;
- Merancang arsitektur sistem;
- Mengidentifikasi objek sistem
utama;
- Mengembangkan model desain;
- Tentukan antarmuka objek.
Cuaca
Deskripsi sistem
sistem pemetaan cuaca
diperlukan untuk menghasilkan peta cuaca secara teratur menggunakan data yang
dikumpulkan dari jarak jauh, stasiun cuaca tanpa pengawasan dan sumber data
lainnya seperti pengamat cuaca, balon dan satelit. Stasiun cuaca mengirimkan
data mereka ke komputer daerah dalam menanggapi permintaan dari mesin itu.
sistem komputer daerah
memvalidasi data yang dikumpulkan dan terintegrasi dengan data dari arsip ini
dan database peta digital satu set peta cuaca lokal dibuat. peta dapat dicetak
untuk distribusi pada printer peta tujuan khusus atau dapat ditampilkan dalam
beberapa format yang berbeda.
konteks
sistem dan model penggunaan
1. mengembangkan pemahaman
tentang hubungan antara perangkat lunak yang dirancang dan lingkungan
eksternalnya.
2. konteks sistem
- Model statis yang
menggambarkan sistem lain di lingkungan. menggunakan model subsytem untuk
menunjukkan sistem lain. Slide berikut ini menunjukkan sistem di seluruh sistem
stasiun cuaca.
3. model penggunaan sistem
- Model dinamis yang
menggambarkan bagaimana sistem berinteraksi dengan lingkungannya. menggunakan
menggunakan-kasus untuk menunjukkan interaksi.
berlapis
arsitektur
subsistem dalam sistem pemetaan cuaca
use
case model
- Use case model yang digunakan
untuk mewakili setiap interaksi dengan sistem.
- Model use case menunjukkan
fitur sistem sebagai elips dan entitas berinteraksi sebagai tongkat.
digunakan-kasus
untuk stasiun cuaca
Deskripsi
use-case
- Sistem: stasiun cuaca
- Use case: Laporan
- Aktor: Cuaca sistem
pendataan, stasiun cuaca
-
Data: stasiun cuaca mengirimkan ringkasan dari data cuaca yang
telah dikumpulkan dari instrumen dalam periode penagihan ke sistem pengumpulan
data cuaca. data yang dikirim adalah minimum maksimum dan rata-rata tanah dan
suhu udara, maksimal, tekanan udara minimum dan rata-rata, maksimum, minimum
dan kecepatan angin avearage, total curah hujan dan arah angin sebagai sampel
pada interval 5 menit.
-
- Stimulus: data cuaca sistem pengumpulan menetapkan link modem
dengan stasiun cuaca dan transmisi permintaan data.
-
- Respon: data diringkas dikirim ke sistem pengumpulan data cuaca.
-
- Komentar: stasiun cuaca biasanya diminta untuk melaporkan sekali
per jam tetapi frekuensi ini mungkin berbeda dari satu stasiun ke yang lain dan
dapat dimodifikasi di masa depan.
arsitektur
desain
1. sekali interaksi antara
sistem dan lingkungannya telah dipahami, Anda menggunakan informasi ini untuk
merancang arsitektur sistem.
2. arsitektur berlapis sesuai
untuk stasiun cuaca
- Lapisan antarmuka untuk
komunikasi penanganan;
- Pengumpulan data lapisan
untuk mengelola instrumen;
- Instrumen lapisan untuk
mengumpulkan data.
3. ada biasanya harus tidak
lebih dari 7 entitas dalam model arsitektur.
stasiun
cuaca arsitektur
stasiun cuaca
antarmuka: mengelola semua
komunikasi eksternal
pengumpulan data: mengumpulkan
dan merangkum data cuaca
instrumen: paket instrumen
untuk koleksi data mentah.
objek
identifikasi
- Benda mengidentifikasi (dan
kelas objek) adalah bagian yang paling sulit dari desain berorientasi objek.
- Tidak ada 'formula ajaib'
untuk objectidentification. hal itu bergantung pada pengalaman, keterampilan,
dan pengetahuan domain desainer sistem.
- Identifikasi objek adalah
proses berulang-ulang. Anda tidak mungkin untuk mendapatkan benar pertama kali.
pendekatan
untuk identifikasi
- Menggunakan pendekatan
gramatikal berdasarkan deskripsi bahasa alami dari sistem (digunakan dalam
metode OOD hood).
- Mendasarkan identifikasi pada
hal-hal yang nyata dalam domain aplikasi.
- Menggunakan pendekatan
perilaku dan mengidentifikasi objek berdasarkan apa yang berpartisipasi dalam
apa perilaku.
- Menggunakan analisis berbasis
skenario. obyek, atribut dan metode dalam setiap skenario diidentifikasi.
stasiun
cuaca deskripsi
stasiun cuaca adalah paket
perangkat lunak yang dikendalikan instrumen yang mengumpulkan data, melakukan
beberapa pengolahan data dan mengirimkan data ini untuk diproses lebih lanjut.
instrumen meliputi termometer udara dan darat, anemometer, sebuah baling-baling
angin, barometer dan alat pengukur hujan. Data dikumpulkan secara periodik i.
ketika perintah dikeluarkan
untuk mengirimkan data cuaca, proses stasiun cuaca dan summarieses data yang
dikumpulkan. data diringkas ditransmisikan ke komputer pemetaan saat permintaan
diterima.
objek
stasiun kelas cuaca
1. tanah termometer,
anemometer, barometer
- Benda domain aplikasi yang
'hardware' benda yang berkaitan dengan instrumen dalam sistem.
2. stasiun cuaca
- Antarmuka dasar stasiun cuaca
untuk lingkungannya. karena itu mencerminkan interaksi yang diidentifikasi
dalam model use case.
3. data cuaca
- Merangkum data diringkas dari
instrumen.
objek
stasiun kelas cuaca
lanjut
benda dan perbaikan obyek
1. menggunakan pengetahuan
domain untuk mengidentifikasi objek lebih dan operasi
- Stasiun cuaca harus memiliki
pengenal yang unik;
- Stasiun cuaca yang jauh
terletak sehingga kegagalan instrumen harus dilaporkan secara otomatis. Oleh
karena itu atribut dan operasi untuk diri-pemeriksaan yang diperlukan.
2. aktif atau pasif benda
- Dalam hal ini, obyek yang
pasif dan mengumpulkan data atas permintaan daripada mandiri. ini
memperkenalkan fleksibilitas dengan mengorbankan waktu pemrosesan pengontrol.
desain
model
- Model desain menunjukkan
objek dan kelas objek dan hubungan antara entitas.
- Model statis menggambarkan
struktur statis dari sistem dalam hal kelas objek dan hubungan.
- Model dinamis menggambarkan
interaksi dinamis antara objek.
contoh
model desain
- Sub-sistem model yang
menunjukkan kelompok logis obyek menjadi subsistem yang koheren.
- Urutan model yang menunjukkan
urutan interaksi objek.
- Model mesin negara yang
menunjukkan bagaimana objek individu mengubah keadaan mereka dalam menanggapi
peristiwa.
- Model lain termasuk
penggunaan-kasus model, agregasi, model, model generalisasi, dll
subsistem
model
- Menunjukkan bagaimana desain
tersebut diatur dalam kelompok logis terkait benda.
- Di UML, ini ditampilkan
menggunakan paket - enkapsulasi yang membangun. ini adalah model logis.
organisasi sebenarnya objek dalam sistem mungkin berbeda.
Stasiun
cuaca subsistem
urutan
model
1. Model urutan menunjukkan
urutan interaksi objek yang terjadi.
- Benda yang disusun secara
horizontal di bagian atas;
- Waktu diwakili vertikal
sehingga model dibaca atas ke bawah;
3. interaksi yang diwakili oleh
panah berlabel, gaya yang berbeda panah reperesent berbagai jenis interaksi;
4. persegi panjang tipis di
garis hidup objek merupakan waktu ketika objek adalah objek pengendali dalam
sistem.
pengumpulan
data urutan
statecharts
1. menunjukkan bagaimana benda
menanggapi permintaan layanan yang berbeda dan transisi negara tersebut dipicu
oleh permintaan
- Jika negara objek adalah
shutdown maka menanggapi pesan startup ();
- Dalam kondisi menunggu objek
sedang menunggu untuk pesan lebih lanjut;
- Jika reportWeather ()
bergerak sistem kemudian ke keadaan meringkas;
- Jika mengkalibrasi () sistem
bergerak ke keadaan kalibrasi;
- Keadaan mengumpulkan
dimasukkan ketika sinyal clock diterima.
stasiun
cuaca state diagram
objek
antarmuka Spesifikasi
- Antarmuka objek harus
ditentukan sehingga benda-benda dan komponen lainnya dapat dirancang secara
paralel.
- Desainer harus menghindari
merancang representasi antarmuka tetapi harus menyembunyikan ini di obyek itu
sendiri.
- Benda dapat memiliki beberapa
interface yang merupakan sudut pandang tentang metode yang disediakan.
- UML menggunakan diagram kelas
untuk antarmuka spesifikasi tetapi java juga dapat digunakan.
stasiun
cuaca antarmuka
desain
evolusi
- Menyembunyikan informasi
dalam obyek berarti bahwa perubahan yang dibuat untuk sebuah objek tidak
mempengaruhi objek lain dengan cara yang tak terduga.
- Menganggap pencemaran
fasilitas pemantauan yang akan ditambahkan ke stasiun cuaca. sampel tersebut
udara dan menghitung jumlah polutan yang berbeda di atmosfer.
- Pembacaan polusi
ditransmisikan dengan data cuaca.
perubahan
yang diperlukan
- Menambahkan kelas objek
disebut kualitas udara sebagai bagian dari Weatherstation.
- Menambahkan reportAirQuality
operasi untuk Weatherstation. memodifikasi perangkat lunak kontrol untuk
mengumpulkan pembacaan polusi.
- Menambahkan objek yang
mewakili instrumen pemantauan pencemaran.
pemantauan
pencemaran
poin
kunci
- OOD adalah sebuah pendekatan
untuk merancang sehingga komponen desain memiliki negara sendiri pribadi mereka
dan operasi.
- Benda harus memiliki
konstruktor dan operasi pemeriksaan. mereka menyediakan layanan ke objek lain.
- Benda dapat diimplementasikan
secara berurutan atau bersamaan.
- Bahasa pemodelan terpadu
menyediakan notasi yang berbeda untuk mendefinisikan model obyek yang berbeda.
poin
kunci
- Berbagai model yang berbeda
dapat dihasilkan selama proses desain berorientasi obyek.
ini termasuk model sistem
statis dan dinamis.
- Antarmuka objek harus
didefinisikan secara tepat misalnya menggunakan bahasa pemrograman seperti
java.
- Desain berorientasi obyek
berpotensi menyederhanakan evolusi sistem.