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 |