| 000 | 08250namaa22004331i 4500 | ||
|---|---|---|---|
| 003 | OSt | ||
| 005 | 20251015120907.0 | ||
| 008 | 251007s2024 ua a|||frm||| 000 0 eng d | ||
| 040 |
_aEG-GICUC _beng _cEG-GICUC _dEG-GICUC _erda |
||
| 041 | 0 |
_aeng _beng _bara |
|
| 049 | _aDeposit | ||
| 082 | 0 | 4 | _a005.6 |
| 092 |
_a005.6 _221 |
||
| 097 | _aM.Sc | ||
| 099 | _aCai01.20.05.M.Sc.2024.Na.E | ||
| 100 | 0 |
_aNada Ayman Mostafa Shorim, _epreparation. |
|
| 245 | 1 | 0 |
_aEnhancing text-based design pattern recommender / _cby Nada Ayman Mostafa Shorim ; Supervision Prof. Mohammad El-Ramly, Dr. Hanaa Mobarz. |
| 246 | 1 | 5 | _aتحسين توصية نمط التصميم القائم على النص |
| 264 | 0 | _c2024. | |
| 300 |
_a57 Leaves : _billustrations ; _c30 cm. + _eCD. |
||
| 336 |
_atext _2rda content |
||
| 337 |
_aUnmediated _2rdamedia |
||
| 338 |
_avolume _2rdacarrier |
||
| 502 | _aThesis (M.Sc)-Cairo University, 2024. | ||
| 504 | _aBibliography: pages 54-57. | ||
| 520 | 3 | _aDesign patterns enhance software engineering practices by improving software quality and accelerating development schedules. Selecting the right design pattern is critical, as an inappropriate choice can lead to code that is difficult to maintain. Conversely, a well-selected design pattern enhances software quality, simplifying maintenance, modification, and scalability. However, choosing the appropriate design pattern from textual descriptions poses a significant challenge, requiring deep knowledge of their functionalities and attributes. Existing approaches often lack accuracy or fail to handle diverse problem scenarios, limiting their practical applicability. To address this, we developed a recommendation system that applies Natural Language Processing and Machine Learning through text classification. The system was trained on data from the GOF book and evaluated using the largest dataset available including 95 problem scenarios from diverse sources. Two approaches were evaluated for design pattern selection. The first approach uses only the design patterns’ descriptions, while the second incorporates category information to narrow the search space before identifying the most suitable design pattern. Doc2Vec experiments showed 52.63% accuracy for the sequential approach, outperforming 22.1% for the single approach, demonstrating the effectiveness of sequential approach. Next, NLP and ML techniques are utilized. The approach included preprocessing steps such as stop word removal, tokenization, and stemming, applied to design pattern categories, design patterns, and problem scenarios. Feature extraction techniques such as Bag of Words, TF-IDF, Part of Speech, and Bigrams were then applied, enabling ML models to make predictions. The first approach achieved 72.63% accuracy using random forest with BoW and TF-IDF features, as well as logistic regression with POS and BoW features. The second approach improved accuracy to 74.74% by incorporating category-level classification followed by design pattern-level classification. We also evaluated generative AI models such as ChatGPT, Bard, and Gemini. ChatGPT achieved 88.42% accuracy, outperforming traditional approaches. Further testing on eight unseen cases yielded 75% accuracy for both our approach and ChatGPT, while Gemini achieved 62.5%. This work advances the field with a larger dataset, enhanced methods, and superior results, providing both academic and practical value. The second approach boosted accuracy by simplifying complexity and outperforming the first. | |
| 520 | 3 | _aتعزز الأنماط التصميمية ممارسات هندسة البرمجيات من خلال تحسين جودة البرمجيات وتسريع جداول التطوير. يعد اختيار النمط التصميمي المناسب أمرًا بالغ الأهمية، حيث يمكن أن يؤدي الاختيار غير المناسب إلى كود يصعب صيانته. وعلى العكس، فإن الاختيار المدروس للنمط التصميمي يحسن جودة البرمجيات، مما يسهل صيانتها وتعديلها وتوسيعها. ومع ذلك، فإن اختيار النمط التصميمي المناسب من الأوصاف النصية يمثل تحديًا كبيرًا، ويتطلب معرفة عميقة بوظائفها وخصائصها. غالبًا ما تفتقر الأساليب الحالية إلى الدقة أو تفشل في التعامل مع سيناريوهات المشكلات المتنوعة، مما يحد من قابليتها للتطبيق العملي. لمعالجة ذلك، قمنا بتطوير نظام توصية يعتمد على معالجة اللغة الطبيعية والتعلم الآلي من خلال تصنيف النصوص. تم تدريب النظام على بيانات من كتاب GOF وتقييمه باستخدام أكبر مجموعة بيانات متاحة، بما في ذلك 95 سيناريو مشكلة من مصادر متنوعة. تم تقييم نهجين لاختيار الأنماط التصميمية. يعتمد النهج الأول على أوصاف الأنماط التصميمية فقط، بينما يستخدم النهج الثاني معلومات الفئة لتضييق نطاق البحث قبل تحديد النمط التصميمي الأنسب. أظهرت تجارب Doc2Vec أن النهج التسلسلي حقق دقة بلغت 52.63%، متفوقًا على النهج الفردي الذي سجل 22.1%، مما يوضح فعالية النهج التسلسلي. بعد ذلك، تم استخدام تقنيات معالجة اللغة الطبيعية والتعلم الآلي. تضمنت الطريقة خطوات المعالجة المسبقة مثل إزالة الكلمات الشائعة، والتجزئة، والجذر الصرفي، والتي تم تطبيقها على أوصاف الفئات والأنماط التصميمية وسيناريوهات المشكلات. تم تطبيق تقنيات استخراج الميزات، مثل حقيبة الكلمات (BoW)، وتكرار المصطلح العكسي (TF-IDF)، وأجزاء الكلام (POS)، وثنائيات الكلمات (Bigrams)، مما مكّن نماذج التعلم الآلي من إجراء التنبؤات. حقق النهج الأول دقة بلغت 72.63% باستخدام غابة عشوائية مع ميزات BoW وTF-IDF، بالإضافة إلى الانحدار اللوجستي مع ميزات POS وBoW. أما النهج الثاني فقد حسّن الدقة إلى 74.74% من خلال دمج التصنيف على مستوى الفئة أولاً، ثم التصنيف على مستوى الأنماط التصميمية. تم أيضًا تقييم نماذج الذكاء الاصطناعي التوليدي، مثل ChatGPT وBard وGemini. حقق ChatGPT دقة بلغت 88.42%، متفوقًا على الأساليب التقليدية. وأظهرت الاختبارات الإضافية على ثماني حالات جديدة لم تُعرض على نماذج الذكاء الاصطناعي من قبل دقة بلغت 75% لكل من نهجنا وChatGPT، بينما سجل Gemini نسبة 62.5%.. يساهم هذا العمل في تطوير المجال من خلال الاستفادة من مجموعة بيانات أكبر، وتحسين الأساليب، وتحقيق نتائج متقدمة، مما يوفر قيمة أكاديمية وعملية. وقد أدى النهج الثاني إلى تحسين الدقة من خلال تبسيط التعقيد وتفوقه على النهج الأول. | |
| 530 | _aIssues also as CD. | ||
| 546 | _aText in English and abstract in Arabic & English. | ||
| 650 | 0 | _aProgramming | |
| 650 | 0 | _aالبرمجة | |
| 653 | 1 |
_aDesign Pattern _aSoftware Engineering, _aNLP _aMachine Learning |
|
| 700 | 0 |
_aMohammad El-Ramly _ethesis advisor. |
|
| 700 | 0 |
_aHanaa Mobarz _ethesis advisor. |
|
| 900 |
_b01-01-2024 _cMohammad El-Ramly _cHanaa Mobarz _UCairo University _FFaculty of Computers and Artificial Intelligence _DDepartment of Computer Sciences |
||
| 905 |
_aShimaa _eEman Ghareb |
||
| 942 |
_2ddc _cTH _e21 _n0 |
||
| 999 | _c174619 | ||