eight part sameera um11 12-2012

148
أ. سميرة ابوغليون2012 1 ل غ ة النمذجة الموحدةUML

Upload: sameera-abu-ghlyoon

Post on 18-Nov-2014

687 views

Category:

Documents


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 1

الموحدة النمذجةة غل

UML

Page 2: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 2

تطوير البرمجيات تطوير البرمجيات يشترك فيه عدد من األفراد، و كل واحد له دور:

المحّللون

المصّممون

المبرمجون

القائمون باالختبار

مراقبو الجودة

المستفيدون

الكّتاب التقنيون

و كّل واحد منهم يحتاج إلى مختلفة من النظامكّل هؤالء األفراد يهتمون بجوانب ، .مستوى مختلف من التفاصيل

للمنظومة من التصميم الموضوعيحتاج إلى أن يفهم لمبرمج، اسبيل المثالعلى . أجل تحويله إلى تعليمات برمجية في مستواها األدنى

فيحتاج سلوك النظام ككّلينصّب اهتمامه على ( الموّثق) الكاتب التقنيبالمقابل ، .لفهم كيف يعمل المنتج

Page 3: Eight part sameera um11 12-2012

2012 ابوغليون سميرة.أ 3

The Modelingالنمذجة

؟بالنمذجةلماذا نقوم

وذلك ألن قدرتنا في ، حتى نتمكن من فهم أي نظام نقوم بتطويرهنقوم ببناء نماذج

،فهم النظام بكاملة دفعة واحدة محدودة

على أنه تبسيط النموذجويعرف مراحل و نماذج إلى بتقسيمهلدراسة نظام ما نقوم

وتجريد للمسائل المعقدة

يسمى وهذا ما )كل ما ال داعي له بالنسبة لوجهة نظر معينة حذف النموذجيتم من خالل

بالنسبة لنفس وجهة النظر األجزاء المهمةوإبقاء ( Abstractionبالتجريد

المأخوذة بعين وجهة النظرو يعتمد النموذج على ،وتتم الدراسة على هذا األساس

لتحقيق الغاية ونحتاج ألكثر من نموذجاالعتبار

Page 4: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 4

نظرة تاريخية على تطور لغات النمذجة

كان مهندسو البرمجيات 1994 و 1989في الفترة الواقعة بين عامي ،حروب "و هي الفترة التي يشار إليها بـ . هذه الرموزلمثل يفتقرون .”المناهج

يجد القائمون على البرمجيات ما يرضي نادرا ما ، لغة متكاملةال توجد !كامل حاجتهم في لغة واحدة

في التسعينات ظهرت لغة النمذجة الموحدة .UML كمحصلة لجهود .ثالث خبراء

Page 5: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 5

نظرة تاريخية على تطور لغات النمذجةبها نقاط قوة خاصةكل منهجية تملك منهجيات ثالث، برزت في منتصف التسعينيات:

بوكBooch :

قرادي بوك"لقد عمل . التصميم و التنفيذكانت ممتازة فيما يخص "Grady Booch ، و كان له دور رئيسي في تطوير تقنيات المنحى الكائني Adaبكثافة على لغة آدا

(object oriented )للغة.

لم تأخذ القبول الحسن الرموز فيهاإال أن قوة منهجية بوكمن وبالرغم

OMT ( تقنية النمذجة الكائنيةObject Modeling Technique ) أنظمة المعلومات ذات البيانات الكثيفةو في في التحليلكانت األفضل .

OOSE (Object Oriented Software Engineering هندسة البرمجيات كائنية المنحى) وقائع االستخدام يسمى بنموذجتتميز(Use Cases .)

كامل فهم سلوك النظامأسلوب قوي من أجل وقائع االستخدامتعد.

Page 6: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 6

نظرة تاريخية على تطور لغات النمذجة جيم رامبخ ، قام 1994عام فيJim Rumbaugh مؤسس ،OMT بمفاجأة عالم ،

و انضّم الى General Electricجنرال الكتريك البرمجيات حين ترك العمل بشركة (.Rational Corp)راشيونال للعمل في شركة قرادي بوك

و كان بالطبع ) موحدة نهجيةمن أجل دمج أفكارهما و صّبها في م: الغرض من المشاركة (.Unified Method" المنهجية الموحدة"عنوان العمل لهذه المنهجية هي

مبدع ، انضم أيضا 1995عام معOOSE ايفار جاكوبسونIvar Jacobson إلى ، Use" وقائع االستخدام"خاصة مفهوم )و تم ضم أفكاره Rational Corpراشيونال Cases ) المنهجية الموحدةفي .

تدعى لغة النمذجة الموحدةاصبحت اآلن (Unified Modeling Language.) " األصدقاء الثالثة"بـ جاكوبسونو بوكو رامبخوُعرف الفريق الذي يتكون من

(Three Amigos.)

Page 7: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 7

الجديدة المنهجية بدأت UMLصناعة أوساط لدى استحبابا تجد

البرمجيات

مشتركة لجنة تكوين تم consortium بـ خاصة UML، من عدد فيها شاركت

ميكروسوفت و (Hewlett-Packard) باكارد-هيولت مثل الوزن ثقيلة المؤسسات

(Microsoft) أوراكل و (Oracle).

كما تم تبّنيUML منظمة من قبل(OMG ) و من حينها امتلكت 1979في ،(OMG )لغة لذلك عمليا أصبحت . اللغة و دأبت على صيانتهاUML عامة

.ملكية خاصة وليست

OMG : مجموعة اإلدارة الكائنية(Object Management Group)، و هي

.لمزيد من التفاصيل www.omg.orgانظر . لوضع المواصفات غير ربحيةجهة

Page 8: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 8

؟ UMLما هي

UML (Unified Modeling Language :)

الرئيسية العناصر لوصف صيغة لنا تقدم رسومية نمذجة لغة هي

.البرمجية للنظم

(تسّمى العناصر هذه artifacts في مشغوالت UML).

Page 9: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 9 9

UML

UMLمميزات

1- UML تقدم رموزا بسيطة إلنتاج نماذج يسهل على المحللين والمصممين

والمبرمجين والعمالء التخاطب فيما بينهم بتمرير المعلومات في صيغة نمطية موحدة

.موجزة

2- UML تعطي صورة كاملة عن البرنامج المراد تصميمه مما يسهل عملية تصور

. البرنامج كامال ويسهل صيانته

يمكن توزيع المخططات على المبرمجين إلنجاز برنامج مما يسرع في عملية إنشاء -3

