منهجية تطوير برمجيات

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

تاريخ 

لم تظهر أطر عمل منهجيات تطوير البرمجيات حتى الستينيات من القرن العشرين. بحسب إليوت (Elliott 2004) فإن دورة حياة تطوير البرمجيات (systems development life cycle) يمكن أن يعتبر أقدم منهجية قد تم تشكيلها لبناء الأنظمة المعلوماتية. الفكرة الرئيسة في دورة حياة تطوير البرمجيات كانت في السعي إلى تطوير الأنظمة المعلوماتية بطريقة مدروسة و منظمة و متبعة للمنهجية العلمية، مما يتطلب من كل مرحلة من مراحل دورة حياة التطوير أن تضع فكرة تسليم النظام النهائي نصب عينيها.

استخدام المصطلح كاسم 

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

استخدام المصطلح كفعل 

كفعل، فإن منهجية تطوير البرمجيات هي عبارة عن أسلوب يستخدم من قبل المؤسسات و فرق المشاريع لتطبيق إطار عمل منهجية تطوير البرمجيات (الاسم).

أساليب منهجيات تطوير البرمجيات 

كل أسلوب من أساليب منهجيات تطوير البرمجيات يعمل لتطبيق بعض أطر العمل في تطوير و صيانة البرمجيات. منذ بدء تكنولوجيا المعلومات، استخدم كثير من أساليب تطوير البرمجيات. من الأمثلة عليها:
 الشلال: ( waterfall )إطار عمل خطي.
 النماذج: إطار عمل متكرر.
 المتزايد:(incremental) إطار عمل يجمع ما بين الخطي و المتكرر.
 الحلزوني:(spiral)
حلزوني, لولبي إطار عمل يجمع ما بين الخطي و المتكرر.
 تطوير البرمجيات السريع: إطار عمل متكرر.
 البرمجة القصوى.

مواضيع متفرعة

هندسة البرمجيات بالاستعانة بالحاسوب 
هندسة البرمجيات بالاستعانة بالحاسوب، و يطلق عليها بالإنجليزية Computer-aided software engineering أو (CASE)، هي استخدام مجموعة من الأدوات و الوسائل و تطبيقها بشكل علمي على البرمجية مما يؤدي إلى منتجات برمجية ذات جودة عالية خالية من الأخطاء و قابلة للصيانة. و يشير المصطلح أيضا إلى طرق تطوير الأنظمة المعلوماتية من خلال استخدام أدوات برمجية أوتوماتيكية ضمن عملية تطوير البرمجيات. المصطلح يمكن أن يستخدم أيضا للإشارة إلى البرمجيات المستخدمة لأتمتة تطوير الأنظمة البرمجية.

بيئة التطوير المتكاملة 
بيئة التطوير المتكاملة، و يطلق عليها بالإنكليزية integrated development environment أو (IDE)، هي أي تطبيق برمجي يزود المبرمجين بتسهيلات واسعة في تطوير البرمجيات. في العادة، يحتوي تطبيق بيئة التطوير المتكاملة على:
 محرر الشيفرة
 مترجم و/أو مفسر
 أدوات لأتمتة البناء (build automation)
 المصحح (debugger)

مراجع 

طرق شكلية
علم المنهج