Download presentation
Presentation is loading. Please wait.
1
Artificial Intelligent Systems Labratory 1 eXtreme Programming فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده : پويا جافريان
2
Artificial Intelligent Systems Labratory 2 XP چيست ؟ XP يك متدولوژي Lightweigt براي تيمهايي با اندازه كوچك يا متوسط است كه در محيطي با نيازهاي مبهم و متغير به توسعه نرمافزار مشغول هستند. يك رويكرد قانونمند و سنجيده براي توسعه نرمافزار ميباشد. پركاربرد ترين فرايند Agile است كه توسط Kent Beck پيشنهاد داده شده است.
3
Artificial Intelligent Systems Labratory 3 eXtreme Programing (XP) طرح ريزي در XP – ارائه User Stories – ارزيابي و اندازه گيري User Stories و اختصاص هزينه به هريك – گروه بندي Story ها براي تحويل افزايشي – تعيين تاريخ تحويل – بعد از اولين تحويل و مشخص شدن سرعت پروژه، تاريخهاي تحويل افزايشهاي بعدي نيز مشخص ميشود.
4
Artificial Intelligent Systems Labratory 4 User Story
5
Artificial Intelligent Systems Labratory 5 eXtreme Programing (XP) طراحي در XP بر مبناي قانون KIS (Keep it Simple) توصيه به استفاده از كارتهاي CRC براي مسائل طراحي پيچيده، Prototype ايجاد شود. توصيه به انجام Refactoring ( بهبود افزايشي طراحي برنامه )
6
Artificial Intelligent Systems Labratory 6 eXtreme Programing (XP) كد نويسي در XP – توصيه به ساخت Unit Test قبل از آغاز كد نويسي – توصيه به انجام “ Pair Programming ” تست در XP – انجام Unit Test به صورت روزانه – تست Acceptance توسط مشتري انجام شده و براي تست موارد قابل مشاهده توسط وي انجام ميگيرد.
7
Artificial Intelligent Systems Labratory 7 دوره حيات XP (Life Cycle) Exploration Planning Iteration Production Maintenance
8
Artificial Intelligent Systems Labratory 8 چه زماني از XP استفاده شود ؟ پروژههاي با ريسك بالا با نيازهاي پويا XP براي گروههاي كوچك برنامه نويسي از 2 تا 12 مناسب ميباشد.
9
Artificial Intelligent Systems Labratory 9 مشخصههاي XP توسعه افزايشي و تكراري انجام تست هاي Unit و Regression به صورت مستمر و خودكار توسعه دهندگان وظيفه نوشتن تستهاي Unit را برعهده دارند در حالي كه مشتريان تستهاي Acceptance را مينويسند.
10
Artificial Intelligent Systems Labratory 10 مشخصههاي XP تست Unit – يك روش تست براي اصلاح يك ماژول در Source Code مزاياي Unit Test – تشويق به تغييرات – ساده كردن يكپارچه سازي
11
Artificial Intelligent Systems Labratory 11 مشخصههاي XP تست Regression – تست Regression نوعي از تست است كه براي آشكار سازي باگهاي Regression به كار ميرود. – باگهاي Regression ، باگهايي هستند كه شامل كاركردهايي از نرمافزار ميشوند كه قبلاً كار ميكرده ولي اكنون از كار ايستاده است. – روش معمول براي تست Regression ، انجام تستهاي قبلي و چك كردن اينكه خطاهاي قبلي درست شده اند يا خير ميباشد.
12
Artificial Intelligent Systems Labratory 12 مشخصههاي XP Pair Programming در روش Pair Programming دو مهندس نرمافزار وظيفه توسعه را با همكاري هم بر روي يك Workstation بر عهده دارند.
13
Artificial Intelligent Systems Labratory 13 مشخصههاي XP تعاملات بين كاربر و مشتريان – هر تيم XP بايد شامل يك نماينده از مشتري (Customer on Site) باشد كه وظيفه تعيين اولويتهاي كاري و پاسخگويي به مشكلات را بر عهده دارد.
14
Artificial Intelligent Systems Labratory 14 مشخصات XP Refactoring به تغيير سورس كد بدون تغيير رفتار بيروني آن، Refactoring ميگويند. عمل تست اطمينان حاصل ميكند كه انجام Refactoring رفتار بيروني را تغيير نداده است. اين عمل بايد تنها در صورت احساس نياز به آن براي بهبود طراحي داخلي، الگوريتم و... انجام شود.
15
Artificial Intelligent Systems Labratory 15 مشخصات XP Shared Code Ownership هريك از اعضاي تيم از همه قطعه كدها اطلاع دارد ( هر فرد مسئوليت كل سيستم را بر عهده دارد ) در صورتي كه بخشي از كد تنها در اختيار يك شخص خاص باشد، در صورتي كه سازمان را ترك كند يا حادثه اي پيش بيايد، انجام تغييرات بر روي آن كد دشوار ميگردد.
16
Artificial Intelligent Systems Labratory 16 مشخصات XP Simplicity يك طراحي ساده معمولاً زمان كمتري براي اتمام نياز دارد تا يك طراحي پيچيده Organize the System with a metaphor يك System Metaphor انتخاب گردد تا نام گذاري كلاس ها و متدها به صورت يكپارچه انجام گيرد. امكان حدس زدن نام يك كلاس يا متد در صورتي كه موجود باشد موجب صرفه جويي در زمان ميشود.
17
Artificial Intelligent Systems Labratory 17 مشخصات XP 40-Hour Week XP به طور كلي اجازه كار كردن تا 40 ساعت در هفته را ميدهد. اين امر وقت كافي براي استراحت اعضا را فراهم كرده و در صورت شروع يك مسئله جديد ذهن افراد همچنان كارايي لازم را دارد.
18
Artificial Intelligent Systems Labratory 18 نقاط قوت Pair Programming بهبود ارتباطات ميان اعضاي تيم افزايش قانون مندي بهبود كيفيت طراحي كه موجب كد ساده تر و با قابليت تغيير بالاتر ميشود. كاهش defect ها ( زيرا شخص دوم به طور مستمر در حال چك كردن وجود خطاها ميباشد. ) كد نويسي دو نفر بسيار جذاب تر از كد نويسي به تنهايي است. تنها نقطه ضعف اين روش، بروز conflict هاي ارتباطي بين دو نفر ميباشد.
19
Artificial Intelligent Systems Labratory 19 Rules and Practices of Extreme Programming Planning –User stories; –Release planning; –small releases; –Business Analysis; –Project Velocity; –Iterations; –Iteration planning; –Move people around; –Stand-up meeting day; –Fix XP when it breaks.
20
Artificial Intelligent Systems Labratory 20 Rules and Practices of Extreme Programming Designing –Simplicity –System metaphor. –Use CRC cards for design sessions. –Spike solutions to reduce risk. –No functionality added early. –Refactor.
21
Artificial Intelligent Systems Labratory 21 Rules and Practices of Extreme Programming Coding –Customer is always available; –Standards. –Code the unit test first; –Pair programmed; –Integrates often; –Collective code ownership. Optimization till last; –No overtime.
22
Artificial Intelligent Systems Labratory 22 Rules and Practices of Extreme Programming Testing –All code must have and pass unit tests before it can be released; –When a bug is found tests are created; –Acceptance tests are run often and the score is published
23
Artificial Intelligent Systems Labratory 23 نقش ها و مسئوليتهاي XP برنامه نويس (Programmer) مشتري (Customer) آزمونگر (Tester) پي گيرنده (Tracker) مربي (Coach) مشاور (Consultant) مديريت يا رئيس بزرگ (Manager or Big Boss)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.