İçeriğe atla

Kullanıcı:Yazilimmuhendisligi/deneme tahtası

Vikipedi, özgür ansiklopedi

Yazılım Gereksinimleri

[değiştir | kaynağı değiştir]

Sistem için yazılım gereksinimleri, sistemin ne yapması gerektiğinin, sağladığı hizmet veya hizmetlerin ve işletim üzerindeki kısıtlamaların tanımlamasıdır. IEEE Standart Yazılım Mühendisliği Terminolojisi Sözlüğü, gereksinimi şu şekilde tanımlar:[1]

  1. Kullanıcının bir sorunu çözmek veya bir hedefe ulaşmak için ihtiyaç duyduğu bir koşul veya yetenek
  2. Bir sözleşmeyi, standardı,spesifikasyonu veya resmi olarak dayatılan başka bir belgeyi karşılamak için bir sistem veya sistem bileşeni tarafından karşılanması veya sahip olunması gereken bir koşul veya yetenek
  3. 1 veya 2'deki koşul veya yeteneğin belgelenmiş bir temsili

Yazılım gereksinimleriyle ilgili faaliyetler genel olarak toplama, analiz, spesifikasyon ve yönetim aşamalarına ayrılabilir.[2]

Ayrıca, yazılım gereksinimleri ifadesi, yazılımın belirli bir paketinin oluşturulması, kurulması veya kullanılması için gereken diğer yazılım paketlerini açıklamak için yazılım sürüm notlarında da kullanılabilir.[3]

Gereksinim Toplama

[değiştir | kaynağı değiştir]

Gereksinim toplama, paydaşlar ve diğer kaynaklardan gereksinimlerin toplanması ve keşfedilmesi sürecidir. Ortak uygulama tasarımı (JAD) oturumları, görüşmeler, doküman analizi, odak grupları gibi çeşitli teknikler kullanılabilir. Gereksinim toplama, gereksinim geliştirme sürecinin ilk adımıdır.

Analiz, gereksinim toplama aşamasından sonra gelen mantıksal bir parçalama sürecidir. Bu süreçte, her gereksinimin daha derin ve kesin bir şekilde anlaşılması sağlanır ve gereksinim setleri birden fazla, birbirini tamamlayıcı biçimde temsil edilir.

Gereksinim sıralaması veya önceliklendirme de genellikle analizden sonra yapılan bir faaliyettir.[4] Bu, Agile yazılım geliştirme süreçlerinde, örneğin Planning Poker gibi yöntemlerle planlama aşamasında yapılabilir. Ancak, projenin bağlamına, gereksinimlerin veya geliştirilen ürünün/hizmetin doğasına bağlı olarak bu süreç farklılık gösterebilir.

Spesifikasyon, toplanan gereksinim bilgilerini kalıcı ve iyi organize edilmiş bir biçimde temsil etme ve depolama sürecidir. Bu, etkili iletişimi ve değişim yönetimini kolaylaştırır. Gereksinim spesifikasyonu için yaygın olarak kullanılan yöntemler arasında kullanım senaryoları, kullanıcı hikayeleri, işlevsel gereksinimler ve görsel analiz modelleri bulunmaktadır.

Doğrulama, projenin iş hedeflerini karşılayan bir çözüm oluşturmak için doğru gereksinim setinin belirlendiğini onaylamak amacıyla kullanılan teknikleri içerir. Bu süreç, belirlenen gereksinimlerin yeterli ve doğru olup olmadığını kontrol ederek, yazılımın beklenen sonuçları sağlamasını garantilemeyi amaçlar.

Gereksinimler projeler sırasında değişir ve genellikle çok sayıda olurlar. Bu değişikliklerin yönetimi, paydaşlar için doğru yazılımın inşa edilmesini sağlamak açısından son derece önemlidir. Gereksinim değişikliklerinin etkili bir şekilde yönetilmesi, projenin hedeflerine ulaşmasını ve tüm paydaşların beklentilerinin karşılanmasını sağlamada kritik bir rol oynar.

Gereksinim Mühendisliği İçin Araç Desteği

[değiştir | kaynağı değiştir]

Gereksinim Toplama, Analiz ve Doğrulama Araçları

[değiştir | kaynağı değiştir]

