bab6c

20
Bab 6 1 Rekabentuk Berorientasikan Objek Rekabentuk 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

Upload: madzani-nusa

Post on 13-May-2015

478 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Bab6c

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

Page 2: Bab6c

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

Page 3: Bab6c

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

Page 4: Bab6c

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

Page 5: Bab6c

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

Page 6: Bab6c

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

Page 7: Bab6c

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

Page 8: Bab6c

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

Page 9: Bab6c

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

Page 10: Bab6c

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

Page 11: Bab6c

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

Page 12: Bab6c

Bab 6 12

The weather station architectureThe weather station architecture

<<subsystem>>Interface

<<subsystem>>Data collection

<<subsystem>>Instruments

Page 13: Bab6c

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

Page 14: Bab6c

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

Page 15: Bab6c

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>>

Page 16: Bab6c

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()

Page 17: Bab6c

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?

Page 18: Bab6c

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

Page 19: Bab6c

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

Page 20: Bab6c

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