شو المراحل المختلفة في دورة حياة تطوير الأنظمة؟
Context:دورة حياة تطوير الأنظمة  المادة حكي قراءة تعديل شوف التاريخ  أدوات من ويكيبيديا هالمقال عن دورة حياة تطوير الأنظمة. بالنسبة لبروتوكول الاتصالات الكمبيوترية لشركة آي بي إم، شوف سيطرة رابط البيانات المتزامن.  نموذج لدورة حياة تطوير البرمجيات، مع إبراز مرحلة الصيانة في هندسة الأنظمة، أنظمة المعلومات وهندسة البرمجيات، دورة حياة تطوير الأنظمة (SDLC) ، واللي بتتعرف بردو بدورة حياة تطوير التطبيقات، هيي عملية للتخطيط، وإنشاء، واختبار، ونشر نظام معلومات. مفهوم SDLC بتطبق على مجموعة من تكوينات الأجهزة والبرمجيات، لأن النظام ممكن يتكون من الأجهزة فقط، أو البرمجيات فقط، أو مزيج من الاثنين. عادةً في ست مراحل بالدورة: تحليل المتطلبات، التصميم، التطوير والاختبار، التنفيذ، التوثيق، والتقييم.  نظرة عامة دورة حياة تطوير الأنظمة بتتكون من مراحل عمل متميزة بتستخدم من قبل مهندسي الأنظمة ومطوري الأنظمة لتقديم أنظمة المعلومات. زي أي شي بيتصنع على خط التجميع، يهدف SDLC لإنتاج أنظمة عالية الجودة بتلبي أو تتجاوز التوقعات، بناءً على المتطلبات، عن طريق تسليم الأنظمة ضمن الأطر الزمنية المجدولة وتقديرات التكلفة. أنظمة الكمبيوتر معقدة وغالباً بتربط مكونات من أصول مختلفة. خلقت منهجيات مختلفة من SDLC، زي الشلال، الدوار، النموذج الأولي السريع، التزايد، والتزامن والاستقرار.  منهجيات SDLC بتتناسب مع طيف مرن يتراوح من السريع للايتريتي لسلسلة. المنهجيات المرنة، زي إكس بي وسكرام، بتركز على عمليات خفيفة الوزن اللي بتتيح التغييرات السريعة. المنهجيات التكرارية، زي العملية الموحدة العقلانية وطريقة تطوير الأنظمة الديناميكية، بتركز على استقرار نطاق المشروع وتوسيع المنتجات أو تحسينها بشكل تكراري. النماذج المتسلسلة أو التصميم الكبير المسبق (BDUF) ، زي الشلال، بتركز على التخطيط الكامل والصحيح لتوجيه المشاريع الكبيرة وتحديد المخاطر للنتائج الناجحة والقابلة للتنبؤ. التنمية الأنامورفية بتسترشد بمجال المشروع والتكرارات التكيفية.  في إدارة المشروع، المشروع ممكن يشمل كل من دورة حياة المشروع (PLC) و SDLC، وخلالها بتتعمل أنشطة مختلفة شوية. حسب تايلور (2004) ، "دورة حياة المشروع بتشمل كل أنشطة المشروع، في حين إن دورة حياة تطوير الأنظمة بتركز على تحقيق متطلبات المنتج".  SDLC مش منهجية بحد ذاتها، بس هيدي وصف المراحل اللي المنهجية لازم تتعامل معها. القائمة من المراحل مش نهائية، بس بتشمل عادة التخطيط، التحليل، التصميم، البناء، الاختبار، التنفيذ، والصيانة/الدعم. في إطار سكرام، مثلاً، يمكن للمرء يقول إن قصة مستخدم واحد بتمر عبر كل مراحل SDLC خلال سباق أسبوعين. بالمقارنة مع منهجية الشلال، وبيترجم كل متطلبات الأعمال [بحاجة لمصدر] إلى وصف ميزة / وظيفي واللي بعدين يتم تنفيذها كلها عادةً على مدى أشهر أو أكثر. [بحاجة لمصدر]  تاريخ بحسب إليوت وستراشان ورادفورد (2004) ، SDLC "ابتدا في الستينيات، لتطوير أنظمة أعمال وظيفية واسعة النطاق في عصر التكتلات التجارية الكبيرة. أنشطة أنظمة المعلومات بتدور حول معالجة البيانات الثقيلة و روتينات تحليل الأرقام".  طرق تحليل وتصميم الأنظمة المنظمة (SSADM) تم إنتاجها لمكتب التجارة الحكومي في المملكة المتحدة في الثمانينات. من وقتها، حسب إليوت (2004) ، "منهجيات دورة الحياة التقليدية لتطوير الأنظمة تم استبدالها بشكل متزايد بمنهجيات وأطر بديلة، حاولت تتغلب على شوية من أوجه القصور الكامنة في SDLC التقليدية".  موديلات  نسخة من عشرة مراحل من دورة حياة تطوير الأنظمة SDLC بتوفر مجموعة من المراحل/الخطوات/الأنشطة اللي لازم يتبعوها مصممي الأنظمة والمطورين. كل مرحلة بتبني على نتائج المرحلة اللي قبلها. مش كل مشروع بيحتاج المراحل تكون متسلسلة. بالنسبة للمشاريع الأصغر وأبسط، ممكن تجميع المراحل أو التداخل.  شلال أقدم وأشهر معروف هو نموذج الشلال، اللي بيستخدم تسلسل خطي من الخطوات. الشلال عنده أنواع مختلفة. واحد نوع هيدا:  تحليل أولي عمل تحليل أولي، فكر في الحلول البديلة، تقدير التكاليف والفوائد، وتقديم خطة أولي مع توصيات.  عمل تحليل أولي: حدد أهداف المنظمة و حدد طبيعة ونطاق المشروع. تأكد إن المشروع يتوافق مع الأهداف. فكر في الحلول البديلة: البدائل ممكن تجي من مقابلات مع الموظفين والعملاء والموردين والاستشاريين، بالإضافة إلى تحليل تنافسي. تحليل التكاليف والفوائد: تحليل تكاليف وفوائد المشروع. تحليل الأنظمة، تعريف المتطلبات تقسيم أهداف المشروع[للمزيد] لعمل وظائف وعمليات محددة. هيدا بيحتوي على جمع وتفسير الحقائق، تشخيص المشاكل، وتوصية التغييرات. تحليل احتياجات المعلومات للمستخدمين النهائيين وحل التناقضات وعدم الكمال:  جمع الحقائق: نلقى متطلبات المستخدم النهائي عن طريق مراجعة الوثائق، مقابلات العملاء، الملاحظة، والاستبيانات. فحص النظام الموجود: حدد الإيجابيات والسلبيات. تحليل النظام المقترح: لق حلول للمشاكل وإعداد المواصفات، ودمج مقترحات المستخدمين المناسبة. تصميم الأنظمة في المرحلة دي، بتتفصل الميزات والعمليات المطلوبة، ومنها تصميمات الشاشة وقواعد الأعمال ورسمات العملية والرمز الزائف وغيرها من المنتجات.  التنمية إكتب الشفرة.  التكامل والاختبار جمع الوحدات في بيئة اختبار. شوف عالأخطاء، الحشرات، والتشغيل البيني.  القبول، التثبيت، النشر حط النظام للإنتاج. هيدا ممكن ينطوي على تدريب المستخدمين، نشر الأجهزة، وتحميل المعلومات من النظام الأسبق.  صيانة مراقبة النظام لتقييم صحته المستمرة. عمل تغييرات بسيطة وإصلاحات حسب الحاجة.  تقييم بيتم مراجعة النظام والعملية. في أسئلة مهمة تتضمن إذا كان النظام المطبق حديثًا بيفي المتطلبات ويحقق أهداف المشروع، وإذا كان النظام قابل للاستخدام، موثوق/متوفر، مقياس بشكل صحيح ومقاوم للخطأ. التحقق من العملية بتشمل مراجعة الجداول الزمنية والنفقات، بالإضافة إلى قبول المستخدم.  التخلص في نهاية العمر، بتتطور خطط لإيقاف النظام والانتقال لبديله. المعلومات والبنية التحتية المرتبطة بهي لازم يتغيروا، يتم أرشيفهم، يتخلصوا منه، أو يتحطموا، مع حماية الأمن بشكل مناسب.  بالرسوم البيانية التالية، بتتقسيم المراحل دي لعشرة مراحل، من التعريف لإنشاء وتعديل منتجات عمل تكنولوجيا المعلومات:  تحليل وتصميم الأنظمة تحليل وتصميم الأنظمة (SAD) يمكن يعتبر نشاط تطوير متالي، واللي بيعمل على إعداد المرحلة وربط المشكلة. SAD بيساعد في التوازن بين المتطلبات المتنافسة عالية المستوى. SAD بتتفاعل مع بنية المؤسسات الموزعة، وبنية تكنولوجيا المعلومات المؤسسية، وبنية الأعمال، وتعتمد بشكل كبير على مفاهيم زي التقسيم، والواجهات، والشخصيات والأدوار، ونمذجة النشر/التشغيل علشان توصل لوصف نظام عالي المستوى. بعدين، بيتم تقسيم الوصف عالي المستوى إلى مكونات و وحدات يمكن تحليلها وتصميمها وبناءها بشكل منفصل ودمجها لتحقيق الهدف التجاري. إس دي إل سي و إس إيه دي حجر الزاوية للتخطيط للمنتج والنظام لدورة الحياة الكاملة.  تحليل وتصميم موجهين للكائنات التحليل والتصميم الموجهين للكائنات (OOAD) هيي عملية تحليل مجال المشكلة لتطوير نموذج مفاهيمي يقدر بعدين يستخدم لتوجيه التطوير. خلال مرحلة التحليل، المبرمج بيطور متطلبات مكتوبة ووثيقة رؤية رسمية عن طريق مقابلات مع أصحاب المصلحة.  النموذج المفاهيمي اللي بيجي من OOAD عادة بيحتوي على حالات الاستخدام، ورسمات الطبقة والتفاعل. ممكن بردو يشتمل على نموذج لمواجهة المستخدم.  ما لازم يكون المنتج الخارجي محدد تمامًا عشان يخدم كمدخل للتصميم الموجه للكائنات؛ التحليل والتصميم ممكن يكونوا متوازين. في الممارسة العملية، يمكن لنتائج نشاط واحد يغذوا الآخر في عملية تكرارية.  شوية ملفات إدخال نموذجية لـ OOAD:  نموذج مفاهيمي: نموذج مفاهيمي هو نتيجة التحليل الموجه نحو الكائن. بيخد مفاهيم بمجال المشكلة. النموذج المفاهيمي مستقل بشكل صريح عن تفاصيل التنفيذ. حالات الاستخدام: حالة الاستخدام هيي وصف لتسلسل الأحداث اللي، مع بعضها، بتكمل مهمة مطلوبة. كل حالة استخدام بتوفر سيناريوهات بتعبر عن كيفية تفاعل النظام مع الجهات الفاعلة (المستخدمين). الممثلين ممكن يكونوا مستخدمين نهائيين أو أنظمة تانية. إمكاني إضافة تفاصيل لحالات الاستخدام باستخدام مخططات. الرسوم البيانية دي بتعرف الجهة الفاعلة والعمليات اللي بتعملو. مخطط تسلسل النظام: مخطط تسلسل النظام (SSD) هو صورة بتظهر، لحالة استخدام معينة، الأحداث اللي بتولدها الممثلين، وتتالياتها، بما في ذلك الأحداث اللي بين الأنظمة. وثيقة واجهة المستخدم: وثيقة بتظهر وتوصف واجهة المستخدم. نموذج بيانات: نموذج بيانات بيوصف كيف بتتصل عناصر البيانات ببعضها. بنسخ نموذج البيانات قبل مرحلة التصميم. التصاميم الموجهة للأشياء بتعمل خريطة مباشرة من نموذج البيانات. التصاميم العلائقية أكتر شمولية. دورة حياة النظام دورة حياة النظام هيي وجهة نظر عن نظام أو نظام مقترح بتتعامل مع جميع مراحل وجوده لتشمل تصور النظام، التصميم والتطوير، الإنتاج و/أو البناء، التوزيع، التشغيل، الصيانة والدعم، التقاعد، التخلص التدريجي والتخلص منه.  التصميم المفاهيمي مرحلة التصميم المفاهيمي هيي المرحلة اللي بتتم فيها فحص الحاجة المحددة، وتعريف المتطلبات للحلول المحتملة، وتقييم الحلول المحتملة، وتطوير مواصفات النظام. مواصفات النظام بتمثل المتطلبات التقنية اللي بتوفر توجيهات شاملة لتصميم النظام. عشان هالوثيقة بتحدد كل التطوير المستقبلي، المرحلة ما بتنتهي قبل ما تتأكد مراجعة التصميم المفاهيمي إن مواصفات النظام بتتعامل بشكل صحيح مع الحاجة المحفزة.  الخطوات الأساسية بداخل مرحلة التصميم المفاهيمي بتشمل:  حاجة للتعرف تحليل الجدوى تحليل متطلبات النظام مواصفات النظام مراجعة التصميم المفاهيمي تصميم نظام أولي خلال المرحلة دي من دورة حياة النظام، بيتم تصميم الأنظمة الفرعية اللي بتؤدي وظائف النظام المطلوبة وتحديدها وفق مواصفات النظام. بتتعرف الواجهات بين الأنظمة الفرعية، وكمان متطلبات الاختبار والتقييم الشاملة. بعد ما تكتمل المرحلة، بنتج مواصفات التطوير اللي بتكفي عشان تعمل تصميم وتطوير مفصل.  الخطوات الأساسية بداخل مرحلة التصميم الأولي بتشمل:  تحليل وظيفي تخصيص المتطلبات دراسات مفصلة عن المقايضة تجميع خيارات النظام التصميم الأولي للموديلات الهندسية مواصفات التطوير مراجعة التصميم الأولية مثلاً، كمحلل أنظمة بنك فيتي، بتتولى مهمة فحص نظام المعلومات الحالي. فيتي بنك بنك سريع النمو في فيجي. العملاء في المناطق الريفية النائية بيكتشفوا صعوبة في الوصول لخدمات البنك. بيستغرقون ايام أو حتى أسابيع للسفر لموقع للوصول لخدمات البنك. مع رؤية لتلبية احتياجات العملاء، طلب البنك خدماتك لتفحص النظام الحالي وتوصل لحلول أو توصيات عن كيفية توفير النظام الحالي لتلبية احتياجاته.  تصميم وتطوير التفاصيل هاي المرحلة بتشمل تطوير التصاميم التفصيلية اللي بتجلب عمل التصميم الأولي في شكل كامل من المواصفات. هالعمل بيتضمن مواصفات الواجهات بين النظام والبيئة المقصودة، وتقييم شامل لمتطلبات النظام اللوجستية والصيانة والدعم. التصميم والتطوير بالتفاصيل مسؤول عن إنتاج مواصفات المنتج والعملية والمواد وقد يؤدي لتغييرات جوهرية في مواصفات التطوير.  الخطوات الأساسية بداخل مرحلة التصميم والتطوير بتتضمن:  تصميم مفصل تجميع مفصل تطوير نماذج هندسية ونماذج أولية مراجعة مواصفات التطوير مواصفات المنتج والعملية والمواد مراجعة تصميم نقدية الإنتاج والبناء خلال مرحلة الإنتاج و/أو البناء، بيتم بناء المنتج أو تجميعه وفقًا لمتطلبات المحددة في مواصفات المنتج والعملية والمواد، ويتم نشره واختباره ضمن البيئة المستهدفة التشغيلية. بتتعمل تقييمات النظام عشان تصحح العيوب وتعديل النظام عشان يتحسن باستمرار.  الخطوات الأساسية بداخل مرحلة بناء المنتج بتشمل:  إنتاج و/أو بناء مكونات النظام اختبار القبول توزيع وتشغيل النظام اختبار وتقييم التشغيل تقييم النظام الاستخدام والدعم بعد ما ينشر بالكامل، بيستخدم النظام للدور التشغيلي المقصود ويصون في بيئته التشغيلية.  الخطوات الأساسية بداخل مرحلة الاستخدام والدعم بتشمل:  تشغيل النظام في بيئة المستخدم إدارة التغيير تعديلات النظام للتحسين تقييم النظام التوقف والتخلص لازم يتقيّم الفعالية والكفاءة من النظام بشكل مستمر عشان يتحدد متى حقق المنتج دورة حياته الفعالة الأقصى. الاعتبارات بتشمل: وجود حاجة تشغيلية مستمرة، التطابق بين المتطلبات التشغيلية وأداء النظام، جدوى التخلص التدريجي من النظام مقابل الصيانة، وتوافر أنظمة بديلة.  مراحل  هيدا القسم بيحتوي على قائمة من المراجع، القراءة المرتبطة، أو الروابط الخارجية، بس مصادرها ما زالت مش واضحة عشان ما بيحتوي على إقتباسات داخلية. إزا بتريد ساعد في تحسين هالقسم عن طريق إدخال إقتباسات أكتر دقة. (يناير 2023) (تعلم كيف ومتى تزيلي هالبريد النموذجي) تحقيق نظام خلال الخطوة دي، بتتأثر الأولويات الحالية وكيف لازم يتعاملوا. دراسة الجدوى بتحدد إذا كان إنشاء نظام جديد أو محسن مناسب. هيك بيساعد على تقدير التكاليف، الفوائد، متطلبات الموارد، والاحتياجات المحددة للمستخدمين.  دراسة الجدوى لازم تتناول العوامل التشغيلية والمالية والتقنية والبشرية والمخاوف القانونية/السياسية.  تحليل الهدف من التحليل هو تحديد وين المشكلة. الخطوة هيدا بتتضمن تقسيم النظام لقطع، تحليل أهداف المشروع، تقسيم اللي لازم يتكون، وإشراك المستخدمين لتعريف المتطلبات.  تصميم في تصميم الأنظمة، بتتوصف الوظائف والعمليات بالتفصيل، بما في ذلك تخطيطات الشاشة وقواعد الأعمال ورسمات العمليات والوثائق التانية. التصميم المودولي بيقلل التعقيد و بيسمح للمخرجات بتوصيف النظام كمجموعة من الأنظمة الفرعية.  مرحلة التصميم بتأخذ كمدخل المتطلبات المحددة مسبقاً. لكل متطلب، بتنتج مجموعة من عناصر التصميم.  مستندات التصميم عادة بتشمل مخططات التسلسل الهرمي الوظيفي، تخطيطات الشاشة، قواعد الأعمال، مخططات العمليات، رمز زائف، ونموذج بيانات كامل مع قاموس بيانات. العناصر هيدا بتوصف النظام بتفاصيل كافية بحيث المطورين والمهندسين يقدروا يطوروا ويقدموا النظام بأقل قدر ممكن من الإمدادات الإضافية.  اختبار الكود بيتم اختباره بمستويات مختلفة في اختبار البرمجيات. عادةً بتتعمل اختبارات قبول الوحدة والنظام والمستخدم. اتبعت كتير من الطرق للتجربة.  النوعين التاليين من الاختبارات ممكن يكونوا ذوي صلة:  اختبار المسار اختبار مجموعة البيانات اختبار الوحدة اختبار النظام اختبار التكامل اختبار الصندوق الأسود اختبار الصندوق الأبيض اختبار الانحدار اختبار الأتمتة اختبار قبول المستخدم اختبار أداء البرمجيات التدريب والانتقال بعد ما يتم تثبيت النظام عن طريق الاختبار، بتضمن SDLC إن التدريب الملائم يتم إعداده وإنجازه قبل الانتقال للنظام لدعم الموظفين والمستخدمين النهائيين. التدريب عادة بيشتمل على تدريب عملي للموظفين الداعمين وكمان تدريب المستخدمين النهائيين.  بعد التدريب، مهندسي الأنظمة والمطورين بيحولوا النظام لبيئة الإنتاج.  تشغيل وصيانة الصيانة بتتضمن تغييرات وإصلاحات وتحسينات.  تقييم المرحلة الأخيرة من SDLC هيي قياس فعالية النظام وتقييم التحسينات المحتملة.  دورة الحياة الإدارة والرقابة  مراحل SDLC المرتبطة بالتحكمات الإدارية الأهداف المحددة لمرحلة SDLC بتتوصف بهاد القسم مع المنتجات الأساسية، ووصف المهام الموصى بها، وملخص لأهداف المراقبة المرتبطة بهاي لإدارة فعالة. من المهم جدًا بالنسبة لمدير المشروع إن يحدد ويتتبع أهداف المراقبة أثناء تنفيذ المشاريع. أهداف المراقبة هي بيانات واضحة للنتيجة أو الغرض المطلوب ويجب يحددوا ويتم رصدهم خلال المشروع. أهداف المراقبة ممكن يتجمعوا في فئات رئيسية (مجال) ، وبتتصل بمرحلات SDLC زي ما هو مبين بالشكل.  علشان تدير ومراقبة مبادرة SDLC كبيرة، بيوضع هيكل تفريق العمل (WBS) ويخطط للعمل. لازم تخلي WBS وكل المواد البرامجية في قسم "وصف المشروع" في دفتر الملاحظات. مدير المشروع بيختار شكل WBS اللي بيوصف المشروع بأفضل طريقة.  الرسم البياني بيوضح إن التغطية تمتد على كتير من مراحل SDLC لكن MCD المرتبط بيها بيوضح التنسيقات لمراحل SDLC. مثلاً، التحليل والتصميم بيجري بالأساس كجزء من مجال الاستحواذ والتنفيذ، وبناء النظام والنموذج الأولي بيجري بالأساس كجزء من التسليم والدعم.  تنظيم منظم لفرق العمل  هيكل تقسيم العمل القسم العلوي من WBS بيدي نظرة عامة على نطاق المشروع و الجدول الزمني. لازم بردو يلخص المراحل والمعالم الرئيسية. القسم الأوسط بيعتمد على مراحل SDLC. عناصرو WBS بيتكون من المعالم والمهام اللي لازم يتم تنفيذها بدل من الأنشطة اللي لازم يتعملوا ولها موعد نهائي. كل مهمة ليها نتيجة قابلة للقياس (مثلاً، وثيقة تحليل). مهمة WBS ممكن تعتمد على واحد أو أكتر من الأنشطة (مثلاً التشفير). الأجزاء من المشروع اللي بدو دعم من المتعاقدين لازم يكون معهم بيان عمل. تطوير SOW ما بيأت خلال مرحلة محددة من SDLC بس بيطلع عشان يشمل العمل من عملية SDLC اللي ممكن ينجزه المتعاقدين.  خطوط أساسية الخطوط الأساسية بتتعمل بعد أربع من المراحل الخمسة من SDLC، وهي مهمة للطبيعة التكرارية للموديل. الخطوط الأساسية بتبقى أساسيات.  خط أساسي وظيفي: اتعمل بعد مرحلة التصميم المفاهيمي. خط الأساس المخصص: اتحدد بعد مرحلة التصميم الأولي. خط الأساس للمنتج: بتتعمل بعد مرحلة التصميم والتطوير بالتفاصيل. أساس المنتج المحدد: اتحدد بعد مرحلة بناء الإنتاج.
في سبع مراحل في دورة حياة تطوير الأنظمة. هيدي: دراسة النظام، التحليل، التصميم، الاختبار، التدريب والانتقال، التشغيل والصيانة والتقييم