Rabu, 20 Mei 2009

Pengantar Rekayasa Perangkat Lunak

Diposting oleh mika di 02.32

apakah itu software (perangkat lunak)? menurut IEEE definisi software merupakan program komputer, procedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer. jadi bisa disimpulkan bahwa software merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk program, dokumen, dan data.

tantangan dalam pembuatan software antara lain adalah menciptakan software yang memperbolehkan berbagai macam mesin untuk saling berkomunikasi melewati jaringan intranet dan internet, menciptakan arsitektur aplikasi yang sederhana namun canggih sesuai dengan kebutuhan pasar di era globalisasi, mendistribusikan source code sehingga pelanggan bisa membuat modifikasi lokal sesuai dengan kebutuhannya, serta menciptakan aplikasi yang menfasilitasi komunikasi dan distribusi produk secara masal mengunakan konsep yang berkembang.

sering kali terdapat program yang telah berumur tua namun masih bernilai dalam bisnis, program ini harus tetap dijaga namun sering kali menimbulkan masalah karena program tersebut tidak didasain untuk berubah. padahal sebuah program harus bisa beradaptasi dengan lingkungan dan teknologi baru, selalu bisa mengimplementasikan kebutuhan bisnis yang baru, bisa berkomunikasi dengan sistem yang modern, dan lain-lain. untuk itu perlu software evolution yaitu suatu proses dimana program melakukan perubahan bentuk, beradaptasi dengan pasar, dan menurunkan karakteristik yang ada pada program pendahulunya.

namun perubahan sendiri juga mempunyai biaya yang mahal, biaya perubahan pada tahap development membutuhkan biaya 6 kali lebih mahal dibandingkan jika perubahan dilakukan pada tahap definisi, dan melipat 60 sampai 100 kali lipat jika perubahan dilakukan setelah software dirilis.

ada beberapa salah persepsi tentang software, dari sisi pelanggan berpandangan bahwa pernyataan umum tentang tujuan sudahlah cukup, dan melengkapi detilnya kemudian, dalam kenyataan pendefinisian kebutuhan yang salah dan kurang pada tahap awal pembuatan software merupakan sebab utama kualitas yang buruk dan penyelesain software menjadi terlambat. pandangan lainnya yang salah adalah pelanggan mengangap bahwa perubahan bisa diakomodasi dengan mudah karena software itu fleksible, padahal biaya yang dibutuhkan untuk perubahan semakin besar jika mendekati tahap akhir sebuah software.

dari sisi pengembang ada beberapa myth yang perlu diluruskan, diantaranya adalah anggapan bahwa pekerjaan developer telah selesai setelah program ditulis dan berjalan, padahal 50 sampai 70 % dari kerja developer terjadi ketika program di deliver ke pelanggan. selain itu pandangan tentang satu-satunya deliver adalah program perlu diluruskan, bahwa software didalamnya termasuk dokumentasi, data dan program.

Pada sisi manajemen berpendapat bahwa menambah programmer ketika deadline sudah didepan mata bisa membantu mempercepat waktu pengerjaan, namun pendapat itu tidak sepenuhnya benar karena orang baru membutuhkan masa transisi yang bisa jadi merusak ritme kerja tim.

pendekatan dalam pengembangan, pengoperasian, dan pengelolaan perangkat lunak disebut dengan software enginnering ( rekayasa perangkat lunak ). rekayasa perangkat lunak dimaksudkan untuk membuat perangkat lunak yang tepat dengan metode yang tepat, karena ketepatan perangkat lunak bisa di kelola. ada 2 hal yang perlu di pertimbangkan dalam rekayasa perangkat lunak, produknya yaitu perangkat lunak serta prosesnya.produk terdiri dari program, dokumen, dan data, proses terdiri dari proses managemen dan proses teknikal.

produk dari perangkat lunak dipantau melewati beberapa tahap pengembagan (software development life cycle / SDLC ). contoh dari SDLC antara lain model waterfall, model V,model spiral, prototyping dan lain-lain.

sedangkan proses manajemen dalam rekayasa perangkat lunak terdiri atas manajement proyek, Configuration management, Quality Assurance management. proses teknikal merupakan metode yang diaplikasikan pada tahap tertentu dalam pengembangan software, yang didalamnya termasuk metode analisis, metode desain, metode pemrograman, dan metode testing.

perbedaan antara rekayasa perangkat lunak dan ilmu komputer adalah jika ilmu komputer berkonsentrasi pada teori dan dasar-dasar komputer, rekayasa perangkat lunak berkonsentrasi pada praktik dalam pengembangan perangkat lunak yang tepat.

0 komentar on "Pengantar Rekayasa Perangkat Lunak"

 

mieka_bLOG's Copyright 2009 Sweet Cupcake Designed by Ipiet Templates Image by Tadpole's Notez