710 likes | 1.34k Views
انواع مدل های Agile. گرد آونده: مریم براتی نام درس: مهندسی نرم افزار (2) استاد درس: استاد شیروی. روش Agile چیست؟. تمرکز بیشتر روی کد است تا طراحی بر پایه روش های تناوبی به منظور به منظور بهتر کردن توسعه نرم افزار است.
E N D
انواع مدل های Agile گرد آونده: مریم براتی نام درس: مهندسی نرم افزار (2) استاد درس: استاد شیروی
روش Agile چیست؟ • تمرکز بیشتر روی کد است تا طراحی • بر پایه روش های تناوبی به منظور به منظور بهتر کردن توسعه نرم افزار است. • هدف این روش این است که کار نرم افزاری باید سریع انجام شود و تکامل یابد.
روش Agile چیست؟ • در توسعه سریع مشخصات طراحی و پیاده سازی با هم تداخل دارند. • سیستم به صورت یکسری از نسخه های مرحله ای تکامل می یابد. • سفارش دهندگان سیستم ها در تکامل نسخه درگیرند.
ﻣﺪل های فرایند های سریع نرم افزار (Agile Method) • Extreme Programming (XP) • Scrum • Adaptive Software Development (ASD) • Crystal Clear and Other Crystal Methodologies • DSDM • Feature Driven Development (FDD)
1. متدلوژی XP • مشهورﺗﺮﯾﻦ و ﭘﺮﮐﺎرﺑﺮدﺗﺮﯾﻦ ﻣﺘﺪ Agile ،XP است. • دلایل موفقیت این روش: • تاکید آن بر رضایت مشتری است. • نیازهای مشتری را حتی در پایانی ترین مراحل تولید در سیستم اعمال میکند. • توجه به کار گروهی که این کار را با ساده ترین و مؤثرترین راه انجام میدهد. • مدیران، مشتریان و توسعهدهندگان همه اعضای تیمی هستند که مختص تحویل یک نرم افزار خوب (با کیفیت) است.
مزایای مدل XP • مدل XPیک پروژه نرم افزاری را در چهار وجه زیر بهبود می بخشد: • ارتباطات (Communication) • سادگی (Simplicity) • بازخورد ها (Feedback ) • شجاعت (Courage )
چرخه حیات XPچرخه حیات برنامه نویسی به روش XP
اعمال برنامه نویسی XP • داستانهای کاربران یا User Stories • دورههای زمانی کوتاه • تست های قبول شده • برنامه نویسی دوتایی • تیم همه کاره • محیط کاری باز
2. متدلوژی SCRUM • ﯾﮏ ﻣﺘﺪوﻟﻮژی اﻓﺰاﯾﺸﯽ(Incremental) ﺑﺮای ﻣﺪﯾﺮﯾﺖ ﭘﺮوژه ھﺎی ﻧﺮم اﻓﺰاری اﺳﺖ. • وﯾﮋﮔﯽ های scrum: • ﺷﻔﺎﻓﯿﺖ (Transparency) • ممیزی و وارسی (Inspection) • تطابق پذیری (Adaption)
نقش افراد در SCRUM • Pigs Rols (نقش خوک) • متعهد به ساختن منظم و متناوب نرم افزار • Chickens Rols (نقش جوجه) • علاقه مند به پروژه هستند ولی در عمل بی تفاوت هستند
Pigs Rols • Scrum Master (استاد اسکروم) • وظیفه اصلی وی رفع مشکلات تیم و محافظت از تیم است. • Product Owner (صاحب محصول) • نماینده مشتری است. • مسئول ارائه علایق و تمایلات هر کسی که در پروژه و سیستم نفعی می برد. • نیازمندی ههای مورد دغدغه مشتری را جمع آوری و اولویت بندی می کند. • Team (تیم) • مسئول تحویل محصول است.
Chicken Rols • Stakholders (ذینفعان پروژه) • کسانی که پروژه ها راه اندزی می کنند. • پروژه ها برای آنها به میزان توافق شده ای سود ایجاد می کنند. • Managers (مدیران) • مسئول برپا کردن محیط کاری برای سازمان ها و شرکت های تولید محصول هستند.
3. متدلوژی ASD • ﻣﺘﺪﻟﻮژي اﺳﺖ که ﺗﻘﺮﯾﺒﺎ همه ﭼﯿﺰ در آن ﺑﺮ ﺣﻮل ﻣﺤﻮر سه ﮔﺎنه ﻓﺮض -همکاری– اﺻﻼح اﻧﺠﺎم ﻣﯽ ﺷﻮد. • فاز اول: Project Initiation • فاز دوم: Adaptive Cycle Planning • فاز سوم: Concurrent Component Engineering • فاز چهارم: Quality Review • فاز پنجم: Final Q/A and Release
فاز اول: Project Initiation • به تحلیل مقدماتی بر روی مسئله می پردازد. • محصولات این فاز: • Mission Artifact: اطلاعات لازم برای تولید محصول • Product Specification: نتایج تحلیل و مدل سازی سیستم • Project Datasheet: خلاصه ای از اطلاعات بدست آمده و بعضی از نمودار ها • Project Vision: حوزه، سایز، cntext سیستم در آن مشخص می شود.
فاز دوم: Adaptive Cycle Planning • داخل چرخه متدلوژی است. • طی جلسات JAD کامپوننت های محصول تعیین می شود. • نمودار های روابط بین کامپوننت ها تحت عنوان Component Diagram رسم می شود.
فاز سوم: Concurrent Component Engineering • کامپوننت های که به هر چرخه منتصب شده اند به صورت همزمان توسط چندین تیم ایجاد می شوند. • در این مرحله عملیات Refactoring به صورت پیوسته انجام می شود. • برای حذف ناسازگاری هایی که در مدل ها و محصولات گروه های مختلف وجود دارد استفاده می شود.
فاز چهارم: Quality Review • ارزیابی کیفیت محصولات و فرایند. • این ارزیابی به حوزه مدلسازی نیز می تواند کشیده شود.
فاز پنجم: Final Q/A and Release • اصلاحات لازم برای ارزیابی های مرحله قبل انجام میشود. • پس انجام Q/A محصول نهایی تولید و ارائه می شود.
فرایند متدلوژی DSDM • فازFunctional Study • در آن به تحلیل امکانپذیریها می پردازد. • فاز Business Study • به بررسی فرآیندها و موجودیتهاي اطلاعاتی حوزه کسب و کار می پردازد تا بر اساس آن نیازهاي وظیفه ايو غیر وظیفه ايسیستم را شناسائی کند. • چرخه داخلی Functional Model Iteration (FMI) • نیازمندیهاي وظیفه اي سیستم بر اساس ریسک ایجاد آنها در مدلی به نام Functional Prototype ساخته می شوند. • چرخه Design&Build Iteration (D&BI) • نمونه اولیه اي که در فاز قبلی ساخته شده بود ، کامل می شود.
5. متدلوژی FDD • فرایند متدلوژی FDD:
فرایند متدلوژی FDD • فاز اول: Develop an Overall Model • ایجاد یک مدل سرتاسری ساختاری • فاز دوم: Build a Feature List • بر اساس Area های شناسایی شده Feature List ها و Feature های مربوط به آنها شناسایی می شود. • فاز سوم: Plan By Feature • بر اساس Feature های شناسایی شده برنامه ریزی ایجاد، انجام شود.
فرایند متدلوژی FDD • فاز چهارم: Design By Feature • فاز طراحی طراحی متدلوژی است. • نحوه تحقق هر Feature مدلسازی می شود. • فاز پنجم: Build By Feature • کد مربوط به کلاس ها نوشته می شود.
6. متدلوژی Crystal Clear • فرایند متدلوژی Crystal Clear:
نتیجه گیری • مقایسه فعالیت های انجام شده درمتدلوژی چابک
نتیجه گیری • مقایسه روش های مدیریت مخاطرات
نتیجه گیری • مقایسه مدیریت پروژه در روش های چابک
نتیجه گیری • مقایسه تضمین کیفیت در متدلوژی های چابک
نتیجه گیری • مقایسه نحوه برخورد با نیازمندی ها در متدلوژی های چابک
نتیجه گیری • برخی معیار ها در متدلوژی های چابک