Turhan, ÇiğdemOğuz, Zeynep YarenSoftware Engineering2024-07-072024-07-072023https://hdl.handle.net/20.500.14411/5683Günümüzün hızla gelişen yazılım geliştirme ortamında, yüksek kaliteli yazılım ürünlerinin sunulması, büyük ölçüde etkin gereksinim analizine bağlıdır. Yazılım işlevsel gereksinimlerinin belirlenmesi, ve analiz edilmesi süreci, geliştirme aşamalarının paydaş beklentileri ile uyumlu olmasında çok önemli bir rol oynar. Bununla birlikte, modern yazılım sistemlerinin artan karmaşıklığı, gereksinim analizini çok daha zor ve karmaşık bir hale getirmiştir. Fonksiyonel gereksinimler son kullanıcıların geliştirilecek olan sistemden beklentileridir. Kullanıcı hikayeleri fonksiyonel gereksinimlerin, amacını, isterini ve kimin talepte bulunduğu bilgisini içeren doğal dil ile yazılmış açıklamasıdır. Bu ilişkisel cümleyi bir gereksinim olarak almak ve geliştirici için görevlere bölmek zorlayıcı bir süreç olabilir. Buna ek olarak gereksinimlerin önceliklendirilmesi ve bir öncelik sırasına konulması da verimli bir kaynak yönetimi için önemlidir. Gereksinim analizinin çok daha verimli bir şekilde yapılması için bir çok çalışma önerilmiştir. Fakat önerilen çalışmalar çoğunlukla İngilizce olan gereksinimlerin işlenmesi üzerinedir. Bu çalışmada Türkçe kullanıcı hikayelerinin, fonksiyonel gereksinim olarak ontoloji tabanlı bir sınıflandırılması sunulmuştur. Türkçe kullanıcı hikayeleri kelimeler arasındaki ilişkiler göz önüne alınarak kural-bazlı bir şekilde işlenmiştir ve gereksinimin amacı, istenen fonksiyon ve istemde bulunan aktör olmak üzere üç ana sınıfa ayrılmıştır. Buna ek olarak her bir gereksinim bir öncelik değeri alır. Veri kaynakları için bir semantik sorgulama dili olan SPARQL sorgusu kullanılarak bir öncelik sıralaması yapılmıştır ve temsili bir product backlog çıktı olarak sunulmuştur. Değerlendirmeler sonucunda, belirlenen şablonda yazılarak girdi olarak verilen kullanıcı hikayelerinin sınıflandırılması, ve öncelik bazlı iş listesine dahil edilmesi, kurulan gereksinim ontolojisinin başarı oranının hatırı sayılır bir düzeyde olduğunu göstermiştir. Bu sebeple, Türkçe kullanıcı hikayelerinin sözcük ve söz öbeklerinin kural-bazlı ayrıştırılmış ögelerinin ontoloji sınıflarının birer örneği olabileceği ve bu sınıflar arasındaki anlamsal ilişkinin, bir product backlog çıktısı oluşturabileceği sonucuna varılmıştır.Günümüzün hızla gelişen yazılım geliştirme ortamında, yüksek kaliteli yazılım ürünlerinin sunulması, büyük ölçüde etkin gereksinim analizine bağlıdır. Yazılım işlevsel gereksinimlerinin belirlenmesi, ve analiz edilmesi süreci, geliştirme aşamalarının paydaş beklentileri ile uyumlu olmasında çok önemli bir rol oynar. Bununla birlikte, modern yazılım sistemlerinin artan karmaşıklığı, gereksinim analizini çok daha zor ve karmaşık bir hale getirmiştir. Fonksiyonel gereksinimler son kullanıcıların geliştirilecek olan sistemden beklentileridir. Kullanıcı hikayeleri fonksiyonel gereksinimlerin, amacını, isterini ve kimin talepte bulunduğu bilgisini içeren doğal dil ile yazılmış açıklamasıdır. Bu ilişkisel cümleyi bir gereksinim olarak almak ve geliştirici için görevlere bölmek zorlayıcı bir süreç olabilir. Buna ek olarak gereksinimlerin önceliklendirilmesi ve bir öncelik sırasına konulması da verimli bir kaynak yönetimi için önemlidir. Gereksinim analizinin çok daha verimli bir şekilde yapılması için bir çok çalışma önerilmiştir. Fakat önerilen çalışmalar çoğunlukla İngilizce olan gereksinimlerin işlenmesi üzerinedir. Bu çalışmada Türkçe kullanıcı hikayelerinin, fonksiyonel gereksinim olarak ontoloji tabanlı bir sınıflandırılması sunulmuştur. Türkçe kullanıcı hikayeleri kelimeler arasındaki ilişkiler göz önüne alınarak kural-bazlı bir şekilde işlenmiştir ve gereksinimin amacı, istenen fonksiyon ve istemde bulunan aktör olmak üzere üç ana sınıfa ayrılmıştır. Buna ek olarak her bir gereksinim bir öncelik değeri alır. Veri kaynakları için bir semantik sorgulama dili olan SPARQL sorgusu kullanılarak bir öncelik sıralaması yapılmıştır ve temsili bir product backlog çıktı olarak sunulmuştur. Değerlendirmeler sonucunda, belirlenen şablonda yazılarak girdi olarak verilen kullanıcı hikayelerinin sınıflandırılması, ve öncelik bazlı iş listesine dahil edilmesi, kurulan gereksinim ontolojisinin başarı oranının hatırı sayılır bir düzeyde olduğunu göstermiştir. Bu sebeple, Türkçe kullanıcı hikayelerinin sözcük ve söz öbeklerinin kural-bazlı ayrıştırılmış ögelerinin ontoloji sınıflarının birer örneği olabileceği ve bu sınıflar arasındaki anlamsal ilişkinin, bir product backlog çıktısı oluşturabileceği sonucuna varılmıştır.enBilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolComputer Engineering and Computer Science and ControlYazılım gereksinimlerinin ontoloji tabanlı anlamsal analiziOntology-based semantic analysis of software requirementsMaster Thesis840659083