Skip to main content

Sub-system Development (Pengembangan Subsistem) Menurut Ian Sommerville

 Dalam proses pengembangan sub-sistem, sub-sistem yang telah diidentifikasi selama desain sistem akan diimplementasikan. Ini mungkin memerlukan inisiasi proses rekayasa sistem yang berbeda untuk setiap sub-sistem atau, jika sub-sistem adalah perangkat lunak, melibatkan proses perangkat lunak yang terdiri dari persyaratan, desain, implementasi, dan pengujian.

Gambar 1

Dalam proses pengembangan sistem, terkadang beberapa sub-sistem dibangun dari awal, namun lebih sering sub-sistem merupakan produk komersial yang tersedia di pasaran dan siap pakai (COTS) yang dibeli untuk diintegrasikan ke dalam sistem. Membeli produk COTS biasanya lebih murah daripada mengembangkan komponen khusus dari awal. Meskipun mungkin perlu melakukan aktivitas desain ulang untuk mengakomodasi produk yang dibeli. Ada kemungkinan bahwa produk COTS tidak sepenuhnya memenuhi persyaratan sistem, namun biaya untuk melakukan desain ulang biasanya sepadan dengan manfaatnya.

Sub-sistem biasanya dikembangkan secara paralel dan jika masalah terjadi yang melintasi batas sub-sistem, maka permintaan modifikasi pada sistem harus dilakukan. Apabila sistem yang dikembangkan melibatkan rekayasa perangkat keras yang kompleks, maka melakukan perubahan setelah produksi berjalan dapat sangat mahal. Oleh karena itu, seringkali harus dicari suatu "solusi" yang dapat mengkompensasi masalah tersebut. Solusi tersebut umumnya melibatkan perubahan pada perangkat lunak karena fleksibilitas perangkat lunak yang lebih mudah dalam melakukan perubahan. Inilah sebabnya mengapa penting untuk merancang perangkat lunak agar dapat menyesuaikan perubahan persyaratan yang diperlukan tanpa menimbulkan biaya tambahan yang berlebihan, seperti yang sudah dibahas pada pembahasan sebelumnya.



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

Personal And Team Process Models Menurut Roger S. Pressman

 Menurut penulis, sebuah proses perangkat lunak yang optimal adalah yang dapat disesuaikan dengan kebutuhan tim yang akan melaksanakan pekerjaan tersebut. Meskipun model proses perangkat lunak telah dibuat di tingkat perusahaan atau organisasi, namun untuk efektifitasnya hanya akan tercapai apabila dapat diadaptasi dengan signifikan untuk memenuhi kebutuhan tim proyek yang sebenarnya melaksanakan rekayasa perangkat lunak. Sebaiknya, proses yang dibuat haruslah yang paling cocok dengan kebutuhan tim dan organisasi secara menyeluruh. Atau, tim itu sendiri dapat membuat proses sesuai dengan kebutuhan individu mereka, namun tetap memenuhi kebutuhan organisasi secara keseluruhan. Watts Humphrey berpendapat bahwa membangun "personal software process" maupun "team software process" dapat dilakukan, meskipun memerlukan usaha, pelatihan, dan koordinasi yang sungguh-sungguh. 1.1 Personal Software Process (PSP) Semua pengembang perangkat lunak menggunakan suatu proses, meskipu...

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