SlideShare a Scribd company logo
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 1
‫ل‬‫غ‬‫ة‬‫النمذجة‬‫الموحدة‬
UML
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 2
‫البرمجيات‬ ‫تطوير‬
‫دور‬ ‫له‬ ‫واحد‬ ‫كل‬ ‫و‬ ،‫األفراد‬ ‫من‬ ‫عدد‬ ‫فيه‬ ‫يشترك‬ ‫البرمجيات‬ ‫تطوير‬:
‫ّلون‬‫ل‬‫المح‬
‫ّمون‬‫م‬‫المص‬
‫المبرمجون‬
‫باالختبار‬ ‫القائمون‬
‫الجودة‬ ‫مراقبو‬
‫المستفيدون‬
‫التقنيون‬ ‫ّاب‬‫ت‬‫الك‬
‫بجوانب‬ ‫يهتمون‬ ‫األفراد‬ ‫هؤالء‬ ّ‫ل‬‫ك‬‫النظام‬ ‫من‬ ‫مختلفة‬‫إلى‬ ‫يحتاج‬ ‫منهم‬ ‫واحد‬ ّ‫ل‬‫ك‬ ‫و‬ ،
‫التفاصيل‬ ‫من‬ ‫مختلف‬ ‫مستوى‬.
‫على‬‫المثال‬ ‫سبيل‬‫ا‬ ،‫لمبرمج‬‫يفهم‬ ‫أن‬ ‫إلى‬ ‫يحتاج‬‫الموضوع‬ ‫التصميم‬‫من‬ ‫للمنظومة‬
‫األدنى‬ ‫مستواها‬ ‫في‬ ‫برمجية‬ ‫تعليمات‬ ‫إلى‬ ‫تحويله‬ ‫أجل‬.
‫بالمقابل‬‫التقني‬ ‫الكاتب‬(‫ّق‬‫ث‬‫المو‬)‫على‬ ‫اهتمامه‬ ّ‫ب‬‫ينص‬ّ‫ل‬‫كك‬ ‫النظام‬ ‫سلوك‬‫فيحتاج‬ ،
‫المنتج‬ ‫يعمل‬ ‫كيف‬ ‫لفهم‬.
‫أ‬.‫سميرة‬‫ابوغليون‬2012 3
‫النمذجة‬The Modeling
‫نقوم‬ ‫لماذا‬‫بالنمذجة‬‫؟‬
‫نماذج‬ ‫ببناء‬ ‫نقوم‬‫بتطويره‬ ‫نقوم‬ ‫نظام‬ ‫أي‬ ‫فهم‬ ‫من‬ ‫نتمكن‬ ‫حتى‬،‫في‬ ‫قدرتنا‬ ‫ألن‬ ‫وذلك‬
‫محدودة‬ ‫واحدة‬ ‫دفعة‬ ‫بكاملة‬ ‫النظام‬ ‫فهم‬،
‫نقوم‬ ‫ما‬ ‫نظام‬ ‫لدراسة‬‫بتقسيمه‬‫إلى‬‫نماذج‬ ‫و‬ ‫مراحل‬‫ويعرف‬‫النموذج‬‫تبسيط‬ ‫أنه‬ ‫على‬
‫المعقدة‬ ‫للمسائل‬ ‫وتجريد‬
‫خالل‬ ‫من‬ ‫يتم‬‫النموذج‬‫حذف‬‫معينة‬ ‫نظر‬ ‫لوجهة‬ ‫بالنسبة‬ ‫له‬ ‫داعي‬ ‫ال‬ ‫ما‬ ‫كل‬(‫ما‬ ‫وهذا‬‫يسمى‬
‫بالتجريد‬Abstraction)‫وإبقاء‬‫المهمة‬ ‫األجزاء‬‫النظر‬ ‫وجهة‬ ‫لنفس‬ ‫بالنسبة‬
‫األساس‬ ‫هذا‬ ‫على‬ ‫الدراسة‬ ‫وتتم‬،‫على‬ ‫النموذج‬ ‫يعتمد‬ ‫و‬‫النظر‬ ‫وجهة‬‫بعين‬ ‫المأخوذة‬
‫االعتبار‬‫نموذج‬ ‫من‬ ‫ألكثر‬ ‫ونحتاج‬‫الغاية‬ ‫لتحقيق‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 4
‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬
‫عامي‬ ‫بين‬ ‫الواقعة‬ ‫الفترة‬ ‫في‬1989‫و‬1994‫البرمجيات‬ ‫مهندسو‬ ‫كان‬ ،
‫يفتقرون‬‫لمثل‬‫الرموز‬ ‫هذه‬.‫بـ‬ ‫إليها‬ ‫يشار‬ ‫التي‬ ‫الفترة‬ ‫هي‬ ‫و‬"‫حروب‬
‫المناهج‬”.
‫توجد‬ ‫ال‬‫متكاملة‬ ‫لغة‬،‫ما‬ ‫نادرا‬‫يرضي‬ ‫ما‬ ‫البرمجيات‬ ‫على‬ ‫القائمون‬ ‫يجد‬
‫واحدة‬ ‫لغة‬ ‫في‬ ‫حاجتهم‬ ‫كامل‬!
‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫ظهرت‬ ‫التسعينات‬ ‫في‬.UML‫لجهود‬ ‫كمحصلة‬
‫خبراء‬ ‫ثالث‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 5
‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬
‫التسعينيات‬ ‫منتصف‬ ‫في‬‫برزت‬ ،‫ثالث‬‫منهجيات‬‫تملك‬ ‫منهجية‬ ‫كل‬‫خاصة‬ ‫قوة‬ ‫نقاط‬‫بها‬:
‫بوك‬Booch:
‫يخص‬ ‫فيما‬ ‫ممتازة‬ ‫كانت‬‫التنفيذ‬ ‫و‬ ‫التصميم‬.‫عمل‬ ‫لقد‬"‫بوك‬ ‫قرادي‬"Grady Booch
‫آدا‬ ‫لغة‬ ‫على‬ ‫بكثافة‬Ada‫الكائني‬ ‫المنحى‬ ‫تقنيات‬ ‫تطوير‬ ‫في‬ ‫رئيسي‬ ‫دور‬ ‫له‬ ‫كان‬ ‫و‬ ،
(object oriented)‫للغة‬.
‫وبالرغم‬‫من‬‫بوك‬ ‫منهجية‬ ‫قوة‬‫أن‬ ‫إال‬‫فيها‬ ‫الرموز‬‫الحسن‬ ‫القبول‬ ‫تأخذ‬ ‫لم‬
OMT(‫الكائنية‬ ‫النمذجة‬ ‫تقنية‬Object Modeling Technique)
‫األفضل‬ ‫كانت‬‫التحليل‬ ‫في‬‫في‬ ‫و‬‫الكثيفة‬ ‫البيانات‬ ‫ذات‬ ‫المعلومات‬ ‫أنظمة‬.
OOSE(Object Oriented Software Engineering‫المنحى‬ ‫كائنية‬ ‫البرمجيات‬ ‫هندسة‬)
‫تتميز‬‫بنموذج‬‫يسمى‬‫االستخدام‬ ‫وقائع‬(Use Cases.)
‫تعد‬‫االستخدام‬ ‫وقائع‬‫أجل‬ ‫من‬ ‫قوي‬ ‫أسلوب‬‫النظام‬ ‫سلوك‬ ‫فهم‬‫كامل‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 6
‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬
‫في‬‫عام‬1994‫قام‬ ،‫رامبخ‬ ‫جيم‬Jim Rumbaugh‫مؤسس‬ ،OMT‫عالم‬ ‫بمفاجأة‬ ،
‫بشركة‬ ‫العمل‬ ‫ترك‬ ‫حين‬ ‫البرمجيات‬‫الكتريك‬ ‫جنرال‬General Electric‫الى‬ ّ‫م‬‫انض‬ ‫و‬
‫بوك‬ ‫قرادي‬‫شركة‬ ‫في‬ ‫للعمل‬‫راشيونال‬(Rational Corp.)
‫المشاركة‬ ‫من‬ ‫الغرض‬:‫م‬ ‫في‬ ‫ّها‬‫ب‬‫ص‬ ‫و‬ ‫أفكارهما‬ ‫دمج‬ ‫أجل‬ ‫من‬‫نهجية‬‫موحدة‬(‫بالطبع‬ ‫كان‬ ‫و‬
‫هي‬ ‫المنهجية‬ ‫لهذه‬ ‫العمل‬ ‫عنوان‬"‫الموحدة‬ ‫المنهجية‬"Unified Method.)
‫مع‬‫عام‬1995‫أيضا‬ ‫انضم‬ ،‫مبدع‬OOSE‫جاكوبسون‬ ‫ايفار‬Ivar Jacobson‫إلى‬ ،
‫راشيونال‬Rational Corp‫أفكاره‬ ‫ضم‬ ‫تم‬ ‫و‬(‫مفهوم‬ ‫خاصة‬"‫االستخدام‬ ‫وقائع‬"Use
Cases)‫في‬‫الموحدة‬ ‫المنهجية‬.
‫اآلن‬ ‫اصبحت‬‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫تدعى‬(Unified Modeling Language.)
‫من‬ ‫يتكون‬ ‫الذي‬ ‫الفريق‬ ‫ُرف‬‫ع‬‫و‬‫رامبخ‬‫و‬‫بوك‬‫و‬‫جاكوبسون‬‫بـ‬"‫الثالثة‬ ‫األصدقاء‬"
(Three Amigos.)

‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 7
‫بدأت‬‫المنهجية‬‫الجديدة‬UML‫تجد‬‫استحبابا‬‫لدى‬‫أوساط‬‫صناعة‬
‫البرمجيات‬
‫تم‬‫تكوين‬‫لجنة‬‫مشتركة‬consortium‫خاصة‬‫بـ‬UML،‫شاركت‬‫فيها‬‫عدد‬‫من‬
‫المؤسسات‬‫ثقيلة‬‫الوزن‬‫مثل‬‫هيولت‬-‫باكارد‬(Hewlett-Packard)‫و‬‫ميكروسوفت‬
(Microsoft)‫و‬‫أوراكل‬(Oracle).
‫ّي‬‫ن‬‫تب‬ ‫تم‬ ‫كما‬UML‫قبل‬ ‫من‬‫منظمة‬(OMG)‫في‬1979‫امتلكت‬ ‫حينها‬ ‫من‬ ‫و‬ ،
(OMG)‫صيانتها‬ ‫على‬ ‫دأبت‬ ‫و‬ ‫اللغة‬.‫أصبحت‬ ‫عمليا‬ ‫لذلك‬‫لغة‬UML‫عامة‬
‫وليست‬‫خاصة‬ ‫ملكية‬.
OMG:‫الكائنية‬ ‫اإلدارة‬ ‫مجموعة‬(Object Management Group)،‫هي‬ ‫و‬
‫جهة‬‫ربحية‬ ‫غير‬‫المواصفات‬ ‫لوضع‬.‫انظر‬www.omg.org‫التفاصيل‬ ‫من‬ ‫لمزيد‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 8
‫هي‬ ‫ما‬UML‫؟‬
UML(Unified Modeling Language:)
‫هي‬‫لغة‬‫نمذجة‬‫رسومية‬‫تقدم‬‫لنا‬‫صيغة‬‫لوصف‬‫العناصر‬‫الرئيسية‬
‫للنظم‬‫البرمجية‬.
(‫هذه‬‫العناصر‬‫ّى‬‫م‬‫تس‬artifacts‫مشغوالت‬‫في‬UML).
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 9
9
UML
‫مميزات‬UML
1-UML‫والمصممين‬ ‫المحللين‬ ‫على‬ ‫يسهل‬ ‫نماذج‬ ‫إلنتاج‬ ‫بسيطة‬ ‫رموزا‬ ‫تقدم‬
‫موحدة‬ ‫نمطية‬ ‫صيغة‬ ‫في‬ ‫المعلومات‬ ‫بتمرير‬ ‫بينهم‬ ‫فيما‬ ‫التخاطب‬ ‫والعمالء‬ ‫والمبرمجين‬
‫موجزة‬.
2-UML‫تصور‬ ‫عملية‬ ‫يسهل‬ ‫مما‬ ‫تصميمه‬ ‫المراد‬ ‫البرنامج‬ ‫عن‬ ‫كاملة‬ ‫صورة‬ ‫تعطي‬
‫صيانته‬ ‫ويسهل‬ ‫كامال‬ ‫البرنامج‬.
3-‫إنشاء‬ ‫عملية‬ ‫في‬ ‫يسرع‬ ‫مما‬ ‫برنامج‬ ‫إلنجاز‬ ‫المبرمجين‬ ‫على‬ ‫المخططات‬ ‫توزيع‬ ‫يمكن‬
‫البرامج‬.‫فترة‬ ‫بعد‬ ‫المخططات‬ ‫لهذه‬ ‫الرجوع‬ ‫حالة‬ ‫في‬ ‫البرنامج‬ ‫فهم‬ ‫يسهل‬ ‫كذلك‬
4-UML‫الكائني‬ ‫التطوير‬ ‫من‬ ‫مهم‬ ‫جزء‬ ‫وهي‬ ‫الكبيرة‬ ‫النظم‬ ‫نمذجة‬ ‫في‬ ‫نجاحها‬ ‫ثبت‬
‫للبرمجيات‬ ‫المنحى‬OO Software‫البرمجيات‬ ‫تطوير‬ ‫وعمليات‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 10
10
UML
‫مميزات‬UML
5-UML‫المستخدمين‬ ‫تزود‬‫المرئية‬ ‫للنمذجة‬ ‫االستخدام‬ ‫جاهزة‬ ‫بلغة‬‫لتطوير‬
‫من‬ ‫مهم‬ ‫جزء‬ ‫وهى‬ ،‫بعينها‬ ‫لغة‬ ‫على‬ ‫تعتمد‬ ‫وال‬ ‫معنى‬ ‫ذات‬ ‫نماذج‬ ‫وتبادل‬
‫المنحى‬ ‫الكائنى‬ ‫التطوير‬Object Oriented‫وعمليات‬ ‫للبرمجيات‬
‫البرمجيات‬ ‫تطوير‬.
6-‫ال‬‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫تعتبر‬UML‫البرمجيات‬ ‫تصميم‬ ‫أو‬ ‫لبناء‬ ‫منهجية‬
‫وتطويرها‬.‫و‬ ‫البرمجيات‬ ‫لتصميم‬ ‫الطرق‬ ‫أفضل‬ ‫إلى‬ ‫ترشدك‬ ‫لن‬ ‫أنها‬ ‫بمعنى‬
‫تطويرها‬.
7-‫لغة‬UML-‫لغة‬‫عامة‬‫بالتقاط‬ ‫تسمح‬‫األساسية‬ ‫المفاهيم‬‫البرمجيات‬ ‫لتطوير‬
‫و‬‫على‬ ‫وضعها‬"‫ورقة‬."‫و‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 11
UML
UML
UML
User Objects Layer
Model Layer
Meta Model Layer
Meta meta model layer
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 12
User Objects Layer

UML




‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 13
User Objects Layer
Objects Layer
.1USE CASE Diagram
.2CLASS Diagram
.3DiagramObject
.4ACTIVITY Diagram
.5COLLABORATION Diagram
.6STATE Diagram
.7SEQUENCE Diagram
.8- COMPONENT Diagram-Diagram
packaging
.9DEPLOYMENT Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 14
14
UML
‫مخططات‬UML
2-‫االستخدام‬ ‫حاالت‬ ‫مخطط‬(Use Case
Diagram)
1-‫الفئة‬ ‫مخطط‬(Class Diagram)
4-‫النشاط‬ ‫مخطط‬(Activity Diagram)
6-‫والتعاون‬ ‫االتصال‬ ‫مخطط‬(Collaboration
Diagram)
3-‫الحالة‬ ‫مخطط‬(State Diagram)
5-‫التتابع‬ ‫مخطط‬(Sequence Diagram)
7-‫المكونات‬ ‫مخطط‬(Components Diagram)
8-‫التحزيم‬ ‫مخطط‬(Package Diagram)
.2"‫النظام؟‬ ‫بيئة‬ ‫في‬ ‫الفعلة‬ ‫مع‬ ‫نظامنا‬ ‫سيتفاعل‬ ‫كيف‬"
relation of actors to system functions
.1"‫الصنفيات‬ ‫هي‬ ‫ما‬-‫والعالقات‬ ‫سنحتاجها؟‬ ‫التي‬ ‫الفئات‬
‫بينها؟‬"static class structure
.6"‫تتابع‬ ‫خالل‬ ‫من‬ ‫بعض‬ ‫مع‬ ‫الكائنات‬ ‫تتعامل‬ ‫كيف‬
‫العالقات؟‬ ‫سياق‬ ‫في‬ ‫الرسائل‬“Context
.5"‫تتابع‬ ‫كيفية‬‫زمنيا‬ ‫النشاطات‬‫الكائنات؟‬ ‫بين‬”
message passing structure
.3”‫الكائن؟‬ ‫عليها‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫التي‬ ‫الحاالت‬ ‫ما‬"
states of objects in a particular class
.7"‫البرنامج؟‬ ‫مكونات‬ ‫سترتبط‬ ‫كيف‬“code
structure
.4”‫معينة؟‬ ‫استخدام‬ ‫حالة‬ ‫داخل‬ ‫األنشطة‬ ‫تتابع‬ ‫كيفية‬“
sequential flow of activities
.8"‫العمل؟‬ ‫بقولبة‬ ‫سنقوم‬ ‫كيف‬"
9-‫التجهيز‬ ‫مخطط‬(Deployment Diagram)"‫المادية؟‬ ‫بالمكونات‬ ‫وربطة‬ ‫البرنامج‬ ‫تجهيز‬ ‫سيتم‬ ‫كيف‬
mapping of software to hardware
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 15
Model Layer
Analysis

System
Analyst
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 16
Meta Model Layer
UML
ClassAbstraction
Design Patterns- modules)UML
Model
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 17
Meta meta model layer
System
Analysts
UML
DevelopersCASE Tools
CASE Tools
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 18
UML Components



