شرح برنامهنویسی مفرط (XP)
- 3. کیفیت
خارجی
رودمی انتظار که همانطور
رومی انتظار که همانطوری
باشد شده ساخته کارا
باشد متمرکز اهداف برروی
کیفیت
داخلی
تست قابلیت
بامعنی و رسا
ایپیمانه
ساده
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
کیفیت
3
- 12. مزایا
مستمر بررسی و نقد
کمتر نقص
مشکل بهتر حل
ترصرفه به مقرون
«فشار-جفتی»تضمین ،
موقع به تحویل
برای سریع رویکردی
یادگیری
اعضای بهتر معرفی
تیم جدید
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 12
- 13. دوتایی باید زمان چه
شوید؟
پیچیده کد
حیاتی هایپروژه کد
است طراحی های تصمیم شامل که کدی
اعضای یهمه خواهیدمی که کد از ایناحیه
کندمی کار چطور بدانند تیم
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 13
- 14. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
محور آزمون توسعه
Test-Driven Development
•شده معرفی افزارنرم توسعه روش یک
توسطBeckسال در2003
•چابک توسعه متدهای از یکی
•از قبل آزمون نوشتن بر تاکید
سازیپیاده
•مشخص متد یک برای مشخص نیاز ،آزمون
کندمی آزمایش را 14
- 19. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
مثال
نام با کالسیString calculatorداریم
نام به متدیSum Stringورودی عنوانبه که دارد
شامل را هاییرشته۰و۱یا و۲عدد(“2, 1”)
گرداندمی باز را هاآن جمع و کندمی دریافت
19
- 20. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
آزمون نوشتن
آزمون نامگذاری پیشنهادی الگوی
متدها(Test Method:)@Test
public void MethodName_StateUnderTest_ExpectedBehavior()
که متدی نام
شودمی آزمون
که شرایطی
شودمی آزمون
مورد رفتار
نتیجه در انتظار
تست
20
- 21. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
برای پیشنهادی الگوی
بدنهUnit Test
Arrange
را الزم هایورودی و هاشرط پیش تمام
کنیممی دهیسازمان
Act
یا شیء برروی آزمون برای الزم اعمال
شودمی انجام نظر مورد متد
Assert
انتظار مورد نتایج که شویممی مدعی
باشد داده رخ
21
- 22. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 22
بازنگری
(Refactoring)
ایگونهبه ،افزارینرم سیستم یک تغییر فرایند
عین در اما نکند تغییری آن خارجی رفتار که
یابد بهبود آن داخلی ساختار حال
کنیم؟ بازنگری زمان چه
۱-تکرار که زمانی(duplication)دارد وجود
۲-قصد یا و کد شویم متوجه کههنگامی(intent)
نیست مشخص آن
۳-کد بوی از وقتی(code smell)شویم متوجه
دارد وجود مشکلی که
- 23. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
•هنوز که رو کاری چطور
آزمایش ،ندادم انجام
کنم؟
•به ایعالقه نویسانبرنامه
ندارند آزمون نوشتن
•رو هاآزمایش هزینه مشتری
هاچالش
23
- 24. 5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 24
مزایا
ترسریع بازخورد
اطمینان افزایش
دهندگانتوسعه
کد کیفیت افزایش
دارینگه قابلیت افزایش
کد در تغییر ایجاد و
به نیاز ندرتبه
- 27. oسال در1999وارد ،بک کنت توسط
شد فرموله جفریس رون و کانینگهام
oافزارینرم توسعه متدولوژی
چابک(متدها سایر:،اسکرامDSDM)
oرسمی هایمتدولوژی به واکنش در
شد طراحی
تاریخچه و معرفی
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 27
- 28. چرا؟
گذشته در:
oطراحی شروع از قبل نیازها تمام
شدمی دریافت.
oثابت توسعه فرایند از قبل نیازها
شدندمی
oشدمی مقاومت تغییرات در:چون
کردندمی طوالنی را بندیزمان برنامه
oکامال که دادیدمی تحویل را محصولی
بود انتشار آماده5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 28
- 29. هاتفاوت و تغییرات
که دانیممی:
در تواننمی را هانیازمندی یهمه
شناخت شروع
کرد خواهد تغییر نیازها
دادن وفق برای ابزار از استفاده
طبیعی فرایند یک عنوان به تغییرات
فرایند نه و اصول و هاارزش بر تاکید
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 29
- 30. هاارزش
ارتباط
چهره به چهره بصورت روز هر و است تیم از بخشی هرکس
کنندمی برقرار ارتباط
سادگی
بیشتر نه و است نیاز مورد آنچه انجام و پرسیدن
بازخورد
با اغلب و دهیممی نشان اوایل در را افزارنرم معموال
ایجاد را نیاز مورد تغییر هرگونه و کنندمی گوش دقت
کنندمی
احترام
و کندمی ارزش احساس هم ،تیم عضو عنوان به هرکس
گذاردمی احترام دیگران به هم و است احترام سزاوار
شجاعت
بگویید برآورد و پیشرفت مورد در را حقیقت
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 30
- 32. هاروش و هاارزش میان تفاوت
هاارزشاز ترمهم
هاروشهستند
انطباق برای تواندمی که است ایجنبه
هستند متدولوژی از بخشی واقعا
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 32
- 33. روپیش مسیر
هایمتدولوژی برخی اعتباریبی(متدهای
رسمی)افزارنرم مهندسی
توسعه هایمتدولوژی از استفاده افزایش
چابک افزارینرم
قرار توجه مورد هرگز رسمی متدهای
که افرادی بوسیله که زمانی تا گیرندنمی
گیرد قرار استفاده مورد فهمندنمی راآن
T. Melham
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 33
- 34. مزایا
روز در بار چندین است ممکن جدید هاینسخه
شود ساخته
دست به هفته دو هر ،افزایشی هاینسخه
رسندمی مشتری
اجرا باید هاآزمون همه ،نسخه هر برای
است پذیرش قابل درصورتی تنها نسخه و شوند
سر پشت موفقیت با را هاآزمایش یهمه که
باشد گذاشته
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 34
- 35. معایب
توسعه از بسیاری باشد سخت است ممکن
را روش این که کنید پیدا را دهندگان
بپذیرند
نباشند دسترس در است ممکن شما مشتریان
XPطراحی تا است محور کد ایتوسعه بیشتر ،
محور(نیست مناسب بزرگ هایپروژه برای)
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 35
- 36. بندیجمع
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه
برنامه
ریزی
•کاربر هایخواسته
شودمی نوشته.
•ریزیبرنامه ساخت
بندیزمان و انتشار
•متناوب ساخت
کوچک هاینسخه
مدیریت
•باز کاری فضای تیم به
بدهید گیری تصمیم برای
•پایدار سرعتی تنظیم
•برگزار روز هر ایجلسه
شودطراحی
•سادگی
•ایدوره بررسی
•کلیدی هایحلراه ایجاد
ریسک کاهش برای
•بازنگری امکان حد تا
باشد داشته
کد
•دسترس در همیشه مشتری
است
•توافق طبق باید کد
شود نوشته استانداردها
•واحد به اول باید کد
شود فرستاده آزمایش
•شده تولید کدهای همه
بصورت باید
نویسیبرنامه-جفتی
باشند
آزمایش
•واحد باید کدها یهمه
باشند داشته آزمایش
•واحد باید کدها یهمه
از قبل را آزمایش
بگذارند سر پشت انتشار
•شوندمی ساخته هاآزمایش
شوند پیدا هاباگ تا
•مورد ینسخه معموال
اجرا هاآزمایش پذیرش
منتشر نتایج و شودمی
شودمی
36
- 37. منابع
:
[1] Planning Extreme Programming: by Kent Beck, Martin Fowler; 2001;
ISBN 0-201-71091-9
[2] © IBM Corporation; Demystifying Extreme Programming: “XP distilled” revisited, Part 1: Roy Miller;
13 August 2002;
http://ibm.com/developerWorks/
[3] Impractical things, Pair Programming and TDD: Marcello Duarte
[4] The Pragmatic Programmer: From Journeyman to Master,
by Andrew Hunt and David Thomas
[5] http://www.xprogramming.com/xpmag/whatisxp.htm
[6] http://www.extremeprogramming.org
[7] http://www.agilemanifesto.org/
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 37
- 38. تصاوی
ر:
[8] File:Commons-logo.svg
Source: http://upload.wikimedia.org/wikipedia/en/4/4a/Commons-logo.svg
License:?; Contributors:?; Original artist:?
[9] File:Extreme_Programming.svg
Source:
http://upload.wikimedia.org/wikipedia/commons/8/84/Extreme_Programming.svg
License: CC BY-SA 3.0; Contributors: https://en.wikipedia.org/wiki/File:XP-
feedback.gif; Original artist: Don Wells
[10] File:Folder_Hexagonal_Icon.svg
Source: http://upload.wikimedia.org/wikipedia/en/4/48/Folder_Hexagonal_Icon.svg
License: Cc-bysa-3.0; Contributors: ?; Original artist: ?
5/19/2016 دهقان محمد-مشهد فردوسی دانشگاه 38
Editor's Notes
- برخی از منابع رو برروی پاد آپلود کردم و میتونین از اونجا دریافت کنین.