encoding uml

23
UML ز مي ر ت م ل ه ر ت و ط ت د ن عUML ، ق ل ع ت ت ا اي ض ق ة ي# أ ة غ ل ل أ ن’ ي م ض ت عدم- ب دأ- حا ج ضأرأ وأ ر ق ة6 ي لا6 ن ل اء أ صدق# ألا د ح ت أ ات ن ل م ع ل ا- يprocess. ة6 ي ل كار ك6 ش ي د ما ق ة ك ز6 ش ى عل زي س ي ما ف- دل- ح ل أ ن’ م ز ي6 ث ك ل ز أ يV ث ت ات ن ل م ع ل أ ن’# لاY ك ل ذ ن م ز ي6 ث ك- ي د ق ع# أ ارأت- ن ت ج و أ وذة- ج و ق ي6 ت و ت ات ن ل م ع- ب ل ط ت ت اع ألدق لات ا- ح م- ب ة ص ت خ م ة ك ز6 س ف ري. خ# أ ة ك ز6 س ل ة- ب س ن ل ا- ي ة غ ل نv ا قY ك ل . لد ة ب ت زو ي ك لv ألا ارة- ح ت ل ا- ي ة ص ت خ م ة ك ز6 شUML ة ب س سا# م ألا ي ه ا ق م ل اط أ ق ت ل ا- ح ي م س ي ة م عا ة غ ل، ة ب م و م ع ة ق ور ى عل ها ع ض و و ات ي- خ م ز- لي ر أ ت و ط ت ل" ". ري خ# أ ارة- ن ع- ب، UML ى ل أY دك6 رس ت ن ل ها ن# م، أ ه م ل . أ ت# ئ6 س ما هاّ م س، ة ي و ح ت وأعد ق و# أ ز مي ر ت ذأة# و أ# أ ة غ ل ساطة ن ت ى ه ات ي- خ م ز- ي ل ر أ ت و ط ت م ي ت ف ت ك. دأم ح ت س أ ة ب ف ت ك م ل ع ت ت ى ك لUML ة ب ل م ع ع م ل م عا ت¥ ت وف س، اءة ق ك- يprocess ، و ة م اذ ق ل ألدروس أال ل ج طةّ س- ن م ا ساعدي ي ف ت ك م ه ف حاول تUML ة ب- خ م ز- ي ل أ ات ن ل م ع ل أ ض ع- ب ى عل ولا# أ رة ظ ت ى ق ل ن ل، ة ي دأ- ن ك . و ة ل ج ز م ل ك ى ف ة غ# ب ا6 س لأ. حدأري تv ألا ج’ وذ م ن ل أWaterfall Model

Upload: abdelhak-ababri

Post on 31-Mar-2016

222 views

Category:

Documents


1 download

DESCRIPTION

Welcoma back to ~{issuu}~ Encoding UML

TRANSCRIPT

Page 1: Encoding UML

UML ترميز

ل تطويرهم ، UMLعند بعدم جدا واضحا قرارا الثالثة األصدقاء اتخذبالعمليات تتعلق قضايا أية اللغة تثير .process تضمين العمليات ألن ذلكبالنسبة - كارثة يشكل قد ما شركة على يسري فما الجدل من الكثير

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

لغة فإن المفاهيم UML لذلك بالتقاط تسمح عامة لغة عمومية،ورقة " على وضعها و البرمجيات لتطوير ."األساسية

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

استخدام كيفية تتعلم عملية UML لكي مع نتعامل سوف بكفاءة،process تساعدنا كيف فهم نحاول و القادمة، الدروس خالل مبّسطةUML . العمليات بعض على أوال نظرة لنلقى كبداية، و مرحلة كل في

الشائعة .البرمجيةاإلنحداري Waterfall Model النموذج

" 2شكل التقليدي: " االنحداري النموذج .

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

Page 2: Encoding UML

) أن ) بمجرد بالتداعي تبدأ ادارتها يسهل التي و المبسطة العملية هذه . هي مشاكلها أهم المشروع حجم و تعقيد :يزداد

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

