qas: question: ما هي عملية تطوير البرمجيات ؟
answers: answer_id: 711804
question_id: 646098
text: أشهر دورات حياة النظام البرمجي الكلاسيكية
answer_end: 312
is_impossible: no

question:  ما هي دورات النظام البرمجي؟
answers: answer_id: 711809
question_id: 646100
text: دورات حياة النظام البرمجي.
فيما يلي عرض لإحدى أشهر دورات حياة النظام البرمجي الكلاسيكية وهي دورة الشلال (Waterfall Model):
كتابة وثيقة الشروط الخارجية والداخلية.
answer_end: 386
is_impossible: no

question: ما هي وثيقة الشروط الخارجية ؟

answers: answer_id: 711810
question_id: 646103
text: 
وثيقة الشروط الخارجية يتم أخذها من الزبون. تحتوي الوثيقة على متطلبات الزبون في ما يخص مواصفات البرنامج الذي يجب إنشاؤه. ثم يتم تحليل المتطلبات بشكل أولي ثم كتابة وثيقة شروط داخلية تحتوي على تفسير المواصفات التي يريدها الزبون بدقة أكبر، وبطريقة تتماشى مع مصطلحات المبرمجين. قد تكون طلبات الزبون متعارضة وفي هذه الحالة يتم الرجوع إليه لتنقيح وثيقة الشروط.
ثم يتم تحديد عدد الساعات اللازمة للعمل وحساب التكلفة. 
التحليل.
answer_end: 804
is_impossible: no

question: ما هي عملية التحليل في النظام البرمجي؟
answers: answer_id: 711827
question_id: 646106
text: 
تُجمع في هذه العملية المعلومات بدقة ثم تحدد المتطلبات والمهام التي سيقوم بها البرنامج، وتوصف هذه المهام بدقة تامة، كما تدرس الجدوى المرجوة من البرنامج، فالمستخدم مثلاً يضع تصوراً للبرنامج ليقوم بعمليات معينة، ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها؛ لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن، وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات.

answer_end: 1221
is_impossible: no

question: 
ما هي عملية التصميم في النظام البرمجي؟
answers: answer_id: 711825
question_id: 646108
text: التصميم.
تقسم البرمجية في هذه المرحلة إلى كتل، وتعرف العلاقات بين هذه الكتل، ثم توضع الخوارزميات الملائمة لكل كتلة. تكون البرمجية في نهاية هذه العملية جاهزة لعملية الترميز، كما يتم اختيار لغة أو لغات البرمجة الملائمة لهذا البرنامج.
answer_end: 1452
is_impossible: no

question: 
ما هي عملية الصيانة والتطوير في النظام البرمجي؟
answers: answer_id: 711821
question_id: 646112
text: 
الصيانة والتطوير.
إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام قادراً على مواكبة التطورات والمعدات الحديثة، جزء من هذه المرحلة يكون في تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة. إن هذه الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.
answer_end: 2803
is_impossible: no

question:  ما هي اشهر دورات حياة النظام البرمجي الكلاسيكية؟ 
answers: answer_id: 713366
question_id: 646997
text:  أشهر دورات حياة النظام البرمجي الكلاسيكية وهي دورة الشلال
answer_end: 328
is_impossible: no

question: ما هي اهم مراحل بناء النظام البرمجي؟
answers: answer_id: 713367
question_id: 646998
text: 
التوثيق.
وهي مرحلة هامة من مراحل بناء النظام البرمجي حيث يتم توثيق البناء الداخلي للبرنامج
answer_end: 1849
is_impossible: no

