Skip to main content

System Modelling (Pemodelan Sistem) Menurut Ian Sommerville

 Ketika melakukan proses spesifikasi persyaratan dan desain sistem, mungkin berguna untuk memandang sistem sebagai kumpulan komponen dengan hubungan antar komponen. Untuk mengilustrasikan struktur ini, sering digunakan model arsitektur sistem yang menggambarkan organisasi sistem secara grafis dan memberikan gambaran umum kepada pembaca.

Anda dapat memodelkan arsitektur sistem dalam bentuk diagram blok yang terdiri dari sub-sistem utama dan interkoneksi antara sub-sistem tersebut. Dalam pembuatan diagram blok, setiap sub-sistem harus diwakili oleh persegi panjang dan dihubungkan dengan sub-sistem lain menggunakan panah. Tipe hubungan yang ditunjukkan dapat berupa aliran data, hubungan "penggunaan" atau "digunakan oleh", atau jenis ketergantungan lainnya.

Gambar 1

Sebagai ilustrasi, dalam Gambar 1, terdapat penguraian sistem alarm penyusup menjadi komponen-komponen utamanya. Untuk melengkapi diagram blok tersebut, setiap sub-sistem perlu diberikan deskripsi singkat, seperti yang tampak pada Gambar 2.

Gambar 2

Pada level rincian ini, sistem diuraikan menjadi satu set sub-sistem yang saling berhubungan. Setiap sub-sistem harus dijelaskan dengan cara yang sama sampai sistem dipecah menjadi komponen-komponen fungsional. Komponen fungsional adalah komponen yang dilihat dari sudut pandang subsistem, menyediakan fungsi tunggal, sedangkan sub-sistem biasanya memiliki fungsi yang beragam. Namun, dari perspektif lain, seperti dari produsen komponen, komponen fungsional itu sendiri dapat menjadi sebuah sistem dengan sendirinya.

Dalam sejarahnya, model arsitektur sistem digunakan untuk mengidentifikasi komponen perangkat keras dan perangkat lunak yang dapat dikembangkan secara simultan. Namun, perbedaan antara perangkat keras dan perangkat lunak menjadi semakin tidak signifikan. Hampir semua komponen sekarang dilengkapi dengan kemampuan komputasi tertanam. Sebagai contoh, mesin penghubung jaringan akan terdiri dari kabel fisik dan juga repeater dan gateway jaringan. Repeater dan gateway menyertakan prosesor dan perangkat lunak untuk menggerakkan prosesor tersebut, serta beberapa komponen elektronik khusus.

Untuk klasifikasi sub-sistem pada tingkat arsitektural, sekarang lebih baik mengkategorikan sub-sistem berdasarkan fungsinya sebelum membuat keputusan tentang trade-off antara perangkat keras atau perangkat lunak. Keputusan ini dapat dipengaruhi oleh faktor non-teknis seperti ketersediaan komponen siap pakai atau keterbatasan waktu yang tersedia untuk mengembangkan komponen tersebut.

Gambar 3

Model diagram blok dapat digunakan untuk menggambarkan struktur sistem dalam berbagai ukuran. Sebagai contoh, Gambar 3 memperlihatkan arsitektur sistem kontrol lalu lintas udara yang jauh lebih besar. Beberapa sub-sistem utama ditampilkan dalam model tersebut, mencakup seluruh sistem secara keseluruhan. Garis panah yang menghubungkan sub-sistem tersebut mengindikasikan arus informasi antar komponen tersebut.



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