مخططات مكونات UML: إرشادات

في Visual Studio Ultimate ، يمكنك رسم مخطط مكونات لإظهار بنية نظام برنامج.

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

رسم مخططات مكونات له فوائد عديدة:

  • التفكير في التصميم بالنسبة إلى الكتل الرئيسية يساعد فريق التطوير على فهم التصميم الموجود وإنشاء واحد جديد.

  • بواسطة التفكير في النظام كمجموعة من المكونات مع واجهات متوفرة و مطلوبة جيدة التعريف, فأنت تقوم بتحسين الفصل بين المكونات. هذا بدوره يجعل التصميم أسهل في الفهم و التغيير عند تغيير المتطلبات.

يمكنك استخدام مخطط مكونات لتمثيل التصميم الخاص بك بغضّ النظر عن اللغة أو النظام الأساسي الذي يستخدمه أو سيستخدمه النظام.

في هذا الموضوع

العلاقة بالمخططات الأخرى

الخطوات الأساسية لرسم مخططات مكونات

إظهار الأجزاء الداخلية لمكوّن

تصميم المكون

ملاحظة

للحصول على معلومات مرجعية حول العناصر الموجودة في مخططات المكونات, راجع مخططات مكونات UML: المرجع.

العلاقة بالمخططات الأخرى

يمكنك استخدام مخطط مكونات بالاقتران مع المخططات الأخرى.

المخطط الآخر

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

مخطط تسلسل UML

  • التفاعلات بين مكونات نظام

  • التفاعلات بين الأجزاء داخل مكوّن.

لمزيد من المعلومات، راجع مخططات تسلسل UML: إرشادات.

مخطط فئة UML

  • الواجهات لمكون ، و الفئات التي تشكّل أجزاء المكون.

  • البيانات المرسلة في معاملات عبر واجهات المكونات.

لمزيد من المعلومات، راجع مخططات فئات UML: إرشادات.

مخططات الأنشطة

  • المعالجة الداخلية المنفّذة من قِبل مكون كاستجابة للرسائل الواردة.

لمزيد من المعلومات، راجع مخططات أنشطة UML: إرشادات.

المخططات الطبقية:

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

لمزيد من المعلومات، راجع الرسومات التخطيطية الطبقية: المرجع.

الخطوات الأساسية لرسم مخططات مكونات

للحصول على معلومات مرجعية حول العناصر الموجودة في مخططات المكونات, راجع مخططات مكونات UML: المرجع.

للحصول على مزيد من المعلومات حول كيفية استخدام مخططات المكونات في عملية التصميم, راجع بناء نمذجة لبنية نظام البرامج..

ملاحظة

الخطوات المفصلة لكيفية إنشاء أي من مخططات الطراز موصوفة في كيفية القيام بما يلي: تحرير مخططات و طراز UML.

لإنشاء مخطط مكونات

  1. في القائمة بنية ، انقر فوق مخطط جديد .

  2. ضمن قوالب، انقر فوق مخطط مكونات UML .

  3. إسم المخطط .

  4. في إضافة إلى مشروع طراز, حدد مشروع طراز موجود في الحل أو إنشاء مشروع طراز جديدثم انقر فوق موافق .

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

رسم المكونات

مكونات الواجهات

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

تتضمن الأمثلة تطبيق, أو جهاز, أو خدمة ويب, أو تجميع .NET ، أو فئة برنامج, أو مجموعة من الفئات, أو أي قطاع قابل للفصل من برنامج.

لإنشاء مكونات

  1. انقر فوق المكونات في مربع الأدوات ثم انقر فوق جزء فاؤغ من المخطط .

    -أو-

    انسخ و الصق مكون موجود.

    1. اعثر على مكون موجود في مخطط أو في مستكشف طرازات UML.

    2. انقر بزر الماوس الأيمن فوق المكون، ثم انقر فوق نسخ.

    3. افتح المخطط الذي تريد للمكون المنسوخ أن يظهر فيه.

    4. انقر يمينا فوق جزء فارغ من المخطط ثم انقر فوق لصق.

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

  2. انقر فوق اسم المكون لتغييره.

  3. انقر فوق شكل الرتبة العسكرية (5) إذا كنت تريد مراجعة رأس المكوّن فقط.

إظهار المنافذ الخاصة بمكون