.المطّورين

. Risk المخاطر * المراحل في تظهر ما عادة المشاكل الحقا تتجمع . تكلفة - تزداد لألسف، و النظام التحام خالل خاصة العملية من األخيرة

الزمن مرور مع مضاعفة بصورة األخطاء .تصحيح

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

العمل !فريق

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

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

الدمج coding التوليف النهائي integration و المنتج يكون لن االختبار والزبون يتوقعه ما هو .بالضرورة

يكون أن بشرط االنحداري، النموذج في عيب يوجد ال ذكرنا، ما كل برغم " " . قابل يكفي بما صغير تعريف ان صحيح يكفي بما صغيرا المشروع

صغير فريق له يتصدى أن لمشروع أمكن فإذا أساسي، لكنه و للنقاش،

Page 3: Encoding UML

فترة كانت إذا و المشروع، جوانب بجميع دراية على فرد كل األفراد، من ) عملية ) االنحداري النموذج يكون عندها ، أشهر بضعة قصيرة المشروع

. العشوائي الخبط من بكثير أفضل فهو قيمتها !لها

. مميزات لكن ادارته في بسيط و الفهم سهل االنحداري النموذج بايجاز،المشروع تعقيد يزداد أن بمجرد التداعي في تبدأ النموذج .هذا

اللولبي النموذج

عن للمشروع بالتصدّي نقوم حيث اللولبي، النموذج هو البديل االسلوبالحياتية الدورات من سلسلة إلى تقسيمة ، lifecycles طريق القصيرة

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

أطوار: 4شكل خمسة إلى المشروع تقسيم يتم هنا اللولبية، ،العملية لبرنامج اصدارة بانتاج ينتهي طور كل و سابقه، فوق يُبنى طور كل

للتشغيل .جاهز

االسلوب هذا : مع

الحياتية * الدورة كامل على يشتغل أن العمل فريق تحليل،( يستطيعتوليف Code تصميم، ، واحد )اختبار نشاط على سنوات صرف من .بدال

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

ذات * التكرارات باألخص مقدما، المخاطرة لنقاط التصدّي يمكننا : الجديدة ) التقنيات بعض تنفيذ يتطلب الذي التكرار مثال العالية المجازفة

) أوال تطويرها يمكن المجّربة .غير

مبكرا * العمل تعقيد و حجم مدى اكتشاف .يمكن

Page 4: Encoding UML

الثقة * من يعّزز للبرنامج المنتظم .االصدار

* ) : بدقة ) تحديده يمكن انجازه ماتم مقدار مثل للمشروع الحالي الوضع.أكبر

هي اللولبية العملية : عيوب

للتطبيقات * السريعة بالتنشئة يعرف بما العملية هذه ترتبط ما عادةRapid Application Development ، مجرد كثيرين قبل من تعتبر التي و

hacker's charter.

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

Gantt ، مختلفة أساليب تتطلب اللولبية العمليات .لكن

مشابه أسلوب على نظرة لنلقي اللولبية، العملية عيوب تدارك أجل منالتزايدي التكراري العمل اطار يدعى و تقنينا أكثر ,Itrative لكن

Incremental Framework.

التزايدي التكراري العمل اطار

التزايدي التكراري العمل هو Itreative, Incremental Framework اطار . نقوم سوف صرامة و تقنينا أكثر لكنه اللولبي، للنموذج منطقي امتداد

الدروس هذه بقية خالل التزايدي التكراري العمل اطار .بتبنّي

: االستهالل رئيسية أطوار أربعة الى العمل اطار ،Inception ينقسمElaboration التفصيل ، التنقل Construction البناء يتم .Transition و

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

كل في أداؤها يتم التي النشاطات نستعرض و األطوار هذه نشرح سوفطور

التزايدي: 5شكل التكراري العمل إلطار األربعة األطواراالستهالل