كذلك يسهل فهم البرنامج في حالة الرجوع لهذه المخططات بعد فترة. البرامج

4- UML ثبت نجاحها في نمذجة النظم الكبيرة وهي جزء مهم من التطوير الكائني

وعمليات تطوير البرمجيات OO Softwareالمنحى للبرمجيات

Page 10: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 10 10

UML

UMLمميزات

5- UML لتطوير بلغة جاهزة االستخدام للنمذجة المرئية تزود المستخدمين

وتبادل نماذج ذات معنى وال تعتمد على لغة بعينها، وهى جزء مهم من

للبرمجيات وعمليات Object Orientedالتطوير الكائنى المنحى

.تطوير البرمجيات

منهجية لبناء أو تصميم البرمجيات UML تعتبر لغة النمذجة الموحدة ال -6

بمعنى أنها لن ترشدك إلى أفضل الطرق لتصميم البرمجيات و . وتطويرها

.تطويرها

لتطوير البرمجيات المفاهيم األساسيةتسمح بالتقاط عامةلغة - UMLلغة -7و". ورقة"وضعها على و

Page 11: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 11

UML UML

UML

User Objects Layer

Model Layer

Meta Model Layer

Meta meta model layer

Page 12: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 12

User Objects Layer

UML

Page 13: Eight part sameera um11 12-2012

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

Page 14: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 14 14

UML

UML مخططات

Use Case)مخطط حاالت االستخدام -2

Diagram)

(Class Diagram)مخطط الفئة -1

(Activity Diagram)مخطط النشاط -4

Collaboration)مخطط االتصال والتعاون -6Diagram)

(State Diagram)مخطط الحالة -3

(Sequence Diagram)مخطط التتابع -5

(Components Diagram)مخطط المكونات -7

(Package Diagram)مخطط التحزيم -8

"كيف سيتفاعل نظامنا مع الفعلة في بيئة النظام؟"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

code“كيف سترتبط مكونات البرنامج؟"7.

structure

“كيفية تتابع األنشطة داخل حالة استخدام معينة؟”4.sequential flow of activities

"كيف سنقوم بقولبة العمل؟"8.

“كيف سيتم تجهيز البرنامج وربطة بالمكونات المادية؟" (Deployment Diagram)مخطط التجهيز -9

mapping of software to hardware

Page 15: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 15

Model Layer

Analysis

System

Analyst

Page 16: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 16

Meta Model Layer

UML

Class Abstraction

Design Patterns- modules) UML

Model

Page 17: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 17

Meta meta model layer

System

Analysts

UML

Developers CASE Tools

CASE Tools

Page 18: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 18

UML Components

UML

Model

UML Model

Page 19: Eight part sameera um11 12-2012

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

Page 20: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 20

الكائنيالمنحى

Object Oriented الكائنيالمنحى Object Oriented المهيكلطريقة تفكير تختلف عن االتجاه

Functional (structural )programming .

نقوم بالجمع بين البياناتAttributes التصرفات وBehavior ذات العالقة

)Methods فئات صنفياتداخل ( وظائف ،Classes .

بخلق ثم يقوم برنامجناcreate تمثالت/تجّسدات class of instances لهذه

الصنفية objectsإنشاء كائنات : أو بعبارة أخرى الفئة – الصنفية

الطرق ) النهجياتالكائنات يمكنها التعاون مع بعضها البعض، من خالل مخاطبة

