Karakteristik Perangkat lunak (Software Carachteristic)

Untuk memperoleh pemahaman tentang perangkat lunak(serta pemahaman tentang software engineering), penting juga untuk meneliti karakteristik perangkat lunak yang membuat perangkat lunak berbeda dari hal-hal yang lain yang dibangun oleh manusia. Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen sistem fisik.dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras:

Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik



Meskipun banyak kesamaan diantara pabrik perangkat keras dan perangkat lunak, aktivitas keduanya secara mendasar sangat berbeda. Dalam kedua aktivitas tersebut, kualitas yang tinggi dicapai melalui perancangan yang baik tetapi didalam fase pembuatan perankat keras, selalu saja ditemukan masalah kualitas yang tidak mudah untuk disesuaikan dengan perangkat lunak. Kedua aktivitas tiu tergantung pada manusia, tetapi hubungan antara penerapan yang dilakukan dengan usaha yang diperoleh sangat berbeda. Kedua aktivitas itu sangat membutuhkan kontruksi sebuah "produk" tetapi pendekatan yang dipakai berbeda.

Perangkat Lunak tidak pernah usang

Gambar. 1.6. Menggambarkan laju kegagalan sebagai fungsi waktu untuk perangkat keras. Hubungannya, yang sering juga disebut "kurva bathub" menunjukan bahwa perangkat keras mengalami laju kegagalan yang sangat tinggi pada saat awal hidupnya( kegagalan-kegagalan itu sering disebabkan oleh perancangan atau cacat pembuatan). Cacat-cacat tersebut harus dikoreksi, dan laju kegagalan turun ke keadaan steady-state ( diharapkan, sangat rendah) untuk beberapa periode waktu.tetapi seiring dengan perjalanan waktu, laju kegagalan bertambah lagi pada saat komponen perangkat keras terkena pengaruh penumpukan debu, getaran, ketidakhati-hatian, suhu tinggi, serta beberapa kerusakan yang disebabkan oleh lingkungan. Secara singkat dapat dikatakan bahwa perangkat keras sudah mulai menjadi usang.


Perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak yang menyebabkan perangkat keras menjadi usang. Secara teoritis, kurva tingkat kegagalan perangkat lunak akan sesuai dengan apa yang ditunjukan pada gambar 1.5. kesalahan-kesalahan yang tidak dapat ditemukan akan menyebabkan tingkat kegagalan menjadi sangat tinggi pada awal hidup program. Tetapi hal itu dapat diperbaiki (diharapkan tidak lagi detemuakan kesalahan yang lain) sehingga kurva menjadi mendatar seperti ditunjukann pada gambar. Gambar 1.5 adalah penyederhanaan dari model kegagalan actual . tetapi implikasinya sangat jelas-perangkat lunak tidak pernah usang, tetapi semakin memburuk!


Kontradiksi tersebut dapat dipahami dengan melihat gambar 1.6. selama hidupnya perangkat lunak mengalami perubahan (pemeliharaan). Selagi perubahan dibuat, kesalahan lain akan muncul yang menyebabkan kurva kegagalan akan naik secara cepat terlihat seperti gambar 1.6. sebelum kurva kembali ke keadaan semula, yaitu keadaaan sesaat, diperlukan perubahan yang lain, yang menyebabkan kurva akan naik lagi.


Secara perlahan tingkat laju kesalahan minimum kemudian mulai naik perangkat lunak seperti mulai memburuk sehubungan dengan perubahan yang dilakukan.

Aspek lain dari keusangan menggambarkan perbedaan antara perangkat keras dan perangkat lunak. Bila komponen suatu perangakat keras telah usang, komponen dapat diganti dengan suku cadangnya. Namun tidak ada suku cadang bagi perangkat lunak. Setiap kegagalan perangkat lunak menggambarkan kesalahan dalam perancangan atau proses dimana rancangan diterjemahkan ke dalam kode mesin yang dapat dieksekusi. Demikian, pemeliharaan perangkat lunak menjadi lebih kompleks daripada pemeliharaan perangkat keras.


Sebagian besar perangkat lunak dibuat secara custom built,serta tidak dapat dirakit dari komponen yang sudah ada.

Perhatikan bagaimana perangkat keras untuk mendesain berbasis mikroprosesor dirancang dan dibuat. Pengembang desain menggambar sebuah skema sederhana dari rangkaian digital, melakukan serangkaian analisis dasar untuk memastikan bahwa fungsi yang tepat dapat dicapai serta kemudian menyesuaikan ke catalog komponen digital. Setiap IC (chip) mempunyai nomor bagian sendiri, sebuah fungsi yang sudah terdefinisi dan tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntunan integrasi. Setelah masing-masing komponen diseleksi, perangkat keras dapat dipesan secara terpisah.

Sayangnya para perancang perangkat lunak tidak diberi fasilitas seperti yang digambarkan diatas. Dengan sedikit pengecualian, tidak ada katalog komponen perangkat lunak. Memang memungkinkan. Memang memungkinkan untuk memesan perangkat lunak secara terpisah, tetapi tetap merupakan satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasangkan ke dalam program-program yang baru. Meskipun "penggunaan ulang perangkat lunak" telah banyak ditulis (contohnya [TRAS88],[MEY95]),namun kita tetap baru saja mulai melihat implementasi yang sukses dari komponen tersebut.

Subscribe to receive free email updates: