Vizör Çözümleri


Destek
Kaydol
Giriş Yap
Ücretsiz Deneme başlat

İyiden Büyük Gereksinimlere Geçmek

yakınlaştırma Eylül 29, 2022 Birden Fazla Kez Mevcut Ücretsiz

İçindekiler

Herhangi bir yazılım geliştirme projesinin en önemli parçalarından biri, ayrıntılı ve doğru gereksinimler oluşturmaktır. Neyin inşa edilmesi gerektiğine dair net bir anlayış olmadan, yüksek kaliteli bir son ürün yaratmak imkansızdır. Ne yazık ki, iyi gereksinimleri yazmak genellikle yapmaktan daha kolaydır. İnsanların zayıf gereksinimler yazmasının birincil nedeni, iyi gereksinimleri yazma konusunda hiçbir eğitim veya deneyime sahip olmamalarıdır. Siz veya personeliniz iyi gereksinimlerin yazılmasıyla ilgili sorunlarınız varsa, iyi gereksinimlerin nasıl yazılacağına ilişkin rehberlikten yararlanabilirsiniz. Daha iyi gereksinimlerin nasıl yazılacağını öğrenmek için zaman ayırarak, yazılım geliştirme projelerinizin genel kalitesini iyileştirebilir ve kendinizi yol boyunca birçok baş ağrısından kurtarabilirsiniz.

Sistem Mühendisliği Projeleri Neden Başarısız Olur?

Ağır şekilde düzenlenmiş sektörlerdeki projeler neden başarısız oluyor? Birçok araştırmacı, sistemlerin ve yazılım projelerinin neden başarısız olduğunu araştırdı. Standish Group, 2009 yılında, projelerin başarısız olma nedenlerinin çoğunun gereksinimlerle ilgili olduğunu vurgulayan bir araştırma yürütmüştür.

Proje Kalitesini Analiz Edin

Bu, iyi gereksinimlerin yazılmasının proje başarısı için çok önemli olmasının ana nedenlerinden biridir. Ek olarak, iyi gereksinimlerin yazılması, ekipler arasında birçok başka fayda sağlar.

Gereksinim Belirtimi nedir?

Gereksinim belirtimi, gereksinimlerin tanımlandığı, belgelendiği ve analiz edildiği bir süreçtir. Yazılım geliştirmenin önemli bir parçasıdır çünkü geliştirme başlamadan önce tüm paydaşların yazılımın işlevselliği üzerinde anlaşmasını sağlar. Bunu yaparak, daha sonra yanlış anlama ve yeniden çalışma olasılığını azaltır.

Belgeleme olarak da bilinen gereksinim belirtimi, tüm sistem ve kullanıcı gereksinimlerinin bir belge biçiminde not alınması veya yazılması işlemidir. Bu gereksinimler açık, eksiksiz, kapsamlı ve tutarlı olmalıdır.

Gereksinimler Spesifikasyon

Gereksinim Mühendisliği Süreci

Gereksinim mühendisliği

