Apa perbedaan antara prototipe throwaway dan evolusioner?

12

Saya memiliki catatan tentang berbagai metode pembuatan prototipe, dan saya menemukan beberapa definisi di Internet, tetapi saya ingin mengkonfirmasi apa yang saya pelajari.

Saya mengerti bahwa pembuatan prototipe sekali pakai dikembangkan dari garis besar spesifikasi, berbagai prototipe dikirim dan dimodifikasi sampai klien puas dengan fungsinya.

Di sisi lain dan, prototipe evolusi dibangun dari persyaratan dasar yang dikumpulkan dari pengguna akhir. Prototipe awal disajikan kepada pengguna dan dievaluasi. Prototipe dimodifikasi berdasarkan umpan balik sampai klien puas.

Apakah ini benar? Apakah ada definisi yang lebih baik tentang pembuatan prototipe evolusioner?

Thomas Owens
sumber
2
Lebih sering daripada tidak tampaknya prototipe berkembang menjadi produk jadi. Belum pernah benar-benar mendengar tentang pelepasan versus evolusi sebelumnya.
itsmatt
1
Hai Mifas, maaf ini dimigrasikan, tetapi jika Anda mendapat definisi dari web, minta web untuk mengonfirmasi apakah definisi itu benar melingkar dan tidak benar-benar topik di sini.
1
@MarkTrapp Jika kita menghapus definisi, bisakah kita buka kembali? Baik definisi dalam postingan maupun jawaban yang ada salah dalam hal definisi formal frasa. Ada duplikat di Stack Overflow, tetapi tidak ada yang dapat saya temukan di sini dan saya pikir ini penting untuk, paling tidak, tidak menaruh lebih banyak informasi palsu di Internet.
Thomas Owens
@Mifas Jika Anda menghapus definisi, tidak ada isi pertanyaan, bukan? Jika Mifas mengikuti pertanyaan di sini dan memperbaruinya untuk menjelaskan apa yang dia coba lakukan yang membuatnya bertanya tentang definisi ini, itu akan menjadi pertanyaan yang sangat bagus.
1
@ Markus Fantastis. Terima kasih. Sedang mengerjakan jawaban saya sekarang.
Thomas Owens

Jawaban:

11

Kedua metode pembuatan prototipe digunakan ketika ada beberapa aspek dari sistem yang Anda tidak sepenuhnya mengerti. Namun, perbedaan utama adalah metodologi siklus hidup yang Anda gunakan. Dengan prototyping evolusioner, Anda biasanya memahami beberapa aspek sistem dan tidak yakin tentang yang lain. Dalam pembuatan prototipe sekali pakai, Anda memiliki kurangnya pemahaman umum yang perlu Anda selesaikan sebelum Anda dapat membangun sistem yang siap produksi.

Perhatikan bahwa ada banyak jenis prototipe sekali pakai, dan tidak ada yang terbatas pada keseluruhan sistem. Misalnya, menggunakan sketsa kertas atau papan tulis dari antarmuka pengguna dapat dianggap sebagai prototipe yang dibuang. Ya, Anda mungkin melalui beberapa iterasi dan membuang desain sebelumnya, tetapi Anda juga tidak akan menggunakan prototipe terakhir dalam sistem (itu secara fisik tidak mungkin, untuk satu).

Jika Anda tertarik pada topik rekayasa perangkat lunak umum dan luasnya SE, saya sangat menyarankan untuk mengambil buku Sommerville yang saya kutip. Sangat bagus untuk meliput topik yang luas. Jika Anda lebih tertarik pada model proses dan metodologi dan bagaimana Anda dapat menerapkannya pada berbagai proyek, saya akan merekomendasikan buku McConnell - buku ini memiliki seluruh bab yang ditujukan untuk prototipe evolusi dan bab lain yang dikhususkan untuk prototipe yang dibuang.

