أخر الأخبار
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثالث عشر من دروس -SQL Server 2014- التحليل المعلوماتي...

في هذا الدرس الجديد الخاص بدروس -SQL Server 2014- اليوم سنرى طريقة التحليل المعلوماتي&nb...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثاني عشر من دروس-SQL Server 2014- إنشاء الجداول...

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

الدرس الحادي عشر من دروس -SQL Server 2014- إنشاء...

في هذا الدرس الجديد من دروس SQL Server 2014 سنرى اليوم كيفية إنشاء الجداول عن طريق النمو...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس العاشر من دروس -SQL Server 2014- انواع البيانات Data...

في هذا الدرس الجديد الخاص بدروس SQL Server 2014 سنرى اليوم جانب مهم جدا و هو انواع ال...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس التاسع من دروس - SQL Server 2014- نقل قاعدة...

في هذا الدرس الثامن من دروس SQL Server 2014  سنرى كيفية او عمليات نقل قواعد البيانا...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الثامن من دروس - SQL Server 2014- إنشاء قاعدة...

في هذا الدرس الجديد من دروس قواعد البيانات عن طريق 2014 SQL Server  سنرى كيفية انشاء...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس السابع من دروس - SQL Server 2014- عمليات على...

مرحبا بكم في الدرس السابع من دروس SQL Server 2014   في هذا الدرس سنتطرق الى ب...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس السادس من دروس -SQL Server 2014 - إنشاء...

في الدرس السادس من دروس -SQL Server 2014 -  و الذي من خلاله سنرى الطريقة الأ...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الخامس SQL Server 2014 شرح قواعد بيانات النظام...

في هذا الدرس الخامس سنرى قواعد بيانت النظام او ما يعرف بــــ System Databases والت...
اقرأ المزيد
دروس قواعد البيانات
منذ بضع اعوام

الدرس الرابع من دروس SQL Server 2014 - التعمق...

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

لغة النمدجة الموحدة UML الدرس السادس





نبذة عامة عن UML

قبل أن نخوض في نظرية UML ، سنقوم بجولة مختصرة جدا للإطلاع على بعض المفاهيم الأساسية في UML.
أوّل ما يتم ملاحظته عن UML هو أنه يوجد العديد من المخطّطات المختلفة (نماذج) و التي يجب التعوّد عليها. السبب في هذا التنوّع يعود إلى أن المنظومة يُحتمل أن يُنظر إليها من زوايا مختلفة بحسب المشاركين فيها. تطوير البرمجيات يشترك فيه عدد من الأفراد، و كل واحد له دور - مثلا:
·        المحلّلون
·        المصمّمون
·        المبرمجون
·        القائمون بالاختبار
·        مراقبو الجودة
·        المستفيدون
·        الكتّاب التقنيون
كلّ هؤلاء الأفراد يهتمون بجوانب مختلفة من المنظومة، و كلّ واحد منهم يحتاج إلى مستوى مختلف من التفاصيل. على سبيل المثال، المبرمج يحتاج إلى أن يفهم التصميم الموضوع للمنظومة من أجل تحويله إلى تعليمات برمجية في مستواها الأدنى. بالمقابل الكاتب التقني (الموثّق) ينصبّ اهتمامه على سلوك المنظومة ككلّ، فيحتاج لفهم كيف يعمل المنتوج. تحاول UML أن تقدّم لغة قويّة التعبير بحيث يمكن للمشاركين الاستفادة و لو من مخطط واحد على الأقل من مخططات UML. فيما يلي نظرة سريعة لبعض أهم هذه المخططات. بالطبع، سوف نتعرّض لها بمزيد من التفاصيل مع تقدّم هذه الدروس:

مخطط واقعة استخدام The Use Case Diagram



شكل 13: مخطّط واقعة استخدام


واقعة الاستخدام Use Case هي وصف لسلوك النظام من وجهة نظر المستخدم. فهي ذات فائدة خلال مراحل التحليل و التطوير، و تساعد في فهم المتطلبات.
يكون المخطط سهلا للاستيعاب. مما يمكّن كلا من المطوّرين (محلّلون، مصمّمون، مبرمجون، مختبرون) و المستفيدين (الزبون) من الاشتغال عليه.
لكن هذه السهولة يجب أن لا تجعلنا نقلل من شأن مخططات واقعة الاستخدام. فهي بإمكانها أن تحتمل كامل عمليات التطوير ، بدءا من الاستهلال و حتى التسليم.

مخطط الصنفيات The Class Diagram


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



