لغة النمذجة الموحدة UMLPowerPoint PPT Presentation

76
ة ع ب را ة ن س ة ع ب را ة ن س و ة ن ئ ا رب لكه ا ة س د ن ه ل ا ة ن ل ك- ة ن ئ وما ل ع م ل ا ة س د ن ه ل م ا س ق و ة ن ئ ا رب لكه ا ة س د ن ه ل ا ة ن ل ك- ة ن ئ وما ل ع م ل ا ة س د ن ه ل م ا س ق ب ل ح ة ع م ا ح- ة ن ئ رو كت ل2 الإ ب ل ح ة ع م ا ح- ة ن ئ رو كت ل2 الإ2008 2008 - - 2009 2009 ر ج لر ا ما ع دس ن ه م ل ور ا ت ك الد مC ظ ن ل م ا ي م ص ت ل و ن ل ح ت مC ظ ن ل م ا ي م ص ت ل و ن ل ح ت ا رة ض حا م ل ا ا رة ض حا م ل ا ة ن ئ اQ ن ل ة ن ئ اQ ن ل: : UML UML

description

 لغة النمذجة الموحدة UMLPowerPoint PPT Presentation - PowerPoint PPT Presentation

Transcript of  لغة النمذجة الموحدة UMLPowerPoint PPT Presentation

رابعة رابعة سنة سنة - الهندسة كلية المعلوماتية الهندسة - قسم الهندسة كلية المعلوماتية الهندسة قسم

- حلب جامعة اإللكترونية و - الكهربائية حلب جامعة اإللكترونية و الكهربائية20082008--20092009

عمار المهندس الدكتورالجر

النظم تصميم و النظم تحليل تصميم و تحليلا ا المحاضرة UMLUML::لثانيةلثانيةالمحاضرة

Object Management GroupObject Management Group عام تأسست ربحية غير عام منظمة تأسست ربحية غير 19891989منظمة

HP, IBM, Sun, Apple, American Airlines, Data HP, IBM, Sun, Apple, American Airlines, Data General)General)

فيها فيها يشارك من يشارك أكثر من حاليا أكثر العالم 850850حاليا تغطي عالمية العالم منظمة تغطي عالمية منظمة.. و االقتصادية و االجتماعية و الطبية المجاالت مختلف ..في و االقتصادية و االجتماعية و الطبية المجاالت مختلف منها منها في

) (ناسا) ناسا) عامة هدفها هدفها معايير عامة وضع معايير وضع ال ال لنموذج ..OBJECTOBJECTلنموذج

•) (الموزعة ) الموزعة )المحمولالمحمول•التشغيل • بيئات كل في التشغيل المستخدم بيئات كل في المستخدم

Object Management GroupObject Management Group: ل األساس ل :هي األساس هي

• UMLUML (Unified Modeling Language) (Unified Modeling Language)• MOFMOF ( Meta-Object Facility)= Meta Meta ( Meta-Object Facility)= Meta Meta• CORBACORBA (Common Object Request Broker (Common Object Request Broker

Architecture) Architecture) • IDEIDE (Interface Definition Language) (Interface Definition Language)• ……

CORBA CORBA قبل من معرفة قبل معيارية من معرفة تسمح OMGOMGمعيارية تسمح كي كي

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

على على تعتمد IDLIDLتعتمد بين و بينها معياري بين ربط و بينها معياري ,Ada, C, C++, Lisp, Ada, C, C++, Lispربط

Smaltalk, Java, COBOL, PL/I, PythonSmaltalk, Java, COBOL, PL/I, Python مع معياري غير مع ربط معياري غير ,Perl, VB, Ruby, Erlang, Perl, VB, Ruby, Erlangربط

TclTcl الوسيط الوسيط الكيان MiddlewareMiddlewareالكيان

أهمية أهمية ما ؟ ؟ UMLUMLما تسمح أشكال تسمح لغة أشكال .لغة القائمة النظم بتوصيف النظم .لمحللي القائمة النظم بتوصيف النظم لمحللي تسمح تسمح كما مخططات كما عن بالتعبير النظم مخططات لمصممي عن بالتعبير النظم لمصممي

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

و للمستخدم الزمنية و الهيكلية التصميمية و و التوصيفية للمستخدم الزمنية و الهيكلية التصميمية و التوصيفيةالمطورالمطور

على خاص بشكل على تحوي خاص بشكل عن Class DiagramClass Diagramتحوي يعبر عن الذي يعبر الذيOOPOOPال ال

UML2 in 2005UML2 in 2005. األشكال بعض لتغير االنتباه .يجب األشكال بعض لتغير االنتباه يجب

لمخططات رئيسية مجموعات ثالثة لمخططات هناك رئيسية مجموعات ثالثة ::UMLUMLهناكبالسلوك • بالسلوك المتعلقة :: Behavior diagramsBehavior diagramsالمتعلقة

activity, state machine, and use case diagrams as activity, state machine, and use case diagrams as well as the four interaction diagramswell as the four interaction diagrams . .

بالتعاون • بالتعاون المتعلقة :: Interaction diagramsInteraction diagramsالمتعلقةعلى تركز و السلوك مخططات من فرعية مجموعة على وهي تركز و السلوك مخططات من فرعية مجموعة وهي

وتتضمن : الكائنات بين وتتضمن :التفاعل الكائنات بين التفاعلcommunication, interaction overview, sequence, and communication, interaction overview, sequence, and

timing diagramstiming diagrams . .بالبنية • بالبنية المتعلقة :: Structure diagramsStructure diagramsالمتعلقة

composite structure, component, deployment, object, composite structure, component, deployment, object, and package diagramsand package diagrams   .   .

ModelModel

للـ األساسية للـ المكونات األساسية Class ClassالمكوناتDiagramDiagram

الصنفالصنف الصفاتالصفات العملياتالعمليات العالقاتالعالقات

• االرتباطاالرتباط• التعميمالتعميم• االعتماداالعتماد• التحقيقالتحقيق

والمالحظات والمالحظات القيود القيود

ClassClass AttributesAttributes OperationsOperations RelationshipsRelationships

• AssociationsAssociations• GeneralizationGeneralization• DependencyDependency• RealizationRealization

Constraint Rules Constraint Rules and Notesand Notes

(األصنافاألصناف (الصفوف ) ClassesClasses الصفوف )الصنفالصنف ClassClass و بمزايا تشترك األشياء من لمجموعة تجريد و هو بمزايا تشترك األشياء من لمجموعة تجريد هو

. مشتركة .مهام مشتركة مهام – – – : رجل امتحان دجاجة باب رجل : – – – مثال امتحان دجاجة باب مثال الكائن الكائنObjectObject لل تحقيق عن عبارة لل هو تحقيق عن عبارة أرض صنفصنفهو على أرض المجرد على المجرد

المجرد الواقعالواقع للصنف حقيقي مثال المجرد فهو للصنف حقيقي مثال التحقيق فهو هذا كان التحقيق سواء هذا كان سواء معنويا أو ماديا معنويا أو ماديا

- – : الفصل نهاية المقرر امتحان فيها نحن التي الغرفة باب الفصل : – - مثال نهاية المقرر امتحان فيها نحن التي الغرفة باب مثاللحام لحام دريد دريد

باب

جهة العرض الطولالتصنيع مادة الفتح

المقبض نوع

الباب فتحالباب إغالـق

الصف اسم

الصفات

العمليات

Class DiagramClass Diagram الصنف الصنف صفات للصنف AttributesAttributes صفات عامة صفات للصنف هي عامة صفات هي

التي للكائنات المشتركة المزايا تغطي بمجموعها التي وهي للكائنات المشتركة المزايا تغطي بمجموعها وهي . الصنف كائنات من كائن كل إن الصنف لهذا . تنتمي الصنف كائنات من كائن كل إن الصنف لهذا تنتميمن صفة كل أجل من معينة قيمة له يكون أن من يجب صفة كل أجل من معينة قيمة له يكون أن يجب

. له ينتمي الذي الصنف .صفات له ينتمي الذي الصنف صفات أن الصنف هذا من كائن يستطيع ما فهي العمليات أن أما الصنف هذا من كائن يستطيع ما فهي العمليات أما

. به . يقوم به يقوم

Class DiagramClass Diagram الصف و الصف الكائن و الكائن ) توليد ) – – إنشاء خلق فيمكننا برنامجا لدينا يكون ( عندما توليد ) – – إنشاء خلق فيمكننا برنامجا لدينا يكون عندما

. الصف من .الكائن الصف من الكائن: ب الصف :يرتبط ب الصف يرتبط

اسماسم•صفات صفات ••) ( ) عليه ) تنفذ أو الكائن ينفذها به متعلقة عمليات (فعاليات ( ) عليه ) تنفذ أو الكائن ينفذها به متعلقة عمليات فعاليات

صف هي مثال صف السيارة هي مثال السيارةسيارة • سيارة اسمها اسمهاأبوابها • عدد استطاعتها القصوى سرعتها صفاتها أبوابها من عدد استطاعتها القصوى سرعتها صفاتها منالمكابح • أو الوقود دواسة على الضغط يمكن أنه فعاليتها المكابح من أو الوقود دواسة على الضغط يمكن أنه فعاليتها من

. األضواء تشغيل .أو األضواء تشغيل أو

Class DiagramClass Diagram صف هو مثال صف السائق هو مثال السائق

سائق • سائق اسمه اسمهيحملها • التي السوق وشهادة اسمه صفاته يحملها من التي السوق وشهادة اسمه صفاته من• ) أو ) أوينقصها السرعة يزيد أنه أعماله فعالياته ( من أو ) أوينقصها السرعة يزيد أنه أعماله فعالياته من

.. الخ .. السيارة ..يوقف الخ .. السيارة يوقف مهامها تنجز أن يمكن الصفوف أن مهامها الحظ تنجز أن يمكن الصفوف أن الحظ

أخرى صفوف مهام أخرى باستدعاء صفوف مهام باستدعاءالسائق • صف عند السرعة زيادة عملية السائق فمثال صف عند السرعة زيادة عملية فمثال

