Kejuruteraan Perisian REKABENTUK SISTEM (3) Isu-isu semasa rekabentuk sistem Rekabentuk perisian masa-nyata (real-time system)
Jan 05, 2016
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)
Real-timecontrol system
ActuatorActuator ActuatorActuator
SensorSensorSensor SensorSensorSensor
Model sistem masa-nyata
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)
Dataprocessor
Actuatorcontrol
Actuator
Sensorcontrol
Sensor
Stimulus Response
Sensor/actuator processes
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)