مراحل SDLC [موضحة]: كيفية صياغة برامج رائعة في عام 2021
نشرت: 2019-10-02جدول المحتويات
فهم عملية SDLC
هيكل عملية تطوير البرمجيات
نماذج SDLC
يتم إحتوائه
صناعة تطوير البرمجيات مزدهرة. نستمر في إنتاج كميات هائلة من التعليمات البرمجية كل عام.
تعد دورة حياة تطوير البرمجيات (SDLC) جوهر الصناعة - وهي العملية التي توجه فرق البرمجيات حول كيفية هيكلة عملهم وتخطيطه.
لذلك دعونا نذهب في رحلة عبر التضاريس الوعرة لتطوير البرمجيات.
سوف ننظر إلى ماهية SDLC في الواقع ونتتبع تطورها. سنرى ما هي النماذج الرئيسية المستخدمة من قبل الصناعة.
سوف نكتشف مراحل SDLC ، والتي من خلالها يمر جزء من البرنامج قبل أن يرى ضوء النهار - والأداء الرئيسي في كل مرحلة.
في النهاية ، سنمنحك نظرة شاملة للعملية برمتها.
فهم عملية SDLC
بناء البرمجيات هي عملية. على هذا النحو ، فإنه يحتاج إلى هدف محدد جيدًا ، ووسائل لتحقيقه وطرق قياس النتائج والحفاظ عليها وتحسينها. توفر الأساليب المختلفة لتطوير البرمجيات كل ذلك. ومع ذلك ، لم يتم قطعهم جميعًا من نفس القماش. اعتمادًا على ظروفك ، قد تحتاج إلى اختيار مناهج مختلفة تمامًا.
هذا يعتمد على العديد من المتغيرات ، مثل:
- صناعة
- حجم المنظمة
- الفريق والمشروع
- الإطار الزمني المقدر
- والميزانية المخصصة.
الشائع هو أن كل جزء من البرنامج يتبع تدفق عملية SDLC معين .
يوضح هذا الإطار المراحل المطلوبة حتى الإنجاز ، والموارد اللازمة والمهام التي يتعين القيام بها على طول الطريق.
عملية SDLC هي في نهاية المطاف جدول زمني منظم جيدا ما يجب إنجازه. يقرر أفضل نهج لتطوير البرمجيات في حدود الوقت والتكلفة المقدرة.
غالبًا ما يُعتبر SDLC مجموعة فرعية من المصطلح الأوسع "دورة حياة تطوير الأنظمة" - وهو أقدم إطار عمل لتطوير أنظمة المعلومات.
ظهر في أوائل الستينيات كاستجابة لضرورة وجود أنظمة أعمال قادرة على معالجة كميات كبيرة من البيانات. أول إطار عمل SDLC موثق جيدًا هو نموذج البرمجة المهيكلة من عام 1969.
ظهرت مجموعة متنوعة من منهجيات تطوير البرمجيات في التسعينيات. بعضها البرمجة الشيئية ، Scrum ، والعملية الموحدة العقلانية. ظهرت العملية الموحدة الرشيقة في عام 2005.
هيكل عملية تطوير البرمجيات
إن تطوير منتج البرنامج عبارة عن سلسلة من المراحل المنسقة جيدًا. اعتمادًا على نهج التطوير المحدد ، يمكن أن يختلف عدد خطوات SDLC .
سنراجع نكهات الـ SDLC ذات 5 و 7 مراحل.
الإصدار 5 مراحل
النسخة ذات 5 مراحل من عملية تطوير البرمجيات تسير على النحو التالي:
المتطلبات والتحليل
هذه مرحلة حاسمة حيث يكون التفاعل مع العميل وأصحاب المصلحة ضروريًا. إنهم بحاجة إلى تحديد النتيجة المتوقعة ، أي هدف منتج البرنامج. إلى جانب متطلبات العملاء ، هناك جميع أنواع العوامل الأخرى التي يجب مراعاتها. وتشمل هذه:
- المعماري
- وظيفي
- غير وظيفية
- أداء
- وتلك المتعلقة بالتصميم
لإكمال هذه المرحلة بنجاح ، تم تطوير مستند يسمى "مواصفات متطلبات البرنامج". إنه أساس كل شيء سيحدث من هذه اللحظة فصاعدًا.
يعتمد نجاح مشروع التطوير بشكل كبير على تحليل المتطلبات. المؤدي الرئيسي في هذه المرحلة هو محلل الأعمال (BA). يدير جميع الاتصالات لجمع متطلبات العمل ، لإجراء تحليل شامل والأهم من ذلك - لترجمة تلك المعلومات بين أصحاب المصلحة والمطورين.
تصميم
يعتمد تصميم البرنامج على المتطلبات المحددة. هذا هو المكان الذي نكتشف فيه بيئة التطوير ، ولغات البرمجة ، والإطار المعماري ، والأجهزة ، وما إلى ذلك. كما أنه الوقت المناسب لتحديد استراتيجية الاختبار التي سيتم استخدامها. دور مهندس النظام أساسي هنا. إنهم بحاجة إلى النظر في جميع المتطلبات الأساسية من وثيقة "مواصفات المتطلبات" وتقديم ورقة تصميم لاستخدامها في الخطوة التالية.
مرحلة الترميز
في الوقت الحالي ، يدرك المطورون جيدًا مواصفات التصميم. ينقسم العمل إلى وحدات ويبدأ الترميز. يجب أن يشارك العميل أيضًا في هذه المرحلة. يتأكدون من اتخاذ جميع التدابير حتى يلبي المنتج توقعاتهم. إنتاج برنامج عمل هو النتيجة النهائية في هذه المرحلة.
اختبارات
الآن بعد أن أصبح لدينا منتج عملي ، يمكن أن تبدأ مرحلة الاختبار. اعتمادًا على استراتيجية الاختبار الموضحة في وثيقة مواصفات التصميم ، يمكن أن يحدث هذا بعدة طرق.
الأهداف ، مع ذلك ، لا تزال كما هي. أولاً ، تحقق من استيفاء جميع المتطلبات الأولية ، وثانيًا ، حدد ما إذا كان هناك أي أخطاء في الكود. المختبرين هم المؤدون الرئيسيون هنا. وكانت نتيجة جهودهم برنامجًا يعمل بكامل طاقته وجاهز للإطلاق.
اعمال صيانة
لا يوجد شيء اسمه منتج برمجي مثالي. لهذا السبب تلعب خدمة العملاء دورًا كبيرًا في عملية التطوير. بمجرد تسليمها إلى العميل النهائي ، تظهر مشكلات في الوقت الفعلي وتحتاج إلى إصلاح. الصيانة المستمرة أمر لا بد منه إذا كنت ترغب في إرضاء العملاء.
الإصدار 7 مراحل
الآن ، تختلف نكهة هذه العملية ذات المراحل السبع قليلاً. لديها بضع مراحل إضافية ، والتي حتما تغير طبيعة الآخرين أيضا. لنلقي نظرة:
تخطيط
هناك طريقة أخرى لبدء عملية SDLC وهي مرحلة التخطيط. يسبق جمع المتطلبات ويسعى في الغالب إلى التغذية الراجعة. تشكل المدخلات من أصحاب المصلحة وشركاء الأعمال والمهندسين والعملاء النهائيين نطاق المشروع. تجيب هذه المرحلة على أسئلة مثل:
- ما يجب القيام به؟
- ما هي الموارد المطلوبة؟
- كم من الوقت سيستغرق؟
- كم ستكون التكلفة؟
المتطلبات والتحليل
هنا ، يقوم محللو الأعمال بتجميع قائمة بالمتطلبات ، بناءً على التعليقات الواردة من العميل. ثم يقومون بإطعام هذه لمهندسي البرمجيات. التواصل ضروري.
يجب أن تنتج هذه المرحلة وثيقة تحدد جميع المتطلبات - وتعمل كأساس للمرحلة التالية.
تصميم الأنظمة
تجد متطلبات البرنامج الآن طريقها إلى بنية النظام. في هذه المرحلة يمكننا تحديد الوسائل الوظيفية والعمليات التي نحتاجها لتسليم المشروع. بمجرد التحضير ، يتم تقديم خطة التصميم إلى الشركة. نقوم بدمج جميع التعليقات قبل أن تبدأ البرمجة الفعلية.
تطوير البرمجيات
بمجرد أن تصبح المتطلبات واضحة ، يمكن لمهندسي البرمجيات البدء في العمل. الهدف في هذه المرحلة هو برنامج عمل جاهز للاختبار. هذه أيضًا بداية الإنتاج في عملية SDLC .
اختبارات
يتمثل دور فريق ضمان الجودة في معرفة ما إذا كانت متطلبات العمل الأولية قد تم الوفاء بها. يقومون بفحص جودة كود البرنامج. إصلاح الخلل. هناك قائمة كاملة بأساليب اختبار البرامج التي يجب اتباعها: الوظيفية ، والتكامل ، واختبار الأداء وما إلى ذلك.
يعد اختبار الأتمتة طريقة لأتمتة عملية إجراء الاختبارات المتكررة من خلال استخدام برامج خارجية ، مثل Bamboo و Jenkins.
تطبيق
بمجرد اجتياز الكود لمرحلة الاختبار ، يصبح جاهزًا للنشر في بيئة الإنتاج. اعتمادًا على سياسة الشركة ، قد تتطلب هذه العملية الموافقة ؛ ومع ذلك ، فهي في معظم الحالات خطوة آلية في دورة حياة تطوير البرامج .
الصيانة والعمليات
بمجرد إصدار البرنامج في الإنتاج ، يمكن أن تظهر جميع أنواع المشكلات. من خلال المراقبة ، يمكن تحديدها وحلها. يمكن أيضًا أن تجد الميزات الجديدة طريقها إلى المنتج. هذه هي المرحلة التي يمكن فيها قياس الأداء وتحسينه.
نماذج SDLC
تعتبر عملية تطوير برنامج ما عالمية إلى حد كبير. هناك مجال لإضافة المزيد من المراحل أو تبسيط المراحل الموجودة - لكنها في الغالب نفس الشيء.
هذا لا ينطبق عندما ننظر إلى طرق التطوير . على الرغم من أنهم جميعًا يراقبون العملية ، إلا أنهم يقومون بها بطرق مختلفة على نطاق واسع.
لاختيار الأنسب ، هناك العديد من العوامل الرئيسية التي يجب مراعاتها. إنه دائمًا توازن بين احتياجات العميل والتفاصيل العملية لتطوير البرامج. هناك عوامل مثل:
- تعقيد المشروع
- التكنولوجيا المختارة
- وحجم الفريق.
كل هذه تحدد النهج الذي قد يعمل بشكل أفضل. سنقوم بإلقاء نظرة عامة على بعض منهجيات SDLC الأكثر شهرة واستخدامًا .
شلال
نموذج الشلال هو عملية تصميم متسلسلة خطية. إنها أقدم منهجية معروفة مستخدمة في هندسة البرمجيات. نشأت في الصناعات التحويلية والبناء في السبعينيات.
إن التقدم في مشروع التطوير الذي يتبع نموذج الشلال يذهب بشكل صارم إلى أسفل أنبوب SDLC. التقدم ممكن فقط عند اكتمال المرحلة السابقة من SDLC بنجاح. لا توجد عملية محددة للعودة إلى الوراء.
الشلال SDLC هو نهج منظم جدا. يعمل بشكل جيد عندما:
- المتطلبات والأنشطة محددة ومفهومة جيدًا
- التكنولوجيا موثوقة
- فريق الدعم متاح وتقوم بتقدير مشروع قصير المدى
يرتبط الجانب السلبي للطريقة بافتقارها إلى المرونة. لا يمكنك تنفيذ المتطلبات الناشئة حديثًا على طول الطريق. نظرًا لعدم وجود منتج ملموس يتم إنتاجه حتى وقت متأخر من عملية التطوير ، فإن المخاطر وعدم اليقين مرتفعان. قد يكون نهجًا مكلفًا للغاية ، إذا قررت تعديل متطلبات المشروع أو نطاقه بسرعة.
ترابطي
تعتمد هذه الطريقة على فكرة أنه يمكن بناء البرنامج من خلال سلسلة من الدورات المتكررة. يبدأ بمجموعة بسيطة من المتطلبات. في كل جولة ، يتعلم المهندسون من سلوك الإصدارات السابقة من البرنامج ويكونون قادرين على تحسين وظائفه.
أكبر ميزة لهذا النهج هي أنه يتم إنتاج نموذج أولي عملي للبرنامج بعد اكتمال كل دورة. هذا يجعل من السهل تنفيذ التغييرات ، لتحديد المخاطر. يعد اختبار SDLC أسهل نسبيًا عند إجرائه في كل تكرار.
تنخفض عيوب النموذج التكراري لتطوير البرامج إلى الموارد والتكلفة. زيادة عدد التكرارات يستهلك المزيد من الموارد. الموعد النهائي لإنجاز المشروع غير محدد ، وكذلك المخاطر. لذلك ، لكي تنجح هذه الطريقة ، فإنها تحتاج إلى خبراء ذوي مهارات عالية يقومون بتحليل المخاطر.
المنهجية ليست مناسبة للمشاريع الصغيرة.
رشيق
يعتبر نهج Agile لتطوير البرمجيات جديدًا نسبيًا. ومع ذلك ، فقد اكتسب شعبية بسرعة في جميع أنحاء العالم.
تعتمد SDLC الرشيقة على تقديم أجزاء صغيرة من برامج العمل والسعي للحصول على ردود فعل فورية من العميل. يكمن جوهر هذا النهج في التعاون القوي والتواصل المستمر بين الفرق. تستمر كل دورة من أسبوع إلى ثلاثة أسابيع ، وعندها يتم تسليم وحدة العمل / الميزة إلى العميل. ثم تتكرر العملية.
يتم إجراء الاختبار عند كل تكرار ، مما يسمح بحل المشكلات في وقت مبكر. يشجع على عرض وظائف البرنامج والحصول على التعليقات. يوفر النموذج رؤية واضحة للنتائج. إنه يدعو إلى العمل الجماعي ويعطي المرونة لمهندسي البرمجيات.
نظرًا لعدم وجود متطلبات للتوثيق الثقيل ، فهناك خطر الاعتماد على أفراد معينين. يمكن أن يكون هذا أيضًا تحديًا عندما يتعلق الأمر بنقل المعرفة إلى أعضاء جدد في الفريق.
يستند
تعتبر منهجية تطوير البرمجيات اللين جزءًا من طريقة تطوير البرمجيات الرشيقة. تتكون عملية SDLC التي تتبع منهجية Lean من سبعة مبادئ:
- القضاء على النفايات
- تضخيم التعلم
- تقرر في وقت متأخر قدر الإمكان
- تسليم في أسرع وقت ممكن
- قم بتمكين الفريق
- بناء النزاهة
- انظر إلى الصورة الكبيرة
مفتاح فهم هذا النموذج هو من خلال هذه المبادئ. وهذا من شأنه أن يؤدي إلى تحويل تلك الممارسات إلى ممارسات رشيقة وظيفية وتنفيذها في عملية العمل.
يتم تنظيم مبادئ Lean حول فكرة إنتاج أكبر قدر ممكن من القيمة المضافة للمستخدمين النهائيين - مع تحسين الجودة والسرعة والتكلفة وتوقعات الأعمال. تحقيقا لهذه الغاية ، يتم حذف بعض المهام (وثائق ثقيلة) والبعض الآخر الأمثل (تكرار الاجتماعات).
DevOps
يعتمد نموذج DevOps جزئيًا على كل من Agile و Lean . إنه نهج ناشئ حديثًا يربط في تعاون وثيق بين تطوير البرامج وفرق العمليات خلال دورة حياة التطوير بأكملها.
يتمثل الجانب الرئيسي لهذه المنهجية في التركيز على أتمتة عملية التطوير. الهدف النهائي هو تقصير SDLC ، وفي نفس الوقت تقديم نتائج عالية الجودة ومبتكرة ، تتماشى مع متطلبات العمل.
باستخدام هذا النهج ، يكون المطورون وفرق العمليات وأعضاء ضمان الجودة على نفس الصفحة. يستخدمون نفس الأدوات ويتبعون نفس العمليات. هذا يحسن التواصل ويؤدي إلى نتائج أفضل وفي الوقت المناسب.
حلزوني
هذا هو مزيج من التطوير التكراري وبعض مفاهيم نموذج الشلال. يسمح بإصدارات جزئية من البرنامج في كل دورة تكرارية.
تسمى المراحل الأربع والتكرار "الحلزونات". في مراحل SDLC هي: التخطيط وجمع من المتطلبات؛ التصميم؛ التطوير والاختبار.
تحليل المخاطر له دور رئيسي. في كل لولب ، يتم إجراء تحليل للمخاطر بحيث يمكن تحديد أي مخاطر محتملة وتجنبها أو التغلب عليها. إنها مناسبة للمشاريع الكبيرة ، على الرغم من أن الإدارة والعملية نفسها يمكن أن تكون معقدة.
يتم إحتوائه
يتطلب اختيار النهج الصحيح لتطوير البرمجيات بحثًا مهمًا. من خلال تحديد نطاق ومتطلبات وهدف مشروعك ، يمكنك تحديد مراحل SDLC التي يحتاج منتجك إلى الخضوع لها.
المنهجية التي تختارها ليست مجرد عملية لتطوير منتج وظيفي. إنها طريقة لمواءمة قيم مؤسستك وفرقك لخلق بيئة عمل متناغمة.
التعليمات
اعتمادًا على المنهجية التي تختارها ، سيمر برنامجك بعدد متفاوت من المراحل. يجب أن تكون الأنشطة التالية جزءًا منه في كلتا الحالتين:
- التخطيط وجمع المتطلبات والتحليل
- الموافقة على تصميم أو معمارية نظام
- توليد الكود
- اختبار الكود المنتج
- نشر الكود في بيئة الإنتاج
- الصيانة والتحسين المستمر
التخطيط. المتطلبات والتحليل ؛ تصميم؛ تطوير؛ اختبارات؛ تطبيق؛ اعمال صيانة.
هذا يعتمد على مشروعك! سيكون تحليلك للصناعة ، وهدف المشروع ، والإمكانيات والموارد المتاحة ، ومقاييس الوقت والتكلفة هي العوامل التوجيهية في اختيار أفضل منهجية SDLC.