المنفذ (2, 3) يمثل مجموعة من الرسائل أو اتدعاءات العمليات التي تمرّ إلى أو من المكون. يتم وصف المجموعة بواسطة واجهة ، و التي تحدد نوع المنفذ. المنفذ يمكن إما أن يوفر أو يتطلب واجهة.

المنفذ بـ واجهة متوفرة (2) يوفر العمليات التي يتم تطبيقها من قبل المكون, و التي يمكن استخدامها بواسطة المكونات الأخرى.

تتضمن الأمثلة واجهة مستخدم، أو خدمة ويب, أو واجهة .NET, أو مجموعة من الدالات في أي لغة برمجة.

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

على سبيل المثال، مستعرض ويب يتطلب خادم ويب, أو وظيفة إضافية لتطبيق تتطلب خدمات من التطبيق.

المكون يمكن أن يكون لديه أي عدد من المنافذ.

لإضافة منافذ لمكوّن

  1. في مربع الأدوات، انقر فوق واجهة متوفرة أو واجهة مطلوبة .

  2. انقر فوق المكون التي ترغب في الإضافة إليه.

    يظهر منفذ على الحد للمكون.

    يتم إنشاء واجهة جديدة كنوع المنفذ. هذه الواجهة تظهر في مستكشف طرازات UML.

  3. اسحب المنفذ حول حدّ المكون لوضعه في المكان الذي تريد.

  4. اسحب تسمية المنفذ لضبط موضعه.

  5. انقر فوق التسمية لتغييرها. التسمية تُظهر اسم الواجهة. إذا قمت بتغييرها ، فأنت تقوم بتغيير اسم الواجهة.

الربط بين المكونات

استخدم تبعية (4) لإظهار أن أحد متطلبات المكون يمكن أن يتم استيفاؤها من قِبَل العمليات أو الخدمات الموفرة من قبل مكون آخر.

لإظهار أن واجهة متوفرة يمكنها استيفاء الواجهة المطلوبة

  1. في مربع الأدوات، انقر فوقتبعية.

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

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

لإضافة منفذ واجهة موجودة إلى مكون

  • اعثر على الواجهة في مستكشف طرازات UML ثم اسحبها من هناك إلى المكون.

    -أو-

  • انسخ و الصق مرجعًا إلى واجهة من مخطط .

    1. في مخطط فئات أو مخطط مكونات , انقر يمينا فوق الواجهة ثم انقر فوق نسخ.

    2. في مخطط المكونات, انقر يمينا فوق المكون ثم انقر فوق لصق مرجع.

      تظهر واجهة متوفرة على المكون. تظهر علامة ذكية بالقرب منها.

      ملاحظة

      إذا كنت تستخدم لصق بدلاً من لصق مرجع ، سيتم إنشاء واجهة جديدة باسم جديد.

    3. إذا أردت إنشاء واجهة مطلوبة, انقر فوق العلامة الذكية ومن ثم انقر فوق التحويل إلى واجهة مطلوبة .

إظهار الأجزاء الداخلية لمكوّن

الرسم التخطيطي للمكون الذي يوضح الأجزاء الداخلية

يمكنك وضع أجزاء (3) في أحد المكونات (1) لإظهار كيف أنه يتكون من مكونات أصغر تتفاعل مع بعضها البعض.

المخطط في الشكل التوضيحي يوضح أن كل مثيل من النوع "خدمة ويب العشاء الآن" يحتوي على مثيل واحد من "خدمة العملاء" و مثيل واحد من "خادم المطبخ".

الجزء هو خاصية من المكون الأصلي الخاص به, يشبه كثيرًا سمة تنتمي إلى فئة عادية. الجزء له النوع الخاص به، و الذي عادةً يكون مكون. تسمية الجزء لها نفس شكل السمة العادية:

+ partName : TypeName

داخل المكون الأصلي, كل جزء يُظهر الواجهات المتوفرة والمطلوبة التي تم تعريفها للنوع الخاص به (4, 5). العمليات أو الخدمات التي يتطلبها أحد الأخزاء يمكن توفيرها بواسطة آخر. يمكنك استخدام موصّلات تجميع جزء لإظهار كيفية اتصال الأجزاء ببعضها (6).

يمكنك أيضاً إظهار أن واجهة من المكون الأصلي هي بالفعل تم توفيرها أو طلبها من قبل أحد أجزائه. يمكنك توصيل منفذ من الأصل بمنفذ من الجزء الداخلي باستخدام علاقة تفويض (9). المنفذين يجب أن يكونا من نفس النوع (متوفر أو مطلوب) ، و أنواع الواجهات الخاصة بهم يجب أن تكون متوافقة.

