Anda di halaman 1dari 6

MATERI 1 Mengapa Kualitas Software Harus Tinggi ? Oleh : Dhanny Kosasih, S.

Kom

Kualitas Software
The software engineering approach described in this book works toward a single goal: to produce high-quality software. (Pressman, 2001) Pendekatan software engineering yang dijelaskan pada buku Software Engineering, Practictional Approach Pressaman 2001 dilaksanakan untuk satu tujuan: untuk menghasilkan software dengan kualitas tinggi.

Berdasarkan pernyataan di atas, pertanyaan yang timbul adalah, apakah yang dimaksud dengan software dengan kualitas tinggi? Menurut Robert L Glass (Facts and Fallacies of Software Engineering, Addison Wesley, 2002), kualitas software adalah mengenai sekumpulan

atribut yang seharusnya dimiliki oleh suatu produk software. Atributatribut tersebut adalah: 1. Portability. Kemudahan pemindahan software ke platform lain. 2. Reliability. Software dapat diandalkan untuk melakukan apa yang seharusnya dilakukan. 3. Efficiency. Software dapat melakukan pekerjaan dengan waktu kerja dan penggunaan resource yang ekonomis. 4. Human Engineering. Software dapat digunakan dengan mudah dan nyaman. 5. Testability. Software mudah untuk diuji. 6. Understandability. Software mudah dipahami sehingga memudahkan proses pemeliharaan. 7. Modifiability. Software mudah dipelihara (maintain) dan diubah. Portability pada software, sangat tergantung kepada teknologi yang digunakan. Pemilihan teknologi didasari oleh pertimbangan yang matang berdasarkan hasil analisis terhadap calon pengguna. Jika calon pengguna menggunakan platform yang heterogen, maka portability adalah hal yang sangat penting. Namun portability akan berkurang prioritasnya ketika calon pengguna menggunakan spesifikasi teknologi yang seragam. Portability tidak hanya mengacu pada keseluruhan software, namun mengacu juga pada bagian dari komponen yang membangun software. Sebagai contoh, library yang digunakan untuk mengakses database. Dengan adanya library abstraksi pengaksesan database pada berbagai teknologi (contohnya ADO .NET pada .NET technology), maka portability dari sebuah software berkaitan dengan pengaksesan data menjadi lebih baik. Reliability adalah atribut yang tidak dapat ditawar. Hal ini dapat dicapai dengan melakukan proses analisis kebutuhan calon pengguna dengan baik. Proses analisis kebutuhan seringkali dipandang sebagai proses menyimpulkan kebutuhan calon pengguna terhadap software. Seharusnya, proses analisis dipandang sebagai proses yang dilakukan untuk menyimpulkan solusi untuk masalah pengguna. Perbedaan pandangan ini sangat penting, karena sering kali calon pengguna

menjelaskan kebutuhan modul yang dibutuhkanya, namun modul tersebut bukanlah solusi yang terbaik dari masalah yang dihadapinya. Dengan menganalisa masalah calon pengguna, lalu menyimpulkan solusi dari sisi kita maka engineer dapat lebih menjamin reliability dari suatu software. Efficiency seringkali tidak diperhatikan. Umumnya hal tersebut terjadi, karena tim fokus kepada spesifikasi fungsional sistem. Ketika spesifikasi fungsional sudah terpenuhi, maka modul software dianggap telah mencapai kualitas yang baik. Efficiency seringkali tidak terasa dibutuhkan pada aplikasi sistem informasi yang tidak melakukan proses yang rumit. Namun untuk proses yang rumit, efficiency menjadi hal yang sangat penting untuk diperhatikan. Efficiency dapat dicapai dengan disain yang baik dan code review terhadap hasil implementasi disain yang dilakukan. Selain itu, pada saat pengujian (testing), perlu dilakukan stress testing, suatu proses pengujian yang menekankan pada kemampuan software pada saat melakukan proses pada keadaan yang tersulit (e.g. data yang sangat banyak). Human engineering dapat dicapai dengan melakukan perancangan antar muka software dengan baik. Hal ini juga berkaitan dengan efficiency jika software melakukan proses yang rumit, karena pengguna akan merasa tidak nyaman jika proses yang dilakukan terlalu lama. Testability akan berpengaruh terhadap reliability. Engineer dapat menyimpulkan bahwa suatu software sudah cukup reliable untuk direlease adalah berdasarkan hasil pengujian. Karena itu, testability adalah atribut yang sangat penting dalam pengembagan software. Understandability dan modifiability. Kedua atribut tersebut bisa diacapai dengan melakukan proses disain yang baik dan kontrol terhadap kode yang dihasilkan oleh programmer. Pada pengembangan software, terdapat suatu framework yang digunakan oleh seluruh engineer dalam mengembangkan modul. Kode program yang dihasilkan perlu direview agar dapat dipastikan bahwa programmer telah menulis kode sesuai dengan standar yang sudah ditetepakan di framework. Dengan perancangan dan penulisan kode yang sesuai dengan standar yang ada, maka disain dan kode yang dihasilkan oleh engineer akan mudah untuk dipahami oleh engineer lain. Hal ini menjadi atribut yang sangat penting

