Yazılım Mühendisliğinde Prototip Model
Prototipleme Modeli Nedir?
Prototipleme Modeli Kabul edilebilir bir prototip elde edilene kadar prototipin oluşturulduğu, test edildiği ve yeniden çalışıldığı bir yazılım geliştirme modelidir. Aynı zamanda nihai sistem veya yazılımın üretilmesi için temel oluşturur. Projenin gereksinimlerinin ayrıntılı olarak bilinmediği senaryolarda en iyi sonucu verir. Geliştirici ve müşteri arasında gerçekleşen yinelemeli, deneme yanılma yöntemidir.
Prototipleme Model Aşamaları
Prototipleme Modeli aşağıdaki gibi altı SDLC aşamasından oluşur:
Adım 1: Gereksinimlerin toplanması ve analizi
Prototipleme modeli gereksinim analiziyle başlar. Bu aşamada sistemin gereksinimleri ayrıntılı olarak tanımlanır. Süreç içerisinde sistem kullanıcılarıyla görüşmeler yapılarak sistemden beklentilerinin ne olduğu öğrenilir.
Adım 2: Hızlı tasarım
İkinci aşama ön tasarım veya hızlı tasarımdır. Bu aşamada sistemin basit bir tasarımı oluşturulur. Ancak bu tam bir tasarım değildir. Kullanıcıya sistem hakkında kısa bir fikir verir. Hızlı tasarım prototipin geliştirilmesine yardımcı olur.
3. Adım: Bir Prototip Oluşturun
Bu aşamada, hızlı tasarımdan elde edilen bilgilere dayanarak gerçek bir prototip tasarlanır. Gerekli sistemin küçük bir çalışma modelidir.
4. Adım: İlk kullanıcı değerlendirmesi
Bu aşamada önerilen sistem ilk değerlendirme için müşteriye sunulur. Çalışma modelinin güçlü ve zayıf yönlerini bulmaya yardımcı olur. Yorum ve öneri müşteriden toplanır ve geliştiriciye sunulur.
Adım 5: Prototipin iyileştirilmesi
Kullanıcı mevcut prototipten memnun değilse, prototipi kullanıcının geri bildirimlerine ve önerilerine göre hassaslaştırmanız gerekir.
Bu aşama, kullanıcı tarafından belirlenen tüm gereksinimler karşılanana kadar sona ermeyecektir. Kullanıcı geliştirilen prototipten memnun kaldığında, onaylanan son prototipe dayalı olarak nihai bir sistem geliştirilir.
Adım 6: Ürünü Uygulayın ve Bakım Yapın
Nihai sistem, nihai prototipe dayalı olarak geliştirildikten sonra kapsamlı bir şekilde test edilir ve üretime alınır. Sistem, arıza sürelerini en aza indirmek ve büyük ölçekli arızaları önlemek için rutin bakıma tabi tutulur.
Prototipleme Model Türleri
Dört tip Prototipleme modeli şunlardır:
- Hızlı Atılabilir prototipler
- Evrimsel prototip
- Artımlı prototip
- Aşırı prototip
Hızlı Atılabilir Prototip
Hızlı atma ön şarta dayanmaktadır. Gereksinimin görsel olarak nasıl görüneceğini göstermek için hızlı bir şekilde geliştirilir. Müşterinin geri bildirimi, gereksinimde değişiklik yapılmasına yardımcı olur ve gereksinim temel alınana kadar prototip yeniden oluşturulur.
Bu yöntemde geliştirilen bir prototip atılacak ve nihai olarak kabul edilen prototipin bir parçası olmayacaktır. Bu teknik, fikirleri keşfetmek ve müşteri gereksinimlerine yönelik anında geri bildirim almak için kullanışlıdır.
Evrimsel Prototipleme
Burada geliştirilen prototip, nihai olarak kabul edilene kadar müşteri geri bildirimlerine göre aşamalı olarak geliştirilir. Zamandan ve emekten tasarruf etmenize yardımcı olur. Bunun nedeni, sürecin her etkileşimi için sıfırdan bir prototip geliştirmenin bazen çok sinir bozucu olabilmesidir.
Bu model, iyi anlaşılmayan yeni bir teknoloji kullanan bir proje için faydalıdır. Ayrıca, her işlevselliğin bir kez kontrol edilmesi gereken karmaşık bir proje için de kullanılır. Gereksinim sabit olmadığında veya ilk aşamada açıkça anlaşılmadığında faydalıdır.
Artımlı Prototipleme
Artımlı Prototiplemede, nihai ürün farklı küçük prototiplere bölünür ve ayrı ayrı geliştirilir. Sonunda farklı prototipler tek bir üründe birleştirilir. Bu yöntem, kullanıcı ile uygulama geliştirme ekibi arasındaki geri bildirim süresinin azaltılmasına yardımcı olur.
Ekstrem Prototipleme
Extreme prototipleme yöntemi çoğunlukla web geliştirme için kullanılır. Birbirini takip eden üç aşamadan oluşur.
- Temel prototip mevcut tüm sayfalarla birlikte HTML formatında mevcuttur.
- Prototip hizmetleri katmanını kullanarak veri sürecini simüle edebilirsiniz.
- Hizmetler uygulanır ve nihai prototipe entegre edilir.
Prototiplemenin En İyi Uygulamaları
Prototip oluşturma sürecinde dikkat etmeniz gereken birkaç şey:
- Gereksinimler belirsiz olduğunda Prototiplemeyi kullanmalısınız
- Prototiplemenin planlı ve kontrollü yapılması önemlidir.
- Düzenli toplantılar, projeyi zamanında sürdürmek ve maliyetli gecikmeleri önlemek için hayati öneme sahiptir.
- Kullanıcılar ve tasarımcılar prototip oluşturma sorunlarının ve tuzaklarının farkında olmalıdır.
- Çok erken bir aşamada, bir prototipi onaylamanız ve ancak bundan sonra ekibin bir sonraki adıma geçmesine izin vermeniz gerekir.
- Yazılım prototipleme yönteminde, yeni fikirlerin uygulanması gerekiyorsa daha önceki kararları değiştirmekten asla korkmamalısınız.
- Her versiyon için uygun adım boyutunu seçmelisiniz.
- Önemli özellikleri erkenden uygulayın, böylece zamanınız tükense bile hala değerli bir sisteminiz olur
Prototipleme Modelinin Avantajları
Prototipleme modellerini kullanmanın önemli artıları/faydaları şunlardır:
- Kullanıcılar geliştirme sürecine aktif olarak katılırlar. Bu nedenle yazılım geliştirme sürecinin ilk aşamasında hatalar tespit edilebilir.
- Eksik işlevsellik tespit edilebilir ve bu, Prototip Oluşturma aynı zamanda bir risk azaltma faaliyeti olarak kabul edildiğinden başarısızlık riskinin azaltılmasına yardımcı olur.
- Ekip üyesinin etkili iletişim kurmasına yardımcı olur
- Müşteri memnuniyeti, müşterinin ürünü çok erken bir aşamada hissedebilmesi nedeniyle mevcuttur.
- Yazılımın reddedilme şansı neredeyse hiç olmayacak.
- Daha hızlı kullanıcı geri bildirimi, daha iyi yazılım geliştirme çözümleri elde etmenize yardımcı olur.
- İstemcinin, yazılım kodunun yazılım spesifikasyonuyla eşleşip eşleşmediğini karşılaştırmasına olanak tanır.
- Sistemdeki eksik işlevleri bulmanıza yardımcı olur.
- Ayrıca karmaşık veya zor fonksiyonları da belirler.
- Yenilikçiliği ve esnek tasarımı teşvik eder.
- Basit bir model olduğundan anlaşılması kolaydır.
- Modeli oluşturmak için uzman uzmanlara gerek yok
- Prototip, bir sistem spesifikasyonunun türetilmesi için bir temel görevi görür.
- Prototip, müşterinin ihtiyaçlarının daha iyi anlaşılmasına yardımcı olur.
- Prototipler değiştirilebilir ve hatta atılabilir.
- Bir prototip aynı zamanda operasyonel spesifikasyonların temelini oluşturur.
- Prototipler, yazılım sisteminin gelecekteki kullanıcılarına erken eğitim sunabilir.
Prototipleme Modelinin Dezavantajları
Burada prototip oluşturma modelinin önemli eksileri/dezavantajları verilmiştir:
- Prototipleme yavaş ve zaman alan bir süreçtir.
- Bir prototip geliştirmenin maliyeti tamamen israftır, çünkü prototip en sonunda çöpe atılır.
- Prototip oluşturma aşırı değişiklik taleplerini teşvik edebilir.
- Bazı durumlarda müşteriler yineleme döngüsüne daha uzun süre katılmaya istekli olmayabilir.
- Prototipin müşteri tarafından her değerlendirilmesinde yazılım gereksinimlerinde çok fazla değişiklik olabilir.
- Müşterilerin gereksinimleri değiştiği için yetersiz dokümantasyon.
- Yazılım geliştiricilerin müşterilerin talep ettiği tüm değişikliklere uyum sağlaması çok zordur.
- Müşteriler, erken prototip modeli gördükten sonra asıl ürünün kendisine yakın zamanda teslim edileceğini düşünebilirler.
- Müşteri, ilk prototipten memnun olmadığında nihai ürüne olan ilgisini kaybedebilir.
- Hızlı bir şekilde prototip oluşturmak isteyen geliştiriciler standartların altında geliştirme çözümleri oluşturmak zorunda kalabilir.
ÖZET
- Yazılım Mühendisliğinde Prototip metodolojisi, bir prototipin oluşturulduğu, test edildiği ve daha sonra kabul edilebilir bir prototip elde edilene kadar gerektiğinde yeniden çalışıldığı bir yazılım geliştirme modelidir.
- 1) Gereksinimlerin toplanması ve analizi, 2) Hızlı tasarım, 3) Prototipin oluşturulması, 4) İlk kullanıcı değerlendirmesi, 5) Prototipin iyileştirilmesi, 6) Ürünün Uygulanması ve Bakımı; prototip oluşturma sürecinin 6 adımıdır
- Prototipleme modellerinin türleri şunlardır: 1) Hızlı Atılabilir prototipler 2) Evrimsel prototip 3) Artımlı prototip 4) Ekstrem prototip
- Projeyi zamanında tutmak ve prototip oluşturma yaklaşımında maliyetli gecikmeleri önlemek için düzenli toplantılar şarttır.
- Eksik işlevsellik belirlenebilir; bu, prototip oluşturmanın aynı zamanda SDLC'de bir risk azaltma faaliyeti olarak kabul edilmesi nedeniyle başarısızlık riskinin azaltılmasına yardımcı olur.
- Prototip oluşturma aşırı değişiklik taleplerini teşvik edebilir.