Perangkat lunak yang dianggap baik atau berkualitas memiliki karakteristik sebagai berikut:
- Kemudahan Pemeliharaan : Kemampuan perangkat lunak dalam mengakomodasi perubahan-perubahan disebut sebagai kemudahan pemeliharaan. Sebagai contoh, AVG adalah perangkat lunak antivirus yang memiliki tingkat kemudahan pemeliharaan yang tinggi. AVG dapat memperbarui dirinya sendiri selama komputer terhubung ke internet atau dengan mengunduh pembaruan terbaru dari situs AVG. Pembaruan ini tersedia setiap hari dan merupakan salah satu keunggulan AVG dibandingkan dengan beberapa antivirus lain dalam hal kemudahan pemeliharaan.
- Keandalan : Keandalan adalah ketidakbergantungan perangkat lunak terhadap elemen-elemen sistem lain atau sistem secara keseluruhan. Artinya, kegagalan elemen lain tidak mempengaruhi kinerja perangkat lunak. Sebagai contoh, AVG bergantung pada sistem operasi dan selama tidak ada masalah pada sistem operasi, AVG akan berfungsi dengan baik.
- Efisiensi : Efisiensi berkaitan dengan waktu eksekusi perangkat lunak. Waktu eksekusi yang singkat adalah salah satu ciri dari perangkat lunak yang efisien. Saat melakukan pemindaian (scanning), AVG membutuhkan waktu yang lebih singkat dibandingkan dengan beberapa antivirus lain.
- Keberdayaan Guna : Keberdayaan guna adalah atribut yang menunjukkan tingkat kemudahan pengoperasian perangkat lunak. Sebagai contoh, pada awalnya, kita mungkin membutuhkan waktu untuk terbiasa dengan antarmuka (interface) AVG. AVG Control-Center adalah komponen utama untuk mengendalikan sistem AVG, dan berjalan setiap kali pengguna melakukan login. Dengan menggunakan AVGCC (AVG Control-Center), pengaturan sistem AVG dapat diedit dan kita dapat memantau status dari setiap komponen individu, seperti status pembaruan (update).
Jenis-jenis perangkat lunak:
- Perangkat Lunak Sistem : Perangkat lunak ini melayani program-program lain, seperti kompiler, editor, prosesor telekomunikasi, sistem operasi, dan driver. Area penggunaannya ditandai dengan interaksi yang erat dengan perangkat keras komputer, digunakan oleh banyak pengguna, operasi konkuren yang membutuhkan penjadwalan, pertukaran sumber daya, pengaturan proses yang canggih, serta struktur data yang kompleks dan antarmuka eksternal yang beragam.
- Perangkat Lunak Aplikasi : Perangkat lunak ini merupakan program mandiri yang digunakan untuk memenuhi kebutuhan bisnis tertentu. Aplikasi ini dapat digunakan dalam proses bisnis maupun pengolahan data teknis yang ada di dalamnya, untuk memfasilitasi operasional bisnis dan pengambilan keputusan di tingkat manajemen maupun teknis. Selain sebagai pengolah data konvensional, perangkat lunak aplikasi juga digunakan untuk mengontrol fungsi bisnis secara real-time, misalnya dalam pemrosesan transaksi di titik penjualan atau kontrol pemrosesan manufaktur secara real-time.
- Perangkat Lunak Rekayasa / Ilmiah : Perangkat lunak ini ditandai dengan penggunaan algoritma numerik (number crunching). Digunakan dalam berbagai aplikasi mulai dari astronomi hingga vulkanologi, analisis otomotif hingga dinamika orbit pesawat ruang angkasa, dan biologi molekuler hingga pabrik yang sudah terotomatisasi. Namun, aplikasi baru dalam bidang teknik atau ilmu pengetahuan sedang bergerak menjauh dari algoritma numerik konvensional.
- Perangkat Lunak Tertanam : Perangkat lunak ini ada dalam memori ROM dan digunakan untuk mengontrol hasil dan sistem untuk keperluan konsumen dan pasar industri. Perangkat lunak ini dapat melakukan fungsi terbatas dan esoterik, seperti kontrol tombol pada microwave yang dapat mematikan secara otomatis sesuai dengan waktu, atau memberikan kemampuan pengendalian dan fungsi penting, misalnya dalam kendaraan seperti kontrol bahan bakar, autopilot, penampilan dashboard, atau sistem rem.
- Perangkat Lunak Produk Seri : Perangkat lunak ini dirancang untuk memiliki kemampuan khusus yang ditujukan untuk berbagai pelanggan yang berbeda. Perangkat lunak produk seri dapat difokuskan pada pasar yang terbatas, seperti pengendalian persediaan produk, atau dapat berfokus pada pasar konsumen massal atau umum, seperti pengolah kata, lembar kerja, pengolahan basis data, komputer grafik, multimedia, hiburan, serta aplikasi keuangan pribadi dan bisnis.
- Aplikasi Web : Juga dikenal sebagai “WebApps”. Dalam bentuk sederhananya, aplikasi web merupakan kumpulan tautan file hypertext yang menyajikan informasi menggunakan teks dan grafik. Contohnya adalah web 2.0.
- Perangkat Lunak Kecerdasan Buatan (Artificial Intelligence) : Perangkat lunak ini menggunakan algoritma non-numerik untuk menyelesaikan masalah kompleks yang tidak cocok untuk perhitungan atau analisis langsung. Contohnya adalah sistem pakar, aplikasi dengan jaringan saraf tiruan, pemrosesan gambar dan suara, pembuktian teorema, dan permainan game.