Perangkat Lunak dan Rekayasa Perangkat Lunak

Daftar Isi [Tampil]

Perangkat Lunak dan Rekayasa Perangkat Lunak
Definisi Perangkat Lunak

Perangkat lunak dapat didefinisikan sebagai berikut:
  • Instruksi-instruksi program komputer yang ketika dijalankan menyediakan fitur-fitur, fungsi-fungsi dan kinerja yang dikehendaki
  • Struktur data yang memungkinkan program-program memanipulasi informasi
  • Informasi deskriptif pada salinan tercetak dan bentuk- bentuk maya yang menggambarkan pengoperasian dan penggunaan program

Karakteristik Perangkat Lunak

• PL dikembangkan atau direkayasa, bukan diproduksi dalam konteks manufaktur
• PL tidak mengalami “kelelahan”
• PL dibuat berdasarkan spesifikasi yang diminta oleh pengguna

A. Kategori Perangkat Lunak

• PL Sistem (System Software)
• PL Aplikasi (Application Software)
• PL Rekayasa/Ilmiah (Engineering/Scientific Software)
• PL yang tertanam (Embedded Software)
• PL Lini Produk (Product-Line Software)
• PL Aplikasi Web (Web/Mobile Applications)
• PL Kecerdasan Buatan (Artificial Intelligence Software)

B. Jenis Perangkat Lunak Aplikasi

a. Stand-Alone Applications
adalah contoh aplikasi seperti aplikasi office pada PC, program CAD, software manipulasi foto, dll

b. Interactive Transaction-Based Applications
adalah aplikasi yang mengeksekusi pada komputer remote dan yang diakses oleh pengguna dari PC mereka sendiri atau terminal

c. 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

d. Embedded Control Systems
adalah sistem kontrol PL yang mengontrol dan mengelola perangkat keras, atau sistem yang tertanam pada jenis sistem lain. Contoh: PL yang mengontrol pengereman anti-lock mobil, dan software dalam oven microwave untuk mengontrol proses memasak.

e. Entertainment Systems
adalah sistem yang terutama untuk penggunaan pribadi dan yang dimaksudkan untuk menghibur pengguna.

f. Systems for Modelling and Simulation
adalah sistem yang dikembangkan untuk model proses fisik atau situasi, dengan banyak objek yang saling berinteraksi

g. Data Collection Systems
adalah sistem yang mengumpulkan data dari lingkungan mereka menggunakan satu set sensor dan mengirim data ke sistem lain untuk diproses.

h. Systems of Systems
adalah sistem yang terdiri dari sejumlah sistem PL lain.

C. Perangkat Lunak Warisan

  • PL warisan harus diadaptasikan sedemikian rupa sehingga memenuhi kebutuhan dari lingkungan atau teknologi komputasi yang baru
  • PL warisan harus ditingkatkan kinerjanya supaya dapat menjalankan kebutuhan bisnis baru
  • PL warisan harus diperluas sedemikian rupa agar dapat saling mengoperasikan dengan sistem/PL/basisdata modern lainnya
  • PL harus dirancang ulang sehingga dapat hidup dalam lingkungan pengoperasian jaringan komputer

D. Kegagalan Perangkat Lunak

Faktor-faktor penyebab kegagalan PL:
  • 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.
  • 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 PL lebih mahal dan kurang dapat diandalkan.

Stakeholder dalam RPL
■ Users: adalah orang-orang yang akan menggunakan PL.
■ Customer (client): adalah orang-orang yang membeli atau memesan PL.
■ Software Developer: adalah orang-orang yang mengembangkan dan memelihara PL.
■ Development Manager: adalah orang-orang yang menjalankan organisasi yang mengembangkan PL, dan biasanya memiliki latar belakang pendidikan dalam administrasi bisnis.

