*** ******* ******* UML
Download
Report
Transcript *** ******* ******* UML
لغة النمذجة الموحدة
UML
د .محمد أحمد
مقدمة
• تقدم لغة النمذجة الموحدة مجموعة من أفضل خبرات الممارسات
الهندسية التى ثبت نجاحها فى نمذجة النظم الكبيرة والمعقدة ،وهى جزء
مهم من التطوير الكائنى المنحى للبرمجيات وعمليات تطوير
البرمجيات.
• ليست لغة النمذجة الموحدة منهجية لبناء أو تصميم البرمجيات
وتطويرها.
• ال ترتبط لغة النمذجة الموحدة بمنهجية أو طرق إنتاج البرمجيات،
ويمكن توظيف هذه اللغة على مختلف العمليات البرمجية بغض النظر
عن المنهجية المتبعة.
تحتوى اللغة على تسعة نماذج أساسية هى
• مخطط الفئات
• مخطط األنشطة
• مخطط الكائن
• مخطط التعاون
• مخطط حالة اإلستخدام
• مخطط المكون
• مخطط الحالة
• مخطط التجهيز
• مخطط التتابع
أنواع مخططات لغة النمذجة الموحدة
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
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
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
25