bab1ae
TRANSCRIPT
Bab 1 : Pengenalan 1
Pengenalan
– Perisian komputer memainkan peranan yang besar dalam kehidupan manusia
– Oleh itu, teknologi perisian perlu sentiasa berkembang dan menjadi lebih baik
– Teknologi perisian teknik-teknik pengaturcaraan, analisa, komunikasi data, rekabentuk, alatan, spesifikasi, pengurusan dan sebagainya .(Kajian dan aplikasi terhadap teknik-teknik tersebut terkandung dalam bidang kejuruteraan perisian)
Bab 1 : Pengenalan 2
Sejarah & Kepentingan
• 1950an– Bahasa pengaturcaraan aras tinggi mula
diperkenalkan – Pengaturcaraan secara individu– Pengaturcaraan menjadi bidang profession
Bab 1 : Pengenalan 3
Sejarah & Kepentingan
• 1960an– Pengaturcaraan-skala-besar
• Cth: OS 360 untuk komputer IBM 360
– Pendekatan pengaturcaraan tradisional– Wujud “Krisis Perisian” metodologi, kaedah, alatan
dan teknik yang digunakan tidak lagi praktikal dan sesuai
– Istilah “Kejuruteraan Perisian” mula diperkenalkan
– Memerlukan tools, teknik dan kaedah yang lebih baik.
– Memerlukan pengamalan tools, teknik dan kaedah tersebut
Bab 1 : Pengenalan 4
Sejarah & Kepentingan
• 1980 dan 1990an– Teknologi berorientasikan objek muncul– Komponen guna semula mempengaruhi
pembangunan– Teknologi internet– Pengurusan projek dibantu oleh pelbagai
teknik
Bab 1 : Pengenalan 5
Sifat semulajadi perisian
Menjadikan proses pembangunan perisian berbeza dan lebih sukar berbanding proses kejuruteraan yang lain– Mudah berubah dan diubah- disebabkan perubahan
persekitaran– Tidak boleh dilihat- perisian adalah produk logikal– Tiada penyelesaian yang piawai- bergantung
kepada pengalaman, jenis aplikasi, skop, tahap kesukaran
– Penyenggaraan yang unik- perisian yang perlukan perubahan menyebabkan perubahan pada komponen-komponen lain
Bab 1 : Pengenalan 6
Definasi Kejuruteraan Perisian
Kejuruteraan - penggunaan pendekatan sistematik yang berasaskan sains dan matematik, ke arah proses pengeluaran yang berstruktur
Perisian - kod sumber aturcara, sistem perisianDefinisi awal oleh F.Bauer[Press,97]
– ‘Penetapan dan penggunaan prinsip-prinsip kejuruteraan yang baik di dalam memperolehi perisian berhemat yang boleh diharap dan beroperasi dengan cekap pada mesin-mesin nyata’
Bab 1 : Pengenalan 7
Definasi Kejuruteraan Perisian
IEEE Standard Glossary of Software Engineering, 1990(i)Aplikasi pendekatan yang sistematik,
berdisplin dan boleh diukur terhadap pembangunan, operasi dan penyelenggaraan perisian iaitu aplikasi kejuruteraan kepada perisian
(ii)Kajian mengenai pendekatan-pendekatan yang terdapat dalam perkara (i)
Bab 1 : Pengenalan 8
Apa itu “Kejuruteraan Perisian” ?
Pembangunan perisian yang pelbagai versi oleh sekumpulan personel.
Pengaturcaraan-skala-besar.Pendekatan sistematik di dalam
pembangunan perisian.Suatu disiplin pengurusan dan teknikal yang
sistematik mengenai penciptaan, pengeluaran dan penyenggaraan
Sistem perisian yang berkualiti tinggi, mengikut tempoh yang tertentu, dengan kos yang minimum.
Bab 1 : Pengenalan 9
Apa itu “Kejuruteraan Perisian” ?
Ringkasan :
– “Kejuruteraan Perisian adalah pendekatan sistematik menggunakan prinsip-prinsip kejuruteraan untuk membangun, melaksana dan menyenggara perisian yang berkualiti tinggi”
Bab 1 : Pengenalan 10
Dasar teknologi KP
Kualiti dan prinsip sebagai dasar (hukum dan garispanduan)
Proses perisian ialah rangkakerja keseluruhan proses pembangunan
Kaedah (metodologi) dan alatan digunakan untuk mencapai matlamat bagi setiap fasa dan aktiviti dalam proses perisian.
Bab 1 : Pengenalan 11
Dasar teknologi KP
Fokus Kualiti & Amalan Prinsip-prinsip Kejuruteraan Perisian
Proses Perisian / Paradigma Pembangunan Perisian
Kaedah
Alatan
Bab 1 : Pengenalan 12
Kualiti Perisian
Klasifikasi kualiti– .Kualiti luaran dan kualiti dalaman
• luaran adalah perspektif pengguna, dalaman perspektif pembangun.
• sangat berhubung-kait. Cth. verifiability ----> reliability
– .Kualiti produk dan kualiti proses• proses digunakan untuk menghasilkan produk• Produk : reliability, performance, correctness, etc.• Proses : cost-estimation, man-month, etc.• Juga ada hubung-kait, cth : a good planning --->
reliability
Bab 1 : Pengenalan 13
Kualiti Perisian
Contoh-contoh kualiti:
– berfungsi sebagaimana yang dikehendaki– Ketepatan (Correctness) - berfungsi mengikut
“functional requirements specification”.– Keboleharapan (Reliability) -
kebolehbergantungan di dalam melakukan kerja. Error free? Known-bugs?
– Ketegapan ( Robustness) - melakukan kerja dengan baik walaupun di dalam keadaan yang tidak dijangka. Cth. : input salah, disk crash etc.
Bab 1 : Pengenalan 14
Kualiti Perisian
Perlaksanaan (Performance)– Penggunaan sumber/teknik yang optimum. Cth :
memory, disk space, processing time, algorithm, etc.
– 3 cara menilai performance : measurement, analysis & simulation.
Ramah pengguna (User friendliness)– unsur-unsur yang membantu kelancaran kerja
pengguna– dicapai dengan penyelarasan antaramuka
pengguna yang piawai.
Bab 1 : Pengenalan 15
Kualiti Perisian
Kesah-betulan(Verifiability)– sifat perisian yang mudah disemak-sahihkan.– contoh kepada kualiti internal– Rekabentuk bermodul, pengkodan sistematik dan
pengaturcaraan yang sesuai membantu peningkatan verifiability.
Bab 1 : Pengenalan 16
Kualiti Perisian
Kesengggaraan (Maintainability)– modifikasi selepas versi yang pertama.– bukan hanya “bug-fixing”– penyenggaraan dikelaskan kepada : corrective,
adaptive dan perfective maintenance.– Juga boleh dipecahkan kepada 2 iaitu :
repairability dan evolvability.
Bab 1 : Pengenalan 17
Kualiti Perisian
• Lain-lain kualiti perisian...– Reuseability– Portability– Understandability– Interoperatability– Productivity– Timeliness– Visibility
Bab 1 : Pengenalan 18
Kualiti Perisian
Keutamaan kualiti:-Pertimbangan yang perlu dibuat mengikut
keadaan. Information systemReal time systemDistributed systemEmbedded systems
• Sangat dipengaruhi oleh kos.– Cth :
Efficiency vs CostReliability vs CostMaintainability vs Cost
Bab 1 : Pengenalan 19
Prinsip-prinsip KP
Keketatan (rigour) dan Formaliti (formaliti) Rigour- Set peraturan dan langkah yang
jelas,terperinci Formaliti- hukum-hukum matematik yang
digunakan utk mencapai sesuatu tujuan
Pemisahan Pertimbangan Pemecahan masalah yang besar dan kompleks
kepada skop yang lebih kecil berdasarkan skop masa, kualiti, perspektif dan spesifikasi kerja
Bab 1 : Pengenalan 20
Prinsip-prinsip KP
Modulariti Pemecahan suatu sistem yang kompleks kepada
modul-modul yang akan dibangunkan secara berasingan sebelum digabungkan semula
Peniskalan Proses memisahkan aspek yang penting daripada
perincian suatu objek, fenomena atau fungsi pada suatu masa dan keadaan tertentu
Bab 1 : Pengenalan 21
Prinsip-prinsip KP
Telahan terhadap perubahan Menjangka perubahan yang mungkin terjadi dari
segi produk ataupun proses
Umum Usaha untuk mengenalpasti penyelesaian yang
lebih umum terhadap masalah semasa
Peningkatan Peningkatan produk dari masa ke semasa Pembangunan pelbagai versi perisian dan
penggunaan prototaip