Software atau perangkat lunak dapat diartikan sebagai sekumpulan logam yang tak berguna atau aplikasi yang digunakan untuk menyimpan, memproses dan menampilkan kembali sebuah informasi. Perangkat lunak dapat dibagi menjadi dua macam, yakni program sistem dan program aplikasi.
Program sistem adalah program yang digunakan untuk mengelola operasi komputer. Program sistem ini dan yang paling utama adalah sistem operasi (Operating System) yang berfungsi untuk mengendalikan semua sumber daya dan sekaligus menyediakan sekumpulan layanan sehingga user dapat memanfaatkan seumber daya tersebut.
Software juga Merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengeloahan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer.
Definisi Perangkat Lunak
- Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan
- Struktur data yang memungkinkan program memanipulasi informasi secara proporsional
- Dokumen yang menggambarkan operasi dan kegunaan program
- PL sudah menjadi sesuatu kekuatan yang menentukan sebagai dasar:
- Segala bentuk layanan
- Penelitian Modern
- Membantu mengambil keputusan
- Pendidikan dll.
- PL sudah dimasukkan ke segala bentuk sistem; transportasi, medis, telekomunikasi, meliter, proses industri, hiburan, ... daftar yg panjang
- PL sudah merupakan kenyataan teknologi dalam kehidupan manusia modern.
Krisis Perangkat Lunak Di Masa Datang
- Kegagalan software lebih banyak dipublikasikan daripada cerita sukses RPL.
- Software engineer lebih fokus dalam hal pembangunan & maintenance software daripada memperhatikan apakah software berfungsi dengan benar
Mitos Perangkat Lunak
- Mitos manajemen
- Buku tentang standar dan prosedur membangun software telah tersedia bagi para software engineer. Kenyataannya standar tersebut telah kadaluarsa dan jarang dijadikan referensi.
- Komputer modern memiliki banyak software development tools yang penting untuk membangun software berkualitas tinggi dibandingkan dengan hardware. kenyataannya para software engineer belum menggunakan tools tersebut secara efektif.
- Menambah orang adalah salah satu cara yang sering dilakukan pada proyek dengan skedul yang ketat. Kenyataannya menambah orang akan mengurangi produktivitas karena membutuhkan waktu untuk mempelajari sistem. Penambahan orang dapat membantu jika telah terencana dan terkoordinasi dengan baik.
- Outsourcing proyek software kepada pihak lain akan merugikan jika pihak manajemen tidak memahami bagaimana mengatur dan mengontrol proyek software secara internal.
- Mitos pemakai
- Statemen umum tentang tujuan proyek dari pemakai adalah yang paling penting untuk memulai proyek software. Kenyataannya tanpa adanya komunikasi yang konstan antara pihak pemakai dan pihak pengembang maka mustahil untuk membangun produk software yang memenuhi kebutuhan pemakai yang sebenarnya.
- Requirement proyek berubah terus menerus dan perubahan itu mudah untuk diakomodasikan dalam desain software. Kenyataannya setiap perubahan memiliki konsekuensi yang tidak diharapkan. Perubahan pada requirement software harus diatur dengan hati-hati untuk menjaga agar proyek tetap on time dan memenuhi budget.
- Mitos praktisi software
- Setelah program selesai ditulis, maka pekerjaan telah selesai. Kenyataannya pemeliharaan software memakan waktu yang lebih lama daripada pembuatannya.Pengujian kualitas software dilakukan setelah program selesai. Kenyataannya pengujian kualitas harus dilakukan mulai fase desain.
- Satu-satunya hasil proyek software adalah program yang bisa berjalan. Kenyataannya program adalah salah satu hasil dari konfigurasi software. Dokumentasi juga penting untuk mendukung software.
- Dokumentasi tidak penting bagi RPL. Kenyataannya RPL berfokus pada kualitas, bukan hanya pada program agar mengurangi mengulang pekerjaan yang tidak diperlukan.