Also Like

نماذج UML – مخطط الكيانات والعلاقات (ERD) ومخطط التسلسل الفصل الرابع – الجزء الثالث



نماذج UML – مخطط الكيانات والعلاقات (ERD) ومخطط التسلسل


 يُعدّ نمذجة الأنظمة خطوة أساسية في دورة حياة تطوير البرمجيات Software Development Life Cycle (SDLC). فقبل بناء أي نظام فعلي، يجب على محلل الأنظمة والمصممين فهم طبيعة البيانات، وترابط مكوّنات النظام، وتسلسل العمليات بين المستخدمين والكائنات الداخلية. وفي هذا الإطار، تُعدّ النماذج الرسومية Graphical Models أداة ضرورية لصياغة هذا الفهم وتحويله إلى وثائق واضحة تسهّل عملية التطوير، وتعزز التواصل بين فريق العمل.

يُركّز هذا الجزء من الفصل على نموذجين من أهم نماذج UML:

  • مخطط الكيانات والعلاقات ERD – Entity Relationship Diagram
  • مخطط التتابع Sequence Diagram

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


القسم الأول: مخطط الكيانات والعلاقات ERD

 تعريف مخطط ERD

يمثل مخطط الكيانات والعلاقات ERD وصفاً بصرياً لهيكل قاعدة البيانات. وهو يوضّح:

  • الكيانات الأساسية في النظام Entities
  • الصفات Attributes الخاصة بكل كيان
  • العلاقات Relationships بين الكيانات
  • نوع العلاقة (1:1، 1:N، N:M)
  • المفاتيح الأساسية PK والمفاتيح الأجنبية FK

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


أهمية ERD في تطوير البرمجيات

لا يقتصر دور ERD على رسم الجداول؛ بل يمثّل حجر الأساس في:

  • تحديد المتطلبات المتعلقة بالبيانات
  • فهم الترابط بين أجزاء النظام
  • ضمان التكامل Data Integrity داخل قاعدة البيانات
  • منع التكرار والازدواجية Redundancy
  • تحسين جودة التصميم قبل كتابة الكود

وبالتالي، يقلل ERD من الأخطاء المكلفة التي تظهر عند بناء قاعدة البيانات بشكل غير مدروس.

 عناصر ERD الأساسية

أولاً: الكيان Entity

الكيان هو أي شيء في النظام له وجود مستقل ويمكن وصفه بصفات.
أمثلة:
Student، Course، Teacher، Product، Order.

يمكن أن يمثل الكيان شخصاً، مكاناً، حدثاً، أو شيئاً مادياً.


ثانياً: الصفات Attributes

الصفات هي خصائص تميّز الكيان. لكل صفة نوع بيانات يحدد طبيعة محتواها.

مثال كيان Student:

  • StudentID
  • Name
  • Email
  • Phone
  • BirthDate

بعض الصفات قد تكون إلزامية Mandatory، وبعضها اختياري Optional.


ثالثاً: المفتاح الأساسي Primary Key (PK)

هو صفة أو مجموعة صفات تضمن تميّز السجلات وعدم تكرارها، مثل:

  • StudentID
  • ProductID
  • OrderNumber

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


رابعاً: المفتاح الأجنبي Foreign Key (FK)

هو صفة تربط بين كيانين، للإشارة إلى علاقة منطقية بينهما.
مثال:
CourseID في جدول Enrollments يشير إلى أن الطالب مسجَّل في مادة معينة.


خامساً: العلاقات Relationships

تصنّف العلاقات إلى ثلاثة أنواع رئيسية:

1. علاقة واحد إلى واحد (One-to-One)

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

2. علاقة واحد إلى متعدد (One-to-Many)

وهي الأكثر شيوعاً في الأنظمة.
مثال:
المعلم يدرّس عدة مواد
Customer → Orders

3. علاقة متعدد إلى متعدد (Many-to-Many)

مثال:
الطلاب يسجلون في عدة مواد
وكل مادة تضم عدداً من الطلاب
Student ↔ Course

هذا النوع يحتاج إلى كيان وسيط يسمى Associative Entity.


4. مستويات تصميم ERD

يُصمّم ERD بثلاث مستويات:

1. ERD المفاهيمي Conceptual

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

2. ERD المنطقي Logical

يحدّد الصفات، المفاتيح الأساسية، وأنواع العلاقات بشكل مفصل.

3. ERD الفيزيائي Physical

يركّز على كيفية تحويل النموذج إلى جداول فعلية داخل قاعدة البيانات.


 مثال تطبيقي: نظام متجر إلكتروني

الكيانات

Customer
Product
Order
OrderItem

العلاقات

Customer 1:N Order
Order N:M Product (عبر OrderItem)





القسم الثاني: مخطط التتابع Sequence Diagram

1. تعريف Sequence Diagram

هو نموذج يُظهر التفاعل المتسلسل بين أجزاء النظام خلال فترة زمنية، ويصف:

  • كيف يبدأ الحدث
  • من يرسل رسالة لمن
  • ما هو ترتيب الرسائل
  • كيف تتم معالجة الطلبات

يستخدم بشكل رئيسي في تحليل سيناريوهات Use Cases.


2. أهمية Sequence Diagram

يساعد المخطط في:

  • فهم المنطق الداخلي للنظام
  • توضيح كيفية سير العمليات المعقدة
  • كشف الأخطاء المنطقية قبل البرمجة
  • توثيق السيناريوهات المهمة للمطورين

هذا النموذج أساسي في تحليل الأنظمة المبنية على الخدمات Service-Based Systems.


3. مكونات مخطط Sequence Diagram

أولاً: الممثل Actor

هو الشخص أو النظام الخارجي الذي يبدأ الحدث.
مثال: User – Admin – Payment Gateway


ثانياً: خط الحياة Lifeline

خط عمودي يُظهر وجود الكائن عبر الزمن.


ثالثاً: الرسائل Messages

توجد أنواع للرسائل:

  • رسالة طلب Call Message
  • رسالة استجابة Return Message
  • رسالة متزامنة Synchronous
  • رسالة غير متزامنة Asynchronous


رابعاً: مربّع التفعيل Activation Box

يمثل المدة الزمنية التي ينفّذ فيها الكائن عملية معينة.


4. مثال تفصيلي: سيناريو تسجيل الدخول

الخطوات

  1. يدخل المستخدم بياناته.
  2. واجهة النظام ترسل البيانات إلى وحدة التحقق.
  3. وحدة التحقق تتواصل مع قاعدة البيانات.
  4. قاعدة البيانات تتحقّق من البيانات.
  5. تعيد النتيجة للوحدة.
  6. النظام يرسل للمستخدم نجاح الدخول أو فشله.



User → UI: Enter credentials
UI → AuthService: Submit credentials
AuthService → Database: Query user
Database → AuthService: نتيجة التحقق
AuthService → UI: Successful login result

5. مقارنة بين ERD و Sequence Diagram

الجانبERDSequence Diagram
التركيزالبياناتالسلوك
الزمنلا يهتم بالزمنيعتمد على الزمن
الهدففهم قاعدة البيانات                 فهم منطق التشغيل
الاستخدام                               تصميم قواعد البيانات تحليل الاستخدام Use Cases


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

Comments