Gereksinimlerle çalışırken karşılaştığımız birkaç etkinlik var. Gereksinim Mühendisliği döngüsünde beş ana faaliyet vardır:

  1. Gereksinimlerin Ortaya Çıkarılması – Bu, sezon için paydaş ve kullanıcı ihtiyaçlarını ve kısıtlamalarını toplama, gözden geçirme ve anlama sürecidir. Kullanıcıların etki alanı bilgilerine, mevcut sistem bilgilerine, yönetmeliklere, standartlara vb. ihtiyacı vardır. Bu bilgilere dayanarak gereksinimleri ortaya çıkarırız. Bundan sonra, ihtiyaç analizi ve müzakereye geçiyoruz. 
  2. İhtiyaç Analizi ve Müzakere – Analiz, toplanan ve ortaya çıkarılan bilgiler temelinde kullanıcı ihtiyaçlarını ve kısıtlamalarını iyileştirme sürecidir. Ardından dokümantasyon etkinliğine geçiyoruz. 
  3. Gereksinimler Belgeler/Spesifikasyon – Gereksinim özelliklerini aldıktan sonra dokümantasyon kısmına geçiyoruz. Kullanıcı ihtiyaçlarını ve kısıtlamalarını açık ve kesin bir şekilde belgeliyoruz. 
  4. Gereksinim Doğrulaması – Son olarak, doğrulama etkinliğinde sezon gereksinimlerinin eksiksiz, kısa ve net olduğunu ekleriz. 
  5. İhtiyaç Yönetimi – Gereksinim yönetimi, geliştirme aşamasında tüm ürünleri veya gereksinimleri toplama, analiz etme, iyileştirme ve önceliklendirme yöntemidir. Bu aşamada, gereksinimler ve bilgi kaynakları arasında sağlam izlenebilirlik de sağlanır. 

Bu beş faaliyeti sonlandırdığımızda, resmi şartnameler olan bir dizi mutabık kalınan gereklilik belgesini alana kadar onları tekrar tekrar tekrar ederiz.

İyi gereksinimler yazmak neden önemlidir?

İyi gereksinim özelliklerine sahip olmanın birçok faydası vardır. Bunlardan bazıları aşağıda listelenmiştir:

  • Tüm paydaşların geliştirilecek sistem hakkında ortak bir anlayışa sahip olmasını sağlamaya yardımcı olur. Bu, geliştirmenin sonraki aşamalarında herhangi bir yanlış anlaşılmayı önler.
  • Geliştirme sürecinde tüm paydaşlar için bir referans noktası görevi görür.
  • Gereksinimlerdeki boşlukları erken bir aşamada belirlemeye yardımcı olur.
  • Gereksinimlerdeki değişikliklerden dolayı yeniden çalışmayı önlediği için toplam geliştirme maliyetini ve süresini azaltır.

Büyük gereksinimler yazarak ne elde ederiz?

Büyük gereksinimlerin başarılmasına yardımcı olan birçok şey vardır. Bunlardan bazıları aşağıda listelenmiştir:

  • Büyük gereksinimler, geliştirilmekte olan sistemin kullanıcıların ihtiyaçlarını karşılamasını sağlamaya yardımcı olur.
  • Sistemin beklendiği gibi çalıştığından emin olmak için test etmek için bir temel görevi görürler.
  • Gereksinimlerdeki değişiklikler nedeniyle yeniden çalışmayı önleyerek genel maliyeti ve geliştirme süresini azaltmaya yardımcı olurlar.
  • Büyük gereksinimler, geliştirme sürecini daha verimli ve etkili hale getirmeye yardımcı olur.

Gereksinimleri Yazarken Karşılaşılan Zorluklar

İnsanların gereksinimleri yazarken karşılaştıkları çeşitli zorluklar vardır.

Gereksinim Yazma

Kötü Evrak İşleri – Bazı kuruluşlarda, süreçlerin dokümantasyonu ya yoktur ya da eşit düzeyde değildir. Bu durumda, gereksinimlerin toplanması iki aşamalı bir süreç haline gelir: önce mevcut süreç üzerinde tersine mühendislik yapılması ve ardından iyileştirme ve optimizasyon gerektiren alanların belirlenmesi. Gereksinimlerin ayrıntılı ve doğru olduğunu doğrulamak için, kilit paydaşları ve konu uzmanlarını doğrudan onlarla ilişki kurarak belirlemek çok önemlidir. İş süreci haritaları çizmek ve iş akışlarını görselleştirmek, bunu yapmanın iki mükemmel yoludur. Bu, yanlış varsayımların ortadan kaldırılmasına yardımcı olurken aynı zamanda tam bir resim sağlar. Süreç haritalarının çizilmesi ve süreçlerin görüntülenmesi bu amaç için iki yararlı yaklaşımdır.

