Pada bagian sebelumnya, saya mengenalkan suatu model untuk menggambarkan proses rekayasa sistem yang menunjukkan sub-proses yang terlibat dalam pengembangan sistem. Meskipun demikian, pengembangan sistem bukanlah satu-satunya proses yang terlibat dalam rekayasa sistem. Ada interaksi dengan proses pengadaan sistem dan juga proses penggunaan serta operasionalisasi sistem. Ilustrasinya dapat dilihat pada Gambar 1.
Umumnya, pengadaan sistem terintegrasi ke dalam struktur organisasi yang akan menjadi pengguna dan pembeli sistem (disebut sebagai organisasi klien). Proses pengadaan sistem melibatkan pengambilan keputusan mengenai strategi yang paling optimal bagi organisasi untuk mendapatkan sistem yang dibutuhkan dan menentukan pemasok terbaik yang dapat menyediakan sistem tersebut.
Sistem yang kompleks dan besar umumnya terdiri dari kombinasi komponen yang telah siap pakai dan komponen yang dirancang khusus. Salah satu alasan mengapa penggunaan perangkat lunak semakin banyak dalam sistem ini adalah untuk memungkinkan penggunaan yang lebih luas dari komponen perangkat keras yang sudah ada, di mana perangkat lunak bertindak sebagai penghubung yang menggabungkan komponen perangkat keras ini agar dapat bekerja bersama secara efektif. Keberadaan "glueware" ini diperlukan karena adanya kebutuhan tersebut, dan seringkali penggunaan komponen siap pakai tidak menghasilkan penghematan sebesar yang diharapkan. Saya menjelaskan secara lebih detail tentang sistem COTS (Commercial Off-The-Shelf) ini di pembahasan berikutnya.
Pada Gambar 2 terlihat gambaran proses pengadaan, baik untuk sistem yang telah ada maupun sistem yang perlu dirancang khusus. Ada beberapa poin kunci yang perlu diperhatikan terkait proses yang tergambar dalam diagram ini, antara lain:
- Biasanya, komponen siap pakai tidak sepenuhnya sesuai dengan persyaratan yang ada kecuali jika persyaratan tersebut telah dipertimbangkan dengan memperhatikan komponen tersebut. Oleh karena itu, dalam memilih sistem, penting untuk menemukan kesesuaian yang paling dekat antara persyaratan sistem dengan fitur-fitur yang ditawarkan oleh sistem siap pakai tersebut. Dalam beberapa kasus, Anda mungkin perlu melakukan modifikasi pada persyaratan tersebut, dan hal ini dapat berdampak langsung pada sub-sistem lainnya.
- Ketika suatu sistem akan dibangun secara khusus, spesifikasi kebutuhan berperan sebagai landasan bagi kontrak pengadaan sistem. Oleh karena itu, dokumen tersebut memiliki karakteristik yang bersifat hukum dan teknis.
- Setelah pemilihan kontraktor untuk membangun sistem, terjadi periode negosiasi kontrak di mana Anda mungkin perlu bernegosiasi tentang perubahan persyaratan tambahan dan membahas isu-isu seperti biaya perubahan sistem.
Saya telah menguraikan tahap-tahap utama dari proses pengembangan sistem. Sistem yang kompleks umumnya dikembangkan oleh organisasi yang berbeda, yang disebut sebagai pemasok, dari organisasi yang membutuhkan sistem tersebut. Hal ini disebabkan oleh fakta bahwa dalam bisnis pengadaan, jarang terdapat organisasi yang memiliki kemampuan untuk mengembangkan sistem secara mandiri, terutama dalam kasus sistem yang kompleks. Karyawan dalam organisasi pengadaan biasanya tidak memiliki keterampilan yang diperlukan untuk mengembangkan sistem tersebut. Dalam kenyataannya, hanya sedikit organisasi yang memiliki kemampuan untuk merancang, memproduksi, dan menguji semua komponen sistem yang besar dan kompleks.
Kontraktor utama, yang sering disebut sebagai pemasok, memiliki kemampuan untuk mengontrakkan pengembangan sub-sistem yang berbeda kepada sejumlah sub-kontraktor. Dalam kasus sistem yang besar, seperti sistem kontrol lalu lintas udara, sekelompok pemasok dapat membentuk konsorsium untuk bersama-sama mengajukan penawaran kontrak. Konsorsium ini harus melibatkan berbagai kemampuan yang diperlukan untuk jenis sistem tersebut, seperti pemasok perangkat keras komputer, pengembang perangkat lunak, pemasok periferal, dan pemasok peralatan spesialis seperti radar.
Pada proses pengadaan, interaksi dilakukan dengan kontraktor utama daripada subkontraktor, sehingga terdapat satu antarmuka pengadaan/pemasok yang terlibat. Subkontraktor bertanggung jawab merancang dan membangun bagian-bagian sistem sesuai dengan spesifikasi yang telah ditetapkan oleh kontraktor utama. Setelah selesai, kontraktor utama akan mengintegrasikan berbagai komponen ini dan mengirimkannya kepada pelanggan yang membeli sistem tersebut. Tergantung pada kontrak yang ada, pihak pengadaan dapat memberikan keleluasaan kepada kontraktor utama untuk memilih subkontraktor secara bebas atau meminta kontraktor utama untuk memilih subkontraktor dari daftar yang telah disetujui.
Proses operasional melibatkan penggunaan sistem untuk mencapai tujuan yang telah ditetapkan. Sebagai contoh, operator dalam sistem kontrol lalu lintas udara mengikuti prosedur tertentu saat pesawat memasuki dan meninggalkan wilayah udara, mengubah ketinggian atau kecepatan, menghadapi situasi darurat, dan sebagainya. Dalam pengembangan sistem baru, proses operasional ini harus ditentukan dan didokumentasikan dengan jelas. Operator mungkin perlu menjalani pelatihan dan proses kerja yang ada perlu disesuaikan agar dapat menggunakan sistem baru secara efektif. Pada tahap ini, masalah yang tidak terdeteksi dapat muncul karena spesifikasi sistem mungkin mengandung kesalahan atau kekurangan. Meskipun sistem dapat berfungsi sesuai dengan spesifikasi, tetapi mungkin tidak memenuhi kebutuhan operasional yang sebenarnya. Oleh karena itu, operator tidak boleh mengandalkan sistem secara langsung seperti yang direncanakan oleh perancangnya.
Keuntungan utama memiliki individu di dalam suatu sistem adalah kemampuan mereka untuk merespons situasi yang tidak terduga dengan efektif, bahkan jika mereka belum pernah mengalami situasi tersebut secara langsung. Oleh karena itu, saat terjadi kesalahan, operator seringkali dapat mengatasi situasi tersebut, walaupun kadang-kadang ini berarti melanggar prosedur yang telah ditetapkan. Operator juga menggunakan pengetahuan lokal mereka untuk menyesuaikan dan meningkatkan proses. Secara umum, proses operasional yang sebenarnya seringkali berbeda dari apa yang direncanakan oleh perancang sistem.
Hal ini mengindikasikan bahwa perancang harus merancang proses operasional dengan fleksibilitas dan kemampuan beradaptasi. Proses operasional seharusnya tidak terlalu membatasi, tidak mengharuskan operasi dilakukan dalam urutan yang kaku, dan perangkat lunak sistem tidak boleh tergantung pada proses spesifik yang sedang berlangsung. Operator biasanya melakukan penyesuaian terhadap proses karena mereka mengetahui apa yang dapat dan tidak dapat berfungsi dalam situasi nyata.
Tantangan yang mungkin muncul setelah sistem beroperasi adalah integrasi sistem baru dengan sistem yang sudah ada. Hal ini bisa mengakibatkan masalah seperti ketidakcocokan fisik antara sistem-sistem tersebut, atau kesulitan dalam mentransfer data dari satu sistem ke sistem lainnya. Masalah yang lebih kompleks mungkin timbul akibat perbedaan antarmuka pengguna antara sistem-sistem yang berbeda. Pengenalan sistem baru juga dapat meningkatkan tingkat kesalahan operator dalam menggunakan sistem yang sudah ada, karena operator harus beralih antara perintah-perintah pada antarmuka pengguna yang berbeda.
Source: Sommerville, Ian. 2007. Software Engineering Eight Edition. s.l. : Addison-. Wisley, 2007.
Comments
Post a Comment