Atılan ve evrimsel prototipler arasındaki farklar nelerdir?


12

Çeşitli prototipleme yöntemleri hakkında notlarım var ve internette birkaç tanım buldum, ancak öğrendiklerimi doğrulamak istiyorum.

Atma prototiplemesinin bir spesifikasyonun ana hatlarından geliştirildiğini, müşteri işlevselliğinden memnun olana kadar çeşitli prototiplerin teslim edildiğini ve değiştirildiğini anlıyorum .

Öte yandan ve evrimsel prototipler son kullanıcılardan toplanan temel gereksinimlerden oluşturulmuştur. İlk prototip kullanıcılara sunulur ve değerlendirilir. Prototip, müşteri tatmin olana kadar geri bildirime göre değiştirilir.

Bu doğru mu? Kullanılabilirlik ve evrimsel prototiplemenin daha iyi tanımları var mı?


2
Daha sıklıkla, prototipin bitmiş ürüne dönüştüğü görülmemektedir. Daha önce hiç evrim karşıtı bir şey duymadım.
itsmatt

1
Merhaba Mifas, bu taşındı üzgünüm, ama tanımlarınızı web'den aldıysanız, web'den tanımların doğru olup olmadığını onaylamasını istemek daireseldir ve burada gerçekten konu değildir.

1
@MarkTrapp Tanımları kaldırırsak yeniden açabilir miyiz? Hem yazıdaki tanımlar hem de mevcut cevap, ifadenin resmi tanımı açısından yanlıştır. Stack Overflow'da kopyalar var, ancak burada bulabileceğim hiçbir şey yok ve en azından İnternet'e daha fazla yanlış bilgi vermemenin gerekli olduğunu düşünüyorum.
Thomas Owens

@Mifas Eğer tanımları kaldırırsanız, sorunun bir bedeni yoktur, değil mi? Mifas buradaki soruyu takip edip ne yapmaya çalıştığını açıklamak için güncelleseydi, bu tanımları sormasını sağladı, bu çok iyi bir soru olurdu.

1
@Mark Fantastic. Teşekkürler. Şimdi cevabım üzerinde çalışıyorum.
Thomas Owens

Yanıtlar:


11

Her iki prototipleme yöntemi de, sistemin tamamen anlamadığınız bir yönü olduğunda kullanılır. Bununla birlikte, temel fark, kullandığınız yaşam döngüsü yöntemidir. Evrimsel prototiplemeyle, genellikle sistemin bazı yönlerini anlarsınız ve diğerlerinden emin olmazsınız. Kullanıma hazır prototiplemede, üretime hazır bir sistem oluşturmadan önce tamamlamanız gereken genel bir anlayış eksikliğiniz vardır.

Unutmayın ki bir çok çeşit prototipleme vardır ve hiçbiri tüm sistemle sınırlı değildir. Örneğin, bir kullanıcı arabiriminin kağıt veya beyaz tahta eskizlerinin kullanılması, atlamalı prototipleme olarak düşünülebilir. Evet, birkaç yinelemeden geçebilir ve önceki bir tasarımı atabilirsiniz, ancak aynı zamanda sistemdeki son prototipi kullanmazsınız (biri için fiziksel olarak mümkün değildir).

Genel yazılım mühendisliği konuları ve SE'nin genişliği ile ilgileniyorsanız, teklif ettiğim Sommerville kitabını almanızı şiddetle tavsiye ederim. Konuların genişliğini kapsamak için gerçekten iyi. Süreç modelleri ve metodolojileri ve bunları çeşitli projelere nasıl uygulayabileceğinizle daha fazla ilgileniyorsanız, McConnell kitabını öneriyorum - evrimsel prototipleme için ayrılmış bir bölümün ve kalıcı prototipleme için ayrılmış bir bölümün tamamı var.

Yazılım prototipleri hakkındaki Wikipedia makalesine de hızlıca baktım . Bazı bölümleri biraz garip (en azından hızlı okuduğumda), ancak düpedüz katılmadığım bir şey yok gibi görünüyor. Bazıları belirli bir yön üzerinde biraz odaklanmış, ama gördüğüm aslında yanlış değil. Aşağıdaki tanımları tercih ederim, ancak çeşitli prototip türlerinde ilginç bir okuma olabilir.


Evrimsel Prototipleme

Sürecin amacının, gereksinimlerini keşfetmek ve nihai bir sistem sunmak için müşteriyle birlikte çalışmak olduğu keşif geliştirme. Geliştirme, sistemin anlaşılan kısımlarıyla başlar. Sistem, müşteri tarafından önerilen yeni özellikler eklenerek gelişir. (Sommerville: Yazılım Mühendisliği, 8. Baskı)


Evrimsel Prototipleme, sistemin kademeli olarak geliştirildiği, son kullanıcı ve müşteri geri bildirimlerine yanıt olarak kolayca değiştirilebileceği bir yaşam döngüsü modelidir. Evrim-prototipleme çabalarının çoğu, kullanıcı arayüzünün prototiplenmesi ve daha sonra tamamlanmış sistemin bundan geliştirilmesiyle başlar, ancak prototipleme herhangi bir yüksek riskli alanla başlayabilir. Evrimsel Prototipleme, Throwaway Prototyping ile aynı değildir ve evrimsel bir prototip mi yoksa bir deneme prototipinin mi geliştirileceği konusunda doğru seçimi yapmak başarının anahtarıdır. Başarının diğer anahtarları arasında deneyimli geliştiricilerin kullanılması, program ve bütçe beklentilerinin yönetilmesi ve prototip faaliyetinin kendisinin yönetilmesi yer alır. (McConnell: Hızlı Geliştirme: Vahşi Yazılım Programlarını Taming)


Atma Yolu Prototiplemesi:

Throwaway prototipleme, evrimsel gelişim sürecinin amacının müşterinin gereksinimlerini anlamak ve böylece sistem için daha iyi bir gereksinim tanımı geliştirmektir. Prototip, iyi anlaşılmayan müşteri gereksinimlerini denemeye odaklanır. (Sommerville: Yazılım Mühendisliği, 8. Baskı)


Throwaway Prototyping ile kod, sistemin başarısı için kritik olan faktörleri keşfetmek için geliştirilir ve daha sonra bu kod atılır. Prototip oluşturma uygulaması, hedef dil ve uygulamalardan çok daha hızlı olan programlama dillerini veya geliştirme uygulamalarını veya her ikisini de kullanır. Kullanıcı arayüzü, sistemin diğer kısımlarından çok daha yaygın olarak prototiplenir, ancak bazı sistemlerin diğer kısımları da prototiplemeden yararlanabilir. Gereksinim belirtme yardımı olarak kullanıldığında, Throwaway Prototyping uygulaması, DoD projeleri gibi geleneksel yaşam döngüsü modellerine dayanan projeleri hızlandırabilir. Yönetim veya teknik düzeyde başlatılabilir. (McConnell: Hızlı Geliştirme: Vahşi Yazılım Programlarını Taming)


-2

Tek kullanımlık prototipleme - bununla sistemin küçük bir kısmı geliştirilir ve daha sonra müşterilere ve son kullanıcılara denemek ve değerlendirmek için verilir.

Evrimsel Prototipleme - Sistemin kademeli olarak geliştirildiği ve son kullanıcılara ve Müşteri geri bildirimlerine yanıt olarak kolayca değiştirilebileceği bir yaşam döngüsü modelidir


1
Bu soru 2011 yılında sorulmuştur. Cevabınız verilen cevaplara fazla bir şey eklememektedir.
Jan Doggen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.