Çelişen Gereksinimler – Paydaşların iş hedefleri için farklı öncelikleri olduğunda, bu durum birbiriyle çelişen gereksinimlere yol açar. Bu gibi durumlarda, bir iş analistinin sorumluluğu, tüm gereksinimleri ayrıntılı olarak belgelemek, hangi taleplerin birbirine zıt olduğunu belirlemek ve paydaşlara neyin öncelikli olduğuna karar verme fırsatı vermektir.

Paydaşların görüşlerini dinlemeden karar veremezsiniz ve bir iş analisti olarak neye öncelik verilmesi gerektiği konusunda bazı fikirleriniz olabilir. Paydaşların bakış açısını duymak hala çok önemlidir. Bir anket oluşturmak, paydaşların çoğunluğu için neyin en önemli olduğu konusunda netlik elde etmenin yöntemlerinden biri olabilir.

Kullanıcı Girişinin Bulunamaması – Birkaç neden, son kullanıcıların bulunmamasına katkıda bulunabilir ve her biri kendi çözümünü gerektirir. Örneğin, bazen son kullanıcılar günlük işleriyle o kadar meşgul olurlar ki gereksinim toplama etkinliklerine katılmak istemezler.

Bu gibi durumlarda, bir iş analistinin yapabileceği en iyi şey, etkileşimlerin sayısını ve süresini sınırlamaktır. Toplantıdan önce mümkün olduğunca fazla araştırma yapmak tartışmayı daha organize ve bilgilendirici hale getirmeye yardımcı olacaktır. Bu neredeyse gereksinimlerin toplanmasını gereksinim doğrulama oturumlarına dönüştürmek gibidir. odak gruplarının tanımlanması ve her grup için en uygun son kullanıcıların belirlenmesi

Deneyim Yerine Arayüze Odaklanmak – Birçok paydaş ve son kullanıcı, yeni çözümün nasıl ortaya çıkması gerektiğine dair net bir vizyona sahiptir, ancak neyi başarması gerektiğini bilmiyorlar. Herhangi bir sistemin kullanıcı arayüzü çok önemlidir, ancak işlevselliği tanımlamamalı veya engellememelidir.

İş analistleri, belgelerinde tasarım ve işlevsel gereksinimleri ayrı tutmayı her zaman hatırlamalıdır. Tasarım taslakları yerine diyagramlar, kullanıcı hikayeleri veya düşük maliyetli prototipler gibi daha genel araçları kullanarak, gereksinim toplamanın işlevsel yönlerine odaklanmayı sürdürebilirler.

Paydaş Girdileri – Paydaşlar veya son kullanıcılar, tasarımcılara sistemin ne yapması gerektiği yerine sistemin nasıl çalışması gerektiğini söylemeye çalıştığında, yetersiz tasarımlara yol açabilir. Bunu engellemek için, 'neden?' diye sorarak her olası 'yanlış gereksinimi' doğrulayın. çözülmesi gereken gerçek soruna ulaşana kadar.

İletişim sorunları – Bir iş analisti ile diğer taraflar arasında yanlış iletişime yol açabilecek konular arasında dil engelleri, yanlış varsayımlar, yetersiz açıklanmış kelime dağarcığı ve teknik terimlerin aşırı kullanımı sayılabilir.

Bu sorunu önlemek için ideal yaklaşım, sık sık etkileşim kurmak ve iki yönlü konuşmalar geliştirmektir. Keşfettiğiniz ihtiyaçları belgeleyin ve çeşitli konu uzmanlarına akran değerlendirmesi ve eleştiri için gönderin, bir jargon sözlüğü oluşturun ve binaları iki kez kontrol edin.

Yazma gereksinimleri için standartlar?

