Bilgisayar bilimlerinde, gereksinim analizi ya da gereksinim çözümleme; çeşitli sistemlerin gerekliliklerini ve olası çelişkili durumlarını göz önüne alarak, yazılımı analiz etmek, belgelemek, doğrulamak ve yönetmek için yeni veya değiştirilmiş bir ürün üzerinde projenin ihtiyaçlarını, sistem gereksinimlerini ve koşullarını belirleyen görevleri kapsamaktadır.
Gereksinim analizi; bir sistem veya yazılım projesinin başarısı veya başarısızlığı açısından kritik önem taşır. İhtiyaçların belgelenmesi, uygulanabilir olması, ölçülebilir olması, test edilebilir formda olması, izlenebilir olması ve belirlenen işletmenin ihtiyaçlarına uygun olması gerekir.
Genel bakış
Kavramsal olarak, gereksinim analizi üç tür etkinlik içermektedir:
- İhtiyaçların ortaya çıkarılması: İş süreci dokümantasyonu ve grup görüşmeleri sağlanarak ihtiyaçları belirlemektir. Buna bazen ihtiyaç toplama veya gereksinim keşfi de denir.
- İhtiyaç analizi: Belirtilen gerekliliklerin açık, eksiksiz, tutarlı, net olup olmadığını belirleme ve belirlenen çelişkileri çözme.
- Kayıt gereksinimleri: Gereksinimler, genellikle bir özet listesi içeren çeşitli formlarda belgelenebilir.Doğal dil belgeleri, kullanım örnekleri, kullanıcı hikâyeleri, süreç özellikleri ve veri modelleri de dahil olmak üzere çeşitli modeller oluşturulabilir.
Gereksinim analizi, pek çok hassas psikolojik becerinin katıldığı uzun ve yorucu bir süreç olabilir. Büyük sistemler, yüzlerce veya binlerce sistem gereksinimi açığa çıkararak analistlerin iş yükünü artırabilir. Yeni sistemler, ortamları ve insanlar arasındaki ilişkileri değiştirir, bu nedenle geliştiricilerin tüm ortamları tanımlamalarını, tüm ihtiyaçları göz önünde bulundurmalarını ve yeni sistemlerin etkilerini anlamalarını sağlamak önemlidir.Analistler, müşterinin gereksinimlerini ortaya çıkarmak için çeşitli teknikler kullanabilirler. Bunlar, senaryoların geliştirilmesi, kullanım durumlarının belirlenmesi, işyeri gözlemi, etnografi kullanılması, röportajlar düzenlenmesi veya gözden geçirme oturumları yapmak gibi yöntemleri içermektedir.Ve böylelikle gereksinim listeleri oluşturulabilir.Prototip belirleme yöntemi, proje sunulacak şahıs ya da kuruma örnek olarak gösterilebilecek bir sistem maksadıyla kullanılabilir. Analist, gerekirse, şahıs ya da kurumların kesin gereksinimlerini belirlemek için bu yöntemlerin bir kombinasyonunu kullanır ve böylece işletme ihtiyaçlarını karşılayan bir sistem üretilir.Gereksinim kalitesi aşağıdaki bazı yöntemlerle iyileştirilebilir:
- Görselleştirme: Görselleştirme ve simülasyon gibi teknikler kullanılarak arzu edilen nihai ürünün daha iyi anlaşılmasını teşvik etmek.
- Şablonların tutarlı kullanımı: Gereksinimleri belgeleyen tutarlı bir dizi model ve şablon üretmek.
- Bağımlılıkları belgelemek: Gereksinimler arasındaki bağımlılıkları ve ilişkileri belgelemek.Ayrıca ek olarak bu bağımlılıklara ilişkin varsayımlar üretmek de sayılabilir.
Gereksinim çözümleme başlıkları
Gereksinim analizi konuları kabaca şöyle listelenebilir:
Kitlenin kimliği
Yazılım geliştirilecek kitlenin belirlenmesidir.Bununla beraber kitlenin niteliksel ya da niceliksel özelliklerinin belirlenmesi konusu da oldukça önemlidir.Bu kitle şunları kapsayabilir:
- Sistemi işletmecisi olan herkes.
- Sistemden yararlanan herkes.(işlevsellik açısından ya da politik, finansal ve sosyal yönlerden)
- Sistemi satın alan ya da satın almak üzere ilgilenen herkes.
- Sistemin özelliklerini düzenleyen kuruluşlar. (finansal, güvenlik vb. kurumları)
- Sisteme karşı görüşlü insanlar veya kuruluşlar. (olumsuz düşünen kitle)
Kitle ile görüşmeler
Hedef kitle ile görüşmeler, gereksinim analizinde kullanılan yaygın bir tekniktir.Kitlenin bakış açılarına ve belirlenen ihtiyaçlarına odaklanılır.Yazılım geliştirecek ekibin, kitlenin ait olduğu sistemi önceden etraflıca analiz etmesi gerekmektedir.Çünkü bu görüşmelerde, genellikle geliştiricinin ilgili çalışma sahasının yaşam döngüsü hakkındaki bilgi yetersizliğinden ve buna paralel olarak kitlenin de teknik bilgi yetersizliğinden kaynaklı sorunlar çıkmaktadır.Bunu önleyebilmek için etkili iletişim teknikleri kullanılmalıdır.
Müşterek gereksinim geliştirme oturumları
Bu oturumlarda yazılım geliştirme sürecinde iş analisti(business analyst) kullanılır.Böylelikle kolaylıkla kitlenin gereksinimleri ortaya çıkarılır, ayrıntıları analiz edilir ve işlevler arası etkileri ortaya çıkarmak için tartışmalara girilir.Bu analist tarafından kontrollü bir ortamda yürütülür.Böylelikle müşterek gereksinim geliştirme oturumları sağlanabilir.Tartışmayı belgelemek ve oturumun hedefini karşılayan uygun şartları sağlamak için tartışmayı yönetmek üzere iş analistinin düşüncelerinden bağımsız özel bir yazar bulunmalıdır.
Sözleşme tarzı gereksinim listeleri
İhtiyaçların belgelendirilmesinin geleneksel yolu, sözleşme tarzı gereksinim listeleridir. Karmaşık bir sistemde, bu tür gereksinim listeleri yüzlerce sayfaya kadar sürebilir.
İfade yerindeyse, bu liste adeta uzun bir alışveriş listesi gibidir.Modern analiz yöntemlerinde bu tür listeler çok fazla avantajlı değildir.Çünkü amaçlarına ulaşmada başarısız oldukları görülmüştür.Buna rağmen, bu teknik günümüze kadar gelebilmiştir
Prototipler
Bir prototip, başka bir bilgisayar programının özelliklerinin bir bölümünü sergileyen ve henüz oluşturulmamış bir uygulamayı görselleştiren bilgisayar programıdır. Popüler bir prototip biçimi, gelecekteki kullanıcıların ve diğer kitlenin sistemin nasıl görüneceği konusunda fikir sahibi olmalarına yardımcı olan bir taklit uygulamasıdır. Prototipler, tasarım kararlarını kolaylaştırır, çünkü uygulamanın geleceği, uygulama oluşturulmadan önce görülebilir ve paylaşılabilir. Kullanıcılar ve geliştiriciler arasındaki iletişimde büyük gelişmeler genellikle prototiplerin tanıtımından sonra görülmüştür.Geliştirilme aşamasından önce, uygulamalar hakkında belirtilen hedef kitle görüşleri sayesinde verimlilik artmıştır.Bu ise, daha az değişiklik ve dolayısıyla daha düşük maliyet anlamına gelmektedir.
Kullanım örnekleri
Bir kullanım örneği, ister özgün bir çalışma, ister sonradan değiştirilmiş olsun, genellikle yazılım içeren bir sistemin işlevsel gereksinimlerini belgeleyen bir yapıdır. Her kullanım örneği, belirli bir iş hedefine ulaşmak için sistemin bir insan kullanıcısı veya başka bir sistemle nasıl etkileşim kuracağını anlatan bir dizi senaryo sağlar. Kullanım örnekleri genellikle teknik ifade biçiminden uzaktır ve bunun yerine son kullanıcının veya hedef kitlenin anlayacağı dili tercih eder. Kullanım örnekleri, genellikle sistem analisti ve hedef kitle tarafından birlikte incelenir.
Kullanım örnekleri, yazılım veya sistemlerin davranışlarını açıklamak için suni ve basit araçlardır. Kullanım örneği, kullanıcıların yazılım veya sistemin nasıl çalışacağı ile ilgili metinsel bir açıklama içerir. Kullanım örnekleri, sistemin iç işleyişlerini ya da mekanizmalarını içermemelidir.Ve sistemin nasıl uygulanacağını açıklamamalıdır. Bunun yerine, sıralı varsayımlar olmaksızın bir görevi gerçekleştirmek için gerekli adımları açıkça belirtmelidir. (Örneğin bir muhasebe programında yeni bir ürünün nasıl ekleneceği bilgisi paylaşılabilir.)
Gereksinim çözümlemede bazı konular
Yazılım geliştirilecek kitlenin sorunları
Steve McConnell, Rapid Development adlı kitabında, kullanıcı gereksinimlerinin karşılanmasını engelleyen bir dizi sorunu ayrıntılarıyla anlatıyor:
- Kullanıcılar, ne istediklerini bilmiyor veya kullanıcıların gereksinimler hakkında net bir fikri yok.
- Kullanıcılar bir dizi yazılı gereksinimi önce belirleyip daha sonra iptal edebilmektedir.
- Kullanıcılar maliyet ve zamanlama belirlendikten sonra ilaveten gereksinim konusunda ısrarcı davranıyor.
- Kullanıcılarla iletişim yavaş ilerliyor.
- Kullanıcılar genellikle incelemelere katılmazlar veya bunu yapacak bilgileri yoktur.
- Kullanıcılar teknik açıdan karışık düşünmektedirler.
- Kullanıcılar geliştirme sürecini anlamıyorlar.
- Kullanıcılar mevcut teknoloji hakkında bilgi sahibi değiller.
Bu durum, sistem veya ürün geliştirmeye başladığında bile kullanıcı gereksinimlerinin değişmeye devam etmesine neden olabilir.
Mühendis ya da geliştirici sorunları
Gereksinim analizi sırasında mühendislerden ve geliştiricilerden kaynaklı sorunları şunlardır:
Kod yazmaya yönelik doğal bir eğilim vardır, bu durum gereksinim analizi tamamlanmadan önce yazılım geliştirmenin başlamasına yol açabilir ve bunun sonucu da muhtemelen, gerçek gereksinimleri bilinmeden geliştirilen ve öngörülemeyen ya da yeniden yapılandırılamayan yazılımlar doğurabilir.
Geliştiriciler ve hedef kitlenin anlaşmaları bozulabilir.Sonuç olarak, geliştiriciler projeyi teslim edebilmek için çalışırlar.Tamamlanan bir ürünün, geliştirilinceye kadar olan sürecini yönetirler ama buna karşın hedef kitlenin kanaatleri, başlangıçtaki anlaşmanın doğrultusunda olmayabilir yani anlaşmayı bozabilirler.
Mühendisler ve geliştiriciler, gereksinimleri, müşterinin ihtiyaçlarına özel bir sistem geliştirmek yerine mevcut bir sisteme veya modele uydurmaya çalışabilir.
Analiz, müşterinin ihtiyaçlarını doğru bir şekilde anlamak için farklı istihdam alanlarında bilgisi olan personel yerine, mühendisler veya programcılar tarafından sıklıkla uygulanabilir.Bu ise gerçeklik küresine uygun olmayan çözümler üretilmesine sebebiyet verebilir.
Bazı çözüm denemeleri
İletişim sorunlarına çözüm denemesinde iş veya sistem analizinde uzmanlar çalıştırılması vardı.
1990'larda prototiplendirme, birleşik modelleme dili(UML), şablon kullanma ve çevik yazılım geliştirme gibi teknikler, önceki yöntemlerde sık karşılaşılan sorunların çözümleri olarak düşünülmüş ve buna paralel olarak geliştirilmiştir.
Ayrıca, uygulama simülasyonunun yeni bir sınıfı veya uygulama tanımlama araçları piyasaya girdi. Bu araçlar, işletme kullanıcıları ile yazılım geliştirme organizasyonu arasındaki iletişim boşluğunu gidermek ve herhangi bir kod üretilmeden önce uygulamaların test yoluyla pazarlanmasını sağlamak için tasarlanmıştır. Bu araçların en nitelikli olanları şunlardır:
- Uygulama akışlarını ve test alternatiflerini çizebilmek için elektronik beyaz tahta.
- İş mantığını ve veri ihtiyaçlarını yakalama yeteneği.
- Son başvuruyu yakından taklit eden yüksek kalitede prototip üretme yeteneği.
- Etkileşim yeteneği.
- Bağlamsal gereksinimleri ve diğer yorumları ekleme yeteneği.
- Uzak ve dağıtık kullanıcıların simülasyon ile çalışıp etkileşime girme becerisi.
Kaynakça
- ^ Kotonya, G. and Sommerville, I. 1998. Requirements Engineering: Processes and Techniques Chichester, UK: John Wiley and Sons.
- ^ Beck, A., Boeing, G., & Shannon, D. (2014). "Systems and Methods for Analyzing Requirements. US Patent 8650186 24 Aralık 2016 tarihinde Wayback Machine sitesinde .". Retrieved 2016-03-17.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Bilgisayar bilimlerinde gereksinim analizi ya da gereksinim cozumleme cesitli sistemlerin gerekliliklerini ve olasi celiskili durumlarini goz onune alarak yazilimi analiz etmek belgelemek dogrulamak ve yonetmek icin yeni veya degistirilmis bir urun uzerinde projenin ihtiyaclarini sistem gereksinimlerini ve kosullarini belirleyen gorevleri kapsamaktadir Ihtiyac analizi icin gelistirilen bir sistemin perspektifi Gereksinim analizi bir sistem veya yazilim projesinin basarisi veya basarisizligi acisindan kritik onem tasir Ihtiyaclarin belgelenmesi uygulanabilir olmasi olculebilir olmasi test edilebilir formda olmasi izlenebilir olmasi ve belirlenen isletmenin ihtiyaclarina uygun olmasi gerekir Genel bakisKavramsal olarak gereksinim analizi uc tur etkinlik icermektedir Ihtiyaclarin ortaya cikarilmasi Is sureci dokumantasyonu ve grup gorusmeleri saglanarak ihtiyaclari belirlemektir Buna bazen ihtiyac toplama veya gereksinim kesfi de denir Ihtiyac analizi Belirtilen gerekliliklerin acik eksiksiz tutarli net olup olmadigini belirleme ve belirlenen celiskileri cozme Kayit gereksinimleri Gereksinimler genellikle bir ozet listesi iceren cesitli formlarda belgelenebilir Dogal dil belgeleri kullanim ornekleri kullanici hikayeleri surec ozellikleri ve veri modelleri de dahil olmak uzere cesitli modeller olusturulabilir Gereksinim analizi pek cok hassas psikolojik becerinin katildigi uzun ve yorucu bir surec olabilir Buyuk sistemler yuzlerce veya binlerce sistem gereksinimi aciga cikararak analistlerin is yukunu artirabilir Yeni sistemler ortamlari ve insanlar arasindaki iliskileri degistirir bu nedenle gelistiricilerin tum ortamlari tanimlamalarini tum ihtiyaclari goz onunde bulundurmalarini ve yeni sistemlerin etkilerini anlamalarini saglamak onemlidir Analistler musterinin gereksinimlerini ortaya cikarmak icin cesitli teknikler kullanabilirler Bunlar senaryolarin gelistirilmesi kullanim durumlarinin belirlenmesi isyeri gozlemi etnografi kullanilmasi roportajlar duzenlenmesi veya gozden gecirme oturumlari yapmak gibi yontemleri icermektedir Ve boylelikle gereksinim listeleri olusturulabilir Prototip belirleme yontemi proje sunulacak sahis ya da kuruma ornek olarak gosterilebilecek bir sistem maksadiyla kullanilabilir Analist gerekirse sahis ya da kurumlarin kesin gereksinimlerini belirlemek icin bu yontemlerin bir kombinasyonunu kullanir ve boylece isletme ihtiyaclarini karsilayan bir sistem uretilir Gereksinim kalitesi asagidaki bazi yontemlerle iyilestirilebilir Gorsellestirme Gorsellestirme ve simulasyon gibi teknikler kullanilarak arzu edilen nihai urunun daha iyi anlasilmasini tesvik etmek Sablonlarin tutarli kullanimi Gereksinimleri belgeleyen tutarli bir dizi model ve sablon uretmek Bagimliliklari belgelemek Gereksinimler arasindaki bagimliliklari ve iliskileri belgelemek Ayrica ek olarak bu bagimliliklara iliskin varsayimlar uretmek de sayilabilir Gereksinim cozumleme basliklariGereksinim analizi konulari kabaca soyle listelenebilir Kitlenin kimligi Yazilim gelistirilecek kitlenin belirlenmesidir Bununla beraber kitlenin niteliksel ya da niceliksel ozelliklerinin belirlenmesi konusu da oldukca onemlidir Bu kitle sunlari kapsayabilir Sistemi isletmecisi olan herkes Sistemden yararlanan herkes islevsellik acisindan ya da politik finansal ve sosyal yonlerden Sistemi satin alan ya da satin almak uzere ilgilenen herkes Sistemin ozelliklerini duzenleyen kuruluslar finansal guvenlik vb kurumlari Sisteme karsi goruslu insanlar veya kuruluslar olumsuz dusunen kitle Kitle ile gorusmeler Hedef kitle ile gorusmeler gereksinim analizinde kullanilan yaygin bir tekniktir Kitlenin bakis acilarina ve belirlenen ihtiyaclarina odaklanilir Yazilim gelistirecek ekibin kitlenin ait oldugu sistemi onceden etraflica analiz etmesi gerekmektedir Cunku bu gorusmelerde genellikle gelistiricinin ilgili calisma sahasinin yasam dongusu hakkindaki bilgi yetersizliginden ve buna paralel olarak kitlenin de teknik bilgi yetersizliginden kaynakli sorunlar cikmaktadir Bunu onleyebilmek icin etkili iletisim teknikleri kullanilmalidir Musterek gereksinim gelistirme oturumlari Bu oturumlarda yazilim gelistirme surecinde is analisti business analyst kullanilir Boylelikle kolaylikla kitlenin gereksinimleri ortaya cikarilir ayrintilari analiz edilir ve islevler arasi etkileri ortaya cikarmak icin tartismalara girilir Bu analist tarafindan kontrollu bir ortamda yurutulur Boylelikle musterek gereksinim gelistirme oturumlari saglanabilir Tartismayi belgelemek ve oturumun hedefini karsilayan uygun sartlari saglamak icin tartismayi yonetmek uzere is analistinin dusuncelerinden bagimsiz ozel bir yazar bulunmalidir Sozlesme tarzi gereksinim listeleri Ihtiyaclarin belgelendirilmesinin geleneksel yolu sozlesme tarzi gereksinim listeleridir Karmasik bir sistemde bu tur gereksinim listeleri yuzlerce sayfaya kadar surebilir Ifade yerindeyse bu liste adeta uzun bir alisveris listesi gibidir Modern analiz yontemlerinde bu tur listeler cok fazla avantajli degildir Cunku amaclarina ulasmada basarisiz olduklari gorulmustur Buna ragmen bu teknik gunumuze kadar gelebilmistir Prototipler Bir prototip baska bir bilgisayar programinin ozelliklerinin bir bolumunu sergileyen ve henuz olusturulmamis bir uygulamayi gorsellestiren bilgisayar programidir Populer bir prototip bicimi gelecekteki kullanicilarin ve diger kitlenin sistemin nasil gorunecegi konusunda fikir sahibi olmalarina yardimci olan bir taklit uygulamasidir Prototipler tasarim kararlarini kolaylastirir cunku uygulamanin gelecegi uygulama olusturulmadan once gorulebilir ve paylasilabilir Kullanicilar ve gelistiriciler arasindaki iletisimde buyuk gelismeler genellikle prototiplerin tanitimindan sonra gorulmustur Gelistirilme asamasindan once uygulamalar hakkinda belirtilen hedef kitle gorusleri sayesinde verimlilik artmistir Bu ise daha az degisiklik ve dolayisiyla daha dusuk maliyet anlamina gelmektedir Kullanim ornekleri Bir kullanim ornegi ister ozgun bir calisma ister sonradan degistirilmis olsun genellikle yazilim iceren bir sistemin islevsel gereksinimlerini belgeleyen bir yapidir Her kullanim ornegi belirli bir is hedefine ulasmak icin sistemin bir insan kullanicisi veya baska bir sistemle nasil etkilesim kuracagini anlatan bir dizi senaryo saglar Kullanim ornekleri genellikle teknik ifade biciminden uzaktir ve bunun yerine son kullanicinin veya hedef kitlenin anlayacagi dili tercih eder Kullanim ornekleri genellikle sistem analisti ve hedef kitle tarafindan birlikte incelenir Kullanim ornekleri yazilim veya sistemlerin davranislarini aciklamak icin suni ve basit araclardir Kullanim ornegi kullanicilarin yazilim veya sistemin nasil calisacagi ile ilgili metinsel bir aciklama icerir Kullanim ornekleri sistemin ic isleyislerini ya da mekanizmalarini icermemelidir Ve sistemin nasil uygulanacagini aciklamamalidir Bunun yerine sirali varsayimlar olmaksizin bir gorevi gerceklestirmek icin gerekli adimlari acikca belirtmelidir Ornegin bir muhasebe programinda yeni bir urunun nasil eklenecegi bilgisi paylasilabilir Gereksinim cozumlemede bazi konularYazilim gelistirilecek kitlenin sorunlari Steve McConnell Rapid Development adli kitabinda kullanici gereksinimlerinin karsilanmasini engelleyen bir dizi sorunu ayrintilariyla anlatiyor Kullanicilar ne istediklerini bilmiyor veya kullanicilarin gereksinimler hakkinda net bir fikri yok Kullanicilar bir dizi yazili gereksinimi once belirleyip daha sonra iptal edebilmektedir Kullanicilar maliyet ve zamanlama belirlendikten sonra ilaveten gereksinim konusunda israrci davraniyor Kullanicilarla iletisim yavas ilerliyor Kullanicilar genellikle incelemelere katilmazlar veya bunu yapacak bilgileri yoktur Kullanicilar teknik acidan karisik dusunmektedirler Kullanicilar gelistirme surecini anlamiyorlar Kullanicilar mevcut teknoloji hakkinda bilgi sahibi degiller Bu durum sistem veya urun gelistirmeye basladiginda bile kullanici gereksinimlerinin degismeye devam etmesine neden olabilir Muhendis ya da gelistirici sorunlari Gereksinim analizi sirasinda muhendislerden ve gelistiricilerden kaynakli sorunlari sunlardir Kod yazmaya yonelik dogal bir egilim vardir bu durum gereksinim analizi tamamlanmadan once yazilim gelistirmenin baslamasina yol acabilir ve bunun sonucu da muhtemelen gercek gereksinimleri bilinmeden gelistirilen ve ongorulemeyen ya da yeniden yapilandirilamayan yazilimlar dogurabilir Gelistiriciler ve hedef kitlenin anlasmalari bozulabilir Sonuc olarak gelistiriciler projeyi teslim edebilmek icin calisirlar Tamamlanan bir urunun gelistirilinceye kadar olan surecini yonetirler ama buna karsin hedef kitlenin kanaatleri baslangictaki anlasmanin dogrultusunda olmayabilir yani anlasmayi bozabilirler Muhendisler ve gelistiriciler gereksinimleri musterinin ihtiyaclarina ozel bir sistem gelistirmek yerine mevcut bir sisteme veya modele uydurmaya calisabilir Analiz musterinin ihtiyaclarini dogru bir sekilde anlamak icin farkli istihdam alanlarinda bilgisi olan personel yerine muhendisler veya programcilar tarafindan siklikla uygulanabilir Bu ise gerceklik kuresine uygun olmayan cozumler uretilmesine sebebiyet verebilir Bazi cozum denemeleri Iletisim sorunlarina cozum denemesinde is veya sistem analizinde uzmanlar calistirilmasi vardi 1990 larda prototiplendirme birlesik modelleme dili UML sablon kullanma ve cevik yazilim gelistirme gibi teknikler onceki yontemlerde sik karsilasilan sorunlarin cozumleri olarak dusunulmus ve buna paralel olarak gelistirilmistir Ayrica uygulama simulasyonunun yeni bir sinifi veya uygulama tanimlama araclari piyasaya girdi Bu araclar isletme kullanicilari ile yazilim gelistirme organizasyonu arasindaki iletisim boslugunu gidermek ve herhangi bir kod uretilmeden once uygulamalarin test yoluyla pazarlanmasini saglamak icin tasarlanmistir Bu araclarin en nitelikli olanlari sunlardir Uygulama akislarini ve test alternatiflerini cizebilmek icin elektronik beyaz tahta Is mantigini ve veri ihtiyaclarini yakalama yetenegi Son basvuruyu yakindan taklit eden yuksek kalitede prototip uretme yetenegi Etkilesim yetenegi Baglamsal gereksinimleri ve diger yorumlari ekleme yetenegi Uzak ve dagitik kullanicilarin simulasyon ile calisip etkilesime girme becerisi Kaynakca Kotonya G and Sommerville I 1998 Requirements Engineering Processes and Techniques Chichester UK John Wiley and Sons Beck A Boeing G amp Shannon D 2014 Systems and Methods for Analyzing Requirements US Patent 8650186 24 Aralik 2016 tarihinde Wayback Machine sitesinde Retrieved 2016 03 17