. له العام التصّور تحديد و المشروع نطاق بوضع االستهالل طور يتعلقدردشة مجرد يكون أن الطور لهذا يمكن الصغيرة للمشاريع بالنسبة

Page 5: Encoding UML

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

deliverables هي الطور هذا من :المحتملة

التصّور * .وثيقة

الزبون * إلحتياجات مبدئي .استكشاف

لمفردات * االبتدائي الحقا ) glossary التحديد هذا حول المزيد (المشروع .

تقديرات ) * المالية، التنبؤات النجاح، مححدات تتضمن جدوى دراسةالخ االستثمار، على (العائد .

المخاطرة * لنقاط المبدئي .التحديد

المشروع * .خطة

لدراسة نتعرض عندما التفصيل من بشيء االستهالل طور نناقش سوفالرابع case study حالة الفصل .في

التفصيل

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

لكن و المشروع، لكامل عام فهم على الحصول في نأمل التفصيل طورأجزاء ) بصورة له التصدي سيتم الحقا متعمقا فهما بالضرورة ليس

مناولتها يسهل (صغيرة .

من . UML نموذجان حالة نموذج المرحلة هذه في كبيرة قيمة لهما يكون= Use Case االستخدام و ، الزبون المستفيد متطلبات في سيساعدنا

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

.قريبا

البناء

. خطي بأسلوب يتحقق لن الطور هذا المنتج ببناء نقوم البناء، طور فيLinear سلسلة خالل من اللولبي، النموذج أسلوب بنفس بناؤه يتم بل ؛

( : . انحداري نموذج القديم االسلوب نفسه هو تكرار كل التكرارات (3من نأمل. يمكن، ما أقصر تكرار كل يكون أن على الحرص خالل من و بسيط

االنحداريات ترافق التي المزعجة المشاكل نتجنب أن

Page 6: Encoding UML

المصغرة: 6شكل االنحدارات من سلسلة على يحتوي و البناء طور .

على الحصول في نطمح سوف التكرارات من من عدد أكبر نهاية معفي ) جدا محدودة منظومة ستكون بالطبع، مبدئيا تعمل منظومة .) تزايدات تسّمى التكرارات هذه المبكرة Increments المراحل ، هنا ومن

هذا العمل اطار تسمية !أتتاالنتقال ) (التحّول Transition

. النشاطات الزبائن الى النهائي المنتج بنقل يتعلق النهائي الطورتتضمن الطور هذا في :المعتادة

المستخدم * بيئة قبل من االختيار ألغراض المبدئية .االصداراتالقديم * النظام مع بالتوازي المنتج تشغيل أو الموقع، في االختبارات

سيستبدل .الذيالجديدة، ) * قوالبها في صبّها و البيانات قواعد تحويل مل البيانات تجهيز

