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.

  • ๐Ÿ“˜ Definisi Inti: Rekayasa perangkat lunak menerapkan prinsip-prinsip rekayasa yang sistematis dan disiplin untuk mengembangkan, mengoperasikan, dan memelihara perangkat lunak yang andal.
  • โš ๏ธ Krisis Perangkat Lunak: Kegagalan proyek dan kenaikan biaya pada akhir tahun 1960-an menciptakan kebutuhan akan disiplin ilmu teknik yang terstruktur.
  • ๐Ÿ“ˆ Why It Matters: Hal ini memungkinkan pengembangan perangkat lunak yang besar, terukur, mudah beradaptasi, dan hemat biaya dengan manajemen kualitas yang konsisten.
  • ๐Ÿ”— Disiplin Terkait: Bidang ini mengambil inspirasi dari ilmu komputer, ilmu manajemen, ekonomi, dan rekayasa sistem.
  • โœ… Perangkat Lunak yang Baik: Perangkat lunak berkualitas bersifat operasional, transisional, dan mudah dipelihara di berbagai lingkungan yang berubah.

Apa itu Rekayasa Perangkat Lunak?

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:

Mengapa Rekayasa Perangkat Lunak Populer

  • 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

Pertanyaan Umum Demo Slot

AI membantu dalam pembuatan kode, pengujian otomatis, dan deteksi bug. AI menangani tugas-tugas rutin, memungkinkan para insinyur untuk fokus pada desain, arsitektur, dan pemecahan masalah yang kompleks, sambil tetap memerlukan tinjauan manusia untuk kualitas dan kebenarannya.

Tidak. AI meningkatkan produktivitas tetapi tidak dapat menggantikan penilaian manusia dalam mengumpulkan persyaratan, merancang arsitektur, mempertimbangkan pertimbangan etis, dan membuat keputusan yang kompleks. Para insinyur semakin banyak membimbing dan memvalidasi hasil yang dihasilkan oleh alat AI.

Pemrograman berfokus pada penulisan kode. Rekayasa perangkat lunak menerapkan proses yang disiplin di seluruh siklus hidup, termasuk persyaratan, desain, pengujian, dan pemeliharaan, untuk menghasilkan perangkat lunak yang andal dalam skala besar sesuai anggaran dan batasan waktu.

Siklus hidup inti mencakup analisis kebutuhan, desain, pengkodean, pengujian, penerapan, dan pemeliharaan. Setiap fase dibangun di atas fase sebelumnya untuk memastikan perangkat lunak akhir dapat diandalkan, mudah dipelihara, dan memenuhi kebutuhan pengguna.

Ringkaslah postingan ini dengan: