مقدمة في هندسة البرمجيات

comp-1

مقدمة في هندسة البرمجيات

مقدمة في هندسة البرمجيات

استُخدِمَت هندسة البرمجيات كمفهوم نظري من حين لآخر في أواخر الخمسينات وبداية الستينات من القرن الماضي، أمَّا الاستخدام الرسمي الأول لهذا المصطلح فكان في مؤتمر عُقِد من قبل اللجنة العلمية في منظمة حلف شمال الأطلسي سنة 1968 حول البرمجيات، وقد أخذ هذا المصطلح بالانتشار منذ ذلك الحين ولاقى اهتمامًا متزايدًا في نواحٍ مختلفة.
عُقِد المؤتمر لمعالجة مايعرف ب (أزمة البرمجيات) والتي ظهرت بسبب عدم استخدام منهجية في التفكير (Software Development Process) عند بناء البرمجيات، مما أدى إلى ظهور أخطاء كثيرة خلال عملية بناء وصيانة البرمجيات، وبالتالي أصبحت البرمجيات تحتاج إلى وقت كبير لتطويرها ولصيانتها وكلفة مالية عالية، وبعد تحمل التأخر في الوقت وتجاوز الميزانية كانت البرمجيات ذات كفاءة ضعيفة في إنجاز الوظائف المطلوبة، وقلة في الفعالية كذلك بعدم تلبية كافة المتطلبات بالشكل الكامل.
البرمجة (Software):
هي شيء غير ملموس إلى حدٍ ما بالمُقارنة مع المُنتجات الأخرى، وهي سلسلة من آلاف أو ملايين الأوامر التي تَطلُب من الحاسوب إجراء عملياتٍ مُعينة مثل عرض المعلومات، أو إجراء الحسابات، أو تخزين البيانات. هذه البرمجيات هي بمثابة الروح من الجسد في النّظام الحاسوبي وهي في توسعٍ دائم وازدياد في التّعقيد والمُتطلبات والمهام التي تقوم بتنفيذها.

هندسة البرمجيات (Software engineering):
هي مهنة تهتم بتطوير وتصميم البرمجيات عالية الجودة آخذة بعين الاعتبار تخصيصات المستخدم، ومتطلباته على جميع المستويات. تهتم هندسة البرمجيات بتكوين البرنامج منذ مراحله الأولى أثناء تحليل المشكلة، ومن ثم التصميم، وكتابة البرنامج حتى القيام بتجربته، واختباره، وتنصيبه على الأجهزة، والقيام بعملية صيانته. وهي حديثًا يمكن أن تنقسم لقسمين الحوسبة اللينة والحوسبة الصلبة.

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

مراحل تطوير النظام البرمجى :
في هندسة البرمجيات، بناء النظام البرمجي ليس مجرد كتابة شفرة (كود Code)، وإنَّما هي عملية إنتاجية لها عدة مراحل أساسية وضرورية للحصول على المُنتج، يُطلق على هذه المراحل اسم دورة حياة النّظام البرمجي (Software Life cycle).

تتألف دورة حياة النظام البرمجي (Software Life Cycle) من المراحل التالية:

 تحليل المتطلبات (Requirement Analysis): خلال هذه المرحلة، يقوم الفريق المسؤول عن تطوير البرنامج بتحديد المتطلبات والأهداف التي يريدون الوصول إليها عبر البرنامج. عادةً ما تكون هذه المتطلبات محددة من الزبون، وهنا يجب أن تؤخذ مواضيع الكلفة والجودة بعين الاعتبار.
 التصميم (Design): في مرحلة التصميم، يضع الفريق الأفكار المتعلقة بكيفية تصميم البرنامج. هنا يتم النقاش حول ما هي أفضل لغة برمجة أو بيئة برمجة قابلة للاستخدام من أجل تنفيذ البرنامج المطلوب بالمتطلبات المحددة.
 التنفيذ (Implementation): بعد تحديد المتطلبات والأهداف والاتفاق على لغة البرمجة ووضع الخطوط الأساسية للبرنامج وبنيته، يقوم الفريق بتنفيذ (نموذجٍ أوليّ Prototype) للبرنامج.

 الاختبار (Testing):. بعد وضع رمز يتم اختباره في ضوء المتطلبات للتأكد من أن المنتج هو يُلبي فعلًا احتياجات موجهة وُتجمع خلال متطلبات المرحلة. خلال هذه المرحلة يتم اختبار كل شيء مثل اختبار وحدة معينة، واختبار تكامل الأنظمة (الدمج)، واختبار النظام.

 التطوير (Evolution): بعد انتهاء مرحلة الاختبار، والتأكد من أن البرنامج فعال، ويقوم بالوظيفة المطلوبة منه بأفضل كفاءة وأقل تكلفة، يعمل الفريق على البحث عن سبل تطوير البرنامج، وإضافة مميزات جديدةٍ له، وجعله أكثر فاعلية وأكثر كفاءة.
 الصيانة (Maintenance): مرة واحدة عندما يبدأ العملاء باستخدام نظام متطور ثم تظهر المشاكل الفعلية وتحتاج إلى حل من وقت لآخر.

نماذج بناء الانظمة :
 نموذج شلال (Waterfall model)
 نموذج V
 نموذج تدريجي (Incremental model)
 نموذج RAD
 نموذج مرن (Agile model)
 نموذج تكراري (Iterative model)
 نموذج حلزوني (Spiral model)

إعداد :NoraElshwemy
مراجعة: مالك المغربي
تصميم: مالك المغربي

المصادر:

http://ceit.aut.ac.ir/~91131079/SE2/SE2%20Website/Lecture%20Slides.html

شارك المقال:

تواصل معنا

«الباحثون المصريون» هي مبادرة علمية تطوعية تم تدشينها في 4/8/2014، بهدف إثراء المحتوى العلمي العربي، وتسهيل نقل المواد والأخبار العلمية للمهتمين بها من المصريين والعرب،

تابعنا على منصات التواصل الإجتماعي