EARS burada etkili bir metodoloji olacaktır. anlamına gelir EaSY Ayaklaşmak Rdonanımlar Ssözdizimi, Alastair Marvin tarafından. Bu yöntemde açık, özlü ve anlaşılır bir dil yazıyoruz. Bu, tüm gereksinim mühendisliği iş akışını iyileştirir ve işleri oldukça kolay anlaşılır hale getirerek işi basitleştirir. 

Bunu başarmak için, gereksinimleri yazarken akılda tutulması gereken bazı ilkeler vardır. Şunları içerirler:

  • Her gereklilik tam bir cümle şeklinde olmalıdır. Madde işaretleri, kısaltmalar, kısaltmalar veya moda sözcükler kullanılmamalıdır. Kısa, doğrudan ve eksiksiz cümleler kurmaya çalışın. 
  • Her gereksinimin uygun bir öznesi, yüklemi ve fiili olduğundan emin olun. Konu, bahsettiğimiz kullanıcı tipi veya sistem olacaktır. Yüklem, beklediğimiz koşullar veya eylemler veya istenen sonuçlar olacaktır. Bir tür gerekliliği ifade etmek için 'olacak', 'irade' ve 'zorunlu' gibi kelimeleri ve gereklilikteki isteğe bağlılığı ifade etmek için 'may' gibi kelimeleri kullanmalıyız. 
  • Her gereksinim, sistemden istediğimiz sonucu verimli bir şekilde açıklamalıdır. 
  • Ayrıca gereksinim, sistemden beklediğimiz kaliteyi tanımlamalıdır. Nihai sonucu ölçtüğümüzde ve gereksinimin uygun şekilde uygulanıp uygulanmadığını gördüğümüzde yardımcı olur.

Bir Gereksinim Belgesinin Temel Bileşenleri:

Bir yazılım gereksinimleri belirtiminin ana bölümleri şunlardır:

  • İşletmeye yön veren – Müşterinin bir sistem kurmak istemesinin nedenleri bu bölümde açıklanmaktadır. Bu bölüm ayrıca müşterinin mevcut sistemle karşılaştığı sorunları ve yeni sistemin sağlayacağı fırsatları içerir.
  • İş Modeli – Sistemin desteklemesi gereken iş modeli bu bölümde tartışılmaktadır. Ayrıca, organizasyon ve iş bağlamı, ana iş fonksiyonları ve sistemin süreç akış diyagramları gibi çeşitli diğer detayları içerir.
  • Fonksiyonel ve Sistem Gereksinimleri – Bu bölüm genellikle hiyerarşik bir yapıda düzenlenen gereksinimlerin ayrıntılarını verir. İşlevsel gereksinimler en üst düzeyde olup, ayrıntılı sistem gereksinimleri alt öğeler olarak listelenmiştir.
  • Sistem Kullanım Durumları – Bu bölüm, sistemle etkileşime girecek tüm önemli harici varlıkları ve gerçekleştirmeleri gereken farklı kullanım durumlarını açıklayan Birleşik Modelleme Dili (UML) kullanım durumu diyagramından oluşur.
  • Teknik gereksinimler – Bu bölüm, teknik ortamı oluşturan tüm işlevsel olmayan gereksinimleri ve yazılımın çalışacağı teknik sınırlamaları tartışır.  
  • Sistem Nitelikleri – Bu bölümde, sistemin güvenilirlik, hizmet verilebilirlik, güvenlik, ölçeklenebilirlik, kullanılabilirlik ve bakım kolaylığı gibi sayısız niteliği tanımlanmıştır.
  • Sınırlamalar ve Varsayımlar – Müşterinin bakış açısından sistem tasarımına getirilen tüm sınırlamalar bu bölümde açıklanmıştır. Mühendislik ekibinin geliştirme sırasında neler bekleyeceğine ilişkin çeşitli varsayımları da burada tartışılmaktadır.
  • Kabul Kriterleri – Sistem nihai müşterilere teslim edilmeden önce yerine getirilmesi gereken tüm koşullara ilişkin detaylar bu bölümde ele alınmaktadır.

