Apa itu Rekayasa Perangkat Lunak? Karakteristik, Definisi
โก Ringkasan Cerdas
Rekayasa Perangkat Lunak adalah proses disiplin dalam menganalisis persyaratan dan kemudian merancang, membangun, dan menguji perangkat lunak yang memenuhinya. Sumber daya ini menjelaskan definisinya, krisis perangkat lunak yang melahirkannya, popularitasnya, disiplin ilmu terkait, tantangan, dan karakteristik perangkat lunak yang baik.
Apa itu Rekayasa Perangkat Lunak?
Rekayasa perangkat lunak didefinisikan sebagai proses menganalisis kebutuhan pengguna, kemudian merancang, membangun, dan menguji aplikasi perangkat lunak yang akan memenuhi kebutuhan tersebut.
Mari kita lihat berbagai definisi rekayasa perangkat lunak:
- IEEE, dalam standarnya 610.12-1990, mendefinisikan rekayasa perangkat lunak sebagai penerapan pendekatan sistematis, disiplin, dan terhitung untuk pengembangan, pengoperasian, dan pemeliharaan perangkat lunak.
- Fritz Bauer mendefinisikannya sebagai โpenetapan dan penggunaan prinsip-prinsip teknik standar. Hal ini membantu Anda memperoleh perangkat lunak yang andal dan bekerja secara efisien pada mesin nyata dengan biaya yang ekonomisโ.
- Boehm mendefinisikan rekayasa perangkat lunak sebagai โpenerapan praktis pengetahuan ilmiah untuk desain dan pembangunan program komputer secara kreatif. Ini juga mencakup dokumentasi terkait yang dibutuhkan untuk pengembangan.โping, mengoperasikan, dan memeliharanya.โ
Mengapa Rekayasa Perangkat Lunak? Krisis Perangkat Lunak & Solusinya
Apa yang dimaksud dengan Krisis Perangkat Lunak?
- Itu terjadi pada akhir tahun 1960an ketika banyak proyek perangkat lunak gagal.
- Banyak perangkat lunak yang melebihi anggaran. Hasilnya adalah perangkat lunak yang tidak andal dan mahal untuk dipelihara.
- Perangkat lunak yang lebih besar sulit dan cukup mahal untuk dipelihara.
- Banyak perangkat lunak yang tidak mampu memenuhi kebutuhan pelanggan yang terus berkembang.
- Kompleksitas proyek perangkat lunak meningkat seiring dengan peningkatan kemampuan perangkat kerasnya.
- Permintaan terhadap perangkat lunak baru meningkat lebih cepat dibandingkan dengan kemampuan menghasilkan perangkat lunak baru.
Semua masalah di atas menyebabkan 'Krisis Perangkat Lunak'.
Solusi
Solusi untuk masalah tersebut adalah mengubah upaya pengkodean yang tidak terorganisir menjadi disiplin rekayasa perangkat lunak. Model rekayasa ini membantu perusahaan untuk merampingkan operasi dan menghasilkan perangkat lunak yang memenuhi persyaratan pelanggan.
- Akhir tahun 1970-an menyaksikan penggunaan prinsip-prinsip rekayasa perangkat lunak secara luas.
- Dekade 1980-an menyaksikan otomatisasi proses rekayasa perangkat lunak dan pertumbuhan Rekayasa Perangkat Lunak Berbantuan Komputer (CASE).
- Dekade 1990-an menyaksikan peningkatan penekanan pada aspek 'manajemen' proyek dan standar kualitas serta proses, seperti halnya ISO 9001.
Mengapa Rekayasa Perangkat Lunak Populer?
Berikut adalah alasan penting di balik popularitas rekayasa perangkat lunak:
- Perangkat lunak besar โ Dalam kehidupan nyata, membangun tembok jauh lebih mudah daripada membangun rumah atau gedung. Dengan cara yang sama, seiring bertambahnya ukuran perangkat lunak, rekayasa perangkat lunak membantu Anda membangun perangkat lunak tersebut.
- Skalabilitas โ Jika proses pengembangan perangkat lunak didasarkan pada konsep ilmiah dan teknik, maka akan lebih mudah untuk membuat ulang perangkat lunak baru guna meningkatkan skala perangkat lunak yang sudah ada.
- Adaptability โ Ketika proses pengembangan perangkat lunak didasarkan pada prinsip-prinsip ilmiah dan teknik, maka akan mudah untuk menciptakan perangkat lunak baru dengan bantuan rekayasa perangkat lunak.
- Biaya โ Industri perangkat keras telah menunjukkan kemampuannya, dan manufaktur besar-besaran telah menurunkan biaya komputer dan perangkat keras elektronik.
- Sifat Dinamis โ Sifat perangkat lunak yang selalu berkembang dan beradaptasi. Hal ini bergantung pada lingkungan tempat pengguna bekerja.
- Manajemen Mutu โ Menawarkan metode pengembangan perangkat lunak yang lebih baik untuk menghasilkan produk perangkat lunak berkualitas.
Hubungan Rekayasa Perangkat Lunak dengan Disiplin Lain
Berikut adalah bagaimana rekayasa perangkat lunak berhubungan dengan disiplin ilmu lainnya:
- Ilmu Komputer: Memberikan landasan ilmiah untuk perangkat lunak, sama seperti fisika merupakan landasan bagi teknik elektro.
- Ilmu Manajemen: Rekayasa perangkat lunak adalah pekerjaan yang membutuhkan banyak tenaga dan menuntut kontrol teknis serta manajerial. Oleh karena itu, bidang ini banyak digunakan dalam ilmu manajemen.
- Ekonomi: Di sektor ini, rekayasa perangkat lunak membantu Anda dalam estimasi sumber daya dan pengendalian biaya. Sistem komputasi harus dikembangkan, dan data harus dipelihara secara teratur dalam anggaran yang telah ditentukan.
- Rekayasa Sistem: Sebagian besar perangkat lunak merupakan komponen dari sistem yang jauh lebih besar, misalnya, perangkat lunak dalam sistem pemantauan industri atau perangkat lunak penerbangan pada pesawat terbang. Metode rekayasa perangkat lunak harus diterapkan pada studi sistem-sistem jenis ini.
Tantangan Rekayasa Perangkat Lunak
Berikut adalah beberapa tantangan penting yang dihadapi oleh insinyur perangkat lunak:
- Di bidang yang sangat penting bagi keselamatan seperti ruang angkasa, penerbangan, dan pembangkit listrik tenaga nuklir, biaya kegagalan perangkat lunak bisa sangat besar karena nyawa manusia dipertaruhkan.
- Meningkatnya tuntutan pasar akan waktu penyelesaian yang cepat.
- Menangani peningkatan kompleksitas perangkat lunak yang dibutuhkan untuk aplikasi baru.
- Keanekaragaman sistem perangkat lunak yang seharusnya saling berkomunikasi.
Atribut untuk Produk Perangkat Lunak
Karakteristik dari setiap produk perangkat lunak mencakup fitur-fitur yang ditampilkan oleh produk tersebut saat diinstal dan digunakan.
Hal-hal tersebut bukanlah layanan yang disediakan oleh produk. Sebaliknya, hal-hal tersebut terkait dengan perilaku dinamis produk dan penggunaan produk tersebut.
Contoh atribut tersebut adalah:
Efficiency, reliability, robustness, maintainability, etc.
Namun, kepentingan relatif dari karakteristik ini bervariasi dari satu sistem perangkat lunak ke sistem perangkat lunak lainnya.
| Karakteristik Produk | Deskripsi |
|---|---|
| Maintainability | Perangkat lunak harus berkembang untuk memenuhi permintaan klien yang terus berubah. |
| Keteguhan | Ketergantungan mencakup berbagai karakteristik. Perangkat lunak yang dapat diandalkan tidak boleh menyebabkan kerusakan fisik atau ekonomi pada saat terjadi kegagalan sistem. |
| Efisiensi | Aplikasi perangkat lunak tidak boleh menggunakan sumber daya sistem secara berlebihan, seperti memori dan siklus prosesor. |
| Usability | Aplikasi perangkat lunak harus memiliki antarmuka pengguna (UI) dan dokumentasi yang sesuai. |
Mengoptimalkan atribut-atribut di atas sangatlah menantang. Misalnya, menawarkan UI yang lebih baik dapat mengurangi efisiensi sistem.
Karakteristik Perangkat Lunak yang Baik
Setiap perangkat lunak harus dinilai berdasarkan apa yang ditawarkannya dan metode yang membantu Anda menggunakannya.
Setiap perangkat lunak harus memenuhi atribut berikut:
- Operanasional
- Transisi
- pemeliharaan
Berikut beberapa karakteristik penting dari perangkat lunak yang baik yang dikembangkan oleh para profesional perangkat lunak.
Operanasional
Karakteristik ini memungkinkan kita mengetahui seberapa baik perangkat lunak bekerja dalam operasional, yang dapat diukur berdasarkan:
- Anggaran
- Efisiensi
- Usability
- Keteguhan
- Kebenaran
- Fungsi
- Safety/keselamatan
- Security
Transisi
Ini adalah aspek penting ketika perangkat lunak dipindahkan dari satu platform ke platform lainnya:
- Interoperabilitas
- Dapat digunakan kembali
- Portabilitas
- Adaptability
pemeliharaan
Aspek ini membahas seberapa baik perangkat lunak memiliki kemampuan untuk beradaptasi dalam lingkungan yang berubah dengan cepat:
- keluwesan
- Maintainability
- Modularitas
- Skalabilitas