UML
Model
UML Model
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 19
User Objects Layer
Objects Layer
.1USE CASE Diagram
.2CLASS Diagram
.3DiagramObject
.4ACTIVITY Diagram
.5COLLABORATION Diagram
.6STATE Diagram
.7SEQUENCE Diagram
.8- COMPONENT Diagram-Diagram
packaging
.9DEPLOYMENT Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 20
‫المنحى‬‫الكائني‬
Object Oriented
‫المنحى‬‫الكائني‬Object Oriented‫االتجاه‬ ‫عن‬ ‫تختلف‬ ‫تفكير‬ ‫طريقة‬‫المهيكل‬
Functional (structural )programming.
‫البيانات‬ ‫بين‬ ‫بالجمع‬ ‫نقوم‬Attributes‫و‬‫التصرفات‬Behavior‫العالقة‬ ‫ذات‬
)Methods‫وظائف‬)‫داخل‬‫صنفيات‬‫فئات‬ ،Classes.
‫برنامجنا‬ ‫يقوم‬ ‫ثم‬‫بخلق‬create‫ّدات‬‫س‬‫تج‬/‫تمثالت‬classofinstances‫لهذه‬
‫الصنفية‬–‫الفئة‬‫أخرى‬ ‫بعبارة‬ ‫أو‬:‫كائنات‬ ‫إنشاء‬objects‫الصنفية‬
‫مخاطبة‬ ‫خالل‬ ‫من‬ ،‫البعض‬ ‫بعضها‬ ‫مع‬ ‫التعاون‬ ‫يمكنها‬ ‫الكائنات‬‫النهجيات‬(‫الطرق‬
‫االجراءات‬ ‫او‬)methods.
‫البيانات‬‫الكائن‬ ‫في‬‫ّفة‬‫ل‬‫مغ‬Encapsulated‫نفسه‬ ‫الكائن‬ ‫إال‬ ‫بتعديلها‬ ‫يقوم‬ ‫ال‬ ‫و‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 21
.1USE CASE Diagram
.2CLASS Diagram
.3DiagramObject
.4STATE Diagram
.5ACTIVITY Diagram
.6COLLABORATION Diagram
.7SEQUENCE Diagram
.8COMPONENT Diagram
Diagrampackaging
.9DEPLOYMENT Diagram
Interaction-
Dynamic
Behavioral
diagram-
Dynamic
Structure-
static
Physical-
impleme
ntation
Behavioral
-use case
view
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 22
22
UML Views and Diagrams
‫مخططات‬ ‫تقسيم‬ ‫يمكن‬UML‫إلى‬4‫أنواع‬(‫رؤى‬-‫منظور‬Views)
.1static view
•‫من‬ ‫النظام‬ ‫تمثل‬ ‫وهي‬‫ساكن‬ ‫منظور‬‫في‬ ‫المعطيات‬ ‫من‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬‫صورة‬
‫نموذج‬.Structure Diagram‫التركيب‬ ‫او‬ ‫الهيكلية‬ ‫مخططات‬
•‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫الصفوف‬ ‫مخطط‬-‫الفئات‬(class diagram)‫يمثل‬ ‫الذي‬
‫صفوف‬–‫النظام‬ ‫فئات‬classes‫والعالقات‬Relationships‫بينها‬‫الكائن‬ ‫ومخطط‬Object
diagram
.2-use case view‫االستخدام‬ ‫حاالت‬ ‫رؤية‬Behavioral Diagram
•‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬‫عملياتي‬ ‫منظور‬(‫وظائف‬)‫النظام‬ ‫توضح‬ ‫ولكن‬ ‫سلوكية‬ ‫مخططات‬ ‫وهي‬
‫المستخدم‬ ‫منظور‬ ‫من‬.‫وضع‬ ‫أي‬‫الوظيفية‬ ‫النظام‬ ‫متطلبات‬‫في‬‫نموذج‬ ‫صورة‬.
•‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫االستخدام‬ ‫حاالت‬ ‫مخطط‬(use case diagram)‫الذي‬
‫بينها‬ ‫والعالقات‬ ‫النظام‬ ‫وظائف‬ ‫يمثل‬.
‫ساكنة‬ ‫رؤية‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 23
23
UML Views and Diagrams
‫مخططات‬ ‫تقسيم‬ ‫يمكن‬UML‫إلى‬4‫أنواع‬(‫رؤى‬)
.3dynamic view
•‫أي‬‫تنمذج‬‫والتغيرات‬ ‫النظام‬ ‫سلوك‬‫على‬ ‫تطرأ‬ ‫التي‬‫النظام‬ ‫كيانات‬.
•‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬:
.1‫للنظام‬ ‫السلوكية‬ ‫المخططات‬DiagramBehavioral‫وهما‬‫الحالة‬ ‫مخطط‬state
diagram‫النشاط‬ ‫ومخطط‬(activity diagram
.2‫التفاعل‬ ‫ومخططات‬interaction diagram-:‫وهما‬sequence‫التتابع‬ ‫مخطط‬‫ومخطط‬
‫التعاون‬collaboration-
.4Physical –implementation view‫او‬ ‫المادية‬ ‫الفيزيائية‬ ‫الرؤى‬
‫التنفيذية‬:‫تستخدم‬‫الفيزيائية‬ ‫المخططات‬‫وصف‬ ‫إلعطاء‬ ،‫للنظام‬ ‫التطوير‬ ‫اكتمال‬ ‫عند‬
‫للعمل‬ ‫واعداده‬ ‫تجهيزه‬ ‫لتسهيل‬ ‫للنظام‬ ‫الفيزيائية‬ ‫للمعلومات‬.
•‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬Component & Deployment Structural
Diagram
‫ديناميكية‬ ‫رؤية‬:•‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬‫ديناميكي‬ ‫منظور‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 24
24
UML Views and Diagrams
‫تابع‬4‫أنواع‬(‫رؤى‬)
.4Physical Diagrams‫الفيزيائية‬ ‫المخططات‬Structure Diagram-
‫التركيب‬ ‫او‬ ‫الهيكلية‬ ‫مخططات‬
•‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬
•‫ا‬‫وال‬-‫المكونات‬ ‫مخططات‬Component Diagram‫التحزيم‬ ‫او‬:‫مكونات‬ ‫توضح‬
‫وعالقتها‬ ‫البرمجيات‬‫البعض‬ ‫بعضها‬ ‫مع‬.‫على‬ ‫تحتوي‬‫المكونات‬‫تمثل‬ ‫التي‬‫الطبيعي‬ ‫التحزيم‬
‫الشيفرة‬ ‫من‬ ‫لوحدة‬Modules‫و‬‫االعتمادات‬Dependencies‫يؤثر‬ ‫وكيف‬ ‫بينها‬
‫االخر‬ ‫على‬ ‫احدها‬ ‫في‬ ‫التغيير‬.
•‫ثانيا‬:‫التجهيز‬ ‫مخطط‬Deployment Diagram:‫والبرمجيات‬ ‫العتاد‬ ‫بين‬ ‫العالقة‬
‫على‬ ‫ويحتوي‬Nodes‫عقد‬)HW‫مادي‬ ‫عتاد‬(‫ووصالت‬Connections(‫مسار‬
‫مثل‬ ‫اتصال‬TCP/IP)
•‫مخططات‬ ‫تدمج‬ ‫الغالبية‬ ‫في‬‫التوزيع‬‫و‬‫المكون‬‫واحد‬ ‫نموذج‬ ‫في‬
•
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 25
25
UML Views and Diagrams
‫تقسيم‬ ‫يمكن‬‫مخططات‬UML‫أنواع‬ ‫اربعة‬ ‫إلى‬Views(‫رؤى‬)
.1static view
‫نموذج‬ ‫صورة‬ ‫في‬ ‫المعطيات‬ ‫من‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬ ‫ساكن‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫وهي‬ ‫ساكنة‬ ‫رؤية‬.
‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫الصفوف‬ ‫مخطط‬(class diagram)‫و‬ ، ‫بينها‬ ‫والعالقات‬ ‫النظام‬ ‫صفوف‬ ‫يمثل‬ ‫الذي‬
‫الكائن‬ ‫ومخطط‬Object diagram
.2use case view
‫صورة‬ ‫في‬ ‫الوظيفية‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬ ‫عملياتي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫االستخدام‬ ‫حاالت‬ ‫رؤية‬
‫نموذج‬.‫االستخدام‬ ‫حاالت‬ ‫مخطط‬ ‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬(use case diagram)‫النظام‬ ‫وظائف‬ ‫يمثل‬ ‫الذي‬
‫بينها‬ ‫والعالقات‬.
.3dynamic view
‫أي‬ ‫ديناميكي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫ديناميكية‬ ‫رؤية‬‫تنمذج‬‫كيانات‬ ‫على‬ ‫تطرأ‬ ‫التي‬ ‫والتغيرات‬ ‫النظام‬ ‫سلوك‬
‫النظام‬.‫الحالة‬ ‫مخطط‬ ‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬(state diagram)‫النشاط‬ ‫ومخطط‬(activity diagram)
‫التعاون‬ ‫ومخططات‬(interaction diagram).
.4ViewPhysical –implementation‫التنفيذية‬ ‫او‬ ‫المادية‬ ‫الفيزيائية‬ ‫الرؤى‬:‫تستخدم‬
‫الفيزيائية‬ ‫المخططات‬‫واعداده‬ ‫تجهيزه‬ ‫لتسهيل‬ ‫للنظام‬ ‫الفيزيائية‬ ‫للمعلومات‬ ‫وصف‬ ‫إلعطاء‬ ،‫للنظام‬ ‫التطوير‬ ‫اكتمال‬ ‫عند‬
‫للعمل‬.‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬Component & Deployment Structural Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 26
26
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 27
use case View
.1USE CASE DiagramUCDBehavioral Diagram
actorsuse Cases

‫هي‬‫وصف‬‫لسلوك‬‫النظام‬‫من‬‫وجهة‬‫نظر‬‫المستخدم‬.
‫مراحل‬ ‫خالل‬ ‫فائدة‬ ‫ذات‬ ‫فهي‬‫التطوير‬ ‫و‬ ‫التحليل‬‫تساعد‬ ‫و‬ ،‫المتطلبات‬ ‫فهم‬ ‫في‬.
‫ّرين‬‫و‬‫المط‬ ‫قبل‬ ‫من‬ ‫لالستيعاب‬ ‫سهال‬ ‫المخطط‬ ‫يكون‬(،‫مبرمجون‬ ،‫ّمون‬‫م‬‫مص‬ ،‫ّلون‬‫ل‬‫مح‬
‫مختبرون‬)‫المستفيدين‬ ‫و‬(‫الزبون‬)
‫كامل‬ ‫في‬ ‫تستخدم‬ ‫أن‬ ‫بإمكانها‬‫التطوير‬ ‫عمليات‬‫من‬ ‫بدءا‬ ،
‫االستهالل‬‫حتى‬ ‫و‬‫التسليم‬.
‫وتستخدم‬‫االستخدام‬ ‫حاالت‬“Use cases”‫في‬‫تقريبا‬ ‫المشاريع‬ ‫كل‬.‫عن‬ ‫الكشف‬ ‫في‬ ‫وتساعد‬
‫للمشروع‬ ‫والتخطيط‬ ‫االحتياجات‬.
‫وينبغي‬‫التعريف‬ ‫المشروع‬ ‫من‬ ‫األولى‬ ‫المرحلة‬ ‫خالل‬‫االستخدام‬ ‫حاالت‬ ‫بمعظم‬‫ان‬ ‫بما‬ ، ‫ولكن‬ ،
‫المزيد‬ ‫لك‬ ‫فسيظهر‬ ‫متواصل‬ ‫يزال‬ ‫ال‬ ‫المشروع‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 28
‫واقعة‬ ‫مخطط‬-‫استخدام‬ ‫حالة‬The Use Case
Diagram(UCD)
‫كل‬Use Case‫تمثل‬‫النظام‬ ‫وظائف‬ ‫من‬ ‫وظيفة‬‫هذا‬ ‫يتضمن‬ ‫وبالتالي‬
‫المخطط‬:
‫المطلوبة‬ ‫االساسية‬ ‫للوظائف‬ ‫عرض‬‫النظام‬ ‫من‬ ‫خاصية‬ ‫لكل‬ ‫تفصيل‬ ‫دون‬.
‫المستخدم‬actor‫الوظيفة‬ ‫هذه‬ ‫بطلب‬ ‫يقوم‬ ‫الذي‬(‫آخر‬ ‫نظام‬ ‫يكون‬ ‫قد‬.)
‫النظام‬ ‫حدود‬system boundary ,
‫االستخدام‬ ‫حاالت‬ ‫بين‬ ‫العالقات‬Use Cases‫الفعلة‬ ‫بين‬ ‫والروابط‬actors
‫االستخدام‬ ‫وحاالت‬Use Cases
‫بناء‬ ‫على‬ ‫يساعدنا‬Use case diagram‫فهم‬‫العمل‬ ‫سيناريو‬Scenarios
‫النظام‬ ‫مستخدم‬ ‫من‬ ‫عليه‬ ‫نحصل‬ ‫والذي‬.‫حاالت‬ ‫تتابع‬ ‫ترتيب‬ ‫توضح‬ ‫ال‬ ‫ولكنها‬
‫الزمن‬ ‫حسب‬ ‫االستخدام‬‫االساسية‬ ‫الوظائف‬ ‫وهي‬ ‫واحد‬ ‫افقي‬ ‫بعد‬ ‫مع‬ ‫تتعامل‬ ‫فهي‬.
Use case diagram symbols
Actor
Relationships
Use case
System
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 30
‫استخدام‬ ‫لحالة‬ ‫العالقات‬ ‫انواع‬The Use Case Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 31
Components of Use-Case Diagram‫االستخدام‬ ‫حالة‬ ‫رموز‬
‫عنها‬ ‫ويعبر‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫داخل‬ ‫متضمنة‬ ‫الفرعية‬ ‫االستخدام‬ ‫حالة‬ ‫وظيفة‬ ‫ان‬ ‫لبيان‬ ‫تستخدم‬
‫الفرعية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬.
‫اختياري‬ ‫سلوك‬ ‫لتتضمن‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫لتوسيع‬ ‫تستخدم‬.‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬ ‫عنها‬ ‫ويعبر‬
‫التوسعية‬extension use case‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬base use case.
‫النظام‬ ‫اسم‬ ‫على‬ ‫االعلى‬ ‫في‬ ‫وتحتوي‬ ‫ومجاله‬ ‫النظام‬ ‫حدود‬ ‫لتمثيل‬ ‫تستخدم‬.
: Association‫الفاعل‬ ‫لربط‬ ‫تستخدم‬Actor‫معها‬ ‫يتفاعل‬ ‫التي‬ ‫االستخدام‬ ‫حالة‬ ‫مع‬ ‫ام‬
‫النظام‬ ‫حدود‬ ‫داخل‬ ‫تكون‬ ، ‫بفعل‬ ‫ومعنونة‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫لتمثيل‬ ‫تستخدم‬
‫اختياري‬ ‫سلوك‬ ‫ذات‬ ‫اخرى‬ ‫لحالة‬ ‫تتوسع‬ ‫او‬ ‫اخرى‬ ‫استخدام‬ ‫حالة‬ ‫تتضمن‬ ‫ان‬ ‫ممكن‬.
‫الفاعل‬ ‫لتمثيل‬ ‫تستخدم‬actor،‫النظام‬ ‫في‬ ‫يؤديه‬ ‫الذي‬ ‫بالدور‬ ‫ومعنون‬ ‫اخر‬ ‫نظام‬ ‫او‬ ‫شخص‬ ‫يكون‬ ‫قد‬
‫االرتباط‬ ‫عالقة‬ ‫خالل‬ ‫من‬ ‫اخرين‬ ‫بفعلة‬ ‫يرتبط‬ ‫ان‬ ‫ممكن‬super classassociation‫يعبر‬
‫النظام‬ ‫حدود‬ ‫خارج‬ ‫يقع‬ ‫بسهم‬ ‫عنها‬
‫التعميم‬ ‫عالقة‬generalization‫عنها‬ ‫ويعبر‬ ‫العامة‬ ‫االساسية‬ ‫من‬ ‫خاصة‬ ‫استخدام‬ ‫حالة‬ ‫لتمثيل‬ ‫تستخدم‬
‫خاصة‬ ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬specialized use case‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬base
usecase.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 32
‫العقلية‬ ‫الصحة‬ ‫لمحكمة‬ ‫استخدام‬ ‫حالة‬The Use Case Diagram
UCD notations
‫التسجيل‬ ‫إدارة‬
‫الحالة‬ ‫استخدام‬ ‫نموذج‬
‫بيانات‬ ‫قاعدة‬ ‫نظام‬FAST
‫للمريض‬ ‫التشخيص‬
‫التوجيه‬
‫الطبيب‬ ‫االستقبال‬ ‫عامل‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 33
‫العقلية‬ ‫الصحة‬ ‫لمحكمة‬ ‫استخدام‬ ‫حالة‬ ‫سيناريو‬ ‫وصف‬The Use
Case Description UC
‫االستخدام‬ ‫حالة‬ ‫اسم‬:‫التسجيل‬ ‫إدارة‬
‫الهدف‬:
‫من‬ ‫يستفيد‬ ‫سوف‬ ‫الذي‬ ‫العميل‬ ‫بتسجيل‬ ‫ليقوم‬ ‫االستقبال‬ ‫عامل‬ ‫متابعة‬ ‫هو‬ ‫الحالة‬ ‫استخدام‬ ‫من‬ ‫الغرض‬
‫برنامج‬FAST‫المعلوماتي‬ ‫النظام‬ ‫في‬.
‫الرئيسي‬ ‫المستخدم‬main actors
‫االستقبال‬ ‫عاملة‬
‫الثانوي‬ ‫المستخدم‬actors-sub
‫في‬ ‫االجتماعي‬ ‫العامل‬FAST
‫البداية‬ ‫نقطة‬‫السابقة‬ ‫الشروط‬ ‫او‬pre conditions
‫ويرسلها‬ ‫المعلومات‬ ‫يطبع‬ ،‫المعلومات‬ ‫يدخل‬ ،‫المكتب‬ ‫سطح‬ ‫نظام‬ ‫إلى‬ ‫بالدخول‬ ‫الرئيسي‬ ‫المستخدم‬ ‫يقوم‬
‫اآلخرين‬ ‫إلى‬ ً‫ا‬‫فاكسي‬
‫النهاية‬ ‫نقطة‬‫الالحقة‬ ‫الشروط‬ ‫او‬post condition
‫برنامج‬ ‫في‬ ‫القبول‬ ‫بشأن‬ ‫القرار‬ ‫ويتخذ‬ ‫الفاكس‬ ‫يتسلم‬ ‫االجتماعي‬ ‫العامل‬FAST
‫االساسي‬ ‫التدفق‬ ‫او‬ ‫الوصف‬ ‫او‬ ‫المعلومات‬ ‫تبادل‬scenario flow
،‫السكانية‬ ‫المنطقة‬ ،‫الهاتف‬ ‫رقم‬ ،‫العنوان‬ ،‫األخير‬ ‫االسم‬ ،‫األول‬ ‫االسم‬ ‫بإدخال‬ ‫االستقبال‬ ‫عامل‬ ‫يقوم‬
‫التوقيف‬ ‫وتاريخ‬ ،‫االختبار‬ ،‫المخدرة‬ ‫المواد‬ ‫تقارير‬
‫قياسها‬ ‫يمكن‬ ‫التي‬ ‫النتائج‬Results
‫المتخذ‬ ‫باإلجراء‬ ‫الطبيب‬ ‫إشعار‬ ‫ويتم‬ ،‫الجديد‬ ‫للمريض‬ ‫سجل‬ ‫إنشاء‬ ‫يتم‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 34
‫الفعلة‬ ‫انواع‬ ‫على‬ ‫امثلة‬ActorsThe Use Case Diagram
‫لخصائصها‬ ‫والتعميمات‬ ‫الموظفين‬ ‫والفئات‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 35
‫االستخدام‬ ‫حالة‬ ‫وصف‬ ‫او‬ ‫االستخدام‬ ‫حالة‬ ‫قالب‬Use Case
Description
use case Name : ‫االستخدام‬ ‫حالة‬ ‫اسم‬
Actor :‫الفاعل‬
Pre-conditions ‫السابقة‬ ‫الشروط‬ :
Post-conditions ‫للحركة‬ ‫الالحقة‬ ‫الشروط‬ :
Purpose ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫الهدف‬-‫المبررات‬ :
Description: ‫السيناريو‬ ‫وصف‬–‫الصحيحة‬ ‫الطبيعية‬ ‫التدفقات‬
1.
2.
3. ..............
Alternative courses: ‫البديلة‬ ‫التدفقات‬ ‫وصف‬“‫الطبيعية‬ ‫الظروف‬ ‫تحقق‬ ‫عدم‬ ‫عند‬ ‫أي‬
‫للحدث‬
Errors: ‫معالجتها‬ ‫وكيفية‬ ‫االخطاء‬ ‫رسائل‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 36
ATM- Withdraw From Current‫االستخدام‬ ‫حالة‬ ‫وصف‬(‫سيناريو‬)‫االلي‬ ‫الصراف‬ ‫في‬ ‫الجاري‬ ‫الحساب‬ ‫من‬ ‫للسحب‬
‫االستخدام‬ ‫حالة‬ ‫اسم‬ use case Name : Withdraw From Current ‫الجاري‬ ‫الحساب‬ ‫من‬ ‫السحب‬
‫الفاعل‬ Actor : Client ‫الزبون‬
Pre-conditions ‫السابقة‬ ‫الشروط‬ : User already logged-in ‫النظام‬ ‫الى‬ ‫داخل‬ ‫المستخدم‬
A menu is active with ‘withdraw ‫السحب‬ ‫بخيار‬ ‫’مفعلة‬ ‫القائمة‬
Post-conditions ‫للحركة‬ ‫الالحقة‬ ‫الشروط‬ : Amount is deducted from user’s account ‫سحبت‬ ‫الكاش‬ ‫كمية‬
‫منه‬ ‫وحسمت‬ ‫الزبون‬ ‫حساب‬ ‫من‬
Purpose ‫الهدف‬-‫المبررات‬ : ‫للبنك‬ ‫الذهاب‬ ‫الى‬ ‫لحاجة‬ ‫دونا‬ ‫الكاش‬ ‫سحب‬ ‫من‬ ‫الزبون‬ ‫لتمكين‬
Description: ‫السيناريو‬ ‫وصف‬
(1) Client initiates this usecase by selecting ‘withdraw’ ‫لخيار‬ ‫اختياره‬ ‫عند‬ ‫االستخدام‬ ‫حالة‬ ‫الزبون‬ ‫يبدأ‬
‫السحب‬
(2) System get all the accounts (use case get Account) ‫حساب‬ ‫او‬ ‫الزبون‬ ‫حسابات‬ ‫جميع‬ ‫يسترجع‬ ‫النظام‬
‫الزبون‬
(3) System displays all the accounts and prompts to select any one ‫للزبون‬ ‫الحسابات‬ ‫جميع‬ ‫يعرض‬ ‫النظام‬
‫وينتظر‬‫منه‬ ‫السحب‬ ‫عملية‬ ‫الجراء‬ ‫واحد‬ ‫اختيار‬ ‫الزبون‬ ‫من‬
(3) Client selects one account ‫واحد‬ ‫حساب‬ ‫يختار‬ ‫الزبون‬
(4) System prompts for the amount ‫المحدد‬ ‫الحساب‬ ‫من‬ ‫سحبه‬ ‫المراد‬ ‫الكاش‬ ‫كمية‬ ‫تحديد‬ ‫يطلب‬ ‫النظام‬
(5) Client indicate an amount ‫الكمية‬ ‫يحدد‬ ‫الزبون‬
(6) System issues money, update record, and confirms ‫ويؤكد‬ ‫السجل‬ ‫ويحدث‬ ‫الكاش‬ ‫كمية‬ ‫يرسل‬ ‫النظام‬
‫برسالة‬‫اخرى‬ ‫بحركات‬ ‫القيام‬ ‫الزبون‬ ‫اراد‬ ‫اذا‬
Alternative courses:‫البديلة‬ ‫التدفقات‬
(3) & (4) System selects the only one available account ‫رقم‬ ‫بدل‬3&4
‫للزبون‬ ‫الموجود‬ ‫الوحيد‬ ‫الحساب‬ ‫يختار‬ ‫النظام‬
(6) requested amount is bigger than balance, system display message ‫من‬ ‫المطلوبة‬ ‫الكمية‬
‫من‬ ‫اكبر‬ ‫الكاش‬‫اخرى‬ ‫مرة‬ ‫الكمية‬ ‫ادخال‬ ‫العادة‬ ‫خطأ‬ ‫رسالة‬ ‫النظام‬ ‫يرسل‬ ‫الرصيد‬
Errors:‫االخطاء‬
Issue Cash?
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 37
‫االستخدام‬ ‫حالة‬ ‫مخطط‬ ‫مثال‬Use Case Diagram‫من‬ ‫للتحقق‬
‫للمستخدم‬ ‫الدخول‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 38
‫النشاط‬ ‫مخطط‬ ‫قالب‬ ‫مثال‬‫للمستخدم‬ ‫الدخول‬ ‫من‬ ‫للتحقق‬(‫السابق‬ ‫المثال‬)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 39
‫االستخدام‬ ‫حالة‬ ‫مخطط‬-‫تسجيل‬ ‫نظام‬Registration Sys
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 40
Use-case diagram for a university registration system
‫جامعة‬ ‫في‬ ‫التسجيل‬ ‫لنظام‬ ‫االستخدام‬ ‫حالة‬ ‫مخطط‬
‫التسجيل‬ ‫موظف‬
‫الصندوق‬ ‫أمين‬
‫الطالب‬ ‫الفاتورة‬ ‫دفع‬
‫انهاء‬ ‫من‬ ‫التأكد‬
‫السابقة‬ ‫المتطلبات‬
‫خاصة‬ ‫محاضرات‬ ‫تسجيل‬
‫محاضرات‬ ‫تسجيل‬
‫الطالب‬
‫المحاضر‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 41
The Use-Case Diagram for Appointment
System‫العيادة‬ ‫مراجعات‬ ‫مواعيد‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 42
Use case with Extends and Includes
Use Case Diagrams(cont.)
(TogetherSoft, Inc)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 44
Use case for camera sys
‫لكاميرا‬ ‫االستخدام‬ ‫حالة‬ ‫مخطط‬
‫المخطط‬ ‫هذا‬
‫ألنه‬ ‫صحيح‬
‫مع‬ ‫يتعامل‬
‫استخدام‬ ‫حالة‬
‫التجريد‬ ‫عالية‬
high-level
use case,
"Take
picture".
‫التقاط‬ ‫وهي‬
‫صورة‬ ‫المخطط‬ ‫هذا‬
‫صحيح‬ ‫غير‬
‫ان‬ ‫يبين‬ ‫ألنه‬
‫يفتح‬ ‫المصور‬
‫غطاء‬
‫الكاميرا‬
‫المتحرك‬
‫ويضيء‬
‫ثم‬ ‫فالش‬
‫فتحة‬ ‫يغلق‬
‫دون‬ ‫العدسة‬
‫صورة‬ ‫التقاط‬
‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫خاطئ‬ ‫استخدام‬ ‫حالة‬ ‫مخطط‬«‫حاالت‬ ‫وضع‬ ‫عدم‬ ‫يجب‬
‫وصغيرة‬ ‫تفصيلية‬»
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 45
‫االلكترونية‬ ‫التجارة‬ ‫باستخدام‬ ‫مبيعات‬ ‫نظام‬
| Writing | GuidelinesDiagramsIntroduction |
Search
Product
Navigate
Deals
Checkout
Handle Order
Status
Login Register
View Product
Details
Write
Review
Rank
Supplier»include«
»include«
»include«
»include«
»extend«
user is not
a member
»extend«
»extend«
After page generation
Add to
cart
»extend«
Customer
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 47
UML Diagrams-static modeling
.1‫تمثل‬‫وجهة‬‫النظر‬‫الساكنة‬‫للنظام‬Static view‫وتمثل‬‫ما‬‫يحدث‬‫ومن‬
‫يشارك‬‫في‬‫الحدث‬‫والمكونات‬‫الرئيسية‬‫للنظام‬‫والحاالت‬‫االساسية‬‫التي‬‫يمر‬‫بها‬.
.2‫تمثل‬‫من‬‫خالل‬‫مخططين‬:
.1Class Diagram‫مخطط‬‫الفئات‬- Structural Diagrams
.2Object diagram‫مخطط‬‫الكائن‬Structural Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 48
- UML Diagrams -static modeling
.1CLASS DiagramStructural Diagrams
‫ضمن‬ ‫األشياء‬ ‫وضع‬ ‫يمكن‬‫أصناف‬Classes.
‫مهمة‬‫ال‬Class diagram‫هذه‬ ‫توضيح‬‫األصناف‬Classes
‫والعالقات‬associations‫بينها‬ ‫فيما‬
‫األصناف‬ ‫مخططات‬ ‫رسم‬-‫الصفوف‬ ‫او‬ ‫الفئات‬Classes‫أساسي‬ ‫جانب‬‫ألي‬
‫منهج‬‫للكائن‬ ‫بالمنحى‬ ‫للتصميم‬
‫صنف‬ ‫لكل‬Class:‫التلفاز‬ ‫صنفيه‬ ‫او‬ ‫التلفاز‬ ‫فئة‬ ‫جانبا‬ ‫المثال‬ ‫في‬ ‫يتضح‬ ‫كما‬television
class
‫اسم‬class name
‫مميزات‬attributes
‫عمليات‬operations‫الفئة‬ ‫سلوك‬ ‫تحدد‬
‫نسميها‬ ً‫ا‬‫وأحيان‬Methods
An example of Class
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name‫الفئة‬ ‫اسم‬
Attributes‫الفئة‬ ‫خصائص‬
‫الفئة‬ ‫على‬ ‫العمليات‬Operations
An example of Class
‫تعليمي‬ ‫لنظام‬ ‫روابط‬ ‫بدون‬ ‫فئات‬ ‫على‬ ‫مثال‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 51
UML Diagrams -static modeling
CLASS Diagram
Class StructureCONTENT (methods,
attributes )Classes
Objects
containment
InheritanceAssociations
‫يستخدم‬‫مخطط‬‫الصنفيات‬-‫الفئات‬CLASS Diagram‫في‬‫مرحلة‬
‫التحليل‬‫و‬‫التصميم‬ ‫مرحلة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 52
‫لدورات‬ ‫التدريب‬ ‫لنظام‬ ‫الفئة‬ ‫مخطط‬CLASS Diagram
‫ديناميكية‬ ‫رؤية‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 54
‫الفئة‬ ‫مخطط‬CLASS Diagram‫االلكتروني‬ ‫التعليم‬ ‫لنظام‬elearning sys
‫ديناميكية‬ ‫رؤية‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 55
‫الفئة‬ ‫مخطط‬CLASS Diagram
‫المالية‬ ‫االوراق‬ ‫تعامالت‬ ‫نظام‬
‫ديناميكية‬ ‫رؤية‬
‫تجارية‬ ‫وأوراق‬ ‫سندات‬
‫اسهم‬‫كفالة‬ ،‫تأمين‬ ‫صك‬ ‫او‬ ‫بدين‬ ‫سند‬ ‫االسهم‬ ‫خيارات‬
‫التاجر‬‫يمتلك‬
‫ادوات‬
‫يعالج‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 56
‫الفئات‬ ‫بين‬ ‫العالقات‬Associations‫الفئة‬ ‫مخطط‬ ‫في‬CLASS Diagram
‫االعتمادية‬
‫التعميم‬
‫العالقة‬ ‫او‬ ‫االرتباط‬
‫العالقة‬ ‫او‬ ‫االرتباط‬ ‫انواع‬ ‫من‬ ‫نوع‬ ‫التجميع‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 57
-Relationships‫العالقات‬
Dependency(‫االعتمادية‬)
Generalization(‫التعميم‬)
Association(‫االقتران‬)
Aggregation(‫التجميع‬)
Composition(‫التركيب‬)
Multiplicity(‫التعددية‬)
Interfaces(‫الواجهات‬)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 58
Association 1(‫االقتران‬)
‫االقتران‬ ‫عالقة‬(‫الربط‬)‫ذي‬ ‫ربط‬ ‫على‬ ‫تدل‬‫صفين‬ ‫او‬ ‫فئتين‬ ‫كائنات‬ ‫بين‬ ‫معنوية‬ ‫داللة‬
classes‫وتمثل‬‫الصفين‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬
Works for
Class
Association
Association Name
Professor University
EmployerEmployee
Role Names ‫الدور‬ ‫اسم‬
‫واألستاذ‬ ‫الجامعة‬ ‫بين‬ ‫تربط‬ ‫عمل‬ ‫عالقة‬ ‫يوضح‬ ‫التالي‬ ‫المثال‬‫ألن‬‫الجامعة‬ ‫في‬ ‫يعمل‬ ‫األستاذ‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 59
Association 2(‫االقتران‬)
‫التالي‬ ‫المثال‬‫يوضح‬‫يدير‬ ‫عالقة‬‫بين‬ ‫تربط‬‫والقسم‬ ‫المدير‬‫كل‬ ‫ألن‬‫مدير‬‫قسم‬ ‫يدير‬
Manages of
Class
Association
Association Name
Manager Department
managedmanager
Role Names
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 60
Factory
Product
creates
Association 3 (‫االقتران‬)
‫واالبن‬ ‫األب‬ ‫بين‬ ‫تربط‬ ‫أبوة‬ ‫عالقة‬
‫والمنتج‬ ‫المصنع‬ ‫بين‬ ‫تربط‬ ‫انتاج‬ ‫عالقة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 61
Link‫الرابطة‬
Link‫الرابطة‬:‫كائنات‬ ‫تربط‬Objects(‫الفئة‬ ‫من‬ ‫حالة‬)
‫وليس‬ ‫بعضها‬ ‫مع‬‫فئات‬Classes
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 62
Aggregation 1(‫التجميع‬)
•‫التجميع‬ ‫عالقة‬Aggregation‫هى‬‫االقتران‬ ‫من‬ ‫خاصة‬ ‫حالة‬Association‫وهي‬
‫بين‬ ‫تربط‬ ‫عالقة‬‫الكل‬‫و‬‫الجزء‬(Whole-Part)‫بين‬ ‫أي‬‫صف‬Class‫و‬ ‫تجمع‬‫أجزائه‬
Sub class
•‫تمثل‬‫مستقيم‬ ‫بخط‬‫بين‬ ‫يربط‬‫ينتهي‬ ‫الصفين‬‫بمعين‬‫فارغ‬‫يتجه‬‫الفئة‬ ‫الصف‬ ‫ناحية‬‫الذي‬
‫الكل‬ ‫يمثل‬super -Class
‫التجميع‬ ‫عالقة‬ ‫في‬‫حياة‬‫الجزء‬‫مرتبطة‬ ‫غير‬‫بحياة‬‫الكل‬،‫بمعنى‬‫أن‬‫الجزء‬‫أن‬ ‫الممكن‬ ‫من‬
‫في‬ ‫يوجد‬‫الكل‬ ‫وجود‬ ‫عدم‬ ‫حالة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 63
Aggregation 1(‫التجميع‬)
‫التجميع‬ ‫عالقة‬Aggregation‫التالية‬‫أن‬ ‫توضح‬‫والمحرك‬ ‫العجلة‬‫من‬ ‫أجزاء‬‫السيارة‬
‫أن‬ ‫الواضح‬ ‫من‬‫والمحرك‬ ‫العجلة‬ ‫وجود‬‫مرتبط‬ ‫غير‬‫السيارة‬ ‫بوجود‬
Whole
Car Wheel Part
Motor Part
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 64
‫عالقة‬Aggregation‫بين‬‫الحاسب‬‫و‬‫أجزاءه‬-‫وجود‬‫الحاسب‬ ‫أجزاء‬‫مرتبط‬ ‫غير‬‫الحاسب‬ ‫بوجود‬
Aggregation 2 (‫التجميع‬)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 65
Composition 1(‫التركيب‬)
•‫الجزء‬ ‫حياة‬‫مرتبطة‬‫الكل‬ ‫بحياة‬‫أن‬ ‫بمعنى‬‫يوجد‬ ‫أن‬ ‫يمكن‬ ‫ال‬ ‫الجزء‬‫حالة‬ ‫في‬‫وجود‬ ‫عدم‬
‫الكل‬.
•‫الصف‬-‫فئة‬class‫يكون‬‫صف‬ ‫من‬ ‫واحد‬ ‫جزء‬-‫فئة‬class‫فقط‬ ‫واحد‬‫الممكن‬ ‫من‬ ‫ولكن‬
‫يكون‬ ‫أن‬‫صفوف‬ ‫لعدة‬ ‫كل‬
‫الكل‬ ‫تمثل‬ ‫التي‬ ‫الفئة‬ ‫ناحية‬ ‫يتجه‬ ‫مظلل‬ ‫بمعين‬ ‫ينتهي‬ ‫الفئات‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬ ‫وتمثل‬
•‫التركيب‬Composition‫من‬ ‫خاصة‬ ‫حالة‬ ‫هو‬‫التجميع‬Aggregation‫ذو‬‫ملكية‬ ‫رابطة‬
Ownership‫الفئتين‬ ‫او‬ ‫الصفين‬ ‫بين‬ ‫زمني‬ ‫ترابط‬ ‫مع‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 66
Whole
Student Schedule
Composition
Part
Composition 1(‫التركيب‬)
‫تم‬ ‫اذا‬ ‫أنه‬ ‫الواضح‬ ‫من‬‫حذف‬‫الطالب‬(‫كل‬)‫الدراسي‬ ‫الجدول‬ ‫فإن‬(‫جزء‬)‫للطالب‬‫يحذف‬‫تلقائيا‬
‫اذا‬ ‫اال‬ ‫دراسي‬ ‫جدول‬ ‫يوجد‬ ‫ولن‬‫الطالب‬ ‫وجد‬
‫التركيب‬ ‫عالقة‬Composition‫أن‬ ‫توضح‬ ‫التالية‬‫الطالب‬ ‫من‬ ‫جزء‬ ‫الدراسي‬ ‫الجدول‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 67
Composition 2 (‫التركيب‬)
‫التركيب‬ ‫عالقة‬Composition‫أن‬ ‫توضح‬ ‫التالية‬‫وال‬ ‫العميل‬ ‫بيانات‬‫معامالت‬‫على‬
‫الحساب‬(‫ايداع‬/‫سحب‬)‫من‬ ‫جزء‬‫البنك‬ ‫في‬ ‫الحساب‬
Whole
Bank Account
Transactions Part
CustomerInfo
Part
‫حذف‬ ‫تم‬ ‫اذا‬ ‫أنه‬ ‫الواضح‬ ‫من‬‫البنك‬ ‫من‬ ‫الحساب‬‫معه‬ ‫فسيحذف‬‫والمعامالت‬ ‫العميل‬ ‫بيانات‬
‫الحساب‬ ‫وجد‬ ‫اذا‬ ‫إال‬ ‫والمعامالت‬ ‫العميل‬ ‫بيانات‬ ‫تظهر‬ ‫ولن‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 68
Composition 3(‫التركيب‬)
‫التركيب‬ ‫عالقة‬Composition‫التالية‬‫أن‬ ‫توضح‬Slider, header, panel
‫أجزاء‬‫النافذة‬ ‫من‬
‫أن‬ ‫الواضح‬ ‫من‬‫النافذة‬ ‫مكونات‬(‫النافذة‬ ‫وجسم‬ ‫والعنوان‬ ‫التمرير‬ ‫شريط‬)‫تظهر‬ ‫لن‬‫اذا‬ ‫إال‬
‫النافذة‬ ‫وجدت‬‫المكونات‬ ‫معها‬ ‫فسيحذف‬ ‫النافذة‬ ‫حذف‬ ‫تم‬ ‫وإذا‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 69
•‫هي‬ ‫االعتمادية‬‫صفين‬ ‫بين‬ ‫عالقة‬‫أن‬ ‫توضح‬ ‫فئتين‬ ‫او‬‫سلوك‬‫فئة‬Class‫في‬ ‫يؤثر‬‫أخرى‬ ‫فئة‬.
•‫تمثل‬‫متقطع‬ ‫بخط‬‫المستقل‬ ‫الصف‬ ‫ناحية‬ ‫يتجه‬ ‫بسهم‬ ‫ينتهي‬ ‫الصفين‬ ‫بين‬ ‫يربط‬
independent class
Dependency 1(‫االعتمادية‬)
System
Form
Dependency
Relationship
The independent class
The dependent class
‫الوظيفة‬display(Form)‫في‬ ‫الموجودة‬‫الصف‬-‫الفئة‬Class(System)‫تحتاج‬
‫من‬ ‫لكيان‬‫الصف‬(Form)‫الحاسب‬ ‫نافذة‬ ‫على‬ ‫بعرضه‬ ‫تقوم‬ ‫لكي‬
display(Form f)
‫الصف‬A‫الفئة‬Class‫على‬ ‫يعتمد‬‫الصف‬B‫الفئة‬Class””(A B)‫وجدت‬ ‫إذا‬
‫وظيفة‬(Method)‫في‬‫الصف‬A‫لكيان‬ ‫تحتاج‬‫الصف‬ ‫من‬B‫بعملها‬ ‫تقوم‬ ‫لكي‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 70
‫الوظيفة‬add(Product)‫في‬ ‫الموجودة‬‫الصف‬(Cart)‫التسوق‬ ‫عربة‬‫تحتاج‬
‫الصف‬ ‫من‬ ‫لكيان‬(Product)‫المنتجات‬‫بإضافته‬ ‫تقوم‬ ‫لكي‬
Cart
Product
Dependency
Relationship
The independent class
The dependent class
add(Product p)
Dependency 2(‫االعتمادية‬)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 71
Multiplicity 1(‫التعددية‬)
2..4
0..1
1..*
0..*
1
*
 Unspecified ‫محدد‬ ‫غير‬
 Exactly one ‫فقط‬ ‫واحد‬
 Zero or more (many, unlimited)‫اكثر‬ ‫او‬ ‫صفر‬
 One or more ‫اكثر‬ ‫او‬ ‫واحد‬
 Zero or one ‫واحد‬ ‫او‬ ‫صفر‬
 Specified range ‫محدد‬ ‫مجال‬
 Multiple, disjoint ranges ‫ومتعدد‬ ‫متصل‬ ‫غير‬ ‫متقطع‬ ‫مجال‬
2, 4..6
‫تعرف‬‫التعددية‬Multiplicity‫الكيانات‬ ‫عدد‬‫أن‬ ‫يمكن‬ ‫التي‬‫العالقة‬ ‫هذه‬ ‫في‬ ‫تشارك‬
‫صف‬ ‫من‬ ‫الكيانات‬ ‫عدد‬‫تناظر‬ ‫والتي‬‫واحد‬ ‫كيان‬‫آخر‬ ‫صف‬ ‫من‬
‫العالقة‬ ‫أطراف‬ ‫من‬ ‫طرف‬ ‫لكل‬ ‫تحدد‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 72
‫مدير‬ ‫كل‬‫واحد‬‫ي‬‫قود‬‫واحدة‬ ‫شركة‬ ‫سيارة‬‫وكل‬
ُ‫ي‬ ‫شركة‬ ‫سيارة‬‫قودها‬‫واحد‬ ‫مدير‬
Multiplicity 2(‫التعددية‬)
"‫يدير‬ ‫مدير‬ ‫كل‬‫واحد‬‫العاملين‬ ‫من‬ ‫أكثر‬ ‫أو‬"
‫و‬"‫واحد‬ ‫مدير‬ ‫قبل‬ ‫من‬ ‫ُدار‬‫ي‬ ‫عامل‬ ‫كل‬“
0..4
0, 1
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 73
Multiplicity 3(‫التعددية‬)
House Chimney
‫المدخنة‬
0, 1
1 has
Student Payment
0, 1
1 takes
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 74
Multiplicity notation: ‫المثال‬ ‫في‬ ‫التعددية‬ ‫لرموز‬ ‫توضيح‬
0..10 ‫االقل‬ ‫على‬ ‫تعني‬0‫االكثر‬ ‫وعلى‬10
1, 2 ‫ممكن‬ ‫تعني‬1‫او‬2
* ‫متعدد‬ ‫رقم‬ ‫أي‬
roles
multiplicities
‫الطالب‬ ‫المساق‬
‫الكلية‬
‫المساقات‬
‫المطروحة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 75
Association Class ‫صف‬‫االقتران‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 76
Association Class (2) ‫صف‬‫االقتران‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 77
Generalization(‫التعميم‬)
‫هي‬‫حيث‬ ‫الصفوف‬ ‫بين‬ ‫عالقة‬‫يرث‬Inherited‫صف‬(‫فئة‬Class –)‫أخر‬ ‫صفا‬Class‫أو‬
‫الصفات‬ ‫في‬ ‫أكثر‬‫و‬/‫أو‬‫السلوك‬‫وتعتبر‬‫النوع‬ ‫من‬ ‫عالقة‬“Is-a-kind-of”
‫بحيث‬ ‫الصفوف‬ ‫من‬ ‫هرمية‬ ‫تعرف‬‫يرث‬Inherited‫الفرعي‬ ‫الصف‬(Subclass)‫من‬
‫من‬ ‫أكثر‬ ‫و‬ ‫واحد‬‫الفوقية‬ ‫الصفوف‬(Super-classes)
‫يمثل‬ ‫الذي‬ ‫الصف‬ ‫ناحية‬ ‫يتجه‬ ‫فارغ‬ ‫بمثلث‬ ‫ينتهي‬ ‫الفرعية‬ ‫الصفوف‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬ ‫وتمثل‬
‫األب‬
•‫الفرعي‬ ‫الصف‬Subclass‫يرث‬Inheritedِ‫ت‬‫صفا‬Attributes‫وسلوك‬Behavior-
method‫وعالقات‬‫الفوقي‬ ‫الصف‬(‫األب‬)Super-class.
•‫الفرعي‬ ‫الصف‬Subclass‫تخصص‬ ‫أن‬ ‫يمكن‬:
•‫خاصة‬ ‫جديدة‬ ‫وعالقات‬ ‫وسلوك‬ ‫صفات‬ ‫يضيف‬Specialized.
•‫سلوك‬ ‫تعريف‬ ‫يعيد‬(‫عمليات‬)‫االب‬(‫لل‬ ‫العمليات‬ ‫يعرف‬‫صف‬‫الفوقي‬(‫األب‬)Super-
class‫اخرى‬ ‫بطرق‬ ‫جديد‬ ‫من‬)
•‫والعالقات‬ ‫والعمليات‬ ‫الصفات‬‫المشتركة‬‫في‬ ‫تظهر‬‫الهرمية‬ ‫من‬ ‫مستوى‬ ‫أعلى‬.
•‫الفئة‬ ‫او‬ ‫الصف‬class‫الجذر‬ ‫او‬ ‫االصل‬ ‫فهو‬ ‫اباء‬ ‫له‬ ‫يوجد‬ ‫ال‬ ‫التي‬. base class or root
‫الفئة‬ ‫او‬ ‫الصف‬class‫التي‬‫الشجرة‬ ‫من‬ ‫جزء‬ ‫اخر‬ ‫فهي‬ ‫ابناء‬ ‫او‬ ‫فرعية‬ ‫فئات‬ ‫لها‬ ‫يوجد‬ ‫ال‬
‫وتسمى‬classleaf‫ورقة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 78
Example: Single Inheritance
‫صف‬Class‫يرث‬Inherited‫فقط‬ ‫واحد‬ ‫صف‬
Truck
Tonnage
‫تحمل‬ ‫طن‬ ‫كم‬
GroundVehicle
weight
licenseNumber
Car
owner
register( )
getTax( )
Person
0..*
‫مقطورة‬
Trailer
1
Superclass
(parent)
Subclass
generalization
size
If a class has exactly one parent, it has single inheritance. ‫وراثة‬
‫مفردة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 79
Airplane Helicopter Wolf ‫ذئب‬ Horse
FlyingThing Animal
Bird
multiple
inheritance
Example: Multiple Inheritance
‫صفوف‬ ‫عدة‬ ‫يرث‬ ‫صف‬
UML
If a class has more than one parent, it has multiple inheritance
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 80
Class diagram‫الصفوف‬ ‫مخطط‬-‫الفئات‬
–‫الصفوف‬ ‫مخطط‬ ‫رسم‬Class Diagram-‫الفئات‬‫الجوانب‬ ‫من‬‫للتصميم‬ ‫منهج‬ ‫ألي‬ ‫األساسية‬
‫التوجه‬ ‫كائني‬
-‫الصفوف‬ ‫مخطط‬-‫الفئات‬Class Diagram‫هو‬‫للكائن‬ ‫بالمنحى‬ ‫التصميم‬ ‫لعملية‬ ‫المفتاح‬object
oriented design
–‫استخدام‬ ‫يتم‬‫الصفوف‬ ‫مخطط‬-‫الفئات‬‫مراحل‬ ‫في‬‫والتطوير‬ ‫والتصميم‬ ‫التحليل‬
–‫صيغ‬ ‫تستعمل‬‫الصفوف‬ ‫مخططات‬-‫الفئات‬‫لرسم‬‫للمفاهيم‬ ‫خريطة‬‫أن‬ ‫للمستفيد‬ ‫يمكن‬ ‫التي‬ ‫العامة‬
‫يستوعبها‬(‫تسمى‬‫المفاهيمي‬ ‫النموذج‬Conceptual Model.)
–‫ال‬Class Diagram‫يوضح‬‫الصفوف‬-‫الفئات‬‫هذه‬ ‫بين‬ ‫العالقات‬ ‫يبين‬ ‫كما‬ ‫النظام‬ ‫في‬ ‫المشتركة‬
‫الصفوف‬
-‫الصفوف‬ ‫مخطط‬‫الفئات‬Class diagram‫االستخدام‬ ‫حالة‬ ‫ومخطط‬use case diagram
‫من‬ ‫يجعالن‬‫المفاهيمي‬ ‫النموذج‬Conceptual Model‫قوية‬ ‫أداة‬‫المتطلبات‬ ‫لتحليل‬
Requirements analysis
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 81
‫كيفية‬‫بناء‬‫الصفوف‬ ‫مخطط‬‫بالكامل‬
•‫بناء‬ ‫يتم‬‫الصفوف‬ ‫مخطط‬‫من‬‫خالل‬‫المفاهيم‬ ‫بين‬ ‫الروابط‬ ‫تحديد‬.
•‫ب‬ ‫فمثال‬‫فرض‬‫على‬ ‫االتفاق‬ ‫تم‬ ‫انه‬‫عدة‬‫صفوف‬Classes‫تخص‬‫العاملين‬ ‫إدارة‬ ‫نظام‬‫الصفوف‬ ‫مثال‬ ‫وهي‬-
‫الفئات‬Classes‫التي‬‫الشكل‬ ‫في‬‫التالي‬
Class diagram‫مخطط‬‫الصفوف‬
‫الشركة‬ ‫سيارات‬‫الموظفون‬‫المدير‬
‫مرضية‬ ‫اجازات‬ ‫التدريب‬ ‫كورسات‬-‫التقاعد‬ ‫العطل‬ ‫مغادرة‬ ‫اذونات‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 82
‫كيفية‬‫بناء‬‫الصفوف‬ ‫مخطط‬‫بالكامل‬‫تابع‬
•‫بين‬ ‫الروابط‬ ‫لتحديد‬‫الصفوف‬Classes‫يتم‬‫تثبيت‬‫أحد‬‫الصفوف‬Classes‫ومراجع‬ ،‫مع‬ ‫ته‬‫كل‬
‫الصفوف‬‫اال‬‫خر‬‫ى‬.
•‫ونختبر‬”‫بين‬ ‫عالقة‬ ‫توجد‬ ‫هل‬‫الصفين‬-‫الفئتين‬Classes‫؟‬"،‫كذلك‬ ‫كان‬ ‫إذا‬‫يتم‬‫الرابطة‬ ‫تسمية‬
‫بينهما‬Associations،‫ال‬ ‫ونوع‬‫تعددية‬Multiplicity‫نسأل‬ ‫فمثال‬:
•‫هل‬‫عالقة‬ ‫للمدير‬،‫نعم‬ ‫؟‬ ‫العامل‬ ‫بالفرد‬‫يدير‬ ‫مدير‬ ‫كل‬1‫العمال‬ ‫من‬ ‫أكثر‬ ‫أو‬.
•‫و‬ ‫المدير‬‫نعم‬ ‫الشركة؟‬ ‫سيارة‬،‫واحدة‬ ‫سيارة‬ ‫يقود‬ ‫مدير‬ ‫كل‬.
•‫و‬ ‫المدير‬‫تقاعدي‬ ‫تأمين‬ ‫حساب‬،‫نعم‬ ‫؟‬‫واحد‬ ‫تقاعد‬ ‫حساب‬ ‫في‬ ‫يتشارك‬ ‫مدير‬ ‫كل‬
•‫حتى‬ ‫وهكذا‬‫ي‬‫النموذج‬ ‫كتمل‬.
‫المرحلة‬ ‫هذه‬ ‫في‬ ‫الشائع‬ ‫الخطأ‬‫يتم‬ ‫أن‬ ‫هو‬‫تحديد‬‫الصفين‬-‫الفئتين‬Classes‫عالقة‬ ‫بينهما‬،‫خط‬ ‫رسم‬ ‫ثم‬
‫رابط‬‫بينهما‬‫تترك‬ ‫ثم‬‫الحق‬ ‫لوقت‬ ‫الرابط‬ ‫تسمية‬.
•‫من‬ ‫يزيد‬ ‫هذا‬‫لدينا‬ ‫العمل‬ ‫عبء‬.
•‫حالما‬ ‫أنه‬ ‫سنكتشف‬‫الخطوط‬ ‫رسم‬ ‫من‬ ‫ننتهي‬‫بها‬ ‫نقصده‬ ‫كنا‬ ‫عما‬ ‫فكرة‬ ‫أية‬ ‫لدينا‬ ‫يكون‬ ‫لن‬ ‫،؛‬‫وسنضطر‬
‫جديد‬ ‫من‬ ‫العمل‬ ‫لبدء‬.
Class diagram‫مخطط‬‫الصفوف‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 83
Class Diagram 1: ‫نظام‬‫العاملين‬ ‫إدارة‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 84
Class Diagram 2: ‫المقررات‬ ‫تسجيل‬ ‫نظام‬
CourseOffering
RegistrationForm
RegistrationManager
Course
Student
Professor
addStudent(Course, StudentInfo)
name
numberCredits
open()
location
open()
addStudent(StudentInfo)
ScheduleAlgorithm
1
0..*
0..*
1
1
1..*
4
3..10
0..4
1
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 85
Class Diagram 3: ‫للعمالء‬ ‫أفالم‬ ‫تأجير‬
DVD Movie VHS Movie Video Game
Rental Item
Rental Invoice
1..* 1
Customer 1
Class
Abstract
Class
Generalization
Aggregation
Multiplicity
‫االيجار‬ ‫فاتورة‬
0..*
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 86
Class Diagram
UML classes are
analogous to E-R entities
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 87
Class Diagram of e-shopping system‫لنظام‬ ‫الفئات‬ ‫مخطط‬
‫الكتروني‬ ‫تسوق‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 88
‫بين‬ ‫العالقة‬Class Diagram‫و‬ER Diagram
•ER‫في‬ ‫يستخدم‬ ‫والعالقة‬ ‫الكينونة‬ ‫مخطط‬‫البيانات‬ ‫قواعد‬ ‫تصميم‬‫فقط‬.
•‫بينما‬UML‫المنحى‬ ‫كائنية‬ ‫نمذجة‬ ‫لغة‬ ‫هي‬object oriented‫فيها‬ ‫بما‬ ‫األنظمة‬ ‫أنواع‬ ‫لكل‬ ‫تستخدم‬
‫البيانات‬ ‫قواعد‬ ‫نمذجة‬.
•‫الصفوف‬ ‫مخطط‬ ‫هو‬ ‫بينهما‬ ‫تشابها‬ ‫المخططات‬ ‫أكثر‬Class Diagram‫ولكن‬UML‫امكانات‬ ‫تمتلك‬
‫الصف‬ ‫سلوك‬ ‫لتمثيل‬ ‫اضافية‬
•‫عالقة‬ ‫بين‬ ‫تماثل‬ ‫هناك‬Association‫في‬Class Diagram‫في‬ ‫ومثيلتها‬ER Diagram
•‫التعميم‬ ‫عالقة‬(Generalization)‫يمكن‬‫عالقة‬ ‫إلى‬ ‫تحويلها‬IS-A‫في‬ER Diagram‫قد‬ ‫مما‬
‫داخل‬ ‫مهمة‬ ‫لمعلومات‬ ‫فقد‬ ‫إلى‬ ‫يؤدي‬UML Model‫األصلي‬.
•‫عالقة‬aggregation‫إلى‬ ‫تحويلها‬ ‫يمكن‬‫عالقة‬“Contains”‫الحفاظ‬ ‫الحالة‬ ‫هذه‬ ‫في‬ ‫يمكن‬ ‫ال‬ ‫ولكن‬
‫عالقة‬ ‫تدعمها‬ ‫التي‬ ‫الترتيب‬ ‫عالقة‬ ‫على‬aggregation.
•‫نموذج‬ ‫الى‬ ‫تعليق‬ ‫بإضافة‬ ‫المشكالت‬ ‫هذه‬ ‫مثل‬ ‫معالجة‬ ‫يمكن‬ER
Window
size
visibility
display()
hide()
Window
window-ID
size
visibility
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 89
Object Diagram‫الكيانات‬ ‫مخطط‬
‫الكيان‬(Object):‫الصف‬ ‫من‬ ‫حالة‬ ‫هو‬(Class)
‫الكيانات‬ ‫مخطط‬Object Diagram:‫ل‬ ‫مشابه‬‫مخطط‬‫الصفوف‬Class Diagram
‫التعريف‬ ‫طرق‬ ‫نفس‬ ‫ويستخدم‬
‫الكيانات‬ ‫مخطط‬Object Diagram:‫العالقات‬ ‫ويوضح‬ ‫الصف‬ ‫من‬ ‫حالة‬ ‫يصف‬
‫عكس‬ ‫على‬ ‫الكيانات‬ ‫بين‬ ‫الديناميكية‬Class Diagram‫الساكنة‬ ‫العالقات‬ ‫يوضح‬ ‫الذي‬
‫ال‬ ‫توضح‬Object Diagrams:‫لحظية‬ ‫صورة‬(Snapshot)‫التفصيلية‬ ‫للحالة‬
‫معينة‬ ‫زمنية‬ ‫لحظة‬ ‫في‬ ‫للنظام‬.
ThisOne : MyClassName
+SomePublicAttribute : SomeType
-SomePrivateAttribute : SomeType
#SomeProtectedAttribute : SomeType
+ClassMethodOne()
+ClassMethodTwo()
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 90
Class and Object Diagrams 1
Aly: Customer UML: Rental Item
+name: Aly ahmed
+id:1667
+released:1942
+id:22340
Object Diagram
Object Name
0..1
0..n
Customer Rental Item
Rents
+name:string
+id:integer
+released:date
+id:integer
Class Diagram
Class Name
Attributes
Association Name
Rents
Link Name
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 91
Class and Object Diagrams 2
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 92
Object Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 93
‫النمذجة‬‫التفاعلية‬-Interaction modeling
Dynamic view،‫ديناميكي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫ديناميكية‬ ‫رؤية‬‫و‬‫كيف‬ ‫تمثل‬
‫االحداث‬ ‫تحدث‬‫الشروط‬ ‫وتوضح‬Conditions‫التفاعالت‬ ‫وتدفق‬Interaction
flow‫االحداث‬ ‫وتدفق‬Event flow‫المعلومات‬ ‫وتدفق‬information flow
‫تتمثل‬‫من‬‫خالل‬‫المخططات‬‫التالية‬:
.1‫النمذجة‬‫التفاعلية‬-‫مخططات‬‫التفاعل‬Interaction modeling
‫مخطط‬‫التتابع‬Sequence Diagram
‫مخطط‬‫التعاون‬Collaboration Diagram
.2‫مخططات‬‫السلوك‬Behavioral models
‫مخطط‬‫الحالة‬(state diagram)
‫مخطط‬‫النشاط‬(activity diagram)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 94
UML Diagrams
‫النمذجة‬‫التفاعلية‬-Interaction modeling
Interaction Diagrams‫وهي‬‫تبين‬‫كيف‬‫يمكن‬
‫للكائنات‬“objects”‫ان‬‫تتعاون‬‫لتحقيق‬‫سلوك‬‫معين‬.
‫مخططات‬‫التفاعل‬“Interaction Diagrams”‫ال‬‫يمكنها‬‫ان‬‫تعطي‬‫وصف‬
‫عميق‬‫للسلوك‬.‫إذا‬‫كنت‬‫تريد‬‫أن‬‫ترى‬‫ما‬‫تقوم‬‫به‬‫كائنات‬‫معينة‬‫للعديد‬‫من‬‫حاالت‬
‫االستخدام‬‫فعليك‬‫باستخدام‬‫مخطط‬‫الحالة‬“state diagram”.
Sequence Diagram
‫مخطط‬‫يهدف‬‫إلى‬‫توصيف‬‫االتصاالت‬‫بين‬Objects‫عبر‬‫الزمن‬‫أي‬‫يتم‬
‫إدخال‬‫ُعد‬‫ب‬‫الزمن‬Time‫إلى‬‫المخطط‬‫وبالتالي‬‫يتم‬‫توضيح‬‫كل‬‫التفاعالت‬
‫واالتصاالت‬‫بين‬Objects‫وفق‬‫تسلسل‬‫زمني‬

‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 95
UML Diagrams
‫النمذجة‬‫التفاعلية‬-Interaction modeling
‫مخطط‬‫التتابع‬Sequence Diagram‫في‬‫حقيقته‬‫له‬‫عالقة‬‫مباشرة‬
‫بمخطط‬‫التعاون‬Collaboration Diagram‫و‬‫يقوم‬‫بعرض‬‫نفس‬
‫المعلومات‬،‫و‬‫لكن‬‫بشكل‬‫يختلف‬‫قليال‬‫فهو‬‫يهتم‬‫بالتتابع‬‫الزمني‬‫للتفاعل‬
‫ومخطط‬‫التعاون‬‫يهتم‬‫بسياق‬‫التفاعل‬Interaction context‫دون‬
‫اهتمام‬‫بالزمن‬Time‫عن‬‫طريق‬‫تبادل‬‫رسائل‬Messages‫يوضح‬
‫التفاعل‬.
‫مخططات‬‫التتابع‬‫او‬‫ال‬‫تسلسل‬“sequence diagrams”‫و‬‫مخططات‬‫التعاون‬
“collaboration diagrams”‫يمكن‬‫استخدامهما‬‫لوصف‬‫التفاعل‬‫بين‬
‫الكائنات‬“objects”‫في‬‫حالة‬‫استخدامهم‬“use case
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 96
UML Diagrams
‫النمذجة‬‫التفاعلية‬-Interaction modeling
‫مخططات‬‫التتابع‬‫او‬‫التسلسل‬“sequence diagrams”‫يظهرون‬‫بشكل‬‫عام‬‫ال‬‫تسلسل‬
‫الزمني‬‫لألحداث‬‫التي‬‫تحدث‬.
‫مخططات‬‫التعاون‬“collaboration diagrams”‫تصف‬‫كيفية‬‫ترابط‬‫الكائنات‬‫بشكل‬
‫ثابت‬.‫كل‬‫من‬‫المخططات‬‫بسيطة‬‫نسبيا‬‫لالستخالص‬‫وتحتوي‬‫على‬‫عناصر‬‫مماثلة‬.
‫مخططات‬‫التسلسل‬“Sequence diagrams”‫تشرح‬‫سلوك‬‫الكائنات‬“objects”‫في‬
‫حالة‬‫استخدامها‬“use case”‫مع‬‫وصف‬‫الكائنات‬“objects”‫والرسائل‬‫ُرسلة‬‫م‬‫ال‬‫بينهم‬.
‫تتم‬‫قراءة‬‫المخططات‬‫من‬‫اليسار‬‫إلى‬‫اليمين‬‫وتنازليا‬.
‫في‬‫الخطوط‬ ‫التالي‬ ‫المثال‬‫تشير‬ ‫المخطط‬ ‫أسفل‬ ‫إلى‬ ‫المنقطة‬‫الزمن‬ ‫إلى‬‫هو‬ ‫هنا‬ ‫نشاهده‬ ‫فما‬ ‫لذلك‬ ،
‫الزمن‬ ‫عبر‬ ‫نظامنا‬ ‫في‬ ‫الكائنات‬ ‫تفاعل‬ ‫لكيفية‬ ‫وصف‬.
Sequence Diagram(make a phone call)
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 98
Sequence Diagram
‫الخطوط‬‫المنقطة‬‫إلى‬‫أسفل‬‫المخطط‬‫تشير‬‫إلى‬‫الزمن‬،‫لذلك‬‫فما‬‫نشاهده‬‫هنا‬‫هو‬‫وصف‬‫لكيفية‬
‫تفاعل‬‫الكائنات‬‫في‬‫نظامنا‬‫عبر‬‫الزمن‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 99
Sequence
Diagram

‫بحث‬ ‫محرك‬ ‫في‬ ‫البحث‬ ‫لعملية‬ ‫التتابع‬ ‫مخطط‬Sequence
Diagram
Sequence Diagram‫كتاب‬ ‫عن‬ ‫البحث‬ ‫لعملية‬ ‫التتابع‬ ‫مخطط‬
‫الكترونية‬ ‫مكتبة‬ ‫فهرس‬ ‫في‬
User Catalog Reservations
1: look up ()
2: title data ()
3: [not available] reserve title ()
4 : title returned ()
5: hold title ()
5 : title available ()
6 : borrow title ()
6 : remove reservation ()
Message
‫الكائنات‬ ‫تصف‬
‫بين‬ ‫والرسائل‬
‫الكائنات‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 102
UML Diagrams
‫النمذجة‬‫التفاعلية‬-Interaction modeling
.2Collaboration Diagram


‫برامج‬ ‫بتطوير‬ ‫نقوم‬ ‫نحن‬ ‫و‬‫المنحى‬‫الكائني‬OO‫بأي‬ ‫يقوم‬ ‫ألن‬ ‫برنامجنا‬ ‫احتاج‬ ‫إذا‬ ‫؛‬
‫بواسطة‬ ‫ذلك‬ ‫فسيكون‬ ‫شيء‬‫الكائنات‬ ‫تعاون‬Object collaboration.

‫رسم‬ ‫يمكننا‬‫التعاون‬ ‫مخططات‬‫الكيفية‬ ‫لوصف‬(‫السياق‬Context)‫التي‬‫تتعاون‬
‫الكائنات‬ ‫بها‬‫نريدها‬ ‫التي‬ ‫بالطريقة‬ ‫بينها‬ ‫فيما‬.
UML‫مجرد‬ ‫هي‬‫صيغة‬‫كونها‬ ‫من‬ ‫أكثر‬‫حقيقية‬ ‫عملية‬‫البرمجيات‬ ‫لتطوير‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 103
‫التعاون‬ ‫مخططات‬The
Collaboration Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 104
‫الطباعة‬ ‫خادم‬ ‫على‬ ‫الطباعة‬ ‫لعملية‬ ‫التعاون‬ ‫مخططات‬The
Collaboration Diagrams
INTERACTION DIAGRAMS: COLLABORATION DIAGRAMS
6 : borrow title
User
Catalog
Reservations
start
1: look up
2: title data
3 : [not available] reserve title
4 : title returned
5 : hold title
6: remove reservation
5: title available
‫التعاون‬ ‫مخططات‬The Collaboration Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 107
UML Diagrams-
Dynamic view
.3STATE Diagram

Triggers
‫بعض‬‫الكائنات‬‫أي‬ ‫في‬ ‫يمكنها‬‫محدد‬ ‫وقت‬‫تكون‬ ‫أن‬‫ما‬ ‫حالة‬ ‫في‬.
‫الحاالت‬ ‫إحدى‬ ‫في‬ ‫تكون‬ ‫أن‬ ‫الضوئية‬ ‫لإلشارة‬ ‫يمكن‬ ،‫مثال‬
‫التالية‬:‫مطفأة‬،‫حمراء‬،‫صفراء‬،‫خضراء‬.
‫يكون‬ ،‫أحيانا‬‫ّالت‬‫و‬‫التح‬ ‫تعاقب‬‫الحاالت‬ ‫بين‬‫جدا‬ ‫ّد‬‫ق‬‫مع‬-‫في‬
‫حالة‬ ‫من‬ ‫ننتقل‬ ‫أن‬ ‫يمكننا‬ ‫ال‬ ،‫أدناه‬ ‫المثال‬"‫خضراء‬"‫حالة‬ ‫إلى‬
"‫حمراء‬( "‫و‬‫حادث‬ ‫في‬ ‫ّبنا‬‫ب‬‫تس‬ ‫إال‬.)!
State Diagrams
‫المرور‬ ‫حركة‬ ‫تنظيم‬ ‫نظام‬(Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Start
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 109
.3STATE DiagramBehavioral Diagram
‫التعامل‬ ‫في‬ ‫التهاون‬‫مع‬‫الحاالت‬‫إلى‬ ‫ّي‬‫د‬‫يؤ‬ ‫أن‬ ‫يمكن‬‫و‬ ‫جدية‬ ‫أعطال‬ ‫وقوع‬
‫محرجة‬‫برامجنا‬ ‫في‬.
‫مثال‬ ‫خذ‬-‫سنوات‬ ‫أربع‬ ‫منذ‬ ‫ّي‬‫ف‬‫تو‬ ‫مستهلك‬ ‫إلى‬ ‫مرسلة‬ ‫غاز‬ ‫فاتورة‬-‫هذا‬
‫اعتباره‬ ‫في‬ ‫يأخذ‬ ‫لم‬ ‫ما‬ ‫نقطة‬ ‫في‬ ‫المبرمج‬ ‫أن‬ ‫ذلك‬ ‫سبب‬ ‫و‬ ‫الواقع‬ ‫في‬ ‫يحدث‬
‫الحالة‬ ‫ّالت‬‫و‬‫تح‬.
‫يمكن‬ ‫كما‬ ‫و‬‫الحالة‬ ‫ّالت‬‫و‬‫لتح‬‫تكون‬ ‫أن‬‫ّدة‬‫ق‬‫مع‬‫فإن‬ ،UML‫تسمح‬ ‫صيغة‬ ‫ّم‬‫د‬‫تق‬
‫لنا‬‫و‬ ‫بتصويرها‬‫نمذجتها‬.
UML Diagrams- Dynamic view
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 110
STATE
Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 111
STATE Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 112
Microwave oven model
State Chart Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 114
‫الهاتف‬ ‫لنظام‬ ‫الحالة‬ ‫مخطط‬
‫الفاتورة‬ ‫معالجة‬ ‫نظام‬ ‫حاالت‬State Diagrams
(Billing Example)
State Diagrams show the sequences of states an object goes through during its life
cycle in response to stimuli, together with its responses and actions; an abstraction
of all possible behaviors.
Unpaid
Start End
Paid
Invoice created paying Invoice destroying
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 116
UML Diagrams- Dynamic view
.4ACTIVITY DiagramBehavioral
Diagram



‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 117
ACTIVITY Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 118
ACTIVITY Diagram
Activity Diagram
‫اصناف‬ ‫لشراء‬ ‫طلبية‬ ‫لمعالجة‬ ‫النشاط‬ ‫مخطط‬
Activity diagram for onlineshopping‫النشاط‬ ‫مخطط‬
‫االلكتروني‬ ‫التسوق‬ ‫لنظام‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 120
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 121
-physical Diagrams-
.1COMPONENT Diagram
‫يتشابه‬‫المكونات‬ ‫مخطط‬‫مع‬‫التحزيم‬ ‫مخطط‬–package diagram

‫كيفية‬ ‫بترميز‬ ‫لنا‬ ‫يسمح‬‫تقسيم‬ ‫أو‬ ‫فصل‬‫كيف‬ ‫،و‬ ‫نظامنا‬‫على‬ ‫قالب‬ ‫كل‬ ‫يعتمد‬
‫آخر‬‫فيه‬.
‫ليس‬‫بالفصل‬‫الفكري‬ ‫أو‬ ‫المنطقي‬‫في‬ ‫كما‬‫التحزيم‬ ‫مخطط‬Packaging
Diagram.
‫ّز‬‫ك‬‫ير‬‫المكونات‬ ‫مخطط‬‫على‬‫للبرنامج‬ ‫الفعلية‬ ‫المكونات‬(‫الملفات‬،‫الترويسات‬
headers،‫الربط‬ ‫مكتبات‬،‫التنفيذية‬ ‫الملفات‬،‫الحزم‬packages)
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 122
-physical Diagrams-
.1COMPONENT DiagramStructural Diagrams
‫يعرض‬‫البنية‬‫الحزمية‬‫عالية‬‫المستوى‬‫للشفرة‬‫نفسها،وتظهر‬‫االعتمادات‬‫بين‬‫ا‬‫لمكونات‬
‫ويتم‬‫تضمين‬‫شفرة‬‫المصدر‬‫والشفرة‬‫الثنائية‬‫والمكونات‬‫التنفيذية‬(‫وملفات‬‫الهدف‬‫والمصدر‬
‫والمكتبات‬exe,obj,c,dll))
‫وتتواجد‬‫بعض‬‫المكونات‬‫في‬‫وقت‬‫الترجمة‬‫او‬‫وقت‬‫الربط‬‫او‬‫وقت‬‫التنفيذ‬.
،‫التحزيم‬ ‫مخطط‬ ‫عمل‬ ‫طريقة‬ ‫بنفس‬ ‫يعمل‬‫العناصر‬ ‫عارضا‬‫فيما‬ ‫االعتماديات‬ ‫و‬‫بصورة‬ ‫بينها‬
‫المنطقية‬ ‫الحزم‬ ‫وليس‬ ‫البرمجية‬ ‫المكونات‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 123
COMPONENT Diagram
.7
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 124
COMPONENT Diagram
packaging Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 125
COMPONENT Diagram
Structural
.7
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 126
‫التحزيم‬ ‫مخططات‬Package Diagrams
‫أي‬‫نظام‬‫صغيرا‬ ‫يكون‬ ‫ال‬‫يحتاج‬‫ت‬‫ّيم‬‫س‬‫ق‬‫أجزاء‬ ‫إلى‬"chunks"‫حجما‬ ‫أصغر‬‫و‬
‫للفهم‬ ‫أسهل‬.
‫لنا‬ ‫تتيح‬‫التحزيم‬ ‫مخططات‬Package Diagrams‫في‬UML‫نمذجة‬‫هذه‬
‫ّالة‬‫ع‬‫ف‬ ‫و‬ ‫بسيطة‬ ‫بطريقة‬ ‫األجزاء‬.
‫لنا‬ ‫تتيح‬‫التحزيم‬ ‫مخططات‬Package Diagrams‫نمذجة‬‫من‬ ‫نوع‬ ‫أي‬
‫لغة‬ ‫فئات‬‫النمذجة‬‫مثل‬ ‫النظام‬ ‫او‬ ‫الموحدة‬‫االستخدام‬ ‫لحاالت‬ ‫التحزيم‬ ‫مخطط‬‫او‬
‫للفئات‬ ‫التحزيم‬ ‫مخطط‬‫او‬‫البيانات‬ ‫لكائنات‬ ‫التحزيم‬ ‫مخطط‬data,classes
.use cases, orentities
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 127
‫التحزيم‬ ‫مخططات‬Package Diagrams
 figure 1. Package diagram organizing the university class model. ‫الصفوف‬ ‫او‬ ‫الفئات‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬
‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬
‫االولى‬ ‫الحزمة‬ ‫ازلنا‬ ‫اذا‬ ‫مالحظة‬seminar registration ,‫االخيرة‬ ‫والحزمة‬ ،Java Infrastructure packages‫مخطط‬ ‫يصبح‬
‫البيانات‬ ‫لكائنات‬ ‫التحزيم‬.Data entities package diagram
Contact
point
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 128
‫الجدول‬ ‫وهي‬ ‫واحدة‬ ‫لحزمة‬ ‫الفئات‬ ‫لنموذج‬ ‫التحزيم‬ ‫مخططات‬
class model -Package Diagrams
 figure 1. Package diagram organizing the university class model. ‫لمحتويات‬ ‫المفصل‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬
 ‫الجدول‬ ‫حزمة‬Schedule ‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 129
‫االستخدام‬ ‫حاالت‬ ‫لنموذج‬ ‫التحزيم‬ ‫مخططات‬
use case model -Package Diagrams
 figure 1. Package diagram organizing the university class model. ‫االستخدام‬ ‫لحاالت‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬
‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 130
‫لفئات‬ ‫التحزيم‬ ‫مخططات‬-‫لجامعة‬ ‫االلكتروني‬ ‫التسجيل‬ ‫نظام‬
Package Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 130
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 131
‫طلبيات‬ ‫لنظام‬ ‫الفئات‬ ‫مخطط‬Class diagram
for ordering system
‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 132
‫لفئات‬ ‫التحزيم‬ ‫مخططات‬-‫طلبيات‬ ‫نظام‬Package
Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 132
‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 133
‫للحزمة‬ ‫الفئات‬ ‫مخططات‬3‫التحزيم‬-‫لجامعة‬ ‫االلكتروني‬ ‫التسجيل‬ ‫لنظام‬
Package class Diagrams
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 133
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 134
physical Diagrams-
.2DEPLOYMENT Diagram- -
Structural Diagrams
‫الهدف‬‫من‬‫هذا‬‫المخطط‬:‫التخطيط‬‫لكيف‬‫سيتم‬‫تجهيز‬
‫برنامجنا‬.
‫يعرض‬‫عناصر‬‫معالجة‬‫وقت‬‫التشغيل،ومكونات‬
،‫البرمجيات‬‫والعمليات‬‫والكائنات‬.
،‫مثال‬‫المخطط‬‫في‬‫الشريحة‬‫التالية‬‫يعرض‬‫توصيفا‬‫مبسطا‬
‫لجهاز‬‫حاسوب‬‫شخصي‬.
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 135
DEPLOYMENT Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 136
DEPLOYMENT Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 137
DEPLOYMENT
Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 138
DEPLOYMENT Diagram for
web network
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 139
DEPLOYMENT Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 140
‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬
ATMUse case Diagram‫االستخدام‬ ‫حالة‬ ‫مخطط‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 141
‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬
ATM‫الحالة‬ ‫مخطط‬State chart-Diagram
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 142
Package Diagram for Example ATM System‫التحزيم‬ ‫مخطط‬
ATM
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 143
‫الفئات‬ ‫مخطط‬Class Diagram for ATM System:
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 144
‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬
ATMcollaboration Diagram‫الصراف‬ ‫من‬ ‫السحب‬ ‫لعملية‬ ‫التعاون‬ ‫مخطط‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 145
‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬
ATMcomponent Diagram‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫المكونات‬ ‫مخطط‬
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 146
‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫التجهيز‬ ‫او‬ ‫التوزيع‬ ‫مخطط‬
.DEPLOYMENT Diagram for ATM
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 147
‫ملخص‬Key points
‫ّر‬‫ف‬‫يو‬UML‫النظام‬ ‫لوصف‬ ‫مختلفة‬ ‫نماذج‬ ‫عدة‬.
‫االستخدام‬ ‫وقائع‬Use Cases-"‫العالم‬ ‫مع‬ ‫نظامنا‬ ‫سيتفاعل‬ ‫كيف‬
‫الخارجي؟‬"
‫الصنفيات‬ ‫مخطط‬Class Diagram-"‫التي‬ ‫الكائنات‬ ‫هي‬ ‫ما‬
‫عالقتها؟‬ ‫ما‬ ‫و‬ ‫نحتاجها؟‬"
‫التعاون‬ ‫مخطط‬Collaboration Diagram-"‫تتعامل‬ ‫كيف‬
‫للرسائل؟‬ ‫رقمي‬ ‫تتابع‬ ‫خالل‬ ‫من‬ ‫بعض‬ ‫مع‬ ‫الكائنات‬"
‫التتابع‬ ‫مخطط‬Sequence Diagram-"‫الكائنات‬ ‫تتعامل‬ ‫كيف‬
‫زمني؟‬ ‫بتسلسل‬ ‫بعض‬ ‫مع‬"
‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 148
‫ملخص‬Key points
hung up
‫الحالة‬ ‫مخطط‬State Diagram-"‫أن‬ ‫يجب‬ ‫التي‬ ‫الحاالت‬ ‫ما‬
‫الكائنات؟‬ ‫عليها‬ ‫تكون‬”
‫التحزيم‬ ‫مخطط‬Package Diagram-"‫بقولبة‬ ‫سنقوم‬ ‫كيف‬
‫عملنا؟‬”
‫المكونات‬ ‫مخطط‬Component Diagram-"‫سترتبط‬ ‫كيف‬
‫برنامجنا؟‬ ‫مكونات‬”
‫التجهيز‬ ‫مخطط‬Deployment Diagram-"‫سيتم‬ ‫كيف‬
‫البرنامج؟‬ ‫تجهيز‬"

