Perangkat Lunak (Software)
tidak sama dengan program komputer. Perangkat lunak tidak hanya mencakup
program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan,
yang diperlukan untuk membuat agar program beroperasi dengan benar.
Sistem Perangkat Lunak terdiri dari :
-
Sejumlah program yg terpisah
-
File-file konfigurasi
-
Dokumentasi sistem
-
Dokumentasi User
Dua tipe produk perangkat lunak :
-
Produk Generik à
Sistem stand-alone standar yg diproduksi oleh organisasi pengembang dan
dijual ke pasar terbuka ke siapapun yg membelinya. Biasa disebut sebagai software
shrink-wrapped. Contoh : pengolah kata (word processor).
-
Produk pesanan (yang disesuaikan) à Sistem yg dipesan oleh
pelanggan tertentu. Dikembangkan khusus bagi pelanggan oleh kontraktor
perangkat lunak. Contoh : Sistem untuk mendukung proses bisnis tertentu dan
sistem kontrol lalu lintas udara.
-
Perbedaan PENTING antara tipe2 perangkat
lunak :
a.
Pada produk generik, organisasi yang
mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
b. Pada
produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi
yang membeli perangkat lunak tersebut.
REKAYASA PERANGKAT LUNAK
RPL atau Software Engineering (SE) à Disiplin ilmu yang
membahas semua aspek produksi perangkat lunak, mulai dari tahap awal
spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Ada 2 istilah
kunci disini :
-
“disiplin rekayasa” à Perekayasa membuat suatu alat
bekerja. Menerapkan teori, metode, dan
alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan
selalu mencoba mencari solusi terhadap permasalahan.
-
“semua aspek produksi perangkat lunak” à RPL tidak hanya
berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga
dengan kegiatan seperti Manajemen proyek PL dan pengembangan alat bantu,
metode, dan teori untuk mendukung produksi PL.
Perbedaan antara RPL dengan Computer Science ?
-
Intinya, computer science berhubungan
dengan teori dan metode yang mendasari sistem komputer dan perangkat lunak,
sedangkan RPL berhubungan dengan praktek dalam memproduksi perangkat lunak.
Perbedaan RPL dengan Rekayasa Sistem ?
-
Rekayasa sistem berkaitan dengan semua aspek
dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan
proses. RPL adalah bagian dari rekayasa sistem yang meliputi pembangunan PL,
infrasktruktur, kontrol, aplikasi dan database pada sistem.
Proses Perangkat Lunak
Serangkaian kegiatan dan hasil-hasil relevannya yang
menghasilkan perangkat lunak à
sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4
kegiatan/aktivitas pada proses PL :
1. Spesifikikasi
Perangkat Lunak à
Fungsionalitas perangkat lunak dan batasan kemampuan operasinya harus
didefinisikan.
2. Pengembangan
Perangkat Lunak à
Perangkat lunak yang memenuhi spesifikasi harus di produksi
3. Validasi
Perangkat Lunak à
Perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak melakukan
apa yang diinginkan oleh pelanggan.
4. Evolusi
Perangkat Lunak à
Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
Model Proses Perangkat Lunak
-
Merupakan deskripsi yang disederhanakan dari
proses perangkat lunak di presentasikan dengan sudut pandang tertentu.
-
Bisa mencakup kegiatan yang merupakan bagian
dari proses perangkat lunak, produk perangkat lunak, dan peran orang yang
terlibat pada rekayasa perangkat lunak (Perekayasa PL).
Contoh Jenis Model Proses PL
- Model aliran kerja (workflow) à menunjukkan kegiatan pada proses bersama dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
- Model aliran data (data flow) à merepresentasikan proses sebagai suatu set kegiatan yang melakukan transformasi data. Menunjukkan bagaimana input ke proses, misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.
- Model peran/aksi à merepresentasikan peran orang yang terlibat pada PL dan kegiatan yg menjadi tanggung jawab mereka.
Model atau paradigma umum pada proses PL
- Model air terjun (waterfall) à Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.
- Pengembangan evolusioner à Pendekatan ini berhimpitan dengan kegiatan spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.
- Pengembangan Sistem Formal à Pendekatan ini menghasilkan suatu sistem matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan metode matematik menjadi sebuah program.
- Pengembangan berdasarkan pemakaian ulang (Reusable) à Teknik ini menganggap bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.
Metode-metode RPL
Pendekatan-pendekatan terstruktur terhadap pengembangan
perangkat lunak mencakup model, notasi, aturan, saran pengembangan sistem
(rekomendasi), dan panduan proses.
-
Deskripsi model sistem à Deskripsi model yang harus
dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex
: model aliran data.
-
Aturan à
Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem
harus memiliki nama yang unik.
-
Rekomendasi à
Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki
lebih dari tujuh sub-objek yang berhubungan dengannya.
-
Panduan Proses à
Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex : Atribut
objek harus didokumentasi sebelum mendefinisikan operasi yang berhubungan
dengan objek.
CASE (Computer-Aided Software Engineering)
Mencakup berbagai macam program yang digunakan untuk
mendukung kegiatan PL seperti analisis persyaratan, pemodelan sistem, debugging,
dan pengujian.
Atribut-atribut PL yang baik
Perangkat Lunak seharusnya memberikan user kebutuhan
fungsionalitas dan kinerja yang :
1. Dapat
dipelihara (Maintanability) à
PL harus dapat memenuhi perubahan kebutuhan user.
2. Dapat
diandalkan (Dependability) à
PL harus dapat dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi
jika terjadi kegagalan sistem.
3. Efisien
à PL harus efisien dalam
penggunaan sumber daya sistem.
4. Kemampupakaian
(Usability) à
PL harus dapat dipakai sesuai dengan yang direncanakan.
Tantangan Kunci yang dihadapi RPL ?
- Tantangan Warisan (Legacy) à Tantangan memelihara dan meng-update PL sedemikian sehingga biaya yg berlebihan dapat dihindari dan layanan bisnis yg penting tetap dilakukan.
- Tantangan Heterogenitas à Tantangan teknik pengembangan untuk membangun perangkat lunak yang dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang ada.
- Tantangan Pengiriman à Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa mengurangi kualitas sistem.
1 komentar:
Write komentarMARI BELAJAR REKAYASA PERANGKAT LUNAK......................^___^
ReplyTerimakasih Atas Komentar Anda....!!! :) EmoticonEmoticon