برنامه سازی مفرط ( به انگلیسی: extreme programming ) که به اختصار XP نیز خوانده می شود، یک متدولوژی توسعه نرم افزار است که در آن هدف افزایش کیفیت نرم افزار و پاسخ گویی به نیازمندی های در حال تغییر کاربر است. به عنوان گونه ای از توسعهٔ نرم افزاری چابک ( Agile software development ) از انتشار ( release ) های متناوب در چرخه های کوتاه توسعه با هدف بهبود قابلیت تولید و معرفی نقاط کنترلی ( Check Point ) برای تطابق با نیازمندی های جدید کاربر، دفاع می کند.
برخی از ویژگی های این روش عبارت اند از:
• برنامه نویسی دونفره
• بازبینیِ کد
• آزمایش واحد ( Unit testing )
• تا زمانی که به ویژگیِ خاصی نیازی نیست، آن ویژگی پیاده سازی نشود.
• تعامل زیاد با مشتری
• ساختارِ سازمانیِ مسطح ( Flat organization )
• پاسخگویی به نیازهای دائماً در حال تغییر مشتری
• ارتباط مفید و سازنده میان برنامه نویس ها
نام «مفرط» در این روش به این دلیل گذاشته شده است که فعالیت های سودمند در روش های توسعه ی نرم افزاری پیشین در این روش به حد اعلای خود می رسند. برای نمونه بازبینیِ کد فعالیتی مفید است، انجام این کار به صورت پیوسته آن را به حدِ اعلای خود، که از اهداف برنامه نویسی مفرط است، می رساند.
برای محقق شدن ارتباطات صحیح بین مهندسان نرم افزار و سایر ذی نفع ها ( stakeholders ) باید همکاری نزدیک و غیررسمی ( گفتاری ) بین مشتری ها و تولیدکنندگان صورت بگیرد. همچنین باید نیازها در قالبی قابل فهم برای تمام طرفین درگیر اعم از مهندسین نرم افزار و مشتری ها بیان شود ( metaphor ) . علاوه بر این باید از مستندسازی به شکل افراطی و در حجم زیاد اجتناب شود.
برای محقق شدن سادگی در تولید نرم افزار تنها برای نیازهای فعلی مرحلهٔ طراحی صورت می گیرد و نیازهای آینده در طراحی در نظر گرفته نمی شود، با این هدف که طراحی تا جای ممکن ساده شود و پیاده سازی آن هر چه آسانتر گردد.
در برنامه سازی مفرط بازخورد از سه منبع دریافت می شود: نرم افزار پیاده سازی شده، مشتری و دیگر اعضای گروه توسعهٔ نرم افزار. از طریق طراحی آزمون های کارا برای نرم افزار، خود نرم افزار از طریق نتیجهٔ آزمون ها بازخوردی از کیفیت نرم افزار به دست می دهد. در برنامه سازی مفرط از آزمایش واحد برای آزمون نرم افزار می شود و پارادایم برنامه نویسی متداول هم برنامه نویسی شیءگرا است. پس از اتمام هر کلاس برای آن آزمایش واحدی طراحی می شود تا بازخوردی از برنامه وجود داشته باشد.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفبرخی از ویژگی های این روش عبارت اند از:
• برنامه نویسی دونفره
• بازبینیِ کد
• آزمایش واحد ( Unit testing )
• تا زمانی که به ویژگیِ خاصی نیازی نیست، آن ویژگی پیاده سازی نشود.
• تعامل زیاد با مشتری
• ساختارِ سازمانیِ مسطح ( Flat organization )
• پاسخگویی به نیازهای دائماً در حال تغییر مشتری
• ارتباط مفید و سازنده میان برنامه نویس ها
نام «مفرط» در این روش به این دلیل گذاشته شده است که فعالیت های سودمند در روش های توسعه ی نرم افزاری پیشین در این روش به حد اعلای خود می رسند. برای نمونه بازبینیِ کد فعالیتی مفید است، انجام این کار به صورت پیوسته آن را به حدِ اعلای خود، که از اهداف برنامه نویسی مفرط است، می رساند.
برای محقق شدن ارتباطات صحیح بین مهندسان نرم افزار و سایر ذی نفع ها ( stakeholders ) باید همکاری نزدیک و غیررسمی ( گفتاری ) بین مشتری ها و تولیدکنندگان صورت بگیرد. همچنین باید نیازها در قالبی قابل فهم برای تمام طرفین درگیر اعم از مهندسین نرم افزار و مشتری ها بیان شود ( metaphor ) . علاوه بر این باید از مستندسازی به شکل افراطی و در حجم زیاد اجتناب شود.
برای محقق شدن سادگی در تولید نرم افزار تنها برای نیازهای فعلی مرحلهٔ طراحی صورت می گیرد و نیازهای آینده در طراحی در نظر گرفته نمی شود، با این هدف که طراحی تا جای ممکن ساده شود و پیاده سازی آن هر چه آسانتر گردد.
در برنامه سازی مفرط بازخورد از سه منبع دریافت می شود: نرم افزار پیاده سازی شده، مشتری و دیگر اعضای گروه توسعهٔ نرم افزار. از طریق طراحی آزمون های کارا برای نرم افزار، خود نرم افزار از طریق نتیجهٔ آزمون ها بازخوردی از کیفیت نرم افزار به دست می دهد. در برنامه سازی مفرط از آزمایش واحد برای آزمون نرم افزار می شود و پارادایم برنامه نویسی متداول هم برنامه نویسی شیءگرا است. پس از اتمام هر کلاس برای آن آزمایش واحدی طراحی می شود تا بازخوردی از برنامه وجود داشته باشد.
wiki: برنامه نویسی مفرط