Archive for the ‘Kejuruteraan Perisian’ Category

Ekosistem Perisian – Menjamin Kestabilan Pembangunan Perisian – Bah. 1

Written by alfarabius on Apr 24th, 2009 | Filed under: Kejuruteraan Perisian, Program, Umum

coral-reef

Ekosistem bermaksud kesemua komponen dalam sesebuah kumpulan / organisasi yang mempunyai visi dan objektif tertentu, memainkan peranan masing-masing untuk menjamin kelangsungan kumpulan tersebut. Dalam konteks pembangunan perisian, ekosistem perisian bermaksud kaedah pembangunan perisian yang memberi faedah dan respon yang efektif sama ada kepada klien, pembangun / pengaturcara plug-in, pengedar, perunding IT, pengilang (hardware) serta pesaing.

Ekosistem perisian ibarat batu karang yang terdampar di dasar lautan. Batu karang dicipta untuk mengimbangi keseluruhan ekosistem kehidupan di dasar laut. Semua kehidupan laut bergantung kepada batu karang tersebut dan sentiasa berkembang serta bertahan sampai bila-bila selagi tidak diganggu.

Begitu juga dengan perisian yang sentiasa berevolusi, skop yang makin luas, dan berubah mengikut keperluan semasa oleh pihak klien. Walau bagaimanapun, ini bukan bermaksud perisian sahaja yang berubah malah ekosistem perisian juga turut mengalami transformasi tersebut. Sifat perisian yang rumit dan mudah diancam ketidakpuasan pengguna atau ketidaksesuaian teknologi yang digunapakai.

Oleh itu, bagi membangunkan perisian yang mantap dan mesra kepada ekosistem perisian, maka kaedah pembangunan yang tepat dan bersesuaian dengan sistem yang akan dibangunkan, perlulah diteliti oleh inteligensia IT (pengaturcara, penganalisa sistem, ketua projek IT dsb). Contoh sistem sama ada berasaskan aplikasi web, sistem Desktop, servis sesawang (Web service) dan sebagainya.

Oleh sebab itu, maka wujudlah pelbagai pendekatan atau kerangka pembangunan perisian yang dinamik bagi merealisasikan konsep Kestabilan Pembangunan Perisian atau ‘Sustainable Software Development’.

P/s: “Manusia sering tertipu dengan hati dan fikiran masing-masing tentang bakat dan kebolehan, sebenarnya diri sendiri mempunyai 1001 kelebihan yang belum diteroka, ini disebabkan daya usaha yang kurang dan malas” ~Aku kata


Pengujian Perisian – Satu Langkah Awal dan Wajib kepada Pengaturcara

Written by alfarabius on Nov 25th, 2008 | Filed under: Kejuruteraan Perisian

 Pengujian Perisian - Satu Langkah Awal dan Wajib kepada Pengaturcara

Perisian atau program yang sempurna boleh dikatakan sebagai perisian yang bebas dari segala ralat, kesalahan logik, dan sifatnya yang mengikut keperluan pengguna. Oleh itu, pengujian perisian boleh dikatakan langkah komprehensif awal dalam mengenalpasti dan memperbaiki kefungsian sesebuah perisian.

Menurut NIST (organisasi bebas menyelia dan memantau piawaian sains dan teknologi di USA), pada tahun 2002 sahaja, kerosakan pada perisian di US mengakibatkan $59.5 bilion terpaksa dibelanjakan. Fakta yang agak mengejutkan kerana angka tersebut memang banyak dan mempengaruhi ekonomi US pada tahun tersebut.

 Tujuan Pengujian

Secara asasnya, pengujian dilakukan bagi memastikan perisian yang dibangunkan mengikut spesifikasi keperluan pengguna. Realitinya, skop pengujian dilakukan pada setiap fasa pembangunan (Waterfall, Agile, OO, atau lain-lain) dan merupakan aktiviti yang paling rumit bagi seorang pengaturcara. Pengujian kefungsian pada setiap hirarki dari unit sehinggalah kepada keseluruhan sistem memerlukan metod atau kaedah yang sesuai sama ada secara manual atau automatik.

Ini bagi memudahkan kerja-kerja integrasi pengaturcaraan bagi setiap modul-modul yang dibangunkan perisian. Tidak kira apa jua bentuk pengujian (white-box, black-box atau grey-box), pengaturcara perlu mempunyai kemahiran menganalisa yang tinggi dan ketelitian dalam setiap kod pengaturcaraan yang ditulis.

Kaedah Pengujian

Pengujian Black-Box

Menganggap perisian yang diuji sebagai kotak hitam iaitu penguji hanya perlu mengetahui kefungsian luaran tanpa mengetahui kod atau struktur algoritma dalam perisian tersebut. Penguji hanya perlu memahami keperluan pengguna dan menguji satu-persatu kefungsian perisian tersebut bagi memastikan setiap satunya mengikut spesifikasi yang ditetapkan.

Pengujian White-Box