untuk diperhatikan, terutama jika engineer yang mengerjakan sering berganti.

Software Engineering Dan Kualitas Software


Seperti yang sudah dijelaskan sebelumnya, bahwa tujuan dari adanya pendekatan software engineering adalah untuk menghasilkan software dengan kualitas tinggi. Pada bagian ini dijelaskan hubungan antara tahap yang ada pada proses software engineering dengan atribut yang ada pada kualitas software.

Pada tahap analisis, disimpulkan kebutuhan pengguna akan software. Pada tahap testing, tester melakukan pengujian apakah software yang sudah ada berjalan sesuai dengan kebutuhan dari pengguna. Kedua tahapan ini memastikan reliability dari sebuah software. Sebagian besar atribut yang ada pada kualitas software dicapai dengan melaksanakan proses disain yang baik. Portability, testability, understandability, modifiability, efficiency, dan human engineering adalah atribut-atribut yang menjadi acuan kualitas proses disain. Dengan memahami atribut kualitas dari sebuah software dan bagaimana tahapan pada software engineering tersebut berkaitan dengan atribut yang ada maka akan lebih mudah bagi engineer untuk memahami perannya dalam membangun sebuah software dengan kualitas tinggi.

Mengapa Kualitas Software Harus Tinggi?


Pembahasan masalah software engineering dan kaitannya dengan kualitas software ditutup dengan sebuah pertanyaan. Mengapa kualitas software harus tinggi? Jawaban yang pertama tentunya semua yang terlibat dalam bidang software menjawab, agar customer merasa puas dengan solusi yang diberikan oleh software tersebut. Jawaban ini tentunya sangat benar, namun ada manfaat yang kadangkala terlupakan. Manfaat berikutnya dari kualitas yang bagus adalah untuk para engineer itu sendiri. Perhatikan atribut yang membangun kualitas software. Sebagian besar atribut yang ada, justru manfaatnya adalah untuk para engineer. Portability, testability, understandability, dan modifiability. Keempat atribut ini adalah atribut yang manfaatnya dirasakan paling besar oleh para engineer. Lalu mengapa engineer membutuhkan manfaat ini? Alasannya adalah karena software adalah makhluk yang terus berevolusi sesuai dengan kebutuhan pengguna. Fitur tambahan, pengurangan fitur, perubahan dari yang sudah ada dan seterusnya. Karena kebutuhan manusia terus berubah, maka software yang ada pun terus berubah. Jika kualitas software tinggi, maka akan lebih mudah bagi para engineer untuk melakukan perubahan. Sehingga jangan hanya berfikir untuk membuat software yang memenuhi kebutuhan pengguna pada suatu saat. Tapi berfikir untuk membuat software yang dapat mudah diubah agar terus menerus dapat mengikuti kebutuhan manusia yang terus berubah.

Anda mungkin juga menyukai