Kejuruteraan Perisian

Download Report

Transcript Kejuruteraan Perisian

Kejuruteraan Perisian
REKABENTUK
SISTEM (3)
Isu-isu semasa rekabentuk sistem
 Rekabentuk perisian masa-nyata
(real-time system)

Isu-isu rekabentuk sistem



Kemodularan (modularity) dan peringkat
abstrakan
Rekabentuk secara kerjasama (collaborative)
Rekabentuk antaramuka pengguna





metaphors, mental model, navigation rules, look
and feel
cultural issues
user preferences
Keserempakan (concurrency)
Corak dan gunasemula rekabentuk
Kemodularan (modularity) dan
peringkat abstrakan



Rekabentuk modul mempunyai definisi yg
jelas tentang data input dan output serta
tujuan modul dinyatakan.
Pemeriksaan modul senang dibezakan supaya
ianya melaksanakan tugas yang diberikan.
Modul diorganisasi kepada hirarki, yang
merupakan hasil penghuraian atau abstrakan
(membolehkan pemeriksaan sistem pada satu
peringkat pada satu masa tertentu)
Kemodularan (modularity) dan
peringkat abstrakan (samb)

Contoh pengabstrakan:


Modul yg menyusun elemen-elemen dalam
senarai L.
Abstrak awal ialah:


Menyusun L dalam susunan menaik
Peringkat abstrak seterusnya:


Dalam bentuk algoritma tertentu
Do while I is between 1 and (length of I)-1




Set Low to index of smallest value in L(I), …,L(Length L)
Interchange L(I) and L(Low)
EndDo
Memudahkan pembangun fokus pada
maklumat yg diperlukan sahaja.
Kemodularan (modularity) dan
peringkat abstrakan (samb)

Peringkat abstrakan




Komponen pada satu peringkat menerangkan
lebih mendalam komponen pada peringkat
atasnya (lebih abstrak)
Membantu memahami masalah yg diutarakan oleh
sistem dan penyelesaian yg dicadangkan oleh
rekabentuk.
Menggalakkan information hiding dimana setiap
komponen menyorok pemilihan rekabentuk
daripada komponen lainnya.
Kemodularan membenarkan komponen yg
berlainan direkabentuk secara berasingan.
Rekabentuk secara kerjasama
(collaborative)



Dalam kebanyakan projek, rekabentuk sistem
tidak dihasilkan oleh individu.
Kebiasaannya, pasukan kerja bekerjasama
untuk menghasilkan rekabentuk dengan
menugaskan bahagian yg berlainan kepada
individu yg berbeza.
Timbul isu seperti:




Siapa yg layak untuk merekabentuk aspek sistem
Dokumentasi rekabentuk yg difahami oleh semua
Kordinasi rekabentuk komponen yang sama
Punca-punca kegagalan rekabentuk
Rekabentuk secara kerjasama
(samb)


Masalah utama: perbezaan individu
didalam pengalaman, pemahaman dan
kesukaan/rujukan (kelakuan kumpulan)
Punca-punca kegagalan rekabentuk:


Kurang pengetahuan (skema dan proses
rekabentuk,dll)
Had kognitif (kekangan, simulasi mental,
pengembangan dan penggabungan
penyelesaian di dalam rekabentuk)
Rekabentuk secara kerjasama
(samb)

Cara mengurangkan masalah:





Bina persefahaman antara kumpulan kerja
Guna peralatan ‘groupware’ untuk memberi
pendapat serta pemilihan idea (kerahsiaan
individu)
Maklumbalas dalam bentuk nota, prototaip, grafik
untuk menggalakkan komunikasi
Guna piawai rekabentuk yg disepakati bersama
(interface layout design)
Bina produk yang mengambilkira kelebihan
individu (kepakaran bidang)
Rekabentuk antaramuka
pengguna


Antaramuka pengguna merupakan
rekabentuk yg mencabar kerana setiap
individu mempunyai gaya yg tersendiri bagi
maklumbalas dan pemahaman kerja (guna
windows atau arahan)
Isu-isu rekabentuk antaramuka:


Metaphors- asas tema, imej dan konsep yg boleh
dikenali dan dipelajari
Mental model- organisasi dan perwakilan data,
fungsi, tugas dan peranan
Rekabentuk antaramuka
pengguna (samb)

Isu-isu rekabentuk antaramuka: (samb)




Navigation rules- pemindahan antara data, fungsi,
aktiviti dan peranan
Look- sifat paparan sistem yg mengandungi
maklumat untuk pengguna
Feel- teknik interaksi yg menyediakan tarikan
pengalaman untuk pengguna
Matlamat antaramuka: membantu pengguna
memperolehi capaian cepat kepada
kandungan sistem tanpa hilang pemahaman
semasa mereka menggunakan sistem.
Rekabentuk antaramuka
pengguna (samb)


Antaramuka pengguna boleh
menggabungkan pelbagai variasi
teknologi spt agen (bots), hypertext,
bunyi, 3D, video dan alam maya.
Antaramuka yg efektif mengambilkira 2
isu utama:

Isu budaya (cultural)

perbezaan dari segi nilai kepercayaan, warga,
jantina, jawatan, umur dan korporat.
Rekabentuk antaramuka
pengguna (samb)

Isu budaya (samb)



Untuk sistem multi-budaya, perlu hapuskan
rujukan budaya spesifik (biases) di dalam
antaramuka (manual, mesej, label, ikon dll)
Guna antaramuka bebas biases untuk ubahsuai
kepada budaya yg menggunakan perisian.
Isu rujukan pengguna (preferences)