. methods(او االجراءات

مغّلفة في الكائن البيانات Encapsulated و ال يقوم بتعديلها إال الكائن نفسه.

Page 21: Eight part sameera um11 12-2012

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-implementation

Behavioral-use case

view

Page 22: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 22 22

UML Views and Diagrams

(Viewsمنظور -رؤى)أنواع 4إلى UMLيمكن تقسيم مخططات

.1static view

صورة أي وضع متطلبات النظام من المعطيات في منظور ساكنوهي تمثل النظام من •

مخططات الهيكلية او التركيب Structure Diagram. نموذج

الذي يمثل ( class diagram)الفئات -مخطط الصفوفوتحتوي هذه الرؤية على •

Objectومخطط الكائن بينها Relationshipsوالعالقات classesفئات النظام –صفوف diagram

.2-use case view رؤية حاالت االستخدام Behavioral Diagram

وهي مخططات سلوكية ولكن توضح النظام ( وظائف)منظور عملياتيالتي تمثل النظام من •

. صورة نموذجفي متطلبات النظام الوظيفيةأي وضع .من منظور المستخدم

الذي ( use case diagram)مخطط حاالت االستخدام وتحتوي هذه الرؤية على •

.يمثل وظائف النظام والعالقات بينها

رؤية ساكنة

Page 23: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 23 23

UML Views and Diagrams

(رؤى)أنواع 4إلى UMLيمكن تقسيم مخططات

.3dynamic view

. كيانات النظامالتي تطرأ على سلوك النظام والتغيرات تنمذجأي •

:وتحتوي هذه الرؤية على•

state مخطط الحالة وهما Diagram Behavioralالمخططات السلوكية للنظام 1.

diagram ومخطط النشاط(activity diagram

ومخطط مخطط التتابعsequence وهما : -interaction diagramومخططات التفاعل2.

-collaboration التعاون

.4Physical –implementation view الرؤى الفيزيائية المادية او

عند اكتمال التطوير للنظام، إلعطاء وصف المخططات الفيزيائيةتستخدم :التنفيذية

.للمعلومات الفيزيائية للنظام لتسهيل تجهيزه واعداده للعمل• هناك نوعان من هذه المخططاتComponent & Deployment Structural

Diagram

منظور ديناميكيالتي تمثل النظام من • :رؤية ديناميكية

Page 24: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 24 24

UML Views and Diagrams

(رؤى)أنواع 4تابع

.4Physical Diagrams المخططات الفيزيائية Structure Diagram-

مخططات الهيكلية او التركيب

هناك نوعان من هذه المخططات•

توضح مكونات : او التحزيم Component Diagram مخططات المكونات - والا•

التحزيم الطبيعي التي تمثلالمكونات تحتوي على. مع بعضها البعض البرمجيات وعالقتها

بينها وكيف يؤثر Dependencies االعتماداتو Modules لوحدة من الشيفرة

.التغيير في احدها على االخر

العالقة بين العتاد والبرمجيات : Deployment Diagramمخطط التجهيز :ثانيا•

مسار ) Connectionsووصالت ) عتاد مادي HW (عقد Nodesويحتوي على

( TCP/IPاتصال مثل

في نموذج واحد المكونو التوزيعفي الغالبية تدمج مخططات •

Page 25: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 25 25

UML Views and Diagrams (رؤى) Viewsإلى اربعة أنواع UML مخططاتيمكن تقسيم

.1static view . رؤية ساكنة وهي تمثل النظام من منظور ساكن أي وضع متطلبات النظام من المعطيات في صورة نموذج

الذي يمثل صفوف النظام والعالقات بينها ، و ( class diagram)مخطط الصفوف وتحتوي هذه الرؤية على

Object diagramومخطط الكائن .2use case view

رؤية حاالت االستخدام التي تمثل النظام من منظور عملياتي أي وضع متطلبات النظام الوظيفية في صورة الذي يمثل وظائف النظام ( use case diagram)وتحتوي هذه الرؤية على مخطط حاالت االستخدام . نموذج

.والعالقات بينها

.3dynamic view سلوك النظام والتغيرات التي تطرأ على كيانات تنمذجرؤية ديناميكية التي تمثل النظام من منظور ديناميكي أي

(activity diagram)ومخطط النشاط ( state diagram)وتحتوي هذه الرؤية على مخطط الحالة . النظام

.(interaction diagram)ومخططات التعاون

.4View Physical –implementation تستخدم :الرؤى الفيزيائية المادية او التنفيذية

عند اكتمال التطوير للنظام، إلعطاء وصف للمعلومات الفيزيائية للنظام لتسهيل تجهيزه واعداده المخططات الفيزيائية

Component & Deployment Structural Diagramهناك نوعان من هذه المخططات . للعمل

Page 26: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 26 26

Page 27: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 27

use case View

.1USE CASE DiagramUCDBehavioral Diagram

actorsuse Cases

المستخدم نظر وجهة من النظام لسلوك وصف هي.

في فهم المتطلبات، و تساعد التحليل و التطويرفهي ذات فائدة خالل مراحل .

محّللون، مصّممون، مبرمجون، )يكون المخطط سهال لالستيعاب من قبل المطّورين ( الزبون)و المستفيدين ( مختبرون

بدءا من عمليات التطويربإمكانها أن تستخدم في كامل ، .التسليمو حتى االستهالل

حاالت االستخدام وتستخدم“Use cases” وتساعد في الكشف عن . كل المشاريع تقريبافي

. االحتياجات والتخطيط للمشروع

ولكن ، بما ان بمعظم حاالت االستخدام خالل المرحلة األولى من المشروع التعريف وينبغي ،

.المشروع ال يزال متواصل فسيظهر لك المزيد

Page 28: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 28

The Use Caseحالة استخدام -مخطط واقعة

Diagram(UCD)

كلUse Case وبالتالي يتضمن هذا وظيفة من وظائف النظامتمثل :المخطط

دون تفصيل لكل خاصية من النظامعرض للوظائف االساسية المطلوبة .

المستخدمactor (.قد يكون نظام آخر)الذي يقوم بطلب هذه الوظيفة

حدود النظامsystem boundary ,

العالقات بين حاالت االستخدامUse Cases والروابط بين الفعلةactors

Use Casesوحاالت االستخدام

يساعدنا على بناءUse case diagram سيناريو العمل فهمScenarios ولكنها ال توضح ترتيب تتابع حاالت . والذي نحصل عليه من مستخدم النظام

.فهي تتعامل مع بعد افقي واحد وهي الوظائف االساسيةاالستخدام حسب الزمن

Page 29: Eight part sameera um11 12-2012

Use case diagram symbols Actor

Relationships

Use case

System

Page 30: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 30

The Use Case Diagramانواع العالقات لحالة استخدام

Page 31: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 31

Components of Use-Case Diagram رموز حالة االستخدام

تستخدم لبيان ان وظيفة حالة االستخدام الفرعية متضمنة داخل حالة االستخدام االساسية ويعبر عنها

. بسهم من حالة االستخدام االساسية باتجاه حالة االستخدام الفرعية

ويعبر عنها بسهم من حالة االستخدام . تستخدم لتوسيع حالة االستخدام االساسية لتتضمن سلوك اختياري

.base use caseباتجاه حالة االستخدام االساسية extension use caseالتوسعية

. تستخدم لتمثيل حدود النظام ومجاله وتحتوي في االعلى على اسم النظام

: Association تستخدم لربط الفاعلActor ام مع حالة االستخدام التي يتفاعل معها

تستخدم لتمثيل حالة االستخدام االساسية ومعنونة بفعل ، تكون داخل حدود النظام

. ممكن ان تتضمن حالة استخدام اخرى او تتوسع لحالة اخرى ذات سلوك اختياري

قد يكون شخص او نظام اخر ومعنون بالدور الذي يؤديه في النظام، actorتستخدم لتمثيل الفاعل

يعبر super class associationممكن ان يرتبط بفعلة اخرين من خالل عالقة االرتباط

عنها بسهم يقع خارج حدود النظام

تستخدم لتمثيل حالة استخدام خاصة من االساسية العامة ويعبر عنها generalizationعالقة التعميم

baseباتجاه حالة االستخدام االساسية specialized use case بسهم من حالة االستخدام خاصةusecase.

Page 32: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 32

The Use Case Diagramحالة استخدام لمحكمة الصحة العقلية

UCD notations

إدارة التسجيل

نموذج استخدام الحالة

FASTنظام قاعدة بيانات

التشخيص للمريض

التوجيه

عامل االستقبال الطبيب

Page 33: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 33

The Useوصف سيناريو حالة استخدام لمحكمة الصحة العقلية

Case Description UC

إدارة التسجيل: اسم حالة االستخدام

الهدف: الغرض من استخدام الحالة هو متابعة عامل االستقبال ليقوم بتسجيل العميل الذي سوف يستفيد من

.في النظام المعلوماتي FASTبرنامج المستخدم الرئيسيmain actors

عاملة االستقبال

المستخدم الثانوي actors-sub FASTالعامل االجتماعي في

او الشروط السابقة نقطة البدايةpre conditions يقوم المستخدم الرئيسي بالدخول إلى نظام سطح المكتب، يدخل المعلومات، يطبع المعلومات ويرسلها

فاكسيًا إلى اآلخرين

او الشروط الالحقة نقطة النهايةpost condition FASTالعامل االجتماعي يتسلم الفاكس ويتخذ القرار بشأن القبول في برنامج

تبادل المعلومات او الوصف او التدفق االساسيscenario flow يقوم عامل االستقبال بإدخال االسم األول، االسم األخير، العنوان، رقم الهاتف، المنطقة السكانية،

تقارير المواد المخدرة، االختبار، وتاريخ التوقيف

النتائج التي يمكن قياسها Results يتم إنشاء سجل للمريض الجديد، ويتم إشعار الطبيب باإلجراء المتخذ

Page 34: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 34

Actors The Use Case Diagramامثلة على انواع الفعلة والفئات الموظفين والتعميمات لخصائصها

Page 35: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 35

Use Caseقالب حالة االستخدام او وصف حالة االستخدام Description

use case Name : اسم حالة االستخدام Actor : الفاعل Pre-conditions : الشروط السابقة

Post-conditions : الشروط الالحقة للحركة Purpose : المبررات -الهدف من حالة االستخدام

Description: التدفقات الطبيعية الصحيحة–وصف السيناريو

1.

2.

3. .............. Alternative courses: أي عند عدم تحقق الظروف الطبيعية “ وصف التدفقات البديلة

للحدث

Errors: رسائل االخطاء وكيفية معالجتها

Page 36: Eight part sameera um11 12-2012

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 4& 3بدل رقم النظام يختار الحساب الوحيد الموجود للزبون

(6) requested amount is bigger than balance, system display message الكمية المطلوبة منالرصيد يرسل النظام رسالة خطأ العادة ادخال الكمية مرة اخرى الكاش اكبر من

Errors:االخطاء

Issue Cash?

Page 37: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 37

للتحقق من Use Case Diagramمثال مخطط حالة االستخدام

الدخول للمستخدم

Page 38: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 38

(المثال السابق)للتحقق من الدخول للمستخدم مثال قالب مخطط النشاط

Page 39: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 39

Registration Sysنظام تسجيل -مخطط حالة االستخدام

Page 40: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 40

Use-case diagram for a university registration system مخطط حالة االستخدام لنظام التسجيل في جامعة

موظف التسجيل

أمين الصندوق

دفع الفاتورة الطالب

التأكد من انهاء

المتطلبات السابقة تسجيل محاضرات خاصة

تسجيل محاضرات

الطالب

المحاضر

Page 41: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 41

The Use-Case Diagram for Appointment System مواعيد مراجعات العيادة

Page 42: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 42

Use case with Extends and Includes

Page 43: Eight part sameera um11 12-2012

Use Case Diagrams(cont.)

(TogetherSoft, Inc)

Page 44: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 44

Use case for camera sys مخطط حالة االستخدام لكاميرا

هذا المخطط

صحيح ألنه

يتعامل مع

حالة استخدام

عالية التجريد high-level use case,

"Take

picture". وهي التقاط

صورة

هذا المخطط

غير صحيح

ألنه يبين ان

المصور يفتح

غطاء

الكاميرا

المتحرك

ويضيء

فالش ثم

يغلق فتحة

العدسة دون

التقاط صورة

Page 45: Eight part sameera um11 12-2012

يجب عدم وضع حاالت »مخطط حالة استخدام خاطئ لنظام الصراف االلي

«تفصيلية وصغيرة

2012سميرة ابوغليون .أ 45

Page 46: Eight part sameera um11 12-2012

نظام مبيعات باستخدام التجارة االلكترونية

| Writing | Guidelines DiagramsIntroduction |

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

Page 47: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 47

UML Diagrams-static modeling

ومن يحدث ما وتمثل Static view للنظام الساكنة النظر وجهة تمثل1.

.بها يمر التي االساسية والحاالت للنظام الرئيسية والمكونات الحدث في يشارك

:مخططين خالل من تمثل2.

.1Class Diagram الفئات مخطط - Structural Diagrams

.2Object diagram الكائن مخطط Structural Diagrams

Page 48: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 48

- UML Diagrams -static modeling

.1CLASS Diagram Structural Diagrams

أصناف يمكن وضع األشياء ضمنClasses .

المهمة Class diagram األصنافتوضيح هذه Classes فيما بينها associations والعالقات

الفئات او الصفوف -رسم مخططات األصنافClasses ألي جانب أساسي للتصميم بالمنحى للكائنمنهج

لكل صنفClass :كما يتضح في المثال جانبا فئة التلفاز او صنفيه التلفازtelevision

class

اسمclass name

مميزاتattributes

عملياتoperationsتحدد سلوك الفئة

وأحيانًا نسميهاMethods

Page 49: Eight part sameera um11 12-2012

An example of Class

Account_Name - Customer_Name

- Balance

+addFunds( )

+withDraw( )

+transfer( )

Name اسم الفئة

Attributes خصائص الفئة

Operationsالعمليات على الفئة

Page 50: Eight part sameera um11 12-2012

An example of Class

مثال على فئات بدون روابط لنظام تعليمي

Page 51: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 51

UML Diagrams -static modeling

CLASS Diagram

Class StructureCONTENT (methods,

attributes ) Classes

Objects

containment

Inheritance Associations

الفئات -الصنفياتمخطط يستخدمCLASS Diagram مرحلة في

مرحلة التصميمو التحليل

Page 52: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 52

CLASS Diagramمخطط الفئة لنظام التدريب لدورات

رؤية ديناميكية

Page 53: Eight part sameera um11 12-2012
Page 54: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 54

elearning sysلنظام التعليم االلكترونيCLASS Diagramمخطط الفئة

رؤية ديناميكية

Page 55: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 55

CLASS Diagramمخطط الفئة نظام تعامالت االوراق المالية

رؤية ديناميكية

سندات وأوراق تجارية

خيارات االسهم سند بدين او صك تأمين، كفالة اسهم

يمتلك التاجر

ادوات

يعالج

Page 56: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 56

CLASS Diagramفي مخطط الفئة Associations العالقات بين الفئات

االعتمادية

التعميم

االرتباط او العالقة

التجميع نوع من انواع االرتباط او العالقة

Page 57: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 57

-Relationships العالقات

Dependency (االعتمادية )

Generalization (التعميم )

Association(االقتران)

Aggregation (التجميع )

Composition (التركيب)

Multiplicity (التعددية )

Interfaces (الواجهات)

Page 58: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 58

Association 1 (االقتران)

داللة معنوية بين كائنات فئتين او صفينتدل على ربط ذي ( الربط)عالقة االقتران

classes بخط مستقيم يربط بين الصفينوتمثل

Works for

Class

Association Association Name

Professor University

Employer Employee

Role Names اسم الدور

األستاذ يعمل في الجامعة ألن المثال التالي يوضح عالقة عمل تربط بين الجامعة واألستاذ

Page 59: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 59

Association 2 (االقتران)

يدير قسممدير ألن كل المدير والقسمتربط بين عالقة يدير يوضح المثال التالي

Manages of

Class

Association Association Name

Manager Department

managed manager

Role Names

Page 60: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 60

Factory

Product

creates

Association 3 (االقتران)

عالقة أبوة تربط بين األب واالبن

عالقة انتاج تربط بين المصنع والمنتج

Page 61: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 61

Link الرابطة

Link تربط كائنات: الرابطة Objects(حالة من الفئة )

Classesفئات مع بعضها وليس

Page 62: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 62

Aggregation 1 (التجميع )

وهي Association حالة خاصة من االقترانهى Aggregation عالقة التجميع •

أجزائه تجمع وClass صف أي بين (Whole-Part) الجزءوالكل عالقة تربط بين

Sub class

الذي ناحية الصف الفئةيتجه فارغ بمعينالصفين ينتهي يربط بين بخط مستقيمتمثل •

super -Classيمثل الكل

من الممكن أن الجزءأن بمعنى، الكل بحياةغير مرتبطة الجزءحياة في عالقة التجميع

حالة عدم وجود الكليوجد في

Page 63: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 63

Aggregation 1 (التجميع )

السيارةأجزاء من العجلة والمحركتوضح أن التالية Aggregationعالقة التجميع

بوجود السيارةغير مرتبط وجود العجلة والمحركمن الواضح أن

Whole Car Wheel Part

Motor Part

Page 64: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 64

بوجود الحاسبغير مرتبط أجزاء الحاسبوجود -أجزاءه و الحاسببين Aggregationعالقة

Aggregation 2 ( التجميع)

Page 65: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 65

Composition 1 (التركيب )

عدم وجود في حالة الجزء ال يمكن أن يوجدبمعنى أن بحياة الكل مرتبطة حياة الجزء •

. الكل

ولكن من الممكن واحد فقط classفئة -جزء واحد من صفيكون classفئة -الصف •

كل لعدة صفوفأن يكون

وتمثل بخط مستقيم يربط بين الفئات ينتهي بمعين مظلل يتجه ناحية الفئة التي تمثل الكل

رابطة ملكيةذو Aggregationالتجميع هو حالة خاصة من Compositionالتركيب •

Ownership مع ترابط زمني بين الصفين او الفئتين

Page 66: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 66

Whole

Student Schedule

Composition

Part

Composition 1 (التركيب )

تلقائيا يحذف للطالب (جزء )فإن الجدول الدراسي ( كل)الطالب حذف من الواضح أنه اذا تم

وجد الطالب ولن يوجد جدول دراسي اال اذا

الجدول الدراسي جزء من الطالبالتالية توضح أن Compositionعالقة التركيب

Page 67: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 67

Composition 2 ( التركيب)

على معامالتبيانات العميل والالتالية توضح أن Compositionعالقة التركيب

الحساب في البنك جزء من( سحب/ ايداع)الحساب

Whole Bank Account

Transactions Part

CustomerInfo

Part

بيانات العميل والمعامالتفسيحذف معه الحساب من البنكمن الواضح أنه اذا تم حذف

ولن تظهر بيانات العميل والمعامالت إال اذا وجد الحساب

Page 68: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 68

Composition 3 (التركيب ) Slider, header, panel توضح أنالتالية Compositionعالقة التركيب

من النافذةأجزاء

إال اذا لن تظهر( شريط التمرير والعنوان وجسم النافذة)مكونات النافذة من الواضح أن

وإذا تم حذف النافذة فسيحذف معها المكونات وجدت النافذة

Page 69: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 69

.فئة أخرىيؤثر في Class فئة سلوكاو فئتين توضح أن عالقة بين صفين االعتمادية هي •

يربط بين الصفين ينتهي بسهم يتجه ناحية الصف المستقل بخط متقطعتمثل •

independent class

Dependency 1 (االعتمادية )

System

Form

Dependency

Relationship The independent class

The dependent class

تحتاج Class (System)الفئة -الصفالموجودة في display(Form)الوظيفة

لكي تقوم بعرضه على نافذة الحاسب (Form)الصف لكيان من

display(Form f)

إذا وجدت Class ””(A B)الفئة B الصف يعتمد على Classالفئة Aالصف

.لكي تقوم بعملها Bمن الصف تحتاج لكيان Aالصففي (Method)وظيفة

Page 70: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 70

تحتاج عربة التسوق (Cart)الصف الموجودة في add(Product)الوظيفة

لكي تقوم بإضافته المنتجات (Product)لكيان من الصف

Cart

Product

Dependency

Relationship The independent class

The dependent class

add(Product p)

Dependency 2 (االعتمادية )

Page 71: Eight part sameera um11 12-2012

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 تشارك في هذه العالقةالتي يمكن أن عدد الكيانات

من صف آخر كيان واحدوالتي تناظر عدد الكيانات من صف

تحدد لكل طرف من أطراف العالقة

Page 72: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 72

وكل سيارة شركة واحدة قودي واحدكل مدير

مدير واحد قودهاسيارة شركة ُي

Multiplicity 2 (التعددية)

" أو أكثر من العاملين واحدكل مدير يدير "

“كل عامل ُيدار من قبل مدير واحد"و

0..4

0, 1

Page 73: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 73

Multiplicity 3 (التعددية)

House Chimney

المدخنة0, 1

1 has

Student Payment 0, 1

1 takes

Page 74: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 74

Multiplicity notation: توضيح لرموز التعددية في المثال

10وعلى االكثر 0تعني على االقل 10..0

2او 1تعني ممكن 2 ,1

أي رقم متعدد *

roles multiplicities

المساق الطالب

الكلية

المساقات

المطروحة

Page 75: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 75

Association Class االقترانصف

Page 76: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 76

Association Class (2) االقترانصف

Page 77: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 77

Generalization (التعميم )

يرث عالقة بين الصفوف حيثهيInherited صف( فئةClass – )صفا أخر Class أو ”Is-a-kind-of“ عالقة من النوعوتعتبر السلوك أو/و أكثر في الصفات

يرثتعرف هرمية من الصفوف بحيث Inherited الصف الفرعي (Subclass) من (Super-classes)الصفوف الفوقية واحد و أكثر من

وتمثل بخط مستقيم يربط بين الصفوف الفرعية ينتهي بمثلث فارغ يتجه ناحية الصف الذي يمثل

األب-Behaviorوسلوك Attributesصفاِت Inheritedيرث Subclass الصف الفرعي•

method ( األب)الصف الفوقي وعالقاتSuper-class.

:يمكن أن تخصص Subclassالصف الفرعي •

.Specializedيضيف صفات وسلوك وعالقات جديدة خاصة •

-Super( األب)الفوقي صف يعرف العمليات لل) االب( عمليات)يعيد تعريف سلوك •class من جديد بطرق اخرى)

