Doğal dilde yazılmış yazılım gereksinimlerinin kalitelerinin dilbilimsel analiz teknikleriyle arttırılması
Quality improvement of the software requirements written in natural language by means of linguistic analysis techniques
Yazar: İBRAHİM BERK YILMAZ
Danışman: YRD. DOÇ. DR. ASIM EGEMEN YILMAZ
Ankara Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2010
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Günümüzde geliştirilen yazılım ürünlerindeki hataların %85'i başlangıçta yanlış tanımlanmış gereksinimlerden kaynaklanmaktadır. Bu kapsamda, Yazılım Gereksinim Mühendisliği faaliyetlerinde, tanımlanan isterlerin belirli bir kaliteye, doğruluğa ve tutarlılığa sahip olması, neticede ortaya çıkacak yazılım ürününün olgunluğu için vazgeçilmezdir. Bu bağlamda, bütün bu faaliyetleri yerine getirmeyi amaçlayan bir Gereksinim Kalite Yönetimi, daha etkin sonuçlar elde edebilmek için insan muhakemesini ve değerlendirmesini destekleyecek bir takım yardımcı yaklaşımlara ve bu yaklaşımlar neticesinde yapılacak bir gereksinim analizi de bu işlemi kolaylaştırıcı araçlara ihtiyaç duymaktadır. Bu doğrultuda bu çalışmada, doğal dilde yazılmış gereksinimlerin kalitesini arttırmaya yönelik üç aşamalı bir yaklaşım ve bu yaklaşım uyarınca gereksinim analizi yapan bir yazılım aracı geliştirilmiştir. Yaklaşımın birinci aşaması gereksinimlerdeki tutarsızlıkların, muğlâklıkların tespit edilmesini, ikinci aşaması gereksinimlerin işlevlerine göre sınıflandırılmasını ve üçüncü aşaması ise benzer gereksinimlerin tespit edilerek tekrarların ve çelişkilerin önüne geçilmesini içermektedir. Bu faaliyetleri desteklemek üzere geliştirilen yazılım aracı da üç temel fonksiyonu yerine getirmektedir. Bunlar, birinci olarak dilbilgisel analiz temelinde sözlüksel analiz yöntemleri kullanılarak hatalı ve muğlâk gereksinimlerin tespit edilmesi, ikinci olarak sözlüksel analiz teknikleriyle işlevsel olan ve işlevsel olmayan gereksinimlerin tespit edilmesi ve işlevsel olmayan gereksinimlerin konularına göre sınıflandırılması ve üçüncü olarak, benzer gereksinimlerde, ihtiyaçları anlatmak üzere yazılmış tekrar edilen gereksinimlerin elenmesi ve çelişen benzer gereksinimlerin düzeltilmesi amacıyla benzer gereksinimlerin dilbilgisel ve anlambilimsel tekniklere başvurmadan istatistiksel metin analizi yöntemleriyle tespitidir. Yazılım, çalışma kapsamında Türkçe hazırlanmış bir gereksinim kümesi üzerinde denenerek başarılı sonuçlar alınmış ve bu sonuçlar yorumlanmıştır.

Abstract:
In the recently developed software products, 85% of the defects are caused by the requirements defined at the beginning of the work. Hence, in the Software Requirement Engineering activities, it is indispensible to have a degree of quality, completeness and consistency for the maturity of all requirements. As a result, a Requirement Quality Management activity adressing these goals, needs some new approaches and tools, which will support human cognition and evaluation to get better results. For this purpose, in this study, a three-phase approach and a new software tool related with this approach is developed to improve the quality of the requirements written in natural language. In the first step of this approach, detection requirement defects due to inconsistencies and vaguenesses, in the second step the classification of the requirements according to functionality, and in the third and final step detection of the similar requirements to overcome redundancies and contradictions, are suggested. The software tool which is developed to support this approach, also has three basic functions: First, detection of the defective and vague requirements using linguistic lexical analysis techniques. Second, detection and classification of the non-functional requirements using linguistic lexical analysis techniques. Third, detection of the similar or identical requirements applying similarity analysis to eliminate the redundancy and contradictions in a requirement set using statistical similarity analysis approach. The new developed software tool is applied on the requirement sets written in Turkish natural language and successful results are obtained and evaluated in the scope of this study.