الخ ، البيانات ..(توريدالجدد * المستخدمين .تدريب

المبيعات * و والتوزيع .التسويق

Page 7: Encoding UML

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

للكائن المنحى مفهوم على نظرة نلقي سوف الفصل هذا Object فيOrientation 4 )OO( .  الموّحدة النمذجة لغة تصميم تّم بحيث UML لقد

للكائن المنحى في  تدعم التعمق قبل مفاهيمه بتعريف سنقوم لذلك ، ، UML لغة يوفّرها قد التي المزايا استكشاف .و

المهيكلة البرمجة

باستخدام البرمجية األنظمة تصميم يتم كيف سريعة بصورة لنختبر أوال،المهيكل ( االتجاه وظائفي يُسّمى .)Functional احيانا

المهيكلة البرمجة Structured Programming في ، عامة المتّبعة الطريقةالوظيفيات من مجموعة تصميم ثم المسألة، الى النظر functions هي

. ، الوظيفيات هذه تضّخمت اذا لحلها المطلوبة المهام انجاز يمكنها التي. فهمها و مناولتها فيه يتيّسر الذي بالحدّ صغيرة تصير حتى تجزئتها يتم

الوظائفي التفكيك تدعى العملية .functional decomposition هذه

. البيانات عليها لتعمل ما نوع من بيانات الى ستحتاج الوظيفيات معظمما نوع من بيانات قاعدة في بها يحتفظ ما عادة الوظائفية األنظمة ( في

شاملة كمتغيّرات الذاكرة في بها يحتفظ قد . )global variables أو

بسيطا مثاال تحتفظ لنأخذ المنظومة هذه معهد، إلدارة منظومة تخيّل ، الدورات حول للمعلومات اضافة المعهد في المدّربين و الطلبة ببيانات

التحق التي الفصول و طالب كل بتتبع المنظومة تقوم كذلك المتوفرة،.بها

الوظيفيات كتابة سيتضّمن المحتمل الوظائفي functions التصميم:التالية

طالب اضافة

add_student 5امتحان دخول

enter_for_examامتحان عالمات فحص

check_exam_marksشهادة اصدار

issue_certificateطالب طرد

expel_student

Page 8: Encoding UML

بيانات نموذج الى ايضا نحتاج . data model سوف الوظيفيات هذه ليمثّلالدورات، و االمتحانات و المدربين و ، الطلبة عن معلومات لتخزين نحتاج

بيانات قاعدة مخطط تصميم علينا يجب لالحتفاظ database schema لذا . البيانات 6بهذه

. 9شكل الى: تشير المنقطّة الخطوط بسيط بيانات قاعدة مخطط بواسطة تدريبه يتم طالب كل مثال، أخرى، على بيانات مصفوفة اعتمادية

مدّربين .عدة

الوظيفيات أن واضحا بدأ تعتمد functions اآلن سوف سابقا حدّدناها التي . وظيفة مثال، البيانات من المصفوفة هذه اضافة( "add_student" على

محتويات )طالب بتغيير )طلبة( "Students" ستقوم ، وظيفة و"issue_certificate" ) شهادة طالب )اصدار بيانات الى الوصول الى تحتاج

Student ) للشهادة يحتاج الذي الطالب تفاصيل ستحتاج )لمعرفة واالمتحانات بيانات الي ايضا . Exam الوظيفة

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

Page 9: Encoding UML

االعتماديات: 10شكل و البيانات و الوظائف، خريطة .

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

المتطلبات تغيّرت لو سيحدث ماذا أعاله، بطريقة requirement المثالالطالب بيانات مناولة اسلوب تغيير الى .Student تؤدّي

ان كمثال اكتشفنا لكننا يكون، ما أكمل على تعمل منظومتنا ان لنتخيّل ، السنة يمثل كي خانتين ذو عدد شكل على الطالب ميالد تاريخ تخزين

الميالد تاريخ حقل بتغيير نقوم ان هو هنا المبدئ الحل سيّئة، فكرة كانتالطلبة جدول السنة Students في لرقم خانات اربع الى خانتين .من

جانبية اثار ظهور في يسبّب قد أنه من تنبع التغيير لهذا الجدية المشكلة . االمتحانات جدول فبيانات متوقعة الدورات Exam غير جدول Courses والمدّربين جدول ( Tutors و بيانات ) على تعتمد باخرى أو بطريقة كلها

الطالب Students جدول ، بتغييرنا العمليات بعض كسر في نتسبب قد لذاوظيفيات اعاقة و هذا، و enter_for_exams و add_student البسيط

issue_certificate و expel_student ، تعمل add_student فوظيفة لنشكل على الميالد بسنة الخاصة المعلومة تكون ان تتوقع ألنها بالتأكيد

أربع من بدال بخانتين .رقم

نستطيع لن اننا األسوأ و المحتملة، المشاكل من كبير معدل لدينا اذا،التوليف في االعتمادية اماكن تعيين بهذا code بسهولة ستتأثر التي

.التغيير

انك تعي أن دون براءة بكل و التوليف في سطر بتعديل قمت مّرة من كمفي لها عالقة ال تبدو قد اخرى عمليات كسر في قصد غير عن سبّبت

الظاهر؟

