REKAYASA PERANGKAT LUNAK : Perangkat Lunak & Rekayasa Perangkat Lunak
Selamat Siang, masih bersama saya, pada kesempatan kali ini
saya akan membahas materi dari mata kuliah Rekayasa Perangkat Lunak pada
pertemuan pertama. Materi pertemuan
pertama akan membahas mengenai “PERANGKAT LUNAK & REKAYA
PERANGKAT LUNAK”. Berikut beberapa pembahasan dalam materi pertmuan kali
ini, yaitu :
1. Perangkat lunak.
2. Karakteristik perangkat lunak, kategori perangkat lunak, jenis perangkat
lunak, perangkat lunak warisan, dan kegagalan perangkat lunak.
3. Rekayasa perangkat lunak.
4. Proses perangkat lunak.
5. Praktek rekayasa perangkat lunak.
6. Mitos-mitos perangkat lunak.
Mari kita langsung saja masuk ke pembahasan.
1.
Perangkat lunak.
Definisi Perangkat Lunak adalah :
a. Instruksi-instruksi program komputer yang ketika dijalankan menyediakan
fitur-fitur, fungsi-fungsi dan kinerja yang dikehendaki.
b. Struktur data yang memungkinkan program-program memanipulasi informasi.
c. Informasi deskriptif pada salinan tercetak dan bentuk-bentuk maya yang
menggambarkan pengoperasian dan penggunaan program.
2.
Karakteristik perangkat lunak, kategori perangkat lunak, jenis perangkat
lunak, perangkat lunak warisan, dan kegagalan perangkat lunak.
a. Karakteristik Perangkat Lunak.
Berikut ini karakteristik dari perangkat lunak :
1. Perangkat lunak dikembangkan atau direkayasa bukan diproduksi dalam
konteks manufaktur.
2. Perangkat lunak tidak mengalami “Kelelahan”.
3. Perangkat lunak dibuat berdassarkan Spesifikasi
yang diminta oleh pengguna.
b. Kategori Perangkat Lunak.
Berikut ini kategori perangkat lunak beserta contohnya
:
1. Perangkat Lunak Sistem (System Software) à Sistem Operasi.
2. Perangkat Lunak Aplikasi (Application Software) à Adobe Photoshop, Ms.Word, Open Office, Libra Office.
3. Perangkat Lunak Rekayasa/Ilmiah (Engineering/Scientific Software) à Aplikasi untuk kebutuhan astronomi, otomotif.
4. Perangkat Lunak yang tertanam (Embedded Software) à Sistem Control lalu lintas.
5.
Perangkat Lunak Lini
Produk (Product-Line Software) à Produk kendali inventaris.
6.
Perangkat Lunak
Aplikasi Web (Web/Mobile Applications)
7.
Perangkat Lunak
Kecerdasan Buatan (Artificial Intelligence Software)
c. Jenis Perangkat Lunak.
Jenis-jenis perangkat lunak aplikasi yaitu :
1.
Stand-Alone Applications adalah contoh aplikasi seperti aplikasi office pada PC, program CAD, software
manipulasi foto, dll.
2.
Interactive Transaction-Based Aapplications adalah aplikasi yang mengeksekusi pada komputer remote dan
yang diakses oleh pengguna dari PC mereka sendiri atau terminal.
3.
Batch Processing Systems adalah sistem bisnis yang dirancang untuk memproses data input yang besar
untuk membuat output yang sesuai. Contoh: sistem penagihan telepon, dan sistem
pembayaran gaji.
4.
Embedded Control Systems adalah sistem kontrol Perangkat
Lunak yang mengontrol dan mengelola perangkat keras, atau sistem yang tertanam
pada jenis sistem lain. Contoh: Perangkat Lunak yang mengontrol pengereman
anti-lock mobil, dan software dalam oven microwave untuk mengontrol proses
memasak.
5.
Entertainment Systems adalah sistem yang terutama untuk
penggunaan pribadi dan yang dimaksudkan untuk menghibur pengguna.
6.
Systems for Modelling and
Simulation
adalah sistem yang dikembangkan untuk model proses fisik atau situasi, dengan
banyak objek yang saling berinteraksi.
7.
Data Collection Systems adalah sistem yang mengumpulkan
data dari lingkungan mereka menggunakan satu set sensor dan mengirim data ke
sistem lain untuk diproses.
8.
Systems of Systems adalah sistem yang terdiri dari sejumlah
sistem perangkat lunak lain.
d. Perangkat Lunak Warisan.
1. Perangkat Lunak warisan harus
diadaptasikan sedemikian rupa sehingga memenuhi kebutuhan dari lingkungan atau teknologi
komputasi yang baru.
2. Perangkat Lunak warisan harus
ditingkatkan kinerjanya supaya dapat menjalankan kebutuhan bisnis baru.
3. Perangkat Lunak warisan harus
diperluas sedemikian rupa agar dapat saling mengoperasikan dengan
sistem/perangkat lunak/basis data modern lainnya.
4. Perangkat Lunak harus dirancang
ulang sehingga dapat hidup dalam lingkungan pengoperasian jaringan komputer
e. Kegagalan Perangkat Lunak.
Ada 2 faktor penyebab kegagalan perangkat lunak, yaitu
:
1.
Meningkatnya tuntutan
RPL
membangun sistem yang lebih besar, sistem yang lebih kompleks menyebabkan
tuntutan berubah. Sistem harus dibangun dan disampaikan lebih cepat, lebih
besar, dan lebih kompleks. Sistem harus memiliki kemampuan baru yang sebelumnya
dianggap mustahil.
2.
Harapan yang rendah
Hal
ini relatif mudah untuk menulis program komputer tanpa menggunakan metode dan
teknik RPL. Banyak Pengusaha yang tidak menggunakan metode RPL, akibatnya
perangkat lunak lebih mahal dan kurang dapat diandalkan.
3.
Rekayasa perangkat lunak.
a. Disiplin teknik yang berkaitan
dengan semua aspek produksi Perangkat Lunak dari tahap awal spesifikasi sistem
sampai pemeliharaan.
b. Aspek produksi rekayasa perangkat
lunak berkaitan dengan proses teknis dari pengembangan perangkat lunak,
manajemen proyek perangkat lunak dan pengembangan alat-alat, metode, dan teori
untuk mendukung produksi perangkat lunak .
c. Rekayasa perangkat lunak merupakan
aplikasi dari suatu pendekatan yang semantik, disiplin, dan dapat diukur pada
pengembangan, operasi, dan perawatan perangkat lunak.
d. Perangkat lunak dalam segala bentuk
aplikasinya harus direkayasa, dengan alasan:
1. Perangkat Lunak telah menyatu
secara maya dengan setiap aspek dalam kehidupan.
2. Kebutuhan IT yang sudah banyak
dituntut oleh individu, bisnis dan pemerintah bertambah kompleks.
3. Individu, bisnis, dan pemerintah
mengandalkan perangkat lunak untuk mengambil keputusan yang bersifat taktis dan
strategis.
4. Nilai aplikasi terus bertambah,
kemungkinan jumlah pengguna dan usia perangkat lunak akan bertambah.
4.
Proses perangkat lunak.
a. Suatu proses merupakan sekumpulan aktivitas, aksi, dan tugas yang
dijalankan ketika suatu produk kerja harus dibuat.
b. Sebuah proses Perangkat Lunak adalah urutan kegiatan yang mengarah ke
produksi produk software.
c. Empat kegiatan proses perangkat
lunak adalah:
1.
Spesifikasi perangkat lunak.
2.
Pengembangan perangkat lunak.
3.
Software validasi.
4.
Software evolusi.
d. Suatu aktivitas berupaya mencapai
tujuan umum dan diterapkan tanpa memperhatikan lingkungan aplikasi, tanpa
memperhatikan ukuran proyek, tanpa memperhatikan kompleksitas dan usaha, dan
tanpa memperhatikan kekakuan dari RPL saat diterapkan.
e. Suatu tugas konsentrasi pada tujuan yang kecil tetapi terdefinisi dengan
baik.
f.
Kerangka kerja proses
membangun dasar bagi proses RPL yang lengkap dengan cara mengidentifikasikan
aktivitas kerangka kerja yang cocok untuk semua proses RPL.
g.
Kerangka kerja proses
mencakup sekumpulan akitivitas yang berperan sebagai penyangga dan cocok dengan
keseluruhan proses perangkat lunak.
h.
Aktivitas kerangka
kerja proses:
1.
Komunikasi.
2.
Perencanaan.
3.
Pemodelan.
4.
Konstruksi.
5.
Penyerahan PL ke
pelanggan/user.
i.
Aktivitas kerangka kerja proses RPL disempurnakan oleh aktivitas yang
bertindak sebagai penyangga.
j.
Kegiatan-kegiatan penyangga mencakup:
1.
Penelusuran dan kendali proyek perangkat lunak.
2.
Manajemen risiko.
3.
Penjaminan kualilitas perangkat lunak.
4.
Tinjauan teknis.
5.
Pengukuran.
6.
Manajemen konfigurasi perangkat lunak.
7.
Manajemen penggunaan ulang.
8.
Persiapan produk kerja dan produksi
5.
Praktek rekayasa perangkat lunak.
4 langkah-langkah Rekayasa perangkat
lunak :
a. Memahami permasalahan.
·
Siapa yang terkait dalam pemecahan masalah?
·
Apa saja yang tidak diketahui?
·
Data, fungsi, dan fitur yang dibutuhkan.
·
Dapatkah masalah dikategorikan (dipecah menjadi masalah yang lebih kecil)?
·
Dapatkah masalah diwakili dengan grafis?
·
Dapatkah dibuat sebuah model analisis?
b. Merancang solusi
·
Pernahkah ada masalah serupa sebelumnya dan telah didapatkan pemecahan
masalahnya?
·
Dapatkah sub-masalah didefinisikan?
·
Dapatkah menyusun solusinya?
c. Menjalankan rancangan
·
Apakah solusi cocok dengan masalah?
·
Apakah kode program dapat dilacak secara langsung?
·
Apakah komponen dari solusi sudah tepat?.
d. Memeriksa hasil
·
Uji setiap komponen dari solusi dengan menggunakan strategi pengujian.
·
Apakah solusi sesuai dengan data, fungsi dan fitur yang dibutuhkan?
6.
Mitos-mitos perangkat lunak.
a.
Mitos Manajemen
Mitos-1 : Kita sudah memiliki buku yang standar dan
prosedur untuk membangun Perangkat Lunak.
Realita : Apakah buku tersebut mencerminkan praktek
RPL modern, lengkap, dan dapat beradaptasi dengan keadaan yang dihadapi saat
ini?
Mitos-2 : Jika kita tertinggal dari jadwal yang telah
ditetap-kan, kita dapat menambah jumlah programmer dan akan memenuhi jadwal
dengan cepat.
Realita : Menambah orang baru untuk proyek PL yang
tertunda menyebabkan penyelesaian proyek PL tersebut mejadi semakin terlambat.
Mitos-3 : Jika memutuskan untuk menyewa orang ketiga
untuk mengerjakan proyek PL, kita bisa sedikit lega karena PL dikerjakan oleh
pihak ketiga.
Realita : Jika sebuah organisasi tidak dapat memahami
cara mengelola dan mengendalikan proyek PL secara internal, maka organisasi
tersebut akan bekerja lebih keras lagi ketika menyewa pihak ketiga.
b.
Mitos Pelanggan
Mitos-1 : Pernyataan tujuan umum sudah cukup untuk
mulai menulis program, dan kita dapat membuat rinciannya nanti.
Realita : Pembuatan pernyataan kebutuhan yang
komprehensif dan stabil tidak selalu dimungkinkan (tidak ambigu), tetapi perlu
mengembangkan komunikasi yang efektif antara pengembang dan pelanggan.
Mitos-2 : Kebutuhan PL terus menerus berubah, tetapi
perubahan-perubahan dapat dengan mudah diakomodasi karena PL bersifat
fleksibel.
Realita : Dampak perubahan beragam sesuai dengan
waktu di mana perubahan diperkenalkan.
c.
Mitos Praktisi
Mitos-1 : Ketika kita menulis kode program dan menjalakannya, maka pekerjaan
dianggap sudah selesai.
Realita : Semakin cepat kita mulai menulis ‘kode program’, semakin lama
waktu yang dibutuhkan untuk menyelesaikannya.
Mitos-2 : Satu-satunya produk kerja untuk mencetak proyek PL yang berhasil
adalah program yang sedang berjalan.
Realita : Sebuah produk kerja hanyalah sebagian kecil dari konfigurasi PL
yang pada dasarnya mencakup banyak unsur RPL yang berhasil dan memberikan
panduan bagi dukungan PL.
Mitos-3 : RPL akan memaksa kita membuat dokumentasi yang berlebihan dan
terkesan tidak penting, dan akan selalu menghambat kemajuan.
Realita : RPL merupakan kegiatan yang bertujuan untuk meningkatkan
kualitas produk. Kualitas yang baik mengarah pada berkurangnya pekerjaan yang
berulang-ulang sehingga pengiriman ke pelanggan akan lebih cepat.
Komentar
Posting Komentar