question: ما هي طرق التوثيق ؟
answers: answer_id: 713368
question_id: 646999
text: 
-توثيق المبرمج وهو ممكن أن يكون بأضافة تعليقات داخل الشفرة البرمجية.
-توثيق المحلل بكتابة مستندات شرح لدورة البرنامج المستندية وخلافة.
-توثيق مختبر النظام وفيها يتم تسجيل نقاط الخلل في البرنامج.
answer_end: 2511
is_impossible: no
context: عملية تطوير البرمجيات هي هيكلة مفروضة على عملية تطوير البرمجيات. وتدعى أيضاً دورة حياة البرمجيات أو عملية البرمجيات. هناك عدة نماذج لهذه العملية، كل منها يصف طريقة التعامل مع المهام والأنشطة المتعلقة بعملية تطوير البرمجيات. 
دورات حياة النظام البرمجي.
فيما يلي عرض لإحدى أشهر دورات حياة النظام البرمجي الكلاسيكية وهي دورة الشلال (Waterfall Model):
كتابة وثيقة الشروط الخارجية والداخلية.
وثيقة الشروط الخارجية يتم أخذها من الزبون. تحتوي الوثيقة على متطلبات الزبون في ما يخص مواصفات البرنامج الذي يجب إنشاؤه. ثم يتم تحليل المتطلبات بشكل أولي ثم كتابة وثيقة شروط داخلية تحتوي على تفسير المواصفات التي يريدها الزبون بدقة أكبر، وبطريقة تتماشى مع مصطلحات المبرمجين. قد تكون طلبات الزبون متعارضة وفي هذه الحالة يتم الرجوع إليه لتنقيح وثيقة الشروط.
ثم يتم تحديد عدد الساعات اللازمة للعمل وحساب التكلفة. 
التحليل.
تُجمع في هذه العملية المعلومات بدقة ثم تحدد المتطلبات والمهام التي سيقوم بها البرنامج، وتوصف هذه المهام بدقة تامة، كما تدرس الجدوى المرجوة من البرنامج، فالمستخدم مثلاً يضع تصوراً للبرنامج ليقوم بعمليات معينة، ومهمة مهندس البرمجيات في هذه المرحلة هي استخلاص هذه الأفكار وتحديدها؛ لذلك فهي تتطلب مهارة عالية في التعامل مع الزبائن، وقدرة على التحليل الصحيح. ينتج في نهاية هذه المرحلة وثيقة تدعى جدول الشروط والمواصفات.
التصميم.
تقسم البرمجية في هذه المرحلة إلى كتل، وتعرف العلاقات بين هذه الكتل، ثم توضع الخوارزميات الملائمة لكل كتلة. تكون البرمجية في نهاية هذه العملية جاهزة لعملية الترميز، كما يتم اختيار لغة أو لغات البرمجة الملائمة لهذا البرنامج.
الترميز.
تحول الخوارزميات السابقة إلى إحدى اللغات البرمجية، والتأكد من صحتها لكل كتلة من الكتل، ثم تحول إلى لغة الآلة التي يتعامل بها جهاز الحاسب فقط.
الاختبار والتكاملية.
تجمع الكتل مع بعضها ويختبر النظام للتأكد من موافقته لجدول الشروط والمواصفات، وخاصة إذا كانت الكتل قد كتبت من قبل عدة أعضاء في الفريق.
التوثيق.
وهي مرحلة هامة من مراحل بناء النظام البرمجي حيث يتم توثيق البناء الداخلي للبرنامج؛ وذلك بغرض الصيانة والتطوير. يفضل عادة أن يترافق التوثيق مع كل مرحلة من المراحل السابقة واللاحقة، وأن يكون هناك فريق خاص يهتم بعملية التوثيق لجميع المشاكل والحلول التي يمكن أن تظهر أثناء بناء البرمجية. وبدون التوثيق قد يصل مصنع البرمجية إلى مرحلة لا يعود بعدها قادراً على متابعة صيانتها وتطويرها؛ مما يزيد الكلفة المادية والزمنية الخاصة بهذه البرمجية إلى حدود غير متوقعة، أو بمعنى آخر الفشل في بناء برمجية ذات جودة عالية ودورة حياة طويلة.
وهناك أكثر من طريقة للتوثيق
-توثيق المبرمج وهو ممكن أن يكون بأضافة تعليقات داخل الشفرة البرمجية.
-توثيق المحلل بكتابة مستندات شرح لدورة البرنامج المستندية وخلافة.
-توثيق مختبر النظام وفيها يتم تسجيل نقاط الخلل في البرنامج.
الصيانة والتطوير.
إن هذه المرحلة هي المرحلة الأطول في حياة النظام البرمجي لبقاء النظام قادراً على مواكبة التطورات والمعدات الحديثة، جزء من هذه المرحلة يكون في تصحيح الأخطاء، والجزء الآخر يكون في التطوير وإضافة تقنيات جديدة. إن هذه الخطوات كما نلاحظ مشابهة لخطوات الإنتاج في الهندسيات الأخرى.