نموذج التزامن
- في إدارة التكوين ، يجب التحكم (من بين أمور أخرى) في التغييرات التي تُجرى على البرامج والوثائق. يُطلق على هذا اسم التحكم في الإصدارات ، والذي يُدير إصدارات متعددة من نفس وحدة المعلومات. مع أن التحكم في الإصدارات مهم لإدارة التكوين، إلا أنه ليس مرادفًا لها.
تصف نماذج التزامن ، والمعروفة أيضًا باسم نماذج إدارة التكوين (Feiler، 1991)، طرقًا لتمكين التحكم في المراجعة من خلال السماح بإجراء تغييرات متزامنة ومتتابعة على الملفات الفردية.
نماذج التزامن
يقدم فيلر (1991) تقريراً عن أربعة نماذج تزامن مختلفة، موصوفة بإيجاز أدناه.
تسجيل المغادرة / تسجيل الوصول
في نموذج السحب/الإيداع، تُخزَّن الملفات بشكل فردي في مستودع ، حيث يتم سحبها عند الوصول إليها، وإيداعها عند تغييرها. يمكن لهذا المستودع تخزين نسخ متعددة من الملفات. ولأن هذه الملفات قد تكون وثائق أو شفرة مصدرية ، أو حتى مجموعة ملفات، فسيتم استخدام مصطلح " عنصر التكوين " (CI) من الآن فصاعدًا. وتتمثل الآلية الأساسية المستخدمة لمنع التعارضات الناتجة عن التعديلات المتزامنة في آلية القفل .
تعبير
يُعدّ نموذج التكوين امتدادًا لنموذج السحب/الإيداع. يُمكّن هذا النموذج المطورين من التفكير في التكوينات بدلًا من الملفات الفردية. ورغم أن نموذج السحب/الإيداع الكامل مُجسّد في نموذج التكوين، إلا أنه يُتيح استخدام استراتيجيات مختلفة للتحديث من خلال دعم مُحسّن لإدارة التكوينات. يُعرَّف التكوين بأنه مُنشأ من نموذج النظام وقواعد اختيار الإصدار. يُحدد نموذج النظام الملفات المُستخدمة، بينما تُحدد قواعد اختيار الإصدار إصدار الملفات (مثل أحدث الإصدارات أو إصدار حالة تطوير مُعينة ).
المعاملات الطويلة
يتبنى نموذج المعاملات الطويلة نهجًا أوسع نطاقًا، إذ يفترض أن النظام مبنيٌّ على تغييرات منطقية. ويركز هذا النموذج على تنسيق هذه التغييرات ودمجها. ويستخدم أساسًا إصدارات من الإعدادات وإصدارات من الملفات. يُنشأ إعدادٌ بناءً على طلب تغيير يُخزَّن بشكل منفصل. ويمكن مزامنة الملفات في هذا الإعداد باستخدام نموذج السحب/الإيداع. وعند اكتمال التغيير، يُعاد تخزين الإعداد الكامل في المستودع ويُدمج مع التغييرات الأخرى.
مجموعة التغيير
يعتمد نموذج مجموعة التغييرات أيضًا على طلبات التغيير، ويشترك في العديد من الخصائص مع نموذج المعاملات الطويلة. مع ذلك، يبدأ هذا النموذج بتكوين معين كأساس للتغييرات، ثم يتم تعديل هذا التكوين وفقًا لطلبات التغيير المستقلة الواردة. بعد ذلك، تُنشأ تكوينات جديدة للمنتج بتطبيق مجموعات من التغييرات المخزنة بشكل مستقل على الإصدار الأساسي .
يتناول هذا المدخل نموذج مزامنة تسجيل الخروج/تسجيل الدخول، بما في ذلك النموذج الفوقي ( مخطط بيانات العملية ). ولأن نموذج تسجيل الخروج/تسجيل الدخول مُدرجٌ أيضًا كجزء من النماذج الأخرى المذكورة أعلاه، فسيتم شرحه بتفصيل أكبر. أما المسائل التي لم تُناقش بالتفصيل فهي نماذج المزامنة الثلاثة المتبقية، وعملية تحرير عناصر التكوين، بالإضافة إلى الطرق المتعلقة بها.
مفردات
| مفهوم | تعريف |
|---|---|
| إصدار | النسخة هي حالة لكائن أو مفهوم تختلف عن حالته أو وضعه السابق. |
| عنصر التكوين | عنصر من عناصر البرمجيات أو مستند يخضع للتحكم في الإصدار. ويمكن تعريف مجموعة من عناصر التحكم أيضًا على أنها عنصر تحكم (Crnkovic et al., 2003). |
| سجل عناصر التكوين | مفهوم لتسهيل ترقيم الإصدارات. يفصل السمات الخاصة بكل إصدار عن السمات المشتركة بين جميع الإصدارات (فان دي ويرد، 2005). |
| وثيقة | تُعدّ أنواع عديدة من الوثائق جزءًا من هندسة البرمجيات. على سبيل المثال، الوثائق التي تصف بنية البرمجيات، والوثائق التقنية، وأدلة المستخدم، وما إلى ذلك. |
| ملف الكود المصدري | يحتوي ملف الشفرة المصدرية على أي سلسلة من التعليمات المكتوبة بلغة برمجة حاسوبية يسهل على الإنسان قراءتها . والشفرة المصدرية لبرنامج حاسوبي هي مجموعة الملفات التي يمكن تحويلها من صيغة يسهل على الإنسان قراءتها إلى صيغة مكافئة قابلة للتنفيذ بواسطة الحاسوب. |
| مستودع | يُطلق على المستودع أيضًا اسم القبو. يحتوي المستودع على نسخة كاملة واحدة فقط من عنصر التكوين. عادةً ما يتم تخزين الاختلافات بين الإصدارات باستخدام خوارزمية دلتا (Crnkovic, Asklund & Persson-Dahlqvist, 2003). |
| تنظيم الإصدارات | يمكن تنظيم إصدارات CI بعدة طرق مختلفة. وهذا هو الأصل للمفاهيم التي تصف تنظيم الإصدارات (Crnkovic et al., 2003). |
| فرع | تم تنظيم الإصدارات كخطوط تطوير متوازية (Crnkovic et al., 2003). |
| مراجعة | النسخ المنظمة في تسلسل (Crnkovic et al., 2003). |
| دولة نامية | يُعبّر هذا عن كيفية تقدّم تطوير برنامج ما، ومقدار التطوير الإضافي الذي قد يحتاجه. عادةً ما يمر كل إصدار رئيسي من المنتج بمرحلة تُضاف فيها ميزات جديدة (مرحلة ألفا)، ثم مرحلة تُجرى فيها عمليات تصحيح الأخطاء بشكل فعّال (مرحلة بيتا)، وأخيرًا مرحلة تُزال فيها جميع الأخطاء المهمة (مرحلة الاستقرار). |
شرح مفصل لنموذج تسجيل المغادرة/تسجيل الوصول
يحتوي هذا القسم على شرح مفصل لنموذج مزامنة تسجيل المغادرة/تسجيل الوصول.
مخطط البيانات والعمليات