عام ( 2000اشكالية بالضبط ) سببها كان العالية التكلفة ذات األلفية ثغرة ( . كل تغيير بسيطا يكون ان به يفترض حلها ان لو فحتى المشكلة هذه

) التغيير لهذا المحتملة التداعيات فان اربع الى خانتين من سنة حقل . بدقة فحصها و منها التحقق يجب 7البسيط

للكائن المنحى أسلوب

للكائن ببساطة "OO" المنحى و المشكلة هذه تأثير من التقليل يحاولالبيانات بين الجمع طريق الوظيفيات data عن العالقة functions و ذات

قالب .واحد module في

Page 10: Encoding UML

قوالب: 11شكل في موضوعة المرتبطة الوظيفيات و البيانات .

البرمجة في الجديد القولبة نظام حول بالمالحظة الجديرة النقاط :بعض

* . في البرنامج تشغيل عند استحضاره يمكن القالب لنفس تمثل من أكثرلقالب تمثل هناك سيكون المعهد، يتبع Student منظومة طالب لكل

معه التعامل يجرى . المعهد بياناته له سيكون تمثل كل و المنظومة في مختلفا. ) اسما قالب لكل بالطبع (الخاصة .

* " استدعاء " طريق عن اخرى قوالب مع التخاطب يمكنها القوالب.وظيفياتها

التغليفEncapsulation

في عنصر أي تغيير أو بقراءة السماح يتم ال أنه هنا، األساسي األمرالمدّرب . بقالب الخاص التمثل فمثال، تتبعها الذي للتمثل من إال البيانات

Tutor بيانات قراءة او تحديث يمكنه قالب "age" ال داخل Student العمر.الطالب

بالتغليف المفهوم هذا ، Encapsulation يسّمى جعل في يسهم الذيحيث سابقا، لها تعّرضنا التي الحالة يجنّبها و ثباتا، أكثر المنظومة هيكلأكثر و متتابعة تغييرات الى يؤدّي قد البيانات من جزء في بسيط التغيير

.عمقا

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

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

Page 11: Encoding UML

األخرى القوالب عن معزول واحد .قالبالكائناتObjects

الوظيفيات و البيانات من التوليفات هذه الى أشرنا الفصل، هذا خاللقوالب بأنها هذه ."modules" المرتبطة خصائص الى نظرنا اذا عموما

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

بشيئين Objects الكائنات تمييزها يمكن الواقع عالم في :  في كائن كل بيانات لديه الواقع سلوك data عالم هو . behaviour و التلفاز جهاز فمثالمعدّل محددة، قناة خالل من تتضبط تجعلها بطريقة بيانات يعالج و كائن

و االضاءة شدّة و التباين معدّل كذلك معيّنة، قيمة الى تحديده يتم المسح " او. " التشغيل يمكنه التلفاز بأشياء، يقوم يمكنه ايضا التلفاز هكذا

هكذا و تغييرها، يمكن القنوات .االقفال،

السابقة الببرمجية القوالب اسلوب بنفس المعلومات هذه تمثيل :يمكننا

الشكل الى و 10بالنظر البيانات بين عالقة وجود واضحا يبدو أعاله، ظيفتي و فمثال مرتبطتان expel_student و add_student :الوظيفيات؛

ببيانات .الطالب Student بقوة

التلفاز: 12شكل جهاز سلوك و بيانات

" قولبتها " باالمكان الحقيقي العالم كائنات فان اذا، نفسه المنوال علىمناقشتها سبق التي البرمجية للقوالب مشابهة .بطريقة

بالكائنات القوالب هذه نسّمي السبب، مصطلح Objects لهذا جاء منها وللكائن / بالمنحى التصميم Object Oriented البرمجة

Design/Programming.

سواء ) واقعنا في حقيقية لمشاكل حلوال تقدّم البرمجية نظمنا أن حيثتوجيه نظام أو ، مخازن ادارة نظام او معهد، في تسجيل نظام ذلك كان