Rekayasa Perangkat Lunak (RPL)

  • RPL adalah disiplin teknik yang berkaitan dengan semua aspek produksi PL dari tahap awal spesifikasi sistem sampai pemeliharaan.
  • Aspek produksi RPL berkaitan dengan proses teknis dari pengembangan PL, manajemen proyek PL dan pengembangan alat-alat, metode, dan teori untuk mendukung produksi PL.
  • RPL merupakan aplikasi dari suatu pendekatan yang semantik, disiplin, dan dapat diukur pada pengembangan, operasi, dan perawatan PL.
PL dalam segala bentuk aplikasinya harus direkayasa, dengan alasan:
  • PL telah menyatu secara maya dengan setiap aspek dalam kehidupan
  • Kebutuhan IT yang sudah banyak dituntut oleh individu, bisnis dan pemerintah bertambah kompleks
  • Individu, bisnis, dan pemerintah mengandalkan PL untuk mengambil keputusan yang bersifat taktis dan strategis
  • Nilai aplikasi terus bertambah, kemungkinan jumlah pengguna dan usia PL akan bertambah

Proses Perangkat Lunak

Suatu proses merupakan sekumpulan aktivitas, aksi, dan tugas yang dijalankan ketika suatu produk kerja harus dibuat.

Sebuah proses PL adalah urutan kegiatan yang mengarah ke produksi produk software. Proses PL terbagi dalam 4 jenis/kegiatan yaitu:
a. Spesifikasi PL
b. Pengembangan PL
c. Software validasi
d. Software evolusi

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.

Suatu tugas konsentrasi pada tujuan yang kecil tetapi terdefinisi dengan baik.

Kerangka kerja proses membangun dasar bagi proses RPL yang lengkap dengan cara mengidentifikasikan aktivitas kerangka kerja yang cocok untuk semua proses RPL.

Kerangka kerja proses mencakup sekumpulan akitivitas yang berperan sebagai penyangga dan cocok dengan keseluruhan proses PL. Aktivitas kerangka kerja proses:
a. Komunikasi
b. Perencanaan
c. Pemodelan
d. Konstruksi
e. Penyerahan PL ke pelanggan/user

Aktivitas kerangka kerja proses RPL disempurnakan oleh aktivitas yang bertindak sebagai penyangga. Kegiatan-kegiatan tersebut mencakup:
a. Penelusuran dan kendali proyek PL
b. Manajemen risiko
c. Penjaminan kualilitas PL
d. Tinjauan teknis
e. Pengukuran
f. Manajemen konfigurasi PL
g. Manajemen penggunaan ulang
h. Persiapan produk kerja dan produksi

Praktek RPL

Langkah-langkah RPL:
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?

Prinsip-Prinsip Umum RPL
a. Alasan keberadaan PL
b. Sederhana
c. Pertahankan visi
d. Apa yang dibuat, akan digunakan oleh konsumen/pengguna
e. Membuka diri terhadap masa depan
f. Merancang selangkah ke depan sehingga dapat digunakan kembali
g. Review

Mitos-Mitos PL

A. Mitos Manajemen

Mitos-1: Kita sudah memiliki buku yang standar dan prosedur untuk membangun PL.
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.

Referensi

Bell, Douglas. 2005. Software Engineering for Students, 4th. London: Addison-Wesley.
Booch, Grady. James Rumbaugh. and Ivar Jacobson. 1999. Unified
Modeling Language User Guide. Canada: Addison-Wesley.
Fowler, Martin. 2004. UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd. USA: Addison-Wesley.
Lethbridge, Timothy C., Robert L. 2005. Object-Oriented Software
Engineering, 2nd. London: McGraw-Hill
Pressman, Roger S. and Bruce R. Maxim. 2015. Software Engineering: A Practitioner’s Approach, 8th. New York: McGraw-Hill.
Shelly, Gary B. and Rosenblatt, Harry J. 2012. Systems Analysis and
Design. 9th. USA: Boston.
Simarmata, Janner. 2009. Rekayasa Perangkat Lunak. Yogyakarta: ANDI. Sommerville. 2011. Software Engineering, 9th. USA: Addison-Wesley
LihatTutupKomentar