Mengenal Rekayasa Perangkat Lunak Beserta Tantangannya

label
Kita sudah mengetahui apa itu aplikasi di komputer yang disebut dengan software atau dalam bahasa indonesianya disebut dengan Perangkat Lunak. Namun, bagaimana jika perangkat lunak tersebut dapat direkayasa?

Rekayasa perangkat lunak (atau disebut dengan software engineering) adalah sebuah pengembangan yang menggunakan prinsip atau konsep rekayasa dengan tujuan untuk menghasilkan software atau perangkat lunak yang memiliki nilai ekonomi, terpercaya dan dapat bekerja secara efisien dalam mesin. 

Mengenal Rekayasa Perangkat Lunak Beserta Tantangannya

Saat ini, perangkat lunak banyak dibuat oleh programmer. Namun, seringkali perangkat lunak tersebut tidak digunakan karena tidak memenuhi kebutuhan yang diinginkan oleh pengguna akhir atau user dan bisa juga karena masalah non-teknis seperti pengguna yang tidak mau mengubah cara kerjanya yang berbasis manual ke perangkat otomatis atau ketidakmampuan pengguna dalam menggunakan komputer. Oleh sebab itu, rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak sia-sia.

Fokus dari rekayasa perangkat lunak terletak pada praktik pengembangannya dan pengujian perangkat lunak yang bermanfaat kepada pelanggan (customer). Rekayasa perangkat lunak memiliki fokus bagaimana membuat perangkat lunak dapat memenuhi kriteria sebagai berikut:

Dapat dipelihara atau dilakukan update setelah perangkat lunak selesai dibuat untuk mengikuti perkembangan teknologi dan lingkungan operasi (maintainability)
• Dapat diandalkan untuk menjalankan proses bisnis dan dinamis terhadap perubahan yang terjadi (dependability dan robust)
• Memiliki tingkat efisien yang bagus dari segi sumber daya dan penggunaan
Kemampuan perangkat lunak yang dipakai sesuai dengan kebutuhan (usability)

Dari kriteria di atas maka dapat disimpulkan bahwa sebuah perangkat lunak yang baik adalah perangkat lunak yang dapat memenuhi kebutuhan pelanggan (customer) atau user (pemakai perangkat lunak) sehingga perangkat lunak tersebut berorientasi pada pelanggan atau pengguna perangkat lunak, bukan berorientasi pada pengembang perangkat lunak.

Perangkat lunak yang baik adalah perangkat lunak yang fokus pada pengguna atau pelanggan.

Pekerjaan yang terkait dengan rekayasa perangkat dapat dikategorikan menjadi tiga buat kategorikan menjadi tiga buah kategori umum tanpa melihat area dari aplikasi, ukuran proyek perangkat lunak, atau kompleksitas perangkat lunak yang akan dibuat. Setiap fase dialamatkan pada satu atau lebih pertanyaan yang diajukan sebelumnya.

Proses Pengembangan Rekayasa Perangkat Lunak
Proses Pengembangan Rekayasa Perangkat Lunak
Fase pendefinisian terfokus pada “what” atau "apa" yang artinya pengembang harus mencari tahu atau mengidentifikasi informasi apa yang harus diproses, seperti apa fungsi dan performa aplikasi yang diinginkan, seperti apa perilaku sistem yang diinginkan, apa kriteria validasi yang dibutuhkan untuk mendefinisikan sistem.

Fase pengembangan yang fokus dengan “how” atau "bagaimana" yang artinya selama tahap pengembangan perangkat lunak seorang perekayasa perangkat lunak (software engineering) berusaha untuk mendefinisikan bagaimana data distrukturkan dan bagaimana fungsi-fungsi yang dibutuhkan diimplementasikan didalam arsitektur perangkat lunak, bagaimana detail prosedural diimplementasikan, bagaimana karakter antarmuka tampilan, bagaimana desain ditranslasikan ke bahasa pemograman, dan bagaimana pengujian akan dijalankan.

Fase pendukung (support phase) fokus pada perubahan yang terasosiasi pada perbaikan kesalahan (error), adaptasi yang dibutuhkan pada lingkungan perangkat lunak yang terlibat, dan perbaikan yang terjadi akibat perubahan kebutuhan pelanggan (customer). Fase pendukung terdiri dari empat tipe perubahan antar lain:

Koreksi (correction)
Walaupun dengan jaminan kualitas perangkat lunak yang dihasilkan dapat terbaik, namun akan selalu ada kecacatan atau keinginan pelanggan (customer) yang tidak tertangani oleh perangkat lunak. Dalam hal ini pengoreksian dapat dilakukan dalam pengembangan perangkat lunak.

Adaptasi (adaptation)
Pada saat tertentu lingkungan asli (seperti CPU, sistem operasi, aturan bisnis, karakteristik produk luar) dimana perangkat lunak dikembangkan akan mengalami perubahan. Pemeliharaan adaptasi merupakan sebuah tahap yang dilakukan untuk memodifikasi perangkat lunak guna mengakomodasi perubahan lingkungan diluar perangkat lunak dijalankan.

Perbaikan (enhancement)
Sejalan dengan digunakannya perangkat lunak, maka pelanggan (customeratau pemakainya (user) akan mengenali fungsi tambahan yang dapat mendatangkan manfaat. Pemeliharaan perfektif atau penyempurnaan melakukan eksitensi atau penambahan pada kebutuhan fungsional sebelumnya.

Pencegahan (prevention)
Keadaan perangkat lunak komputer sangat dimungkinkan untuk perubahan. Oleh karena itu, pemeliharaan pencegahan (preventive) atau sering disebut juga dengan rekayasa ulang sistem (software reengineering) harus dikondisikan untuk mampu melayani kebutuhan pemakainya (user). 

Dalam langkah pencegahan, perangkat lunak harus dirancang dan dikondisikan dalam menghadapi perubahan kebutuhan yang diinginkan oleh pihak pemakai (user). Di lain sisi, biasanya setelah perangkat lunak dikirimkan ke user maka masih dibutuhkan bantuan asistensi dan help desk dari pengembang perangkat lunak.

Tantangan yang dihadapi dalam proses pengembangan atau proses rekayasa perangkat lunak adalah:
Tantangan warisan dimana perangkat lunak dikembangkan selama bertahuntahun oleh orang-orang yang berbeda, hal ini dapat menyebabkan ketidakpahaman atau perubahan tujuan pembuatan perangkat lunak;
Tantangan heterogenitas dimana perangkat lunak harus selalu beradaptasi dengan perkembangan teknologi seiring semakin luasnya distribusi perangkat lunak;
Tantangan pengiriman bahwa perangkat lunak dengan sekala besar dan kompleks sekalipun dapat sampai ke tangan pelanggan (customer) atau user dengan cepat dan kualitas tetap terjaga.

Tantangan Rekayasa Perangkat Lunak
Ada suatu hal tambahan dalam rekayasa perangkat lunak yang berbasis web pada tahap desainnya yaitu bagaimana menentukan aliran halaman web.


Share This :

Nazrin (ナズーリン Nazūrin) is a mouse youkai who's a skilled dowser and the leader of a great number of mice. As the leader of many mice, she often employs them to search for things for her; though if she were to ask them to find food, it would most likely be gone by the time they returned.

Related Post



sentiment_satisfied Emoticon