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
Posting Komentar