رسم مخططات الصنفيات جانب أساسي لأي منهج للتصميم بالمنحى للكائن، لذلك ليس بالغريب أن تقدّم لنا UML الصيغة المناسبة لها. سوف نرى أنه بإمكاننا استخدام مخطط الصنفيات في مرحلة التحليل و كذلك في مرحلة التصميم - سوف نقوم باستعمال صيغ مخططات الصنفيات لرسم خريطة للمفاهيم العامة التي يمكن للمستفيد = الزبون أن يستوعبها (و سوف نسمّيها النموذج المفاهيمي Conceptual Model). وهي بالإضافة إلى مخطط وقائع الاستخدام، تجعل من النموذج المفاهيمي أداة قوية لتحليل المتطلبات.

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


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




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

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


شكل 16: مخطط التتابع في UML


مخطط التتابع في حقيقته له علاقة مباشرة بمخطط التعاون و يقوم بعرض نفس المعلومات، و لكن بشكل يختلف قليلا. الخطوط المنقطة إلى أسفل المخطط تشير إلى الزمن، لذلك فما نشاهده هنا هو وصف لكيفية تفاعل الكائنات في نظامنا عبر الزمن.
بعض أدواة نمذجة UML ، مثل برنامح ناشيونال روز Rational Rose، يمكنها توليد مخطط التتابع آليا من مخطط التعاون، و هذا ما حدث تماما عندما تم رسم المخطط أعلاه - مباشرة من المخطط الذي في الشكل 15.

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


شكل 17: مخطط حالة التحول




بعض الكائنات يمكنها في أي وقت محدد أن تكون في حالة ما. مثلا، يمكن للإشارة الضوئية أن تكون في إحدى الحالات التالية:
مطفأة، حمراء، صفراء، خضراء
أحيانا، يكون تعاقب التحوّلات بين الحالات معقّد جدا - في المثال أعلاه، لا يمكننا أن ننتقل من حالة "خضراء" إلى حالة "حمراء" (و إلا تسبّبنا في حادث!).
و برغم أن الإشارة الضوئية قد تبدو مثالا بسيطا، إلا أن التهاون في التعامل مع الحالات يمكن أن يؤدّي إلى وقوع أعطال جدية و محرجة في برامجنا.
خذ مثلا - فاتورة غاز مرسلة إلى مستهلك توفّي منذ أربع سنوات - هذا يحدث في الواقع و سبب ذلك أن المبرمج في نقطة ما لم يأخذ في اعتباره تحوّلات الحالة.
و كما يمكن لتحوّلات الحالة أن تكون معقّدة، فإن UML تقدّم صيغة تسمح لنا بتصويرها و نمذجتها.

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


شكل 18: مخططات التحزيم في UML



أي نظام= منظومة لا يكون صغيرا يحتاج إلى أن يقسّم إلى أجزاء "chunks" أصغر حجما و أسهل للفهم، و تتيح لنا مخططات التحزيم في UML نمذجة هذه الأجزاء بطريقة بسيطة و فعّالة. سوف نتعرّف بكثير من التفصيل على هذا النموذج عند استكشافنا للأنظمة الضخمة في فصل "معمار النظام".

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



شكل 19: مخطط المكونات في UML.


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

مخططات التجهيز Deployment Diagrams


شكل 20: مخطط التجهيز في UML.


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

ملخص

يوفّر UML عدة نماذج مختلفة لوصف النظام. القائمة التالية تعرضها كلها مع جملة واحدة توجز الغرض من كل نموذج:
·        وقائع الاستخدامUse Cases - "كيف سيتفاعل نظامنا مع العالم الخارجي؟"
·        مخطط الصنفيات Class Diagram - "ما هي الكائنات التي نحتاجها؟ و ما علاقتها؟"
·        مخطط التعاون Collaboration Diagram - "كيف تتعامل الكائنات مع بعض؟"
·        مخطط التتابع Sequence Diagram - "كيف تتعامل الكائنات مع بعض؟"
·        مخطط الحالة  State Diagram - "ما الحالات التي يجب أن تكون عليها الكائنات؟"
·        مخطط التحزيم Package Diagram- "كيف سنقوم بقولبة عملنا؟"
·        مخطط المكونات Component Diagram - "كيف سترتبط مكونات برنامجنا؟"
·        مخطط التجهيز Deployment Diagram - "كيف سيتم تجهيز البرنامج؟"


قد يعجبك ايضا
تعليقات
تعليقات Bloggerتعليقات Disqus



حجم الخط
+
16
-
تباعد السطور
+
2
-