SDLC - Yazılım Prototip Modeli
Yazılım Prototipleme, geliştirilmekte olan ürünün işlevselliğini gösteren, ancak aslında orijinal yazılımın tam mantığını tutmayabilen yazılım uygulama prototipleri oluşturmayı ifade eder.
Yazılım prototipleme, müşteri gereksinimlerini geliştirmenin erken bir aşamasında anlamayı sağladığı için bir yazılım geliştirme modeli olarak çok popüler hale geliyor. Müşteriden değerli geri bildirimler alınmasına yardımcı olur ve yazılım tasarımcılarının ve geliştiricilerinin, geliştirilmekte olan üründen tam olarak ne beklendiğini anlamalarına yardımcı olur.
Yazılım Prototipleme nedir?
Prototip, bazı sınırlı işlevselliğe sahip çalışan bir yazılım modelidir. Prototip, her zaman gerçek yazılım uygulamasında kullanılan mantığı tam olarak tutmaz ve çaba tahmini altında dikkate alınması gereken ekstra bir çabadır.
Prototipleme, kullanıcıların geliştirici tekliflerini değerlendirmesine ve uygulamadan önce denemesine olanak sağlamak için kullanılır. Ayrıca, kullanıcıya özgü olan ve ürün tasarımı sırasında geliştirici tarafından dikkate alınmamış olabilecek gereksinimleri anlamaya yardımcı olur.
Aşağıda, bir yazılım prototipi tasarlamak için açıklanan aşamalı bir yaklaşım yer almaktadır.
Temel Gereksinim Tanımlaması
Bu adım, özellikle kullanıcı arayüzü açısından en temel ürün gereksinimlerini anlamayı içerir. İç tasarımın daha karmaşık ayrıntıları ve performans ve güvenlik gibi dış unsurlar bu aşamada göz ardı edilebilir.
İlk Prototipin Geliştirilmesi
İlk Prototip, çok temel gereksinimlerin sergilendiği ve kullanıcı arayüzlerinin sağlandığı bu aşamada geliştirilir. Bu özellikler, geliştirilen gerçek yazılımda dahili olarak tam olarak aynı şekilde çalışmayabilir. Geliştirilen prototipte müşteriye aynı görünümü ve hissi vermek için geçici çözümler kullanılır.
Prototipin İncelenmesi
Geliştirilen prototip daha sonra müşteriye ve projedeki diğer önemli paydaşlara sunulur. Geri bildirim, organize bir şekilde toplanır ve geliştirilmekte olan üründe daha fazla iyileştirme için kullanılır.
Prototipi Gözden Geçirin ve Geliştirin
Geri bildirim ve inceleme yorumları bu aşamada tartışılır ve müşteriyle zaman ve bütçe kısıtlamaları ve fiili uygulamanın teknik fizibilitesi gibi faktörlere dayalı olarak bazı görüşmeler yapılır. Kabul edilen değişiklikler, geliştirilen yeni Prototipe yeniden dahil edilir ve müşteri beklentileri karşılanana kadar döngü tekrarlanır.
Prototiplerin yatay veya dikey boyutları olabilir. Yatay prototip, ürün için kullanıcı arayüzünü görüntüler ve dahili işlevlere yoğunlaşmadan tüm sistemin daha geniş bir görünümünü verir. Diğer taraftaki bir Dikey prototip, üründeki belirli bir işlevin veya bir alt sistemin ayrıntılı bir detaylandırmasıdır.
Hem yatay hem de dikey prototipin amacı farklıdır. Yatay prototipler, kullanıcı arayüzü seviyesi ve iş gereksinimleri hakkında daha fazla bilgi almak için kullanılır. Piyasada iş yapmak için satış demolarında bile sunulabilir. Dikey prototipler doğası gereği tekniktir ve alt sistemlerin tam olarak işleyişinin ayrıntılarını almak için kullanılır. Örneğin, belirli bir alt sistemde veritabanı gereksinimleri, etkileşim ve veri işleme yükleri.
Yazılım Prototipleme - Türler
Endüstride kullanılan farklı yazılım prototipleri vardır. Yaygın olarak kullanılan başlıca yazılım prototip türleri aşağıdadır -
Atış / Hızlı Prototipleme
Kullanılmayan prototipleme, hızlı veya yakın uçlu prototipleme olarak da adlandırılır. Bu tür bir prototipleme, bir prototip oluşturmak için minimum gereksinim analizi ile çok az çaba harcar. Gerçek gereksinimler anlaşıldıktan sonra, prototip atılır ve gerçek sistem, kullanıcı gereksinimlerinin çok net bir şekilde anlaşılmasıyla geliştirilir.
Evrimsel Prototipleme
Aynı zamanda breadboard prototiplemesi olarak da adlandırılan evrimsel prototipleme, başlangıçta minimum işlevsellik ile gerçek işlevsel prototipler oluşturmaya dayanır. Geliştirilen prototip, tüm sistemin üzerine inşa edildiği gelecekteki prototiplerin kalbini oluşturur. Evrimsel prototipleme kullanılarak, iyi anlaşılmış gereksinimler prototipe dahil edilir ve gereksinimler anlaşıldıkça eklenir.
Artımlı Prototipleme
Artımlı prototip oluşturma, çeşitli alt sistemlerin birden çok işlevsel prototipini oluşturmayı ve ardından mevcut tüm prototipleri eksiksiz bir sistem oluşturmak için entegre etmeyi ifade eder.
Aşırı Prototipleme
Web geliştirme alanında aşırı prototipleme kullanılır. Üç ardışık aşamadan oluşur. İlk olarak, mevcut tüm sayfalarla birlikte temel bir prototip HTML formatında sunulur. Daha sonra veri işleme, bir prototip hizmetleri katmanı kullanılarak simüle edilir. Son olarak, hizmetler uygulanmakta ve nihai prototipe entegre edilmektedir. Bu sürece Ekstrem Prototipleme adı verilir ve bu işlemin ikinci aşamasına dikkat çekmek için kullanılır, burada gerçek hizmetler çok az dikkate alınarak tamamen işlevsel bir kullanıcı arayüzü geliştirilir.
Yazılım Prototipleme - Uygulama
Yazılım Prototipleme, çevrimiçi sistemler gibi yüksek düzeyde kullanıcı etkileşimlerine sahip sistemlerin geliştirilmesinde en yararlıdır. Kullanıcıların, veriler işlenmeden önce formları doldurmasını veya çeşitli ekranlardan geçmesini gerektiren sistemler, gerçek yazılım geliştirilmeden önce bile tam görünüm ve his vermek için prototiplemeyi çok etkili bir şekilde kullanabilir.
Çok fazla veri işleme içeren ve işlevselliğin çoğu çok az kullanıcı arayüzü ile dahili olan yazılımlar genellikle prototiplemeden fayda sağlamaz. Prototip geliştirme, bu tür projelerde fazladan bir yük olabilir ve çok fazla çaba gerektirebilir.
Yazılım Prototipleme - Artıları ve Eksileri
Tipik durumlarda yazılım prototipleme kullanılır ve kararın çok dikkatli bir şekilde alınması gerekir, böylece prototipi oluşturmak için harcanan çabalar geliştirilen nihai yazılıma önemli bir değer katar. Modelin aşağıda tartışılan kendi artıları ve eksileri vardır.
Prototipleme Modelinin avantajları aşağıdaki gibidir -
Uygulamadan önce bile ürüne artan kullanıcı katılımı.
Sistemin çalışan bir modeli gösterildiğinden, kullanıcılar geliştirilmekte olan sistemi daha iyi anlarlar.
Kusurlar çok daha erken tespit edilebildiği için zamanı ve maliyeti azaltır.
Daha iyi çözümlere yol açan daha hızlı kullanıcı geri bildirimi mevcuttur.
Eksik işlevsellik kolayca belirlenebilir.
Kafa karıştırıcı veya zor işlevler tanımlanabilir.
Prototipleme Modelinin Dezavantajları aşağıdaki gibidir -
Prototipe çok fazla bağımlılık nedeniyle yetersiz gereksinim analizi riski.
Kullanıcılar prototiplerde ve gerçek sistemlerde kafaları karışabilir.
Pratik olarak, bu metodoloji, sistemin kapsamı orijinal planların ötesine geçebileceği için sistemin karmaşıklığını artırabilir.
Geliştiriciler, teknik olarak uygun olmasa bile gerçek sistemi oluşturmak için mevcut prototipleri yeniden kullanmayı deneyebilirler.
Düzgün bir şekilde izlenmezse, prototip oluşturmaya harcanan çaba çok fazla olabilir.