Kejuruteraan Perisian [English]

                                                                                               

Kemungkinan-kemungkinan rujukan:

 

Objektif topik: Pelajar harus faham apa itu kejuruteraan perisian dan kenapa ia diperlukan. Prinsip-prinsip dan kaedah-kaedah kejuruteraan perisian juga harus dikuasai secara kasar. 


 

  Kejuruteraan perisian:

  • Penggunaan pendekatan yang bersistem, berdisiplin dan boleh diukur terhadap pembangunan, operasi dan penyenggaraan perisian (iaitu penggunaan kejuruteraan kepada perisian)
  • Kajian mengenai pendekatan-pendekatan yang terdapat dalam perkara di atas

 

 

Perlunya kejuruteraan perisian:

(terutama untuk perisian besar)

              untuk memberikan perisian berhemat (kos pembangunan, operasi dan penyenggaraan yang optimum berbanding faedah penggunaan perisian)

              ketepatan (menurut spesifikasi), keboleharapan (beroperasi dengan betul untuk beberapa masa) dan ketegapan (dapat menangani keadaan tidak dijangka) perisian

              kecekapan perisian

 

Kualiti perisian  - pelbagai perspektif:

            pemaju: produktiviti bertambah, kos rendah, guna semula

            penyenggara: kod mudah dibaca, ralat minimum, dokumentasi baik, rekabentuk baik

            pengguna: senang digunakan (ramah pengguna), berfungsi dengan betul, senang dipelarikan, senang diingat

 

 

PRINSIP KEJURUTERAAN PERISIAN

 

  Prinsip kejuruteraan perisian:

  • keketatan dan keformalan
  • pemisahan pertimbangan
  • kemodularan
  • peniskalaan
  • telahan terhadap perubahan
  • umum
  • peningkatan

 

 

Keketatan dan Keformalan

 

keketatan: set peraturan dan langkah-langkah yang jelas, terperinci dan perlu dipatuhi

setiap langkah perlukan takrifan jelas

 

keformalan: set peraturan dan langkah-langkah yang mempunyai tahap keketatan yang tinggi

berbentuk hukum matematik

 

Pemisahan Pertimbangan

 

      pemecahan masalah yang besar dan kompleks kepada skop-skop yang lebih kecil

      penjadualan aktiviti pembangunan perisian

      penumpuan kepada objektif kualiti berlainan pada satu-satu masa

      individu berlainan untuk tugas pembangunan sistem yang berlainan

 

Kemodularan

 

Pemecahan sistem yang kompleks kepada modul-modul yang lebih mudah, yang dibangunkan secara berasingan dan kemudian digabungkan.

Dua pendekatan: penguraian dan penggubahan

Setiap modul perlukan - tahap paduan yang tinggi : menyumbang kepada tujuan yang sama

                                    - tahap gandingan yang rendah : kebergantungan rendah di antara modul

 

Peniskalaan

 

Mengangkat aspek yang penting daripada perincian suatu objek, fenomena atau fungsi.

Memudahkan pemahaman sistem yang besar dan kompleks.

 

Telahan terhadap Perubahan

 

Keupayaan untuk menjangka perubahan yang mungkin terjadi, dari segi produk ataupun proses.

 

Umum

 

Penyelesaian paling umum kepada sesuatu masalah

            mungkin penyelesaian lebih mudah

            mungkin guna semula, guna yang sedia ada  

 

Peningkatan

 

Prototaip, versi yang meningkat

 

 

PROSES PEMBANGUNAN PERISIAN

 

Fasa umum pembangunan perisian

 

  Fasa umum pembangunan perisian:

  • perancangan
  • analisis keperluan
  • rekabentuk
  • pelaksanaan
  • penentusahan dan pengesahan
  • operasi dan penyenggaraan

 

 

Secara umumnya, suatu kitar hayat pembangunan perisian mengandungi fasa-fasa berikut. Sesuatu fasa itu diakhiri oleh batu tanda atau hantaran, yang merupakan sesuatu yang boleh dilihat (mis. laporan)

 

Perancangan:

Fasa pertama, tapi boleh juga di pertengahan jika berlaku sesuatu di luar jangkaan.

Sebahagian daripada pengurusan projek perisian

Menentukan objektif umum, skop kerja, sumber manusia dan peralatan, kos (mis. anggarkan menggunakan model COCOMO), jadual perancangan kerja (mis. dibantu rajah PERT).

 

 

Model COCOMO (Constructive Cost Model) asas:

 

Usaha (dlm bulan-manusia),

                     E = A (Nrbk)b

Tempoh (dlm bulan),

                     D = C (E)d

Nrbk adalah bil. baris kod (ribu), dan

dgn nilai-nilai:

A = 2.4 (utk projek asas)

       3.0 (utk projek pertengahan)

       3.6 (utk projek termaju)

b  = 1.05 (utk projek asas)

       1.12 (utk projek pertengahan)

       1.20 (utk projek termaju)

C = 2.5 (utk projek asas)

       2.5 (utk projek pertengahan)

       2.5 (utk projek termaju)