.أعلى مستوى من الهرميةتظهر في المشتركةالصفات والعمليات والعالقات •

base class or root .التي ال يوجد له اباء فهو االصل او الجذر classالصف او الفئة •

ال يوجد لها فئات فرعية او ابناء فهي اخر جزء من الشجرة التي classالصف او الفئة

ورقة class leafوتسمى

Page 78: Eight part sameera um11 12-2012

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. وراثة

مفردة

Page 79: Eight part sameera um11 12-2012

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

Page 80: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 80

Class diagram الفئات -مخطط الصفوف

األساسية ألي منهج للتصميم من الجوانب الفئات - Class Diagramرسم مخطط الصفوف –

كائني التوجه

object المفتاح لعملية التصميم بالمنحى للكائن هو Class Diagram الفئات -مخطط الصفوف -

oriented design

التحليل والتصميم والتطوير في مراحل الفئات -مخطط الصفوفيتم استخدام –

العامة التي يمكن للمستفيد أن خريطة للمفاهيملرسم الفئات -مخططات الصفوفتستعمل صيغ –

(. Conceptual Modelالنموذج المفاهيمي تسمى )يستوعبها

المشتركة في النظام كما يبين العالقات بين هذه الفئات-الصفوف يوضح Class Diagramال –

الصفوف

