000 04837namaa22004211i 4500
003 OSt
005 20250223033215.0
008 231204s2023 ua a|||fr|m|| 000 0 eng d
040 _aEG-GICUC
_beng
_cEG-GICUC
_dEG-GICUC
_erda
041 0 _aeng
_beng
_bara
049 _aDeposit
082 0 4 _a005.1
_221
092 _a005.1
_221
097 _aM.Sc
099 _aCai01.20.05.M.Sc.2021.Is.E
100 0 _aIslam Abdelhamid Ahmed Elmasry,
_epreparation.
245 1 0 _aExtracting software design using machine learning techniques /
_cby Islam Abdelhamid Ahmed Elmasry ; under the supervision of Prof. Dr. Khaled Wassif, Dr. Hanaa Bayoumi.
246 1 5 _aاستخراج تصميم البرمجيات باستخدام تقنيات التعلم الآلي
264 0 _c2023.
300 _a75 Leaves :
_billustrations ;
_c30 cm. +
_eCD.
336 _atext
_2rdacontent
337 _aUnmediated
_2rdamedia
338 _avolume
_2rdacarrier
502 _aThesis (M.Sc.)-Cairo University, 2023.
504 _aBibliography: pages 69-75.
520 _aUnderstanding 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.
520 _aيساعد فهم تفاصيل البرمجيات وتوصيفاتها، والتي تكتب في مستندات ذات أشكال مختلفة )المتطلبات ، قصص المستخدمين ، ... إلخ( في نمذجة البرمجيات؛ لتطوير برامج ذات تصميم جيد تفي بالمتطلبات. لذا، فإن أتمتة عملية تصميم البرمجيات ونمذجتها هي محور أبحاث هندسة البرمجيات. نظرًا لأن هندسة البرمجيات هي عملية تعتمد بدرجة كبيرة على المستندات، فإن أتمتة عملية التصميم تتم بشكل أساسي عن طريق استخراج المعلومات الخاصة بتصميم البرمجيات ومكوناتها من النص المكتوب. يمكن القيام بذلك باستخدام تقنيات معالجة اللغة الطبيعية التي تمكن أجهزة الكمبيوتر من فهم اللغات البشرية. يمكن أن يؤدي استخدام تقنيات التعلم الآلي لتحقيق هذا الهدف إلى تحسين دقة هذه العملية بدلاً من استخدام الطرق التقليدية لمعالجة اللغات الطبيعية.
530 _aIssues also as CD.
546 _aText in English and abstract in Arabic & English.
650 0 _aSoftware engineering.
653 0 _aSoftware Design
_aMachine Learning
_aNatural Language Processing
_aunified Modelling Language
700 0 _aKhaled Wassif
_ethesis advisor.
700 0 _aHanaa Bayoumi
_ethesis advisor.
856 _uhttp://172.23.153.220/th.pdf
900 _b01-01-2023
_cKhaled Wassif
_cHanaa Bayoumi
_UCairo University
_FFaculty of Computers and Artificial Intelligence
_DDepartment of Software Engineering
905 _aEman
942 _2ddc
_cTH
_e21
_n0
999 _c165912
_d165912