Bergantung kepada jenis individu atau ahli
kumpulan pekerja (isu kesukaan pengguna).
Penggunaan terminologi, kepadatan maklumat
dan jenis aksara (bentuk) pada antaramuka.
Corak dan gunasemula
rekabentuk



Kebanyakan sistem dibina menyerupai
beberapa aspek sistem sebelumnya.
Sistem mungkin terdiri dari beberapa siri
aplikasi yg mempunyai fungsian yg hampir
serupa tetapi digunakan pada persekitaran yg
berlainan (cth: sistem kalendar)
Corak rekabentuk (design pattern)
mengenalpasti persamaan struktur
rekabentuk sistem yg mungkin berguna untuk
digunasemula bagi sistem akan datang.
Corak dan gunasemula
rekabentuk (samb)

Corak rekabentuk boleh terdiri daripada kod
aturcara, kelas objek, ujian dan dokumentasi.


Cabaran ialah untuk menghasilkan corak
rekabentuk yg tidak memerlukan
pengubahsuaian langsung.
Pembangun perlu membina corak rekabentuk
yang tidak terikat kepada mana-mana spesifik
sistem dengan mengambilkira keperluan
sistem sekarang dan pada masa hadapan.
Keserentakan (concurrency)


Kebanyakan sistem memerlukan kepada
beberapa tindakan/aksi secara serentak (tidak
berjujukan).
Cth: sistem kawalan air boleh terdiri dari
banyak sensor yg melaporkan sifat seperti
suhu, kelajuan, keasidan dan komposisi
kimia. Rekabentuk sistem mesti menyertakan
laporan sensor secara nyata apabila sifat-sifat
air tersebut berubah.
Keserentakan (samb)

Sistem masa-nyata (real-time)


Sistem yang membuat pemerhatian dan
mengawal persekitarannya.
Biasanya digabungkan dengan peranti
perkakasan:



Sensors- mengumpul data daripada persekitaran
sistem
Actuators- menukar persekitaran sistem
Masa adalah kritikal. Sistem masa nyata
mesti memberi maklumbalas di dalam
tempoh yg dinyatakan
Keserentakan (samb)


Sistem masa-nyata ialah perisian sistem
dimana pengfungsian sistem yg betul
bergantung kepada keputusan yg dihasilkan
oleh sistem dan pada masa hasil keputusan
tersebut dikeluarkan.
Sistem ini biasanya menghasilkan tindakbalas
dalam tempoh yang spesifik:


Periodic stimuli. Stimuli which occur at
predictable time intervals (in seconds)
Aperiodic stimuli. Stimuli which occur at
unpredictable times (unexpected power failure)
Keserentakan (samb)
Model sistem masa-nyata
Sensor
Sensor
Sensor
Sensor
Sensor
Sensor
Real-time
control system
Actuator
Actuator
Actuator
Actuator
Keserentakan (samb)

Senibina sistem masa-nyata



Senibina sistem mesti membenarkan pertukaran
kawalan yg pantas antara pengendali stimulus yg
berubah mengikut masa.
Masalah utama: memastikan kekonsistenan data
yg dikongsi antara komponen yg dijalankan pada
masa yang sama (concurrent)
Cara mengatasi: sistem biasanya direkabentuk
sebagai proses-proses yg bekerjasama dengan
kawalan sistem yg mengawal kesemua proses
tersebut.
Keserentakan (samb)
Sensor/actuator processes
Sensor
Actuator
Stimulus
Sensor
control
Response
Data
processor
Actuator
control
Keserentakan (samb)


Synchronization merupakan satu kaedah bagi
membenarkan dua proses/ aktiviti berjalan
serentak tanpa gangguan antara satu sama
lain.
Mutual exclusion ialah satu cara
synchronizaton dimana ia memastikan apabila
satu proses sedang mencapai elemen data,
tiada proses lain dapat mengubah elemen
data tersebut (data locked)
Sistem masa-nyata

Monitoring and control systems




Important class of real-time systems
Continuously check sensors and take
actions depending on sensor values
Monitoring systems examine sensors and
report their results
Control systems take sensor values and
control hardware actuators
Sistem masa-nyata (samb)

Burglar alarm system



A system is required to monitor sensors on
doors and windows to detect the presence
of intruders in a building
When a sensor indicates a break-in, the
system switches on lights around the area
and calls police automatically
The system should include provision for
operation without a main power supply
Sistem masa-nyata (samb)

Sensors



Movement detectors, window sensors, door
sensors.
Voltage drop sensor
Actions




When an intruder is detected, police are called
automatically.
Lights are switched on in rooms with active
sensors.
An audible alarm is switched on.
The system switches automatically to backup
power when a voltage drop is detected.
Sistem masa-nyata (samb)

Real-time programming



Hard-real time systems may have to programmed
in assembly language to ensure that deadlines are
met
Languages such as C allow efficient programs to
be written but do not have constructs to support
concurrency or shared resource management
Ada as a language designed to support real-time
systems design so includes a general purpose
concurrency mechanism
Sistem masa-nyata (samb)


Java supports lightweight concurrency
(threads and synchonized methods) and can
be used for some soft real-time systems
Java 2.0 is not suitable for hard RT
programming or programming where precise
control of timing is required




Not possible to specify thread execution time
Uncontrollable garbage collection
Not possible to discover queue sizes for shared
resources
Not possible to do space or timing analysis
Kuliah minggu depan
Rekabentuk antaramuka
pengguna
(Keperluan Fasa 3 Projek
Berkumpulan)