Skip to main content

Systems Engineering (Rekayasa Sistem) Menurut Ian Sommerville

 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

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:

Gambar 2

  1. 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.
  2. 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

Popular posts from this blog

Proses Perangkat Lunak Menurut Roger S. Pressman

Suatu proses adalah gabungan dari beberapa kegiatan, aksi, dan pekerjaan yang dikerjakan saat akan membuat beberapa produk. Setiap kegiatan memiliki tujuan yang luas (seperti komunikasi dengan pemangku kepentingan) dan diterapkan secara universal, tidak peduli pada domain aplikasi, ukuran proyek, kompleksitas usaha, atau tingkat ketelitian rekayasa perangkat lunak yang digunakan. Aksi (contohnya, desain arsitektur) mencakup rangkaian tugas yang menghasilkan produk utama (sebagai contoh, model desain arsitektural). Sebuah tugas berfokus pada tujuan yang kecil namun terdefinisi dengan baik (seperti melakukan pengujian unit) yang menghasilkan hasil yang konkret. Dalam dunia rekayasa perangkat lunak, suatu proses tidaklah berarti resep yang kaku untuk membuat perangkat lunak. Sebaliknya, proses ini merupakan pendekatan yang dapat disesuaikan yang memungkinkan tim pengembang perangkat lunak untuk memilih dan mengeksekusi serangkaian tindakan dan tugas yang sesuai. Tujuannya adalah untuk sel...

Extreme Programming (XP) Menurut Roger S. Pressman

 Untuk memberikan gambaran yang lebih rinci tentang proses agile, saya akan memaparkan Extreme Programming (XP), suatu pendekatan yang banyak digunakan dalam pengembangan perangkat lunak agile. Meskipun ide dan metode yang terkait dengan XP telah muncul pada akhir 1980-an, Kent Beck telah menulis secara ekstensif mengenai topik ini. Baru-baru ini, sebuah varian XP yang disebut Industrial XP (IXP) telah diajukan. IXP telah menyempurnakan XP dan dirancang untuk digunakan khusus dalam organisasi besar dengan proses yang lebih fleksibel. 1.1 XP Values Sebuah seperangkat lima nilai yang menjadi dasar bagi seluruh pekerjaan yang dilakukan dalam XP telah didefinisikan oleh Beck. Nilai-nilai ini mencakup communication, simplicity, feedback, courage, dan respect, dan masing-masing nilai ini digunakan sebagai motivasi dalam aktivitas, tindakan, dan tugas XP yang spesifik. XP menekankan pada kolaborasi yang erat namun tidak formal secara verbal untuk mencapai komunikasi yang efektif anta...

Other Agile Process Models (Model Process Agile Lainnya) Menurut Roger S. Pressman

 Sejarah pengembangan perangkat lunak telah dicatat dengan banyak deskripsi dan metodologi proses yang telah usang, alat-alat, dan teknologi, serta notasi pemodelan. Semua hal tersebut telah mencapai popularitasnya masing-masing sebelum akhirnya digantikan oleh yang baru dan lebih baik. Dalam upaya mencapai penerimaan di komunitas pengembangan perangkat lunak, berbagai agile process model telah diperkenalkan dan bersaing satu sama lain, mengikuti pola yang sama dengan gerakan sebelumnya. Sudah saya sampaikan pada bagian terakhir bahwa Extreme Programming (XP) merupakan agile process models yang paling sering digunakan. Meskipun demikian, terdapat banyak agile process models lain yang telah diusulkan dan diterapkan dalam berbagai industri. Beberapa model yang paling umum meliputi: Adaptive Software Development (ASD) Scrum Dynamic Systems Development Method (DSDM) Crystal Feature Drive Development (FDD) Lean Software Development (LSD) Agile Modeling (AM) Agile Unified Process (AUP) P...