لغة النمذجة الموحدة
عودة للموسوعةلغة النمذجة الموحّدة (بالإنجليزية: Unified Modelling Language اختصاراً UML)، هي لغة نمذجة رسومية تقدم صيغة لوصف العناصر الرئيسية للنظم البرمجية. (هذه العناصر تسمّى artifacts مشغولات في UML). تتّجه UML بطبيعتها نحوبناء البرمجيات كائنية المنحى object oriented.
تستخدم هذه اللغة لعمل رسوم تخطيطية لوصف برامج الكمبيوتر من حيث العناصر المكونة لها أوخط سير العمليات الذي يقوم به البرنامج؛ تحديداً، نوعية البرامج البرمجة كائنية التوجه. لا يقتصر UML على هندسة البرمجيات، بل يستعمل أيضاً في هندسة النظم، وتمثيل الهياكل التنظيمية. يمكن بواسطة لغة النمذجة الموحدة إنشاء النماذج (UML) وإنشاء تصميم متكامل لمشروعك البرمجي. كما يمكن أيضاً عمل ذلك بواسطة الرسوم (diagrams) عن طريق أخراج كود مبدئي للبرنامج.
تاريخ
لمدة، كان مهندسوالبرمجيات يفتقرون لمثل هذه الرموز. بين عامي 1989 و1994، وهي الفترة التي يشار إليها بـ "حروب المناهج"، كان يوجد ما يزيد عن 50 لغة نمذجة برمجية قيد الاستعمال - جميع منها تملك رموزها الخاصة! جميع لغة تحتوي على قواعد تميزها، بينما في نفس الوقت، جميع لغة لديها عناصر تتشابه مع تلك التي في اللغات الأخرى.
ولمزيد من الفوضى، لا توجد لغة متكاملة، بحيث نادرا ما يجد القائمون على البرمجيات ما يرضي تام حاجتهم في لغة واحدة. في منتصف التسعينيات، برزت ثلاث منهجيات لكي تكون الأقوى. بدأت هذه المنهجيات الثلاث في التقارب، جميع واحدة منها تحوي على عناصر من الأخريين. جميع منهجية تملك نقاط قوة خاصة بها:
- بوك Booch كانت ممتازة فيما يخص التصميم والتطبيق. لقد عمل "قرادي بوك" Grady Booch بكثافة على لغة آدا Ada، وكان له دور رئيسي في تطوير تقنيات المنحى الكائني (object oriented) للغة. وبالرغم من قوة منهجية بوك إلا حتى الرموز فيها لم تأخذ القبول الحسن (الكثير من الأشكال السحابية تغزونماذجه).
- OMT (تقنية النمذجة الكائنية Object Modelling Technique) كانت الأفضل في التحليل وفي أنظمة المعلومات ذات البيانات الكثيفة.
- OOSE (هندسة البرمجيات كائنية المنحى Object Oriented Software Engineering)وتتميز بنموذج يسمى وقائع الاستخدام (Use Cases). تعد وقائع الاستخدام أسلوب قوي من أجل فهم سلوك تام النظام (وهوالمجال الذي كان فيه المنحى الكائني ضعيفا).
في عام 1994، قام جيمس رامبوغ، مؤسس OMT، بمفاجأة عالم البرمجيات حين هجر العمل بشركة جنرال الكتريك General Electric وانضمّ إلى قرادي بوك للعمل في شركة راشيونال (Rational Corp). الغرض من المشاركة كانت من أجل دمج أفكارهما وصبّها في منهجية موحدة (وكان من طبيعة الحال عنوان العمل لهذه المنهجية هي "المنهجية الموحدة" Unified Method).مع عام 1995، انضم أيضا مبدع OOSE ايفار جاكوبسون Ivar Jacobson، إلى راشيونال، وتم ضم أفكاره (خاصة مفهوم "وقائع الاستخدام" Use Cases) في المنهجية الموحدة - الآن تدعى لغة النمذجة الموحدة (Unified Modelling Language).* وعُرف الفريق الذي يتكون من رامبخ وبوك وجاكوبسون بـ "الأصدقاء الثلاثة" (Three Amigos).
بغض النظر عن بعض الحروب والمشاحنات البسيطة، بدأت المنهجية الجديدة تجد استحبابا لدى أوساط صناعة البرمجيات، فتم تكوين لجنة مشهجرة consortium خاصة بـ UML، شاركت فيها عدد من المؤسسات ثقيلة الوزن مثل هيولت-باكارد (Hewlett-Packard) وميكروسوفت (Microsoft) وأوراكل (Oracle).
كما تم تبنّي UML من قبل منظمة (OMG) في 1997، ومن حينها امتلكت (OMG) اللغة ودأبت على صيانتها. لذلك عمليا أصبحت لغة UML عامة وليست ملكية خاصة.
تصميم
أوّل ما يتم ملاحظته عن UML هوأنه يوجد الكثير من المخطّطات المتنوعة (نماذج). السبب في هذا التنوّع يعود إلى حتى تطوير البرمجيات يشهجر فيه عدد من الأفراد، وكل واحد له دور، مثلا:
- المحلّلون
- المصمّمون
- المبرمجون
- القائمون بالاختبار
- مراقبوالجودة
- المستفيدون
- الكتّاب التقنيون
لغة (UML) توفر وسيلة لتصور النظام في رسم تخطيطي، بما في ذلك بعض العناصر مثل:
- أنشطة (وظائف)
- المكونات الفردية للنظام
- التفاعل مع مكونات البرامج الأخرى.
- تشغيل النظام
- تفاعل الكيانات مع الآخرين (مكونات قابلات)
- قابلة المستخدم الخارجية
من المهم حتى نميز بين نموذج UML ومجموعة من الرسوم البيانية للنظام. مخططات UML تمثل وجهات النظر المتنوعة للنظام وتنقسم إلى قسمين:
- (Static/structure) : هجرز على البنية الثابتة للنظام باستخدام ( relationships ، operations ، attributes ، objects )
- (Dynamic/behavior) : يركز على السلوك الديناميكي للنظام أي تغيراته مع الزمن ويضم sequence diagrams ، activity diagrams ، state diagram
المخططات
تحتوي UML على الكثير من المخططات ويمكن تصنيفها هرميا بالشكل التالي :
مراجع
- ^ كتاب تطبيق UML ترجمة خالد عياد الشقروني الرابط: www.nidam.net\sd\umlapl\index.html
التصنيفات: لغة النمذجة الموحدة, تمثيل المعرفة, رسوم بيانية, لغات نمذجة البيانات, لغات المواصفات, معايير الأيزو, صفحات تستخدم خاصية P571, صفحات بها بيانات ويكي بيانات, صفحات تستخدم خاصية P856, مقالات تحتوي نصا بالإنجليزية, صفحات بها وصلات إنترويكي, بوابة برمجة الحاسوب/مقالات متعلقة, بوابة برمجيات/مقالات متعلقة, بوابة تقنية المعلومات/مقالات متعلقة, بوابة علم الحاسوب/مقالات متعلقة, جميع المقالات التي تستخدم شريط بوابات, قالب تصنيف كومنز بوصلة كما في ويكي بيانات, صفحات تستخدم خاصية P244, صفحات تستخدم خاصية P227, صفحات تستخدم خاصية P268