Konsep Dasar Rekayasa Perangkat Lunak (RPL)
Pengertian Rekayasa Perangkat lunak (RPL)
Berikut ini beberapa pengertian RPL dari berbagau
sumber
- IEEE Computer Society : RPL sebagai penerapan suatu pendekatan
yang sistematis, disiplin dan terkuantifikasi atas pengembangan,
penggunaan dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas
perangkat lunak.
- Roger R. Pressman: Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu
sendiri guna mengembangkan, memelihara, dan membangun kembali dengan
menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang
dapat bekerja lebih efisien dan efektif untuk pengguna.
Tujuan Rekayasa Perangkat Lunak
Secara lebih khusus kita dapat menyatakan tujuan
RPL adalah untuk
- Memperoleh biaya produksi perangkat lunak yang
rendah.
- Menghasilkan perangkat lunak yang kinerjanya
tinggi, andal dan tepat waktu
- Menghasilkan perangkat lunak yang dapat bekerja
pada berbagai jenis platform
- Menghasilkan perangkat lunak yang biaya
perawatannya rendah
Tujuan RPL
Kriteria Dalam Merekayasa Perangkat Lunak
- Dapat terus dirawat dan dipelihara (maintainability)
- Dapat mengikuti perkembangan teknologi (dependability)
- Dapat mengikuti keinginan pengguna (robust).
- Efektif dan efisien dalam menggunakan energi dan
penggunaannya.
- Dapat memenuhi kebutuhan yang diinginkan (usability).
Ruang Lingkup Rekayasa Perangkat Lunak
Ruang lingkup RPL meliputi:
- Software Requirements berhubungan
dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
- Software design mencakup proses penampilan arsitektur, komponen, antar muka, dan
karakteristik lain dari perangkat lunak.
- Software construction berhubungan
dengan detail pengembangan perangkat lunak, termasuk. algoritma,
pengkodean, pengujian dan pencarian kesalahan.
- Software testing meliputi
pengujian pada keseluruhan perilaku perangkat lunak.
Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. - Software configuration management
berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk
memenuhi kebutuhan tertentu.
- Software engineering management berkaitan
dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek
perangkat lunak.
- Software engineering tools and methods mencakup
kajian teoritis tentang alat bantu dan metode RPL.
Ruang Lingkup RPL
Menurut Roger R. Pressman, proses perangkat lunak
merupakan serangkaian kegiatan dan hasil hasil relevannya yang menghasilkan
perangkat lunak. Kegiatan ini sebagian besar dilakukan oleh perekayasa
perangkat lunak. Terdapat empat kegiatan proses dasar, meliputi:
- Spesifikasi perangkat lunak, Fungsionalitas
perangkat lunak dan batasan kemampuan operasinya harus didefinisikan.
- Pengembangan perangkat lunak, Pengembangan
terhadap produk perangkat lunak yang memenuhi spesifikasi perangkat lunak.
- Validasi perangkat lunak, Perangkat lunak
harus divalidasi untuk menjamin bahwa perangkau lunak melakukan apa yang
diinginkan oleh user.
- Evolusi rangkat lunak. Perangkat lunak harus
berkembang untuk memenuhi kebutuhan pelanggan yang berubah ubah.
Metode rekayasa perangkat lunak merupakan pendekatan
terstruktur terhadap pengembangan perangkat lunak yang bertujuan memfasilitasi
produksi perangkat lunak kualitas tinggi dengan cara yang efektif dalam hal
biaya. Terdapat beberapa metode yang bisa digunaka seperti metode berorientasi
fungsi, metode berorientasi objek dan metode pendekatan gabungan yang sekarang
lebih dikenal dengan istilah UML (unified modeling language).
Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain
Cakupan ruang lingkup yang cukup luas, membuat RPL
sangat terkait dengan disiplin dengan bidang ilmu lain. tidak saja sub bidang
dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar
ilmu komputer.
Keterkaitan RPL dengan bidang ilmu lain
- Bidang ilmu manajemen meliputi
akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis
kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi
bisnis.
- Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang,
statistik, analisis numerik, dan matematika diskrit.
- Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek,
seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen
resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
Evolusi Perangkat Lunak
Era Pertama ( 1950 – 1960)
- Batch Orientation, Suatu orientasi di mana proses dilakukan setelah data
dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah
data terkumpul, lawan dari batch adalah Online atau Interactive
Process. Keuntungan dari Interactive adalah mendapatkan data yang
selalu up to date.
- Limmited distribution, Suatu penyebaran software yang terbatas pada perusahaan-perusahaan
tertentu.
- Custom software, Software yang dikembangkan berdaasarkan
perusahaan-perusahaan tertentu.
Era Kedua (1960 – 1970)
- Multi user, Suatu sistem di mana satu
komputer digunakan oleh beberapa user pada saat yang sama.
- Real Time, Suatu sistem yang dapat
mengumpulkan, menganalisa dan mentransformasikan data dari berbagai
sumber, mengontrol proses dan menghasilkan output dalam mili second.
- Database, Perkembangan yang pesat dari alat
penyimpan data yang OnLine menyebabkan muncul generasi pertama. DBMS
(DataBase Management System).
- Product Software, Adalah software yang
dikembangkan untuk dijual kepada masyarakat luas.
Era Ketiga (1980 – 1990)
- Distributed system, Suatu sistem yang tidak hanya dipusatkan pada komputer induk
(Host computer), daerah atau bidang lainnya, yang juga memiliki komputer
yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed
system adalah Centralized System.
- Embedded Intelegence, Suatu product yang diberi tambahan “Intellegence” dan biasanya
ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil,
robot, peralatan diagnostic serum darah.
- Low Cost Hardware, harga hardware yang semakin rendah, ini dimungkinkan karena
munculnya Personal Computer.
- Consummer Inpact, Adanya perkembangan komputer yang murah menyebabkan banyaknya
software yang dikembangkan, software ini memberi dampak yang besar
terhadap masyarakat.
Era Keempat (1990 – 2000)
- Expert system, Suatu penerapan kecerdasan buatan pada bidang-bidang
tertentu, misalnya bidang kedokteran, komunikasi, dll.
- Artificcial Intelegence Machine, Suatu mesin yang dapat meniru kerja dari sebagian otak manusia.
Misalnya mesin robot, komputer catur. Parallel Architecture
Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer.
Karakteristik perangkat lunak
- Software merupakan elemen sistem logik dan bukan
elemen sistem fisik seperti hardware.
- Elemen itu tidak aus, tetapi bisa rusak.
- Elemen software itu direkayasa atau dikembangkan
dan bukan dibuat di pabrik seperti hardware
- Software itu tidak bisa dirakit.
Tanggung Jawab Profesional dan Etika
Rekayasa perangkat lunak jelas dibatasi oleh hukum
lokal, nasional dan internasional. Perekayasa perangkat lunak harus memiliki
tanggung jawab etis dan moral jika ingin dihormati sebagai profesional.
Terdapat beberapa standar dan kode etik yang harus dipertimbangkan, yaitu:
- Konfidensialitas, Harus menghormati konfidensialitas atasan dan kliennya walaupun
tidak ada persetujuan yang ditanda tangani secara formal.
- Kompetensi. Tidak boleh menyalahi tingkat kompetensinya (melebihi atau
menyimpang)
- Hak Properti Intelektual, Menyadari terhadap hukum yang mengatur penggunaan properti
intelektual, seperti paten, hak cipta dan lain sebagainya.
- Penyalahgunaan Komputer, Tidak boleh dengan sengaja menyalah gunakan komputer yang
nantinya berakibat merugikan orang lain, seperti penyebaran virus,
penyadapan dan lain sebagainya.
SUMBER: