نتحدث في هذا التقرير عن تطوير البرمجيات ، إذ يكون في مقدورنا أن نعرف تطوير البرمجيات بأنها عبارة عن عدد كبير من العمليات التي تقوم بإنتاج البرامج؛ حيث أن تلك العمليات تتضمن أكثر من مراحل تهدف إلى أن تلبي احتياجات السوق، وأن تنفذ التصميم المحدد، وتنتج وتنشر البرامج، وصيانتها، ويرجع تاريخ تطوير البرمجيات إلى سنة 1810م، وبعدها في سنة 1949م حيث قام جون ماوخلي بتطوير أول لغة برمجة المعروفة باسم الكود القصير Short Code.
تطوير البرمجيات
تعريف تطوير البرامج
يجرى تعريف تطوير البرامج Software development بأنه عبارة عن عملية تدشين برنامج حاسوبي من أجل معالجة هدف شخصي، أو عملية تجارية يتم تنفيذها عن طريق استعمال لغة برمجة محددة، عن طريق كتابة سلسلة من التعليمات البرمجية المترابطة، من أجل تنفيذ الوظائف المختلفة، ويتكون تطوير البرامج من أكثر من مرحلة تؤدي إلى إنشاء البرامج في النهاية؛ تعرف باسم بدورة حياة تطوير البرامج (software development life cycle) ويكون اختصارها (SDLC).
وفي هذه السطور سنجمل تلك المراحل هي كالتالي، عمليات البحث الأولي initial research، وتصميم تدفق البيانات data flow design، وتصميم سير العمليات process flow design، ومخططات العمل flow charts، والتوثيق التقني technical documentation، واختبار البرامج وتصحيح الأخطاء software testing and debugging.
مراحل تطوير البرمجيات
البرامج يمكن أن تمر بدورة حياة Software Development Life Cycle، ويمكن أن نختصرها في المصطلح SDLC، حيث تمثل أكثر من مرحلة متتالية من أجل إنتاج البرنامج، وهي كالتالي، مرحلة التخطيط Planning؛ إذ يجمع فيها مهندسو البرمجيات المتطلبات من العميل، ويقومون بتحليلها بعدها يجرى تدشين مستند نطاق يجرى فيه تحديد وتوثيق نطاق المشروع.
وتعد تلك المرحلة من أبرز المراحل في عملية تطوير البرمجيات، وهناك مرحلة التنفيذ، Implementation؛ حيث أن مهندسي البرمجيات يبدأون فيها بكتابة الرموز البرمجية وفق ما يطلبه العملاء، اما مرحلة الاختبار Testing؛ حيث يبحث فيها المبرمجون عن العيوب، أو الأخطاء في البرنامج الذي جرى إنشاؤه.
مرحلة التوثيق Documentation؛ حيث يقوم فيها المبرمج بعملية توثيق خطوات المشروع من أجل الرجوع إليها من أجل تحسين البرنامج في عملية التطوير، وقد تتضمن تلك الوثائق تصميم واجهة برمجة التطبيقات API، أما بالنسبة لمرحلة الصيانة والنشر Deployment and maintenance؛ حيث يجرى فيها نشر البرنامج، وبالنسبة لمرحلة الصيانة Maintaining؛ فإن فيها يجرى تحسين البرمجيات للرجوع إليها في المستقبل، وتطويرها.
نماذج تطوير البرمجيات
نموذج الشلال Waterfall؛ ويرجع اسم ذلك النموذج إلى شكله الذي يكون مشابهًا للشلال، ويجرى عن طريقه استكمال كل مرحلةلدورة تطوير البرامج من خلال العمل المتتالي والمتدرج التتابع وذلك قُبيل الانتقال إلى المرحلة التي تليها، وتعد تلك الطريقة من الطرق الكلاسيكية لتطوير البرمجيات.
أما النموذج الذكي أو الرشيق Agile؛ تعمل فيه الفرق متعددة الوظائف التي تتكون من المصممين والمخططين والمطورين، والمختبرين معًا من أجل إنشاء أكثر من إصدار متنوعة من المنتج، وعندما يكتمل تعطي الفرق التغذية الراجعة حوله لنستفيد منها في الجولة التالية من العمل.