. السيارة صف عند الدواسة ضغط عملية .تستدعي السيارة صف عند الدواسة ضغط عملية تستدعي

Class DiagramClass Diagram للنظام إن إن المشكلة الكائنات للنظام تحديد المشكلة الكائنات يتعلق تحديد فن هي يتعلق ودورها فن هي ودورها

. الدرسية القاعة دراسة عند فمثال المدروس . بالنظام الدرسية القاعة دراسة عند فمثال المدروس بالنظاممن : ربما تتكون أنها سنجد التعليمي للنظام من :بالنسبة ربما تتكون أنها سنجد التعليمي للنظام بالنسبة

•. ولوح اسقاط وجهاز وقاعة وطالب .مدرس ولوح اسقاط وجهاز وقاعة وطالب مدرس: من تتكون فالقاعة الكهربائية الصيانة لنظام بالنسبة من :بينما تتكون فالقاعة الكهربائية الصيانة لنظام بالنسبة بينما

و • اإلسقاط وجهاز الكهربائية المفاتيح و المآخذ و و المصابيح اإلسقاط وجهاز الكهربائية المفاتيح و المآخذ و المصابيحالمستخدمون.المستخدمون.

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

وجهاز مآخذ و مصابيح أنه على الثانية الحالة في أو وجهاز كهربائي مآخذ و مصابيح أنه على الثانية الحالة في أو كهربائي. ومدرس وطالب .إسقاط ومدرس وطالب إسقاط

تتعلق قضية هي النظام مفردات توزيع فإن األحوال تتعلق بجميع قضية هي النظام مفردات توزيع فإن األحوال بجميعsubjectivesubjectiveبالمبرمج بالمبرمج

Class DiagramClass Diagramصنف من المشتق صنف الكائن من المشتق الكائن

اسم يليه الصنف اسم خالل من عادة اسم يرمز يليه الصنف اسم خالل من عادة يرمزالكائن.الكائن.

. خط . تحته خط تحته الصنف صفات من صفة كل قيمة تحديد الصنف يتم صفات من صفة كل قيمة تحديد يتم

فيه.فيه.. الكائن اسم نحدد ال .قد الكائن اسم نحدد ال :قد باب جامعتنا باب

مترين = الطول

باب :

مترين = الطول

المخططات أو الكبيرة المخططات رسم المخططات أثناء أو الكبيرة المخططات رسم أثناءصفات تفاصيل يهمنا ال قد للتحليل صفات البدائية تفاصيل يهمنا ال قد للتحليل البدائية

) نكتفي) أن يمكن لذا الكائن أو الصنف ( وعمليات نكتفي) أن يمكن لذا الكائن أو الصنف وعملياتفقط اسمه يضم بمستطيل فقط لتمثيله اسمه يضم بمستطيل لتمثيله

: جامعتنا بابباب

Class DiagramClass Diagram تعليقات تعليقات إضافة إضافة

للشرح تعليقات إضافة للشرح يمكن تعليقات إضافة يمكنالمالحظات صناديق المالحظات باستخدام صناديق باستخدام

notenote.. بزاويتها تتميز المالحظات بزاويتها صناديق تتميز المالحظات صناديق

. اليمنى .العليا اليمنى العليا عليه التعليق نود ما مع ربطها عليه يتم التعليق نود ما مع ربطها يتم

. مقطع خط خالل .من مقطع خط خالل من كافة في استخدامها كافة يمكن في استخدامها يمكن

UMLUMLمخططات مخططات

الوصف هذابابواب يتعلق

المساكن

باب

جهة العرض الطولالتصنيع مادة الفتح

المقبض نوع

الباب فتحالباب إغالـق

Class DiagramClass Diagram AssociationAssociationالرابطة الرابطة

المولد الكائن أن على يدل صنفين بين اتصال المولد هي الكائن أن على يدل صنفين بين اتصال هيالصنف من مولد بكائن مهمته تتصل أحدهما الصنف من من مولد بكائن مهمته تتصل أحدهما من

األخراألخر : يكون أن يمكن جامعي نظام تمثيل لدى يكون : مثال أن يمكن جامعي نظام تمثيل لدى مثال

مترابطين األستاذ و الطالب مترابطين صنف األستاذ و الطالب صنف

مالي طالبمدرسمسؤول

Class DiagramClass Diagram AssociationAssociationالرابطة الرابطة