يمكنك إنشاء جزء جديد إما بنوع جديد، أو من نوع موجود.

لإضافة أجزاء إلى مكوّن

  1. أنشئ جزءًا لكل وحدة وظيفية رئيسية تعتبرها جزءاً من المكون الأصلي.

    1. انقر فوق المكون في مربع الأدوات، ثم انقر داخل المكون الأصلي (1).

      يظهر جزء جديد (3) داخل المكون الأصلي.

      يتم إنشاء مكون جديد في مستكشف طرازات UML وهذا هو نوع الجزء الجديد.

      -أو-

      اسحب مكون حالي من "مستكشف طرازات UML" إلى المكون الأصلي.

      يظهر جزء جديد (3) داخل المكون الأصلي. نوعه هو المكون الذي سحبته من "مستكشف طرازات UML".

      -أو-

      انقر يمينا فوق مكون -إما في مخطط أو في "مستكشف طرازات UML"- ثم انقر فوق نسخ.

      انقر يمينا فوق المكون الأصلي ,ثم انقر فوق لصق مرجع.

      يظهر جزء جديد (3) داخل المكون الأصلي. نوعه هو المكون الذي قمت بنسخه.

    2. انقر فوق اسم الجزء الجديد لتغييره. لا يمكنك تغيير نوعه.

    3. يمكنك إضافة واجهات متوفرة و مطلوبة (4, 5) إلى الجزء الجديد. انقر فوق أداة واجهة متوفرة أوواجهة مطلوبة ومن ثم انقر فوق الجزء.

      -أو-

      اسحب واجهة موجودة من مستكشف طرازات UML إلى الجزء.

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

  2. وصّل الأجزاء ببعضها.

    • استخدام الأداة تبعية لتوصيل منافذ الأجزاء المختلفة (6).
  3. وصّل الأجزاء بمنافذ المكون الأصلي:

    1. أنشئ منفذ أو أكثر (7) على المكون الأصلي. انقر فوق واجهة مطلوبة أو واجهة متوفرة في مربع الأدوات, ثم انقر فوق المكون الأصلي.

    2. فوّض (9) المنفذ إلى جزء واحد أو أكثر. انقر فوق الأداة تفويض, ثم منفذ على المكون الأصلي, ثم منفذ على جزء. يمكنك توصيل المنافذ التي توفر أو تتطلب واجهات بنفس الطريقة.

إظهار أجزاء من جزء

بعد أن تحليلك لمكون إلى أجزاء ، يمكن تحليل كل من أنواع الأجزاء إلى أجزاء خاصة داخلية.

من الأسهل عمل كل طبقة تحليل في مخطط مكونات منفصل. يجب أولاً تحديد نوع الجزء. على سبيل المثال، في الرسم التوضيحي، أحد الأجزاء يُسمى DNCustomerServer ، و نوعه هو مكون يسمى CustomerServer. يمكنك العثور على هذا النوع في "مستكشف طرازات UML" و وضعه في مخطط آخر. ثم يمكنك إنشاء الأجزاء الداخلية الخاصة به.

لوضع نوع أحد الأجزاء على مخطط

  1. حدد اسمًا مؤهلًا بشكل كامل لنوع الجزء.

    انقر بزر الماوس الأيمن فوق الجزء، ثم انقر فوق خصائص.

    اسم النوع يظهر في الحقل نوع من نافذة "خصائص".

  2. حدد نوع الجزء في مستكشف طرازات UML.

    انقر فوق عرض ، أشر إلى نوافذ أخرى، ثم انقر فوق مستكشف طرازات UML.

    قم بتوسيع المشروع و إذا لزم الأمر أي حزمة ينتمي إليها النوع.

    سيتم تصنيف النوع كـ مكون .

    يمكنك تغيير اسمه هنا إذا كنت تريد.

  3. افتح أو أنشئ مخطط مكونات آخر.

  4. اسحب من النوع في "مستكشف طرازات UML" إلى المخطط.

    تظهر عرض للنوع كمكون في المخطط.

    يكون له نفس الواجهات كما تم تعريفها للجزء.

    يمكنك الآن إضافة أجزاء داخله.

تصميم المكون

وصف كيف تعاون الأجزاء

يمكنك رسم مخطط تسلسل لإظهار كيفية عمل الأجزاء معاً رداً على رسالة تصل إلى المكون الأصلي.