Saya juga melihat sekilas artikel Wikipedia tentang prototipe perangkat lunak . Beberapa bagiannya agak aneh (setidaknya pada bacaan cepat saya), tetapi tampaknya tidak ada sesuatu yang saya benar-benar tidak setuju. Beberapa di antaranya sedikit terfokus pada satu aspek tertentu, tetapi sebenarnya tidak salah kalau saya lihat. Saya lebih suka definisi di bawah ini, tetapi mungkin bacaan yang menarik tentang berbagai jenis prototipe.


Prototipe Evolusi

Pengembangan eksplorasi di mana tujuan proses adalah untuk bekerja dengan pelanggan untuk mengeksplorasi persyaratan mereka dan memberikan sistem akhir. Pengembangan dimulai dengan bagian-bagian sistem yang dipahami. Sistem berkembang dengan menambahkan fitur-fitur baru yang diusulkan oleh pelanggan. (Sommerville: Rekayasa Perangkat Lunak, Edisi 8)


Evolutionary Prototyping adalah model siklus hidup di mana sistem dikembangkan secara bertahap sehingga dapat dengan mudah diubah dalam menanggapi umpan balik pengguna dan pelanggan. Sebagian besar upaya prototyping evolusi dimulai dengan membuat prototipe antarmuka pengguna dan kemudian mengembangkan sistem yang sudah selesai dari itu, tetapi prototipe dapat dimulai dengan area berisiko tinggi apa pun. Evolutionary Prototyping tidak sama dengan Prototyping Throwaway, dan membuat pilihan yang tepat tentang apakah akan mengembangkan prototipe evolusi atau prototipe sekali pakai adalah salah satu kunci keberhasilan. Kunci sukses lainnya termasuk menggunakan pengembang yang berpengalaman, mengatur jadwal dan harapan anggaran, dan mengelola aktivitas pembuatan prototip itu sendiri. (McConnell: Pengembangan Cepat: Menjadwalkan Jadwal Perangkat Lunak Liar)


Prototyping Throwaway:

Throwaway prototyping adalah tempat tujuan dari proses pengembangan evolusi adalah untuk memahami kebutuhan pelanggan dan karenanya mengembangkan definisi persyaratan yang lebih baik untuk sistem. Prototipe berkonsentrasi pada percobaan dengan persyaratan pelanggan yang kurang dipahami. (Sommerville: Rekayasa Perangkat Lunak, Edisi 8)


Dengan Throwaway Prototyping, kode dikembangkan untuk mengeksplorasi faktor-faktor penting bagi keberhasilan sistem, dan kemudian kode itu dibuang. Implementasi prototyping menggunakan bahasa pemrograman atau praktik pengembangan atau keduanya yang jauh lebih cepat daripada bahasa dan praktik target. Antarmuka pengguna prototipe jauh lebih umum daripada bagian lain dari sistem, tetapi bagian lain dari beberapa sistem juga dapat memperoleh manfaat dari prototipe. Ketika digunakan sebagai persyaratan bantuan spesifikasi, praktik Prototyping Throwaway dapat mempercepat proyek berdasarkan model siklus hidup tradisional, seperti proyek DoD. Ini dapat dimulai pada level manajemen atau teknis. (McConnell: Pengembangan Cepat: Menjadwalkan Jadwal Perangkat Lunak Liar)

Thomas Owens
sumber
-2

Throwaway prototyping - dengan ini sebagian kecil dari sistem dikembangkan dan kemudian diberikan kepada pelanggan dan pengguna akhir untuk mencoba dan mengevaluasinya. Pengguna memberikan umpan balik yang dapat dengan cepat dimasukkan ke dalam pengembangan sistem utama

Evolutionary Prototyping - adalah model siklus hidup di mana Sistem dikembangkan secara bertahap sehingga dapat dengan mudah dimodifikasi untuk menanggapi pengguna akhir dan umpan balik Pelanggan

Samuel
sumber
1
Pertanyaan ini ditanyakan pada tahun 2011. Jawaban Anda tidak menambah banyak jawaban yang sudah diberikan.
Jan Doggen