Apa itu Software Engineering?

Sebelum kita membahas masalah software engineering, apakah kalian sudah tahu apa itu software? Menurut Roger S. Pressman pada bukunya Software Engineering: A Practitioner’s Approach, software adalah sesuatu yang terdiri dari tiga bagian utama, yaitu:

  1. Instruksi/kode program yang ketika dijalankan, menghasilkan suatu fitur, fungsi, dan performa yang diinginkan.
  2. Struktur data yang memungkinkan sebuah program untuk dapat menyajikan informasi secara memadai.
  3. Informasi secara deskriptif dalam bentuk hard copy atau soft copy yang mendeskripsikan sebuah operasi dan penggunaan sebuah program.

Dari deskripsi software tersebut tersirat dengan jelas, bahwa ketika membuat suatu software, maka kita membutuhkan juga suatu petunjuk operasi dan penggunaannya yang kerap kali kita lupakan.

Setelah kita ketahui tentang software, baru mari kita bahas masalah software engineering. Istilah “software engineering” pertama kali diciptakan oleh Margaret Hamilton seorang teknisi NASA pada tahun 1960 an, dan secara resmi pertama kali digunakan pada konferensi tentang software crisis pada tahun 1968.

Lalu apa itu software engineering? Menurut Ian Sommerville pada bukunya Software Engineering, software engineering merupakan sebuah disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi, desain, konstruksi, testing sampai pemeliharaan setelah digunakan.

Software engineering sering kali berurusan dengan hal seperti:

  • Bagaimana kita dapat membangun sebuah software pada waktu yang singkat, biaya rendah, dan kualitas yang tinggi?
  • Bagaimana kita dapat menguji sebuah software pada waktu yang singkat, biaya rendah, dan kualitas yang tinggi?
  • Saat kita bekerja pada sebuah tim yang besar, bagaimana kita dapat menugaskan personil terbaik untuk tugas pengembangan dan pengujian?
  • Bagaimana kita bisa memastikan bahwa kita dapat menangkap kebutuhan software yang diinginkan dari klien dengan cara yang paling efisien dan efektif.

Membangun perangkat lunak akan selalu sulit, tidak ada peluru perak, karena untuk membangun sebuah software yang baik harus:

  • Dapat menghasilkan fungsi dan performa yang diinginkan oleh klien.
  • Harus dapat dipelihara, diandalkan dan digunakan.

Leave a Reply

Your email address will not be published. Required fields are marked *