Bu aktivitelerin, kullanıcı gözlem raporları, anketler (görüşmeler, anketler ve oylamalar), kullanım senaryoları ve kullanıcı hikayeleri gibi bazı belgeleri içerebileceği dikkate alındığında; gereksinim atölyeleri (charrette'ler), beyin fırtınası, zihin haritalama, rol oynama gibi aktiviteler; ve hatta prototipleme gibi yöntemler de kullanılabilir.[5] Bu görevleri gerçekleştirmeye yardımcı olmak için bu yeteneklerden bazılarını veya tümünü sağlayan yazılım ürünleri kullanılabilir.

En az bir yazar, açıkça zihin haritalama araçları (örneğin, FreeMind) ve alternatif olarak örnekle spesifikasyon araçlarının (örneğin, Concordion) kullanılmasını savunmaktadır. Ayrıca, bu aktivitelerden elde edilen fikirler ve ifadeler, wiki ve Trello gibi diğer işbirliği araçları ile toplanıp düzenlenebilir. Uygulanan özellikler ve standart uyumluluğu ürünler arasında değişiklik göstermektedir.

Gereksinim Spesifikasyonu Araçları

[değiştir | kaynağı değiştir]

Bir Yazılım Gereksinimleri Spesifikasyonu (SRS) belgesi, genel amaçlı yazılımlar (örneğin, bir kelime işlemci) veya birkaç özel araçtan biri kullanılarak oluşturulabilir. Bu araçlardan bazıları SRS belgelerini içe aktarabilir, düzenleyebilir, dışa aktarabilir ve yayınlayabilir. SRS belgeleri oluştururken ISO/IEC/IEEE 29148:2018 gibi standart bir yapı ve metodoloji izlemek faydalı olabilir. Benzer şekilde, yazılımlar gereksinimleri içe aktarmak veya dışa aktarmak için bazı standartları (örneğin, ReqIF) kullanabilir ya da bu tür değişimlere hiç izin vermeyebilir.

Gereksinim Belgesi Doğrulama Araçları[6]

[değiştir | kaynağı değiştir]

Bu tür araçlar, bir gereksinim belgesindeki hataları, belirli bir beklenen yapı veya standarda göre doğrular.

Gereksinim Karşılaştırma Araçları

[değiştir | kaynağı değiştir]

Bu tür araçlar, iki gereksinim setini belirli bir beklenen belge yapısı ve standardına göre karşılaştırır.

Gereksinim Birleştirme ve Güncelleme Araçları

[değiştir | kaynağı değiştir]

Bu tür araçlar, gereksinim belgelerinin birleştirilmesini ve güncellenmesini sağlar.

Gereksinim İzlenebilirliği Araçları[7]

[değiştir | kaynağı değiştir]

Bu tür araçlar, gereksinimlerin diğer belgelerle ve varlıklarla bağlantısını izlemeye olanak tanır. Bu, gereksinimlerin tasarım ve model gibi üst düzey belgelere (ileriye izlenebilirlik) veya önceki belgeler, iş kuralları ve kısıtlamalar gibi alt düzey belgelere (geriye izlenebilirlik) bağlanmasını içerir.

Model Tabanlı Yazılım veya Sistem Gereksinim Mühendisliği Araçları

[değiştir | kaynağı değiştir]

Model tabanlı sistem mühendisliği (MBSE), sistem gereksinimlerini, tasarımını, analizini, doğrulama ve geçerlilik etkinliklerini desteklemek için modelleme uygulamasının formalize edilmiş bir şeklidir. Bu süreç, kavramsal tasarım aşamasında başlayarak geliştirme ve sonraki yaşam döngüsü aşamaları boyunca devam eder. Gereksinim mühendisliğinin bazı aşamaları için model tabanlı bir yaklaşım benimsemek ve diğerleri için daha geleneksel bir yöntem kullanmak da mümkündür. Çok sayıda kombinasyon mümkün olabilir.

Resmi ve karmaşıklık seviyesi, kullanılan temel metodolojiye bağlıdır (örneğin, i* SysML'den çok daha resmi ve UML'den de daha resmidir).

Genel Gereksinim Mühendisliği Araçları

[değiştir | kaynağı değiştir]

Bu kategorideki araçlar, daha önce bahsedilen yeteneklerin bir karışımını ve diğerlerini, örneğin gereksinim yapılandırma yönetimi ve işbirliği gibi işlevleri sunabilir. Gerçekten uygulanmış özellikler ve standartlara uyum, üründen ürüne değişiklik gösterir.

Ayrıca, diğer aşamaları ve etkinlikleri destekleyen daha yetenekli veya genel araçlar da mevcuttur. Bu araçlar, ALM (Application Lifecycle Management - Uygulama Yaşam Döngüsü Yönetimi) araçları olarak sınıflandırılır.

Gereksinim Analizi Araçları[8]

[değiştir | kaynağı değiştir]

Gereksinim analizi sürecine yardımcı olacak birkaç araç vardır:

Jama Software

Jama Software, gereksinim yönetimi ve ürün geliştirme için bir araçtır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturabilir, depolayabilir ve yönetebilir.

Caliber

Caliber, gereksinim yönetimi ve test yönetimi için bir araçtır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturabilir, depolayabilir ve yönetebilir.

AppMaster

AppMaster , teknik gereksinimleri, iş mantığını , veri modellerini ve daha fazlasını görselleştirmek için kullanıcı gereksinimleriyle çalışan iş analistleri için mükemmel bir araçtır.

Visure Requirements

Visure Requirements, gereksinim yönetimi ve izlenebilirlik için bir araçtır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturabilir, depolayabilir ve yönetebilir.

Orcanos

Orcanos, ekiplerin ürünlerinin belgelenmesi, geliştirilmesi ve teslim edilmesi konularında yardımcı olan bir uygulamadır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturmak, depolamak ve düzenlemek için araçlar sunar.

Modern Requirements

Modern Requirements, ekiplerin ürün gereksinimlerini yönetmelerine ve izlemelerine yardımcı olan bir yazılım çözümüdür. Kullanıcı öyküleri ve kullanım senaryoları gibi belgeler oluşturmak, depolamak ve düzenlemek için araçlar içerir.

IBM Engineering Requirements Management DOORS Next

BM Engineering Requirements Management DOORS Next, ekiplerin ürün gereksinimlerini etkili bir şekilde yönetmelerini ve takip etmelerini sağlayan güçlü bir yazılımdır. Kullanıcı öyküleri ve kullanım senaryoları gibi belgeler oluşturma, saklama ve düzenleme yetenekleriyle, geliştikçe gereksinimleri takip etmeyi kolaylaştırır.

Accompa

Ürün gereksinimlerini yönetmek ve izlemek için bir araç olan Accompa, ekiplerin kullanıcı hikayeleri ve kullanım senaryoları gibi belgeler oluşturmasına, saklamasına ve yönetmesine olanak tanır.

Perforce Helix R

Perforce Helix R, gereksinim yönetimi ve izlenebilirlik için bir araçtır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturabilir, depolayabilir ve yönetebilir. Ayrıca işbirliği, izlenebilirlik ve etki analizi için özellikler sağlar.

Pearls

Pearls, gereksinim yönetimi sürecini otomatikleştirmeye ve basitleştirmeye odaklanan bir gereksinim yönetimi aracıdır. Kullanıcı öyküleri ve kullanım senaryoları gibi gereksinim belgeleri oluşturmak, depolamak ve yönetmek için kullanılabilir. Ayrıca işbirliği, izlenebilirlik ve etki analizi için özellikler sağlar.

1.https://en.wikipedia.org/wiki/Software_requirements#cite_note-:0-1

2. https://web.archive.org/web/20180615075325/http://standards.ieee.org/findstds/standard/610.12-1990.html

4. https://search.worldcat.org/title/57211148

5. https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-requirements/

6. https://visuresolutions.com/tr/blog/en-iyi-gereksinim-m%C3%BChendisli%C4%9Fi-ara%C3%A7lar%C4%B1-ve-yaz%C4%B1l%C4%B1mlar%C4%B1/

7. https://visuresolutions.com/tr/gereksinim-y%C3%B6netimi-izlenebilirlik-k%C4%B1lavuzu/gereksinim-izlenebilirli%C4%9Fi/

8. https://appmaster.io/tr/blog/yazilim-gereksinimleri-analizi

Daha Fazla Okuma

[değiştir | kaynağı değiştir]

https://en.wikipedia.org/wiki/Karl_Wiegers; Beatty, Joy (2013). Software Requirements (3rd ed.).https://en.wikipedia.org/wiki/Microsoft_Press https://en.wikipedia.org/wiki/ISBN

  1. ^ "IEEE 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology". web.archive.org. 2018-06-15. Erişim tarihi: 2024-10-24. 
  2. ^ "SWEBOK Guide - Table of Contents". web.archive.org. 2014-12-07. Erişim tarihi: 2024-10-24. 
  3. ^ Software requirements (İngilizce), 2024-09-24, erişim tarihi: 2024-10-24 
  4. ^ "Just enough requirements management : where software development meets marketing | WorldCat.org". search.worldcat.org (İngilizce). Erişim tarihi: 2024-10-24. 
  5. ^ "7 Tools to Gather Better Software Requirements | LiquidPlanner". www.liquidplanner.com. Erişim tarihi: 2024-10-24. 
  6. ^ Solutions, Visure. "10 Yılının En İyi 2024+ Gereksinim Mühendisliği Araçları ve Yazılımı | Artıları ve Eksileri - Visure Çözümleri". Visure Solutions. Erişim tarihi: 2024-10-24. 
  7. ^ Solutions, Visure. "Gereksinimler İzlenebilirlik: Tanım, Neden Önemli ve Araçlar". Visure Solutions. Erişim tarihi: 2024-10-24. 
  8. ^ "Yazılım Gereksinim Analizi | AppMaster". appmaster.io. Erişim tarihi: 2024-10-24.