Rekayasa Perangkat Lunak

A. Pengertian Rekayasa Perangkat Lunak

Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keenggan pemakai perangkat lunak (user) untuk mengubah cara  kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan komputer. Oleh karena itu, rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai.
Rekayasa perangkat lunak lebih fokus kepada praktik pengembangan perangkat lunak dan mengirimkan perangkat lunak yang bermanfaat kepada pelanggan (customer). Adapun ilmu komputer lebih fokus kepada teori dan konsep dasar perangkat komputer. Rekayasa perangkat lunak lebih fokus pada bagaimana membuat perangkat lunak yang memenuhi kriteria berikut :
1.     Dapat terus dipelihara setelah perangkat lunak selesai dibuat seiring berkembangnya teknologi dan lingkungan (maintainability).
2.      Dapat diandalkan dengan proses bisnis yang dijalankan dan perubahan yang terjadi (dependability dan robust).
3.       Efisien dari segi sumber daya dan penggunaan.
4.       Kemampuan untuk dipakai sesuai dengan kebutuhan (usability).
Dari kriteria di atas maka perangkat lunak yang baik adalah perangkat lunak yang dapat memenuhi kebutuhan pelanggan (customer) atau user (pemakai perangkat lunak) atau berorientasi pada pelanggan atau pemakai perangkat lunak, bukan berorientasi pada pembuat atau pengembang perangkat lunak.

B. Produk Perangkat Lunak

Produk perangkat lunak yang dibuat oleh pengemmbang (developer) perangkat lunak terdiri dari dua jenis :
1.        Produk Generik
Produk perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak sistem operasi, perangkat lunak pendukung perkantoran untuk membuat dokumen, slide presentasi, atau perhitungan dalam bentuk papersheet dan lain sebagainya.
2.        Produk Pemesanan
Produk perangkat lunak yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya sebuah instansi memerlukan perangkat lunak untuk memenuhi proses bisnis yang  terjadi di instansinya, maka instansi itu akan bekerja sama dengan pengembang untuk membuat perangkat lunak yang diinginkan.

C. Aplikasi Perangkat Lunak

Aplikasi perangkat lunak adalah sebagai berikut :
1.        Perangkat Lunak Sistem (System Software)
Perangkat lunak sistem adalah kumpulan program dalam hal ini program yang satu ditulis memenuhi kebutuhan program lainnya.
2.        Perangkat Lunak Waktu Nyata (Real-Time Software)
Perangkat lunak waktu nyata merupakan perangkat lunak yang memonitor, menganalisis, mengontrol sesuatu secara waktunyata (real-time). Reaksi yang dibutuhkan pada perangkat lunak harus langsung menghasilkan respon yang diinginkan.
   3.      Perangkat Lunak Bisnis (Business Software)
Perangkat lunak bisnis merupakan perangkat lunak pengelola informasi bisnis (seperti akuntansi, penjualan, pembayaran, penyimpanan (inventory)).
4.   Perangkat Lunak untuk Keperluan Rekayasa dan Keilmuan (Engineering and Scientific Software)
Perangkat lunak untuk keperluan rekayasa dan keilmuan merupakan perangkat lunak yang mengimplementasikan algoritma yang terkait dengan keilmuan ataupun perangkat lunak yang membantu keilmuan, misalkan perangkat lunak di bidang astronomi, di bidang matematika dan lain sebagainya.
5.    Perangkat Lunak Tambahan untuk Membantu Mengerjakan Suatu Fungsi dari Perangkat Lunak Lainnya (Embedded Software)
Misalnya perangkat lunak untuk mencetak dokumen ditambahkan agar perangkat lunak yang memerlukan dapat mencetak laporan, maka perangkat lunak untuk mencetak dokumen ini disebut embedded software.
6.       Perangkat Komputer Personal (Personal Computer Software)
Perangkat komputer personal merupakan perangkat lunak untuk PC misalnya perangkat lunak pemroses teks, pemroses grafik dan lain sebagainya.
7.        Perangkat Lunak Berbasis Web (Web Based Software)
Perangkat lunak berbasis web merupakan perangkat lunak yang dapat diakses dengan menggunakan browser.
8.        Perangkat Lunak Berintelijensia Buatan (Artificial Intelligence Software)
Perangkat lunak berintelijensia buatan merupakan perangkat lunak yang menggunakan algoritma tertentu untuk mengelola data sehingga seakan-akan memiliki intelijensia seiring bertambahnya data yang diproses.

D. Mitos Perangkat Lunak

Ada beberapa bagian dari mitos software, antara lain :
1.        Mitos Managements
a.    Mitos : Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah kita lakukan 10 tahun yang lalu.
Realita : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments.
b.    Mitos : Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software.
Realita : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan jaman (out of date).
c.    Mitos : Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa programmer saja. Konsep ini sering disebut Mongolian Harde Concept.
2.        Mitos Langganan/Customer
a.    Mitos : Pernyataan tujuan umumsudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian.
Realita : Definisi awal yang buruk adalah penyebab utama kegagalan terhadap usah-usaha pembentukan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adalah penting. Karakterisitik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer
b.    Mitos : Kebutuhan proyek yang terus menerus berubah dapat dengan mudah di atasi karena software itu bersifat fleksibel.
Realita : Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.
3.        Mitos Praktisi
a.         Mitos : Tidak ada metode untuk analisis desain dan testing terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding.
Realita : Metode untuk analisis desain dan testing diperlukan dalam pengembangan software.
b.        Mitos : Segera setelah software digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara “CATCH AS CATCH CAM”.
Realita : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.



Komentar

Postingan populer dari blog ini

Pengenalan DFD

Input dan Output pada Bahasa Pemrograman C++

ERD (Entity Relationship Diagram)