GENERATING CLASS DIAGRAMS FROM SOFTWARE REQUIREMENTS IN TURKISH USING NATURAL LANGUAGE PROCESSING
Date
2022-01-17
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
In software engineering, designing software that meets its requirements is a
challenging task. In order to assist software engineers in this difficult task, many
systems have been proposed in the literature that automatically generate class diagrams
from software requirements. However, most of those studies are for software
requirements in English, and such studies are very few for software requirements in
Turkish. In this study, a system that automatically generates UML class diagram from
software requirements in Turkish is proposed. The system first analyzes software
requirements using natural language processing tools, particularly the dependency
parser tool. Then, this parsing result is processed by a rule-based system and the
classes, attributes and methods of the classes as well as the relations between classes
are extracted. The extracted items are transformed into a class diagram with the
visualization tool. Promising results were obtained when the performance of the
system was evaluated. Therefore, it is concluded that class diagrams can be generated
using natural language processing tools, especially the dependency parser, from
software requirements in Turkish.
Description
DOĞAL DİL İŞLEME KULLANARAK TÜRKÇE YAZILIM
GEREKSİNİMLERİNDEN SINIF DİYAGRAMLARI OLUŞTURMA
ÖZ: Yazılım mühendisliğinde, gereksinimlerini karşılayacak bir yazılım tasarlamak zorlu bir görevdir. Bu zor görevde, yazılım mühendislerine yardımcı olması için, literatürde yazılım gereksinimlerinden otomatik olarak sınıf diyagramı üreten çokça sistem önerilmiştir. Fakat bu çalışmaların çoğu İngilizce yazılım gereksinimleri içindir ve Türkçe yazılım gereksinimleri için bu tür çalışmalar çok azdır. Bu çalışmada, Türkçe yazılım gereksinimlerinden otomatik olarak UML sınıf diyagramı üreten bir sistem önerilmiştir. Bu sistem, ilk olarak, doğal dil işleme araçlarını, özellikle de bağımlılık çözümleyici aracını kullanarak, yazılım gereksinimlerini çözümler. Sonra, bu çözümleme sonucu kural bazlı bir sistem tarafından işlenir ve sınıflar, sınıfların nitelik ve metotları ve sınıflar arası ilişkiler ayıklanır. Ayıklanan öğeler görselleştirme aracı ile sınıf diyagramına dönüştürülür. Sistemin başarım değerlendirmesi yapıldığında umut vadeden sonuçlar alınmıştır. Bundan dolayı da Türkçe yazılım gereksinimlerinden doğal dil işleme araçları, özellikle de bağımlılık çözümleyici, kullanılarak sınıf diyagramlarının üretilebileceği sonucuna varılmıştır.
ÖZ: Yazılım mühendisliğinde, gereksinimlerini karşılayacak bir yazılım tasarlamak zorlu bir görevdir. Bu zor görevde, yazılım mühendislerine yardımcı olması için, literatürde yazılım gereksinimlerinden otomatik olarak sınıf diyagramı üreten çokça sistem önerilmiştir. Fakat bu çalışmaların çoğu İngilizce yazılım gereksinimleri içindir ve Türkçe yazılım gereksinimleri için bu tür çalışmalar çok azdır. Bu çalışmada, Türkçe yazılım gereksinimlerinden otomatik olarak UML sınıf diyagramı üreten bir sistem önerilmiştir. Bu sistem, ilk olarak, doğal dil işleme araçlarını, özellikle de bağımlılık çözümleyici aracını kullanarak, yazılım gereksinimlerini çözümler. Sonra, bu çözümleme sonucu kural bazlı bir sistem tarafından işlenir ve sınıflar, sınıfların nitelik ve metotları ve sınıflar arası ilişkiler ayıklanır. Ayıklanan öğeler görselleştirme aracı ile sınıf diyagramına dönüştürülür. Sistemin başarım değerlendirmesi yapıldığında umut vadeden sonuçlar alınmıştır. Bundan dolayı da Türkçe yazılım gereksinimlerinden doğal dil işleme araçları, özellikle de bağımlılık çözümleyici, kullanılarak sınıf diyagramlarının üretilebileceği sonucuna varılmıştır.
Keywords
software