Yazılım Gereksinimleri Belirtim Belgesinin Özellikleri:

Yazılım Gereksinimleri Belirtimi
  • Temizle – Yazılı gereksinimler açık, okunması kolay ve anlaşılır olmalıdır. Aktörler arasında değiş tokuş edilecek olumlu cümleleri kullanarak bilgileri açıkça belirtin. Her gereksinim, net başarı kriterlerini tanımlamalıdır. Basit kelimeler kullanmaya çalışın ve kısaltmalardan kaçının. Örneğin, “Kullanıcı Denetim Günlüğü Raporunu görüntüleyebilir”.
  • Atomic – Her gereksinim ayrı bir test durumu olarak ele alınmalıdır. ve, or, vb. gibi bağlaçlar, gereksinimlerin kaybolmasına neden olabileceğinden kullanılmamalıdır. Bu, özellikle önemlidir, çünkü bunun gibi terimler, yazılım geliştiricilerin ve testçilerin gereksinimleri gözden kaçırmasına neden olabilir. Karmaşık ihtiyaçları, her biri ayrı ayrı test edilebilene kadar daha küçük parçalara bölmek, bunun olmasını önlemenin bir yoludur.
  • Belirsiz – Belirsiz, eksik veya çelişkili gereksinimler hatalara ve yeniden çalışmaya neden olabilir. Bunun olmasını önlemek için, gereksinimler sonuçlandırılmadan önce her paydaş tarafından gözden geçirilmelidir. Bu, daha sonra ele alınabilecek boşlukları erkenden belirlemeye yardımcı olacaktır.
  • Doğrulanabilir – Geliştirme ekibindeki herkesin, gerektiği kadar sık ​​başvurabilmeleri için belgeye erişimi olmalıdır. Gereksinimlerin net olması gerektiğinden, ekip üyeleri daha fazla bilgi istemez. Hepsine SRS belgesinde erişilebilir olmalıdır.
  • Gerekli – Her gereksinim, kullanıcıların gerçekten ihtiyaç duyduğu veya harici bir arabirimin varlığı nedeniyle bir standart veya entegrasyon ihtiyacını karşılamak için gerekli olan bir şeyi belgelemelidir. Ayrıca, her gereksinimin yetkili bir kaynağa sahip olması önemlidir.
  • Tasarımdan Bağımsız – Her gereksinim, nasıl uygulanacağını değil, neyin gerekli olduğunu tanımlamalıdır. Gereksinimler, dahili ayrıntıları değil, harici olarak gözlemlenecek sistemin özelliklerini tanımlamalıdır.
  • Mümkün – Her gereksinim teknik olarak yürütülebilir olmalı ve projeyi etkileyen bütçe, son tarih ve diğer kısıtlamalar dikkate alınarak uygulanmalıdır. Gereksinimler, maliyet, zaman çizelgesi ve teknoloji dahil olmak üzere gerçek durumu yansıtmalıdır. Gelecekteki teknolojik gelişmelere bağlı olmamalıdırlar.
  • Tamamla – Gereksinimler belgesi, geliştirme ekibinizin ve testçilerinizin ürünü tamamlaması ve kullanıcının gereksinimlerini hatasız bir şekilde karşıladığından emin olması için yeterli bilgiyi içermelidir.
  • Doğru – Belgelerde belirtilen şartlar her türlü karışıklığı önlemek için çok kesin olmalıdır. Herhangi bir boşluk, belirsizlik, öznellik, üstünlük veya karşılaştırma içermemelidirler. Bu nedenle, doğru gereksinimleri yazabilmek için doğru bilgileri edinmeli ve toplanan bilgileri doğru bir şekilde belgelemeliyiz.

Doğru Gereksinimler Kümesi İçin Kurallar

