Mengenal Rekayasa Perangkat Lunak (RPL)

Rekayasa Perangkat Lunak (RPL) merupakan penerapan dari suatu pendekatan yang disiplin, sistematis dan terkuantifikasi. Maka pada tutorial kali ini flin setyadi akan membahas tentang Apakah itu perakat lunak, RPL, Perbedaan RPL dengan ilmu komputer, perbedaan rpl dan rekayasa perangkat dan lain-lain.

Apa itu perangkat lunak ?

Perangkat Lunak (Software) ataupun pada umumnya tidaklah sama dengan program komputer. Hal ini dikarenakan perangkat lunak tidak hanya mencakup program saja. Dapat juga semua dokumentasi dan konfigurasi pada suatu data yang diperlukan untuk membuat agar program tersebut beroperasi dengan benar.

Sistem perangkat lunak terdiri dari beberapa komponen, yaitu :

  • Berupa sejumlah program terpisah
  • Pada File-file konfigurasi
  • Berupa Dokumentasi pada sistem
  • dan Dokumentasi user.

Perangkat lunak terdiri dari 2 tipe, yaitu:

  • Pada Produk Generik yang merupakan sistem stand alone standar dan diproduksi oleh organisasi pengembang setelah itu akan dijual ke pasar terbuka ataupun ke siapapun yang membelinya. biasanya juga disebut sebagai software shrink-wrapped. misalnya seperti: pengolah kata (word processor).
  • Pada Produk pesanan yang merupakan software yang dipesan oleh seseorang dan software tersebut akan dikembangkan oleh developer. misalnya seperti: aplikasi penjualan (point of sales).

Perbedaan antara 2 tipe perangkat lunak, yaitu :

  • Produk generik merupakan aplikasi yang dikembangkan dan mengontrol spesifikasi perangkat lunak adalah organisasi.
  • Produk pesanan merupakan aplikasi yang dikembangkan oleh seseorang pembeli perangkat lunak tersebut.

Pengertian Rekayasa Perangkat Lunak (RPL)

RPL atau Software Engineering (SE) merupakan Disiplin ilmu yang membahas tentang semua aspek yang ada di perangkat lunak sampai pemeliharaan pada software tersebut.

Ada 2 istilah kunci dalam RPL, yaitu :

  • Disiplin rekayasa artinya pada perekayasa membuat suatu alat atau aplikasi bekerja
  • Semua aspek dari pruduksi perangkat lunak dapat membuat RPL tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak. Namun juga dengan kegiatan seperti manajemen proyek PL dan pengembangan akan menjadi alat bantu, metode, dan teori untuk mendukung produksi PL.

Perbedaan RPL dengan Ilmu komputer adalah ilmu komputer berhubungan dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak. Sedangkan RPL berhubungan dengan sebuah praktek untuk memproduksi perangkat lunak.

Baca Juga : Metode Extreme Programming

Kalau perbedaan RPL dengan Rekayasa Sistem adalah rekayasa sistem banyak berkaitan dengan semua aspek pada dalam pembangunan sistem berbasis komputer termasuk juga hardware, rekayasa perangkat lunak dan pada prosesnya. Sedangkan RPL menjadi bagian dari rekayasa sistem yang dapat meliputi pembangunan perangkat lunak, infrasktruktur, kontrol, aplikasi dan database pada sistem.

Model Proses Perangkat Lunak

Pada serangkaian kegiatan dan hasil yang relevan untuk menghasilkan perangkat lunak. Sebagian besar dilakukan oleh RPL yang meliputi 4 aktivitas pada proses perangkat lunak, yaitu:

  • Pada sepesifikasi perangkat lunak membuat fungsionalitas perangkat lunak dan batasan-batasan pada kemampuan operasinya yang harus didefinisikan.
  • Pengembangan perangkat lunak harus memenuhi spesifikasi.
  • Validasi pada perangkat lunak harus dilakukan untuk menjamin bahwa aplikasi tersebut dapat menjamin sesuai dengan keinginan pelanggan.
  • Evlousi pada perangkat lunak yang dapat berkembang untuk memenuhi kebutuhan pelanggan.

Model Proses Rekayasa Perangkat Lunak (RPL)

Model dari RPL merupakan deskripsi yang dapat diserderhanakan dari beberapa proses perangkat lunak yang di presentasikan dengan sudut pandang tertentu. Biasanya juga mencakup kegiatan-kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak dan dari peran orang yang terlibat pada rekayasa perangkat lunak.

Berikut ini contoh jenis dari model proses perangkat lunak :

  • Pertama Model pada aliran kerja (workflow) yang menunjukkan kegiatan pada proses bersama dengan adanya input, output dan ketergantungannya. Misalnya seperti merepresentasikan pekerjaan manusia.
  • Model pada aliran sebuah data (data flow) yang meresentasikan proses sebagai suatu kegiatan yang melakukan sebuah transformasi data. Sehingga menunjukkan bagaimana proses inputan, misalnya seperti spesifikasi ditransformasi menjadi sebuah output, misalnya akan menjadi sebuah desain.
  • Model peran atau aksi yang dapat mempresentasikan peran seseorang yang terlibat pada perangkat lunak dan kegiatan yang akan menjadi tanggung jawab mereka.