. أكثر أو صنفين بين تربط ما عالقة عن .يعبر أكثر أو صنفين بين تربط ما عالقة عن يعبر. متصل بخط الصنفين وصل خالل من عنها .يعبر متصل بخط الصنفين وصل خالل من عنها يعبر الخط منتصف في عادة يوضع اسم للرابطة يكون أن الخط يمكن منتصف في عادة يوضع اسم للرابطة يكون أن يمكن – : ( في ( يدرس يدفع مثال فعل يكون الرابطة هذه اسم ) : – عادة في ( يدرس يدفع مثال فعل يكون الرابطة هذه اسم عادة

- .. - .. الدور الدورRoleRole أن يمكن و بالصنف الرابطة التقاء نقطة أن يمثل يمكن و بالصنف الرابطة التقاء نقطة يمثل

اسم له اسم يكون له يكون ال ال اسم عنه دوردوراسم عنه يعبر (باسمباسمباسم )باسم )يعبر عادة (فاعل عادة قابض ( فاعل قابض ( مثال مثال

( - الخ– )مدرس - الخ– مدرس

الكليةعميدمدير يدير

Class Diagram Class Diagram AssociationAssociation الرابطةالرابطة

. ولذا معاكس بشكل أخرى عالقة تعريف . يمكن ولذا معاكس بشكل أخرى عالقة تعريف يمكن. السهم بجهة مرتبطة العالقة .فإن السهم بجهة مرتبطة العالقة فإن

الكليةعميد

يدير

يديرها

العالقة العالقة تعددية تعدديةAssociation MultiplicityAssociation Multiplicity

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

. ودنيا عليا قيمتين على وتحوي الصنف من بالقرب .توضع ودنيا عليا قيمتين على وتحوي الصنف من بالقرب توضع

نافذةغرفة تضم

0:10:*

ال النافذةبغرفة ترتبط

ترتبط أوواحدة بغرفة

األكثر على

أن يمكن الغرفةبنافذة ترتبط ال

ترتبط أن ويمكنأكثر أو بنافذة

العالقة العالقة تعددية تعدديةAssociation MultiplicityAssociation Multiplicity

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

الكليةعميدمدير يدير

الكلية يديرعميد

لؤي. د

أمين. د

. كهربائية هـ كلية

الطب كلية

1:11:1

العالقة تعددية العالقة حساب تعددية حسابAssociation MultiplicityAssociation Multiplicity

بابقاعة تحوي

باب تحويقاعة

25ك

23ك

يس-25ب أ

23ب

0:1

1:*المكتب باب

يس-25ب خيم-25ب خ

يم-25ب أ

AssociationAssociation

عددي • مجال أو بعدد ترتبط أن عددي يمكن مجال أو بعدد ترتبط أن يمكن

بالضبط بالضبط واحد واحد 11

أكثر أو أكثر صفر أو صفر * (0..*)* (0..*)اكثر أو اكثر واحد أو واحد 1..*1..*واحد أو واحد صفر أو صفر 0..10..1

4..42..2 44و و 22بين بين مجال أو قيم من مجال خيار أو قيم من خيار 2, 4..6, 82, 4..6, 8

التعليبالتعليبpackagepackage

معا والمخططات األصناف من عددا نجمع أن يمكن معا والمخططات األصناف من عددا نجمع أن يمكنتدعى واحدة كتلة تدعى ضمن واحدة كتلة ..packagepackageضمن

وتسهيل العمل تقسيم تسهيل في يفيد التجميع هذا وتسهيل إن العمل تقسيم تسهيل في يفيد التجميع هذا إن. للتفاصيل الرجوع وتسهيل .الفهم للتفاصيل الرجوع وتسهيل الفهم

ال إلى إرجاعه يمكننا ما صنف ذكر ال عند إلى إرجاعه يمكننا ما صنف ذكر packagepackageعند. له ينتمي .الذي له ينتمي الذي

جامعة قاعة:: جامعة

االنعكاسية االنعكاسية العالقات العالقات

سيارة شاغل

يقود

0..4

1

سائقراكب

AssociationsAssociationsالرابطةالرابطة

الكلية جامعي 2..1طالب 100..10000

جامعي مقرر

على تعتمد

0..3

*

على • أوكليتين بكلية يرتبط الجامعي الطالباألكثر

AssociationAssociationالرابطةالرابطة و الطالب بين العالقة كانت السابق الشكل و في الطالب بين العالقة كانت السابق الشكل في

ال أن يعني هذا و موجهة الجامعي ال المقرر أن يعني هذا و موجهة الجامعي ( ( صنفصنفالمقررفقط) الطالب إنما و بالطالب هو يتصل لن فقط) مقرر الطالب إنما و بالطالب هو يتصل لن مقرر

الموضحة الصلة عبر بالمقرر سيتصل من الموضحة هو الصلة عبر بالمقرر سيتصل من هو

AggregationAggregationاالحتواءاالحتواء الكل ضمن جزء احتواـء الكل عالقة ضمن جزء احتواـء عالقة الكل جهة من المعين الكل يكون جهة من المعين يكون

كل جزء

تعليمية دورة طالب

CompositionCompositionالتكوينالتكوين من خاص من نوع خاص قوية aggregationaggregationنوع فيه الرابطة قوية تكون فيه الرابطة تكون

للجزء • الوحيد المالك هو للجزء الكل الوحيد المالك هو الكل• واحدا أو صفرا ستكون المالك جهة من التعددية واحدا أو صفرا ستكون المالك جهة من التعددية•. الكل حياة على تعتمد الجزء .حياة الكل حياة على تعتمد الجزء حياةالجزء • ينشئ الذي هو الكل فإن التصميم الجزء عند ينشئ الذي هو الكل فإن التصميم عنددماغه : • و الحي الكائن بين أو الغرفة و البيت بين العالقة دماغه : مثال و الحي الكائن بين أو الغرفة و البيت بين العالقة مثال

: الباب عالقة تكون أن المصمم يقترح قد الباب : مالحظة عالقة تكون أن المصمم يقترح قد مالحظةتكوين عالقة السابقة تكوين بالسيارة عالقة السابقة بالسيارة

الدائرة النقطة3..*

1

المضلع

CompositionCompositionالتكوينالتكويناالحتواء االحتواء AggregationAggregationأم أم

. االحتواء من خـاصة حالة هو التكوين إن الحقيقة . في االحتواء من خـاصة حالة هو التكوين إن الحقيقة فييعطي تكوين أنها على االرتباطات إحدى ذكر يعطي إن تكوين أنها على االرتباطات إحدى ذكر إن

الجزء كان فإذا االحتواء عن خصوصية أكثر الجزء مفهوما كان فإذا االحتواء عن خصوصية أكثر مفهوماإلى إال معينة زمنية فترة في ينتمي أن يمكن إلى ال إال معينة زمنية فترة في ينتمي أن يمكن ال

العالقة اعتبار يمكن فعندهـا الكل يمثل الذي العالقة الصنف اعتبار يمكن فعندهـا الكل يمثل الذي الصنف. تكوين .عالقة تكوين عالقة

والهاتف الهاتف سماعة بين العالقة على ينطبق والهاتف هذا الهاتف سماعة بين العالقة على ينطبق هذا والعائلة الولد والعائلة وبين الولد وبين. والسيارة اـلسيارة باب .وبين والسيارة اـلسيارة باب وبين

inheritanceinheritance الوراثةالوراثة

وسيلة مواصالت

دراجةسيارةباص

سيارة إسعاف

شاحنة

inheritanceinheritanceالوراثةالوراثة صنفين صنفين بين بين مع وطرقه األول مواصفات كامل الثاني مع يرث وطرقه األول مواصفات كامل الثاني يرث

اإلضافات اإلضافات بعض بعض

الموظف

المحاسب

Super Class

Sub Class

عالقة الوراثة

المتعددة المتعددة الوراثة الوراثة

العمليات تغيير أو العمليات تنعيم تغيير أو تنعيم

GeneralizationGeneralizationالتعميم التعميم طرق أو مواصفات لوجود كائن يولد ال المجرد طرق الصنف أو مواصفات لوجود كائن يولد ال المجرد الصنف

فيه مكتملة فيه غير مكتملة غير األدنى األصناف تعميم عن ينتج الحقيقة األدنى في األصناف تعميم عن ينتج الحقيقة في بالكلمة و مائل اسمه بأن بالكلمة يتميز و مائل اسمه بأن جانبه abstractabstractيتميز جانبه إلى إلى

شكل{abstract}

دائرة

الصنف األعلى

الصنف األدنى

المجرد الصنف

التعميم عالقة

GeneralizationGeneralizationالتعميم التعميم A sub-class inherits from its super-classA sub-class inherits from its super-class

• AttributesAttributes• OperationsOperations• RelationshipsRelationships

A sub-class mayA sub-class may• Add attributes and operationsAdd attributes and operations• Add relationshipsAdd relationships• Refine (override) inherited operationsRefine (override) inherited operations

DependencyDependencyاالعتمادية االعتمادية لتغيير يؤدي قد أحدها في والتغيير صنفين بين لتغيير عالقة يؤدي قد أحدها في والتغيير صنفين بين عالقة

. االخر .في االخر في االرتباط نوع لبيان عبارة اضافة االرتباط يمكن نوع لبيان عبارة اضافة يمكن العمليات باستدعاءات تتعلق ما العمليات عادة باستدعاءات تتعلق ما عادة

زبون <<شراء>>دكان

RealizationRealization الـمالءمة الـمالءمةinterfaceinterface . ال حيث خاص نوع من صنف ال . هي حيث خاص نوع من صنف هي

. تواقيعها فقط إنما و العمليات تحقيق كيفية فيه .يذكر تواقيعها فقط إنما و العمليات تحقيق كيفية فيه يذكر العالقة عن يعبر و النوع هذا لتضمين آخر صنف العالقة يستخدم عن يعبر و النوع هذا لتضمين آخر صنف يستخدم

المبين المبين بالشكل بالشكل البروتوكوالت لتضمين العالقة نفس استخدام البروتوكوالت يمكن لتضمين العالقة نفس استخدام يمكن

((protocolprotocol.).) الـمالءمة الـمالءمةinterfaceinterface متعددة بأصناف تنفذ متعددة قد بأصناف تنفذ قد مالءمات عدة تحقيق يمكنه الواحد مالءمات الصنف عدة تحقيق يمكنه الواحد الصنف

LinkedList<<interface>>

List LinkedList List

Constraint Rules and NotesConstraint Rules and Notes ConstraintsConstraints and and notesnotes annotate annotate

among other things associations, among other things associations, attributes, operations and classes.attributes, operations and classes.

Constraints are semantic restrictions Constraints are semantic restrictions noted as Boolean expressions.noted as Boolean expressions.• UML offers many pre-defined constraints.UML offers many pre-defined constraints.

id: long { value > 0 }

CustomerOrder*1

{ total < $50 }may be canceled

Constraint Note

TVRS ExampleTVRS Example

id : longname : Stringrank : int

Policeman

<<abstract>>

TrafficPoliceman id : longdescription : String

TrafficReport

id : longdescription : String

Violation

name : Stringid : long

Offender1..* 1

reports of

1..*

issues1 *

occuredAt : Date

UML PackagesUML Packages A package is a general purpose grouping A package is a general purpose grouping

mechanism.mechanism.• Can be used to group any UML element (e.g. Can be used to group any UML element (e.g.

use case, actors, classes, components and use case, actors, classes, components and other packages.other packages.

Commonly used for specifying the logical Commonly used for specifying the logical distribution of classes.distribution of classes.

A package does not necessarily translate A package does not necessarily translate into a physical sub-system.into a physical sub-system. Name

Logical Distribution of ClassesLogical Distribution of Classes Emphasize the logical structure of the Emphasize the logical structure of the

system (High level view)system (High level view)• Higher level of abstraction over classes.Higher level of abstraction over classes.• Aids in administration and coordination of Aids in administration and coordination of

the development process.the development process.• Contributes to the scalability of the system.Contributes to the scalability of the system.

Logical distribution of classes is inferred Logical distribution of classes is inferred from the logical architecture of the from the logical architecture of the system.system.

Packages and Class Diagrams Packages and Class Diagrams )cont.()cont.(

Add package information to class Add package information to class diagramsdiagrams

A

DE

F

G

C

B

Packages and Class Diagrams Packages and Class Diagrams )cont.()cont.(

Add package information to class Add package information to class diagramsdiagrams

a.A

b.b.Db.b.E

b.a.F

b.a.G

a.C

a.B

b.a

b.b

ab

Analysis ClassesAnalysis Classes A technique for finding analysis A technique for finding analysis

classes which uses three different classes which uses three different perspectives of the system:perspectives of the system:

The boundary between the system and its The boundary between the system and its actorsactors

The information the system usesThe information the system uses The control logic of the systemThe control logic of the system

Boundary ClassesBoundary Classes Models the interaction between the system’s Models the interaction between the system’s

surroundings and its inner workingssurroundings and its inner workings• User interface classesUser interface classes

Concentrate on what information is presented to the userConcentrate on what information is presented to the user Don’t concentrate on user interface detailsDon’t concentrate on user interface details Example: Example:

• ReportDetailsFormReportDetailsForm• ConfirmationDialogConfirmationDialog

• System / Device interface classesSystem / Device interface classes Concentrate on what protocols must be defined. Don’t Concentrate on what protocols must be defined. Don’t

concentrate on how the protocols are implementedconcentrate on how the protocols are implemented

Entity ClassesEntity Classes Models the key concepts of the Models the key concepts of the

systemsystem Usually models information that is Usually models information that is

persistentpersistent Contains the logic that solves the Contains the logic that solves the

system problemsystem problem Can be used in multiple behaviorsCan be used in multiple behaviors Example: Violation, Report, Offender.Example: Violation, Report, Offender.

Control ClassesControl Classes Controls and coordinates the Controls and coordinates the

behavior of the systembehavior of the system Delegates the work to other classesDelegates the work to other classes

• A control class should tell other A control class should tell other classes to do something and should classes to do something and should never do anything except for directingnever do anything except for directing

Control classes decouple boundary Control classes decouple boundary and entity classesand entity classes

Example:Example:• EditReportControllerEditReportController• AddViolationControllerAddViolationController

TVRS ExampleTVRS Example

Violation

EditReportController<<control>>

Traf f icReport

Of f ender Traf f icPoliceman

Clerk

ReportDetailsForm<<boundary >>

Conf irmationDialog<<boundary >>

PolicemanDBProxy<<boundary >>

Of f endersDBProxy<<boundary >>

Of f endersDB

PolicemenDB

1

1 1

1

1

TipsTips Don’t try to use all the various Don’t try to use all the various

notations.notations. Don’t draw models for everything, Don’t draw models for everything,

concentrate on the key areas.concentrate on the key areas. Draw implementation models only Draw implementation models only

when illustrating a particular when illustrating a particular implementation technique.implementation technique.

Object Oriented Object Oriented ProgrammingProgramming

Problem DescriptionProblem Description “ …“ …customerscustomers are allowed to have are allowed to have

different types of different types of bank accountsbank accounts, , depositdeposit moneymoney, , withdrawwithdraw moneymoney and and transfertransfer moneymoney between between accountsaccounts””

Procedural ApproachProcedural Approach

bool MakeDeposit(int accountNum,float amount);bool MakeDeposit(int accountNum,float amount);float Withdraw(int accountNum,float amount);float Withdraw(int accountNum,float amount);

struct Account {struct Account {char *name;char *name;int accountNum;int accountNum;float balance;float balance;char accountType;char accountType;

};};

Procedural Approach cont’dProcedural Approach cont’d Focus is on proceduresFocus is on procedures All data is shared: no protectionAll data is shared: no protection More difficult to modifyMore difficult to modify Hard to manage complexityHard to manage complexity

Procedural vs. Object-OrientedProcedural vs. Object-Oriented ProceduralProcedural

Withdraw, deposit, transferWithdraw, deposit, transfer

Object OrientedObject Oriented

Customer, money, accountCustomer, money, account

Mapping the world to softwareMapping the world to software Objects in the problem domain are Objects in the problem domain are

mapped to objects in softwaremapped to objects in software

011101

10011

11101

0110100

11010

010101

1110101

10101

Object OrientedObject Oriented Data and operations are grouped togetherData and operations are grouped together

AccountWithdrawDepositTransfer

Interface:

Set of available operations

Data EncapsulationData Encapsulation

class Account {

public:

float withdraw();

void deposit(float amount);

private:

float balance;

);

Advantages of EncapsulationAdvantages of Encapsulation ProtectionProtection ConsistencyConsistency Allows changeAllows change

Objects and ClassesObjects and Classes Classes reflect concepts, objects reflect Classes reflect concepts, objects reflect

instances that embody those concepts.instances that embody those concepts.

Daria Jane BrittanyJodie

girlclassobject

Objects and Classes cont’dObjects and Classes cont’d

A A classclass captures the common captures the common properties of the objects properties of the objects instantiated from itinstantiated from it

A class characterizes the common A class characterizes the common behavior of all the objects that behavior of all the objects that are its instancesare its instances

Objects and Classes cont’dObjects and Classes cont’dClass BankAccountBalanceInterestYTDOwnerAccount_number

Balance 500InterestYTDOwner Account_number

Balance 10,000InterestYTDOwner Account_number

Operations

MakeDesposit

Transfer

WithDraw

GetBalance

Objects as instances of ClassesObjects as instances of Classes The world conceptually consists of objectsThe world conceptually consists of objects Many objects can be said to be of the Many objects can be said to be of the

same type or classsame type or class• My bank account, your bank account, Bill My bank account, your bank account, Bill

Gates’ bank account …Gates’ bank account … We call the object type a class We call the object type a class

InstantiationInstantiation An Object is instantiated from a ClassAn Object is instantiated from a Class

BankAccount myAccount;

myAccount = new BankAccount;

Objects and ClassesObjects and Classes ClassClass

• Visible in source Visible in source codecode

• The code is not The code is not duplicatedduplicated

ObjectObject• Own copy of dataOwn copy of data• Active in running Active in running

programprogram• Occupies memoryOccupies memory• Has the set of Has the set of

operations given in operations given in the classthe class

ClassificationClassification

Mammal

Rodent Primate Cats

Reptile

Animal

Squirel RabbitMouse

ClassificationClassification

                          

                                          

   

Enjoy a variety of personal banking options from First American. The following outlines a number of First American products. If you have any questions, please visit any First American Branch or contact us.

Checking •Bank a lot without spending a lot: ValueFirst® Checking. •Few checks and prefer PC Banking or ATMs: Select Access. •Earn interest on checking dollars: First Interest Checking •You are 55 years or better: 55 & Better Silver •Premium checking features with higher interest rates than a personal checking account: First American Platinum Checking •Write less than 10 checks per month, or bank through an ATM: Budget Checking. •Younger than 24 years old and in school: Student Checking •Less than 20 transactions per month )excluding ATM, POS, and CheckCard(: First Account •Make the most out of every dollar: Tailored Money Sweep

ClassificationClassification

Checking Account

Value First Select Access First Interest

Savings Account

Account

InheritanceInheritance A class which is a subtype of a more A class which is a subtype of a more

general class is said to be inherited general class is said to be inherited from it.from it.

The sub-class inherits the base class’ The sub-class inherits the base class’ data members and member data members and member functionsfunctions

Inheritance cont’dInheritance cont’d A sub-class has all data members of A sub-class has all data members of

its base-class plus its ownits base-class plus its own A sub-class has all member functions A sub-class has all member functions

of its base class (with changes) plus of its base class (with changes) plus its ownits own

Inheritance is meant to implement Inheritance is meant to implement sub-typing (don’t abuse it)sub-typing (don’t abuse it)

AbstractionAbstraction Management of complexityManagement of complexity Hierarchical classification:Hierarchical classification:

is-a relationship: inheritanceis-a relationship: inheritancehas-a relationship: containmenthas-a relationship: containment

PolymorphismPolymorphism One interfaceOne interface Multiple implementationsMultiple implementations InheritanceInheritance Method overloadingMethod overloading

What is a good class ?What is a good class ? A class abstracts objects A class abstracts objects A class should be non-trivial in the A class should be non-trivial in the

context of the program (has data context of the program (has data structures and operations different structures and operations different from other classes)from other classes)

تمرين تمرين النافذة بين العالقة على السابقة المفاهيم النافذة طبق بين العالقة على السابقة المفاهيم طبق

قائمة و المهام قائمة وشريط و المهام قائمة FileFileوشريط قائمة و EditEditو.. HelpHelpوقائمة وقائمة ويندوز في المستخدمة .. الخ ويندوز في المستخدمة الخ

برنامج نافذة برنامج خصص نافذة Word, PowerpointWord, Powerpointخصصتذييل و الصفحة رقم مثل الخصائص بعض تذييل بذكر و الصفحة رقم مثل الخصائص بعض بذكر

الخ .. الخ ..الصفحة الصفحة

وظيفة وظيفة تمرين تمرين الجزئية األنظمة الجزئية من األنظمة الكليات من إحدى الكليات في إحدى االمتحانات في االمتحانات شعبة يلي شعبة كما توصيفها تم يلي التي كما توصيفها تم : :التي وتقوم الديوان من الرسمية القرارات جميع باستالم االمتحانات شعبة رئيسة السيدة وتقوم تقوم الديوان من الرسمية القرارات جميع باستالم االمتحانات شعبة رئيسة السيدة تقوم

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

للموظفين المراقبة تكاليف وإرسال الموظفين من اللجان أسماء وضع خالل من للموظفين االمتحانية المراقبة تكاليف وإرسال الموظفين من اللجان أسماء وضع خالل من االمتحانيةو المقرر أسئلة بوضع الدكتور يقوم حيث لالمتحان األسئلة كتابة بوجوب الدكاترة و وإعالم المقرر أسئلة بوضع الدكتور يقوم حيث لالمتحان األسئلة كتابة بوجوب الدكاترة وإعالميسلم ثم االمتحان موعد حتى به تحتفظ التي لالمتحانات األسئلة مغلف تسليم ثم يسلم نسخه ثم االمتحان موعد حتى به تحتفظ التي لالمتحانات األسئلة مغلف تسليم ثم نسخه

تسلم التي الدفاتر السر أمناء يعيد االمتحان بعد و السر تسلم ألمناء التي الدفاتر السر أمناء يعيد االمتحان بعد و السر . الحقا الحقا ألمناء يعيد لتصحيحها . للدكاترة يعيد لتصحيحها للدكاترة. . معينة فترة بعد تتلف ثم المصححة الدفاتر حفظ يتم العالمات مع الدفاتر .الدكتور . معينة فترة بعد تتلف ثم المصححة الدفاتر حفظ يتم العالمات مع الدفاتر الدكتور

القاعات بتحديد االمتحانات شعبة تقوم الفصلي االمتحاني الجدول في امتحان كل أجل القاعات من بتحديد االمتحانات شعبة تقوم الفصلي االمتحاني الجدول في امتحان كل أجل منالفصل نهاية في المتاحة للقاعات الدوام مراقب يقدمه جدول خالل من المالئمة الفصل االمتحانية نهاية في المتاحة للقاعات الدوام مراقب يقدمه جدول خالل من المالئمة االمتحانية

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

) ( .) باالضافة) الموظفين من مراقبين عدة و للسر أمينا آخر موظف و دكتورا يكون أن ) ( يجب .) باالضافة) الموظفين من مراقبين عدة و للسر أمينا آخر موظف و دكتورا يكون أن يجببنفس ) مختلفتين مادتين في طالب فيها يمتحن لن القاعة أن نفترض الطالب أسماء بنفس ) إلى مختلفتين مادتين في طالب فيها يمتحن لن القاعة أن نفترض الطالب أسماء إلىالحاالت. في و نصف و ساعة فترته تكون مركزيا أو مؤتمتا االمتحان كان حال في الحاالت. الوقت في و نصف و ساعة فترته تكون مركزيا أو مؤتمتا االمتحان كان حال في الوقت

