ما هي دورة حياة تطوير البرمجيات SDLC

اقرأ في هذا المقال


دورة حياة تطوير البرمجيات:

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

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

  • (SDLC) هي اختصار لـ (Software Development Life Cycle).

كيف تعمل دورة حياة تطوير البرمجيات؟

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

المراحل السبع من دورة حياة تطوير البرمجيات:

1- مرحلة التخطيط:

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

2- مرحلة تحليل الأنظمة وتحديد المتطلبات:

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

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

3- مرحلة التصميم والنماذج:

تمثل مرحلة التصميم الطريقة التي سيعمل بها التطبيق البرمجي، وتتضمن بعض جوانب التصميم ما يلي:

  • الهندسة المعمارية: تحدد لغة البرمجة، وممارسات الصناعة، والتصميم العام، واستخدام أي قوالب أو نموذج معياري.
  • واجهة المستخدم: تحدد طرق تفاعل العملاء مع البرنامج، وكيف يستجيب البرنامج للمدخلات.
  • الأنظمة الأساسية: تحدد الأنظمة الأساسية التي سيتم تشغيل البرنامج عليها، مثل (Apple) أو (Android) أو إصدار (Windows) أو (Linux) أو حتى وحدات تحكم الألعاب.
  • البرمجة: ليست لغة البرمجة فقط، بل تشمل طرق حل المشكلات وأداء المهام في التطبيق.
  • الاتصالات: تحدد الطرق التي يمكن للتطبيق الاتصال بها مع الأصول الأخرى، مثل الخادم المركزي أو التطبيقات الأخرى.
  • الأمان: يحدد التدابير المتخذة لتأمين التطبيق، وقد يشمل تشفير حركة مرور (SSL)، وحماية كلمة المرور، والتخزين الآمن لبيانات اعتماد المستخدم.

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

4- تطوير البرمجيات:

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

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

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

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

5- مرحلة الاختبار:

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

6- تعيين مرحلة النشر:

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

7- مرحلة العمليات والصيانة:

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

المصدر: What is SDLC? Phases of Software DevelopmentThe Seven Phases of the System-Development Life CycleSystem Development Life CycleWhat Is SDLC? Understand the Software Development Life Cycle


شارك المقالة: