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 komputasi untuk pengembangan, pengoperasian, dan pemeliharaan perangkat lunak.
- Fritz Bauer mendefinisikannya sebagai 'pendirian dan penggunaan prinsip-prinsip teknik standar. Ini membantu Anda mendapatkan, secara ekonomis, perangkat lunak yang dapat diandalkan dan bekerja secara efisien pada mesin yang sebenarnya.
- Boehm mendefinisikan rekayasa perangkat lunak, yang melibatkan, 'aplikasi praktis dari pengetahuan ilmiah untuk desain kreatif dan pembangunan program komputer. Ini juga mencakup dokumentasi terkait yang diperlukan untuk mengembangkan, mengoperasikan, dan memeliharanya. '
Dalam tutorial rekayasa perangkat lunak ini, Anda akan belajar:
- Apa itu Rekayasa Perangkat Lunak?
- Mengapa Rekayasa Perangkat Lunak? Krisis Perangkat Lunak & Solusinya
- Mengapa Rekayasa Perangkat Lunak Populer?
- Hubungan Rekayasa Perangkat Lunak dengan Disiplin Lain
- Tantangan Rekayasa Perangkat Lunak
- Atribut untuk Produk Perangkat Lunak
- Karakteristik Perangkat Lunak yang Baik
Mengapa Rekayasa Perangkat Lunak? Krisis Perangkat Lunak & Solusinya:
Apa Krisis Perangkat Lunak itu?
- Itu di akhir 1960-an ketika banyak proyek perangkat lunak gagal.
- Banyak perangkat lunak menjadi melebihi anggaran. Keluaran adalah perangkat lunak yang tidak dapat diandalkan yang mahal perawatannya.
- Perangkat lunak yang lebih besar sulit dan cukup mahal pemeliharaannya.
- Banyak perangkat lunak tidak dapat memenuhi kebutuhan pelanggan yang terus berkembang.
- Kompleksitas proyek perangkat lunak meningkat setiap kali kemampuan perangkat kerasnya meningkat.
- Permintaan perangkat lunak baru meningkat lebih cepat dibandingkan dengan kemampuan untuk menghasilkan perangkat lunak baru.
Semua masalah di atas menyebabkan 'Krisis Perangkat Lunak'.
Solusinya
Solusi untuk masalah ini adalah mengubah upaya pengkodean yang tidak terorganisir menjadi disiplin rekayasa perangkat lunak. Model teknik ini membantu perusahaan merampingkan operasi dan memberikan perangkat lunak yang memenuhi persyaratan pelanggan.
- Akhir tahun 1970-an melihat penggunaan yang luas dari prinsip-prinsip rekayasa perangkat lunak.
- Pada 1980-an melihat otomatisasi proses rekayasa perangkat lunak dan pertumbuhan (CASE) Rekayasa Perangkat Lunak Berbantuan Komputer.
- Tahun 1990-an telah terjadi peningkatan penekanan pada aspek 'manajemen' dari standar kualitas dan proses proyek seperti ISO 9001
Mengapa Rekayasa Perangkat Lunak Populer?
Berikut adalah alasan penting di balik popularitas rekayasa perangkat lunak:
- Perangkat lunak besar - Dalam kehidupan nyata kita, membangun tembok lebih nyaman daripada rumah atau bangunan. Dengan cara yang sama, seiring bertambahnya ukuran perangkat lunak, rekayasa perangkat lunak membantu Anda membangun perangkat lunak.
- Skalabilitas- Jika proses pengembangan perangkat lunak didasarkan pada konsep ilmiah dan teknik, lebih mudah untuk membuat ulang perangkat lunak baru untuk menskalakan yang sudah ada.
- Adaptabilitas : Setiap kali proses perangkat lunak didasarkan pada sains dan rekayasa, mudah untuk membuat ulang perangkat lunak baru dengan bantuan rekayasa perangkat lunak.
- Biaya- Industri perangkat keras telah menunjukkan keahliannya dan manufaktur yang besar telah menurunkan biaya komputer dan perangkat keras elektronik.
- Sifat Dinamis - Sifat selalu tumbuh dan beradaptasi dari perangkat lunak. Itu tergantung pada lingkungan tempat pengguna bekerja.
- Manajemen Kualitas : 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 terkait dengan disiplin ilmu lain:
- Ilmu Komputer: Memberikan landasan ilmiah untuk perangkat lunak karena teknik kelistrikan terutama bergantung pada fisika.
- Ilmu Manajemen: Rekayasa perangkat lunak adalah pekerjaan padat karya yang menuntut kontrol 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 dalam anggaran yang diberikan.
- 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 di pesawat terbang. Metode rekayasa perangkat lunak harus diterapkan untuk mempelajari jenis sistem ini.
Tantangan Rekayasa Perangkat Lunak
Berikut adalah beberapa tantangan kritis yang dihadapi oleh para insinyur perangkat lunak:
- Dalam area keamanan kritis seperti luar angkasa, penerbangan, pembangkit listrik tenaga nuklir, dll., Biaya kegagalan perangkat lunak bisa sangat besar karena nyawa terancam.
- Meningkatnya permintaan pasar untuk waktu penyelesaian yang cepat.
- Berurusan dengan meningkatnya kompleksitas kebutuhan perangkat lunak untuk aplikasi baru.
- Keragaman sistem perangkat lunak harus saling berkomunikasi.
Atribut untuk Produk Perangkat Lunak
Karakteristik setiap produk perangkat lunak termasuk fitur yang ditampilkan oleh produk saat diinstal dan digunakan.
Mereka bukanlah layanan yang disediakan oleh produk. Sebaliknya, mereka terkait dengan perilaku dinamis produk dan penggunaan yang dibuat dari produk tersebut.
Contoh atribut ini 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 |
Pemeliharaan | 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 kegagalan sistem. |
Efisiensi | Aplikasi perangkat lunak harus menggunakan sumber daya sistem secara berlebihan seperti memori dan siklus prosesor. |
Kegunaan | Aplikasi perangkat lunak harus memiliki UI dan dokumentasi khusus. |
Mengoptimalkan atribut di atas sangat menantang. Misalnya, menawarkan UI yang lebih baik dapat mengurangi efisiensi sistem.
Karakteristik Perangkat Lunak yang Baik
Setiap perangkat lunak harus dinilai dari apa yang ditawarkannya dan metode apa yang membantu Anda untuk menggunakannya.
Setiap perangkat lunak harus memenuhi atribut berikut:
- Operasional
- Transisi
- Pemeliharaan
Berikut adalah beberapa karakteristik penting dari perangkat lunak yang baik yang dikembangkan oleh para profesional perangkat lunak
Operasional
Karakteristik ini memberi tahu kami tentang seberapa baik perangkat lunak bekerja dalam operasi yang dapat diukur pada:
- Anggaran
- Efisiensi
- Kegunaan
- Keteguhan
- Ketepatan
- Kegunaan
- Keamanan
- Keamanan
Transisi
Ini adalah aspek penting ketika perangkat lunak dipindahkan dari satu platform ke platform lainnya:
- Interoperabilitas
- Dapat digunakan kembali
- Portabilitas
- Adaptasi
Pemeliharaan
Aspek ini berbicara tentang seberapa baik perangkat lunak memiliki kemampuan untuk menyesuaikan diri dalam lingkungan yang berubah dengan cepat:
- Fleksibilitas
- Pemeliharaan
- Modularitas
- Skalabilitas
Ringkasan
- Rekayasa perangkat lunak adalah proses menganalisis kebutuhan pengguna dan kemudian merancang, membangun, dan menguji aplikasi perangkat lunak yang akan memenuhi persyaratan tersebut
- Alasan penting untuk menggunakan rekayasa perangkat lunak adalah: 1) Perangkat lunak besar, 2) Skalabilitas 3) Adaptasi 4) Biaya dan 5) Sifat Dinamis.
- Pada akhir 1960-an, banyak perangkat lunak menjadi melebihi anggaran. Oleh karena itu, ia menawarkan perangkat lunak yang tidak dapat diandalkan yang mahal pemeliharaannya.
- Akhir tahun 1970-an melihat penggunaan yang luas dari prinsip-prinsip rekayasa perangkat lunak.
- Konsep rekayasa perangkat lunak 1) Ilmu Komputer 2) Ilmu Manajemen 3) Rekayasa sistem dan 4) Ekonomi
- Permintaan pasar yang meningkat untuk waktu penyelesaian yang cepat adalah tantangan terbesar di bidang rekayasa perangkat lunak.
- 1) Pemeliharaan, 2) Ketergantungan, 3) Efisiensi dan, 4) Kegunaan adalah atribut paling penting dari produk perangkat lunak.
- Tiga karakteristik terpenting dari perangkat lunak yang baik adalah 1) Operasional 2) Transisi 3) Pemeliharaan.