d  = 0.38 (utk projek asas)

       0.35 (utk projek pertengahan)

       0.32 (utk projek termaju)

Carta PERT (Program Evaluation and Review Technique):

 

Graf terarah di mana nod-nod mewakili aktiviti dgn tarikh permulaan (yg menandakan tarikh akhir aktiviti sebelumnya), dan pautan-pautan menunjukkan hubungan di antara aktiviti-aktiviti.

 

 

 

Analisis keperluan:

Menyelidik keperluan perisian.

Kaji permasalahan semasa, keperluan pengguna, keperluan organisasi dan piawaian.

Mengeluarkan spesifikasi perisian.

Model-model analisis – model aliran data (DFD), model gabungan (model semantik), model objek.

 

Rekabentuk:

Menterjemahkan fungsi-fungsi/proses-proses dalam spesifikasi keperluan kepada komponen-komponen perisian.

Memperincikan keterangan proses dan hubungan di antara proses.

Memecahkan kepada bentuk modul yang berstruktur, biasanya ditulis dalam pseudokod.

Membabitkan pertimbangan antaramuka pengguna, pangkalan data, bentuk input, laporan dihasilkan

Aktiviti – rekabentuk senibina, rekabentuk antaramuka, rekabentuk komponen, rekabentuk struktur data, rekabentuk algoritma.

 

Pelaksanaan:

Menterjemahkan rekabentuk terperinci kepada kod aturcara.

 

Penentusahan dan pengesahan:

Perisian disemak dan disahkan dengan menjalankan aturcara menggunakan sampel data dan dibandingkan dengan output yang dijangkakan.

Juga semakan perancangan projek, spesifikasi keperluan dan rekabentuk sistem.

Aktiviti jaminan kualiti perisian.

Teknik statik (pengamatan hasil kerja atas kertas) dan teknik dinamik (melibatkan pelaksanaan aturcara).

Proses pengujian – pengujian unit, pengujian integrasi, pengujian sistem, ujian penerimaan (ujian aras – benchmark test; ujian pandu – pilot test: pengujian alfa – oleh pengguna diawasi pemaju, pengujian beta – oleh pengguna tanpa pemaju).

Strategi pengujian – pengujian atas-ke-bawah, pengujian bawah-ke-atas, pengujian ketegangan (ketahanan sistem; kegagalan harus secara ‘lembut’).

 

Operasi dan penyenggaraan:

Penyerahan kepada pengguna termasuk latihan, manual, sokongan teknikal, dsb.

Penyenggaraan apabila diperlukan perubahan dalam perisian, mis. ralat yang baru dikesan, keperluan pengguna yang baru, persekitaran peralatan yang berubah, untuk meningkatkan keupayaan perisian.

Ubahsuai bahagian tertentu dan diuji.

 

 

Paradigma pembangunan perisian

(proses perisian)

 

     model air terjun

fasa-fasa sebagai aktiviti berjujukan – output fasa pertama “mengalir” ke fasa kedua, dan seterusnya

linear; kemajuan mudah dipantau; dipacu dokumen (output kebanyakan fasa berbentuk dokumen)

masalah dgn sistem linear - pemajuan perisian tak linear: ralat yg ditemui di fasa lanjut perlu disuapbalik ke fasa awal

                                       - banyak proses perlu dibekukan kerana belum masa ditangani

 

     model prototaip (model evolusi)

menangani keperluan yang tidak lengkap: bina prototaip dahulu

prototaip membantu menjelaskan keperluan sebenar

dua pendekatan – prototaip penjelajahan, prototaip pakai-buang

model penjelajahan – bila keperluan perisian susah dijelaskan secara perinci (mis. sistem kepintaran buatan): tiada pengesahan dilakukan, perisian diterima jika memadai

dipacu peningkatan

 

     model peningkatan

penyerahan versi dengan fungsi ditambah berperingkat

 

     model transformasi formal

spesifikasi formal disemak dan disahkan secara formal, kemudian ditransformasikan kepada bentuk aturcara

menyokong evolusi aturcara kerana perubahan terkemudian tidak memerlukan mulaan semula, dan boleh dibuat secara konsisten

 

     model lingkaran

metamodel, kerana mengandungi model lain

tak linear

gabungkan model prototaip dan model air terjun dengan analisis risiko

lingkaran: … tentukan objektif, alternatif kekangan penilaian alternatif, kenalpasti & selesaikan risiko membangun dan mengesahkan produk merancang fasa berikut

setiap lingkar boleh gunakan model berlainan menurut apa yang terbaik

 

     model kod dan baiki

bukan sebenarnya model

pendekatan asal apabila pemajuan perisian dilakukan oleh orang tunggal dan disediakan untuk khalayak terhad yang mereka sendiri boleh majukan perisian

 

Alatan perisian

 

Misalan masyhur: CASE (Computer-Aided Software Engineering)

Integrasi alatan dalam I-CASE:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

balik ke sinopsis SMES3103