تجاوز إلى المحتوى الرئيسي
تابعنا على تيليجرامانضم

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

الخوارزميات والبرمجة · المهارات الرقمية

آخر تحديث:

محتويات الموضوع (٢٨)

شرح الموضوع

دورة حياة تطوير النظام

نتاجات التعلُّم :

  • أعرّف دورة حياة تطوير النظام ⁦(System Development Life Cycle)⁩.
  • أصف مراحل دورة حياة تطوير النظام.
  • أصف دورة حياة تطوير النظام باستخدام أحد النماذج الآتية: (⁦Spiral⁩, ⁦Agile, or⁩ ⁦Waterfall⁩).
  • أُوضّح خصائص كل نموذج من نماذج تطوير الأنظمة.
  • أُطبّق طرائق دورة حياة تطوير النظام عند تصميم البرامج.

ما هي دورة حياة تطوير النظام؟

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

أُفكّر في المراحل الرئيسة لدورة حياة تطوير النظام ⁦(SDLC)⁩، ثمّ أختار إحدى هذه المراحل للحديث عنها أمام زملائي/ زميلاتي في الصف، وأذكر أمثلة عملية عليها من واقع الحياة.

مفهوم دورة حياة تطوير النظام ⁦(SDLC)⁩:

مراحل دورة حياة تطوير النظام:

ست مراحل يتبعها المطوّر

  • مراحل مُنظّمة ومُرتّبة: يتّبعها مهندس البرمجيات أو المُطوّر لضمان مُنتج مُتميّز يَفي باحتياجات المُستخدمين ومُتطلّباتهم.
الشكل (1-1): دورة حياة تطوير النظام.
الشكل (1-1): دورة حياة تطوير النظام.
  • 1. التخطيط وتحليل المتطلبات
  • 2. تحديد المتطلبات
  • 3. التصميم
  • 4. التطوير
  • 5. الاختبار
  • 6. النشر والصيانة

المرحلة الأولى: التخطيط وتحليل المتطلبات

المرحلة الأولى: ماذا نخطّط قبل أن نبرمج؟

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

مثال:

يبحث طبيب أسنان عن برنامج لتنظيم المواعيد الخاصة بعيادته.

أُفكّر في التخطيط لهذا البرنامج عن طريق تحديد المتطلبات الآتية: الفئة المُستهدفة، والأهداف، والموارد.

بعد ذلك أستعمل ورق قلّاب ⁦(Flipchart)⁩ لرسم مُخطّط، ثمّ أُناقشه مع زملائي/ زميلاتي في الصف. هل اختلف مُخطّطي عن مُخطّطات الزملاء؟ أُبرّر إجابتي.

المرحلة الثانية: تحديد المتطلبات

المرحلة الثانية: ما الذي سيفعله البرنامج؟

  • وثيقة ⁦SRS⁩: مُخرجات هذه المرحلة؛ يُوثَّق فيها كل ما يُحدَّد من متطلبات النظام الحاسوبي بالاتفاق مع العملاء ومُحللي السوق.

أُحدِّد مهام البرنامج الخاص بحجز المواعيد في عيادة الأسنان ومُتطلَّباته التكنولوجية.

ما الطرائق التي سأستخدمها في عملية جمع البيانات؟

مَنِ الأشخاص الذين يُمكِن الاستفادة منهم في جمع البيانات اللازمة؟

أُدوِّن النتائج التي أتوصَّل إليها، ثمَّ أُناقِشها مع مُعلِّمي/ مُعلِّمتي وزملائي/ زميلاتي.

أبحث

المرحلة الثالثة: التصميم ⁦(Design)⁩

المرحلة الثالثة: كيف سيبدو النظام ويعمل؟

  • نحدّد التصميم المناسب للنظام عمليًا ومنطقيًا بالاتفاق مع العملاء ومُحللي السوق.
  • نُحدّد في هذه المرحلة المُدخلات والمُخرجات وأجزاء النظام.
  • نُصمّم واجهة المُستخدم وقواعد البيانات الخاصة بالنظام، ونحدّد طريقة عمل النظام.
  • هي المرحلة التي تسبق برمجة النظام.

2- قاعدة البيانات

أُفكِّر في طريقة لتصميم واجهة المُستخدِم في نظام حجز المواعيد في عيادة الأسنان، وآليَّة عمل نظام حجز المواعيد في العيادة.

أُدوِّن الأفكار التي أتوصَّل إليها، وأرسم المُخطَّطات اللازمة للنظام، ثمَّ أُناقِشها مع زملائي/ زميلاتي في الصف.

المرحلة الرابعة: التطوير ⁦(Development)⁩

المرحلة الرابعة: من التصميم إلى كود يعمل

  • كذلك تتضمَّن مراجعة المقاطع البرمجية، والعمل على تحسين النظام باستمرار.

أُحوِّل مُخرَجات المرحلة السابقة في نظام حجز المواعيد الخاص بعيادة الأسنان إلى برنامج باستخدام لغة البرمجة بايثون ⁦(Python)⁩، ثمَّ أُطلِع الزملاء/ الزميلات على البرنامج، ونتبادل معًا الأفكار والمقترَحات لتحسينه.

المرحلة الخامسة: الاختبار ⁦(Testing)⁩

المرحلة الخامسة: هل يعمل كما خُطّط له؟

  • الهدف: الحصول على التغذية الراجعة من مُطوِّر النظام والمُستخدمين ومالك النظام.
  • الغاية: تصحيح الأخطاء (إن وُجدت) والتطوير والتحسين.

أختبر البرنامج الخاص بحجز المواعيد في عيادة الأسنان، وذلك بتنفيذه، والتحقُّق من مُخرَجاته. بعد ذلك أُدوِّن ملاحظاتي على البرنامج، ثمَّ أُناقِشها مع الزملاء/ الزميلات بهدف تحسين النظام.

أُنظِّم جلسة نقاش مع زملائي/ زميلاتي في المجموعة للإجابة عن الأسئلة الآتية:

ما الإجراءات الواجب اتخاذها إذا أخفق النظام في أداء المهام المنوطة به بصورة صحيحة؟

فيمَ يستفاد من الوثائق التي جُمِّعت في المراحل السابقة؟

كيف يُمكن الاستفادة من جميع العمليات السابقة في تحسين النظام؟

أُناقش إجابات الأسئلة مع زملائي/ زميلاتي في المجموعة، ثمَّ أعرضها أمام أفراد المجموعات الأخرى بهدف التوصُّل إلى استنتاجات مُشتركة.

المرحلة السادسة: النشر والصيانة

المرحلة السادسة: يُطلق النظام ويبقى محميًا

إضاءة

  • ثلاث طرائق لاستخدام النظام عند نشره:

يُعدُّ التوثيق والتدريب والدعم من أهمَّ العمليات التي تضمن استمرارية عمل النظام.

أُناقش - بالتعاون مع أفراد مجموعتي - المراحل التي يُمكن أن تحدث فيها عمليات التوثيق والتدريب والدعم، ثمَّ أشارك أفراد المجموعات الأخرى في ما توصَّلنا إليه من نتائج.

أُطبِّق مراحل تطوير النظام على نظام بسيط لتسجيل الطلبة في إحدى المدارس، وأستخدم برمجية سكراتش ⁦(Scratch)⁩ أو برمجية بايثون ⁦(Python)⁩ في تطوير البرنامج الخاص بالنظام. بعد ذلك أُدوِّن الخطوات التي استخدمتها في ذلك، ثمَّ أشارك أفراد المجموعات الأخرى في ما توصَّلتُ إليه من خلال مجموعتي.

النماذج الخاصة بدورة حياة تطوير النظام :

نماذج التطوير: ثلاث طرائق لتنظيم العمل

يوجد لدورة حياة تطوير النظام كثير من النماذج التي تختلف في ما بينها من حيث آلية التطبيق، والإيجابيات والسلبيات. وفي ما يأتي أهمُّ هذه النماذج:

1- نموذج الشلال ⁦(Waterfall)⁩:

