Prototip geliştirme, gelişimin ilk aşaması olarak ne kadar yaygındır?


10

Son birkaç yarıyılda bazı yazılım tasarım dersleri alıyorum ve biçimciliğin birçok faydasını görürken, programın kendisi hakkında hiçbir şey söylemediğini hissediyorum:

  • Programın neler yapabileceğini tartışsa da, Programın Kullanım Durumu spesifikasyonundan nasıl çalışacağını söyleyemezsiniz.
  • Kalite gereksinimleri içermesine rağmen, kullanıcı deneyimi hakkında gereksinimler belgesinden hiçbir şey anlatamazsınız.
  • Sekans diyagramları, yazılımın çağrı yığını olarak nasıl çalıştığının iyi bir açıklamasıdır, ancak çok sınırlıdır ve genel sistemin oldukça kısmi bir görünümünü verir.
  • Sınıf diyagramları, sistemin nasıl kurulduğunu açıklamak için mükemmeldir, ancak yazılımın ne olması gerektiğini anlamanıza yardımcı olmak için tamamen işe yaramaz.

Sonuçta bu biçimciliğin neresinde: program nasıl görünüyor, çalışıyor ve nasıl bir deneyim sunuyor? Bundan tasarım yapmak daha anlamlı değil mi? Programın bir prototip aracılığıyla nasıl çalışması gerektiğini ve bunu gerçek anlamda uygulamak için nasıl çaba sarf etmesi daha iyi değil mi?

Muhtemelen teorisyenler tarafından mühendislik öğretilmekten acı çektiğimi biliyorum, ama şunu sormam gerekiyor, bunu sektörde yapıyorlar mı? İnsanlar programın gerçekte ne olduğunu, neye uyması gerektiğini nasıl anlar? İnsanlar çok fazla prototip mi yapıyorlar, yoksa çoğunlukla UML gibi resmi araçları kullanıyorlar mı ve henüz onları kullanmadım mı?


2
Okuduğumdan beri, yazılım geliştirmenin Kullanıcı Arayüzü kısmına çok odaklanmış görünüyorsunuz. Prototipler UI'leri geliştirmek ve iyileştirmek için mükemmeldir, çekirdek mantığı ortaya çıkarmak için çok fazla değil (hatta tam olarak uygulamanız gereken iş mantığının ne olduğunu bulmak için)
Anon.

1
Bir insan kullanıcı varsa, genellikle GUI vardır. GUI'nin neye benzemesi ve nasıl performans göstermesi tüm sistemin tasarımını etkileyecektir.
İş

Yanıtlar:


6

Bir GUI uygulaması oluşturuyorsak, neredeyse HER ZAMAN bir prototip veya POC (kavram kanıtı) oluştururuz. Uygulamanın görsel kelime dağarcığını oluşturacağız. Müşterilerimize genellikle POC aracılığıyla kısmen dahil oluyoruz ve amacın ne olduğunu ve neye odaklanmaları gerektiğini anladıklarından emin oluyoruz. Bir prototip ürettiğim için hiç üzgün olmadım. Sadece prototip kodunu üretim koduna dönüştürmeye çalışmadığınızdan emin olun, prototipten öğrendiklerinize dayanarak üretim kodunu sıfırdan başlatın.

Tüm bunları söyledikten sonra, sunucu tarafı uygulamalarını (hizmetler, ara katman yazılımı vb.) Neredeyse hiç prototiplemiyoruz. Bunun için yatırım getirisini gerçekten görmüyorum (yeni bir teknoloji yapmadıkça ve farklı kavramları kanıtlamanız gerekmedikçe).


+1 Şirket prototipim oldukça sık, ancak sadece GUI'lerde değil, aynı zamanda sunucu tarafında da yeni bir yaklaşımı araştırırken konsept kanıtı olarak.
Aralık'ta Orbling

6

İş dünyasında çok önemli

Ben de iş dünyasına çarpana kadar bunu düşünmek için kullanıyorum. O zaman sadece gereksinimleri alıp ilerleyip inşa edecek kadar basit değil.

Onun işinde kullanıcı "akış" diyagramları ve lo-fi prototip gerçekten mantıklı.

"Programın" nasıl işlediği muhtemelen kolay bir parçadır. LOB (İş Hattı) uygulamalarında, çoğu sadece CRUD'dir. Meydan yatıyor iş mantığı ve kuralları . Bu, etkili bir şekilde anlamak ve planlamak için kullanıcı akış şemaları ve iş süreci akışlarının son derece önemli hale geldiği yerdir.


1

Programın nasıl işlediği ile ne demek istiyorsun? Belirli nihai uygulamadan başka bir şeyde kesin uygulama ayrıntılarını arıyor gibi görünüyorsunuz ve bu da mantıklı değil. Daha yüksek seviyedeki öğelerin, uygulamaya karar vermesi değil, yönlendirmesi beklenir.

Deneyimlerime göre, prototip oluşturma biraz nadirdir. Kesinlikle şartname, gereksinimler, mimari, vb. İle bağlantılı olarak öğretildi ve çok yararlı olabilir.

"Yazılımın ne olması gerektiğine" gelince, bu gereksinimlerdir. Bütün noktayı kaçırmış görünüyorsunuz.

Arayüzler genellikle önceden çizilir ve arayüzler "akış" için kullanım senaryoları kullanılabilir. Kullanıcı deneyimi hiç eksik değil. Bir öğenin eksik olduğunu düşünüyorsanız, profesörlerinizin bahsetmediği başka bir şey yapın. Tasarım, gökten verilmiş açık bir kurallar dizisinden oluşmaz.


0

Benim kişisel gözlemim, prototiplemenin çok dudaklı bir hizmet vermesidir, ancak çoğu zaman prototip, yaşam belirtileri gösterdikten sonra, sadece 'Beta' veya daha da kötüsü v1.0 olarak yeniden markalanır.


+1 Çok doğru, prototip proje tamamlandığını duyurma eğiliminde olan pazarlama tarafından görülüyor.
Orbling

1
Bu, prototiplerinizi, prototip yapmayı reddetmemek için değil, mümkün olduğunca iyi hale getirmek için bir argüman.
Inaimathi

0

iki tür prototip vardır - üç, aslında:

  1. "gerçek" kodlamaya başlamadan önce tasarımı geliştirmek ve riskleri azaltmak için prototipler üretiyoruz (Mühendislik)

  2. projeyi bir dizi rafine prototip (Agile) olarak inşa ediyoruz

  3. bir prototip üretiyoruz ve çalışır çalışmaz (Kovboy)



0

Bir prototip, yapmanız gerekenin "yineleme 0" olarak da düşünülebilir. Birkaç şeyi yerine getirir:

  • Kavramın yapılabileceğini kanıtlıyor. Bu, patronunuza veya ücretli bir müşteriye olabilir.
  • Üretim gücüne ulaşmak zor olabilecek şeyleri tanımlamanıza ve size gereken iş miktarı hakkında genel bir fikir vermenize olanak tanır.
  • Aslında yapar koduna sahip bir şey . Bu son derece önemlidir!

Tamamen farklı bir yaklaşımın gerekli olduğunu düşünmedikçe, tüm prototipte yüksek olasılıkla nihai ürünü oluşturmak için yararlı olmalıdır.

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.