Introduction to Software Engineering ITGS - 213 Lecture 6 PDF

Summary

This is a lecture on the design phase of software engineering, providing an introduction to software engineering concepts and includes different design techniques such as flow charts, and other structures. The lecture is part of ITGS - 213 course for the University of Tripoli, delivered in 2022.

Full Transcript

‫جامعة طرابلس ـ كلية تقنية المعلومات‬ ‫ٍقذٍت فً هنذست اىبزٍجٍبث‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS - 213‬‬ ‫المحاضرة السادسة – مرحلة التصميم‏‬ ‫ربٍع ‪2022‬‬ ‫ٍىاضٍع اىَحبضزة‬ ‫ِف‪ َٛٙ‬اٌتصّ‪ ُ١‬اٌ‪١ٙ‬ىٍ‪ ٚ ٟ‬اٌش‪١‬ئ‪ٟ‬‬ ‫‪‬‬...

‫جامعة طرابلس ـ كلية تقنية المعلومات‬ ‫ٍقذٍت فً هنذست اىبزٍجٍبث‬ ‫‪Introduction to software Engineering‬‬ ‫‪ITGS - 213‬‬ ‫المحاضرة السادسة – مرحلة التصميم‏‬ ‫ربٍع ‪2022‬‬ ‫ٍىاضٍع اىَحبضزة‬ ‫ِف‪ َٛٙ‬اٌتصّ‪ ُ١‬اٌ‪١ٙ‬ىٍ‪ ٚ ٟ‬اٌش‪١‬ئ‪ٟ‬‬ ‫‪‬‬ ‫ِخططبد اٌتصّ‪ُ١‬‬ ‫‪‬‬ ‫تصّ‪ٚ ُ١‬اج‪ٙ‬بد االستخذاَ‬ ‫‪‬‬ ‫‪2‬‬ ‫ٍقذٍت‬ ‫اٌّتطٍجدبد‬ ‫‪ ‬ػٕدذِب تىد‪ٚ ْٛ‬ح‪١‬مدخ ِتطٍجدبد إٌظدبَ ِتبحدخ ‪ ،‬تجدذ ِشحٍدخ تصدّ‪ ُ١‬إٌظدبَ ‪,‬ث‪ّٕ١‬دب ‪٠‬تٕدب‪ٚ‬ي ٔشدب ‪ٚ‬صد‬ ‫إٌظبَ ِغ ِجبي اٌّشىٍخ‪ ،‬فاْ اٌتصّ‪ ٛ٘ ُ١‬اٌّشحٍخ األ‪ ِٓ ٌٝٚ‬تح‪ ً٠ٛ‬اٌّشىٍخ ئٌ‪ ٝ‬حً ‪.‬‬ ‫ت‪ٛ‬ص‪١‬‬ ‫‪ ‬اٌتصّ‪٠ ُ١‬حذد ٘‪١‬ىٍ‪١‬خ ‪ٚ‬ثٕ‪١‬خ إٌظبَ ِٓ خالي تجض ٖ إٌظبَ ئٌ‪ِ ٝ‬جّ‪ٛ‬ػخ ِدٓ األٔظّدخ اٌفشػ‪١‬دخ ( )‪ِّSub-Systems‬دب‬ ‫‪٠‬سبُ٘ ف‪ ٟ‬اٌس‪١‬طشح ػٍ‪ ٝ‬اٌتؼم‪١‬ذ ف‪ ٟ‬إٌظبَ )‪ٚ ،(System Complexity‬تحذ‪٠‬دذ اٌ‪ٛ‬اج‪ٙ‬دبد ‪ٛٔٚ‬افدز اٌّسدتخذَ ( ‪User‬‬ ‫)‪ٚ،Interfaces‬اٌّى‪ٔٛ‬دبد ‪ٚ ،Components‬اٌ‪ٛ‬حدذاد)‪ٚ (Modules‬اٌج‪١‬بٔدبد ٌٍٕظدبَ ود‪٠ ٟ‬حمدك إٌظدبَ ِتطٍجدبد‬ ‫اٌضث‪.ْٛ‬‬ ‫‪ٔ ‬م‪ َٛ‬ثّشحٍخ اٌتصّ‪ ُ١‬ثبستخذاَ اٌّتطٍجبد اٌت‪ ٟ‬حذدٔب٘ب‪.‬‬ ‫ٍزحيت اىتصٌٍَ ‪Design‬‬ ‫‪‬اىتصٌٍَ ٘‪ ٛ‬ػٍّ‪١‬خ تشجّخ ‪ٚ‬تح‪ِ ً٠ٛ‬تطٍجبد اٌّستخذَ اٌت‪ ٟ‬تُ االتفبق ػٍ‪ٙ١‬ب ث‪ِ ٓ١‬حًٍ إٌظُ‬ ‫‪ٚ‬اٌّستخذَ (‪ٚ‬ح‪١‬مخ اٌّتطٍجبد) ئٌ‪ ٝ‬تّخ‪ٌٍّٕ ً١‬ظ‪ِٛ‬خ اٌّشاد ئػذاد٘ب‪.‬‬ ‫‪‬اىهذف األسبسً ٍن اىتصٌٍَ ٘‪ ٛ‬ئػذاد ِٕظ‪ِٛ‬خ خبٌ‪١‬خ ِٓ األخطبء ‪٠‬تُ االػتّبد ػٍ‪ٙ١‬ب ألداء‬ ‫اٌّطٍ‪ٛ‬ثخ ‪ ٚ‬تى‪ ْٛ‬س‪ٍٙ‬خ االستخذاَ ‪ٚ‬اٌص‪١‬بٔخ‪.‬‬ ‫اٌ‪ٛ‬ظبئ‬ ‫‪‬ػٕذ اٌتصّ‪٠ ُ١‬جت اْ ٔأخز اػتجبساد ٌٍؼٕبصش اٌّ‪ّٙ‬خ ف‪ ٟ‬إٌّظ‪ِٛ‬خ ‪:ٟ٘ٚ‬‬ ‫‪ ‬اٌج‪١‬بٔبد ‪Data‬‬ ‫‪ ‬اٌّؼبٌجخ ‪Process‬‬ ‫‪ ‬اٌّستخذَ ‪User‬‬ ‫‪4‬‬ ‫ٍزحيت اىتصٌٍَ ‪Design‬‬ ‫‪‬يتم‏تقسيم مرحلة‏التصميم‏إلى أربعة نشاطات هي‪:‬‬ ‫‪Architectural design‬‬ ‫‪ o‬اٌتصّ‪ ُ١‬اٌّؼّبس‪ٞ‬‬ ‫‪User Interface design‬‬ ‫‪ o‬تصّ‪ٚ ُ١‬اج‪ٙ‬خ اٌّستخذَ‬ ‫‪ o‬تصّ‪ ُ١‬اإلجشاءاد (األجضاء اٌجشِج‪١‬خ) ))‪(Procedural design (Module‬‬ ‫‪Data design‬‬ ‫‪ o‬تصّ‪ ُ١‬اٌج‪١‬بٔبد‬ ‫‪5‬‬ ‫اىتصٌٍَ اىَعَبري ‪Architectural Design‬‬ ‫‪‬اىتصٌٍَ اىَعَبري ٘‪ ٛ‬ػٍّ‪١‬خ تجضئخ إٌّظ‪ِٛ‬خ اٌّشاد ئػذاد٘ب ئٌ‪ِ ٝ‬ى‪ٔٛ‬بد ) جضاء ثشِج‪١‬خ( ف‪ ٟ‬شىً‬ ‫٘شِ‪ٚ ،ٟ‬اٌغشض ٘‪ ٛ‬تجس‪١‬ط إٌّظ‪ِٛ‬خ اٌّؼمذح الجً س‪ٌٛٙ‬خ تصّ‪ ُ١‬خ‪ٛ‬اسصِ‪١‬بت‪ٙ‬ب ‪ٚ‬س‪ٌٛٙ‬خ ت‪ٛ‬ص‪٠‬ؼ‪ٙ‬ب ػٍ‪ٝ‬‬ ‫اٌّجشِج‪.ٓ١‬‬ ‫‪‬وٍن األدواث اىشبئعت اىتً تستخذً فً اىتصٌٍَ اىَعَبري هً‪:‬‬ ‫‪.1‬اٌّخطط اٌ‪١ٙ‬ىٍ‪Structure Chart ٟ‬‬ ‫‪ِ.2‬خطط ‪ٚ‬اسٔ‪١‬ش ا‪ٚ‬س ‪Warnier-orr‬‬ ‫‪6‬‬ Compare the same module designed using a Warnier-orr Vs. Structure Chart ‫اىتصٌٍَ اإلجزائً ‪Procedural Design‬‬ ‫‪٠‬تُ تج‪١ٙ‬ض اٌتصّ‪ ُ١‬اإلجشائ‪ Procedural design ٟ‬ثؼذ اٌتصّ‪ ُ١‬اٌّؼّبس‪ٚ ٞ‬تصّ‪ٚ ُ١‬اج‪ٙ‬خ‬ ‫‪‬‬ ‫اٌّستخذَ‪.‬‬ ‫وً جضء ثشِج‪ ٟ‬تُ روشٖ آ‪ ٚ‬تؼش‪٠‬فٗ ف‪ ٟ‬اٌتصّ‪ ُ١‬اٌّؼّبس‪.ٞ‬‬ ‫ف‪٘ ٟ‬زا اٌتصّ‪٠ ُ١‬تُ تّخ‪ٚ ٚ ً١‬ص‬ ‫‪‬‬ ‫٘زٖ األجضاء اٌجشِج‪١‬خ ِخً‪:‬‬ ‫‪ٚ‬تستخذَ دا‪ٚ‬د ٔص‪١‬خ ‪ِ ٚ‬خططبد ٌتّخ‪ٚٚ ً١‬ص‬ ‫‪‬‬ ‫‪ِ.1‬خطط االٔس‪١‬بة اٌ‪١ٙ‬ىٍ‪Structure Flow Chart ٟ‬‬ ‫‪.2‬شجٗ اٌشفشح ‪Pseudocode‬‬ ‫‪.3‬األداح اٌ‪ٙ‬شِ‪١‬خ االدخبي ‪ٚ‬اٌؼٍّ‪١‬بد ‪ٚ‬اإلخشاد ‪Hierarchal Input Process Output HIPO‬‬ ‫‪8‬‬ ‫‪Pseudocode‬‬ ‫ٍثبه ‪:‬‬ ‫وتت شجٗ اٌشفشح )‪ٌ(Pseudocode‬حسبة فبت‪ٛ‬سح اٌى‪ٙ‬شثبء )‪(charge‬ثبستخذاَ اٌمشاءح اٌسبثمخ ٌٍؼذاد )‪(last‬‬ ‫‪ٚ‬اٌمشاءح اٌحبٌ‪١‬خ )‪(pres‬حست اٌشش‪ ٚ‬االت‪١‬خ ‪:‬‬ ‫‪50‬دسُ٘ ٌٍى‪ٚ ٍٛ١‬اد ئرا وبْ فشق وّ‪١‬خ االست‪ٙ‬الن إٌبتجخ ِٓ اٌمشاءح اٌسبثمخ ‪ٚ‬اٌحبٌ‪١‬خ وجش ِٓ ‪)1000‬ن‪/‬ط(‬ ‫‪20‬دسُ٘ ٌٍى‪ٚ ٍٛ١‬اد ئرا وبْ فشق وّ‪١‬خ االست‪ٙ‬الن إٌبتجخ ِٓ اٌمشاءح اٌسبثمخ ‪ٚ‬اٌحبٌ‪١‬خ لً ِٓ ‪)1000‬ن‪/‬ط(‬ ‫‪9‬‬ Flow chart Structural English 10 product–service systems (HIPO) ‫تصٌٍَ اىبٍبنبث ‪Data Design‬‬ ‫‪٠‬جذ تصّ‪ ُ١‬اٌج‪١‬بٔبد ِٓ ِشحٍخ اٌتحٍ‪( ً١‬اٌتؼشف ػٍ‪ ٝ‬اٌج‪١‬بٔبد) ٌ‪١‬تُ تٕظ‪١٘ٚ ُ١‬ىٍخ اٌج‪١‬بٔبد‪.‬‬ ‫‪‬‬ ‫تصٌٍَ اىبٍبنبث‪ ٛ٘ :‬تح‪ ً٠ٛ‬اٌج‪١‬بٔبد اٌت‪ ٟ‬تُ ئػذاد٘ب ف‪ِ ٟ‬شحٍخ اٌتحٍ‪ ً١‬ئٌ‪١٘ ٝ‬بوً ث‪١‬بٔبد (تصّ‪ُ١‬‬ ‫‪‬‬ ‫لبػذح اٌج‪١‬بٔبد ‪١ٌ )Database Design‬تُ استخذاِ‪ٙ‬ب ف‪ ٟ‬اٌجشِجخ‪.‬‬ ‫ػٕذ تصّ‪ ُ١‬اٌج‪١‬بٔبد ‪٠ Data Design‬جت تج‪١ٙ‬ض االت‪:ٟ‬‬ ‫‪‬‬ ‫ لبِ‪ٛ‬ط اٌج‪١‬بٔبد‪.‬‬ ‫ اٌىبئٕبد ‪ٚ‬اٌؼاللبد ث‪ٕٙ١‬ب‪.‬‬ ‫ خصبئص وً وبئٓ‪.‬‬ ‫ ِخطط اٌىبئٕبد اٌؼالئم‪١‬خ )‪(ERD‬‬ ‫ تصّ‪ ُ١‬لبػذح ث‪١‬بٔبد ػالئم‪١‬خ ِتح‪ٌٛ‬خ ِٓ ِخطط )‪(ERD‬‬ ‫‪12‬‬ ‫تصٌٍَ واجهت اىَستخذً ‪User Interface Design‬‬ ‫تصميم الواجهات‪ :‬‏هي ‏تصمٌم طرٌقة تفاعل المستخدمٌن مع النظام‪ ،‬مثل وضع تفاصٌل التصامٌم‬ ‫ ‬ ‫الخاصة بشاشات اإلدخال )‪ (Forms‬والتقارٌر)‪.(Reports‬‬ ‫تعتبر هذه الخطوة من أهم الخطوات فً تصمٌم المنظومات‪.‬‬ ‫ ‬ ‫هناك عدة برامج بالحاسب اآللً لتصمٌم واجهات المستخدم وربطها بقواعد البٌانات منها النماذج‬ ‫ ‬ ‫فً برنامج )‪ (Access MS‬ولغات )‪ (Visual Basic‬و )‪ ، (Delphi‬سنستعرض نماذج لبعض‬ ‫شاشات المنظومة‪.‬‬ ‫قبل البدء فً تصمٌم الواجهات ٌجب على المحلل أن ٌدرس رغبات وامكانٌات المستخدم عند‬ ‫ ‬ ‫التعامل مع المنظومة‪.‬‬ ‫‪13‬‬ ‫تصٌٍَ واجهت اىَستخذً ‪User Interface Design‬‬ ‫وٌجب عنذ تصٌٍَ اىىاجهبث أخذ اَتً فً االعتببر‪:‬‬ ‫‪‬‬ ‫‪.1‬جؼً اٌ‪ٛ‬اج‪ٙ‬خ س‪ٍٙ‬خ اٌتؼٍُ ‪ٚ‬اٌف‪.ُٙ‬‬ ‫‪.2‬جؼً اٌ‪ٛ‬اج‪ٙ‬خ تتؼبًِ ِغ األخطبء‪.‬‬ ‫‪.3‬استخذاَ اٌم‪ٛ‬ائُ ‪ٚ‬اٌشس‪ِٛ‬بد لذس اٌّستطبع‪.‬‬ ‫‪.4‬ت‪ٛ‬ف‪١‬ش اٌّسبػذح ‪ Help‬ف‪ ٟ‬حبٌخ ػذَ اٌمذسح ػٍ‪ ٝ‬اداء ‪ٚ ٞ‬ظ‪١‬فخ‪.‬‬ ‫‪.5‬استخذاَ ِصطٍحبد ث‪١‬ئخ ػًّ اٌضث‪.ْٛ‬‬ ‫‪.6‬تّى‪ ٓ١‬اٌّستخذَ ِٓ اٌتشاجغ ػٓ االِش ‪ ٚ‬اػبدتٗ‪.‬‬ ‫‪.7‬استخذَ اٌص‪ٛ‬د ‪ٚ‬اٌص‪ٛ‬سح ‪ٚ‬اٌف‪١‬ذ‪ ٛ٠‬وٍّب اِىٓ رٌه‪.‬‬ ‫‪.8‬تمٍ‪ ً١‬حجُ اٌج‪١‬بٔبد اٌّذخٍخ ٌٍّٕظ‪ِٛ‬خ ‪ٚ‬رٌه ثبستخذاَ ل‪ٛ‬ائُ اٌؼشض ‪ٚ‬اخت‪١‬بس اٌجٕ‪ٛ‬د‪.‬‬ ‫‪14‬‬ ‫تصٌٍَ واجهت اىَستخذً ‪User Interface Design‬‬ ‫طرق التفاعل بين المستخدم والحاسوب‪:‬‏‏‬ ‫‪‬‬ ‫ٌتم التفاعل بإحدى الطرق التالٌة‪:‬‬ ‫‪.1‬النص‪.‬‬ ‫‪.2‬القائمة‪.‬‬ ‫‪.3‬االٌقونات‪.‬‬ ‫‪15‬‬ ‫تصٌٍَ واجهت اىَستخذً ‪User Interface Design‬‬ ‫ٌقوم المحلل بإعداد تصمٌم لشاشات الرئٌسٌة لإلدخال فً المنظومة والتً سٌستعملها المستخدم ولهذا من‬ ‫‪‬‬ ‫المهم أن ٌكون هذا التصمٌم بالتشاور مع المستخدم حتى ٌسهل علٌه استعمال المنظومة ولتفادي أي أخطاء‬ ‫تنتج بسبب سوء االستعمال للمنظومة‪.‬‬ ‫باإلضافة إلى ذلك ٌقوم المصمم بتصمٌم الواجهات أو شاشات اإلخراج والتقارٌر التً تطبع على الورق‬ ‫‪‬‬ ‫إدخال بيانات‬ ‫بتحدٌد البٌانات المهمة فً كل شاشة أو تقرٌر أو كشف‪.‬‬ ‫طالب‬ ‫رقم‬ ‫اسم‬ ‫القٌد‬ ‫الطالب‬ ‫تارٌخ‬ ‫الجنــــ‬ ‫المٌالد‬ ‫ـس‬ ‫عنوان‬ ‫السكن‬ ‫المدرسة‬ ‫التخصص‬ ‫المتوسط‬ ‫خروج‬ ‫إدخال‬ ‫‪16‬‬ ‫تصٌٍَ واجهت اىَستخذً ‪User interface design‬‬ ‫تصميم الواجهات‪:‬‏‏‬ ‫إدخال بيانات مقرر دراسي‬ ‫إخراج نتيجة طالب في مادة‬ ‫رقم المقرر‬ ‫أدخل رقم الطالب‬ ‫اسم المقرر‬ ‫اسم رقم المادة‬ ‫نوع المقرر‬ ‫الدرجــــــة‬ ‫عدد الوحدات‬ ‫التقديـــــــر‬ ‫خروج‬ ‫إدخال‬ ‫خروج‬ ‫عرض‬ ‫‪17‬‬ ‫ٍزحيت اىتصٌٍَ ‪Design‬‬ ‫ػٕذ اٌتصّ‪٠ ُ١‬تُ اخت‪١‬بس االد‪ٚ‬اد إٌّبسجخ ثٕبء ػٍ‪ ٝ‬إٌّ‪ٙ‬ج‪١‬خ اٌّختبسح ٌؼٍّ‪١‬خ‪:‬‬ ‫اٌتصّ‪ ُ١‬اٌ‪١ٙ‬ىٍ‪ ٛ٘ :ٟ‬تح‪ ٚ ً٠ٛ‬تشجّخ اٌّتطٍجبد اٌ‪ ٟ‬تّخ‪ٌٍّٕ ً١‬ظ‪ِٛ‬خ اٌجذ‪٠‬ذح‪ ،‬ا‪ ٞ‬اٌ‪ٛ‬ص‪ٛ‬ي‬ ‫ ‬ ‫اٌحً ثبستخذاَ د‪ٚ‬اد ‪ ٚ‬شق ٘‪١‬ىٍ‪١‬خ (٘شِ‪١‬خ)‪.‬‬ ‫إٌّظ‪ِٛ‬خ ‪٠ٚ‬ص‬ ‫اٌ‪ّٛٔ ٟ‬رد ‪٠‬ج‪ٚ ٓ١‬ظبئ‬ ‫اٌتصّ‪ ُ١‬اٌش‪١‬ئ‪ :ٟ‬ش‪٠‬مخ تإد‪ ٞ‬اٌ‪ ٟ‬تفى‪١‬ه إٌّظ‪ِٛ‬خ ثّٕح‪ ٝ‬وبئٕ‪ٚ ٟ‬رٌه ثبستخذاَ اٌىبئٕبد‬ ‫ ‬ ‫‪ٚ‬اٌفصبئً ‪ٚ‬اٌتفبػالد ث‪ّٕٙ١‬ب‪.‬‬ ‫‪18‬‬ ‫االدواث و اىَخططبث اىَستخذٍت فً اىتصٌٍَ اىهٍنيً‬ ‫اٌّخطط اٌ‪١ٙ‬ىٍ‪Structure chart ٟ‬‬ ‫ ‬ ‫مخطط االنسٌاب الهٌكلً ‪Structure Flow Chart‬‬ ‫ ‬ ‫قاموس البٌانات‪.‬‬ ‫ ‬ ‫مخطط الكائنات العالئقٌة ‪ERD‬‬ ‫ ‬ ‫‪19‬‬ ‫اىتصٌٍَ اىنبئنً ( اىشٍئً)‬ ‫اٌّشئ‪١‬خ اٌّؼتّذح ٌتحٍ‪ ٚ ً١‬تصّ‪ ُ١‬إٌظُ اٌش‪١‬ئ‪١‬خ‪.‬‬ ‫تؼتجش ٌغخ إٌّزجخ اٌّ‪ٛ‬حذح ‪ٌ ٟ٘ UML‬غخ اٌ‪ٛ‬ص‬ ‫‪ٚ‬تّخ‪ ً١‬إٌظبَ ِٓ ٔ‪ٛ‬اح‪ٟ‬‬ ‫إٌظُ ػجش استخذاَ ِخططبد ػذ‪٠‬ذح وً ِٕ‪ٙ‬ب ‪٠‬م‪ َٛ‬ث‪ٛ‬ص‬ ‫تم‪ٌ َٛ‬غخ ث‪ٛ‬ص‬ ‫ِؼ‪ٕ١‬خ‪.‬‬ ‫‪ ِٓٚ‬اٌّخططبد اٌّستخذِخ ف‪ِ ٟ‬شحٍخ اٌتصّ‪:ٟ٘ ُ١‬‬ ‫ِخطط اٌفص‪ٍ١‬خ ‪Class Diagram‬‬ ‫اٌّ‪ٙ‬بَ ‪Activity Diagram‬‬ ‫ِخطط ‪ٚ‬ص‬ ‫ِخطط اٌتتبثغ ‪Sequence Diagram‬‬ ‫‪20‬‬ ‫اىفصٍيت اىفئت أو ٍخطظ‬ ‫‪Class Diagram‬‬ ‫‪ِ‬خطط اٌفص‪ٍ١‬خ ٘‪ ٛ‬اداح تحٍ‪ ٚ ً١‬تصّ‪ ُ١‬وبئٕ‪ ٟ‬ىىصف اىهٍنيت اىسبمنت ىينظبً ‪.‬ف‪٘ ٟ‬زا إٌ‪ٛ‬ع ِٓ اٌّخططبد‬ ‫ٔشسُ ِجّ‪ٛ‬ػخ ِٓ اٌفصبئً ‪ٔٚ‬ج‪ ٓ١‬ػاللبت‪ٙ‬ب‪.‬‬ ‫‪Class Name‬‬ ‫رٍىس ٍخطظ اىفصٍيت ‪:‬‬ ‫‪Attributes‬‬ ‫‪٠‬تُ تّخ‪ِ ً١‬خطط اٌفص‪ٍ١‬خ ػٍ‪ ٟ‬شىً ِستط‪ِ ً١‬مسُ ئٌ‪ ٟ‬حالث لسبَ‪:‬‬ ‫‪.1‬اسُ اٌفص‪ٍ١‬خ ‪Class Name‬‬ ‫‪Operations‬‬ ‫‪.2‬اٌخصبئص ‪Attributes‬‬ ‫‪.3‬اٌطشق (اٌؼٍّ‪١‬بد) ‪Operations‬‬ ‫‪21‬‬ ‫رؤٌت اىفصٍيت ‪Class Visibility‬‬ ‫تج‪ ٓ١‬سؤ‪٠‬خ اٌفص‪ٍ١‬خ ِٓ ٌٗ اٌمذسح ػٍ‪ ٝ‬اٌ‪ٛ‬ص‪ٛ‬ي ئٌ‪ ٝ‬اٌج‪١‬بٔبد ف‪ ٟ‬داخً اٌفص‪ٍ١‬خ‪.‬‬ ‫هنبك ‪3‬طزق ىيىصىه ىيخصبئص واىطزق فً اىفصٍيت ‪:‬‬ ‫‪ ‬رؤٌت خبصت ‪ٍ:‬ثو بإشبرة ‪ٛ٠ (-)Private Visibility‬جذ ٌذ‪ٕ٠‬ب ٕ٘ب فص‪ٍ١‬خ ‪ٚ‬احذح تخف‪ِ ٟ‬ؼٍ‪ِٛ‬بت‪ٙ‬ب )اٌخصبئص‬ ‫‪ٚ‬اٌؼٍّ‪١‬بد (ػٓ اٌفصبئً االخش‪.ٜ‬‬ ‫‪ ‬رؤٌت عبٍت ‪ٌ:‬تٌ تَثٍيهب بإشبرة ‪ٕ٘(+)Public Visibility‬ب ‪ّ٠‬ىٓ ْ تش‪ ٜ‬اٌفصبئً االخش‪ِ ٜ‬ؼٍ‪ِٛ‬بد ٘زٖ اٌفص‪ٍ١‬خ‪.‬‬ ‫‪ ‬رؤٌت ٍحٍَةت ‪ٌ( :‬ةتٌ تَثٍيهةب بإشةبرة ‪ّ٠ Protected Visibility)#‬ىدٓ ٕ٘دب ْ تصدً اٌفصد‪ٍ١‬خ االثدٓ ئٌد‪ِ ٝ‬ؼٍ‪ِٛ‬دبد‬ ‫اٌفص‪ٍ١‬خ االَ ثؼٍّ‪١‬خ اٌ‪ٛ‬ساحخ‪.‬‬ ‫ٍالحظت ‪ :‬تسَى اىزؤٌت أٌضب سَبحٍت اىىصىه ‪access modifier‬‬ ‫اىفصٍيت اىفئت أو ٍخطظ‬ Class Diagram Class Relationships ً‫ػاللبد اٌفصبئ‬ :ٓ١‫ٍت‬١‫ٓ اٌفص‬١‫اع ِختٍفخ ِٓ اٌؼاللبد ث‬ٛٔ‫جذ ا‬ٛ‫ت‬ Association ‫ػاللخ اٌشثط‬.1 Aggregation Relationship ‫غ‬١ّ‫ػاللخ تج‬.2 Composition Relationship ‫ت‬١‫ػاللخ اٌتشو‬.3 Generalization Relationship ُ١ّ‫ػاللخ اٌتؼ‬.4 23 ‫‪.1‬عالقت اىزبظ ‪ Association‬بٍن اىفصبئو‬ ‫‪٠‬تُ تّخ‪ ً١‬ػاللخ اٌشثط ثخط ِستم‪ ُ١‬ث‪ ٓ١‬اٌفص‪ٍ١‬خ ‪ ٚ‬األخش‪.ٜ‬ػٍ‪ ٟ‬سج‪ ً١‬اٌّخبي اْ تى‪ ْٛ‬اٌؼاللخ‬ ‫الشركة تعين الموظف‬ ‫‪ٚ‬اٌششوخ ػٍ‪ ٝ‬إٌح‪ ٛ‬اٌتبٌ‪:ٟ‬‬ ‫ث‪ ٓ١‬اٌّ‪ٛ‬ظ‬ ‫‪hires‬‬ ‫اىتضبعف ‪Multiplicity of associations‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫ ‪ٚ‬احذ اٌ‪ٚ ٝ‬احذ ‪: no more than one‬‬ ‫*‬ ‫*‬ ‫ وخ‪١‬ش اٌ‪ ٝ‬وخ‪١‬ش‪: more than one‬‬ ‫ ِٓ ‪ٚ‬احذ اٌ‪ ٟ‬وخ‪١‬ش ‪1... * : from one to many‬‬ ‫‪24‬‬ ‫ بٍن اىفصبئو‬Association ‫ عالقت اىزبظ‬.1 Company Employs Employee ‫‏‬:‫امثلة‬ 1 * 25 ‫‪.2‬عالقت تجٍَع ‪Aggregation Relationship‬‬ ‫‪‬هً عالقة ربط بٌن فصٌلتٌن أو أكثر بحٌث تمثل فصٌلة واحدة الكل‪ ،‬بٌنما االخرٌن أجزاء من الكل‪.‬‬ ‫مثل الحاسوب هو تجمع من وحدة المعالجة وبطاقة الرسومٌات‪ ،‬و بطاقة الصوت وهكذا‪.‬‬ ‫‪26‬‬ ‫‪.3‬عالقت اىتزمٍب ‪Composition Relationship‬‬ ‫‪٠ ‬ؼتجش ٘زا إٌ‪ٛ‬ع ل‪ ِٓ ٜٛ‬ػاللخ اٌتجّ‪١‬غ ح‪١‬ج تى‪ ْٛ‬ػاللخ ل‪٠ٛ‬خ ث‪ ٓ١‬اٌفص‪ٍ١‬خ اٌشبٍِخ ‪ٚ‬اٌفص‪ٍ١‬خ‬ ‫اٌّتجضئخ ِٕ‪ٙ‬ب‪.‬ح‪١‬ج اْ االجضاء ػبدح ِب تح‪١‬ب ‪ ٚ‬تّ‪ٛ‬د ِغ اٌفص‪ٍ١‬خ اٌشبٍِخ‪ ٞ.‬ال ‪ٚ‬ج‪ٛ‬د ٌٍىً ثذ‪ْٚ‬‬ ‫االجضاء‪.‬‬ ‫أٍثيت عيى عالقت اىتزمٍب ‪:‬‬ ‫‪‬اىعالقت بٍن اىسٍبرة وىىحت اىتسجٍو اىَعذنٍت‪.‬‬ ‫ٌ‪ٛ‬حخ اٌتسج‪ِ ً١‬شتجطخ ثبٌس‪١‬بسح ‪ٚ ,‬تّ‪ٛ‬د ثّ‪ٛ‬ت‪ٙ‬ب‪.‬‬ ‫‪‬اىَىاطن ٌَيل جىاس سفز‪.‬‬ ‫ج‪ٛ‬اص اٌسفش ِشتجط ثبٌّ‪ٛ‬ا ٓ ‪ٕ٠ٚ‬ت‪ ٟٙ‬ثبٔت‪ٙ‬بء ‪ٚ‬ج‪ٛ‬دٖ‪.‬‬ ‫‪27‬‬ ‫‪.4‬عالقت اىتعٌٍَ ‪Generalization Relationship‬‬ ‫اٌّؼشفخ‬ ‫‪ ‬اٌتؼّ‪ ٛ٘ ُ١‬اسُ اخش ٌؼاللخ اٌ‪ٛ‬ساحخ‪.‬ف‪٘ ٟ‬زٖ اٌؼاللخ االثٕبء ‪٠ Cٚ B‬شح‪ ْٛ‬اٌ‪ٛ‬ظبئ‬ ‫ٌٍفص‪ٍ١‬خ االَ ‪. A‬‬ ‫‪28‬‬ ‫‪ٍClass Diagram‬خطظ اىفئت أو اىفصٍيت‬ ‫‪ٍClass Diagram‬خطظ اىفئت أو اىفصٍيت‬ ‫مخطط الفئة لنظام مكتبه‬ End

Use Quizgecko on...
Browser
Browser