الشلال: مرحلة تنتهي ثم تبدأ التي تليها

الشكل (1-3): مراحل نموذج الشلال (Waterfall)
الشكل (1-3): مراحل نموذج الشلال ⁦(Waterfall)⁩

مزايا نموذج الشلال ⁦(Waterfall)⁩:

  • مزايا الشلال:
  • التسلسل الخطي: تنتهي كل خطوة بصورة كاملة قبل الانتقال إلى الخطوة التي تليها.
  • التوثيق الجيِّد: يراعى توثيق جميع مراحل المشروع؛ لضمان سَيْر العمل بصورة صحيحة، وتمكين الفريق من تحقيق أهداف المشروع.
  • الجودة العالية: تخضع جميع المراحل لاختبارات خاصة، وتُلاحَظ جودة كل مرحلة ومتابعتها.
  • التخطيط الدقيق: يشمل تحديد نطاق المشروع، والجداول الزمنية، والمُنتجات النهائية التي تخضع للمراقبة والمتابعة.

مراحل نموذج الشلال ⁦(Waterfall)⁩:

  • ست مراحل يُبيِّنها الشكل (1-3):
  • الاحتياجات
  • التصميم
  • التنفيذ
  • الاختبار
  • النشر
  • الصيانة

مُحدِّدات استخدام نموذج الشلال ⁦(Waterfall)⁩:

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

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

2- النموذج الرشيق ⁦(Agile)⁩:

الرشيق: تكرارات صغيرة تتكيّف مع التغيير

  • المسار: تتبع التكرارات مسارًا خطِّيًا، وينتهي كل تكرار بانتهاء المُدَّة الزمنيَّة المُحدَّدة له، من أسبوع واحد إلى أربعة أسابيع.
  • بعد كل تكرار: مراجعة ما تحقَّق من مُتطلَّبات، وتلقِّي التغذية الراجعة لتعرُّف ما يجب إدخاله من تعديلات أوَّلًا بأوَّل.
  • ثم: تحديد المُتطلَّبات التي يتعيَّن نقلها إلى المرحلة التالية؛ ما يمنح النظام مرونة أكثر ويجعله أكثر قدرة على التكيُّف مع المُتغيِّرات.
  • المنهجيات: لهذا النموذج العديد من المنهجيات التي تقوم جميعها على المبدأ نفسه، مع وجود اختلافات بسيطة في ما بينها.
  • ⁨(Change Driven)⁩: يُطلق عليه هذا الاسم؛ أي مُوجَّه بالتغيير، فهو يُستخدم حين يلزم تكيُّف سريع مع كل مُتغيِّر.

مراحل النموذج الرشيق ⁦(Agile)⁩

  • يَمُرُّ كل تكرار ⁦(Sprint)⁩ بخمس مراحل: البناء، والتصميم، والتخطيط، والتحليل، والاختبار.
الشكل (1-4): مراحل النموذج الرشيق (Agile)، وخطوات كل مرحلة.
الشكل (1-4): مراحل النموذج الرشيق ⁦(Agile)⁩، وخطوات كل مرحلة.
  • في كل تكرار ⁦(Sprint)⁩ في الشكل (1-4): التخطيط، التحليل، التصميم، الاختبار، البناء، ويليه المراجعة.

خصائص العمليات في النموذج الرشيق ⁦(Agile)⁩

  • خصائص العمليات في الرشيق:
  • المرونة: تتكيَّف العمليات مع المُتغيِّرات الفنية والمُتغيِّرات البيئية للنظام.
  • التطوير التدريجي: تخضع العمليات للتطوُّر والتحسين بصورة تدريجية مستمرة.
  • التفاعل مع العميل: تتيح استخدام ملاحظات العميل في تعديل النظام وَفقًا لمُتطلَّباته واحتياجاته.
  • السرعة: تُسلَّم التعديلات في وقت قصير لتحقيق قيمة مضافة بسرعة.