use case diagramومخطط حالة االستخدام Class diagramالفئات مخطط الصفوف -

لتحليل المتطلباتأداة قوية Conceptual Modelالنموذج المفاهيمي يجعالن من

Requirements analysis

Page 81: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 81

بالكامل مخطط الصفوفبناء كيفية

. تحديد الروابط بين المفاهيمخالل من مخطط الصفوفيتم بناء •

-وهي مثال الصفوف نظام إدارة العاملينتخص Classes صفوف عدة انه تم االتفاق على فرضفمثال ب •

التاليفي الشكل التي Classesالفئات

Class diagram الصفوف مخطط

المدير الموظفون سيارات الشركة

اذونات مغادرة العطل التقاعد -كورسات التدريب اجازات مرضية

Page 82: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 82

تابع بالكامل مخطط الصفوفبناء كيفية كل ته مع ، ومراجعClassesالصفوف أحد تثبيتيتم Classesالصفوف لتحديد الروابط بين •

. ىخراالالصفوف

تسمية الرابطة يتم إذا كان كذلك، " ؟Classesالفئتين -الصفينهل توجد عالقة بين ”ونختبر •

:فمثال نسأل Multiplicityتعددية ونوع ال، Associations بينهما .أو أكثر من العمال 1كل مدير يديربالفرد العامل ؟ نعم، للمدير عالقة هل•

