هندسة البرمجيات: نظرة شاملة

عملية هندسة البرمجيات: نظرة عامة. نشأة هندسة البرمجيات، مراحل عملية التطوير، أنواع البرامج المطورة، هياكل بناء البرمجيات، وأهم المراجع.

مدخل إلى هندسة البرمجيات

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

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

جذور هندسة البرمجيات

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

في عام 1948، ظهر أول برنامج حقيقي عندما صمم توم كيلبورن وزميله آلة مانشستر التجريبية الصغيرة لإجراء عمليات حسابية استغرقت حوالي الساعة. كان هذا الوقت يعتبر سريعًا جدًا في ذلك الوقت.

ظهرت لغات البرمجة المهيكلة في الخمسينيات والستينيات من القرن الماضي، مثل Fortran و Lisp، والتي أصبحت أساس الحوسبة التقنية والبرمجة. ثم ظهرت البرمجة الشيئية في السبعينيات، وشهد العقد التالي تطورًا كبيرًا في هندسة البرمجيات، مع ظهور البرامج على الحواسيب الشخصية، مثل AutoCAD و Microsoft Word.

في التسعينيات، زاد الاهتمام بالبرمجيات مفتوحة المصدر التي يمكن للمستخدمين تعديلها. لاحقًا، لم تعد البرمجيات مقتصرة على الحواسيب، بل استُخدمت في تطوير الهواتف الذكية والأجهزة المحمولة. اليوم، تدخل البرمجيات في كل ما يحيط بنا تقريبًا، باستخدام العديد من لغات البرمجة القديمة والحديثة.

خطوات عملية هندسة البرمجيات

تمر البرمجيات خلال إنتاجها بما يعرف بدورة حياة تطوير النظم. يشير هذا المصطلح إلى المراحل التي تمر بها عملية تطوير البرمجية، من التخطيط إلى الصيانة. هذه المراحل هي:

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

تصنيفات البرمجيات قيد الإنشاء

هناك أربعة أنواع مختلفة من البرمجيات:

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

أطر عمل لهندسة البرمجيات

تنشأ البرمجيات في جميع مراحلها ضمن ما يعرف بدورة حياة تطوير النظم أو التطبيقات (SDLC) من خلال عدة أطر عمل. يختار فريق المبرمجين النموذج الذي يرغبون في اعتماده لتطوير جميع مراحل البرمجية. أهم هذه الأطر:

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

قائمة المراجع

  1. Margaret Rouse (1-10-2016),”Software development”،whatis.techtarget.com, Retrieved 30-11-2020. Edited.
  2. “Software Development”,www.techopedia.com,12-12-2017، Retrieved 30-11-2020. Edited.
  3. What is software development?”,www.ibm.com, Retrieved 30-11-2020. Edited.
  4. Vic Chouchanian,”Programming Languages”,www.csun.edu, Retrieved 30-11-2020. Edited.
  5. Micah Yost (25-1-2018),”A Brief History of Software Development”،medium.com, Retrieved 30-11-2020. Edited.
  6. “Software Development Life Cycle (SDLC)”,www.techopedia.com,12-11-2020، Retrieved 30-11-2020. Edited.
  7. “SDLC Models”,www.javatpoint.com, Retrieved 30-11-2020. Edited.
  8. Linda Newman Lior, David Farbey,”Development Model”،www.sciencedirect.com, Retrieved 30-11-2020. Edited.
Total
0
Shares
اترك تعليقاً
المقال السابق

تطوير البرامج

المقال التالي

تحسين العملية التعليمية: رؤى وأساليب مبتكرة

مقالات مشابهة