Menurut Roger Pressman perangkat lunak adalah:
Jenis-jenis Perangkat Lunak:
Hal-hal yang paling sering dilakukan untuk merekayasa suatu perangkat lunak adalah :
- Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu,
- Struktur data yang dapat membuat program memanipulasi informasi,
- Dokumen yang menjelaskan operasi dan penggunaan program.
Sedangkan menurut IEEE perangkat lunak merupakan program
komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengannya
serta data yang berkaitan dengan operasi suatu sistem komputer
Jenis-jenis Perangkat Lunak:
- Perangkat lunak sistem (system software),
- Perangkat lunak waktu nyata (real-time software),
- Perangkat lunak bisnis (business software),
- Perangkat lunak rekayasa dan ilmu pengetahuan (engineering and scientific software),
- Embedded Software,
- Perangkat lunak pribadi (personal software),
- Perangkat lunak intelegensia buatan (artificial inteligent software),
- Perangkat lunak lainnya.
- Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan perangkat lunak secara ekonomis namun andal dan dapat bekerja secara efisien pada komputer (dikutip dari Fritz Bauer, 1968).
- Suatu disiplin, kaidah yang mengintegrasikan proses, metode, dan alat bantu (tools) untuk pembangunan perangkat lunak komputer.
Hal-hal yang paling sering dilakukan untuk merekayasa suatu perangkat lunak adalah :
- Perencanaan, yaitu tahapan untuk mempelajari konsep sistem dan permasalahan yang hendak diselesaikan, apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang.
- Analisis Sistem, yaitu tahapan menganalisis konsep sistem, permasalahan dan keperluan yang hendak dibuat.
- Desain, yaitu suatu tahapan untuk mendesain sistem teknologi baru untuk permasalahan yang sama.
- Konstruksi, merupakan perbaikan terhadap produk yang memiliki kesalahan/kerusakan.
- Implementasi, merupakan software yang telah diuji dan siap diimplementasikan kedalam sistem pengguna atau sudah siap diterapkan.
- Maintenance, yaitu tahapan untuk memelihara dan melakukan perbaikan atau peningkatan sistem informasi baru bila diperlukan penggunaannya.
- Perangkat lunak dibuat supaya bisa digunakan (oleh pemakai) untuk membantu menyelesaikan masalah atau pekerjaan,
- Perangkat lunak digunakan oleh pemakai di lingkungan operasional dengan teknologi tertentu sebagai bagian dari sistem yang lebih besar,
- Perangkat lunak yang dibuat harus memenuhi apa yang diinginkan oleh pemakai (bukan yang diinginkan developer), ekonomis (memberikan keuntungan bagi developer), dan andal (dapat digunakan dalam jangka waktu yang lama),
- Perangkat lunak sudah diselesaikan dan diserahkan (delivered) tetapi tidak pernah digunakan (47%),
- Pemakai (user) sudah membayar untuk perangkat lunak tetapi tidak pernah jadi dan diserahkan (29,7%),
- Perangkat lunak sudah digunakan tetapi kritis atau ditinggalkan (19%),
- Perangkat lunak digunakan setelah dilakukan modifikasi (3%),
- Hanya sebagian kecil perangkat lunak yang dapat digunakan sebagaimana mestinya (2%).
- Tren software enginering saat ini mengarah pada biaya yang murah, platform bersifat multiuser, dapat digunakan oleh umum, pengembangannya bersifat open source dan cara aksesnya adalah online.
- Jika dilihat dari pengembangannya beralih dari program aplikasi yang berbasis desktop menjadi program aplikasi yang berbasis Web atau Internet. Aplikasi internet merupakan suatu jenis aplikasi yang menerapkan arsitektur sistem terdistribusi dengan menggunakan internet sebagai media komunikasi antar komponennya.
Jadi kesimpulannya Rekayasa Perangkat Lunak saat ini mengarah pada program yang sifatnya agar dimana saja kita berada, kita dapat menjalankan perangkat lunak tersebut (online), serta dapat dijalankan pada Sistem Operasi apapun dan tentu dengan biaya yang murah.