Menjaga Kualitas Software
Kualitas software mengukur apakah perangkat lunak memenuhi persyaratan fungsional dan nonfungsionalnya.
Persyaratan fungsional mengidentifikasi apa yang harus dilakukan software. Mereka termasuk rincian teknis, manipulasi dan pemrosesan data, perhitungan atau fungsi spesifik lainnya yang menentukan apa yang ingin dicapai oleh aplikasi.
Persyaratan nonfungsional – juga dikenal sebagai atribut kualitas – menentukan bagaimana sistem harus bekerja. Persyaratan nonfungsional meliputi portabilitas, pemulihan bencana, keamanan, privasi, dan kegunaan.
Baca: Penyedia Jasa Paket Internet Rumah Murah
Pengujian software mendeteksi dan memecahkan masalah teknis dalam kode sumber software dan menilai keseluruhan kegunaan, kinerja, keamanan, dan kompatibilitas produk untuk memastikannya memenuhi persyaratannya.
Dimensi kualitas perangkat lunak meliputi karakteristik sebagai berikut:
Aksesibilitas. Sejauh mana sekelompok orang yang beragam, termasuk individu yang memerlukan teknologi adaptif seperti pengenalan suara dan pembesar layar, dapat menggunakan software dengan nyaman.
Kesesuaian. Kesesuaian software untuk digunakan di berbagai lingkungan, seperti dengan OS, perangkat, dan browser yang berbeda.
Efisiensi. Kemampuan software untuk bekerja dengan baik tanpa membuang energi, sumber daya, tenaga, waktu atau uang.
Kegunaan. Kemampuan software untuk menjalankan fungsi yang ditentukan.
Kemudahan pemasangan. Kemampuan software untuk diinstal di lingkungan tertentu.
Lokalisasi. Berbagai bahasa, zona waktu, dan fitur lain yang dapat digunakan oleh software.
Pemeliharaan. Seberapa mudah software dapat dimodifikasi untuk menambah dan meningkatkan fitur, memperbaiki bug, dll.
Pertunjukan. Seberapa cepat kinerja software di bawah beban tertentu.
Portabilitas. Kemampuan software untuk dengan mudah dipindahkan dari satu lokasi ke lokasi lain.
Keandalan. Kemampuan software untuk melakukan fungsi yang diperlukan dalam kondisi tertentu untuk jangka waktu tertentu tanpa kesalahan.
Skalabilitas. Ukuran kemampuan software untuk meningkatkan atau menurunkan kinerja sebagai respons terhadap perubahan dalam tuntutan pemrosesannya.
Keamanan. Kemampuan software untuk melindungi dari akses tidak sah, pelanggaran privasi, pencurian, kehilangan data, software berbahaya, dll.
Kemampuan untuk diuji. Betapa mudahnya menguji software .
Kegunaan. Betapa mudahnya menggunakan software tersebut.
Untuk menjaga kualitas software setelah digunakan, pengembang harus terus-menerus menyesuaikannya untuk memenuhi kebutuhan pelanggan baru dan menangani masalah yang diidentifikasi pelanggan. Ini termasuk meningkatkan fungsionalitas, memperbaiki bug, dan menyesuaikan kode software untuk mencegah masalah. Berapa lama suatu produk bertahan di pasar tergantung pada kemampuan pengembang untuk memenuhi persyaratan pemeliharaan ini.
Dalam hal melakukan pemeliharaan, ada empat jenis perubahan yang dapat dilakukan pengembang, termasuk:
Perbaikan. Pengguna sering mengidentifikasi dan melaporkan bug yang harus diperbaiki oleh pengembang, termasuk kesalahan pengkodean dan masalah lain yang membuat software tidak memenuhi persyaratannya.
Adaptif. Pengembang harus secara teratur membuat perubahan pada software mereka untuk memastikannya kompatibel dengan perubahan lingkungan perangkat keras dan perangkat lunak, seperti ketika versi baru dari OS keluar.
Sempurna. Ini adalah perubahan yang meningkatkan fungsionalitas sistem, seperti meningkatkan antarmuka pengguna atau menyesuaikan kode software untuk meningkatkan kinerja.
Pencegahan. Perubahan ini dilakukan untuk menjaga software agar tidak gagal dan mencakup tugas-tugas seperti restrukturisasi dan pengoptimalan kode.
Lisensi dan Paten Software
Lisensi software adalah dokumen yang mengikat secara hukum yang membatasi penggunaan dan distribusi software.
Biasanya, lisensi software memberi pengguna hak untuk satu atau lebih salinan software tanpa melanggar hak cipta. Lisensi menguraikan tanggung jawab para pihak yang menandatangani perjanjian dan dapat membatasi bagaimana software dapat digunakan.
Baca: Pengertian e–Wallet Menurut Ahli
Syarat dan ketentuan lisensi software umumnya mencakup penggunaan software secara wajar, batasan tanggung jawab, jaminan, penafian, dan perlindungan jika software atau penggunaannya melanggar hak kekayaan intelektual orang lain.
Lisensi biasanya untuk software dengan hak cipta, yang tetap menjadi milik organisasi, kelompok, atau individu yang membuatnya; atau untuk software bebas, di mana pengguna dapat menjalankan, mempelajari, mengubah, dan mendistribusikan software. Open source adalah jenis software di mana perangkat lunak dikembangkan secara kolaboratif, dan kode sumbernya tersedia secara bebas. Dengan lisensi software sumber terbuka, pengguna dapat menjalankan, menyalin, berbagi, dan mengubah software yang serupa dengan perangkat lunak bebas.
Evolusi teknologi menyebabkan vendor software telah beralih dari menjual lisensi perangkat lunak secara satu kali ke model berlangganan software sebagai layanan. Vendor software meng-host perangkat lunak di Cloud dan membuatnya tersedia untuk pelanggan, yang membayar biaya berlangganan dan mengakses perangkat lunak melalui internet.
Meskipun hak cipta dapat mencegah orang lain menyalin kode pengembang, hak cipta tidak dapat menghentikan mereka mengembangkan software yang sama secara mandiri tanpa menyalin. Paten, di sisi lain, memungkinkan pengembang untuk mencegah orang lain menggunakan aspek fungsional software yang diklaim pengembang dalam paten, bahkan jika orang lain itu mengembangkan perangkat lunak secara mandiri.
Baca: Cara Hemat Kuota Internet
Secara umum, semakin teknis sebuah software, semakin besar kemungkinannya untuk dipatenkan. Misalnya, produk software dapat diberikan paten jika produk tersebut menciptakan struktur basis data jenis baru atau meningkatkan kinerja dan fungsi komputer secara keseluruhan.