Minggu, 02 Oktober 2011

1. Pendahuluan Rekayasa Perangkat Lunak

Bayangkan anda mempunyai sebidang tanah yang luas yang akan dibangun sebuah rumah di atasnya. Membangun sebuah rumah membutuhkan biaya yang besar sehingga harus dipastikan apakah rumah yang akan dibuat sesuai dengan keinginan.
Bagaimana proses membangun rumah anda tsb ?

1. Jika anda memulai membangun dengan cepat ? (hanya dibantu oleh anak anda yang berumur 14 tahun), apakah yang akan dihasilkan ?
Mungkin rumah tersebut berhasil dibangun tetapi ternyata kualitas dinding yang dibangun rendah sehingga dikhawatirkan tidak cukup kuat untuk menopang atap, pengecatan yang tidak merata, tata ruang yang tidak memperhatikan sirkulasi udara, atap-atap yang masih berlobang, dan lain-lain.

2. Jika anda pergi ke sembarang pengembang, kemudian anda hanya memberitahukan rumah yang akan dibuat terdiri dari beberapa kamar tidur, kamar tamu, dapur dan sebuah kamar mandi. Anda tidak memberitahukan dengan jelas apa yang anda inginkan dan tidak pernah mengontrol pada saat pembangunan. Enam bulan kemudian ketika pengembang memberitahukan kepada anda bahwa rumahnya telah selesai dibangun, kemungkinan anda akan mengalami kekecewaan dan memiliki banyak keluhan: kenapa kamar mandi berdekatan dengan kamar tidur utama ? Saya tidak suka model pintu demikian ! Harusnya lantainya keramik! Lubang ventilasinya terlalu sedikit !

3. Jika Anda mempekerjakan seorang arsitek untuk mendesain dari awal
Secara berkala anda mengadakan pertemuan dengan arsitek tersebut. Beberapa keinginan (requirement) yang penting anda kemukakan kepada arsitek. Kemudian arsitek menggambarkan rancangan rumah yang akan dibangun dan menunjukkannya kepada anda. Anda kemudian memberikan masukan-masukan. Masukan-masukan tersebut kemudian dituangkan kembali dalam bentuk gambar rancangan dan ditunjukkan kembali kepada anda. Setelah anda menyetujui, maka dibangunlah rumah tersebut. Apa yang terjadi ? Anda akan mendapatkan rumah sebagaimana rumah yang sesuai dengan keinginan dan anda idam-idamkan !!!.
Diskusikan apakah ilustrasi membangun rumah di atas (diambil dari alm M Davis) dapat dianalogikan dengan proses membangun suatu perangkat lunak ? Apa pesan yang ingin disampaikan dari kasus di atas ?
Bagaiamana dengan membangun perangkat lunak ?
Kita, saya atau anda dan kebanyakan orang yang berkecimpung dalam dunia pembangunan perangkat lunak (software development), biasanya akan melakukan hal yang sama ketika mendapatkan persoalan sederhana yang membutuhkan solusi komputasi : berfikir sejenak, menghadap komputer dan kemudian mulai mengetikkan baris demi baris code. Tidak ada kertas-kertas yang memuat perancangan aristektur dan algoritma secara rinci, karena semua rancangan itu ada di dalam kepala. Bahkan kita sering merasa bahwa melakukan perancangan yang dituangkan dalam secarik kertas tidak lebih sebagai pemborosan waktu. Padahal dengan melakukan pendekatan seperti itu berulang kali kita dihadapkan pada masalah yang
memusingkan, yaitu terjadinya keterlambatan dalam menyelesaikan pembangunan perangkat lunak. Atau yang lebih ringan berbaris-baris error terpampang di layar monitor ketika kita mengkompilasi program yang telah dibuat. Namun demikian, ketika dihadapkan pada masalah baru yang memerlukan pembangunan perangkat lunak, lagi-lagi kita lupa untuk kemudian melakukan hal yang sama : berfikir sejenak, menghadap komputer dan kemudian mengetikkan baris demi baris code !
Untuk permasalahan-permasalahan yang sederhana seperti yang diilustrasikan di atas barangkali tidak begitu memerlukan pendekatan yang sistematis dan terukur. Tetapi untuk membangun perangkat lunak yang kompleks, bagaimana menurut anda ??

4 Mengapa Rekayasa Perangkat Lunak Diperlukan ?
a. Software Crisis
Software crisis terjadi di daratan Eropa pada kurun waktu 60-an. Kondisi-kondisi yang terjadi. Selain itu biaya pembangunan perangkat lunak lebih mahal dibandingkan biaya perangkat keras
Berdasarkan sebab-sebab pada tahun 1968, di Garmisch Jerman Barat, suatu workshop dirancang untuk mengangkat isu penting yaitu perlunya suatu manajemen proses dalam pembangunan perangkat lunak komputer. Dari sinilah kemudian istilah “Software Engineering” untuk pertama kalinya dipopulerkan. Istilah software engineering ini dalam bahasa Indonesia menjadi rekayasa perangkat lunak

5 Apakah Rekayasa Perangkat Lunak itu ?
Pada modul ini hanya akan dikutipkan dua definisi, yaitu yang dikemukakan oleh Fritz Bauer dan definisi yang ditetapkan oleh IEEE. Dua definisi tersebut cukup representatif untuk menunjukkan dua sudut pandang dalam mendefinisikan rekayasa perangkat lunak. Dengan demikian diharapkan diperoleh gambaran yang jelas terhadap lingkup kajian rekayasa perangkat lunak.
Menurut Fritz Bauer [NAU69] :
Software engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works eficiently on real machines[2].
Rekayasa perangkat lunak merupakan penerapan prinsip-prinsip rekayasa untuk mendapatkan produk perangkat lunak yang ekonomis, handal dan efisien. Pada definisi ini Fritz Bauer telah meletakkan ukuran-ukuran yang harus dipenuhi oleh suatu perangkat lunak, yaitu ekonomis, handal dan efisien.
Sedangkan menurut IEEE [IEEE93] :
Software Engineering is The aplication of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software [2]
Rekayasa Perangkat Lunak adalah suatu pendekatan yang sistematis, disiplin dan berkualitas yang diterapkan pada pengembangan, pengoperasian dan perawatan perangkat lunak.
Dua definisi tersebut mengisyaratkan cara pandang yang berbeda dalam mendefinisikan rekayasa perangkat lunak. Firtz Bauier menitikberatkan pada aspek perangkat lunak sebagai sebuah produk sedangkan definisi IEEE lebih terfokus pada kriteria proses yang harus dilakukan dalam pembangunan perangkat lunak. Secara terminologi kalimat rekayasa perangkat lunak sendiri mengandung dua unsur tersebut. Rekayasa adalah suatu bentuk dari proses, sedangkan perangkat lunak adalah suatu produk.Topik selanjunya akan meninjau perangkat lunak sebagai suatu produk dan proses.

Tidak ada komentar:

Posting Komentar