يوضح مخطط البيانات والعمليات أعلاه المفاهيم المختلفة التي تنطبق على نموذج مزامنة تسجيل الخروج/تسجيل الدخول وعلاقتها بالأنشطة الجارية. يُعد عنصر التكوين (Configuration Item) عنصرًا أساسيًا في نموذج البيانات الوصفية (على يمين الشكل). يُخزَّن هذا العنصر في مستودع واحد أو أكثر، وقد يكون، على سبيل المثال، ملفًا برمجيًا مصدريًا أو مجموعة من عناصر التكوين الأخرى. يمكن أن يحتوي المستودع على فروع ومراجعات متعددة للملفات، والتي بدورها تتكون من عناصر التكوين.
يصف نموذج العملية الفوقية (الجانب الأيسر من الشكل) عملية تسجيل المغادرة وتسجيل الوصول. ويوضح الجدول أدناه تفاصيل هذه العمليات.
| نشاط | النشاط الفرعي | تعريف |
|---|---|---|
| الدفع | لا تتم قراءة الملفات أو تغييرها مباشرة من المستودع. عملية استخراج الملفات تصف هذه الأنشطة. | |
| نسخ CI | يتم نسخ نسخة معينة من نظام التكامل المستمر من المستودع. | |
| قفل CI | إذا كانت هناك حاجة إلى صلاحية الكتابة، ولم يكن عنصر التكامل المستمر (CI) مقفلاً بالفعل من قبل شخص آخر، فسيتم قفله. وإلا، فلن يكون بالإمكان كتابة عنصر التكامل المستمر (CI) مرة أخرى إلى المستودع (صلاحية القراءة فقط). | |
| تعديل CI | يقوم الشخص الذي يحرر نظام التكامل المستمر بإجراء تغييرات عليه. وهذا خارج نطاق النموذج الفوقي الحالي المتعلق بإدارة الإصدارات. | |
| تحقق في | يجب إعادة وضع عنصر التكامل المستمر في المستودع. وتصف عملية تسجيل الدخول هذه الأنشطة. | |
| اختر استراتيجية إدارة الإصدارات | يجب إعادة وضع عنصر التكامل الجديد في المستودع باستخدام استراتيجية إدارة الإصدارات. يوضح هذا كيفية اختيار الاستراتيجية المستخدمة لإعادة وضع عنصر التكامل في المستودع. | |
| إنشاء فرع | تم اختيار CI ليكون بداية فرع جديد. | |
| إنشاء مراجعة | تم اختيار عنصر التحكم ليكون نسخة منقحة من عنصر تحكم آخر. | |
| حدد حالة التطوير | تم تحديد أن مركز المعلومات السريرية في مرحلة تطوير معينة. | |
| اكتب CI | يتم تخزين عنصر التحكم في المستودع. | |
| فتح CI | تم فتح قفل وحدة التحكم. |
تقييم
قام فيلر (1991) بتقييم نموذج مزامنة تسجيل الخروج/تسجيل الدخول. يتميز هذا النموذج بسهولة استخدامه وفهمه، إلا أن هذه البساطة تؤدي إلى قصور في إدارة الإعدادات، مثل تتبع إصدارات المنتج والتحقق من سجل الإصدارات عبر ملفات متعددة مترابطة منطقيًا.
تُعد آلية التناوب في القفل مشكلة حقيقية أيضًا عند العمل مع العديد من المطورين، حيث لا يمكن للآخرين تعديل هذه الملفات بمجرد قفلها.
مثال
لتوضيح نموذج مزامنة تسجيل الخروج/تسجيل الدخول، يحتوي هذا القسم على مثال لكيفية عمل هذه العملية. يوضح الشكل أدناه مخطط انتقال الحالة لوحدة التحكم.

