التدوينات الموسومة بـ ‘هندسة برمجيات’

إدراة الإصدارات للتطبيقات

December 6, 2010 - الاثنين 01 محرم 1432

قبل البدء أود أن أشكر المهندس خالد على اتاحة الفرصة لي للمشاركة بهذه المقالة المتواضعة في مدونته الرائدة وان شاء الله لن تكون الأخيرة.

مقدمة:

إن طبيعة تطوير التطبيقات (Application Development) تتطلب التطوير المستمر فمن الوارد ظهور الأخطاء (Errors) وتغيير المتطلبات (Change Request) أو طلب واقتراح مميزات جديدة (New Feature). وهنا تبرز أهمية ادارة الاصدارات لتطبيقك (Software Version Release Control).

ما هو الإصدار (Release)؟
في عالم البرمجيات (Software) كل نسخة من التطبيق تقوم بنشرها (Publish) أو تركيبها (Deployment) على الخادم تعتبر اصدارا.

ما هو رقم الاصدار؟
رقم الاصدار هو عبارة عن رقم فريد (Unique Number) يعبر عن مرحلة من مراحل تطوير أونشر التطبيق. يوجد أكثر من شكل أرقم الإصدار (Schema)  فمنها ما هو رقم تسلسلي مثل (1.0.0.0)  وهو الأكثر استخداما ومنها ما هو غير ذلك.

تفرعات الرقم التسلسلي:
يتفرع الرقم التسلسلي بشكل أساسي إلى ثلاثة أفرع:
[Major Sequence].[Minor Sequence].[Revision Sequence]
التوضيح:

  1. فرع الرقم الأساس (Major Sequence):
    يمثل رقم تسلسلي للإصدار الأساسي الذي لا يزيد إلا إذا تمت كتابة الشيفرة مرة أخرى أو تم التعديل على جزء كبير منها.
  2. فرع الرقم الثانوي (Minor Sequence):
    يمثل رقم تسلسلي ثانوي يزيد في حالة تمت اضافة وظيفة جديدة أو تغيير كبير في ميزة معينة أو تغيير كبير في واجهة المستخدم.
  3. فرع رقم المراجعة (Revision Sequence):
    يمثل رقم تسلسلي للمراجعة ويزيد في حالة اصلاح مشكلة وتعديل بسيط في واجهة المستخدم للتطبيق.
ما هي ادارة الاصدارت؟
هي طريقة للتحكم في الشيفرة المصدرية (Source Code) للتطبيقات وهيكلة قاعدة البيانات بعد نشر (Publish) أوتركيب (Deployment) يمكن من خلالها معرفة تاريخ التطبيق والتغييرات التي تمت عليه وكذالك ماهي التغييرات المخطط لتنفيذها في المستقبل -إن وجدت-.
ما أهمية ادارة الاصدارات؟
تكمن أهمية ادارة الاصدارات -كما ذكرنا سابقا- في كون طبيعة تطوير التطبيقات غير ثابته وتحتاج الى التعديل والتطوير بإستمرار. ويمكننا تلخيص اهميتها في ثلاث نقاط:

1- تنظيم نشر التطبيق:

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

2- تنظيم تطوير التطبيق:

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

3- تنظيم صيانة للتطبيق:

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

  1. لو افترضنا أنك قمت بنشر الاصدار رقم 1.0.0 من تطبيقك
  2. ثم بدأت بالعمل على الاصدار رقم 1.1.0 والذي يحتوي على مزايا جديدة.
  3. وبعد وفتره ظهرت مشكلة في الاصدار المنشور رقم 1.0.0
  4. ففي هذه الحالة ستتوقف عن العمل على الاصدار رقم 1.1.0
  5. وسترجع الى الاصدار رقم 1.0.0 لتقوم بإصلاح المشكلة
  6. وبعد الانتهاء من حل المشكلة ستنشر الاصدار الجديد رقم 1.0.1
  7. وستعود مجددا للعمل على الاصدار الجديد 1.1.0

الكاتب/ المهندس خالد مسيعد (@abo_ans) – مطور تطبيقات ويب.

http://tip2dev.blogspot.com

دورة حياة البرامج

May 17, 2009 - الأحد 24 جمادى الأولى 1430

السلام عليكم،
للبرامج كما للمخلوقات دورة حياة تمر فيها ومن قرأ كتب عن هندسة البرمجيات والتحليل يعرف هذا جيداً، في لمحة سريعة سنتعرف على دورة حياة البرنامج من ناحية الإصدارات التي كثيراً ما نسمع عنها (ألفا Alpha، بيتا Beta) وترقيم الإصدارات (1.1، 1.2.13) ولكن أغلبنا لا يعرف ماهيتها بالضبط، معلومات لابد أن يعرفها جميع العاملين في حقل البرمجة والبرامج.
(اقرأ المزيد …)