دورة حياة تطوير البرمجيات - System Development Life Cycle (SDLC)

مقالات تقنية - مواضيع تقنية

دورة حياة تطوير النظام (SDLC) System Development Life Cycle

هي منهج او طريقة يتضمن سياسات(policies) وإجراءات(procedures) لتطوير(انشاء) أو تغيير الأنظمة طوال دورات حياتها(life cycles).

الهدف من هذه الطريقة او النهج هي الوصول الى نظام عالي الجودة يلبي توقعات العملاء(meets customer expectations)، بحيث يتم الانتهاء من المشروع (النظام) بحيث يكون ضمن الوقت والتكلفة المحدده له، ولا بد من ان يعمل بفعالية(effectively) وكفاءة(efficiently) للهدف المخطط له.

عادتا عند عمل هذه الدورة يستخدم المحللون مجموعة من الأنشطة هي:

  • جمع المتطلبات (requirements)
  • اعداد التصميم (design)
  • التطوير (deployment)
  • العمليات(operations)
  • التنفيذ والتطبيق (implementation)
  • الاختبارات (testing)
  • اعمال صيانة(maintenance)


مراحل SDLC (Phases of SDLC)

حكينا عن دورة حياة المشروع بانها نهج او طريقة، وبالتالي اكيد هذه الطريقة لا بد ان تقوم على اساس صحيح لتقسيم العمل إلى مراحل واضحه ومفهومة لانشاء او  تطوير نظام معلومات(Information System).

يمكن تقسم مراحل SDLC الى :

  • التخطيط (Planning)
  • تحليل الأنظمة والمتطلبات(Systems Analysis and Requirements)
  • تصميم النظم(Systems Design)
  • التطوير والتنفيذ (Development and Implementation)
  • التكامل والاختبار(Integration and Testing)
  • عمليات التشغيل والصيانة(Operations and Maintenance)


تمام نفهم هذه المراحل 


مرحلة التخطيط (Planning)