Paradigma umum proses Perangkat Lunak

  • Pertama Model Waterfall untuk mengambil kegiatan-kegiatan dasar seperti sepesifikasi, validasi, pengembangan, evolusi dan dapat mempresentasikannya. Presentasi tersebut merupakan fase-fase dari proses yang berbeda seperti spesifikasi persyaratan, perancangan sistem, implementasi, pengujian dan lain-lain
  • Model pengembangan evolusioner yang bersifat berhimpitan dengan kegiatan-kegiatan spesifikasi, pengembangan, dan validasi. Pada aplikasi awalnya yang akan dikembangkan dengan secara cepat dari spesifikasi abstrak. Aplikasi tersebut juga akan diperbaiki dengan masukan-masukan dari pelanggan untuk menghasilkan aplikasi yang memuaskan kebutuhan pelanggan.
  • Selanjutnya Model pengembangan sistem formal yang melakukan pendekatan untuk menghasilkan suatu sistem matematis yang formal dan mentransformasikan ke spesifikasi ini, dapat menggunakan metode matematik yang akan menjadi sebuah aplikasi.
  • Model pengembangan yang berdasarkan pemakaian ulang (Reusable) yang menggunakan bagian-bagian perangkat lunak yang sudah ada. Sehingga proses pengemngannya menjadi terfokus pada perintegrasian bagian-bagian sistem dan bukan membuat sistem dari awal.

Cara menghitung biaya perangkat lunak

Pada umumnya biaya untuk perangkat lunak adalah 60 % untuk development (Pengembangan perangkat lunak) dan 40%nya merupakan biaya untuk melakukan pengujian pada perangkat lunak.

Baca Juga : Pengujian Perangkat Lunak

Distribusi biaya yang tepat untuk selama proses perangkat lunak, yang bertergantungan pada proses yang digunakan dan jenis perangkat lunak atau rpl yang dapat dikembangkan.

Metode – Metode yang ada di Rekayasa Perangkat Lunak (RPL)

Metode RPL yang memiliki pendekatan-pendekatan terstruktur terhadap suatu pengembangan perangkat lunak yang mencakup model, notasi, aturan-aturan, saran terhadap pengembangan perangkat lunak (Rekomendasi), dan terhadap panduan proses. Berikut ini metode-metode yang ada di RPL, yaitu :

  • Terdapat pada deskripsi model perangkat lunak dari model yang harus dikembangkan dan notasi yang akan digunakan untuk dapat mendifinisikan model-model. Misalnya: Pada model aliran data.
  • Terdapat pada batasan aturan yang berlaku bagi perangkat lunak. Ex : setiap entitas setiap model sistem yang harus memiliki nama yang unik.
  • Terdapat pada rekomendasi dari saran dalam membentuk suatu perancangan yang baik. Ex : Tidak terdapat adanya objek yang memiliki lebih dari tujuh sub-objek yang berhubungan dengan perancangan.
  • Terdapat panduan proses aktifitas yang dapat diikuti untuk dapat mengembangkan model sistem. Ex : Atribut objek yang harus didokumentasikan sebelum dapat mendefinisikan operasi yang berhubungan dengan objek tersebut.

Pengertian CASE (Computer-Aided Software Engineering)

CASE merupakan cakupan dari berbagai macam program yang dapat digunakan untuk mendukung kegiatan RPL/PL misalnya seperti, analisis persyaratan, pemodelan perangkat lunak, debugging, dan pengujian.

Atribut-atribut terdapat pada perangkat lunak yang baik

Dalam suatu perangkat lunak yang baik seharusnya dapat memberikan user dengan kebutuhan fungsionalitas dan kinerja, seperti :

  1. Perangkat lunak tersebut dapat dipelihara (Maintanability) atau dapat diperbarui untuk memenuhi kebutuhan user.
  2. Perangkat lunak yang dibangun dapat diandalkan (Dependability) atau bisa dipercaya dan tidak dapat menimbulkan kerusakan fisik atau ekonomi ketika terjadinya kegagalan pada perangkat lunak.
  3. Sumber daya sistem yang digunakan oleh Perangkat lunak harus efisien.
  4. Kemampuan (Usability) pada perangkat lunak dapat dipakai sesuai dengan direncanakan.

Tantangan yang ada didalam rekayasa perangkat lunak (RPL)

  1. Pada perangkat lunak ada Tantangan Warisan (Legacy) yang dimana tantangan haru memelihara dan meng-update Perangkat Lunak sedemikian sehingga biaya yang berlebihan dapat dihindari dan pada layanan bisnis yang penting tetap dapat dilakukan.
  2. Tantangan Heterogenitas yang merupakan tantangan dalam teknik pengembangan untuk dapat membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk dapat menghadapi heterogenitas yang ada.
  3. Tantangan dalam pengiriman yang dapat mempersingkat waktu kirim perangkat lunak besar, dan kompleks tanpa harus mengurangi kualitas perangkat lunak.

Tinggalkan komentar