.كل مدير يقود سيارة واحدة، سيارة الشركة؟ نعم المدير و •

كل مدير يتشارك في حساب تقاعد واحد؟ نعم، حساب تأمين تقاعدي المدير و •

.كتمل النموذجيوهكذا حتى •

الفئتين -الصفينتحديد هو أن يتم الخطأ الشائع في هذه المرحلةClasses ثم رسم خط ، بينهما عالقة

. تسمية الرابط لوقت الحق ثم تتركبينهما رابط

.عبء العمل لديناهذا يزيد من •

وسنضطر ،؛ لن يكون لدينا أية فكرة عما كنا نقصده بها ننتهي من رسم الخطوطسنكتشف أنه حالما •

.لبدء العمل من جديد

Class diagram الصفوف مخطط

Page 83: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 83

Class Diagram 1: إدارة العامليننظام

Page 84: Eight part sameera um11 12-2012

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

Page 85: Eight part sameera um11 12-2012

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..*

Page 86: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 86

Class Diagram

UML classes are

analogous to E-R entities

Page 87: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 87

Class Diagram of e-shopping system مخطط الفئات لنظام

تسوق الكتروني

Page 88: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 88

ER Diagramو Class Diagramالعالقة بين

•ER فقط تصميم قواعد البياناتمخطط الكينونة والعالقة يستخدم في.

تستخدم لكل أنواع األنظمة بما فيها object orientedهي لغة نمذجة كائنية المنحى UMLبينما •

. نمذجة قواعد البيانات

تمتلك امكانات UMLولكن Class Diagramأكثر المخططات تشابها بينهما هو مخطط الصفوف •

اضافية لتمثيل سلوك الصف

ER Diagramومثيلتها في Class Diagramفي Associationهناك تماثل بين عالقة •

مما قد ER Diagramفي IS-Aتحويلها إلى عالقة يمكن (Generalization)عالقة التعميم •

. األصلي UML Modelيؤدي إلى فقد لمعلومات مهمة داخل

ولكن ال يمكن في هذه الحالة الحفاظ ”Contains“عالقة يمكن تحويلها إلى aggregationعالقة •

.aggregationعلى عالقة الترتيب التي تدعمها عالقة

ERيمكن معالجة مثل هذه المشكالت بإضافة تعليق الى نموذج •

Window

size

visibility

display()

hide()

Window

window-ID

size

visibility

Page 89: Eight part sameera um11 12-2012

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()

Page 90: Eight part sameera um11 12-2012

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

Page 91: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 91

Class and Object Diagrams 2

Page 92: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 92

Object Diagrams

Page 93: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 93

Interaction modeling-التفاعلية النمذجةDynamic view ،تمثل كيف و رؤية ديناميكية التي تمثل النظام من منظور ديناميكي

Interactionوتدفق التفاعالت Conditionsوتوضح الشروط تحدث االحداث

flow وتدفق االحداثEvent flow وتدفق المعلوماتinformation flow

التالية المخططات خالل من تتمثل:

Interaction modeling التفاعل مخططات- التفاعلية النمذجة1.

التتابع مخطط Sequence Diagram

التعاون مخطط Collaboration Diagram

Behavioral models السلوك مخططات2.

الحالة مخطط (state diagram )

النشاط مخطط (activity diagram)

Page 94: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 94

UML Diagrams

Interaction modeling-التفاعلية النمذجة

Interaction Diagramsيمكن كيف تبين وهي

.معين سلوك لتحقيق تتعاون ان ”objects “ للكائنات

التفاعل مخططات “Interaction Diagrams” وصف تعطي ان يمكنها ال