نقوم( بسهولة و الواقعي العالم في الكائنات تحديد يمكننا ، صواريخبرمجية كائنات الى .بتحويلها

. الواقع افضل تمثيال أو تجريدا يقدم للكائن المنحى أخرى، بكلمات

Page 12: Encoding UML

) الحلول ) تغيير فان المتطلبات كتغيّر الواقع تغيّر اذا أنه يعني هذا نظريا،و الواقع مشاكل مابين الخطوط دامت ما أسهال ستكون تعديلها أو

أسهل لها الموضوع .الحلولمصطلحات

بالكائن data البيانات سمات object الخاصة أو بخصائص عادة تسّمىAttributes .تسّمى الكائن بها يقوم التي المختلفة التصّرفات الكائن

نهجيات أو في. Methods مسالك يعرف لما مرادف هي المسالك الكائنبالوظيفيات البرمجة االجرائيات functions لغات . procedures او

هو السياق هذا في المشهور اآلخر هو .  الصنف Class المصطلح الصنف أرضية . )template( ببساطة وصف الصنف في يتم الكائن عليها يقوم

المسالك attributes السمات لكل methods و حاضرة ستكون التي . الفصل، هذا في عنها تكلّمنا التي المعهد منظومة في الصنف تجّسدات

يسّمى صنفا لدينا .Student كان

الطالب attributes سمات ما Student Class صنف و العمر و االسم كانتالمسلكيات أما ذلك، التوليف .expel و add فكانت methods الى code في . تشغيل يتم حالما و فقط واحدة لمرة الصنف هذا لتحديد سنحتاج

انشاء يمكننا ، بعبارة instances تجّسدات create التوليف أو الصنف هذاكائنات: انشاء .الصنف objects أخرى

قيم من يخّصه ما سيحوي ايضا منها كل و طالبا، سيمثل منها كائن كل.البيانات

للكائن المنحى استراتجية

: مثل ) للكائن المنحى فوائد باختصار لمس قد الفصل هذا أن من بالرغم ) األسئلة بعض تركنا أننا إال ، للواقع أفضل تمثيل ثباتا، أكثر منظومات

. ما؟ لمنظومة تصميمنا عند نحتاجها التي الكائنات نميّز كيف اجابة بدونالمسلكيات هي السمات methods ما ما attributes و وجودها؟ المفترض

. هذه بنا ستنتقل األسئلة من غيرها و للصنف؟ المناسب الحجم هوللكائن المنحى باستخدام البرمجيات تنشئة عمليات خالل و( الدروس

UML( ، األسئلة هذه كل على باالجابة سنقوم .و

الوقت في انها هو الماضي في للكائن المنحى ضعف نقاط أهم أحد / ضعيفة أنها اال الكائن، الصنف مستوى على قوية بأنها فيه تتميّز الذي

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

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

األم اللوحة !مكونات

قبل من بقوة المدعوم و الحديث يتعلّق UML االتجاه ما كّل نسيان هوذلك بدل التركيز و للمشروع، المبكّرة المراحل في األصناف و بالكائنات . مع و ذلك، بعد به القيام على قادرة المنظومة تكون أن يجب ما على

Page 13: Encoding UML

النواحي لتجسيد األصناف بناء تدريجيا يتم المشروع في العمل تقدّم . الخطوات هذه سنتتّبع الدروس هذه في المطلوبة للمنظومة الوظيفية

الصنف تصميم حتى و األّولية التحاليل من .بدءاً

موجز

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

أصناف * داخل العالقة ذات التصرفات و البيانات بين بالجمع .نقوم

كائنات * بشكل للّصنف، تجّسدات بانشاء برنامجنا يقوم .ثم

مخاطبة * خالل من البعض، بعضها مع التعاون يمكنها الكائنات.مسلكياتها

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

نظرية في نخوض أن ، UML قبل بجولة سنقومل األساسية المفاهيم بعض على لإلطالع مختصرة

UML.

عن مالحظته يتم ما من UML أّول العديد يوجد أنه هو ) التعّود ) يجب التي و نماذج المختلفة المخطّطات