. فترة تمديد الحاالت بعض في القاعة لرئيس يمكن ساعتان االفتراضية الفترة . األخرى فترة تمديد الحاالت بعض في القاعة لرئيس يمكن ساعتان االفتراضية الفترة األخرىاالمتحان.االمتحان.

. المطابقة السر أمين واجب من و تقرير كتابة السر أمين من الطلب القاعة رئيس . يستطيع المطابقة السر أمين واجب من و تقرير كتابة السر أمين من الطلب القاعة رئيس يستطيعالذي األسماء جدول و الجامعية بطاقته مع جلوسه رقم و الجامعي رقمه و الطالب اسم الذي بين األسماء جدول و الجامعية بطاقته مع جلوسه رقم و الجامعي رقمه و الطالب اسم بين

. له االمتحانات رئيسة .تقدمه له االمتحانات رئيسة تقدمه : المطلوب المطلوب : و الـ و الـ ارسم Class DiagramClass Diagramارسم أساسا فيه مبينا االمتحان لنظام أساسا فيه مبينا االمتحان لنظام

جدول) – – – – – – االمتحان القاعة القاعة رئيس السر أمين المراقب جدول) – – – – – – الموظف االمتحان القاعة القاعة رئيس السر أمين المراقب الموظف).. الخ – .. الممتحن الطالب ..(االمتحانات الخ – .. الممتحن الطالب االمتحانات