توسعه Agile
اسلاید 1: Artificial Intelligent Systems Laboratory1توسعه Agileفصل 4درس مهندسي نرمافزار 2دكتر احمد عبداله زاده بارفروشتهيه كننده : پويا جافريان
اسلاید 2: Artificial Intelligent Systems Laboratory2ايده اصلي توسعه Agile”ما راههاي بهتري را براي توسعه نرمافزار با انجام آن و كمك به ديگران براي انجام آن، نشان خواهيم داد“در طي اين كار ما به ارزشهاي زير دست يافته ايم : اهميت اشخاص و ارتباطات نسبت به فرايند و ابزاراهميت نرمافزار عملياتي نسبت به مستندات كامل اهميت همكاري مشتري نسبت به مذاكرات در حين قرارداداهميت پاسخ به تغييرات نسبت به پيگيري يك طرح اوليه با توجه به مطالب بالا، درحالي كه مسائل مطرح شده در سمت چپ جملات داراي اهميت ميباشند، مسائل مطرح شده در سمت راست از اهميت بالاتري برخوردارند.
اسلاید 3: Artificial Intelligent Systems Laboratory3توسعه نرمافزار Agileتوسعه به روش Agile ميتواند سيستم موفق را سريع تحويل دهد. توسعه Agile بر ارتباطات و همكاري پيوسته ميان توسعه دهندگان و مشتريان تاكيد دارد.
اسلاید 4: Artificial Intelligent Systems Laboratory4توسعه نرمافزار Agileمهندسي نرمافزار به روش Agile بر مبناي فلسفه رضايت مشتري، تحويل نرمافزار به صورت افزایشی، تيمهاي نرمافزاري كوچك (متشكل از مهندسين نرمافزار و ذينفعان)، روشهاي غير فورمال، و محصولات كاري (Work Products) كوچك و حداقل بنا شده است. رهنمودهاي مهندسي نرمافزار به روش Agile بر تحويل به موقع نرمافزار عملياتي به صورت مرحلهاي در طي آناليز و طراحي تاكيد دارد.
اسلاید 5: Artificial Intelligent Systems Laboratory5Agility چيست ؟پاسخگويي موثر (سريع و سازگار) به تغييراتارتباطات موثر ميان همه ذينفعان قراردادن مشتري در تيم نرمافزاريتشكيل يك تيم براي اينكه كار انجام شده تحت كنترل باشد و اين موارد موجب ميشود : تحويل سريع و افزايشي (Incremental) نرمافزار
اسلاید 6: Artificial Intelligent Systems Laboratory6فرايند Agileاز نيازهاي ارائه شده (سناريوها) توسط مشتري نشات ميگيرد. طرحها، كوتاه مدت هستند. توسعه نرمافزار به صورت چرخشي با تاكيد زياد بر روي فعاليتهاي ساخت سیستمتحويل نرم افزار در چندین افزایش (Increment)در صورت تغيير، با تغييرات تطابق مييابد.
اسلاید 7: Artificial Intelligent Systems Laboratory7تواناييهاي لازم براي تبديل نرمافزار به مهندسيفازهاي طراحي و ساخت به طور كامل از هم جدا شوند. تعيين و ارائه يك برنامه ريزي قابل پيشگوييطراحي محصول به طوري كه به اندازه كافي براي ساخت مناسب و آماده باشد. انجام فاز ساخت با نيروي انساني كم هزينهدر نظر گرفتن ميزان ارزندگي محصول كه ارتباط مستقيم با زمان و نيروي انساني دارد.
اسلاید 8: Artificial Intelligent Systems Laboratory8ميزان فعاليتهاي صورت گرفته در توسعه نرمافزارتجزيه و تحليل (Analysis) 16 %طراحي (Design) 17 %تست كد / واحد (Code/Unit Test) 34 %تست سيستم/يكپارچه (System/Integration Test) 18% مستند سازي (Documentation) 8%اجرا/نصب (Implementation/Install) 7%
اسلاید 9: Artificial Intelligent Systems Laboratory9متدولوژيهاي AgileموجودeXtreme ProgrammingScrumCrystal Family of MethodologiesFeature Driven DevelopmentDynamic System Development Method
اسلاید 10: Artificial Intelligent Systems Laboratory10مشخصات پروژههايي كه از روشهاي Agile استفاده ميكنند (Miller) :پيمانهاي بودن (Modularity) در سطح فرايند توسعه تكرار پذير بودن (Iterative) با دورههاي تكرار كوتاه كه موجب رسيدگي سريع و صحت در عملكرد ميگردد. زمانبندي با دورههاي تكرار از يك تا شش هفته صرفه جويي در فرايند توسعه با كنار گذاري تمام فعاليتهاي غير ضروريقابل تطبيق با ريسكهاي جديدي كه احتمال بروز دارند.
اسلاید 11: Artificial Intelligent Systems Laboratory11مشخصات پروژههايي كه از روشهاي Agile استفاده ميكنند (Miller) :روند فرايند افزايشي كه موجب ميشود پروژه تابع گرا شده و در گامهاي كوچك ساخته شود. روند همگرايي و افزايشي كه موجب كاهش ريسك ميشود. پشتيباني از نيروي انساني، فرايندهاي زيركانه در همه فرايندها و تكنولوژيها از افراد پروژه طرفداري و ايشان را پشتيباني ميكنند. روش كاري به صورت همكاري و ايجاد ارتباط ميباشد.
اسلاید 12: Artificial Intelligent Systems Laboratory12توسعه نرمافزار به صورت Agileترس از شكست پروژه موجب ميشود كه فرايندي با محدوديتهاي زياد خلق شود. يك فرايند بزرگ و پيچيده ميتواند مسائل بزرگي ايجاد كند. قوانين و ارزشهاي توسعه نرمافزار Agile براي جلوگيري از بزرگشدن چرخه فرايند و تمركز بر تكنيكهاي ساده براي رسيدن به اهداف، به وجود آمده اند.
اسلاید 13: Artificial Intelligent Systems Laboratory13The Agile Allianceگروهي از متخصصين صنعتي گرد هم آمده اند تا ارزشها و قوانيني را ايجاد كنند كه براي تيمهاي نرمافزار امكان توسعه سريع و پاسخگويي به تغييرات را بدهد. اين گروه خود را Agile Alliance ناميده اند و بيانيه ارزشهاي Agile را ارائه نموده اند.
اسلاید 14: Artificial Intelligent Systems Laboratory14بيانيه Agileما ميخواهيم فرايند ايجاد كنيم كه بنا بر اعتقاد ما ميتواند آن چيزي را كه نگرانش هستيم از بين ببرد. ما نگران مسائل زير هستيم : پروژه محصول غلطي ايجاد نمايد. پروژه محصولي نامرغوب توليد نمايد. پروژه با تاخير انجام شود. مجبور شويم 80 ساعت در هفته كار كنيم. انجام پروژه براي ما جذاب و مفرح نباشد.
اسلاید 15: Artificial Intelligent Systems Laboratory15بيانيه Agileاهميت اشخاص و ارتباطات نسبت به فرايند و ابزارگروهي از برنامه نويسان معمولي كه ارتباط مناسبي با هم دارند معمولاً خيلي بيشتر از گروهي برنامه نويس قوي كه نميتوانند باهم ارتباط مناسبي داشته باشند كار ميكنند. تصور نداشته باشيد مجموعهاي از ابزارهاي بزرگتر و بهتر به طور خودكار موجب بهبود كار شما ميشوند.
اسلاید 16: Artificial Intelligent Systems Laboratory16اهميت نرمافزار عملياتي نسبت به مستندات كامل نرمافزار بدون مستندات مفهومي ندارد. مستندات بيش از حد بدتر از مستندات بسيار محدود است زيرا توليد اين مستندات زمان زيادي خواهد برد و هماهنگ نگه داشتن آن با كد دشوار است. دو مستندي كه بهترين شكل ميتواند اطلاعات را به اعضاي جديد تيم منتقل كند، كد و خود تيم ميباشد.
اسلاید 17: Artificial Intelligent Systems Laboratory17اهميت همكاري مشتري نسبت به مذاكرات در حين قراردادپروژه موفق، پروژه اي است كه شامل دريافت پاسخ از مشتريان به طور متناوب و معمول باشد.
اسلاید 18: Artificial Intelligent Systems Laboratory18نرمافزار بايد به طور متناوب، از چندين هفته تا چندين ماه يكبار به مشتري تحويل داده شود. افراد مربوط به كسب و كار و توسعه دهندگان بايد به صورت روزانه در طول پروژه با هم همكاري داشته باشند. پروژه را بر پايه افراد با انگيزه شكل دهيد، نيازها و محيط مناسب را براي آنها فراهم كنيد، به آنها اعتماد كرده و اجازه دهيد كار را انجام دهند.
اسلاید 19: Artificial Intelligent Systems Laboratory19بهترين راه براي بيان اطلاعات در تيم نرمافزار مباحثه رو در رو ميباشد. نرمافزار عملياتي اولين معيار اندازهگيري پيشرفت است. نرمافزار با همكاري Sponser ها، Developer ها، و User ها انجام ميگيرد. توجه مستمر به تعالي فني و طراحي خوب موجب افزايش Agility ميشود. سادگي يك اصل اوليه ميباشد.
اسلاید 20: Artificial Intelligent Systems Laboratory20بهترين معماري، نيازها و طراحي از تيمهاي Self-Organizing به دست ميآيد. در بازههاي زماني مشخصي تيمها بررسي ميكنند كه چگونه كارايي خود را افزايش دهند.
اسلاید 21: Artificial Intelligent Systems Laboratory21مدلهاي فرايند AgileeXtreme Programming (XP)Adaptive Software Development (ASD)Dynamic Systems Development Method (DSDM)ScrumCrystalFeature Driven DevelopmentAgile Modeling
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.