More Related Content

What's hot

ورشة تطبيقات الواقع المعزز
ورشة تطبيقات الواقع المعززورشة تطبيقات الواقع المعزز
ورشة تطبيقات الواقع المعزز
nourah abdulrahman
 
software engineering هندسة البرمجيات
software engineering هندسة البرمجياتsoftware engineering هندسة البرمجيات
software engineering هندسة البرمجيات
Hacen Dadda
 
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2تصميم درس تفاعلي باستخدام برنامج Lecture maker 2
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2Mohamed Alfakih
 
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdfأهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
Egypt
 
أساسيات الفوتوشوب.pdf
أساسيات الفوتوشوب.pdfأساسيات الفوتوشوب.pdf
أساسيات الفوتوشوب.pdf
mohamedezzat558304
 
ملخص ورشة أساسيات أمن المعلومات
ملخص ورشة أساسيات أمن المعلوماتملخص ورشة أساسيات أمن المعلومات
ملخص ورشة أساسيات أمن المعلومات
Hassan Al Ajmi
 
تحليل النظم
تحليل النظمتحليل النظم
تحليل النظم
Kohinour Osman
 
المحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوبالمحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوب
د. عائشة بليهش العمري
 
البرمجة بلغة الفيجوال بيسك
البرمجة بلغة الفيجوال بيسكالبرمجة بلغة الفيجوال بيسك
البرمجة بلغة الفيجوال بيسك
Med Habib Rammeh
 
امن المعلومات المحاضرة الاولى
امن المعلومات المحاضرة الاولىامن المعلومات المحاضرة الاولى
امن المعلومات المحاضرة الاولى
ايمن البيلي
 
تعريف نظام التشغيل وكيفية عمله
تعريف نظام التشغيل وكيفية عملهتعريف نظام التشغيل وكيفية عمله
تعريف نظام التشغيل وكيفية عملهAhmad Abdelbaqy
 
الذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناسالذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناس
Mohamed Alrshah
 
ادارة المشاريع التقنية.pptx
ادارة المشاريع التقنية.pptxادارة المشاريع التقنية.pptx
ادارة المشاريع التقنية.pptx
yaser74
 
مقدمة في قواعد البيانات
مقدمة في قواعد البياناتمقدمة في قواعد البيانات
مقدمة في قواعد البيانات
DrMohammed Qassim
 
تكنولوجيا المعلومات
تكنولوجيا المعلوماتتكنولوجيا المعلومات
تكنولوجيا المعلومات
Eman Salama
 
Information Security Awareness
Information Security AwarenessInformation Security Awareness
Information Security Awareness
Ali Hassan Ba-Issa
 
مقدمة نظم دعم القرار
مقدمة نظم دعم القرارمقدمة نظم دعم القرار
مقدمة نظم دعم القرار
hozifa_zkria
 
الذكاء الاصطناعي
الذكاء الاصطناعيالذكاء الاصطناعي
الذكاء الاصطناعي
nada labib
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
Victor Miclovich
 

What's hot (20)

ورشة تطبيقات الواقع المعزز
ورشة تطبيقات الواقع المعززورشة تطبيقات الواقع المعزز
ورشة تطبيقات الواقع المعزز
 
software engineering هندسة البرمجيات
software engineering هندسة البرمجياتsoftware engineering هندسة البرمجيات
software engineering هندسة البرمجيات
 
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2تصميم درس تفاعلي باستخدام برنامج Lecture maker 2
تصميم درس تفاعلي باستخدام برنامج Lecture maker 2
 
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdfأهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
أهم طرق إدارة المخازن وتطبيقها على برنامج مخازن وارد ومنصرف.pdf
 
أساسيات الفوتوشوب.pdf
أساسيات الفوتوشوب.pdfأساسيات الفوتوشوب.pdf
أساسيات الفوتوشوب.pdf
 
ملخص ورشة أساسيات أمن المعلومات
ملخص ورشة أساسيات أمن المعلوماتملخص ورشة أساسيات أمن المعلومات
ملخص ورشة أساسيات أمن المعلومات
 
تحليل النظم
تحليل النظمتحليل النظم
تحليل النظم
 
المحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوبالمحاضرة الأولى مقدمة عن الحاسوب
المحاضرة الأولى مقدمة عن الحاسوب
 
Local News
Local NewsLocal News
Local News
 
البرمجة بلغة الفيجوال بيسك
البرمجة بلغة الفيجوال بيسكالبرمجة بلغة الفيجوال بيسك
البرمجة بلغة الفيجوال بيسك
 
امن المعلومات المحاضرة الاولى
امن المعلومات المحاضرة الاولىامن المعلومات المحاضرة الاولى
امن المعلومات المحاضرة الاولى
 
تعريف نظام التشغيل وكيفية عمله
تعريف نظام التشغيل وكيفية عملهتعريف نظام التشغيل وكيفية عمله
تعريف نظام التشغيل وكيفية عمله
 
الذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناسالذكاء الإصطناعي لكل الناس
الذكاء الإصطناعي لكل الناس
 
ادارة المشاريع التقنية.pptx
ادارة المشاريع التقنية.pptxادارة المشاريع التقنية.pptx
ادارة المشاريع التقنية.pptx
 
مقدمة في قواعد البيانات
مقدمة في قواعد البياناتمقدمة في قواعد البيانات
مقدمة في قواعد البيانات
 
تكنولوجيا المعلومات
تكنولوجيا المعلوماتتكنولوجيا المعلومات
تكنولوجيا المعلومات
 
Information Security Awareness
Information Security AwarenessInformation Security Awareness
Information Security Awareness
 
مقدمة نظم دعم القرار
مقدمة نظم دعم القرارمقدمة نظم دعم القرار
مقدمة نظم دعم القرار
 
الذكاء الاصطناعي
الذكاء الاصطناعيالذكاء الاصطناعي
الذكاء الاصطناعي
 
Android Development Slides
Android Development SlidesAndroid Development Slides
Android Development Slides
 

Viewers also liked

مستشفى رباب و غادة
مستشفى رباب و غادةمستشفى رباب و غادة
مستشفى رباب و غادة
Omar Computer Teacher
 
Learning uml 2_part_1
Learning uml 2_part_1Learning uml 2_part_1
Learning uml 2_part_1
Mark Gaad
 
Aa presentation
Aa presentationAa presentation
Aa presentation
Kaizer Ooi
 
Class diagram railway reservation system
Class diagram railway reservation systemClass diagram railway reservation system
Class diagram railway reservation systemmuthumeenakshim
 
An Online Car Parking System (Features & Diagrams Only)
An Online Car Parking System (Features & Diagrams Only)An Online Car Parking System (Features & Diagrams Only)
An Online Car Parking System (Features & Diagrams Only)
Jubayer Al Mahmud
 
E-Learning
E-LearningE-Learning
E-Learning
Ahmed-Refat Refat
 
Revit architecture 2013 course
Revit architecture 2013 courseRevit architecture 2013 course
Revit architecture 2013 course
Sameer Nawab
 
99 Days Revit Architecture Training Detailed Syllabus
99 Days Revit Architecture Training Detailed Syllabus99 Days Revit Architecture Training Detailed Syllabus
99 Days Revit Architecture Training Detailed Syllabus
Subair Shamsudheen
 
ورقة ايزو جديدة 9001 2015
ورقة ايزو جديدة 9001 2015ورقة ايزو جديدة 9001 2015
ورقة ايزو جديدة 9001 2015
Hisham Burkan
 
Bim Presentation
Bim PresentationBim Presentation
Bim Presentation
rsalbin
 
Revit Architecture
Revit ArchitectureRevit Architecture
Revit Architectureniict
 
Revit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) PresentationRevit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) Presentation
ryanabarton
 
Building Information Modeling (BIM)
Building Information Modeling (BIM)Building Information Modeling (BIM)
Building Information Modeling (BIM)
Vulcan Smart Services
 
TRAINING ARCHITECTURE
TRAINING ARCHITECTURETRAINING ARCHITECTURE
TRAINING ARCHITECTURE
Ashok Narayanan
 
Introduction to UML
Introduction to UMLIntroduction to UML
Curso revit
Curso revitCurso revit
Curso revit
jarq55
 
Library management system
Library management systemLibrary management system
Library management systemashu6
 

Viewers also liked (18)

مستشفى رباب و غادة
مستشفى رباب و غادةمستشفى رباب و غادة
مستشفى رباب و غادة
 
