لغة النمذجة الموحدة UML مقدمة • تقدم لغة النمذجة الموحدة مجموعة من أفضل خبرات الممارسات الهندسية التى ثبت نجاحها فى نمذجة النظم الكبيرة والمعقدة ،وهى جزء مهم من التطوير الكائنى المنحى للبرمجيات وعمليات تطوير البرمجيات. • ليست لغة النمذجة الموحدة منهجية لبناء أو تصميم البرمجيات وتطويرها. • ال ترتبط لغة النمذجة الموحدة بمنهجية أو طرق إنتاج البرمجيات، ويمكن توظيف هذه اللغة على مختلف العمليات البرمجية بغض النظر عن المنهجية المتبعة. تحتوى اللغة على تسعة نماذج أساسية هى • مخطط الفئات • مخطط الكائن • مخطط األنشطة • مخطط التعاون • مخطط حالة اإلستخدام • مخطط المكون • مخطط الحالة • مخطط التجهيز • مخطط التتابع أنواع مخططات لغة النمذجة الموحدة UML Diagrams • مخطط حالة اإلستخدام :التى تعرض العالقة بين الفعلة actors وحاالت اإلستخدام. • مخططات الفئة :التى تنمذج هيكل الفئة المحتويات بإستخدام عناصر التصميم مثل الفئات والحزم والكائنات وتعرض أيضاً العالقات مثل المحتوى والوراثة واإلرتباطات وغيرها. • مخططات التفاعل :وتشمل • مخطط التتابع :الذى يعرض التتابع الزمنى للكائنات المشاركة فى التفاعل ،ويتكون من بعد رأسى للزمن وبعد افقى للكانئات المختلفة. أنواع مخططات لغة النمذجة الموحدة (تابع) • مخطط التعاون :ويعرض التفاعالت التى تنتظم حول الكائنات والوصالت بينها وبعضها البعض ،وتستخدم األرقام لبيان تتابع الرسائل. • مخطط الحالة :يعرض تتابع الحاالت التى يكون عليها كائن التفاعل خالل دورة حياته إستجابة إلستقبال تنيه مع إستجابته وأفعاله. • مخطط النشاط :يعرض مخطط حالة خاصة حيث تكون معظم الحاالت حاالت أفعال ومعظم التعامالت تم قدحها بواسطة إتمام أفعال الحاالت المصدر ،ويركز هذا المخطط على التدفقات المقادة بالمعالجة الداخلية. السؤال رقم 5فى التقرير وضحى بالرسم ما هو • الفرق بين مخططات لغة النمذجة الموحدة 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 IMPORTANT QUESTION وضحى بالرسم كيف يمكن • استخدام مخطط التتابع 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 Name ............... بالـرمز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 ويمثل تفاعل كل بالرمز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 ارسمى مخطط حالة االستخدام • Sequence Diagram لمريض يريد ان • -1حجز موعد • -2الغاء الموعد • -3طلب عالج • -4دفع المصاريف • Example: Use Case Diagram Example: Use Case Diagram open file user <<extend>> file operations close file <<extend>> <<extend>> <<extend>> save file print file System open file user <<extend>> file operations close file <<extend>> <<extend>> <<extend>> save file print file تحديد actors and Use Cases يتم تحديد actors and Use Casesمن Problem Statementفي حال كان النص مصاغ بشكل دقيق وإال سوف تيم االختيار وفق الخبرة للمصمم عادة يتم اختيار االسماء التي تلعب دور في تفعيل االعمال للنظام كـ actors وعادة يتم تحديد األفعال التي ترد في النص ( التي لها صبغة أعمال ) كـ use case مثال ):جزء من النص الكلي للنظام ) في أحد من برامج التسويق االلكتروني يتم اإلختيار من قبل الزبون لشراء منتج الشركة (موبايل بأنوع محددة – كمبيوتر بأنواع محددة ) وفق الكود والسعر المرفق لصورة المنتج ويمكن للزبون طلب لعرض معلومات إضافية عن المنتج المحدد أو عرض صورة واضحة له مع بعض المعلومات الخاصة specificationله وطباعتها. print selected communicate search in Mobile_page <<extend>> customer communicate <<extend>> <<extend>> select in computer_page view info <<extend>> communicate make order 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 :مثال حالة إستخدام إعارة من مكتبة Lending services :مثال حاالت إستخدام المكتبة خدمات اإلعارة – إدارة المستخدم – خدمات توفير الفهرس – مستخدم المكتبة – طاقم المكتبة . Library use-cases Lending services Library User User administration Supplier Catalog services Library Staff Example Use Case Diagram Make automated menu selections Expert Menu System Order food and drink Customer Notify customer that food and drink are ready Pay for food and drink Cook Payment System 28