1 / 27

Kejuruteraan Perisian

Kejuruteraan Perisian. Isu-isu semasa rekabentuk sistem Rekabentuk perisian masa-nyata (real-time system). REKABENTUK SISTEM (3). Isu-isu rekabentuk sistem. Kemodularan (modularity) dan peringkat abstrakan Rekabentuk secara kerjasama (collaborative) Rekabentuk antaramuka pengguna

kris
Download Presentation

Kejuruteraan Perisian

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kejuruteraan Perisian • Isu-isu semasa rekabentuk sistem • Rekabentuk perisian masa-nyata (real-time system) REKABENTUK SISTEM (3)

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

  3. 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)

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

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

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

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

  8. 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)

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

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

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

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

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

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

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

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

  17. 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)

  18. Keserentakan (samb) Model sistem masa-nyata

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

  20. Keserentakan (samb) Sensor/actuator processes

  21. 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)

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

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

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

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

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

  27. Kuliah minggu depan Rekabentuk antaramuka pengguna (Keperluan Fasa 3 Projek Berkumpulan)

More Related