حاالت من للعديد معينة كائنات به تقوم ما ترى أن تريد كنت إذا .للسلوك عميق

.”state diagram“ الحالة مخطط باستخدام فعليك االستخدام

Sequence Diagram

بين االتصاالت توصيف إلى يهدف مخطط Objects يتم أي الزمن عبر

التفاعالت كل توضيح يتم وبالتالي المخطط إلى Time الزمن ُبعد إدخال

زمني تسلسل وفق Objects بين واالتصاالت

Page 95: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 95

UML Diagrams

Interaction modeling-التفاعلية النمذجة

التتابع مخطط Sequence Diagramمباشرة عالقة له حقيقته في

نفس بعرض يقوم وCollaboration Diagram التعاون بمخطط

للتفاعل الزمني بالتتابع يهتم فهو قليال يختلف بشكل لكن و ،المعلومات

دون Interaction contextالتفاعل بسياق يهتم التعاون ومخطط

يوضح Messages رسائل تبادل طريق عنTime بالزمن اهتمام

.التفاعل

تسلسلال او التتابع مخططات “sequence diagrams” التعاون مخططات و

“collaboration diagrams” بين التفاعل لوصف استخدامهما يمكن

use case“ استخدامهم حالة في ”objects“ الكائنات

Page 96: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 96

UML Diagrams

Interaction modeling-التفاعلية النمذجة

التسلسل او التتابع مخططات “ sequence diagrams” تسلسلال عام بشكل يظهرون

.تحدث التي لألحداث الزمني

التعاون مخططات “ collaboration diagrams” بشكل الكائنات ترابط كيفية تصف

.مماثلة عناصر على وتحتوي لالستخالص نسبيا بسيطة المخططات من كل .ثابت

التسلسل مخططات “Sequence diagrams” الكائنات سلوك تشرح “objects” في

.بينهم الُمرسلة والرسائل ”objects“ الكائنات وصف مع ”use case“ استخدامها حالة

.وتنازليا اليمين إلى اليسار من المخططات قراءة تتم

لذلك فما نشاهده هنا هو إلى الزمنالمنقطة إلى أسفل المخطط تشير المثال التالي الخطوط في ،

.وصف لكيفية تفاعل الكائنات في نظامنا عبر الزمن

Page 97: Eight part sameera um11 12-2012

Sequence Diagram(make a phone call)

Caller Phone Recipient

Picks up

Dial tone

Dial

Ring notification Ring

Picks up

Hello

Page 98: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 98

Sequence Diagram

لكيفية وصف هو هنا نشاهده فما لذلك ،الزمن إلى تشير المخطط أسفل إلى المنقطة الخطوط

.الزمن عبر نظامنا في الكائنات تفاعل

Page 99: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 99

Sequence

Diagram

Page 100: Eight part sameera um11 12-2012

Sequenceمخطط التتابع لعملية البحث في محرك بحث

Diagram

Page 101: Eight part sameera um11 12-2012

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

تصف الكائنات

والرسائل بين

الكائنات

Page 102: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 102

UML Diagrams

Interaction modeling-التفاعلية النمذجة

.2Collaboration Diagram

الكائنيالمنحى و نحن نقوم بتطوير برامج OO ؛ إذا احتاج برنامجنا ألن يقوم بأي

. Object collaborationتعاون الكائنات شيء فسيكون ذلك بواسطة

لوصف الكيفية مخططات التعاونيمكننا رسم( السياقContext ) تتعاون التي

.فيما بينها بالطريقة التي نريدها بها الكائنات

UML لتطوير البرمجيات عملية حقيقيةأكثر من كونها صيغةهي مجرد.

Page 103: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 103

The مخططات التعاون

Collaboration Diagrams

Page 104: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 104

The مخططات التعاون لعملية الطباعة على خادم الطباعة

Collaboration Diagrams

Page 105: Eight part sameera um11 12-2012

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

Page 106: Eight part sameera um11 12-2012

The Collaboration Diagrams مخططات التعاون

Page 107: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 107

UML Diagrams-

Dynamic view .3STATE Diagram

Triggers

في حالة ماأن تكون وقت محدديمكنها في أي الكائناتبعض.

مثال، يمكن لإلشارة الضوئية أن تكون في إحدى الحاالت

.خضراء، صفراء، حمراء، مطفأة:التالية

في - معّقد جدابين الحاالت تعاقب التحّوالتأحيانا، يكون

إلى حالة " خضراء"المثال أدناه، ال يمكننا أن ننتقل من حالة

!(.إال تسّببنا في حادثو " )حمراء"

Page 108: Eight part sameera um11 12-2012

State Diagrams (Traffic light example)نظام تنظيم حركة المرور

Yellow

Red

Green

Traffic Light

State

Transition

Event

Start

Page 109: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 109

.3STATE DiagramBehavioral Diagram

وقوع أعطال جدية و يمكن أن يؤّدي إلى الحاالتمع التهاون في التعامل

.في برامجنا محرجة

هذا - فاتورة غاز مرسلة إلى مستهلك توّفي منذ أربع سنوات - خذ مثال

يحدث في الواقع و سبب ذلك أن المبرمج في نقطة ما لم يأخذ في اعتباره

.تحّوالت الحالة

فإن معّقدةأن تكون لتحّوالت الحالةو كما يمكن ،UML تقّدم صيغة تسمح

.نمذجتهابتصويرها و لنا

UML Diagrams- Dynamic view

Page 110: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 110

STATE

Diagram

Page 111: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 111

STATE Diagram

Page 112: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 112

Microwave oven model

Page 113: Eight part sameera um11 12-2012

State Chart Diagram

Page 114: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 114

مخطط الحالة لنظام الهاتف

Page 115: Eight part sameera um11 12-2012

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

Page 116: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 116

UML Diagrams- Dynamic view

.4ACTIVITY DiagramBehavioral

Diagram

Page 117: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 117

ACTIVITY Diagram

Page 118: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 118

ACTIVITY Diagram

Page 119: Eight part sameera um11 12-2012

Activity Diagram

مخطط النشاط لمعالجة طلبية لشراء اصناف

Page 120: Eight part sameera um11 12-2012

Activity diagram for online shopping مخطط النشاط

لنظام التسوق االلكتروني

2012سميرة ابوغليون .أ 120

Page 121: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 121

-physical Diagrams-

.1COMPONENT Diagram

مخطط التحزيممع مخطط المكوناتيتشابه – package diagram

يعتمد كل قالب على نظامنا ،و كيف فصل أو تقسيميسمح لنا بترميز كيفية

. فيه آخر

مخطط التحزيمكما في المنطقي أو الفكريبالفصل ليسPackaging

Diagram .

الترويسات، الملفات) المكونات الفعلية للبرنامجعلى مخطط المكوناتيرّكز

