Apa itu Rekayasa Perangkat Lunak? Definisi, Dasar, Karakteristik

Apa itu Rekayasa Perangkat Lunak?

Rekayasa perangkat lunak didefinisikan sebagai proses menganalisis kebutuhan pengguna dan kemudian merancang, membangun, dan menguji aplikasi perangkat lunak yang akan memenuhi persyaratan tersebut.

Mari kita lihat berbagai definisi rekayasa perangkat lunak:

  • IEEE, dalam standarnya 610.12-1990, mendefinisikan rekayasa perangkat lunak sebagai penerapan yang sistematis, disiplin, yang merupakan pendekatan yang dapat dihitung untuk pengembangan, pengoperasian, dan pemeliharaan perangkat lunak.
  • Fritz Bauer mendefinisikannya sebagai 'penetapan dan penggunaan prinsip-prinsip teknik standar. Ini membantu Anda mendapatkan, secara ekonomis, perangkat lunak yang dapat diandalkan dan bekerja secara efisien pada mesin sebenarnya.
  • Boehm mendefinisikan rekayasa perangkat lunak, yang melibatkan, 'penerapan praktis pengetahuan ilmiah untuk merancang dan membangun program komputer secara kreatif. Hal ini juga mencakup dokumentasi terkait yang diperlukan untuk mengembangkan, 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. Outputnya adalah perangkat lunak yang tidak dapat diandalkan dan mahal pemeliharaannya.
  • Perangkat lunak yang lebih besar sulit dan cukup mahal untuk dipelihara.
  • Banyak perangkat lunak tidak mampu memenuhi kebutuhan pelanggan yang terus meningkat.
  • Kompleksitas proyek perangkat lunak meningkat setiap kali kemampuan perangkat kerasnya meningkat.
  • Permintaan terhadap perangkat lunak baru meningkat lebih cepat dibandingkan dengan kemampuan menghasilkan perangkat lunak baru.

Semua masalah di atas mengarah pada 'Krisis Perangkat Lunak'.

Solusi

Solusi untuk masalah ini adalah mengubah upaya pengkodean yang tidak terorganisir menjadi disiplin rekayasa perangkat lunak. Model rekayasa ini membantu perusahaan menyederhanakan operasi dan menghadirkan perangkat lunak yang memenuhi kebutuhan pelanggan.

  • Akhir tahun 1970-an menyaksikan meluasnya penggunaan prinsip-prinsip rekayasa perangkat lunak.
  • Pada tahun 1980-an terjadi otomatisasi proses rekayasa perangkat lunak dan pertumbuhan (CASE) Rekayasa Perangkat Lunak Berbantuan Komputer.
  • Tahun 1990-an terjadi peningkatan penekanan pada aspek 'manajemen' standar kualitas dan proses proyek seperti ISO 9001.

Mengapa Rekayasa Perangkat Lunak Populer?

Berikut adalah alasan penting di balik popularitas rekayasa perangkat lunak:

Mengapa Rekayasa Perangkat Lunak Populer

  • Perangkat lunak besar – Dalam kehidupan nyata, membangun tembok jauh lebih nyaman daripada rumah atau bangunan. Dengan cara yang sama, ketika ukuran perangkat lunak menjadi besar, rekayasa perangkat lunak membantu Anda membangun perangkat lunak.
  • Skalabilitas- Jika proses pengembangan perangkat lunak didasarkan pada konsep ilmiah dan teknik, akan lebih mudah untuk membuat ulang perangkat lunak baru untuk menskalakan perangkat lunak yang sudah ada.
  • Adaptability : Setiap kali proses perangkat lunak didasarkan pada ilmu pengetahuan dan rekayasa, mudah untuk membuat ulang perangkat lunak baru dengan bantuan rekayasa perangkat lunak.
  • Biaya- Industri perangkat keras telah menunjukkan keahliannya dan manufaktur besar telah menurunkan biaya komputer dan perangkat keras elektronik.
  • Sifat Dinamis– Sifat perangkat lunak yang selalu berkembang dan beradaptasi. Bergantung pada lingkungan tempat pengguna bekerja.
  • Manajemen Mutu: Menawarkan metode pengembangan perangkat lunak yang lebih baik untuk menyediakan produk perangkat lunak berkualitas.

Hubungan Rekayasa Perangkat Lunak dengan Disiplin Lain