مبادئ النموذج الرشيق ⁦(Agile)⁩

  • مبادئ الرشيق: تُعزِّز التعاون والتطوير المستمر؛ لضمان تحقيق مُتطلَّبات العميل واحتياجاته بفاعلية وسرعة.
  • اتِّصال وثيق بالعميل: إشراكه في كل مرحلة؛ لضمان فهم واضح لمُتطلَّباته، والوقوف على مستوى التقدُّم، وإعادة تقييم المُتطلَّبات.
  • نشر البرامج بصورة مُتكرِّرة بدلًا من الاعتماد على التوثيق الشامل، وتسليم إصدارات مُتزايدة خلال بضعة أسابيع.
  • فِرَق عمل مُتميِّزة وكفؤة وقادرة على التواصل الفاعل، مع اجتماعات دورية لمناقشة مستوى التقدُّم وضمان التنسيق بين الأطراف جميعًا.

أُناقش

أُناقش زملائي/ زميلاتي في الحالات التي يُمكن فيها استخدام النموذج الرشيق، مُبيّنين أسباب ذلك، ثمَّ نبحث معًا عن إجابات للأسئلة الآتية:

هل يُمكن تطبيق النموذج الرشيق على جميع أنواع المشروعات؟

ما التحديات والمُعوِّقات التي قد تحول دون استخدام هذا النموذج في المشروعات الكبيرة والمشروعات المُعقدة؟

كيف يُمكن ضمان الاستفادة الفاعلة من هذا النموذج في حال كان تفاعل العملاء محدودًا؟

أُشارك زملائي/ زميلاتي في آرائي المُتعلِّقة بهذا النموذج، وأستمع إلى وجهات نظرهم المختلفة، مُقدِّمين أمثلة واقعية لدعم النقاش وإثرائه.

3- نموذج الحلزون ⁦(Spiral)⁩

الحلزون: حلقات تُدار فيها المخاطر

  • نهج تكراري كما هو الحال في الرشيق ⁦(Agile)⁩، لكنه يُوفِّر نهجًا مُنظَّمًا لإدارة المخاطر في المشروعات المُعقدة.
  • المخاطر التقنية والتشغيلية: تتطلَّب دراسة دقيقة في المشروعات المُعقدة.

مراحل نموذج الحلزون ⁦(Spiral)⁩

الشكل (1-5): مراحل تطوير البرمجية باستخدام نموذج الحلزون (Spiral).
الشكل (1-5): مراحل تطوير البرمجية باستخدام نموذج الحلزون ⁦(Spiral)⁩.
  • 1. تحديد كلٍّ من الأهداف والحلول البديلة.
  • 2. تحديد المخاطر، وسُبل مواجهتها.
  • 3. تطوير نسخة جديدة من المُنتَج.
  • 4. المراجعة والتخطيط للمرحلة التالية.

مواجهة المخاطر في نموذج الحلزون ⁦(Spiral)⁩

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

في ما يأتي مجموعة من الحالات العملية لمشروعات مختلفة. أقرأ كل حالة بتدبُّر ورَوِيَّة، ثمَّ أُحلّلها بالتعاون مع أفراد مجموعتي؛ لتحديد النموذج الأنسب لتطوير النظام مع التعليل:

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

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

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

شركة ناشئة تعمل على تطوير مُنتج تجريبي جديد بناءً على أفكار غير مُكتملة، مع توقُّع حدوث تغييرات متكرِّرة بناءً على ملاحظات العملاء عند الاستخدام.

أُناقش أفراد مجموعتي في النموذج المختار، وفي أسباب اختيار هذا النموذج دون غيره من النماذج، ثمَّ أعرض النتائج التي توصَّلنا إليها في المجموعة أمام مُعلّمي/ مُعلّمتي وزملائي/ زميلاتي لمناقشتها معًا.

أُقيِّم تعلُّمي

أُقيِّم تعلُّمي: المعرفة والمهارات

المعرفة: أستخدم ما تعلَّمته من معارف في هذا الدرس للإجابة عن السؤالين الآتيين:

السؤال الأوَّل: أُوضِّح المقصود بدورة حياة تطوير النظام.

السؤال الثاني: أملأ الفراغ بالمصطلح المناسب في كلٍّ من الجمل الآتية:

يُطلق على المرحلة التي تُحدَّد فيها أهداف المشروع اسم ___

يُطلق على المرحلة التي تُصمَّم فيها واجهة المُستخدم وقواعد البيانات للنظام اسم ___

___: مرحلة يتمُّ فيها التأكُّد من عمل النظام بصورة صحيحة، وتحقيق الهدف الذي أُنشئ من أجله.

النموذج الذي يعتمد على التخطيط الجيِّد يُسمَّى ___

___: نموذج يُعنى بالتعامل مع المخاطر.

يُطلق على النموذج الذي يُعنى بالاتصال الوثيق مع العميل اسم ___

المهارات: أُوظِّف مهارات التفكير الناقد والبحث الرقمي والتواصل في الإجابة عن الأسئلة الآتية:

السؤال الأوَّل: أُقارن بين نموذج الشلال والنموذج الرشيق ونموذج الحلزون من حيث المزايا، والعيوب، والمخاطر.

السؤال الثاني: أبحث عن أهمَّ منهجيتين من منهجيات النموذج الرشيق ⁦(Agile)⁩، وأذكر أوجه الاختلاف بينهما.

السؤال الثالث: أُطبِّق الخطوات والمراحل الخاصة بالنموذج الرشيق ⁦(Agile)⁩ على مشروع إدارة مكتبة إلكترونية.

السؤال الرابع: لديَّ مشروع لتطوير موقع إلكتروني. أُبيِّن كيف يُمكن تنفيذ النظام الخاص لهذا المشروع باستخدام نموذج الشلال ⁦(Waterfall)⁩ ونموذج الحلزون ⁦(Spiral)⁩، ثمَّ أحدِّد أيَّ النموذجين أنسب لهذه الحالة، وأُبرِّر إجابتي.

السؤال الخامس: في ما يأتي مجموعة من الحالات العملية لمشروعات مختلفة. أقرأ كل حالة بتدبّر ورويّة، ثمَّ أحدّد النموذج الأنسب من النماذج الثلاثة (الشّلال، الرشيق، الحلزون) لتطوير كل مشروع، وأبرّر إجابتي:

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

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

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

مشروع تطوير تطبيق للهواتف الذكية خاص بتتبّع اللياقة البدنية. وهذا التطبيق يتطلّب إدخال تحسينات مستمرة بناءً على آراء المستخدمين الذين يختبرون كل إصدار منه.

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

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

تعريفات أساسية

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

عملية منهجية مُنظّمة تَصف كيف يُمكن تطوير برامج مُعيّنة وصيانتها وتحسينها خطوة خطوة بهدف إنتاج برامج فائقة الجودة، وقادرة على الوفاء باحتياجات المُستخدمين ومُتطلّباتهم

التخطيط وتحليل المتطلبات ⁦(Planning and Requirement Analysis)⁩

تحليل المشروع والتخطيط له عن طريق دراسة الجوانب الآتية: نطاق المشروع، والمشكلة التي يُراد حَلّها، والعناصر الواجب توافرها من موارد بشرية وأدوات مُتعدّدة، وجدوى المشروع الاقتصادية، والمخاطر التي قد تعترض عملية تنفيذ المشروع وسُبل التعامل معها

تحديد المتطلبات ⁦(Defining Requirements)⁩

تُعَدُّ وثيقة المواصفات الخاصة بمتطلبات البرنامج (:⁦Software Requirement Specification SRS⁩) مُخرجات هذه المرحلة؛ إذ يُوثَّق فيها كل ما يُحدَّد من متطلبات النظام الحاسوبي (البرنامج) المُستهدف بالاتفاق مع العملاء ومُحللي السوق

التصميم ⁦(Design)⁩

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

التطوير ⁦(Development)⁩

تحويل مُخرجات مرحلة التصميم إلى صيغة برمجية يُمكن استخدامها بصورة عملية؛ إذ تتضمَّن هذه المرحلة كتابة الكود (المقاطع البرمجية) الذي يختصُّ بالنظام، ويكون قابلاً للتطوير

