Dalam suatu sistem, hubungan antara komponen-komponen yang kompleks menghasilkan properti yang merupakan properti dari sistem secara keseluruhan. Properti ini (menurut Checkland, 1981) tidak dapat dikaitkan dengan bagian tertentu dari sistem dan hanya muncul setelah komponen sistem terintegrasi. Beberapa sifat muncul tersebut dapat diturunkan langsung dari sifat sub-sistem yang sebanding, tetapi lebih sering dihasilkan dari hubungan timbal balik sub-sistem yang kompleks dan tidak dapat diturunkan dari sifat-sifat komponen sistem individual. Dalam Gambar 1, beberapa contoh sifat-sifat muncul tersebut ditunjukkan.
Terdapat dua tipe dari karakteristik yang muncul:
- Functional emergent properties, Properti ini muncul ketika semua komponen sistem bekerja bersama untuk mencapai tujuan tertentu. Sebagai contoh, setelah dirakit dari komponen-komponennya, sepeda memiliki sifat fungsional sebagai alat transportasi.
- Non-functional emergent properties, Properti non-fungsional, di sisi lain, terkait dengan bagaimana suatu sistem berperilaku di lingkungan di mana ia beroperasi. Contohnya termasuk kehandalan, performa, keselamatan, dan keamanan. Properti non-fungsional ini sangat penting bagi sistem berbasis komputer karena kegagalan untuk memenuhi standar minimum untuk setiap properti dapat menyebabkan sistem menjadi tidak berguna. Meskipun beberapa pengguna mungkin tidak memerlukan semua fungsi yang ada pada sistem, namun sistem yang tidak dapat diandalkan atau terlalu lambat akan ditolak oleh seluruh pengguna.
Untuk menggambarkan kompleksitas sifat-sifat yang muncul, perhatikan sifat keandalan sistem. Keandalan adalah konsep yang kompleks dan harus selalu dipertimbangkan pada tingkat sistem daripada pada tingkat komponen individu. Ketergantungan antara komponen dalam sistem dapat membuat kegagalan satu komponen menyebar ke seluruh sistem dan mempengaruhi kinerja komponen lain. Memprediksi konsekuensi kegagalan komponen dan dampaknya pada seluruh sistem seringkali sulit. Oleh karena itu, perkiraan yang akurat tentang keandalan sistem secara keseluruhan tidak dapat dibuat hanya dengan data keandalan komponen individu.
Terdapat tiga faktor yang memengaruhi keandalan sistem secara menyeluruh:
- Hardware reliability, Bagaimana kemungkinan terjadinya kegagalan pada komponen perangkat keras dan berapa lama waktu yang dibutuhkan untuk memperbaikinya?
- Software reliability, Bagaimana kemungkinan perangkat lunak menghasilkan output yang salah? Kegagalan pada perangkat lunak memiliki karakteristik yang berbeda dengan kegagalan pada perangkat keras, karena perangkat lunak tidak mengalami kerusakan secara fisik. Kegagalan pada perangkat lunak biasanya bersifat sementara sehingga sistem masih dapat beroperasi setelah menghasilkan output yang salah.
- Operator reliability, Berapa besar kemungkinan kesalahan dilakukan oleh operator sistem?
Semua aspek ini saling terkait erat. Kegagalan komponen perangkat keras dapat memicu munculnya sinyal-sinyal palsu yang di luar jangkauan input yang diharapkan oleh perangkat lunak. Sebagai akibatnya, perilaku sistem dapat menjadi tidak terduga. Kesalahan operator umumnya terjadi dalam situasi stres, seperti saat terjadi kegagalan sistem, yang dapat memperparah situasi dengan menekan perangkat keras dan menyebabkan lebih banyak kegagalan pada sistem. Oleh karena itu, kegagalan awal yang dapat diperbaiki dengan cepat dapat berkembang menjadi masalah yang serius dan memerlukan shutdown sistem secara keseluruhan.
Properti sistem seperti kinerja atau kegunaan sulit dinilai secara awal, tetapi dapat diukur setelah sistem berjalan. Namun, sifat lain seperti keselamatan dan keamanan menimbulkan masalah yang berbeda. Dalam hal ini, selain memperhatikan perilaku sistem yang diinginkan, juga perlu memperhatikan perilaku yang tidak diinginkan yang dapat terjadi pada sistem. Sebuah sistem yang aman harus dapat mencegah akses tidak sah ke data, meskipun tidak mungkin untuk memprediksi semua kemungkinan cara untuk mendapatkan akses dan secara eksplisit melarangnya. Oleh karena itu, untuk menilai sifat ini, Anda hanya dapat mengandalkan asumsi bahwa sistem tidak aman sampai terbukti sebaliknya dengan adanya pelanggaran keamanan.
Source: Sommerville, Ian. 2007. Software Engineering Eight Edition. s.l. : Addison-. Wisley, 2007.
Comments
Post a Comment