Kegiatan rekayasa sistem meliputi penentuan, perancangan, implementasi, validasi, penyebaran, dan pemeliharaan sistem sosio-teknis. Insinyur sistem harus memperhatikan aspek perangkat keras dan interaksi sistem dengan pengguna serta lingkungannya, bukan hanya fokus pada perangkat lunak semata. Mereka harus mempertimbangkan layanan yang disediakan oleh sistem, kendala yang dihadapi dalam pembangunan dan operasionalisasi sistem, serta cara penggunaan sistem untuk mencapai tujuan. Sebagaimana telah dibahas, pemahaman tentang rekayasa sistem menjadi penting bagi insinyur perangkat lunak karena masalah yang muncul dalam rekayasa perangkat lunak seringkali berasal dari keputusan dalam rekayasa sistem (Thayer, 1997; Thayer, 2002).
Gambar 1 menunjukkan tahapan proses rekayasa sistem yang memiliki pengaruh yang signifikan pada model "waterfall" dari proses pengembangan perangkat lunak yang dijelaskan pada pembahasan sebelumnya.
Terdapat perbedaan yang signifikan antara proses rekayasa sistem dan proses pengembangan perangkat lunak:
- Limited scope for rework during system development (Cakupan terbatas untuk pengerjaan ulang selama pengembangan sistem). Setelah beberapa keputusan rekayasa sistem dibuat, seperti penempatan BTS dalam sistem ponsel, maka akan sangat mahal untuk mengubah keputusan tersebut. Maka dari itu, melakukan desain ulang sistem untuk memecahkan masalah tersebut jarang dilakukan. Oleh karena itu, perangkat lunak menjadi sangat penting dalam sistem karena perangkat lunak memungkinkan perubahan dilakukan selama pengembangan sistem, sebagai respons terhadap persyaratan baru.
- Interdisciplinary involvement (Keterlibatan interdisipliner). Rekayasa sistem melibatkan banyak disiplin ilmu teknik yang berbeda. Namun, ada potensi kesalahpahaman karena insinyur dari disiplin yang berbeda menggunakan terminologi dan konvensi yang berbeda pula.
Rekayasa sistem memerlukan kolaborasi antara tim yang terdiri dari berbagai latar belakang disiplin ilmu. Keterlibatan tim rekayasa sistem menjadi penting karena diperlukannya pengetahuan yang luas untuk mempertimbangkan semua implikasi dari keputusan desain sistem. Sebagai contoh, Gambar 2 menggambarkan beberapa disiplin ilmu yang mungkin terlibat dalam tim rekayasa sistem untuk sistem kontrol lalu lintas udara (ATC) yang menggunakan radar dan sensor lainnya untuk menentukan posisi pesawat.
Untuk banyak sistem, ada banyak kemungkinan pertukaran antara berbagai jenis sub-sistem. Dalam hal ini, berbagai disiplin ilmu bekerja sama untuk memutuskan bagaimana fungsionalitas harus disediakan. Namun, seringkali tidak ada keputusan yang 'tepat' tentang bagaimana suatu sistem harus didekomposisi. Sebaliknya, mungkin ada beberapa alternatif yang memungkinkan, tetapi sulit untuk memilih solusi teknis terbaik. Sebagai contoh, dalam sistem kontrol lalu lintas udara, salah satu alternatif adalah membangun radar baru daripada memperbaiki instalasi yang sudah ada. Jika insinyur sipil yang terlibat dalam proses ini tidak memiliki banyak pekerjaan lain, mereka mungkin lebih memilih alternatif ini karena memungkinkan mereka mempertahankan pekerjaan mereka. Dalam hal ini, mereka kemudian dapat menggunakan argumen teknis untuk merasionalisasi pilihan ini.
Source: Sommerville, Ian. 2007. Software Engineering Eight Edition. s.l. : Addison-. Wisley, 2007.
Comments
Post a Comment