Upload
madzani-nusa
View
472
Download
2
Embed Size (px)
Citation preview
Bab 6 1
Rekabentuk Berorientasikan ObjekRekabentuk Berorientasikan Objek
• Satu perisian dilihat sbg:– objek-objek yg berinteraksi– setiap objek mempunyai keadaan &
operasinya sendiri
• Berdasarkan konsep penyembunyian maklumat
• Strategi r/b yg semakin meluas digunakan
Bab 6 2
Pandangan umum r/b Pandangan umum r/b berorientasikan objekberorientasikan objek
Keadaan 4
Keadaan 5
Keadaan 6
Keadaan 1
Keadaan 2
Keadaan 3
0604 05
030201
Bab 6 3
Ciri-ciri r/b OOCiri-ciri r/b OO
• R/b adalah set objek2 yg saling berinteraksi– mempunyai & menguruskan keadaanya sendiri– menyediakan servis kpd objek lain
• Setiap objek mempunyai atribut & operasi sendiri• Objek adalah abstrak kpd masalah sebenar• Objek adalah entiti bebas
– mudah utk diubah-suai• Fungsi sistem dinyatakan sbg servis / operasi dlm setiap objek• Perkongsian data dielakkan
– pemanggilan servis dari fungsi lain bukannya perkongsian pembolehubah
• Objek blh dilaksanakan secara berjujukan / selari
Bab 6 4
Kebaikan r/b OOKebaikan r/b OO
• Mudah utk disenggara– setiap entiti mudah difahami & diubah-suai– perubahan keatas satu entiti tidak melibatkan
objek lain
• “Clear mapping” dgn entiti yg ada dalam dunia nyata– memudahkan kefahaman & penyenggaraan r/b
• Komponen boleh diguna-semula– menjimatkan kos r/b, pengaturcaraan &
pengesahan
Bab 6 5
Pembangunan berorientasikan objekPembangunan berorientasikan objek
•Merealisasikan r/b menggunakan bhs pengaturcaraan berorientasikan objek•Menyokong implimentasi secara terus
OOD OOP
OOA
•Berkaitan dgn pembangunan model berorientasikan objek kpd domain aplikasi•Objek di’peta’kan dari dunia nyata
•Berkaitan dgn pembangunan model bagi sistem perisian utk implimen keperluan yg telah di k/pasti
Bab 6 6
Aktiviti dalam proses r/b OOAktiviti dalam proses r/b OO
• Fahami persekitaran sistem• Rekabentuk senibina sistem• Kenalpasti objek utama dalam sistem• Bina model rekabentuk• Tentukan antaramuka objek• Implimentasi setiap objek
Bab 6 7
1) Fahami persekitaran sistem1) Fahami persekitaran sistem
• Interaksi diantara sistem dgn persekitaran• Bina model konteks & model sistem• Model konteks
– model statik yg menghuraikan sistem lain dlm persekitaran
– gunakan rajah kelas ~ tunjukkan hubungan => merupakan rajah blok ~ s/bina sistem keseluruhan
– gunakan rajah use-case => hubungan diantara sistem dgn persekitaran
Bab 6 8
Rajah Kelas Rajah Kelas
Pekerja Jabatan
Pengurus
ahli-kepada
di-uruskan-oleh
menguruskan
Pekerja
Pengurus
kawalBudgettarikhUrus
Pengaturcara
projekbhsPengaturcaraan
Pengurus Projek
projek
Pengurus Jabatan
jabatan
Pengurus Strategik
tanggungjawabModel hubungan
Hirarki generalisasi
Bab 6 9
Fahami persekitaran sistem (samb.)Fahami persekitaran sistem (samb.)
– model sistemmodel dinamik yg menghuraikan bagaimana
sistem berinteraksi dgn persekitaranbina model use-case => setiap use-case
menunjukkan interaksi dgn sistem
Startup
Shutdown
Report
Calibrate
Test
Bab 6 10
Weather station report descriptionWeather station report description
System Weather station
Use- case Report
Actors Weather data collection system, Weather station
Data The weather station sends a summary of the weather data that has beencollected f rom the instruments in the collection period to the weather datacollection system. The data sent are the maximum, minimum & average airpressures, the maximum, minimum & average wind speeds, the total rainfall &the wind direction as sampled at 5 minute intervals
Stimulus The weather data collection system establishes a modem link with the station& requests transmission of the data
Response The summarized data is sent to the weather data collection system
Comments Weather stations are usually asked to report once per hour but this f requencymay diff er f rom one station to the other and may be modified in f uture
Bab 6 11
2) Rekabentuk senibina2) Rekabentuk senibina
• Menggunakan maklumat yang diperolehi dari– r/b interaksi dalam persekitaran sistem– pengetahuan am dalam r/b s/bina– pengetahuan mendalam mengenai domain sistem
• Gunakan UML packages => menggambarkan subsistem
• Sistem perlu dipecah-pecahkan spy s/bina lebih mudah– tidak lebih dari 7 entiti asas– setiap entiti blh dihuraikan secara berasingan
Bab 6 12
The weather station architectureThe weather station architecture
<<subsystem>>Interface
<<subsystem>>Data collection
<<subsystem>>Instruments
Bab 6 13
Packages in the weather mapping Packages in the weather mapping systemsystem<<Subsystem>>Data collection
Observer
Comms
Satellite
Weather station Balloon
<<Subsystem>>Data display
Userinterface
Mapdisplay
Map Mapprinter
<<Subsystem>>Data processing
Datachecking
Dataintegration
<<Subsystem>>Data archiving
Datastorage
Map store Data store
Bab 6 14
3) Mengenalpasti objek3) Mengenalpasti objek
• Sekurang-kurangnya 1 objek utk setiap bagi setiap pakej dlm s/bina
• Cadangan utk mengenalpasti objek– Analisa secara nahu drp huraian mengenai sistem
objek & atribut => kata nama (noun)operasi / servis => kata kerja (verb)
– Menggunakan entiti yg nampak (tangible) => kapalterbangperanan => pengurus interaksi => mesyuaratperistiwa => permintaan unit orgn. => syarikatlokasi => pejabat
Bab 6 15
Cadangan utk mengenalpasti objek (samb.)Cadangan utk mengenalpasti objek (samb.)
– Fahami tingkah-laku sistem secara keseluruhanentiti yg melaksanakan tingkah-laku / memainkan
peranan utama dianggap sbg objek
– Analisa berorientasikan senariosetiap senario yg ada dlm sistem dikenalpasti &
dianalisabagi setiap senario, kenalpasti objek, atribut &
operasi yg terlibat
<<Gunakan semua pendekatan utk mengenalpasti objek>>
Bab 6 16
Object classes in the weather station Object classes in the weather station systemsystem
WeatherStation
identifier
reportWeather()calibrate (instruments)test()startup (instruments)shutdown (instruments)
WeatherData
airTemperaturesgroundTemperatureswindSpeedswindDirectionspressuresrainfall
collect()summarize()
GroundThermometer
temperature
test()calibrate()
Anemometer
windSpeedwindDirection
test()
Barometer
pressureheitht
test()calibrate()
Bab 6 17
4) Rekabentuk model4) Rekabentuk model
• Menunjukkan hubungn diantara kelas• Merupakan perantara diantara keperluan
sistem dgn implimentasi• Penyembunyian keperluan
– atasi dgn penggunaan beberapa model yg berbeza
• Persoalan– Model r/b mana yang sesuai utk digunakan?– Peringkat keperincian bagi setiap model?
Bab 6 18
4) Rekabentuk model (samb. 1)4) Rekabentuk model (samb. 1)
• 2 jenis model r/b asas yg diperlukan– model statik
menggambarkan struktur sistem secara statik (kelas dan hubungan diantaranya)
Cth: Model subsistem– menunjukkan pengumpulan objek secara
logikal– Gunakan rajah kelas. Setiap subsistem
ditunjukkan sbg pakej
Bab 6 19
4) Rekabentuk model (samb. 2)4) Rekabentuk model (samb. 2)
• model dinamik– menghuraikan struktur sistem secara dinamik– menunjukkan interaksi diantara objek sistem– interaksi didokumenkan secara berturutan dgn servis yg diminta
oleh objek– menggambarkan keadaan sistem yg berkaitan dgn interaksi objek– Cth: Model turutan (sequence model)
turutan interaksi objekGunakan UML sequence @ collaboration diagram
– Cth: Model keadaan (state machine model)menunjukkan b/mana objek bertukar keadaan bergantung kpd
t/bls drp peristiwa yang berlakuGunakan state diagram, activy diagram
Bab 6 20
5) Menentukan antaramuka objek5) Menentukan antaramuka objek
• Tentukan a/muka bagi setiap komponen dlm r/b
• Tidak semestinya hubungan 1:1 diantara objek & a/muka
• Gunakan bahasa pengaturcaraan berorientasikan objek