Di sini, bagaimana rekayasa perangkat lunak berhubungan dengan disiplin ilmu lain:

  • Ilmu Komputer: Memberikan dasar ilmiah untuk perangkat lunak karena teknik elektro terutama bergantung pada fisika.
  • Ilmu Manajemen: Rekayasa perangkat lunak adalah pekerjaan padat karya yang menuntut kendali teknis dan manajerial. Oleh karena itu, 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 sesuai anggaran yang ditentukan.
  • Rekayasa Sistem: Kebanyakan perangkat lunak merupakan komponen dari sistem yang jauh lebih besar. Misalnya software pada sistem monitoring Industri atau software penerbangan pada pesawat terbang. Metode rekayasa perangkat lunak harus diterapkan pada studi sistem jenis ini.

Tantangan Rekayasa Perangkat Lunak

Berikut adalah beberapa tantangan penting yang dihadapi oleh insinyur perangkat lunak:

  • Di area yang sangat penting bagi keselamatan seperti ruang angkasa, penerbangan, pembangkit listrik tenaga nuklir, dan lain-lain, kerugian akibat kegagalan perangkat lunak bisa sangat besar karena nyawa terancam.
  • Meningkatnya tuntutan pasar akan waktu penyelesaian yang cepat.
  • Berurusan dengan meningkatnya kompleksitas kebutuhan perangkat lunak untuk aplikasi baru.
  • Keberagaman sistem perangkat lunak harus berkomunikasi satu sama lain.

Atribut untuk Produk Perangkat Lunak

Karakteristik produk perangkat lunak apa pun mencakup fitur-fitur yang ditampilkan oleh produk ketika diinstal dan digunakan.

Itu bukan layanan yang disediakan oleh produk. Sebaliknya, mereka terkait dengan perilaku dinamis produk dan penggunaan produk.

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 Description
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 harus menggunakan sumber daya sistem secara berlebihan seperti memori dan siklus prosesor.
Usability Aplikasi perangkat lunak harus memiliki UI dan dokumentasi khusus.

Mengoptimalkan atribut di atas sangatlah menantang. Misalnya, menawarkan UI yang lebih baik dapat mengurangi efisiensi sistem.

Karakteristik Perangkat Lunak yang Baik

Perangkat lunak apa pun harus dinilai berdasarkan apa yang ditawarkannya dan metode apa yang membantu Anda menggunakannya.

Setiap perangkat lunak harus memenuhi atribut berikut:

  • Operanasional
  • Transisi
  • pemeliharaan

Berikut adalah beberapa karakteristik penting dari perangkat lunak yang baik yang dikembangkan oleh para profesional perangkat lunak

Operanasional

Karakteristik ini memberi tahu kita tentang seberapa baik perangkat lunak bekerja dalam pengoperasiannya 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 berbicara tentang seberapa baik perangkat lunak memiliki kemampuan untuk beradaptasi dalam lingkungan yang berubah dengan cepat:

  • keluwesan
  • Maintainability
  • Modularitas
  • Skalabilitas

Kesimpulan

  • Rekayasa perangkat lunak adalah proses menganalisis kebutuhan pengguna dan kemudian merancang, membangun, dan menguji aplikasi perangkat lunak yang akan memenuhi persyaratan tersebut
  • Alasan penting menggunakan rekayasa perangkat lunak adalah: 1) Perangkat lunak berukuran besar, 2) Skalabilitas 3) Kemampuan beradaptasi 4) Biaya dan 5) Sifat Dinamis.
  • Pada akhir tahun 1960-an banyak perangkat lunak yang melebihi anggaran. Oleh karena itu ia menawarkan perangkat lunak yang tidak dapat diandalkan dan mahal pemeliharaannya.
  • Akhir tahun 1970-an menyaksikan meluasnya penggunaan prinsip-prinsip rekayasa perangkat lunak.
  • Konsep Rekayasa Perangkat Lunak 1) Ilmu Komputer 2) Ilmu Manajemen 3) Rekayasa Sistem dan 4) Ekonomi
  • Meningkatnya tuntutan pasar akan waktu penyelesaian yang cepat merupakan tantangan terbesar dalam bidang rekayasa perangkat lunak.
  • 1) Pemeliharaan, 2) Ketergantungan, 3) Efisiensi dan, 4) Kegunaan adalah atribut terpenting dari produk perangkat lunak.
  • Tiga karakteristik terpenting dari perangkat lunak yang baik adalah 1) Operanasional 2) Transisi 3) Pemeliharaan.