يمكنك استخدام هذه المخططات لكل من شرح المكون الحالي و تصميم مكون جديد.

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

استخدم مخططات التسلسل لتقييم مدى انتشار عمل النظام بين المكونات مختلفة.

  • إذا تم تحميل الكثير على جزء واحد, يكون التطبيق أكثر احتمالا لصعوبة التحديث, أكثر من ما إذا كان العمل موزعا بالتساوي.

  • إذا كان العمل منتشرا بشكل دقيق جدا بكثير من التفاعلات, النظام قد ينفّذ بشكل سيئ وقد يكون من الصعب فهمه.

رسم تخطيطي للتسلسل توضح أجزاء متعاونة

لرسم مخطط تسلسل يُظهر التعاون بين الأجزاء

  1. أنشئ مخطط تسلسل جديد.

    لمزيد من المعلومات، راجع مخططات تسلسل UML: إرشادات.

  2. أنشئ فترة تواجد لمكون خارجي أو مستخدم أو جهاز أو ممثل آخر (1) الذي يُرسل الرسائل إلى هذا المكون.

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

  3. أنشئ فترة تواجد للواجهة المتوفرة (2) لهذا المكون الذي يرسل الممثل الذي تم اختياره الرسائل إليه.

  4. أنشئ فترة تواجد لكل جزء (3) للمكون.

  5. أنشئ فترة تواجد لكل واجهة مطلوبة (4) للمكون.

  6. اسحب الرسائل من الممثل الخارجي (5). أظهر كيفية تمرير الرسالة إلى الأجزاء, و كيف تتعاون للاستجابة للرسالة.

  7. عند الضرورة، أظهر الرسائل المرسلة واجهة مطلوبة (6). لا تُظهِر أي من التفاصيل ضمن تنفيذ الرسالة.

هل المكون أكبر من مجرد أجزاؤه؟

في بعض الحالات، يعتبر مكون ليس أكثر من اسم تم إعطاؤة لمجموعة من الأجزاء. يتم إنجاز كافة العمل بواسطة الأجزاء, و في وقت التشغيل ليس هناك أية تعليمات برمجية أو عناصر ملموسة أخرى تمثل المكون.

يمكنك الإشارة إلى هذا في الطراز عن طريق إعداد الخاصية مُنشا بشكل غير مباشر للمكون. في هذه الحالة، يجب أن تكون كافة واجهات المكوّن على منافذ, مع عمليات تفويض لأجزاء داخلية.

وصف العملية داخل كل جزء

يمكنك استخدام مخططات أنشطة لإظهار كيفية معالجة مكوّن لكل رسالة واردة. لمزيد من المعلومات، راجع مخططات أنشطة UML: إرشادات.

الرسم التخطيطي للنشاط مع مخزن مؤقت

استخدم "إجراء حدث القبول" (1) لإظهار أن الرسالة الواردة تبدأ تشغيل مؤشر ترابط جديد.

استخدام عُقَد الكائن و أطراف الإدخال/الإخراج لإظهار تدفق المعلومات, و لإظهار مكان تخزين المعلومات. في المثال، يتم استخدام إحدى عقد الكائن (2) لإظهار العناصر التي يتم تخزينها مؤقتاً بين مؤشر ترابط و آخر.

تعريف البيانات و الفئات

يمكنك استخدام مخطط فئات UML لتصف المحتوى المفصّل لـ:

  • واجهات المكونات.

  • البيانات الممررة في معاملات العمليات في الواجهات.

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

التبعيات العامة بين المكونات

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

تبعية بين المكونات

استخدم الأداة تبعية لرسم تبعية. هذا يشير إلى أن تصميم أحد المكونات يعتمد على آخر.

أنواع التبعية النموذجية تتضمن ما يلي:

  • أحد المكونات يقوم باستدعاء تعليمات برمجية داخل الآخر.

  • أحد المكونات ينشئ مثيل فئة معرفة ضمن فئة أخرى.

  • أحد المكونات يستخدم معلومات تم إنشاؤها بواسطة مكون آخر.

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

راجع أيضًا:

المرجع

مخططات تسلسل UML: المرجع

المبادئ

كيفية القيام بما يلي: تحرير مخططات و طراز UML

مخططات مكونات UML: المرجع

مخطط حالات استخدام UML المرجع

مخططات فئات UML: المرجع

مخططات مكونات UML: المرجع