header
Local cover image
Local cover image
Image from OpenLibrary

Extracting software design using machine learning techniques / by Islam Abdelhamid Ahmed Elmasry ; under the supervision of Prof. Dr. Khaled Wassif, Dr. Hanaa Bayoumi.

By: Contributor(s): Material type: TextTextLanguage: English Summary language: English, Arabic Producer: 2023Description: 75 Leaves : illustrations ; 30 cm. + CDContent type:
  • text
Media type:
  • Unmediated
Carrier type:
  • volume
Other title:
  • استخراج تصميم البرمجيات باستخدام تقنيات التعلم الآلي [Added title page title]
Subject(s): DDC classification:
  • 005.1 21
Online resources: Available additional physical forms:
  • Issues also as CD.
Dissertation note: Thesis (M.Sc.)-Cairo University, 2023. Summary: Understanding the software details and descriptions written in various documents (requirements, user stories, . . . etc.) helps in modeling the software for developing welldesigned software that meets requirements. So, software engineering research focuses on automating the process of software design and modeling. Since software engineering is a document-driven process, automating the design process is mainly done by extracting software design knowledge and components from the text. This can be done by using Natural Language Processing (NLP) techniques which enable computers to understand human languages. Utilizing Machine learning techniques for that goal can improve the accuracy of this process instead of using traditional NLP methods. In this research, the proposed approach uses machine learning techniques to extract class names and attributes from plain text (e.g. software requirements documents) through two consequent classifiers, the first one classifies each word into a class or not using predefined features, then, the second classifier starts to classify words into an attribute or not. Finally, dependency parsing is used to define a set of rules applied to the document given the extracted classes and attributes to relate the attributes to the classes, identifying methods, and extracting the use cases. The final outputs are two different types of Unified Modeling Languages (UML) models: a class diagram and a use case diagram. One of the contributions of this research is the created dataset in its final pre-processed form which could make it easier to use in the software design field in the future. The proposed approach can extract class names and their attributes with about 99% accuracy, 98% precision, 89% recall, and 93% F-measure. Then the rule-based approach can relate the attributes to the classes and extract methods and use cases with about 98.5% accuracy, and 86% F1-score.Summary: يساعد فهم تفاصيل البرمجيات وتوصيفاتها، والتي تكتب في مستندات ذات أشكال مختلفة )المتطلبات ، قصص المستخدمين ، ... إلخ( في نمذجة البرمجيات؛ لتطوير برامج ذات تصميم جيد تفي بالمتطلبات. لذا، فإن أتمتة عملية تصميم البرمجيات ونمذجتها هي محور أبحاث هندسة البرمجيات. نظرًا لأن هندسة البرمجيات هي عملية تعتمد بدرجة كبيرة على المستندات، فإن أتمتة عملية التصميم تتم بشكل أساسي عن طريق استخراج المعلومات الخاصة بتصميم البرمجيات ومكوناتها من النص المكتوب. يمكن القيام بذلك باستخدام تقنيات معالجة اللغة الطبيعية التي تمكن أجهزة الكمبيوتر من فهم اللغات البشرية. يمكن أن يؤدي استخدام تقنيات التعلم الآلي لتحقيق هذا الهدف إلى تحسين دقة هذه العملية بدلاً من استخدام الطرق التقليدية لمعالجة اللغات الطبيعية.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Current library Home library Call number Status Barcode
Thesis Thesis قاعة الرسائل الجامعية - الدور الاول المكتبة المركزبة الجديدة - جامعة القاهرة Cai01.20.05.M.Sc.2021.Is.E (Browse shelf(Opens below)) Not for loan 01010110087769000

Thesis (M.Sc.)-Cairo University, 2023.

Bibliography: pages 69-75.

Understanding the software details and descriptions written in various documents (requirements,
user stories, . . . etc.) helps in modeling the software for developing welldesigned
software that meets requirements. So, software engineering research focuses
on automating the process of software design and modeling.
Since software engineering is a document-driven process, automating the design process
is mainly done by extracting software design knowledge and components from
the text. This can be done by using Natural Language Processing (NLP) techniques
which enable computers to understand human languages. Utilizing Machine learning
techniques for that goal can improve the accuracy of this process instead of using
traditional NLP methods.
In this research, the proposed approach uses machine learning techniques to extract
class names and attributes from plain text (e.g. software requirements documents)
through two consequent classifiers, the first one classifies each word into a class or not
using predefined features, then, the second classifier starts to classify words into an
attribute or not. Finally, dependency parsing is used to define a set of rules applied to
the document given the extracted classes and attributes to relate the attributes to the
classes, identifying methods, and extracting the use cases. The final outputs are two
different types of Unified Modeling Languages (UML) models: a class diagram and a
use case diagram.
One of the contributions of this research is the created dataset in its final pre-processed
form which could make it easier to use in the software design field in the future. The
proposed approach can extract class names and their attributes with about 99% accuracy,
98% precision, 89% recall, and 93% F-measure. Then the rule-based approach
can relate the attributes to the classes and extract methods and use cases with about
98.5% accuracy, and 86% F1-score.

يساعد فهم تفاصيل البرمجيات وتوصيفاتها، والتي تكتب في مستندات ذات أشكال مختلفة )المتطلبات ، قصص
المستخدمين ، ... إلخ( في نمذجة البرمجيات؛ لتطوير برامج ذات تصميم جيد تفي بالمتطلبات. لذا، فإن أتمتة
عملية تصميم البرمجيات ونمذجتها هي محور أبحاث هندسة البرمجيات.
نظرًا لأن هندسة البرمجيات هي عملية تعتمد بدرجة كبيرة على المستندات، فإن أتمتة عملية التصميم تتم بشكل
أساسي عن طريق استخراج المعلومات الخاصة بتصميم البرمجيات ومكوناتها من النص المكتوب. يمكن القيام
بذلك باستخدام تقنيات معالجة اللغة الطبيعية التي تمكن أجهزة الكمبيوتر من فهم اللغات البشرية.
يمكن أن يؤدي استخدام تقنيات التعلم الآلي لتحقيق هذا الهدف إلى تحسين دقة هذه العملية بدلاً من استخدام الطرق
التقليدية لمعالجة اللغات الطبيعية.

Issues also as CD.

Text in English and abstract in Arabic & English.

There are no comments on this title.

to post a comment.

Click on an image to view it in the image viewer

Local cover image