الاختبار ⁦(Testing)⁩

اختبار النظام يدويًا وآليًا من قِبَل مُطوِّر النظام؛ للتأكُّد أنَّه يعمل بصورة صحيحة، وأنَّه يُحقِّق الهدف الذي أُنشئ من أجله

النشر والصيانة ⁦(Publishing and Maintenance)⁩

نشر النظام؛ أي جعله متاحًا للاستخدام في بيئة حقيقية

الاستخدام المباشر

التحوُّل إلى النظام الجديد مباشرة، وإلغاء النظام القديم

الاستخدام المتزامن

استخدام النظام الجديد، جنبًا إلى جنب مع النظام القديم؛ للتأكُّد أنَّه يُنفِّذ جميع المهام المنوطة به على النحو الصحيح

الاستخدام المرحلي المتدرج

استعمال نظام فرعي جديد فقط، والإبقاء على بقيَّة الأنظمة الفرعية مع النظام القديم لحين التحقُّق من صلاحيته، ثمَّ يتمُّ الانتقال إلى نظام فرعي آخر

نموذج الشلال ⁦(Waterfall)⁩

الأساس لبقيَّة النماذج؛ ذلك أنَّه يتكوَّن من مراحل بسيطة أساسية، وهو يُناسب المشروعات التي تكون فيها المُتطلَّبات واضحة ومُحدَّدة

النموذج الرشيق ⁦(Agile)⁩

يُقسَّم المشروع بحسب هذا النموذج إلى مجموعة من التكرارات (أو المراحل) الصغيرة

أسئلة محلولة

أيٌّ ممّا يأتي يُقصد به: يُعدُّ هذا النموذج الأساس لبقيَّة النماذج؛ ذلك أنَّه يتكوَّن من مراحل بسيطة أساسية، وهو يُناسب المشروعات التي تكون فيها المُتطلَّبات واضحة ومُحدَّدة، لكنَّه لم يعد مُستخدمًا اليوم بسبب عدم مرونته؟

اعرض الحل

نموذج الشلال ⁦(Waterfall)⁩

أيٌّ ممّا يأتي يُقصد به: تمتاز هذه المرحلة بتحويل مُخرجات مرحلة التصميم إلى صيغة برمجية يُمكن استخدامها بصورة عملية؛ إذ تتضمَّن هذه المرحلة كتابة الكود (المقاطع البرمجية) الذي يختصُّ بالنظام، ويكون قابلاً للتطوير؟

اعرض الحل

التطوير ⁦(Development)⁩

أيٌّ ممّا يأتي يُقصد به: تُحدَّد في هذه المرحلة المُدخلات والمُخرجات وأجزاء النظام، وتُصمَّم واجهة المُستخدم وقواعد البيانات الخاصة بالنظام، إضافةً إلى تحديد طريقة عمل النظام، وهي المرحلة التي تسبق برمجة النظام؟

اعرض الحل

التصميم ⁦(Design)⁩

أيٌّ ممّا يأتي يُقصد به: تمتاز هذه الطريقة باستخدام النظام الجديد، جنبًا إلى جنب مع النظام القديم؛ للتأكُّد أنَّه يُنفِّذ جميع المهام المنوطة به على النحو الصحيح؟

اعرض الحل

الاستخدام المتزامن

أيٌّ ممّا يأتي يُقصد به: يُقسَّم المشروع بحسب هذا النموذج إلى مجموعة من التكرارات (أو المراحل) الصغيرة التي تُسمَّى أو؟

اعرض الحل

النموذج الرشيق ⁦(Agile)⁩

معاينة موضوع «دورة حياة تطوير النظام (SDLC)» من وحدة «الخوارزميات والبرمجة» في مادة المهارات الرقمية. أقسام الشرح: ٢٨، التعريفات: ١٢، الأسئلة المحلولة: ٥.

المصدر: المركز الوطني لتطوير المناهج، دورة حياة تطوير النظام (SDLC) (ص ١٠–٢٥)

موضوعات أخرى في الوحدة

تابع الدراسة