830 likes | 2.11k Views
ل غ ة النمذجة الموحدة UML مبادىء الهندسة غرضية التوجه و. د. محمد أحمد المحاضرة 5. مقدمة. تقدم لغة النمذجة الموحدة مجموعة من أفضل خبرات الممارسات الهندسية التى ثبت نجاحها فى نمذجة النظم الكبيرة والمعقدة، وهى جزء مهم من التطوير الكائنى المنحى للبرمجيات وعمليات تطوير البرمجيات.
E N D
لغة النمذجة الموحدةUMLمبادىء الهندسة غرضية التوجهو د. محمد أحمد المحاضرة 5
مقدمة • تقدم لغة النمذجة الموحدة مجموعة من أفضل خبرات الممارسات الهندسية التى ثبت نجاحها فى نمذجة النظم الكبيرة والمعقدة، وهى جزء مهم من التطوير الكائنى المنحى للبرمجيات وعمليات تطوير البرمجيات. • ليست لغة النمذجة الموحدة منهجية لبناء أو تصميم البرمجيات وتطويرها. • لا ترتبط لغة النمذجة الموحدة بمنهجية أو طرق إنتاج البرمجيات، ويمكن توظيف هذه اللغة على مختلف العمليات البرمجية بغض النظر عن المنهجية المتبعة.
مخطط الأنشطة مخطط التعاون مخطط المكون مخطط التجهيز مخطط الفئات مخطط الكائن مخطط حالة الإستخدام مخطط الحالة مخطط التتابع تحتوى اللغة على تسعة نماذج أساسية هى
أنواع مخططات لغة النمذجة الموحدةUML Diagrams • مخطط حالة الإستخدام: التى تعرض العلاقة بين الفاعلين actors وحالات الإستخدام. • مخططات الفئة: التى تنمذج هيكل الفئة المحتويات بإستخدام عناصر التصميم مثل الفئات والحزم والكائنات وتعرض أيضاً العلاقات مثل المحتوى والوراثة والإرتباطات وغيرها. • مخططات التفاعل: وتشمل • مخطط التتابع: الذى يعرض التتابع الزمنى للكائنات المشاركة فى التفاعل، ويتكون من بعد رأسى للزمن وبعد افقى للكانئات المختلفة.
أنواع مخططات لغة النمذجة الموحدة(تابع) • مخطط التعاون: ويعرض التفاعلات التى تنتظم حول الكائنات والوصلات بينها وبعضها البعض، وتستخدم الأرقام لبيان تتابع الرسائل. • مخطط الحالة: يعرض تتابع الحالات التى يكون عليها كائن التفاعل خلال دورة حياته إستجابة لإستقبال تنيه مع إستجابته وأفعاله. • مخطط النشاط: يعرض مخطط حالة خاصة حيث تكون معظم الحالات حالات أفعال ومعظم التعاملات تم قدحها بواسطة إتمام أفعال الحالات المصدر، ويركز هذا المخطط على التدفقات المقادة بالمعالجة الداخلية.
Diagrams in UML • Class diagrams ---Object diagrams • Use Case diagrams----Sequence diagrams--Collaboration diagrams • State chart diagrams--Activity diagrams • Component diagrams--Deployment diagrams
Use Case diagram • يفهم ويحلل النظام من خلال الاعمال التي ينفذها النظام مع المستخدم والتي تسمى ب Use Case أي ان كل Use Case تمثل فعالية من فعليات النظام ( المستخدم هنا يمكن أن يكون جزء من نظام آخر أو من يفعل هذه Use Case . • هنا في هذا المخطط يصف ما سوف يفعله النظام من وجهة نظر المراقب الخارجي. • يتم توصيف كل Use casesأولا من خلال اللغة الطبيعة وهذا التوصيف يكون أقرب ما يكون للمفاهيم العادية أي قريب من اللغة المتداولة . • يقدم سيناريو لما يمكن أن يحدث ضمن كل Use cases وبالتاليلكل Use cases مخطط تتابع أحداث Sequence Diagram
Use Caseأمثلة على الـ مستخدم يطلب من النظام إنشاء ملف جديد لموظف جديد (توصف بـ Use cases ) مريض يطلب من النظام تحديد موعد جديد (توصف بـ Use cases ) زبون يطلب من النظام شراء آلي لمنتخ (توصف بـ Use cases ) مستخدم يطلب من النظام إنشاء أو فتح حساب بنكي (توصف بـ Use cases ) مستخدم يطلب من النظام تحويل مصرفي (توصف بـ Use cases ) مستخدم يطلب من النظام مبالغ من المال (توصف بـ Use cases ) مستخدم يطلب من النظام إصدار الجلاء المدرسي (توصف بـ Use cases ) مستخدم يطلب من النظام صرف وصفة طبية (توصف بـ Use cases ) طالب يطلب من النظام كشف علاماته (توصف بـ Use cases ) مستخدم يطلب من النظام اصدار جداول بيانات محددة (توصف بـ Use cases ) زبون يطلب من النظام حجز بطاقة طيران (توصف بـ Use cases ) مستخدم يطلب من النظام .................
Use Case Notation • وتمثل كل Use Case بالـرمز ............... • ويمثل تفاعل كل Use Case • مع المستخدم الذي هو المفعّل لفعليات النظام أو Actor بالرمز • An actor defines a coherent set of roles that users of an entity can play when interacting with the entity. An actor may be considered to play a separate role with regard to each use case with which it communicates. Use Case Name
ويمثل تفاعل كل Use Case • مع المستخدم الذي هو المفعّل لفعليات النظام أو Actor بالرمز • An actor defines a coherent set of roles that users of an entity can play when interacting with the entity. • An actor may be considered to play a separate role with regard to each use case with which it communicates.
طالب يطلب من النظام كشف علاماته طلب كشف علامات …………….Use case Actor………… طالب Use Case Example
مستخدم يطلب من النظام إصدار الجلاء المدرسي إصدار الجلاء المدرسي …………….Use case Actor………… مستخدم Use Case Example
تحديد actors and Use Cases • يتم تحديد actors and Use Cases من Problem Statementفي حال كان النص مصاغ بشكل دقيق وإلا سوف تيم الاختيار وفق الخبرة للمصمم • عادة يتم اختيار الاسماء التي تلعب دور في تفعيل الاعمال للنظام كـ actors • وعادة يتم تحديد الأفعال التي ترد في النص ( التي لها صبغة أعمال )كـ use case • مثال :)جزء من النص الكلي للنظام ) • في أحد من برامج التسويق الالكتروني يتم الإختيار من قبل الزبون لشراء منتج الشركة (موبايل بأنوع محددة – كمبيوتر بأنواع محددة ) وفق الكود والسعر المرفق لصورة المنتج ويمكن للزبون طلب لعرض معلومات إضافية عن المنتج المحدد أو عرض صورة واضحة له مع بعض المعلومات الخاصة specification له وطباعتها.
الشروط الواجب إتباعها عندكتابة use case • Use cases should be names using verbs • Use Cases should be described: • What makes them happen • What are the conditions that they happen • What are the input messages • What are the output messages • What are all the other conditions and restraints • What are the exceptions • Use Cases are tools use by Actors to get results
Why write Use Cases • Because Use Cases • Help you understand WHAT you are modeling • Help you communicate with your clients • Help you estimate your requirements • Help you introduce the system to your team • Help you plan your design phase • Help you plan your testing phase • Help you write your documentation (How-to’s)
How we write Use Cases • At least, we should describe: • Who are the actors • Why does it happen? (the goal and/or context) • When does it happen? (the triggering event) • What happens? (the normal flow) • What else? (alternative and/or exceptional flows) • What are all the business rules? • Do not bother writing how it happens.
Lending use-caseمثال حالة إستخدام إعارة من مكتبة:
مثال حالات إستخدام المكتبة:خدمات الإعارة – إدارة المستخدم – خدمات توفير الفهرس – مستخدم المكتبة – طاقمالمكتبة.Library use-cases
Example Use Case Diagram Make automated menu selections Expert Menu System Order food and drink Cook Notify customer that food and drink are ready Customer Pay for food and drink Payment System
مبادىء الهندسة غرضية التوجه • البرمجة الهيكلية • البرمجة غرضية التوجه
الأغراض • ماهو الغرض؟ • واصفات الغرض • الطرائق
الصفوف • ماهو الصف؟ • العلاقات بين الصفوف • العلاقات بين الصفوف - الوراثة
الوراثة • الوراثة الأحادية • الوراثة المتعددة
خصائص البرمجة غرضية التوجه • أخفاء المعلومات والكبسلة • تعددية الاشكال • إعادة تعريف الطرائق
العلاقة بين الصفوف • علاقة واحد لواحد: كل مدير يرأس قسم واحد والعكس صحيح • علاقة واحد لكثير: مثال الموظف والخدمة • علاقة كثير لكثير: مثال الطالب والمواد الدراسية