يتم في هذه المرحلة تحديد ما إذا كانت هناك حاجة فعليه إلى نظام جديد ام لا، لتحقيق الأهداف الإستراتيجية للعمل او المؤسسة (business"s strategic objectives. تعتبر هذه المرحلة خطة أولية(preliminary plan) (أو دراسة جدوى feasibility study) اللازمة للبناء بحيث يتم تحديد هل النظام الحالي بحاجة الى تعديل او بحاجة الى انشاء نظام جديد من الصفر. قد تحاول الشركة تلبية أو تجاوز التوقعات(expectations) لموظفيها(employees) وعملائها(customers) وأصحاب المصلحة(stakeholders) أيضًا. 

من الاشياء المهمه في هذه المرحلة: معرفة نطاق المشكلة (scope of the problem) اذا كان التغيير بسبب مشكلة. وتحديد الحلول(determine solutions) المناسبة. لا بد من دراسة الموارد(Resources) والتكاليف(costs)والوقت(time) والمزايا (benefits)في هذه المرحلة.


مرحلة تحليل الأنظمة والمتطلبات(Systems Analysis and Requirements)

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

في هذه المرحلة تبدأ الفرق بالنظر إلى المتطلبات الوظيفية (functional requirements) للمشروع أو الحل(solution). أيضًا يتم هنا تحليل النظام(system analysis)- و تحليل احتياجات المستخدمين النهائيين(endusers) لضمان أن النظام الجديد يمكن أن يلبي توقعاتهم(expectations). يعد تحليل الأنظمة(Systems analysis) أمرًا حيويًا في تحديد احتياجات الشركة ، وكذلك كيفية تلبيتها ، ومن سيكون مسؤولاً عن الأجزاء الفردية(individual pieces) من المشروع ، ونوع الجدول الزمني المتوقع.

هناك العديد من الأدوات التي يمكن للشركات استخدامها في هذه المرحلة منها:

  • CASE (Computer Aided Systems/Software Engineering)
  • جمع المتطلبات Requirements gathering
  • تحليل منظم Structured analysis


تصميم النظام(Systems Design)

في هذه المرحلة يتم وصف وتحديد احتياجات ومتطلبات المستخدمين النهائيين (end users) للنظام المقترح بالتفصيل، بحيث تشمل: المواصفات(specifications) والميزات(features) والعمليات(operations) الضرورية التي ستلبي المتطلبات الوظيفية للنظام(functional requirements) المقترح الذي سيتم تطبيقه.

سيتم النظر في هذه المرحلة في المكونات الأساسية (الأجهزة (hardware ) و / أو البرامج(software)) وامكانيات الشبكة(networking capabilities) والمعالجة (processing) والإجراءات(procedures) الخاصة بالنظام لتحقيق أهدافه.


مرحلة التطوير والتنفيذ ( Development and Implementation)

هي مرحلة العمل الفعلي، عندما يبدأ اعضاء الفريق مثل: مبرمج (programmer) و / أو مهندس شبكة(network engineer) و / أو مطور قاعدة بيانات(database developer) بالعمل الرئيسي في المشروع.  يتضمن هذا العمل استخدام مخطط تدفق(flow chart) لضمان تنظيم عمليات النظام بشكل صحيح. تمثل مرحلة التطوير نهاية القسم الأولي(initial section) من العملية. بالإضافة إلى ذلك، تشير هذه المرحلة إلى بدء الإنتاج(production). تتميز مرحلة التطوير أيضًا بالتركيب (installation ) والتغيير(change). يمكن أن يكون التركيز على التدريب(training) مفيدًا جدًا خلال هذه المرحلة.

تضع هذه الخطوة المشروع في مرحلة الإنتاج(production) عن طريق نقل البيانات والمكونات من النظام القديم الى النظام الجديد. عملية نقل البيانات هذه يمكن أن تكون عملية فيها خطر(risky) (ومعقده complicated)، لذا يجب الانتباه جيدا عن بدء النقل. وعادتا ما تتم هذه المرحلة خلال الساعات خارج الذروة (off-peak hours)، وبالتالي تقليل المخاطر(minimizing the risk). المنتج النهائي الان جاهز بحيث يمكن لاعضاء الفريق والمستخدمين النهائيين(end-users) الآن مشاهدة نتيجة العمل.


التكامل والاختبار(Integration and Testing)

هذه هي مرحلة تكامل الأنظمة (systems integration) والاختبار(system testing) للبرامج والإجراءات التي يتم إجراؤها بشكل طبيعي من قبل متخصص في ضمان الجودة Quality Assurance (QA)- لتحديد ما إذا كان المنتج الذي تم تطويره يلبي الاهداف الأولية(initial set) لاهداف المؤسسة(business goals). يتم في هذه المرحلة التحقق من المشاكل(errors) والأخطاء(bugs) وإمكانية التشغيل. ويمكن تكرار الاختبار للوصول الى النتائج المطلوبة،  لا بد من الحصول على الموافقه(acceptable) النهائية من المستخدم. واكيد يمكن اعادة إجراء هذا الاختبار حتى يتم الحصول على النتيجة المطلوبة. جزء آخر من هذه المرحلة هو التحقق(verification) والمصادقة(validation)، وكلاهما سيساعد في ضمان إكمال البرنامج بنجاح.


عمليات التشغيل والصيانة(Operations and Maintenance)

المرحلة الأخيرة مرحلة الصيانة(maintenance) والتحديثات المطلوبة المنتظمة(regular required updates). تتم هذه المرحلة بعد تسليم المتتج النهائي للمستخدم. تتضمن أنشطة مثل الدعم عبر الهاتف أو الدعم المادي في الموقع للمستخدمين. قد تحتوي ايضا تنفيذ أي متطلبات جديدة بعد نشر البرنامج في موقع العميل.قد تكون هناك حاجة للصيانة والدعم لفترة أطول للأنظمة الكبيرة ولفترة قصيرة للأنظمة الأصغر.


أهمية SDLC

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