Pengujian terus terhadap algoritma dan struktur kod pengaturcaraan pada setiap hirarki pembangunan perisian. Setiap fungsi atau modul yang ditulis, diuji dan dianalisa bagi memastikan fungsi tersebut mengeluarkan hasil / output yang betul dan tepat.

Pengujian Grey-Box

Kaedah pengujian semakin diperbaiki dari masa ke semasa bagi memastikan pengujian terhadap perisian semakin relevan dan efisien. Pengujian grey-box bermaksud kombinasi pengujian antara kaedah white-box dan black-box. Penguji atau pengaturcara perlu melihat kefungsian sesebuah perisian luar dan dalam. Ini merupakan aktiviti yang kerap dilakukan oleh pengaturcara sekarang kerana menjimatkan masa, kos dan berstruktur.

Siri-siri akan datang, kita akan melihat lebih lanjut lagi tentang perisian pengujian ini.

P/s:  Berubah adalah tindakan yang paling sukar dilakukan tapi mudah disebut. Berubah bermaksud dari keadaan A ke keadaan B yang lebih baik, segar dan bertenaga. Berubahlah dari segala aspek kehidupan sekarang kerana hidup ini hanya sekali sahaja . ;) ~Aku kata


Analisis dan Rekabentuk Berorientasikan Objek (Object-Oriented) dalam Pembangunan Perisian

Written by alfarabius on Jul 17th, 2008 | Filed under: Kejuruteraan Perisian

 

chapter_10_introduction_to_object-relational_mappingimage1.png

Pengenalan

Dalam prinsip kejuruteraan perisian, salah satu kaedah menyelesaikan spesifikasi keperluan  (keperluan pengguna) adalah berfikir secara objek. Ini bermaksud masalah atau keperluan sesebuah perisian perlu dianggap sebagai sebuah objek yang mempunyai beberapa fungsi tertentu di dalamnya. Dalam dunia sebenar, perisian dan perkakasan (hardware) yang hendak dibangunkan perlu dianalisis secara teliti, difahami secara mendalam dan konsep ‘domain’ masalah tersebut perlu jelas.

Analisis Berorientasikan Objek

Mengenalpasti ciri-ciri dan konsep objek dalam sesebuah masalah. Secara ringkasnya, analisis OO ini memastikan para pembangun atau pengaturcara perisian pada jalan yang betul dalam menyelesaikan masalah tersebut mengikut kepakaran masing-masing. Satu objek boleh dipecahkan kepada beberapa sub-objek dan setiap satunya mempunyai masalah berlainan dan diselesaikan oleh orang yang berlainan.

Sebagai contoh, sebuah kereta mempunyai beberapa bahagian tertentu yang sama-sama menjalankan fungsi sebagai sebuah kereta. Bahagian tersebut adalah enjin (satu objek), stering (satu yang objek yang lain), cermin sisi dan sebagainya. Objek-objek tersebut mempunyai fungsi yang khusus dan berinteraksi antara satu sama lain bagi menggerakkan sebuah objek (kereta). :D

Begitulah juga dalam membangunkan perisian atau program berskala besar. Contohnya, Sistem Penyuraian dan Pemantauan Trafik Bandaraya Kuala Lumpur terdiri dari beberapa komponen dan dibahagikan tugasnya bagi memudahkan penyelesaian sebelum diintegrasikan. Contohnya, Komponen Pemantauan CCTV (objek 1), Komponen Lampu Isyarat (objek 2), Komponen Algoritma Fuzzy Trafik(objek 3) dan sebagainya. Oleh itu, perlu satu mekanisma dalam memahami dan menganalisis masalah dan keperluan terhadap sistem trafik tersebut. Apabila secara keseluruhan sistem dapat difahami sepenuhnya, peringkat rekabentuk tidak menjadi masalah kepada semua pihak (Klien, Pengurus Projek, Pengaturcara, Jurutera dan Penganalisis). ;)

Rekabentuk Berorientasikan Objek

Apabila peringkat analisis selesai, suatu rekabentuk berorientasikan objek dilakar sama ada menggunakan kaedah UML (Unified Modeling Language) atau Patterns. UML merupakan bahasa/rajah rekabentuk standard (rajah) yang memaparkan unsur-unsur model bagi sesuatu objek yang mudah difahami. Terdapat beberapa skema model dalam UML ini iaitu :

  1. Sequence Diagram – Tatacara susunan perjalanan sesebuah program atau proses.
  2. Use Case – Paparan ringkas keperluan pengguna atau sistem/proses.
  3. State Machine – Penerangan ringkas proses awal sehingga proses tamat.

Rekabentuk tersebut merupakan rangka sebenar pada sesebuah perisian / program. Oleh itu, semua pihak dalam pembangunan perlu sama-sama memahami dengan jelas bagi mengelakkan kekeliruan / salah faham ketika proses pengintegrasian sistem berlaku.

P/s: Kejayaan Bergantung kepada Apa yang Anda Lakukan dengan Diri Anda ~Dr. Shukri Abdullah


Sila Masukkan Alamat
Emel Anda Untuk
Mendapatkan Artikel Blog ini
Secara PERCUMA :

Disediakan oleh: FeedBurner