عند إنشاء عنصر تكامل (CI) لأول مرة، يتم تعديله وتخزينه في المستودع. عندما يطلب أحدهم فتح عنصر التكامل، يتم نسخه أولاً إلى الجهاز المحلي للمطور (ملاحظة: توجد أنظمة يتم فيها التعديل مباشرةً في المستودع. مع ذلك، فإن خطوة النسخ تتم بالطريقة التقليدية للسحب/الإيداع). عندما يرغب المطور نفسه في تعديل عنصر التكامل، يطلب قفله. يمكن القيام بذلك مباشرةً عند طلب فتح عنصر التكامل، أو بعد فترة من قراءته. عندما لا يكون عنصر التكامل مقفلاً، يتم تطبيق قفل عليه، ويمكن للمطور تعديله. بعد إجراء التعديلات، يُعاد تخزينه في المستودع ويُفتح. الآن، لنفترض أن المطور الذي تم ذكره للتو بصدد تعديل عنصر تكامل موجود بالفعل في المستودع. تريد فتح عنصر التكامل من المستودع، لذا يتم نسخه إلى محرك الأقراص المحلي لديك. تبدأ في قراءته وتجد بعض الأشياء التي ترغب في تغييرها، فتطلب تعديله. ومع ذلك، فإن ملف CI مغلق بالفعل وسيتعين عليك الانتظار حتى يتم فتحه أو إغلاق الملف والمتابعة إلى ملف آخر.
انظر أيضاً
مراجع
- كرنكوفيتش، آي.؛ أسكلوند، يو.؛ بيرسون-دالكفيست، أ. (2003)، تطبيق ودمج إدارة بيانات المنتج وإدارة تكوين البرمجيات ، لندن: دار نشر أرتيك هاوس
- فيلر، بي إتش (1991)، "نماذج إدارة التكوين في البيئات التجارية"، تقرير فني CMU/SEI-91-TR-7 ، معهد هندسة البرمجيات، جامعة كارنيجي ميلون
- فان دي ويرد، آي. (2005)، تقنية النمذجة الوصفية – مسودة دورة هندسة الطرق 05/06
- التحكم في الإصدار