headers ،الحزم ، الملفات التنفيذية، مكتبات الربطpackages )

Page 122: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 122

-physical Diagrams-

.1 COMPONENT DiagramStructural Diagrams

لمكوناتا بين االعتمادات نفسها،وتظهر للشفرة المستوى عالية الحزمية البنية يعرض

والمصدر الهدف وملفات) التنفيذية والمكونات الثنائية والشفرة المصدر شفرة تضمين ويتم

( (exe,obj,c,dll والمكتبات

التنفيذ وقت او الربط وقت او الترجمة وقت في المكونات بعض وتتواجد.

،بينها بصورة و االعتماديات فيما عارضا العناصر يعمل بنفس طريقة عمل مخطط التحزيم

المكونات البرمجية وليس الحزم المنطقية

Page 123: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 123

COMPONENT Diagram

.7

Page 124: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 124

COMPONENT Diagrampackaging Diagram

Page 125: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 125

COMPONENT DiagramStructural

.7

Page 126: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 126

Package Diagrams مخططات التحزيم

إلى أجزاء قّسيمتيحتاج ال يكون صغيرا نظام أي"chunks "و أصغر حجما

.أسهل للفهم

مخططات التحزيمتتيح لنا Package Diagrams فيUML هذه نمذجة

. األجزاء بطريقة بسيطة و فّعالة

مخططات التحزيمتتيح لنا Package Diagrams أي نوع من نمذجة

او مخطط التحزيم لحاالت االستخدام الموحدة او النظام مثل النمذجةفئات لغة

data ,classes مخطط التحزيم لكائنات البياناتاو مخطط التحزيم للفئات

.use cases , orentities

Page 127: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 127

Package Diagrams مخططات التحزيم

figure 1. Package diagram organizing the university class model. مثال مخطط تحزيم الفئات او الصفوف

لنظام تسجيل الكتروني

مالحظة اذا ازلنا الحزمة االولىseminar registration , والحزمة االخيرة ،Java Infrastructure packages يصبح مخطط

Data entities package diagram. التحزيم لكائنات البيانات

Contact point

Page 128: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 128

مخططات التحزيم لنموذج الفئات لحزمة واحدة وهي الجدول

class model -Package Diagrams figure 1. Package diagram organizing the university class model. مثال مخطط تحزيم المفصل لمحتويات

لنظام تسجيل الكتروني Scheduleحزمة الجدول

Page 129: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 129

مخططات التحزيم لنموذج حاالت االستخدام

use case model -Package Diagrams figure 1. Package diagram organizing the university class model. مثال مخطط تحزيم لحاالت االستخدام

لنظام تسجيل الكتروني

Page 130: Eight part sameera um11 12-2012

2010سميرة ابوغليون .أ 130

نظام التسجيل االلكتروني لجامعة -مخططات التحزيم لفئات

Package Diagrams

2012سميرة ابوغليون .أ 130

Page 131: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 131

Class diagram مخطط الفئات لنظام طلبيات for ordering system

Page 132: Eight part sameera um11 12-2012

2010سميرة ابوغليون .أ 132

Packageنظام طلبيات -مخططات التحزيم لفئات Diagrams

2012سميرة ابوغليون .أ 132

Page 133: Eight part sameera um11 12-2012

2010سميرة ابوغليون .أ 133

لنظام التسجيل االلكتروني لجامعة -التحزيم3مخططات الفئات للحزمة

Package class Diagrams

2012سميرة ابوغليون .أ 133

Page 134: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 134

physical Diagrams-

.2DEPLOYMENT Diagram- -

Structural Diagrams

تجهيز سيتم لكيف التخطيط :المخطط هذا من الهدف

.برنامجنا

التشغيل،ومكونات وقت معالجة عناصر يعرض

. والكائنات والعمليات البرمجيات،

،مبسطا توصيفا يعرض التالية الشريحة في المخطط مثال

.شخصي حاسوب لجهاز

Page 135: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 135

DEPLOYMENT Diagram

Page 136: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 136

DEPLOYMENT Diagram

Page 137: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 137

DEPLOYMENT

Diagram

Page 138: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 138

DEPLOYMENT Diagram for web network

Page 139: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 139

DEPLOYMENT Diagram

Page 140: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 140

لنظام الصراف االلي UMLمثال شامل لمخططات ال ATM Use case Diagram مخطط حالة االستخدام

Page 141: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 141

لنظام الصراف االلي UMLمثال شامل لمخططات ال ATM مخطط الحالةState chart-Diagram

Page 142: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 142

Package Diagram for Example ATM System مخطط التحزيم

ATM

Page 143: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 143

:Class Diagram for ATM Systemمخطط الفئات

Page 144: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 144

لنظام الصراف االلي UMLمثال شامل لمخططات ال ATM collaboration Diagram مخطط التعاون لعملية السحب من الصراف

Page 145: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 145

لنظام الصراف االلي UMLمثال شامل لمخططات ال ATM component Diagram مخطط المكونات لنظام الصراف االلي

Page 146: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 146

مخطط التوزيع او التجهيز لنظام الصراف االلي

.DEPLOYMENT Diagram for ATM

Page 147: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 147

Key pointsملخص

يوّفرUML عدة نماذج مختلفة لوصف النظام .

وقائع االستخدامUse Cases - " كيف سيتفاعل نظامنا مع العالم

"الخارجي؟

مخطط الصنفياتClass Diagram - " ما هي الكائنات التي

"نحتاجها؟ و ما عالقتها؟

مخطط التعاونCollaboration Diagram - " كيف تتعامل

"الكائنات مع بعض من خالل تتابع رقمي للرسائل؟

مخطط التتابعSequence Diagram - " كيف تتعامل الكائنات

"مع بعض بتسلسل زمني؟

Page 148: Eight part sameera um11 12-2012

2012سميرة ابوغليون .أ 148

Key pointsملخص

hung up

مخطط الحالةState Diagram - " ما الحاالت التي يجب أن ”تكون عليها الكائنات؟

مخطط التحزيمPackage Diagram- " كيف سنقوم بقولبة ”عملنا؟

مخطط المكوناتComponent Diagram - " كيف سترتبط ”مكونات برنامجنا؟

مخطط التجهيزDeployment Diagram - " كيف سيتم "تجهيز البرنامج؟