مفهوم إدارة دورة حياة التطبيقات

بسم الله الرحمن الرحيم

أعزائي القراء،

يسعدني ان اقدم لكم القسم الجديد في مدونتي الخاصة  ALM بالعربية! و الذي يتعلق بإدارة دورة حياة التطبيقات باللغة العربية و ذلك ايمانا و اعتزازا مني بلغتي الأم، اللغة العربية و حرصا مني على ايصال الفائدة الى جميع المهتمين بهذا المجال في كافة ارجاء الوطن العربي.

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

إدارة تطوير البرمجيات هو من المفاهيم الحديثة و التي تشكل علامة استفهام عند الكثير من مهندسي البرمجيات و المطورين بشكل خاص و عند شركات التطوير بشكل عام.

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

مع أضافة هذه النشاطات المختلفة الى دورة التطوير لا بد من تنظيم  سير هذه النشاطات في مسار محدد و من هنا ظهرت المناهج المختلفة لتنظيم هذه التشاطات ك منهجية Waterfall، Spiral، Agile، CMMI  و غيرها من المنهجيات.

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

يختلف شكل النشاطات في دورة التطوير باختلاف النمهجية المستخدمة، فمثلا شكل النشاطات في منهجية Waterfall  يختلف عنه في منهجية  Agile Scrum  (و التي تعتبر من المنهجيات الحديثة و الرائدة في تطوير البرمجيات) كما هو موضح في الرسم التالي:

Waterfall Model

الرسم 1: منهجية سير Waterfall

Scrum Model

الرسم 1: منهجية سير Agile Scrum

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

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

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

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

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

أرجو أن تكون مدونتي نالت إعجابكم و حققت لكم الفائدة في تعريف مفهوم إدارة دورة حياة التطبيقات.

و اخر دعوانا أن الحمد لله رب العالمين.

سليمان البطاط

المراجع:

-        تم أخذ رسم منهجية  Waterfall  من http://www.waterfall-model.com/

-        تم أخذ رسم منهجية Agile Scrum  من http://en.wikipedia.org/wiki/File:Scrum_process.svg

About these ads

2 thoughts on “مفهوم إدارة دورة حياة التطبيقات

  1. قد لا اكون من هواة البرمجيات ولكن ارى التنسيقو التسلسل في طرح المعلومات …. اتمنى لك التوفيق و احييك على اختيار اللغة الع

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s