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