Yazılım gereksinimlerinin ontoloji tabanlı anlamsal analizi

No Thumbnail Available

Date

2023

Journal Title

Journal ISSN

Volume Title

Publisher

Open Access Color

OpenAIRE Downloads

OpenAIRE Views

Research Projects

Organizational Units

Organizational Unit
Software Engineering
(2005)
Department of Software Engineering was founded in 2005 as the first department in Ankara in Software Engineering. The recent developments in current technologies such as Artificial Intelligence, Machine Learning, Big Data, and Blockchains, have placed Software Engineering among the top professions of today, and the future. The academic and research activities in the department are pursued with qualified faculty at Undergraduate, Graduate and Doctorate Degree levels. Our University is one of the two universities offering a Doctorate-level program in this field. In addition to focusing on the basic phases of software (analysis, design, development, testing) and relevant methodologies in detail, our department offers education in various areas of expertise, such as Object-oriented Analysis and Design, Human-Computer Interaction, Software Quality Assurance, Software Requirement Engineering, Software Design and Architecture, Software Project Management, Software Testing and Model-Driven Software Development. The curriculum of our Department is catered to graduate individuals who are prepared to take part in any phase of software development of large-scale software in line with the requirements of the software sector. Department of Software Engineering is accredited by MÜDEK (Association for Evaluation and Accreditation of Engineering Programs) until September 30th, 2021, and has been granted the EUR-ACE label that is valid in Europe. This label provides our graduates with a vital head-start to be admitted to graduate-level programs, and into working environments in European Union countries. The Big Data and Cloud Computing Laboratory, as well as MobiLab where mobile applications are developed, SimLAB, the simulation laboratory for Medical Computing, and software education laboratories of the department are equipped with various software tools and hardware to enable our students to use state-of-the-art software technologies. Our graduates are employed in software and R&D companies (Technoparks), national/international institutions developing or utilizing software technologies (such as banks, healthcare institutions, the Information Technologies departments of private and public institutions, telecommunication companies, TÜİK, SPK, BDDK, EPDK, RK, or universities), and research institutions such TÜBİTAK.

Journal Issue

Abstract

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.
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.

Description

Keywords

Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control

Turkish CoHE Thesis Center URL

Fields of Science

Citation

WoS Q

Scopus Q

Source

Volume

Issue

Start Page

0

End Page

83