المنظومة. ان ألى يعود التنّوع هذا في السبب عليهابحسب مختلفة زوايا من اليها يُنظر أن يُحتمل

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

Page 14: Encoding UML

المحلّلون *المصّممون *المبرمجون *

باالختبار * القائمونالجوة * مراقبوالمستفيدون *

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

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

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

. بالمقابل األدني مستواها في برمجية تعليمات الى ) سلوك ) في اهتمامه ينصّب الموثّق التقني الكاتب

. المنتوج يعمل كيف لفهم فيحتاج ككّل، المنظومةيمكن UML تحاول بحيث التعبير قويّة لغة تقدّم أن

على واحد مخطط من لو و اإلستفادة للمشاركينمخططات من .UML األقل

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

الدروس هذه :تقدّم

االستخدام حالة مخطط

استخدام: 13شكل حالة مخطّط

االستخدام النظام Use Case حالة لسلوك وصف هي . خالل فائدة ذات فهي المستخدم نظر وجهة منفهم في تساعد و التطوير، و التحليل مراحل

Page 15: Encoding UML

.المتطلبات

. من كال يمكّن مما لالستيعاب سهال المخطط يكون ) و ) مختبرون مبرمجون، مصّممون، محلّلون، المطّورين

) عليه ) االشتغال من الزبون .المستفيدون

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

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

األصناف مخطط

األصناف: 14شكل مخطط

منهج ألي أساسي جانب األصناف مخططات رسمتقدّم أن بالغريب ليس لذلك للكائن، بالمنحى للتصميم

. UML لنا بامكاننا أنه نرى سوف له المناسبة الصيغةكذلك و التحليل مرحلة في األصناف مخطط استخدام

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

يستوعبها = أن الزبون للمستفيد يمكن ( التي سوف وال النموذج مفاهيمينسّميها Conceptual Model(. باالضافة وهي

قوية أداة المفاهيمي النموذج من تجعل االستخدام، حالة مخطط الىالمتطلبات .لتحليل

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

التعاون: 15شكل مخططات .

Page 16: Encoding UML

برنامجنا يحتاجه شيء أي الكائني، المنحى برامج بتطوير نقوم نحن و . مخططات رسم يمكننا الكائنات تعاون بواسطة فسيكون به يقوم ألن

بعض مع تتعاون أن نبنيها التي للكائنات نريد كيف لوصف .التعاون

لماذا عن جيد مثال عملية UML هنا كونها من أكثر صيغة مجرد هي . ترميز أن نرى سوف البرمجيات لتطوير بسيط UML حقيقية للمخططيسهل ) " و راسخ برنامج تصميم لنقل فّعال، تعاون تصميم لكن و جدا، . يتناول"( بكامله فصال تخصيص علينا ربما بالتأكيد صعبا يعدّ ، صيانتة

مهارات من الكثير أن مع الجيّد، التصميم لمبادئ العريضة الخطوطالخبرة من تأتي .التصميم

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

و التعاون بمخطط مباشرة عالقة له حقيقته في في التتابع مخطط . الخطوط قليال يختلف بشكل لكن و المعلومات، نفس بعرض يقوم

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

نمذجة أدواة ، UML بعض روز ناشيونال برنامح ،Rational Rose مثلتماما حدث ما هذا و التعاون، مخطط من آليا التتبابع مخطط توليد يمكنها

الشكل - في الذي المخطط من مباشرة أعاله المخطط رسم تم عندما15.

الحالة مخططاتState Diagrams

المكونات مخططات

يترميز - لنا يسمج فهو التحزيم مخطط مع المكونات مخطط يتشابه. فيه آخر على قالب كل يعتمد كيف و نظامنا، تقسيم أو فصل كيفية

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

packages( . التحزيم مخطط في كما الفكري أو المنطقي بالفصل ليس والنظام معماريات فصل في المخطط هذا دراسة في نتعمق سوف .ثانية،

Page 17: Encoding UML