PERANGKAT LUNAK dan REKAYASA PERANGKAT LUNAK
1. Perangkat Lunak
▪ Definisi Perangkat Lunak adalah:
✓ 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.
2. Karakteristik Perangkat Lunak
- Perangkat Lunak dikembangkan atau direkayasa, bukan diproduksi dalam konteks manufaktur.
- Perangkat Lunak tidak mengalami “kelelahan”.
- Perangkat Lunak dibuat berdasarkan spesifikasi yang diminta oleh pengguna.
√ Kategori Perangkat Lunak
- Perangkat Lunak Sistem (System Software) ex. Sistem Operasi
- Perangkat Lunak Aplikasi (Application Software) ex. Adobe Photoshop, Ms.Word, Open Office, Libra Office
- Perangkat Lunak Rekayasa/Ilmiah (Engineering/Scientific Software) ex. Aplikasi u kebutuhan astronomi, otomotif
- Perangkat Lunak yang tertanam (Embedded Software) ex. Sistem Control lalu lintas
- Perangkat Lunak Lini Produk (Product-Line Software) ex. Produk kendali inventaris
- Perangkat Lunak Aplikasi Web (Web/Mobile Applications)
- Perangkat Lunak Kecerdasan Buatan (Artificial Intelligence Software)
√ Jenis Perangkat Lunak
- Stand-Alone Applications adalah contoh aplikasi seperti aplikasi office pada PC, program CAD, software manipulasi foto, dll
- Interactive Transaction-Based Aapplications adalah aplikasi yang mengeksekusi pada komputer remote dan yang diakses oleh pengguna dari PC mereka sendiri atau terminal
- 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
- 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.
- Entertainment Systems adalah sistem yang terutama untuk penggunaan pribadi dan yang dimaksudkan untuk menghibur pengguna.
- Systems for Modelling and Simulation adalah sistem yang dikembangkan untuk model proses fisik aL atau situasi, dengan banyak objek yang saling berinteraksi
- Data Collection Systems adalah sistem yang mengumpulkan data dari lingkungan mereka menggunakan satu set sensor dan mengirim data ke sistem lain untuk diproses.
- Systems of Systems adalah sistem yang terdiri dari sejumlah sistem perangkat lunak lain.
√Perangkat Lunak Warisan
▪ Perangkat Lunak warisan harus diadaptasikan sedemikian rupa sehingga memenuhi kebutuhan dari lingkungan atau teknologi komputasi yang baru
▪ Perangkat Lunak warisan harus ditingkatkan kinerjanya supaya dapat menjalankan kebutuhan bisnis baru
▪ Perangkat Lunak warisan harus diperluas sedemikian rupa agar dapat saling mengoperasikan dengan sistem/perangkat lunak/basis data modern lainnya
▪ Perangkat Lunak harus dirancang ulang sehingga dapat hidup dalam lingkungan pengoperasian jaringan komputer
√Kegagalan Perangkat Lunak
▪ 2 Faktor penyebab kegagalan Perangkat Lunak:
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.
Stakeholder dalam RPL
1. Users : adalah orang-orang yang akan menggunakan Perangkat Lunak.
2. Customer (client) : adalah orang-orang yang membeli atau memesan Perangkat Lunak.
3. Software Developer : adalah orang-orang yang mengembangkan dan memelihara Perangkat Lunak.
4. Development Manager : adalah orang-orang yang menjalankan organisasi yang mengembangkan Perangkat Lunak, dan biasanya memiliki latar belakang pendidikan dalam administrasi bisnis.
3. Rekayasa Perangkat lunak (RPL)
▪ Disiplin teknik yang berkaitan dengan semua aspek produksi Perangkat Lunak dari tahap awal spesifikasi sistem sampai pemeliharaan.
▪ 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 .
▪ Rekayasa perangkat lunak merupakan aplikasi dari suatu pendekatan yang semantik, disiplin, dan dapat diukur pada pengembangan, operasi, dan perawatan perangkat lunak.
▪ Perangkat lunak dalam segala bentuk aplikasinya harus direkayasa, dengan alasan:
- Perangkat Lunak 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 perangkat lunak untuk mengambil keputusan yang bersifat taktis dan strategis
- Nilai aplikasi terus bertambah, kemungkinan jumlah pengguna dan usia perangkat lunak akan bertambah
4. Proses Perangkat lunak
▪ Suatu proses merupakan sekumpulan aktivitas, aksi, dan tugas yang dijalankan ketika suatu produk kerja harus dibuat.
▪ Sebuah proses Perangkat Lunak adalah urutan kegiatan yang mengarah ke produksi produk software.
▪ Empat kegiatan proses perangkat lunak adalah:
a. Spesifikasi perangkat lunak
b. Pengembangan perangkat lunak
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 perangkat lunak.
▪ 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 penyangga mencakup:
- Penelusuran dan kendali proyek perangkat lunak
- Manajemen risiko
- Penjaminan kualilitas perangkat lunak
- Tinjauan teknis
- Pengukuran
- Manajemen konfigurasi perangkat lunak
- Manajemen penggunaan ulang
- Persiapan produk kerja dan produksi
5. Praktek Rekayasa Perangkat lunak
✓ Dapatkah sub-masalah didefinisikan?
✓ Dapatkah menyusun solusinya?
6. Mitos-Mitos Perangkat lunak
- 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.
- 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.
- 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.