مفهوم هندسة البرمجيات software engineering

مفهوم – هندسة البرمجيات Software Engineering هو‏ المجال الذي يهتم بتطوير وتصميم البرمجيات، آخذة بعين الاعتبار تخصيصات المستخدم، ومتطلباته على جميع المستويات.

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

يتكون أي نظام حاسوبي من شقين أساسيين: العتاد الصلب Hardware والعتاد الليّن Software، أو البرمجية. بالنسبة للعتاد الصلب، فهو كل ما نشاهده ونلمسه بشكل مباشر، مثل الشاشة، لوحة المفاتيح، الفأرة، اللوحة الأم، وغيرها.

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

البرمجية (Software) هي شيء غير ملموس إلى حدٍ ما بالمُقارنة مع المُنتجات الأخرى، وهي سلسلة من آلاف أو ملايين الأوامر التي تطلب من الحاسوب إجراء عملياتٍ مُعينة مثل عرض المعلومات، أو إجراء الحسابات، أو تخزين البيانات.

هذه البرمجيات هي بمثابة الروح من الجسد في النّظام الحاسوبي وهي في توسعٍ دائم وازدياد في التّعقيد والمُتطلبات والمهام التي تقوم بتنفيذها.

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

فالعتاد الصلب هو القطع الفيزيائية المادية المسؤولة عن تنفيذ العمليات والوظائف التي نريدها، بينما البرمجيات فهي الأوامر التي تخبر العتاد الصلب كيف يجب أن يتصرف والطريقة التي يجب أن يتصرف بها.

أما هندسة البرمجيات، فهي فرع من فروع الهندسة يقوم على مجموعة من الأسس والقواعد التي تهدف إلى تصميم وتطوير البرامج بوفرةٍ ونوعية عالية تُلبّي احتياجات المُستخدمين.

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

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

مراحل بناء النظام البرمجي

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

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

تحليل المتطلبات Requirement Analysis: خلال هذه المرحلة، يقوم الفريق المسؤول عن تطوير البرنامج بتحديد المتطلبات والأهداف التي يريدون الوصول إليها عبر البرنامج.

عادةً ما تكون هذه المتطلبات محددة من الزبون، وهنا يجب أن تؤخذ مواضيع الكلفة والجودة بعين الاعتبار.

التصميم Design: في مرحلة التصميم، يضع الفريق الأفكار المتعلقة بكيفية تصميم البرنامج. هنا يتم النقاش حول ما هي أفضل لغة برمجة أو بيئة برمجة قابلة للاستخدام من أجل تنفيذ البرنامج المطلوب بالمتطلبات المحددة.

التنفيذ Implementation: بعد تحديد المتطلبات والأهداف والاتفاق على لغة البرمجة ووضع الخطوط الأساسية للبرنامج وبنيته، يقوم الفريق بتنفيذ “نموذجٍ أوليّ Prototype” للبرنامج.

الاختبار Testing: في مرحلة الاختبار، يقوم الفريق باختبار برنامجهم والتأكد من أنه يقوم بكافة الوظائف المطلوبة منه، وضمن المعايير والمتطلبات الموضوعة.

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

اترك تعليقاً