Skip to main content

What Is A Software Process Model? (Apa Itu Model Proses Perangkat Lunak?) Menurut Ian Sommerville

 Dalam rekayasa perangkat lunak, model proses merupakan deskripsi yang singkat dari proses perangkat lunak secara keseluruhan. Model proses menyajikan pandangan menyeluruh mengenai proses perangkat lunak yang meliputi aktivitas, produk perangkat lunak, serta peran orang-orang yang terlibat dalam pengembangan perangkat lunak. Model proses perangkat lunak dapat dibuat dalam berbagai jenis, beberapa di antaranya termasuk:

  1. Workflow model. Dalam model ini, aktivitas yang harus dilakukan dalam proses ditunjukkan secara berurutan, termasuk input, output, dan ketergantungan di antara aktivitas-aktivitas tersebut. Setiap kegiatan dalam model mewakili tindakan manusia yang harus dilakukan dalam proses.
  2. Dataflow atau activity model. Dalam model ini, proses direpresentasikan sebagai serangkaian kegiatan yang masing-masing melakukan transformasi terhadap data. Model ini menunjukkan bagaimana input ke dalam proses, seperti spesifikasi, diubah menjadi output, seperti desain. Kegiatan yang terdapat dalam model ini dapat merepresentasikan transformasi yang dilakukan oleh manusia atau mesin.
  3. Role/action model. Dalam model ini, setiap aktivitas disajikan sebagai tanggung jawab orang tertentu yang terlibat dalam proses perangkat lunak.

Mayoritas model proses perangkat lunak berdasarkan tiga model umum atau paradigma pengembangan perangkat lunak:

  1. The waterfall approach. Dalam model paradigma fase, aktivitas yang disebutkan di atas dipecah menjadi fase-fase proses yang terpisah, seperti spesifikasi persyaratan, desain perangkat lunak, implementasi, pengujian, dan lainnya. Setelah setiap fase didefinisikan, itu ditandatangani dan pengembangan dilanjutkan ke fase berikutnya.
  2. Iterative development. Pendekatan ini menggabungkan aktivitas spesifikasi, pengembangan, dan validasi. Awalnya, sistem dibuat dengan cepat dari spesifikasi yang sangat abstrak. Kemudian, input dari pelanggan digunakan untuk meningkatkan sistem sehingga memenuhi kebutuhan mereka. Sistem tersebut dapat dikirimkan atau diimplementasikan ulang dengan pendekatan yang lebih terstruktur agar lebih kuat dan mudah dipelihara.
  3. Component-based software engineering (CBSE). Dalam pendekatan ini, diasumsikan bahwa sebagian dari sistem sudah ada sebelumnya. Proses pengembangan sistem berfokus pada mengintegrasikan bagian-bagian yang sudah ada daripada mengembangkan semuanya dari awal. CBSE dibahas secara lebih mendetail pada pembahasan berikutnya.



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