Title: Kejuruteraan Perisian
1Kejuruteraan Perisian
- Isu-isu semasa rekabentuk sistem
- Rekabentuk perisian masa-nyata (real-time system)
2Isu-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
3Kemodularan (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)
4Kemodularan (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.
5Kemodularan (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.
6Rekabentuk 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
7Rekabentuk 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)
8Rekabentuk 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)
9Rekabentuk 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
10Rekabentuk 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.
11Rekabentuk 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.
12Rekabentuk 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.
13Corak 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.
14Corak 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.
15Keserentakan (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.
16Keserentakan (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
17Keserentakan (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)
18Keserentakan (samb)
Model sistem masa-nyata
19Keserentakan (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.
20Keserentakan (samb)
Sensor/actuator processes
21Keserentakan (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)
22Sistem 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
23Sistem 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
24Sistem 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.
25Sistem 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
26Sistem 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
27Kuliah minggu depan
- Rekabentuk antaramuka pengguna
- (Keperluan Fasa 3 Projek Berkumpulan)