Learning uml 2_part_1
Learning uml 2_part_1Learning uml 2_part_1
Learning uml 2_part_1
 
Aa presentation
Aa presentationAa presentation
Aa presentation
 
Class diagram railway reservation system
Class diagram railway reservation systemClass diagram railway reservation system
Class diagram railway reservation system
 
An Online Car Parking System (Features & Diagrams Only)
An Online Car Parking System (Features & Diagrams Only)An Online Car Parking System (Features & Diagrams Only)
An Online Car Parking System (Features & Diagrams Only)
 
E-Learning
E-LearningE-Learning
E-Learning
 
Revit architecture 2013 course
Revit architecture 2013 courseRevit architecture 2013 course
Revit architecture 2013 course
 
99 Days Revit Architecture Training Detailed Syllabus
99 Days Revit Architecture Training Detailed Syllabus99 Days Revit Architecture Training Detailed Syllabus
99 Days Revit Architecture Training Detailed Syllabus
 
Manual revit
Manual revitManual revit
Manual revit
 
ورقة ايزو جديدة 9001 2015
ورقة ايزو جديدة 9001 2015ورقة ايزو جديدة 9001 2015
ورقة ايزو جديدة 9001 2015
 
Bim Presentation
Bim PresentationBim Presentation
Bim Presentation
 
Revit Architecture
Revit ArchitectureRevit Architecture
Revit Architecture
 
Revit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) PresentationRevit and Building Information Modeling (BIM) Presentation
Revit and Building Information Modeling (BIM) Presentation
 
Building Information Modeling (BIM)
Building Information Modeling (BIM)Building Information Modeling (BIM)
Building Information Modeling (BIM)
 
TRAINING ARCHITECTURE
TRAINING ARCHITECTURETRAINING ARCHITECTURE
TRAINING ARCHITECTURE
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Curso revit
Curso revitCurso revit
Curso revit
 
Library management system
Library management systemLibrary management system
Library management system
 

Similar to Eight part sameera um11 12-2012

Sixth session software engineering usecase diagrams
Sixth session software engineering usecase diagramsSixth session software engineering usecase diagrams
Sixth session software engineering usecase diagrams
AliMohammad155
 
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحترافالبرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
Mohamed E. Saleh
 
ملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
ملف بوروبينت اساسيات برمجة الحاسب والخوارزمياتملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
ملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
omo6767g
 
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجيمقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
Hend Al-Khalifa
 
Chapter4 part1
Chapter4 part1Chapter4 part1
Chapter4 part1
Rasha Al-tarawneh
 
hz-ilovepdf-compressed
hz-ilovepdf-compressedhz-ilovepdf-compressed
hz-ilovepdf-compressed
hak moon
 
المحاضرة الخامسةالبرمجيات التعليمية
المحاضرة الخامسةالبرمجيات التعليميةالمحاضرة الخامسةالبرمجيات التعليمية
المحاضرة الخامسةالبرمجيات التعليمية
د. عائشة بليهش العمري
 
الأجهزة الذكية في البيئة الجامعية
الأجهزة الذكية في البيئة الجامعيةالأجهزة الذكية في البيئة الجامعية
الأجهزة الذكية في البيئة الجامعية
Mohamed Yahya
 
لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)
anees abu-hmaid
 
نظم معلومات اداريه.pptx
نظم معلومات اداريه.pptxنظم معلومات اداريه.pptx
نظم معلومات اداريه.pptx
LassaadBenMahjoub
 
محاضرة 3 نظام التشغيل
محاضرة 3 نظام التشغيلمحاضرة 3 نظام التشغيل
محاضرة 3 نظام التشغيل
zakaria_alathari
 
المحاكاة (simulation)
المحاكاة (simulation)المحاكاة (simulation)
المحاكاة (simulation)
صالح المالكي
 
Android 1
Android 1Android 1
Android 1
muhamed fouad
 
المرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdfالمرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdf
anasabeden22
 
Ar
ArAr
‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م17asebno1
 
تصميم التعليم الإلكتروني
تصميم التعليم الإلكترونيتصميم التعليم الإلكتروني
تصميم التعليم الإلكتروني
Dr. Almodaires
 
الكورس لاب
الكورس لابالكورس لاب
الكورس لابashwaq76
 

Similar to Eight part sameera um11 12-2012 (20)

Sixth session software engineering usecase diagrams
Sixth session software engineering usecase diagramsSixth session software engineering usecase diagrams
Sixth session software engineering usecase diagrams
 
البرمجة
البرمجةالبرمجة
البرمجة
 
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحترافالبرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
البرمجة | أقوي مجالات العمل والربح من الانترنت..دليلك نحو الاحتراف
 
ملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
ملف بوروبينت اساسيات برمجة الحاسب والخوارزمياتملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
ملف بوروبينت اساسيات برمجة الحاسب والخوارزميات
 
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجيمقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
مقدمة في بناء الأنطولوجيا باستخدام برنامج البورتجي
 
Chapter4 part1
Chapter4 part1Chapter4 part1
Chapter4 part1
 
Multimedia guid
Multimedia guidMultimedia guid
Multimedia guid
 
hz-ilovepdf-compressed
hz-ilovepdf-compressedhz-ilovepdf-compressed
hz-ilovepdf-compressed
 
المحاضرة الخامسةالبرمجيات التعليمية
المحاضرة الخامسةالبرمجيات التعليميةالمحاضرة الخامسةالبرمجيات التعليمية
المحاضرة الخامسةالبرمجيات التعليمية
 
الأجهزة الذكية في البيئة الجامعية
الأجهزة الذكية في البيئة الجامعيةالأجهزة الذكية في البيئة الجامعية
الأجهزة الذكية في البيئة الجامعية
 
لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)لا تكرر نفسك DRY (Don't Repeat yourself)
لا تكرر نفسك DRY (Don't Repeat yourself)
 
نظم معلومات اداريه.pptx
نظم معلومات اداريه.pptxنظم معلومات اداريه.pptx
نظم معلومات اداريه.pptx
 
محاضرة 3 نظام التشغيل
محاضرة 3 نظام التشغيلمحاضرة 3 نظام التشغيل
محاضرة 3 نظام التشغيل
 
المحاكاة (simulation)
المحاكاة (simulation)المحاكاة (simulation)
المحاكاة (simulation)
 
Android 1
Android 1Android 1
Android 1
 
المرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdfالمرحلة التمهيدية 4.pdf
المرحلة التمهيدية 4.pdf
 
Ar
ArAr
Ar
 
‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1‫‫‫‫‫‫‫و2 د3-م1
‫‫‫‫‫‫‫و2 د3-م1
 
تصميم التعليم الإلكتروني
تصميم التعليم الإلكترونيتصميم التعليم الإلكتروني
تصميم التعليم الإلكتروني
 
الكورس لاب
الكورس لابالكورس لاب
الكورس لاب
 

Eight part sameera um11 12-2012

  • 2. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 2 ‫البرمجيات‬ ‫تطوير‬ ‫دور‬ ‫له‬ ‫واحد‬ ‫كل‬ ‫و‬ ،‫األفراد‬ ‫من‬ ‫عدد‬ ‫فيه‬ ‫يشترك‬ ‫البرمجيات‬ ‫تطوير‬: ‫ّلون‬‫ل‬‫المح‬ ‫ّمون‬‫م‬‫المص‬ ‫المبرمجون‬ ‫باالختبار‬ ‫القائمون‬ ‫الجودة‬ ‫مراقبو‬ ‫المستفيدون‬ ‫التقنيون‬ ‫ّاب‬‫ت‬‫الك‬ ‫بجوانب‬ ‫يهتمون‬ ‫األفراد‬ ‫هؤالء‬ ّ‫ل‬‫ك‬‫النظام‬ ‫من‬ ‫مختلفة‬‫إلى‬ ‫يحتاج‬ ‫منهم‬ ‫واحد‬ ّ‫ل‬‫ك‬ ‫و‬ ، ‫التفاصيل‬ ‫من‬ ‫مختلف‬ ‫مستوى‬. ‫على‬‫المثال‬ ‫سبيل‬‫ا‬ ،‫لمبرمج‬‫يفهم‬ ‫أن‬ ‫إلى‬ ‫يحتاج‬‫الموضوع‬ ‫التصميم‬‫من‬ ‫للمنظومة‬ ‫األدنى‬ ‫مستواها‬ ‫في‬ ‫برمجية‬ ‫تعليمات‬ ‫إلى‬ ‫تحويله‬ ‫أجل‬. ‫بالمقابل‬‫التقني‬ ‫الكاتب‬(‫ّق‬‫ث‬‫المو‬)‫على‬ ‫اهتمامه‬ ّ‫ب‬‫ينص‬ّ‫ل‬‫كك‬ ‫النظام‬ ‫سلوك‬‫فيحتاج‬ ، ‫المنتج‬ ‫يعمل‬ ‫كيف‬ ‫لفهم‬.
  • 3. ‫أ‬.‫سميرة‬‫ابوغليون‬2012 3 ‫النمذجة‬The Modeling ‫نقوم‬ ‫لماذا‬‫بالنمذجة‬‫؟‬ ‫نماذج‬ ‫ببناء‬ ‫نقوم‬‫بتطويره‬ ‫نقوم‬ ‫نظام‬ ‫أي‬ ‫فهم‬ ‫من‬ ‫نتمكن‬ ‫حتى‬،‫في‬ ‫قدرتنا‬ ‫ألن‬ ‫وذلك‬ ‫محدودة‬ ‫واحدة‬ ‫دفعة‬ ‫بكاملة‬ ‫النظام‬ ‫فهم‬، ‫نقوم‬ ‫ما‬ ‫نظام‬ ‫لدراسة‬‫بتقسيمه‬‫إلى‬‫نماذج‬ ‫و‬ ‫مراحل‬‫ويعرف‬‫النموذج‬‫تبسيط‬ ‫أنه‬ ‫على‬ ‫المعقدة‬ ‫للمسائل‬ ‫وتجريد‬ ‫خالل‬ ‫من‬ ‫يتم‬‫النموذج‬‫حذف‬‫معينة‬ ‫نظر‬ ‫لوجهة‬ ‫بالنسبة‬ ‫له‬ ‫داعي‬ ‫ال‬ ‫ما‬ ‫كل‬(‫ما‬ ‫وهذا‬‫يسمى‬ ‫بالتجريد‬Abstraction)‫وإبقاء‬‫المهمة‬ ‫األجزاء‬‫النظر‬ ‫وجهة‬ ‫لنفس‬ ‫بالنسبة‬ ‫األساس‬ ‫هذا‬ ‫على‬ ‫الدراسة‬ ‫وتتم‬،‫على‬ ‫النموذج‬ ‫يعتمد‬ ‫و‬‫النظر‬ ‫وجهة‬‫بعين‬ ‫المأخوذة‬ ‫االعتبار‬‫نموذج‬ ‫من‬ ‫ألكثر‬ ‫ونحتاج‬‫الغاية‬ ‫لتحقيق‬
  • 4. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 4 ‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬ ‫عامي‬ ‫بين‬ ‫الواقعة‬ ‫الفترة‬ ‫في‬1989‫و‬1994‫البرمجيات‬ ‫مهندسو‬ ‫كان‬ ، ‫يفتقرون‬‫لمثل‬‫الرموز‬ ‫هذه‬.‫بـ‬ ‫إليها‬ ‫يشار‬ ‫التي‬ ‫الفترة‬ ‫هي‬ ‫و‬"‫حروب‬ ‫المناهج‬”. ‫توجد‬ ‫ال‬‫متكاملة‬ ‫لغة‬،‫ما‬ ‫نادرا‬‫يرضي‬ ‫ما‬ ‫البرمجيات‬ ‫على‬ ‫القائمون‬ ‫يجد‬ ‫واحدة‬ ‫لغة‬ ‫في‬ ‫حاجتهم‬ ‫كامل‬! ‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫ظهرت‬ ‫التسعينات‬ ‫في‬.UML‫لجهود‬ ‫كمحصلة‬ ‫خبراء‬ ‫ثالث‬.
  • 5. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 5 ‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬ ‫التسعينيات‬ ‫منتصف‬ ‫في‬‫برزت‬ ،‫ثالث‬‫منهجيات‬‫تملك‬ ‫منهجية‬ ‫كل‬‫خاصة‬ ‫قوة‬ ‫نقاط‬‫بها‬: ‫بوك‬Booch: ‫يخص‬ ‫فيما‬ ‫ممتازة‬ ‫كانت‬‫التنفيذ‬ ‫و‬ ‫التصميم‬.‫عمل‬ ‫لقد‬"‫بوك‬ ‫قرادي‬"Grady Booch ‫آدا‬ ‫لغة‬ ‫على‬ ‫بكثافة‬Ada‫الكائني‬ ‫المنحى‬ ‫تقنيات‬ ‫تطوير‬ ‫في‬ ‫رئيسي‬ ‫دور‬ ‫له‬ ‫كان‬ ‫و‬ ، (object oriented)‫للغة‬. ‫وبالرغم‬‫من‬‫بوك‬ ‫منهجية‬ ‫قوة‬‫أن‬ ‫إال‬‫فيها‬ ‫الرموز‬‫الحسن‬ ‫القبول‬ ‫تأخذ‬ ‫لم‬ OMT(‫الكائنية‬ ‫النمذجة‬ ‫تقنية‬Object Modeling Technique) ‫األفضل‬ ‫كانت‬‫التحليل‬ ‫في‬‫في‬ ‫و‬‫الكثيفة‬ ‫البيانات‬ ‫ذات‬ ‫المعلومات‬ ‫أنظمة‬. OOSE(Object Oriented Software Engineering‫المنحى‬ ‫كائنية‬ ‫البرمجيات‬ ‫هندسة‬) ‫تتميز‬‫بنموذج‬‫يسمى‬‫االستخدام‬ ‫وقائع‬(Use Cases.) ‫تعد‬‫االستخدام‬ ‫وقائع‬‫أجل‬ ‫من‬ ‫قوي‬ ‫أسلوب‬‫النظام‬ ‫سلوك‬ ‫فهم‬‫كامل‬.
  • 6. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 6 ‫النمذجة‬ ‫لغات‬ ‫تطور‬ ‫على‬ ‫تاريخية‬ ‫نظرة‬ ‫في‬‫عام‬1994‫قام‬ ،‫رامبخ‬ ‫جيم‬Jim Rumbaugh‫مؤسس‬ ،OMT‫عالم‬ ‫بمفاجأة‬ ، ‫بشركة‬ ‫العمل‬ ‫ترك‬ ‫حين‬ ‫البرمجيات‬‫الكتريك‬ ‫جنرال‬General Electric‫الى‬ ّ‫م‬‫انض‬ ‫و‬ ‫بوك‬ ‫قرادي‬‫شركة‬ ‫في‬ ‫للعمل‬‫راشيونال‬(Rational Corp.) ‫المشاركة‬ ‫من‬ ‫الغرض‬:‫م‬ ‫في‬ ‫ّها‬‫ب‬‫ص‬ ‫و‬ ‫أفكارهما‬ ‫دمج‬ ‫أجل‬ ‫من‬‫نهجية‬‫موحدة‬(‫بالطبع‬ ‫كان‬ ‫و‬ ‫هي‬ ‫المنهجية‬ ‫لهذه‬ ‫العمل‬ ‫عنوان‬"‫الموحدة‬ ‫المنهجية‬"Unified Method.) ‫مع‬‫عام‬1995‫أيضا‬ ‫انضم‬ ،‫مبدع‬OOSE‫جاكوبسون‬ ‫ايفار‬Ivar Jacobson‫إلى‬ ، ‫راشيونال‬Rational Corp‫أفكاره‬ ‫ضم‬ ‫تم‬ ‫و‬(‫مفهوم‬ ‫خاصة‬"‫االستخدام‬ ‫وقائع‬"Use Cases)‫في‬‫الموحدة‬ ‫المنهجية‬. ‫اآلن‬ ‫اصبحت‬‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫تدعى‬(Unified Modeling Language.) ‫من‬ ‫يتكون‬ ‫الذي‬ ‫الفريق‬ ‫ُرف‬‫ع‬‫و‬‫رامبخ‬‫و‬‫بوك‬‫و‬‫جاكوبسون‬‫بـ‬"‫الثالثة‬ ‫األصدقاء‬" (Three Amigos.) 
  • 7. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 7 ‫بدأت‬‫المنهجية‬‫الجديدة‬UML‫تجد‬‫استحبابا‬‫لدى‬‫أوساط‬‫صناعة‬ ‫البرمجيات‬ ‫تم‬‫تكوين‬‫لجنة‬‫مشتركة‬consortium‫خاصة‬‫بـ‬UML،‫شاركت‬‫فيها‬‫عدد‬‫من‬ ‫المؤسسات‬‫ثقيلة‬‫الوزن‬‫مثل‬‫هيولت‬-‫باكارد‬(Hewlett-Packard)‫و‬‫ميكروسوفت‬ (Microsoft)‫و‬‫أوراكل‬(Oracle). ‫ّي‬‫ن‬‫تب‬ ‫تم‬ ‫كما‬UML‫قبل‬ ‫من‬‫منظمة‬(OMG)‫في‬1979‫امتلكت‬ ‫حينها‬ ‫من‬ ‫و‬ ، (OMG)‫صيانتها‬ ‫على‬ ‫دأبت‬ ‫و‬ ‫اللغة‬.‫أصبحت‬ ‫عمليا‬ ‫لذلك‬‫لغة‬UML‫عامة‬ ‫وليست‬‫خاصة‬ ‫ملكية‬. OMG:‫الكائنية‬ ‫اإلدارة‬ ‫مجموعة‬(Object Management Group)،‫هي‬ ‫و‬ ‫جهة‬‫ربحية‬ ‫غير‬‫المواصفات‬ ‫لوضع‬.‫انظر‬www.omg.org‫التفاصيل‬ ‫من‬ ‫لمزيد‬.
  • 8. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 8 ‫هي‬ ‫ما‬UML‫؟‬ UML(Unified Modeling Language:) ‫هي‬‫لغة‬‫نمذجة‬‫رسومية‬‫تقدم‬‫لنا‬‫صيغة‬‫لوصف‬‫العناصر‬‫الرئيسية‬ ‫للنظم‬‫البرمجية‬. (‫هذه‬‫العناصر‬‫ّى‬‫م‬‫تس‬artifacts‫مشغوالت‬‫في‬UML).
  • 9. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 9 9 UML ‫مميزات‬UML 1-UML‫والمصممين‬ ‫المحللين‬ ‫على‬ ‫يسهل‬ ‫نماذج‬ ‫إلنتاج‬ ‫بسيطة‬ ‫رموزا‬ ‫تقدم‬ ‫موحدة‬ ‫نمطية‬ ‫صيغة‬ ‫في‬ ‫المعلومات‬ ‫بتمرير‬ ‫بينهم‬ ‫فيما‬ ‫التخاطب‬ ‫والعمالء‬ ‫والمبرمجين‬ ‫موجزة‬. 2-UML‫تصور‬ ‫عملية‬ ‫يسهل‬ ‫مما‬ ‫تصميمه‬ ‫المراد‬ ‫البرنامج‬ ‫عن‬ ‫كاملة‬ ‫صورة‬ ‫تعطي‬ ‫صيانته‬ ‫ويسهل‬ ‫كامال‬ ‫البرنامج‬. 3-‫إنشاء‬ ‫عملية‬ ‫في‬ ‫يسرع‬ ‫مما‬ ‫برنامج‬ ‫إلنجاز‬ ‫المبرمجين‬ ‫على‬ ‫المخططات‬ ‫توزيع‬ ‫يمكن‬ ‫البرامج‬.‫فترة‬ ‫بعد‬ ‫المخططات‬ ‫لهذه‬ ‫الرجوع‬ ‫حالة‬ ‫في‬ ‫البرنامج‬ ‫فهم‬ ‫يسهل‬ ‫كذلك‬ 4-UML‫الكائني‬ ‫التطوير‬ ‫من‬ ‫مهم‬ ‫جزء‬ ‫وهي‬ ‫الكبيرة‬ ‫النظم‬ ‫نمذجة‬ ‫في‬ ‫نجاحها‬ ‫ثبت‬ ‫للبرمجيات‬ ‫المنحى‬OO Software‫البرمجيات‬ ‫تطوير‬ ‫وعمليات‬
  • 10. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 10 10 UML ‫مميزات‬UML 5-UML‫المستخدمين‬ ‫تزود‬‫المرئية‬ ‫للنمذجة‬ ‫االستخدام‬ ‫جاهزة‬ ‫بلغة‬‫لتطوير‬ ‫من‬ ‫مهم‬ ‫جزء‬ ‫وهى‬ ،‫بعينها‬ ‫لغة‬ ‫على‬ ‫تعتمد‬ ‫وال‬ ‫معنى‬ ‫ذات‬ ‫نماذج‬ ‫وتبادل‬ ‫المنحى‬ ‫الكائنى‬ ‫التطوير‬Object Oriented‫وعمليات‬ ‫للبرمجيات‬ ‫البرمجيات‬ ‫تطوير‬. 6-‫ال‬‫الموحدة‬ ‫النمذجة‬ ‫لغة‬ ‫تعتبر‬UML‫البرمجيات‬ ‫تصميم‬ ‫أو‬ ‫لبناء‬ ‫منهجية‬ ‫وتطويرها‬.‫و‬ ‫البرمجيات‬ ‫لتصميم‬ ‫الطرق‬ ‫أفضل‬ ‫إلى‬ ‫ترشدك‬ ‫لن‬ ‫أنها‬ ‫بمعنى‬ ‫تطويرها‬. 7-‫لغة‬UML-‫لغة‬‫عامة‬‫بالتقاط‬ ‫تسمح‬‫األساسية‬ ‫المفاهيم‬‫البرمجيات‬ ‫لتطوير‬ ‫و‬‫على‬ ‫وضعها‬"‫ورقة‬."‫و‬
  • 11. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 11 UML UML UML User Objects Layer Model Layer Meta Model Layer Meta meta model layer
  • 12. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 12 User Objects Layer  UML    
  • 13. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 13 User Objects Layer Objects Layer .1USE CASE Diagram .2CLASS Diagram .3DiagramObject .4ACTIVITY Diagram .5COLLABORATION Diagram .6STATE Diagram .7SEQUENCE Diagram .8- COMPONENT Diagram-Diagram packaging .9DEPLOYMENT Diagram
  • 14. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 14 14 UML ‫مخططات‬UML 2-‫االستخدام‬ ‫حاالت‬ ‫مخطط‬(Use Case Diagram) 1-‫الفئة‬ ‫مخطط‬(Class Diagram) 4-‫النشاط‬ ‫مخطط‬(Activity Diagram) 6-‫والتعاون‬ ‫االتصال‬ ‫مخطط‬(Collaboration Diagram) 3-‫الحالة‬ ‫مخطط‬(State Diagram) 5-‫التتابع‬ ‫مخطط‬(Sequence Diagram) 7-‫المكونات‬ ‫مخطط‬(Components Diagram) 8-‫التحزيم‬ ‫مخطط‬(Package Diagram) .2"‫النظام؟‬ ‫بيئة‬ ‫في‬ ‫الفعلة‬ ‫مع‬ ‫نظامنا‬ ‫سيتفاعل‬ ‫كيف‬" relation of actors to system functions .1"‫الصنفيات‬ ‫هي‬ ‫ما‬-‫والعالقات‬ ‫سنحتاجها؟‬ ‫التي‬ ‫الفئات‬ ‫بينها؟‬"static class structure .6"‫تتابع‬ ‫خالل‬ ‫من‬ ‫بعض‬ ‫مع‬ ‫الكائنات‬ ‫تتعامل‬ ‫كيف‬ ‫العالقات؟‬ ‫سياق‬ ‫في‬ ‫الرسائل‬“Context .5"‫تتابع‬ ‫كيفية‬‫زمنيا‬ ‫النشاطات‬‫الكائنات؟‬ ‫بين‬” message passing structure .3”‫الكائن؟‬ ‫عليها‬ ‫تكون‬ ‫أن‬ ‫يجب‬ ‫التي‬ ‫الحاالت‬ ‫ما‬" states of objects in a particular class .7"‫البرنامج؟‬ ‫مكونات‬ ‫سترتبط‬ ‫كيف‬“code structure .4”‫معينة؟‬ ‫استخدام‬ ‫حالة‬ ‫داخل‬ ‫األنشطة‬ ‫تتابع‬ ‫كيفية‬“ sequential flow of activities .8"‫العمل؟‬ ‫بقولبة‬ ‫سنقوم‬ ‫كيف‬" 9-‫التجهيز‬ ‫مخطط‬(Deployment Diagram)"‫المادية؟‬ ‫بالمكونات‬ ‫وربطة‬ ‫البرنامج‬ ‫تجهيز‬ ‫سيتم‬ ‫كيف‬ mapping of software to hardware
  • 15. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 15 Model Layer Analysis  System Analyst
  • 16. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 16 Meta Model Layer UML ClassAbstraction Design Patterns- modules)UML Model
  • 17. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 17 Meta meta model layer System Analysts UML DevelopersCASE Tools CASE Tools
  • 18. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 18 UML Components    UML Model UML Model
  • 19. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 19 User Objects Layer Objects Layer .1USE CASE Diagram .2CLASS Diagram .3DiagramObject .4ACTIVITY Diagram .5COLLABORATION Diagram .6STATE Diagram .7SEQUENCE Diagram .8- COMPONENT Diagram-Diagram packaging .9DEPLOYMENT Diagram
  • 20. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 20 ‫المنحى‬‫الكائني‬ Object Oriented ‫المنحى‬‫الكائني‬Object Oriented‫االتجاه‬ ‫عن‬ ‫تختلف‬ ‫تفكير‬ ‫طريقة‬‫المهيكل‬ Functional (structural )programming. ‫البيانات‬ ‫بين‬ ‫بالجمع‬ ‫نقوم‬Attributes‫و‬‫التصرفات‬Behavior‫العالقة‬ ‫ذات‬ )Methods‫وظائف‬)‫داخل‬‫صنفيات‬‫فئات‬ ،Classes. ‫برنامجنا‬ ‫يقوم‬ ‫ثم‬‫بخلق‬create‫ّدات‬‫س‬‫تج‬/‫تمثالت‬classofinstances‫لهذه‬ ‫الصنفية‬–‫الفئة‬‫أخرى‬ ‫بعبارة‬ ‫أو‬:‫كائنات‬ ‫إنشاء‬objects‫الصنفية‬ ‫مخاطبة‬ ‫خالل‬ ‫من‬ ،‫البعض‬ ‫بعضها‬ ‫مع‬ ‫التعاون‬ ‫يمكنها‬ ‫الكائنات‬‫النهجيات‬(‫الطرق‬ ‫االجراءات‬ ‫او‬)methods. ‫البيانات‬‫الكائن‬ ‫في‬‫ّفة‬‫ل‬‫مغ‬Encapsulated‫نفسه‬ ‫الكائن‬ ‫إال‬ ‫بتعديلها‬ ‫يقوم‬ ‫ال‬ ‫و‬.
  • 21. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 21 .1USE CASE Diagram .2CLASS Diagram .3DiagramObject .4STATE Diagram .5ACTIVITY Diagram .6COLLABORATION Diagram .7SEQUENCE Diagram .8COMPONENT Diagram Diagrampackaging .9DEPLOYMENT Diagram Interaction- Dynamic Behavioral diagram- Dynamic Structure- static Physical- impleme ntation Behavioral -use case view
  • 22. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 22 22 UML Views and Diagrams ‫مخططات‬ ‫تقسيم‬ ‫يمكن‬UML‫إلى‬4‫أنواع‬(‫رؤى‬-‫منظور‬Views) .1static view •‫من‬ ‫النظام‬ ‫تمثل‬ ‫وهي‬‫ساكن‬ ‫منظور‬‫في‬ ‫المعطيات‬ ‫من‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬‫صورة‬ ‫نموذج‬.Structure Diagram‫التركيب‬ ‫او‬ ‫الهيكلية‬ ‫مخططات‬ •‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫الصفوف‬ ‫مخطط‬-‫الفئات‬(class diagram)‫يمثل‬ ‫الذي‬ ‫صفوف‬–‫النظام‬ ‫فئات‬classes‫والعالقات‬Relationships‫بينها‬‫الكائن‬ ‫ومخطط‬Object diagram .2-use case view‫االستخدام‬ ‫حاالت‬ ‫رؤية‬Behavioral Diagram •‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬‫عملياتي‬ ‫منظور‬(‫وظائف‬)‫النظام‬ ‫توضح‬ ‫ولكن‬ ‫سلوكية‬ ‫مخططات‬ ‫وهي‬ ‫المستخدم‬ ‫منظور‬ ‫من‬.‫وضع‬ ‫أي‬‫الوظيفية‬ ‫النظام‬ ‫متطلبات‬‫في‬‫نموذج‬ ‫صورة‬. •‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫االستخدام‬ ‫حاالت‬ ‫مخطط‬(use case diagram)‫الذي‬ ‫بينها‬ ‫والعالقات‬ ‫النظام‬ ‫وظائف‬ ‫يمثل‬. ‫ساكنة‬ ‫رؤية‬
  • 23. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 23 23 UML Views and Diagrams ‫مخططات‬ ‫تقسيم‬ ‫يمكن‬UML‫إلى‬4‫أنواع‬(‫رؤى‬) .3dynamic view •‫أي‬‫تنمذج‬‫والتغيرات‬ ‫النظام‬ ‫سلوك‬‫على‬ ‫تطرأ‬ ‫التي‬‫النظام‬ ‫كيانات‬. •‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬: .1‫للنظام‬ ‫السلوكية‬ ‫المخططات‬DiagramBehavioral‫وهما‬‫الحالة‬ ‫مخطط‬state diagram‫النشاط‬ ‫ومخطط‬(activity diagram .2‫التفاعل‬ ‫ومخططات‬interaction diagram-:‫وهما‬sequence‫التتابع‬ ‫مخطط‬‫ومخطط‬ ‫التعاون‬collaboration- .4Physical –implementation view‫او‬ ‫المادية‬ ‫الفيزيائية‬ ‫الرؤى‬ ‫التنفيذية‬:‫تستخدم‬‫الفيزيائية‬ ‫المخططات‬‫وصف‬ ‫إلعطاء‬ ،‫للنظام‬ ‫التطوير‬ ‫اكتمال‬ ‫عند‬ ‫للعمل‬ ‫واعداده‬ ‫تجهيزه‬ ‫لتسهيل‬ ‫للنظام‬ ‫الفيزيائية‬ ‫للمعلومات‬. •‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬Component & Deployment Structural Diagram ‫ديناميكية‬ ‫رؤية‬:•‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬‫ديناميكي‬ ‫منظور‬
  • 24. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 24 24 UML Views and Diagrams ‫تابع‬4‫أنواع‬(‫رؤى‬) .4Physical Diagrams‫الفيزيائية‬ ‫المخططات‬Structure Diagram- ‫التركيب‬ ‫او‬ ‫الهيكلية‬ ‫مخططات‬ •‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬ •‫ا‬‫وال‬-‫المكونات‬ ‫مخططات‬Component Diagram‫التحزيم‬ ‫او‬:‫مكونات‬ ‫توضح‬ ‫وعالقتها‬ ‫البرمجيات‬‫البعض‬ ‫بعضها‬ ‫مع‬.‫على‬ ‫تحتوي‬‫المكونات‬‫تمثل‬ ‫التي‬‫الطبيعي‬ ‫التحزيم‬ ‫الشيفرة‬ ‫من‬ ‫لوحدة‬Modules‫و‬‫االعتمادات‬Dependencies‫يؤثر‬ ‫وكيف‬ ‫بينها‬ ‫االخر‬ ‫على‬ ‫احدها‬ ‫في‬ ‫التغيير‬. •‫ثانيا‬:‫التجهيز‬ ‫مخطط‬Deployment Diagram:‫والبرمجيات‬ ‫العتاد‬ ‫بين‬ ‫العالقة‬ ‫على‬ ‫ويحتوي‬Nodes‫عقد‬)HW‫مادي‬ ‫عتاد‬(‫ووصالت‬Connections(‫مسار‬ ‫مثل‬ ‫اتصال‬TCP/IP) •‫مخططات‬ ‫تدمج‬ ‫الغالبية‬ ‫في‬‫التوزيع‬‫و‬‫المكون‬‫واحد‬ ‫نموذج‬ ‫في‬ •
  • 25. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 25 25 UML Views and Diagrams ‫تقسيم‬ ‫يمكن‬‫مخططات‬UML‫أنواع‬ ‫اربعة‬ ‫إلى‬Views(‫رؤى‬) .1static view ‫نموذج‬ ‫صورة‬ ‫في‬ ‫المعطيات‬ ‫من‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬ ‫ساكن‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫وهي‬ ‫ساكنة‬ ‫رؤية‬. ‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬‫الصفوف‬ ‫مخطط‬(class diagram)‫و‬ ، ‫بينها‬ ‫والعالقات‬ ‫النظام‬ ‫صفوف‬ ‫يمثل‬ ‫الذي‬ ‫الكائن‬ ‫ومخطط‬Object diagram .2use case view ‫صورة‬ ‫في‬ ‫الوظيفية‬ ‫النظام‬ ‫متطلبات‬ ‫وضع‬ ‫أي‬ ‫عملياتي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫االستخدام‬ ‫حاالت‬ ‫رؤية‬ ‫نموذج‬.‫االستخدام‬ ‫حاالت‬ ‫مخطط‬ ‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬(use case diagram)‫النظام‬ ‫وظائف‬ ‫يمثل‬ ‫الذي‬ ‫بينها‬ ‫والعالقات‬. .3dynamic view ‫أي‬ ‫ديناميكي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫ديناميكية‬ ‫رؤية‬‫تنمذج‬‫كيانات‬ ‫على‬ ‫تطرأ‬ ‫التي‬ ‫والتغيرات‬ ‫النظام‬ ‫سلوك‬ ‫النظام‬.‫الحالة‬ ‫مخطط‬ ‫على‬ ‫الرؤية‬ ‫هذه‬ ‫وتحتوي‬(state diagram)‫النشاط‬ ‫ومخطط‬(activity diagram) ‫التعاون‬ ‫ومخططات‬(interaction diagram). .4ViewPhysical –implementation‫التنفيذية‬ ‫او‬ ‫المادية‬ ‫الفيزيائية‬ ‫الرؤى‬:‫تستخدم‬ ‫الفيزيائية‬ ‫المخططات‬‫واعداده‬ ‫تجهيزه‬ ‫لتسهيل‬ ‫للنظام‬ ‫الفيزيائية‬ ‫للمعلومات‬ ‫وصف‬ ‫إلعطاء‬ ،‫للنظام‬ ‫التطوير‬ ‫اكتمال‬ ‫عند‬ ‫للعمل‬.‫المخططات‬ ‫هذه‬ ‫من‬ ‫نوعان‬ ‫هناك‬Component & Deployment Structural Diagram
  • 27. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 27 use case View .1USE CASE DiagramUCDBehavioral Diagram actorsuse Cases  ‫هي‬‫وصف‬‫لسلوك‬‫النظام‬‫من‬‫وجهة‬‫نظر‬‫المستخدم‬. ‫مراحل‬ ‫خالل‬ ‫فائدة‬ ‫ذات‬ ‫فهي‬‫التطوير‬ ‫و‬ ‫التحليل‬‫تساعد‬ ‫و‬ ،‫المتطلبات‬ ‫فهم‬ ‫في‬. ‫ّرين‬‫و‬‫المط‬ ‫قبل‬ ‫من‬ ‫لالستيعاب‬ ‫سهال‬ ‫المخطط‬ ‫يكون‬(،‫مبرمجون‬ ،‫ّمون‬‫م‬‫مص‬ ،‫ّلون‬‫ل‬‫مح‬ ‫مختبرون‬)‫المستفيدين‬ ‫و‬(‫الزبون‬) ‫كامل‬ ‫في‬ ‫تستخدم‬ ‫أن‬ ‫بإمكانها‬‫التطوير‬ ‫عمليات‬‫من‬ ‫بدءا‬ ، ‫االستهالل‬‫حتى‬ ‫و‬‫التسليم‬. ‫وتستخدم‬‫االستخدام‬ ‫حاالت‬“Use cases”‫في‬‫تقريبا‬ ‫المشاريع‬ ‫كل‬.‫عن‬ ‫الكشف‬ ‫في‬ ‫وتساعد‬ ‫للمشروع‬ ‫والتخطيط‬ ‫االحتياجات‬. ‫وينبغي‬‫التعريف‬ ‫المشروع‬ ‫من‬ ‫األولى‬ ‫المرحلة‬ ‫خالل‬‫االستخدام‬ ‫حاالت‬ ‫بمعظم‬‫ان‬ ‫بما‬ ، ‫ولكن‬ ، ‫المزيد‬ ‫لك‬ ‫فسيظهر‬ ‫متواصل‬ ‫يزال‬ ‫ال‬ ‫المشروع‬.
  • 28. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 28 ‫واقعة‬ ‫مخطط‬-‫استخدام‬ ‫حالة‬The Use Case Diagram(UCD) ‫كل‬Use Case‫تمثل‬‫النظام‬ ‫وظائف‬ ‫من‬ ‫وظيفة‬‫هذا‬ ‫يتضمن‬ ‫وبالتالي‬ ‫المخطط‬: ‫المطلوبة‬ ‫االساسية‬ ‫للوظائف‬ ‫عرض‬‫النظام‬ ‫من‬ ‫خاصية‬ ‫لكل‬ ‫تفصيل‬ ‫دون‬. ‫المستخدم‬actor‫الوظيفة‬ ‫هذه‬ ‫بطلب‬ ‫يقوم‬ ‫الذي‬(‫آخر‬ ‫نظام‬ ‫يكون‬ ‫قد‬.) ‫النظام‬ ‫حدود‬system boundary , ‫االستخدام‬ ‫حاالت‬ ‫بين‬ ‫العالقات‬Use Cases‫الفعلة‬ ‫بين‬ ‫والروابط‬actors ‫االستخدام‬ ‫وحاالت‬Use Cases ‫بناء‬ ‫على‬ ‫يساعدنا‬Use case diagram‫فهم‬‫العمل‬ ‫سيناريو‬Scenarios ‫النظام‬ ‫مستخدم‬ ‫من‬ ‫عليه‬ ‫نحصل‬ ‫والذي‬.‫حاالت‬ ‫تتابع‬ ‫ترتيب‬ ‫توضح‬ ‫ال‬ ‫ولكنها‬ ‫الزمن‬ ‫حسب‬ ‫االستخدام‬‫االساسية‬ ‫الوظائف‬ ‫وهي‬ ‫واحد‬ ‫افقي‬ ‫بعد‬ ‫مع‬ ‫تتعامل‬ ‫فهي‬.
  • 29. Use case diagram symbols Actor Relationships Use case System
  • 30. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 30 ‫استخدام‬ ‫لحالة‬ ‫العالقات‬ ‫انواع‬The Use Case Diagram
  • 31. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 31 Components of Use-Case Diagram‫االستخدام‬ ‫حالة‬ ‫رموز‬ ‫عنها‬ ‫ويعبر‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫داخل‬ ‫متضمنة‬ ‫الفرعية‬ ‫االستخدام‬ ‫حالة‬ ‫وظيفة‬ ‫ان‬ ‫لبيان‬ ‫تستخدم‬ ‫الفرعية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬. ‫اختياري‬ ‫سلوك‬ ‫لتتضمن‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫لتوسيع‬ ‫تستخدم‬.‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬ ‫عنها‬ ‫ويعبر‬ ‫التوسعية‬extension use case‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬base use case. ‫النظام‬ ‫اسم‬ ‫على‬ ‫االعلى‬ ‫في‬ ‫وتحتوي‬ ‫ومجاله‬ ‫النظام‬ ‫حدود‬ ‫لتمثيل‬ ‫تستخدم‬. : Association‫الفاعل‬ ‫لربط‬ ‫تستخدم‬Actor‫معها‬ ‫يتفاعل‬ ‫التي‬ ‫االستخدام‬ ‫حالة‬ ‫مع‬ ‫ام‬ ‫النظام‬ ‫حدود‬ ‫داخل‬ ‫تكون‬ ، ‫بفعل‬ ‫ومعنونة‬ ‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫لتمثيل‬ ‫تستخدم‬ ‫اختياري‬ ‫سلوك‬ ‫ذات‬ ‫اخرى‬ ‫لحالة‬ ‫تتوسع‬ ‫او‬ ‫اخرى‬ ‫استخدام‬ ‫حالة‬ ‫تتضمن‬ ‫ان‬ ‫ممكن‬. ‫الفاعل‬ ‫لتمثيل‬ ‫تستخدم‬actor،‫النظام‬ ‫في‬ ‫يؤديه‬ ‫الذي‬ ‫بالدور‬ ‫ومعنون‬ ‫اخر‬ ‫نظام‬ ‫او‬ ‫شخص‬ ‫يكون‬ ‫قد‬ ‫االرتباط‬ ‫عالقة‬ ‫خالل‬ ‫من‬ ‫اخرين‬ ‫بفعلة‬ ‫يرتبط‬ ‫ان‬ ‫ممكن‬super classassociation‫يعبر‬ ‫النظام‬ ‫حدود‬ ‫خارج‬ ‫يقع‬ ‫بسهم‬ ‫عنها‬ ‫التعميم‬ ‫عالقة‬generalization‫عنها‬ ‫ويعبر‬ ‫العامة‬ ‫االساسية‬ ‫من‬ ‫خاصة‬ ‫استخدام‬ ‫حالة‬ ‫لتمثيل‬ ‫تستخدم‬ ‫خاصة‬ ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫بسهم‬specialized use case‫االساسية‬ ‫االستخدام‬ ‫حالة‬ ‫باتجاه‬base usecase.
  • 32. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 32 ‫العقلية‬ ‫الصحة‬ ‫لمحكمة‬ ‫استخدام‬ ‫حالة‬The Use Case Diagram UCD notations ‫التسجيل‬ ‫إدارة‬ ‫الحالة‬ ‫استخدام‬ ‫نموذج‬ ‫بيانات‬ ‫قاعدة‬ ‫نظام‬FAST ‫للمريض‬ ‫التشخيص‬ ‫التوجيه‬ ‫الطبيب‬ ‫االستقبال‬ ‫عامل‬
  • 33. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 33 ‫العقلية‬ ‫الصحة‬ ‫لمحكمة‬ ‫استخدام‬ ‫حالة‬ ‫سيناريو‬ ‫وصف‬The Use Case Description UC ‫االستخدام‬ ‫حالة‬ ‫اسم‬:‫التسجيل‬ ‫إدارة‬ ‫الهدف‬: ‫من‬ ‫يستفيد‬ ‫سوف‬ ‫الذي‬ ‫العميل‬ ‫بتسجيل‬ ‫ليقوم‬ ‫االستقبال‬ ‫عامل‬ ‫متابعة‬ ‫هو‬ ‫الحالة‬ ‫استخدام‬ ‫من‬ ‫الغرض‬ ‫برنامج‬FAST‫المعلوماتي‬ ‫النظام‬ ‫في‬. ‫الرئيسي‬ ‫المستخدم‬main actors ‫االستقبال‬ ‫عاملة‬ ‫الثانوي‬ ‫المستخدم‬actors-sub ‫في‬ ‫االجتماعي‬ ‫العامل‬FAST ‫البداية‬ ‫نقطة‬‫السابقة‬ ‫الشروط‬ ‫او‬pre conditions ‫ويرسلها‬ ‫المعلومات‬ ‫يطبع‬ ،‫المعلومات‬ ‫يدخل‬ ،‫المكتب‬ ‫سطح‬ ‫نظام‬ ‫إلى‬ ‫بالدخول‬ ‫الرئيسي‬ ‫المستخدم‬ ‫يقوم‬ ‫اآلخرين‬ ‫إلى‬ ً‫ا‬‫فاكسي‬ ‫النهاية‬ ‫نقطة‬‫الالحقة‬ ‫الشروط‬ ‫او‬post condition ‫برنامج‬ ‫في‬ ‫القبول‬ ‫بشأن‬ ‫القرار‬ ‫ويتخذ‬ ‫الفاكس‬ ‫يتسلم‬ ‫االجتماعي‬ ‫العامل‬FAST ‫االساسي‬ ‫التدفق‬ ‫او‬ ‫الوصف‬ ‫او‬ ‫المعلومات‬ ‫تبادل‬scenario flow ،‫السكانية‬ ‫المنطقة‬ ،‫الهاتف‬ ‫رقم‬ ،‫العنوان‬ ،‫األخير‬ ‫االسم‬ ،‫األول‬ ‫االسم‬ ‫بإدخال‬ ‫االستقبال‬ ‫عامل‬ ‫يقوم‬ ‫التوقيف‬ ‫وتاريخ‬ ،‫االختبار‬ ،‫المخدرة‬ ‫المواد‬ ‫تقارير‬ ‫قياسها‬ ‫يمكن‬ ‫التي‬ ‫النتائج‬Results ‫المتخذ‬ ‫باإلجراء‬ ‫الطبيب‬ ‫إشعار‬ ‫ويتم‬ ،‫الجديد‬ ‫للمريض‬ ‫سجل‬ ‫إنشاء‬ ‫يتم‬
  • 34. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 34 ‫الفعلة‬ ‫انواع‬ ‫على‬ ‫امثلة‬ActorsThe Use Case Diagram ‫لخصائصها‬ ‫والتعميمات‬ ‫الموظفين‬ ‫والفئات‬
  • 35. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 35 ‫االستخدام‬ ‫حالة‬ ‫وصف‬ ‫او‬ ‫االستخدام‬ ‫حالة‬ ‫قالب‬Use Case Description use case Name : ‫االستخدام‬ ‫حالة‬ ‫اسم‬ Actor :‫الفاعل‬ Pre-conditions ‫السابقة‬ ‫الشروط‬ : Post-conditions ‫للحركة‬ ‫الالحقة‬ ‫الشروط‬ : Purpose ‫االستخدام‬ ‫حالة‬ ‫من‬ ‫الهدف‬-‫المبررات‬ : Description: ‫السيناريو‬ ‫وصف‬–‫الصحيحة‬ ‫الطبيعية‬ ‫التدفقات‬ 1. 2. 3. .............. Alternative courses: ‫البديلة‬ ‫التدفقات‬ ‫وصف‬“‫الطبيعية‬ ‫الظروف‬ ‫تحقق‬ ‫عدم‬ ‫عند‬ ‫أي‬ ‫للحدث‬ Errors: ‫معالجتها‬ ‫وكيفية‬ ‫االخطاء‬ ‫رسائل‬
  • 36. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 36 ATM- Withdraw From Current‫االستخدام‬ ‫حالة‬ ‫وصف‬(‫سيناريو‬)‫االلي‬ ‫الصراف‬ ‫في‬ ‫الجاري‬ ‫الحساب‬ ‫من‬ ‫للسحب‬ ‫االستخدام‬ ‫حالة‬ ‫اسم‬ use case Name : Withdraw From Current ‫الجاري‬ ‫الحساب‬ ‫من‬ ‫السحب‬ ‫الفاعل‬ Actor : Client ‫الزبون‬ Pre-conditions ‫السابقة‬ ‫الشروط‬ : User already logged-in ‫النظام‬ ‫الى‬ ‫داخل‬ ‫المستخدم‬ A menu is active with ‘withdraw ‫السحب‬ ‫بخيار‬ ‫’مفعلة‬ ‫القائمة‬ Post-conditions ‫للحركة‬ ‫الالحقة‬ ‫الشروط‬ : Amount is deducted from user’s account ‫سحبت‬ ‫الكاش‬ ‫كمية‬ ‫منه‬ ‫وحسمت‬ ‫الزبون‬ ‫حساب‬ ‫من‬ Purpose ‫الهدف‬-‫المبررات‬ : ‫للبنك‬ ‫الذهاب‬ ‫الى‬ ‫لحاجة‬ ‫دونا‬ ‫الكاش‬ ‫سحب‬ ‫من‬ ‫الزبون‬ ‫لتمكين‬ Description: ‫السيناريو‬ ‫وصف‬ (1) Client initiates this usecase by selecting ‘withdraw’ ‫لخيار‬ ‫اختياره‬ ‫عند‬ ‫االستخدام‬ ‫حالة‬ ‫الزبون‬ ‫يبدأ‬ ‫السحب‬ (2) System get all the accounts (use case get Account) ‫حساب‬ ‫او‬ ‫الزبون‬ ‫حسابات‬ ‫جميع‬ ‫يسترجع‬ ‫النظام‬ ‫الزبون‬ (3) System displays all the accounts and prompts to select any one ‫للزبون‬ ‫الحسابات‬ ‫جميع‬ ‫يعرض‬ ‫النظام‬ ‫وينتظر‬‫منه‬ ‫السحب‬ ‫عملية‬ ‫الجراء‬ ‫واحد‬ ‫اختيار‬ ‫الزبون‬ ‫من‬ (3) Client selects one account ‫واحد‬ ‫حساب‬ ‫يختار‬ ‫الزبون‬ (4) System prompts for the amount ‫المحدد‬ ‫الحساب‬ ‫من‬ ‫سحبه‬ ‫المراد‬ ‫الكاش‬ ‫كمية‬ ‫تحديد‬ ‫يطلب‬ ‫النظام‬ (5) Client indicate an amount ‫الكمية‬ ‫يحدد‬ ‫الزبون‬ (6) System issues money, update record, and confirms ‫ويؤكد‬ ‫السجل‬ ‫ويحدث‬ ‫الكاش‬ ‫كمية‬ ‫يرسل‬ ‫النظام‬ ‫برسالة‬‫اخرى‬ ‫بحركات‬ ‫القيام‬ ‫الزبون‬ ‫اراد‬ ‫اذا‬ Alternative courses:‫البديلة‬ ‫التدفقات‬ (3) & (4) System selects the only one available account ‫رقم‬ ‫بدل‬3&4 ‫للزبون‬ ‫الموجود‬ ‫الوحيد‬ ‫الحساب‬ ‫يختار‬ ‫النظام‬ (6) requested amount is bigger than balance, system display message ‫من‬ ‫المطلوبة‬ ‫الكمية‬ ‫من‬ ‫اكبر‬ ‫الكاش‬‫اخرى‬ ‫مرة‬ ‫الكمية‬ ‫ادخال‬ ‫العادة‬ ‫خطأ‬ ‫رسالة‬ ‫النظام‬ ‫يرسل‬ ‫الرصيد‬ Errors:‫االخطاء‬ Issue Cash?
  • 37. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 37 ‫االستخدام‬ ‫حالة‬ ‫مخطط‬ ‫مثال‬Use Case Diagram‫من‬ ‫للتحقق‬ ‫للمستخدم‬ ‫الدخول‬
  • 38. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 38 ‫النشاط‬ ‫مخطط‬ ‫قالب‬ ‫مثال‬‫للمستخدم‬ ‫الدخول‬ ‫من‬ ‫للتحقق‬(‫السابق‬ ‫المثال‬)
  • 39. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 39 ‫االستخدام‬ ‫حالة‬ ‫مخطط‬-‫تسجيل‬ ‫نظام‬Registration Sys
  • 40. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 40 Use-case diagram for a university registration system ‫جامعة‬ ‫في‬ ‫التسجيل‬ ‫لنظام‬ ‫االستخدام‬ ‫حالة‬ ‫مخطط‬ ‫التسجيل‬ ‫موظف‬ ‫الصندوق‬ ‫أمين‬ ‫الطالب‬ ‫الفاتورة‬ ‫دفع‬ ‫انهاء‬ ‫من‬ ‫التأكد‬ ‫السابقة‬ ‫المتطلبات‬ ‫خاصة‬ ‫محاضرات‬ ‫تسجيل‬ ‫محاضرات‬ ‫تسجيل‬ ‫الطالب‬ ‫المحاضر‬
  • 41. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 41 The Use-Case Diagram for Appointment System‫العيادة‬ ‫مراجعات‬ ‫مواعيد‬
  • 44. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 44 Use case for camera sys ‫لكاميرا‬ ‫االستخدام‬ ‫حالة‬ ‫مخطط‬ ‫المخطط‬ ‫هذا‬ ‫ألنه‬ ‫صحيح‬ ‫مع‬ ‫يتعامل‬ ‫استخدام‬ ‫حالة‬ ‫التجريد‬ ‫عالية‬ high-level use case, "Take picture". ‫التقاط‬ ‫وهي‬ ‫صورة‬ ‫المخطط‬ ‫هذا‬ ‫صحيح‬ ‫غير‬ ‫ان‬ ‫يبين‬ ‫ألنه‬ ‫يفتح‬ ‫المصور‬ ‫غطاء‬ ‫الكاميرا‬ ‫المتحرك‬ ‫ويضيء‬ ‫ثم‬ ‫فالش‬ ‫فتحة‬ ‫يغلق‬ ‫دون‬ ‫العدسة‬ ‫صورة‬ ‫التقاط‬
  • 45. ‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫خاطئ‬ ‫استخدام‬ ‫حالة‬ ‫مخطط‬«‫حاالت‬ ‫وضع‬ ‫عدم‬ ‫يجب‬ ‫وصغيرة‬ ‫تفصيلية‬» ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 45
  • 46. ‫االلكترونية‬ ‫التجارة‬ ‫باستخدام‬ ‫مبيعات‬ ‫نظام‬ | Writing | GuidelinesDiagramsIntroduction | Search Product Navigate Deals Checkout Handle Order Status Login Register View Product Details Write Review Rank Supplier»include« »include« »include« »include« »extend« user is not a member »extend« »extend« After page generation Add to cart »extend« Customer
  • 47. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 47 UML Diagrams-static modeling .1‫تمثل‬‫وجهة‬‫النظر‬‫الساكنة‬‫للنظام‬Static view‫وتمثل‬‫ما‬‫يحدث‬‫ومن‬ ‫يشارك‬‫في‬‫الحدث‬‫والمكونات‬‫الرئيسية‬‫للنظام‬‫والحاالت‬‫االساسية‬‫التي‬‫يمر‬‫بها‬. .2‫تمثل‬‫من‬‫خالل‬‫مخططين‬: .1Class Diagram‫مخطط‬‫الفئات‬- Structural Diagrams .2Object diagram‫مخطط‬‫الكائن‬Structural Diagrams
  • 48. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 48 - UML Diagrams -static modeling .1CLASS DiagramStructural Diagrams ‫ضمن‬ ‫األشياء‬ ‫وضع‬ ‫يمكن‬‫أصناف‬Classes. ‫مهمة‬‫ال‬Class diagram‫هذه‬ ‫توضيح‬‫األصناف‬Classes ‫والعالقات‬associations‫بينها‬ ‫فيما‬ ‫األصناف‬ ‫مخططات‬ ‫رسم‬-‫الصفوف‬ ‫او‬ ‫الفئات‬Classes‫أساسي‬ ‫جانب‬‫ألي‬ ‫منهج‬‫للكائن‬ ‫بالمنحى‬ ‫للتصميم‬ ‫صنف‬ ‫لكل‬Class:‫التلفاز‬ ‫صنفيه‬ ‫او‬ ‫التلفاز‬ ‫فئة‬ ‫جانبا‬ ‫المثال‬ ‫في‬ ‫يتضح‬ ‫كما‬television class ‫اسم‬class name ‫مميزات‬attributes ‫عمليات‬operations‫الفئة‬ ‫سلوك‬ ‫تحدد‬ ‫نسميها‬ ً‫ا‬‫وأحيان‬Methods
  • 49. An example of Class Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name‫الفئة‬ ‫اسم‬ Attributes‫الفئة‬ ‫خصائص‬ ‫الفئة‬ ‫على‬ ‫العمليات‬Operations
  • 50. An example of Class ‫تعليمي‬ ‫لنظام‬ ‫روابط‬ ‫بدون‬ ‫فئات‬ ‫على‬ ‫مثال‬
  • 51. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 51 UML Diagrams -static modeling CLASS Diagram Class StructureCONTENT (methods, attributes )Classes Objects containment InheritanceAssociations ‫يستخدم‬‫مخطط‬‫الصنفيات‬-‫الفئات‬CLASS Diagram‫في‬‫مرحلة‬ ‫التحليل‬‫و‬‫التصميم‬ ‫مرحلة‬
  • 52. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 52 ‫لدورات‬ ‫التدريب‬ ‫لنظام‬ ‫الفئة‬ ‫مخطط‬CLASS Diagram ‫ديناميكية‬ ‫رؤية‬
  • 53.
  • 54. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 54 ‫الفئة‬ ‫مخطط‬CLASS Diagram‫االلكتروني‬ ‫التعليم‬ ‫لنظام‬elearning sys ‫ديناميكية‬ ‫رؤية‬
  • 55. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 55 ‫الفئة‬ ‫مخطط‬CLASS Diagram ‫المالية‬ ‫االوراق‬ ‫تعامالت‬ ‫نظام‬ ‫ديناميكية‬ ‫رؤية‬ ‫تجارية‬ ‫وأوراق‬ ‫سندات‬ ‫اسهم‬‫كفالة‬ ،‫تأمين‬ ‫صك‬ ‫او‬ ‫بدين‬ ‫سند‬ ‫االسهم‬ ‫خيارات‬ ‫التاجر‬‫يمتلك‬ ‫ادوات‬ ‫يعالج‬
  • 56. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 56 ‫الفئات‬ ‫بين‬ ‫العالقات‬Associations‫الفئة‬ ‫مخطط‬ ‫في‬CLASS Diagram ‫االعتمادية‬ ‫التعميم‬ ‫العالقة‬ ‫او‬ ‫االرتباط‬ ‫العالقة‬ ‫او‬ ‫االرتباط‬ ‫انواع‬ ‫من‬ ‫نوع‬ ‫التجميع‬
  • 58. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 58 Association 1(‫االقتران‬) ‫االقتران‬ ‫عالقة‬(‫الربط‬)‫ذي‬ ‫ربط‬ ‫على‬ ‫تدل‬‫صفين‬ ‫او‬ ‫فئتين‬ ‫كائنات‬ ‫بين‬ ‫معنوية‬ ‫داللة‬ classes‫وتمثل‬‫الصفين‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬ Works for Class Association Association Name Professor University EmployerEmployee Role Names ‫الدور‬ ‫اسم‬ ‫واألستاذ‬ ‫الجامعة‬ ‫بين‬ ‫تربط‬ ‫عمل‬ ‫عالقة‬ ‫يوضح‬ ‫التالي‬ ‫المثال‬‫ألن‬‫الجامعة‬ ‫في‬ ‫يعمل‬ ‫األستاذ‬
  • 59. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 59 Association 2(‫االقتران‬) ‫التالي‬ ‫المثال‬‫يوضح‬‫يدير‬ ‫عالقة‬‫بين‬ ‫تربط‬‫والقسم‬ ‫المدير‬‫كل‬ ‫ألن‬‫مدير‬‫قسم‬ ‫يدير‬ Manages of Class Association Association Name Manager Department managedmanager Role Names
  • 60. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 60 Factory Product creates Association 3 (‫االقتران‬) ‫واالبن‬ ‫األب‬ ‫بين‬ ‫تربط‬ ‫أبوة‬ ‫عالقة‬ ‫والمنتج‬ ‫المصنع‬ ‫بين‬ ‫تربط‬ ‫انتاج‬ ‫عالقة‬
  • 61. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 61 Link‫الرابطة‬ Link‫الرابطة‬:‫كائنات‬ ‫تربط‬Objects(‫الفئة‬ ‫من‬ ‫حالة‬) ‫وليس‬ ‫بعضها‬ ‫مع‬‫فئات‬Classes
  • 62. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 62 Aggregation 1(‫التجميع‬) •‫التجميع‬ ‫عالقة‬Aggregation‫هى‬‫االقتران‬ ‫من‬ ‫خاصة‬ ‫حالة‬Association‫وهي‬ ‫بين‬ ‫تربط‬ ‫عالقة‬‫الكل‬‫و‬‫الجزء‬(Whole-Part)‫بين‬ ‫أي‬‫صف‬Class‫و‬ ‫تجمع‬‫أجزائه‬ Sub class •‫تمثل‬‫مستقيم‬ ‫بخط‬‫بين‬ ‫يربط‬‫ينتهي‬ ‫الصفين‬‫بمعين‬‫فارغ‬‫يتجه‬‫الفئة‬ ‫الصف‬ ‫ناحية‬‫الذي‬ ‫الكل‬ ‫يمثل‬super -Class ‫التجميع‬ ‫عالقة‬ ‫في‬‫حياة‬‫الجزء‬‫مرتبطة‬ ‫غير‬‫بحياة‬‫الكل‬،‫بمعنى‬‫أن‬‫الجزء‬‫أن‬ ‫الممكن‬ ‫من‬ ‫في‬ ‫يوجد‬‫الكل‬ ‫وجود‬ ‫عدم‬ ‫حالة‬
  • 63. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 63 Aggregation 1(‫التجميع‬) ‫التجميع‬ ‫عالقة‬Aggregation‫التالية‬‫أن‬ ‫توضح‬‫والمحرك‬ ‫العجلة‬‫من‬ ‫أجزاء‬‫السيارة‬ ‫أن‬ ‫الواضح‬ ‫من‬‫والمحرك‬ ‫العجلة‬ ‫وجود‬‫مرتبط‬ ‫غير‬‫السيارة‬ ‫بوجود‬ Whole Car Wheel Part Motor Part
  • 64. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 64 ‫عالقة‬Aggregation‫بين‬‫الحاسب‬‫و‬‫أجزاءه‬-‫وجود‬‫الحاسب‬ ‫أجزاء‬‫مرتبط‬ ‫غير‬‫الحاسب‬ ‫بوجود‬ Aggregation 2 (‫التجميع‬)
  • 65. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 65 Composition 1(‫التركيب‬) •‫الجزء‬ ‫حياة‬‫مرتبطة‬‫الكل‬ ‫بحياة‬‫أن‬ ‫بمعنى‬‫يوجد‬ ‫أن‬ ‫يمكن‬ ‫ال‬ ‫الجزء‬‫حالة‬ ‫في‬‫وجود‬ ‫عدم‬ ‫الكل‬. •‫الصف‬-‫فئة‬class‫يكون‬‫صف‬ ‫من‬ ‫واحد‬ ‫جزء‬-‫فئة‬class‫فقط‬ ‫واحد‬‫الممكن‬ ‫من‬ ‫ولكن‬ ‫يكون‬ ‫أن‬‫صفوف‬ ‫لعدة‬ ‫كل‬ ‫الكل‬ ‫تمثل‬ ‫التي‬ ‫الفئة‬ ‫ناحية‬ ‫يتجه‬ ‫مظلل‬ ‫بمعين‬ ‫ينتهي‬ ‫الفئات‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬ ‫وتمثل‬ •‫التركيب‬Composition‫من‬ ‫خاصة‬ ‫حالة‬ ‫هو‬‫التجميع‬Aggregation‫ذو‬‫ملكية‬ ‫رابطة‬ Ownership‫الفئتين‬ ‫او‬ ‫الصفين‬ ‫بين‬ ‫زمني‬ ‫ترابط‬ ‫مع‬
  • 66. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 66 Whole Student Schedule Composition Part Composition 1(‫التركيب‬) ‫تم‬ ‫اذا‬ ‫أنه‬ ‫الواضح‬ ‫من‬‫حذف‬‫الطالب‬(‫كل‬)‫الدراسي‬ ‫الجدول‬ ‫فإن‬(‫جزء‬)‫للطالب‬‫يحذف‬‫تلقائيا‬ ‫اذا‬ ‫اال‬ ‫دراسي‬ ‫جدول‬ ‫يوجد‬ ‫ولن‬‫الطالب‬ ‫وجد‬ ‫التركيب‬ ‫عالقة‬Composition‫أن‬ ‫توضح‬ ‫التالية‬‫الطالب‬ ‫من‬ ‫جزء‬ ‫الدراسي‬ ‫الجدول‬
  • 67. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 67 Composition 2 (‫التركيب‬) ‫التركيب‬ ‫عالقة‬Composition‫أن‬ ‫توضح‬ ‫التالية‬‫وال‬ ‫العميل‬ ‫بيانات‬‫معامالت‬‫على‬ ‫الحساب‬(‫ايداع‬/‫سحب‬)‫من‬ ‫جزء‬‫البنك‬ ‫في‬ ‫الحساب‬ Whole Bank Account Transactions Part CustomerInfo Part ‫حذف‬ ‫تم‬ ‫اذا‬ ‫أنه‬ ‫الواضح‬ ‫من‬‫البنك‬ ‫من‬ ‫الحساب‬‫معه‬ ‫فسيحذف‬‫والمعامالت‬ ‫العميل‬ ‫بيانات‬ ‫الحساب‬ ‫وجد‬ ‫اذا‬ ‫إال‬ ‫والمعامالت‬ ‫العميل‬ ‫بيانات‬ ‫تظهر‬ ‫ولن‬
  • 68. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 68 Composition 3(‫التركيب‬) ‫التركيب‬ ‫عالقة‬Composition‫التالية‬‫أن‬ ‫توضح‬Slider, header, panel ‫أجزاء‬‫النافذة‬ ‫من‬ ‫أن‬ ‫الواضح‬ ‫من‬‫النافذة‬ ‫مكونات‬(‫النافذة‬ ‫وجسم‬ ‫والعنوان‬ ‫التمرير‬ ‫شريط‬)‫تظهر‬ ‫لن‬‫اذا‬ ‫إال‬ ‫النافذة‬ ‫وجدت‬‫المكونات‬ ‫معها‬ ‫فسيحذف‬ ‫النافذة‬ ‫حذف‬ ‫تم‬ ‫وإذا‬
  • 69. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 69 •‫هي‬ ‫االعتمادية‬‫صفين‬ ‫بين‬ ‫عالقة‬‫أن‬ ‫توضح‬ ‫فئتين‬ ‫او‬‫سلوك‬‫فئة‬Class‫في‬ ‫يؤثر‬‫أخرى‬ ‫فئة‬. •‫تمثل‬‫متقطع‬ ‫بخط‬‫المستقل‬ ‫الصف‬ ‫ناحية‬ ‫يتجه‬ ‫بسهم‬ ‫ينتهي‬ ‫الصفين‬ ‫بين‬ ‫يربط‬ independent class Dependency 1(‫االعتمادية‬) System Form Dependency Relationship The independent class The dependent class ‫الوظيفة‬display(Form)‫في‬ ‫الموجودة‬‫الصف‬-‫الفئة‬Class(System)‫تحتاج‬ ‫من‬ ‫لكيان‬‫الصف‬(Form)‫الحاسب‬ ‫نافذة‬ ‫على‬ ‫بعرضه‬ ‫تقوم‬ ‫لكي‬ display(Form f) ‫الصف‬A‫الفئة‬Class‫على‬ ‫يعتمد‬‫الصف‬B‫الفئة‬Class””(A B)‫وجدت‬ ‫إذا‬ ‫وظيفة‬(Method)‫في‬‫الصف‬A‫لكيان‬ ‫تحتاج‬‫الصف‬ ‫من‬B‫بعملها‬ ‫تقوم‬ ‫لكي‬.
  • 70. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 70 ‫الوظيفة‬add(Product)‫في‬ ‫الموجودة‬‫الصف‬(Cart)‫التسوق‬ ‫عربة‬‫تحتاج‬ ‫الصف‬ ‫من‬ ‫لكيان‬(Product)‫المنتجات‬‫بإضافته‬ ‫تقوم‬ ‫لكي‬ Cart Product Dependency Relationship The independent class The dependent class add(Product p) Dependency 2(‫االعتمادية‬)
  • 71. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 71 Multiplicity 1(‫التعددية‬) 2..4 0..1 1..* 0..* 1 *  Unspecified ‫محدد‬ ‫غير‬  Exactly one ‫فقط‬ ‫واحد‬  Zero or more (many, unlimited)‫اكثر‬ ‫او‬ ‫صفر‬  One or more ‫اكثر‬ ‫او‬ ‫واحد‬  Zero or one ‫واحد‬ ‫او‬ ‫صفر‬  Specified range ‫محدد‬ ‫مجال‬  Multiple, disjoint ranges ‫ومتعدد‬ ‫متصل‬ ‫غير‬ ‫متقطع‬ ‫مجال‬ 2, 4..6 ‫تعرف‬‫التعددية‬Multiplicity‫الكيانات‬ ‫عدد‬‫أن‬ ‫يمكن‬ ‫التي‬‫العالقة‬ ‫هذه‬ ‫في‬ ‫تشارك‬ ‫صف‬ ‫من‬ ‫الكيانات‬ ‫عدد‬‫تناظر‬ ‫والتي‬‫واحد‬ ‫كيان‬‫آخر‬ ‫صف‬ ‫من‬ ‫العالقة‬ ‫أطراف‬ ‫من‬ ‫طرف‬ ‫لكل‬ ‫تحدد‬
  • 72. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 72 ‫مدير‬ ‫كل‬‫واحد‬‫ي‬‫قود‬‫واحدة‬ ‫شركة‬ ‫سيارة‬‫وكل‬ ُ‫ي‬ ‫شركة‬ ‫سيارة‬‫قودها‬‫واحد‬ ‫مدير‬ Multiplicity 2(‫التعددية‬) "‫يدير‬ ‫مدير‬ ‫كل‬‫واحد‬‫العاملين‬ ‫من‬ ‫أكثر‬ ‫أو‬" ‫و‬"‫واحد‬ ‫مدير‬ ‫قبل‬ ‫من‬ ‫ُدار‬‫ي‬ ‫عامل‬ ‫كل‬“ 0..4 0, 1
  • 73. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 73 Multiplicity 3(‫التعددية‬) House Chimney ‫المدخنة‬ 0, 1 1 has Student Payment 0, 1 1 takes
  • 74. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 74 Multiplicity notation: ‫المثال‬ ‫في‬ ‫التعددية‬ ‫لرموز‬ ‫توضيح‬ 0..10 ‫االقل‬ ‫على‬ ‫تعني‬0‫االكثر‬ ‫وعلى‬10 1, 2 ‫ممكن‬ ‫تعني‬1‫او‬2 * ‫متعدد‬ ‫رقم‬ ‫أي‬ roles multiplicities ‫الطالب‬ ‫المساق‬ ‫الكلية‬ ‫المساقات‬ ‫المطروحة‬
  • 76. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 76 Association Class (2) ‫صف‬‫االقتران‬
  • 77. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 77 Generalization(‫التعميم‬) ‫هي‬‫حيث‬ ‫الصفوف‬ ‫بين‬ ‫عالقة‬‫يرث‬Inherited‫صف‬(‫فئة‬Class –)‫أخر‬ ‫صفا‬Class‫أو‬ ‫الصفات‬ ‫في‬ ‫أكثر‬‫و‬/‫أو‬‫السلوك‬‫وتعتبر‬‫النوع‬ ‫من‬ ‫عالقة‬“Is-a-kind-of” ‫بحيث‬ ‫الصفوف‬ ‫من‬ ‫هرمية‬ ‫تعرف‬‫يرث‬Inherited‫الفرعي‬ ‫الصف‬(Subclass)‫من‬ ‫من‬ ‫أكثر‬ ‫و‬ ‫واحد‬‫الفوقية‬ ‫الصفوف‬(Super-classes) ‫يمثل‬ ‫الذي‬ ‫الصف‬ ‫ناحية‬ ‫يتجه‬ ‫فارغ‬ ‫بمثلث‬ ‫ينتهي‬ ‫الفرعية‬ ‫الصفوف‬ ‫بين‬ ‫يربط‬ ‫مستقيم‬ ‫بخط‬ ‫وتمثل‬ ‫األب‬ •‫الفرعي‬ ‫الصف‬Subclass‫يرث‬Inheritedِ‫ت‬‫صفا‬Attributes‫وسلوك‬Behavior- method‫وعالقات‬‫الفوقي‬ ‫الصف‬(‫األب‬)Super-class. •‫الفرعي‬ ‫الصف‬Subclass‫تخصص‬ ‫أن‬ ‫يمكن‬: •‫خاصة‬ ‫جديدة‬ ‫وعالقات‬ ‫وسلوك‬ ‫صفات‬ ‫يضيف‬Specialized. •‫سلوك‬ ‫تعريف‬ ‫يعيد‬(‫عمليات‬)‫االب‬(‫لل‬ ‫العمليات‬ ‫يعرف‬‫صف‬‫الفوقي‬(‫األب‬)Super- class‫اخرى‬ ‫بطرق‬ ‫جديد‬ ‫من‬) •‫والعالقات‬ ‫والعمليات‬ ‫الصفات‬‫المشتركة‬‫في‬ ‫تظهر‬‫الهرمية‬ ‫من‬ ‫مستوى‬ ‫أعلى‬. •‫الفئة‬ ‫او‬ ‫الصف‬class‫الجذر‬ ‫او‬ ‫االصل‬ ‫فهو‬ ‫اباء‬ ‫له‬ ‫يوجد‬ ‫ال‬ ‫التي‬. base class or root ‫الفئة‬ ‫او‬ ‫الصف‬class‫التي‬‫الشجرة‬ ‫من‬ ‫جزء‬ ‫اخر‬ ‫فهي‬ ‫ابناء‬ ‫او‬ ‫فرعية‬ ‫فئات‬ ‫لها‬ ‫يوجد‬ ‫ال‬ ‫وتسمى‬classleaf‫ورقة‬
  • 78. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 78 Example: Single Inheritance ‫صف‬Class‫يرث‬Inherited‫فقط‬ ‫واحد‬ ‫صف‬ Truck Tonnage ‫تحمل‬ ‫طن‬ ‫كم‬ GroundVehicle weight licenseNumber Car owner register( ) getTax( ) Person 0..* ‫مقطورة‬ Trailer 1 Superclass (parent) Subclass generalization size If a class has exactly one parent, it has single inheritance. ‫وراثة‬ ‫مفردة‬
  • 79. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 79 Airplane Helicopter Wolf ‫ذئب‬ Horse FlyingThing Animal Bird multiple inheritance Example: Multiple Inheritance ‫صفوف‬ ‫عدة‬ ‫يرث‬ ‫صف‬ UML If a class has more than one parent, it has multiple inheritance
  • 80. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 80 Class diagram‫الصفوف‬ ‫مخطط‬-‫الفئات‬ –‫الصفوف‬ ‫مخطط‬ ‫رسم‬Class Diagram-‫الفئات‬‫الجوانب‬ ‫من‬‫للتصميم‬ ‫منهج‬ ‫ألي‬ ‫األساسية‬ ‫التوجه‬ ‫كائني‬ -‫الصفوف‬ ‫مخطط‬-‫الفئات‬Class Diagram‫هو‬‫للكائن‬ ‫بالمنحى‬ ‫التصميم‬ ‫لعملية‬ ‫المفتاح‬object oriented design –‫استخدام‬ ‫يتم‬‫الصفوف‬ ‫مخطط‬-‫الفئات‬‫مراحل‬ ‫في‬‫والتطوير‬ ‫والتصميم‬ ‫التحليل‬ –‫صيغ‬ ‫تستعمل‬‫الصفوف‬ ‫مخططات‬-‫الفئات‬‫لرسم‬‫للمفاهيم‬ ‫خريطة‬‫أن‬ ‫للمستفيد‬ ‫يمكن‬ ‫التي‬ ‫العامة‬ ‫يستوعبها‬(‫تسمى‬‫المفاهيمي‬ ‫النموذج‬Conceptual Model.) –‫ال‬Class Diagram‫يوضح‬‫الصفوف‬-‫الفئات‬‫هذه‬ ‫بين‬ ‫العالقات‬ ‫يبين‬ ‫كما‬ ‫النظام‬ ‫في‬ ‫المشتركة‬ ‫الصفوف‬ -‫الصفوف‬ ‫مخطط‬‫الفئات‬Class diagram‫االستخدام‬ ‫حالة‬ ‫ومخطط‬use case diagram ‫من‬ ‫يجعالن‬‫المفاهيمي‬ ‫النموذج‬Conceptual Model‫قوية‬ ‫أداة‬‫المتطلبات‬ ‫لتحليل‬ Requirements analysis
  • 81. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 81 ‫كيفية‬‫بناء‬‫الصفوف‬ ‫مخطط‬‫بالكامل‬ •‫بناء‬ ‫يتم‬‫الصفوف‬ ‫مخطط‬‫من‬‫خالل‬‫المفاهيم‬ ‫بين‬ ‫الروابط‬ ‫تحديد‬. •‫ب‬ ‫فمثال‬‫فرض‬‫على‬ ‫االتفاق‬ ‫تم‬ ‫انه‬‫عدة‬‫صفوف‬Classes‫تخص‬‫العاملين‬ ‫إدارة‬ ‫نظام‬‫الصفوف‬ ‫مثال‬ ‫وهي‬- ‫الفئات‬Classes‫التي‬‫الشكل‬ ‫في‬‫التالي‬ Class diagram‫مخطط‬‫الصفوف‬ ‫الشركة‬ ‫سيارات‬‫الموظفون‬‫المدير‬ ‫مرضية‬ ‫اجازات‬ ‫التدريب‬ ‫كورسات‬-‫التقاعد‬ ‫العطل‬ ‫مغادرة‬ ‫اذونات‬
  • 82. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 82 ‫كيفية‬‫بناء‬‫الصفوف‬ ‫مخطط‬‫بالكامل‬‫تابع‬ •‫بين‬ ‫الروابط‬ ‫لتحديد‬‫الصفوف‬Classes‫يتم‬‫تثبيت‬‫أحد‬‫الصفوف‬Classes‫ومراجع‬ ،‫مع‬ ‫ته‬‫كل‬ ‫الصفوف‬‫اال‬‫خر‬‫ى‬. •‫ونختبر‬”‫بين‬ ‫عالقة‬ ‫توجد‬ ‫هل‬‫الصفين‬-‫الفئتين‬Classes‫؟‬"،‫كذلك‬ ‫كان‬ ‫إذا‬‫يتم‬‫الرابطة‬ ‫تسمية‬ ‫بينهما‬Associations،‫ال‬ ‫ونوع‬‫تعددية‬Multiplicity‫نسأل‬ ‫فمثال‬: •‫هل‬‫عالقة‬ ‫للمدير‬،‫نعم‬ ‫؟‬ ‫العامل‬ ‫بالفرد‬‫يدير‬ ‫مدير‬ ‫كل‬1‫العمال‬ ‫من‬ ‫أكثر‬ ‫أو‬. •‫و‬ ‫المدير‬‫نعم‬ ‫الشركة؟‬ ‫سيارة‬،‫واحدة‬ ‫سيارة‬ ‫يقود‬ ‫مدير‬ ‫كل‬. •‫و‬ ‫المدير‬‫تقاعدي‬ ‫تأمين‬ ‫حساب‬،‫نعم‬ ‫؟‬‫واحد‬ ‫تقاعد‬ ‫حساب‬ ‫في‬ ‫يتشارك‬ ‫مدير‬ ‫كل‬ •‫حتى‬ ‫وهكذا‬‫ي‬‫النموذج‬ ‫كتمل‬. ‫المرحلة‬ ‫هذه‬ ‫في‬ ‫الشائع‬ ‫الخطأ‬‫يتم‬ ‫أن‬ ‫هو‬‫تحديد‬‫الصفين‬-‫الفئتين‬Classes‫عالقة‬ ‫بينهما‬،‫خط‬ ‫رسم‬ ‫ثم‬ ‫رابط‬‫بينهما‬‫تترك‬ ‫ثم‬‫الحق‬ ‫لوقت‬ ‫الرابط‬ ‫تسمية‬. •‫من‬ ‫يزيد‬ ‫هذا‬‫لدينا‬ ‫العمل‬ ‫عبء‬. •‫حالما‬ ‫أنه‬ ‫سنكتشف‬‫الخطوط‬ ‫رسم‬ ‫من‬ ‫ننتهي‬‫بها‬ ‫نقصده‬ ‫كنا‬ ‫عما‬ ‫فكرة‬ ‫أية‬ ‫لدينا‬ ‫يكون‬ ‫لن‬ ‫،؛‬‫وسنضطر‬ ‫جديد‬ ‫من‬ ‫العمل‬ ‫لبدء‬. Class diagram‫مخطط‬‫الصفوف‬
  • 83. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 83 Class Diagram 1: ‫نظام‬‫العاملين‬ ‫إدارة‬
  • 84. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 84 Class Diagram 2: ‫المقررات‬ ‫تسجيل‬ ‫نظام‬ CourseOffering RegistrationForm RegistrationManager Course Student Professor addStudent(Course, StudentInfo) name numberCredits open() location open() addStudent(StudentInfo) ScheduleAlgorithm 1 0..* 0..* 1 1 1..* 4 3..10 0..4 1
  • 85. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 85 Class Diagram 3: ‫للعمالء‬ ‫أفالم‬ ‫تأجير‬ DVD Movie VHS Movie Video Game Rental Item Rental Invoice 1..* 1 Customer 1 Class Abstract Class Generalization Aggregation Multiplicity ‫االيجار‬ ‫فاتورة‬ 0..*
  • 86. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 86 Class Diagram UML classes are analogous to E-R entities
  • 87. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 87 Class Diagram of e-shopping system‫لنظام‬ ‫الفئات‬ ‫مخطط‬ ‫الكتروني‬ ‫تسوق‬
  • 88. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 88 ‫بين‬ ‫العالقة‬Class Diagram‫و‬ER Diagram •ER‫في‬ ‫يستخدم‬ ‫والعالقة‬ ‫الكينونة‬ ‫مخطط‬‫البيانات‬ ‫قواعد‬ ‫تصميم‬‫فقط‬. •‫بينما‬UML‫المنحى‬ ‫كائنية‬ ‫نمذجة‬ ‫لغة‬ ‫هي‬object oriented‫فيها‬ ‫بما‬ ‫األنظمة‬ ‫أنواع‬ ‫لكل‬ ‫تستخدم‬ ‫البيانات‬ ‫قواعد‬ ‫نمذجة‬. •‫الصفوف‬ ‫مخطط‬ ‫هو‬ ‫بينهما‬ ‫تشابها‬ ‫المخططات‬ ‫أكثر‬Class Diagram‫ولكن‬UML‫امكانات‬ ‫تمتلك‬ ‫الصف‬ ‫سلوك‬ ‫لتمثيل‬ ‫اضافية‬ •‫عالقة‬ ‫بين‬ ‫تماثل‬ ‫هناك‬Association‫في‬Class Diagram‫في‬ ‫ومثيلتها‬ER Diagram •‫التعميم‬ ‫عالقة‬(Generalization)‫يمكن‬‫عالقة‬ ‫إلى‬ ‫تحويلها‬IS-A‫في‬ER Diagram‫قد‬ ‫مما‬ ‫داخل‬ ‫مهمة‬ ‫لمعلومات‬ ‫فقد‬ ‫إلى‬ ‫يؤدي‬UML Model‫األصلي‬. •‫عالقة‬aggregation‫إلى‬ ‫تحويلها‬ ‫يمكن‬‫عالقة‬“Contains”‫الحفاظ‬ ‫الحالة‬ ‫هذه‬ ‫في‬ ‫يمكن‬ ‫ال‬ ‫ولكن‬ ‫عالقة‬ ‫تدعمها‬ ‫التي‬ ‫الترتيب‬ ‫عالقة‬ ‫على‬aggregation. •‫نموذج‬ ‫الى‬ ‫تعليق‬ ‫بإضافة‬ ‫المشكالت‬ ‫هذه‬ ‫مثل‬ ‫معالجة‬ ‫يمكن‬ER Window size visibility display() hide() Window window-ID size visibility
  • 89. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 89 Object Diagram‫الكيانات‬ ‫مخطط‬ ‫الكيان‬(Object):‫الصف‬ ‫من‬ ‫حالة‬ ‫هو‬(Class) ‫الكيانات‬ ‫مخطط‬Object Diagram:‫ل‬ ‫مشابه‬‫مخطط‬‫الصفوف‬Class Diagram ‫التعريف‬ ‫طرق‬ ‫نفس‬ ‫ويستخدم‬ ‫الكيانات‬ ‫مخطط‬Object Diagram:‫العالقات‬ ‫ويوضح‬ ‫الصف‬ ‫من‬ ‫حالة‬ ‫يصف‬ ‫عكس‬ ‫على‬ ‫الكيانات‬ ‫بين‬ ‫الديناميكية‬Class Diagram‫الساكنة‬ ‫العالقات‬ ‫يوضح‬ ‫الذي‬ ‫ال‬ ‫توضح‬Object Diagrams:‫لحظية‬ ‫صورة‬(Snapshot)‫التفصيلية‬ ‫للحالة‬ ‫معينة‬ ‫زمنية‬ ‫لحظة‬ ‫في‬ ‫للنظام‬. ThisOne : MyClassName +SomePublicAttribute : SomeType -SomePrivateAttribute : SomeType #SomeProtectedAttribute : SomeType +ClassMethodOne() +ClassMethodTwo()
  • 90. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 90 Class and Object Diagrams 1 Aly: Customer UML: Rental Item +name: Aly ahmed +id:1667 +released:1942 +id:22340 Object Diagram Object Name 0..1 0..n Customer Rental Item Rents +name:string +id:integer +released:date +id:integer Class Diagram Class Name Attributes Association Name Rents Link Name
  • 93. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 93 ‫النمذجة‬‫التفاعلية‬-Interaction modeling Dynamic view،‫ديناميكي‬ ‫منظور‬ ‫من‬ ‫النظام‬ ‫تمثل‬ ‫التي‬ ‫ديناميكية‬ ‫رؤية‬‫و‬‫كيف‬ ‫تمثل‬ ‫االحداث‬ ‫تحدث‬‫الشروط‬ ‫وتوضح‬Conditions‫التفاعالت‬ ‫وتدفق‬Interaction flow‫االحداث‬ ‫وتدفق‬Event flow‫المعلومات‬ ‫وتدفق‬information flow ‫تتمثل‬‫من‬‫خالل‬‫المخططات‬‫التالية‬: .1‫النمذجة‬‫التفاعلية‬-‫مخططات‬‫التفاعل‬Interaction modeling ‫مخطط‬‫التتابع‬Sequence Diagram ‫مخطط‬‫التعاون‬Collaboration Diagram .2‫مخططات‬‫السلوك‬Behavioral models ‫مخطط‬‫الحالة‬(state diagram) ‫مخطط‬‫النشاط‬(activity diagram)
  • 94. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 94 UML Diagrams ‫النمذجة‬‫التفاعلية‬-Interaction modeling Interaction Diagrams‫وهي‬‫تبين‬‫كيف‬‫يمكن‬ ‫للكائنات‬“objects”‫ان‬‫تتعاون‬‫لتحقيق‬‫سلوك‬‫معين‬. ‫مخططات‬‫التفاعل‬“Interaction Diagrams”‫ال‬‫يمكنها‬‫ان‬‫تعطي‬‫وصف‬ ‫عميق‬‫للسلوك‬.‫إذا‬‫كنت‬‫تريد‬‫أن‬‫ترى‬‫ما‬‫تقوم‬‫به‬‫كائنات‬‫معينة‬‫للعديد‬‫من‬‫حاالت‬ ‫االستخدام‬‫فعليك‬‫باستخدام‬‫مخطط‬‫الحالة‬“state diagram”. Sequence Diagram ‫مخطط‬‫يهدف‬‫إلى‬‫توصيف‬‫االتصاالت‬‫بين‬Objects‫عبر‬‫الزمن‬‫أي‬‫يتم‬ ‫إدخال‬‫ُعد‬‫ب‬‫الزمن‬Time‫إلى‬‫المخطط‬‫وبالتالي‬‫يتم‬‫توضيح‬‫كل‬‫التفاعالت‬ ‫واالتصاالت‬‫بين‬Objects‫وفق‬‫تسلسل‬‫زمني‬ 
  • 95. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 95 UML Diagrams ‫النمذجة‬‫التفاعلية‬-Interaction modeling ‫مخطط‬‫التتابع‬Sequence Diagram‫في‬‫حقيقته‬‫له‬‫عالقة‬‫مباشرة‬ ‫بمخطط‬‫التعاون‬Collaboration Diagram‫و‬‫يقوم‬‫بعرض‬‫نفس‬ ‫المعلومات‬،‫و‬‫لكن‬‫بشكل‬‫يختلف‬‫قليال‬‫فهو‬‫يهتم‬‫بالتتابع‬‫الزمني‬‫للتفاعل‬ ‫ومخطط‬‫التعاون‬‫يهتم‬‫بسياق‬‫التفاعل‬Interaction context‫دون‬ ‫اهتمام‬‫بالزمن‬Time‫عن‬‫طريق‬‫تبادل‬‫رسائل‬Messages‫يوضح‬ ‫التفاعل‬. ‫مخططات‬‫التتابع‬‫او‬‫ال‬‫تسلسل‬“sequence diagrams”‫و‬‫مخططات‬‫التعاون‬ “collaboration diagrams”‫يمكن‬‫استخدامهما‬‫لوصف‬‫التفاعل‬‫بين‬ ‫الكائنات‬“objects”‫في‬‫حالة‬‫استخدامهم‬“use case
  • 96. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 96 UML Diagrams ‫النمذجة‬‫التفاعلية‬-Interaction modeling ‫مخططات‬‫التتابع‬‫او‬‫التسلسل‬“sequence diagrams”‫يظهرون‬‫بشكل‬‫عام‬‫ال‬‫تسلسل‬ ‫الزمني‬‫لألحداث‬‫التي‬‫تحدث‬. ‫مخططات‬‫التعاون‬“collaboration diagrams”‫تصف‬‫كيفية‬‫ترابط‬‫الكائنات‬‫بشكل‬ ‫ثابت‬.‫كل‬‫من‬‫المخططات‬‫بسيطة‬‫نسبيا‬‫لالستخالص‬‫وتحتوي‬‫على‬‫عناصر‬‫مماثلة‬. ‫مخططات‬‫التسلسل‬“Sequence diagrams”‫تشرح‬‫سلوك‬‫الكائنات‬“objects”‫في‬ ‫حالة‬‫استخدامها‬“use case”‫مع‬‫وصف‬‫الكائنات‬“objects”‫والرسائل‬‫ُرسلة‬‫م‬‫ال‬‫بينهم‬. ‫تتم‬‫قراءة‬‫المخططات‬‫من‬‫اليسار‬‫إلى‬‫اليمين‬‫وتنازليا‬. ‫في‬‫الخطوط‬ ‫التالي‬ ‫المثال‬‫تشير‬ ‫المخطط‬ ‫أسفل‬ ‫إلى‬ ‫المنقطة‬‫الزمن‬ ‫إلى‬‫هو‬ ‫هنا‬ ‫نشاهده‬ ‫فما‬ ‫لذلك‬ ، ‫الزمن‬ ‫عبر‬ ‫نظامنا‬ ‫في‬ ‫الكائنات‬ ‫تفاعل‬ ‫لكيفية‬ ‫وصف‬.
  • 97. Sequence Diagram(make a phone call) Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello
  • 98. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 98 Sequence Diagram ‫الخطوط‬‫المنقطة‬‫إلى‬‫أسفل‬‫المخطط‬‫تشير‬‫إلى‬‫الزمن‬،‫لذلك‬‫فما‬‫نشاهده‬‫هنا‬‫هو‬‫وصف‬‫لكيفية‬ ‫تفاعل‬‫الكائنات‬‫في‬‫نظامنا‬‫عبر‬‫الزمن‬.
  • 100. ‫بحث‬ ‫محرك‬ ‫في‬ ‫البحث‬ ‫لعملية‬ ‫التتابع‬ ‫مخطط‬Sequence Diagram
  • 101. Sequence Diagram‫كتاب‬ ‫عن‬ ‫البحث‬ ‫لعملية‬ ‫التتابع‬ ‫مخطط‬ ‫الكترونية‬ ‫مكتبة‬ ‫فهرس‬ ‫في‬ User Catalog Reservations 1: look up () 2: title data () 3: [not available] reserve title () 4 : title returned () 5: hold title () 5 : title available () 6 : borrow title () 6 : remove reservation () Message ‫الكائنات‬ ‫تصف‬ ‫بين‬ ‫والرسائل‬ ‫الكائنات‬
  • 102. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 102 UML Diagrams ‫النمذجة‬‫التفاعلية‬-Interaction modeling .2Collaboration Diagram   ‫برامج‬ ‫بتطوير‬ ‫نقوم‬ ‫نحن‬ ‫و‬‫المنحى‬‫الكائني‬OO‫بأي‬ ‫يقوم‬ ‫ألن‬ ‫برنامجنا‬ ‫احتاج‬ ‫إذا‬ ‫؛‬ ‫بواسطة‬ ‫ذلك‬ ‫فسيكون‬ ‫شيء‬‫الكائنات‬ ‫تعاون‬Object collaboration.  ‫رسم‬ ‫يمكننا‬‫التعاون‬ ‫مخططات‬‫الكيفية‬ ‫لوصف‬(‫السياق‬Context)‫التي‬‫تتعاون‬ ‫الكائنات‬ ‫بها‬‫نريدها‬ ‫التي‬ ‫بالطريقة‬ ‫بينها‬ ‫فيما‬. UML‫مجرد‬ ‫هي‬‫صيغة‬‫كونها‬ ‫من‬ ‫أكثر‬‫حقيقية‬ ‫عملية‬‫البرمجيات‬ ‫لتطوير‬.
  • 104. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 104 ‫الطباعة‬ ‫خادم‬ ‫على‬ ‫الطباعة‬ ‫لعملية‬ ‫التعاون‬ ‫مخططات‬The Collaboration Diagrams
  • 105. INTERACTION DIAGRAMS: COLLABORATION DIAGRAMS 6 : borrow title User Catalog Reservations start 1: look up 2: title data 3 : [not available] reserve title 4 : title returned 5 : hold title 6: remove reservation 5: title available
  • 107. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 107 UML Diagrams- Dynamic view .3STATE Diagram  Triggers ‫بعض‬‫الكائنات‬‫أي‬ ‫في‬ ‫يمكنها‬‫محدد‬ ‫وقت‬‫تكون‬ ‫أن‬‫ما‬ ‫حالة‬ ‫في‬. ‫الحاالت‬ ‫إحدى‬ ‫في‬ ‫تكون‬ ‫أن‬ ‫الضوئية‬ ‫لإلشارة‬ ‫يمكن‬ ،‫مثال‬ ‫التالية‬:‫مطفأة‬،‫حمراء‬،‫صفراء‬،‫خضراء‬. ‫يكون‬ ،‫أحيانا‬‫ّالت‬‫و‬‫التح‬ ‫تعاقب‬‫الحاالت‬ ‫بين‬‫جدا‬ ‫ّد‬‫ق‬‫مع‬-‫في‬ ‫حالة‬ ‫من‬ ‫ننتقل‬ ‫أن‬ ‫يمكننا‬ ‫ال‬ ،‫أدناه‬ ‫المثال‬"‫خضراء‬"‫حالة‬ ‫إلى‬ "‫حمراء‬( "‫و‬‫حادث‬ ‫في‬ ‫ّبنا‬‫ب‬‫تس‬ ‫إال‬.)!
  • 108. State Diagrams ‫المرور‬ ‫حركة‬ ‫تنظيم‬ ‫نظام‬(Traffic light example) Yellow Red Green Traffic Light State Transition Event Start
  • 109. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 109 .3STATE DiagramBehavioral Diagram ‫التعامل‬ ‫في‬ ‫التهاون‬‫مع‬‫الحاالت‬‫إلى‬ ‫ّي‬‫د‬‫يؤ‬ ‫أن‬ ‫يمكن‬‫و‬ ‫جدية‬ ‫أعطال‬ ‫وقوع‬ ‫محرجة‬‫برامجنا‬ ‫في‬. ‫مثال‬ ‫خذ‬-‫سنوات‬ ‫أربع‬ ‫منذ‬ ‫ّي‬‫ف‬‫تو‬ ‫مستهلك‬ ‫إلى‬ ‫مرسلة‬ ‫غاز‬ ‫فاتورة‬-‫هذا‬ ‫اعتباره‬ ‫في‬ ‫يأخذ‬ ‫لم‬ ‫ما‬ ‫نقطة‬ ‫في‬ ‫المبرمج‬ ‫أن‬ ‫ذلك‬ ‫سبب‬ ‫و‬ ‫الواقع‬ ‫في‬ ‫يحدث‬ ‫الحالة‬ ‫ّالت‬‫و‬‫تح‬. ‫يمكن‬ ‫كما‬ ‫و‬‫الحالة‬ ‫ّالت‬‫و‬‫لتح‬‫تكون‬ ‫أن‬‫ّدة‬‫ق‬‫مع‬‫فإن‬ ،UML‫تسمح‬ ‫صيغة‬ ‫ّم‬‫د‬‫تق‬ ‫لنا‬‫و‬ ‫بتصويرها‬‫نمذجتها‬. UML Diagrams- Dynamic view
  • 114. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 114 ‫الهاتف‬ ‫لنظام‬ ‫الحالة‬ ‫مخطط‬
  • 115. ‫الفاتورة‬ ‫معالجة‬ ‫نظام‬ ‫حاالت‬State Diagrams (Billing Example) State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors. Unpaid Start End Paid Invoice created paying Invoice destroying
  • 116. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 116 UML Diagrams- Dynamic view .4ACTIVITY DiagramBehavioral Diagram   
  • 119. Activity Diagram ‫اصناف‬ ‫لشراء‬ ‫طلبية‬ ‫لمعالجة‬ ‫النشاط‬ ‫مخطط‬
  • 120. Activity diagram for onlineshopping‫النشاط‬ ‫مخطط‬ ‫االلكتروني‬ ‫التسوق‬ ‫لنظام‬ ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 120
  • 121. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 121 -physical Diagrams- .1COMPONENT Diagram ‫يتشابه‬‫المكونات‬ ‫مخطط‬‫مع‬‫التحزيم‬ ‫مخطط‬–package diagram  ‫كيفية‬ ‫بترميز‬ ‫لنا‬ ‫يسمح‬‫تقسيم‬ ‫أو‬ ‫فصل‬‫كيف‬ ‫،و‬ ‫نظامنا‬‫على‬ ‫قالب‬ ‫كل‬ ‫يعتمد‬ ‫آخر‬‫فيه‬. ‫ليس‬‫بالفصل‬‫الفكري‬ ‫أو‬ ‫المنطقي‬‫في‬ ‫كما‬‫التحزيم‬ ‫مخطط‬Packaging Diagram. ‫ّز‬‫ك‬‫ير‬‫المكونات‬ ‫مخطط‬‫على‬‫للبرنامج‬ ‫الفعلية‬ ‫المكونات‬(‫الملفات‬،‫الترويسات‬ headers،‫الربط‬ ‫مكتبات‬،‫التنفيذية‬ ‫الملفات‬،‫الحزم‬packages)
  • 122. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 122 -physical Diagrams- .1COMPONENT DiagramStructural Diagrams ‫يعرض‬‫البنية‬‫الحزمية‬‫عالية‬‫المستوى‬‫للشفرة‬‫نفسها،وتظهر‬‫االعتمادات‬‫بين‬‫ا‬‫لمكونات‬ ‫ويتم‬‫تضمين‬‫شفرة‬‫المصدر‬‫والشفرة‬‫الثنائية‬‫والمكونات‬‫التنفيذية‬(‫وملفات‬‫الهدف‬‫والمصدر‬ ‫والمكتبات‬exe,obj,c,dll)) ‫وتتواجد‬‫بعض‬‫المكونات‬‫في‬‫وقت‬‫الترجمة‬‫او‬‫وقت‬‫الربط‬‫او‬‫وقت‬‫التنفيذ‬. ،‫التحزيم‬ ‫مخطط‬ ‫عمل‬ ‫طريقة‬ ‫بنفس‬ ‫يعمل‬‫العناصر‬ ‫عارضا‬‫فيما‬ ‫االعتماديات‬ ‫و‬‫بصورة‬ ‫بينها‬ ‫المنطقية‬ ‫الحزم‬ ‫وليس‬ ‫البرمجية‬ ‫المكونات‬
  • 126. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 126 ‫التحزيم‬ ‫مخططات‬Package Diagrams ‫أي‬‫نظام‬‫صغيرا‬ ‫يكون‬ ‫ال‬‫يحتاج‬‫ت‬‫ّيم‬‫س‬‫ق‬‫أجزاء‬ ‫إلى‬"chunks"‫حجما‬ ‫أصغر‬‫و‬ ‫للفهم‬ ‫أسهل‬. ‫لنا‬ ‫تتيح‬‫التحزيم‬ ‫مخططات‬Package Diagrams‫في‬UML‫نمذجة‬‫هذه‬ ‫ّالة‬‫ع‬‫ف‬ ‫و‬ ‫بسيطة‬ ‫بطريقة‬ ‫األجزاء‬. ‫لنا‬ ‫تتيح‬‫التحزيم‬ ‫مخططات‬Package Diagrams‫نمذجة‬‫من‬ ‫نوع‬ ‫أي‬ ‫لغة‬ ‫فئات‬‫النمذجة‬‫مثل‬ ‫النظام‬ ‫او‬ ‫الموحدة‬‫االستخدام‬ ‫لحاالت‬ ‫التحزيم‬ ‫مخطط‬‫او‬ ‫للفئات‬ ‫التحزيم‬ ‫مخطط‬‫او‬‫البيانات‬ ‫لكائنات‬ ‫التحزيم‬ ‫مخطط‬data,classes .use cases, orentities
  • 127. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 127 ‫التحزيم‬ ‫مخططات‬Package Diagrams  figure 1. Package diagram organizing the university class model. ‫الصفوف‬ ‫او‬ ‫الفئات‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬ ‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬ ‫االولى‬ ‫الحزمة‬ ‫ازلنا‬ ‫اذا‬ ‫مالحظة‬seminar registration ,‫االخيرة‬ ‫والحزمة‬ ،Java Infrastructure packages‫مخطط‬ ‫يصبح‬ ‫البيانات‬ ‫لكائنات‬ ‫التحزيم‬.Data entities package diagram Contact point
  • 128. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 128 ‫الجدول‬ ‫وهي‬ ‫واحدة‬ ‫لحزمة‬ ‫الفئات‬ ‫لنموذج‬ ‫التحزيم‬ ‫مخططات‬ class model -Package Diagrams  figure 1. Package diagram organizing the university class model. ‫لمحتويات‬ ‫المفصل‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬  ‫الجدول‬ ‫حزمة‬Schedule ‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬
  • 129. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 129 ‫االستخدام‬ ‫حاالت‬ ‫لنموذج‬ ‫التحزيم‬ ‫مخططات‬ use case model -Package Diagrams  figure 1. Package diagram organizing the university class model. ‫االستخدام‬ ‫لحاالت‬ ‫تحزيم‬ ‫مخطط‬ ‫مثال‬ ‫الكتروني‬ ‫تسجيل‬ ‫لنظام‬
  • 130. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 130 ‫لفئات‬ ‫التحزيم‬ ‫مخططات‬-‫لجامعة‬ ‫االلكتروني‬ ‫التسجيل‬ ‫نظام‬ Package Diagrams ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 130
  • 131. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 131 ‫طلبيات‬ ‫لنظام‬ ‫الفئات‬ ‫مخطط‬Class diagram for ordering system
  • 132. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 132 ‫لفئات‬ ‫التحزيم‬ ‫مخططات‬-‫طلبيات‬ ‫نظام‬Package Diagrams ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 132
  • 133. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2010 133 ‫للحزمة‬ ‫الفئات‬ ‫مخططات‬3‫التحزيم‬-‫لجامعة‬ ‫االلكتروني‬ ‫التسجيل‬ ‫لنظام‬ Package class Diagrams ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 133
  • 134. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 134 physical Diagrams- .2DEPLOYMENT Diagram- - Structural Diagrams ‫الهدف‬‫من‬‫هذا‬‫المخطط‬:‫التخطيط‬‫لكيف‬‫سيتم‬‫تجهيز‬ ‫برنامجنا‬. ‫يعرض‬‫عناصر‬‫معالجة‬‫وقت‬‫التشغيل،ومكونات‬ ،‫البرمجيات‬‫والعمليات‬‫والكائنات‬. ،‫مثال‬‫المخطط‬‫في‬‫الشريحة‬‫التالية‬‫يعرض‬‫توصيفا‬‫مبسطا‬ ‫لجهاز‬‫حاسوب‬‫شخصي‬.
  • 140. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 140 ‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬ ATMUse case Diagram‫االستخدام‬ ‫حالة‬ ‫مخطط‬
  • 141. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 141 ‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬ ATM‫الحالة‬ ‫مخطط‬State chart-Diagram
  • 142. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 142 Package Diagram for Example ATM System‫التحزيم‬ ‫مخطط‬ ATM
  • 144. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 144 ‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬ ATMcollaboration Diagram‫الصراف‬ ‫من‬ ‫السحب‬ ‫لعملية‬ ‫التعاون‬ ‫مخطط‬
  • 145. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 145 ‫ال‬ ‫لمخططات‬ ‫شامل‬ ‫مثال‬UML‫االلي‬ ‫الصراف‬ ‫لنظام‬ ATMcomponent Diagram‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫المكونات‬ ‫مخطط‬
  • 146. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 146 ‫االلي‬ ‫الصراف‬ ‫لنظام‬ ‫التجهيز‬ ‫او‬ ‫التوزيع‬ ‫مخطط‬ .DEPLOYMENT Diagram for ATM
  • 147. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 147 ‫ملخص‬Key points ‫ّر‬‫ف‬‫يو‬UML‫النظام‬ ‫لوصف‬ ‫مختلفة‬ ‫نماذج‬ ‫عدة‬. ‫االستخدام‬ ‫وقائع‬Use Cases-"‫العالم‬ ‫مع‬ ‫نظامنا‬ ‫سيتفاعل‬ ‫كيف‬ ‫الخارجي؟‬" ‫الصنفيات‬ ‫مخطط‬Class Diagram-"‫التي‬ ‫الكائنات‬ ‫هي‬ ‫ما‬ ‫عالقتها؟‬ ‫ما‬ ‫و‬ ‫نحتاجها؟‬" ‫التعاون‬ ‫مخطط‬Collaboration Diagram-"‫تتعامل‬ ‫كيف‬ ‫للرسائل؟‬ ‫رقمي‬ ‫تتابع‬ ‫خالل‬ ‫من‬ ‫بعض‬ ‫مع‬ ‫الكائنات‬" ‫التتابع‬ ‫مخطط‬Sequence Diagram-"‫الكائنات‬ ‫تتعامل‬ ‫كيف‬ ‫زمني؟‬ ‫بتسلسل‬ ‫بعض‬ ‫مع‬"
  • 148. ‫أ‬.‫ابوغليون‬ ‫سميرة‬2012 148 ‫ملخص‬Key points hung up ‫الحالة‬ ‫مخطط‬State Diagram-"‫أن‬ ‫يجب‬ ‫التي‬ ‫الحاالت‬ ‫ما‬ ‫الكائنات؟‬ ‫عليها‬ ‫تكون‬” ‫التحزيم‬ ‫مخطط‬Package Diagram-"‫بقولبة‬ ‫سنقوم‬ ‫كيف‬ ‫عملنا؟‬” ‫المكونات‬ ‫مخطط‬Component Diagram-"‫سترتبط‬ ‫كيف‬ ‫برنامجنا؟‬ ‫مكونات‬” ‫التجهيز‬ ‫مخطط‬Deployment Diagram-"‫سيتم‬ ‫كيف‬ ‫البرنامج؟‬ ‫تجهيز‬"