29 Ocak 2017 Pazar

GEREKSİNİM MÜHENDİSLİĞİ ( REQUIREMENTS ENGINEERING )

Gereksinim mühendisliği, bilgisayar tabanlı bir sistem için gereksinimlerin araştırılması, dokümantasyonunun yapılması ve kontrol edilebilir bir hale getirilmesini kapsamaktadır. Gereksinimlerin ortaya çıkarılması, toplanması, anlaşılması, analiz edilmesi ve doğrulanması gereksinim mühendisliğinin alanına girmektedir.
Bu alanın mühendislik olarak anılmasının sebebi; gereksinimlerin, tutarlı, eksiksiz ve birbirleri ile ilişkilendirilerek sistematik ve tekrarlanabilir teknikler yardımıyla ortaya çıkarılması gereksinimidir. Ancak bu şekilde sistem gereksinimleri kontrol edilebilir ve takip edilebilir olmaktadır.

Gereksinimler Önemli midir?

Yazılım geliştirme ve üretim aşamasında başlıca problem gereksinimlerin belirlenmesi ve müşteri gereksinimlerinin yönetilmesidir. Gereksinimlerin doğru belirlenememesi durumunda çoğu proje başarısızlıkla sonuçlanmaktadır. Gereksinimleri doğru belirlenememiş bir proje sonunda,
  • Projenin  geç teslim edilmesi ya da öngörülen bütçenin aşılması,
  • Müşterinin ya da son kullanıcıların tatmin edilememesi,
  • Sistemin kullanılamaz ya da içinden çıkılamaz bir hale gelmesi,
  • Periyodik ya da kronikleşmiş hatalar sebebiyle kullanılamaz ve güvenilemez bir sistemin ortaya çıkması,
  • Sistem hataları sebebiyle bakım ve idame hizmetlerinin öngürülenden daha fazla zaman ve kaynak harcanmasına sebep olması, gibi sonuçlar ortaya çıkabilir.


Gereksinimlerin Belirlenmesinde Yaşanılan Zorluklar

Sistem gereksinimleri belirlenirken karşılaşılabilecek başlıca sorunlar;
  • Paydaşların yeni bir sistemden tam olarak ne beklediklerini bilmemeleri,
  • Yapılacak sistemin nasıl çalışacağının müşteriye anlatılması konusunda zorlanılması,
  • Sistem gereksinimlerinin sürekli değişmesi,
  • Farklı amaçlar için sistemi kullanacak paydaşların kendi isteklerinin ya da gereksinimlerinin daha önemli olduğunu öne sürmeleri,
  • Paydaşların tam olarak neye ihtiyaçları olduğunu bilmemeleri,
  • Farklı amaçlar için sistemi kullanacak paydaşların sadece kendi istedikleri gereksinimleri dile getirmeleri, 
  • Gereksinimler belirlenirken paydaşların siyasal ya da organizasyonel etkiler altında kalabilmeleridir.


GEREKSİNİM MÜHENDİSLİĞİ SÜREÇLERİ

Gereksinim mühendisliğine farklı açılardan bakılabilir. Bir sistem içerisinde sadece yazılımın bulunmadığı düşünülür ise gereksinim mühendisliği bu gibi durumlarda sistem mühendisliği ile yakından ilişkilendirilebilir. Yüksek seviye bir sistemde gereksinim mühendisliği farklı alanlara ilişkin gereksinimleri birbirinden ayırarak birim gereksinimlerini ortaya çıkartır.

Gereksinim mühendisliği yazılım geliştirme yaşam sürecinden ayrı tutulamaz çünkü yazılım geliştirme süreci içerisinde yeni gereksinimler ya da sınırlamalar ortaya çıkabilir. Gereksinim mühendisliği süreci gereksinimlerin toplanması ile başlar. Gereksinimler toplandıktan sonra bu gereksinimlerin analiz edilmesi ve müşteri ile gereksinimler konusunda anlaşılmasını sağladıktan sonra ilgili gereksinimlerin dokümante edilmesi ve müşteriye onaylatılması işlemlerini içerir. Sistem tasarım ve entegrasyon aşamalarında ortaya çıkacak yeni gereksinimler için süreç baştan işletilir.

Hiç yorum yok:

Yorum Gönder