“Doğru” olarak adlandırılabilmesi için gereksinimlerin uyması gereken belirli kurallar vardır.

  • Tamamla – Gereksinimler belgesi, geliştirme ekibinizin ve testçilerinizin ürünü tamamlaması ve kullanıcının gereksinimlerini hatasız bir şekilde karşıladığından emin olması için yeterli bilgiyi içermelidir.
  • Tutarlılık – Tutarlı bir ayrıntı düzeyini koruyun. Örneğin, kullanıcı gereksinimleri için her cümlenin öznesi bir son kullanıcı olmalıdır. Benzer şekilde, sistem gereksinimleri için bir sistem her cümlenin konusu olmalıdır.
  • değiştirilebilirlik – Gereksinimler proje yaşam döngüsü boyunca değişebilir. Gereksinim günlüğü saklanmalı ve burada yapılan değişikliklerin diğer gereksinimler ve proje öğeleri üzerindeki etkisinin analizi mümkün olmalıdır.
  • Önceliklendirme – Gereksinimler önem açısından sınıflandırılmalıdır. Bir sistem için istenen tüm özellikler eşit derecede önemli değildir. Bunun için organizasyonel düzeyde gereksinim önceliklerini belirlemek ve bunu her projeye uyarlamak için bir kural oluşturmak faydalı olacaktır. Ve gereksinimleri öncelik sırasına koyabilmeleri için kullanıcılarla birlikte çalışın.

Görüş Gereksinimleri ALM Platformu

Visure, dünya çapında her büyüklükteki kuruluş için gereksinim yönetiminde uzmanlaşan en güvenilir uygulama yaşam döngüsü yönetim platformlarından biridir. Visure'ın ana ortakları, iş açısından kritik ve güvenlik açısından kritik şirketlerdir. Şirket, risk yönetimi, sorun ve kusur takibi, izlenebilirlik yönetimi, değişiklik yönetimi ve kalite analizi, gereksinim sürümleri oluşturma ve güçlü raporlama gibi çeşitli diğer alanlar dahil olmak üzere tüm Uygulama Yaşam Döngüsü Yönetimi süreçleriyle entegre olur.  

Visure Araç Kursları

Hem işlevsel hem de işlevsel olmayan gereksinimlerde size yardımcı olacak bir gereksinim yönetimi aracı arıyorsanız, Visure Requirements'a göz atın. Bu platform ile projenizin tüm gereksinimlerini tek bir yerden kolayca oluşturabilir, yönetebilir ve takip edebilirsiniz.

Sonuç

Harika bir yazılım üretmek için iyi yazılmış bir gereksinim belirtimine sahip olmak önemlidir. Bu belge, müşterinin ihtiyaçlarını ve beklentilerini karşılamak için sistemin yapması gerekenleri özetlemektedir. Ancak, iyi gereksinimler yazmak zor olabilir. Uyulması gereken birçok standart ve yönerge vardır ve bunları, kullandığınız dile ve araçlara bağlı olarak yazmanın birçok farklı yolu vardır. Görünüm Gereksinimleri ALM Platformu, en iyi uygulamaları ve endüstri standartlarını kullanarak etkili gereksinim belirtimlerini nasıl yazacağınızı öğreten bir kurs sunar. Kurs, yapıdan biçimlendirmeye kadar bir gereksinim belgesinin tüm temel bileşenlerinin yanı sıra gereksinimleri yazmak için çeşitli dillerin nasıl kullanılacağını kapsar. Ayrıca, ekibinizin birlikte çalışmayı seveceği belgeler oluşturabilmeniz için büyük gereksinimlerin özelliklerini vurgular. Etkili gereksinimler yazma hakkında daha fazla bilgi edinmek istiyorsanız, şunu deneyin: Gereksinimler Spesifikasyon Kursu Visure Requirements ALM Platform tarafından bugün!

Bu gönderiyi paylaşmayı unutmayın!

IBM Rational Doors Yazılımı
Iyi