21
Artificial Intelligent Systems Laboratory 1 ه ع س و تAgile ل ص ف4 ار ز ف رما ن ي س د ن ه م درس2 زوس ف ار" اده ب داله ر" ن ع مد ح ر ا كت د, ان زب ف ا" ا ج وب1 ت ده : ن3 ن ك ه ي ه ت

Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

  • View
    237

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

1

Agile توسعه

4فصل 2درس مهندسي نرم افزار

دكتر احمد عبداله زاده بارفروشتهيه كننده : پويا جافريان

Page 2: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

2

Agileايده اصلي توسعه

اف1زار ب1ا انج1ام آن ‌ه1اي به1تري را ب1راي توس1عه نرم‌”م1ا راه•و ك1مك 1به دي1گر1ان 1براي 1انجام1 آن1، نش1ا1ن خواهيم1 داد“

ه1اي زي1ر دس1ت يافت1ه ايم : ‌در طي اين ك1ار م1ا ب1ه ارزش•اهميت اش1خاص و ارتباط1ات نس1بت ب1ه فراين1د و ابزار–اف1زار عملي1اتي نس1بت ب1ه مس1تندات كامل ‌اهميت نرم–اهميت همك1اري مش1تري نس1بت ب1ه م1ذاكرات در حين قرارداد–اهميت پاس1خ ب1ه تغي1يرات نس1بت ب1ه پيگ1يري ي1ك ط1رح اوليه –

با توج1ه ب1ه مط1الب ب1اال، درح1الي ك1ه مس1ائل مط1رح ش1ده •ت داراي اهميت مي باش1ند، مس1ائل ‌د1ر1 س1مت1 چ1پ جمال1

ب11االت1ري ا1ز 11اهمي1ت1 را1س11ت در 11س11مت ش11ده مط11رح ب1رخوردا1رند.

Page 3: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

3

Agileافزار ‌توسعه نرم

روش • ب11ه ميAgileتوس11عه توان11د ‌ سيستم موفق را سريع تحويل دهد.

ب1ر ارتباط1ات و همك1اري Agileتوس1عه •و دهن11دگان توس11عه مي11ان پيوس11ته

مشتريان تاكيد دارد.

Page 4: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

4

Agileافزار ‌توسعه نرم

ب1ر مبن1اي Agileاف1زار ب1ه روش ‌مهندس1ي نرم•اف1زار ب1ه ‌فلس1فه رض1ا1يت مش1تري، ت1حوي1ل نرم

اف1زاري كوچ1ك ‌ه1اي نر1م‌ص1ورت ا1فزایش1ی، 1تيماف1زار 1و ذينفع1ان(، ‌)متش1ك1ل از مهند1س1ين نرم

ك1اري ‌روش و محص1والت فورم1ا1ل، ه1اي 1غ1ير (Work Products بن1ا ح1د1اقل و ( 1كوچ1ك

ش1ده است. نرم‌رهنمود• مهندس1ي روش ‌ه1اي ب1ه اف1زار

Agileاف1زار عملي1اتي ‌ ب1ر تح1وي1ل ب1ه1 مو1ق1ع نر1ماي در1 طي1 آن1اليز و ط1راحي ‌ب1ه ص1ور1ت م1رحله

ت1اكيد دارد.

Page 5: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

5

Agilityچيست ؟

پاس1خگويي م1وثر )س1ريع و س1ازگار( ب1ه •تغييرات

ارتباطات موثر ميان همه ذينفعان •افزاري‌قراردادن مشتري در تيم نرم•انج1ام • اينك1ه ك1ار ب1راي تيم ي1ك تش1كيل

شده تحت كنترل باشد شود : ‌و اين موارد موجب مي

افزايش1111ي • و س1111ريع تحوي1111ل (Incrementalنرم )‌ افزار

Page 6: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

6

Agileفرايند

ها( توسط ‌هاي ارائه شده )سناريو‌از نياز•گيرد. ‌مشتري نشات مي

ها، كوتاه مدت هستند. ‌طرح•افزار به صورت چرخشي با ‌توسعه نرم•

هاي ساخت ‌تاكيد زياد بر روي فعاليتسیستم

تحويل نرم افزار در چندین افزایش •(Increment)

در صورت تغيير، با تغييرات تطابق •يابد. ‌مي

Page 7: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

7

افزار ‌هاي الزم براي تبديل نرم‌تواناييبه مهندسي

ه1اي ط1راحي و س1اخت ب1ه ط1ور كام1ل از ‌فاز•هم جدا شوند.

قاب11ل • ري11زي برنام11ه ي11ك ارائ11ه و تع11يين پيشگويي

ان1دازه • ب1ه ك1ه ط1وري ب1ه محص1ول طراحي كا1في برا1ي ساخ1ت منا1سب و آما1ده باشد.

انج1ام ف1از س1اخت ب1ا ن1يروي انس1اني كم هزينه•در نظ1ر گ1رفتن م1يزان ارزن1دگي محص1ول ك1ه •

انس1اني ز1م1ان 1و 1ن1يرو1ي ب1ا ا1رت1ب1اط 1مس1تقي1م1 دارد.

Page 8: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

8

ه1اي ص1ورت گرفت1ه در توس1عه ‌ميزان فعاليتافزار‌نرم

16%( Analysisتجزيه و تحليل )• 17%( Designطراحي )• 34( Code/Unit Testتس1ت ك1د / واح1د )•

%•( سيس1تم/يكپارچ1ه System/Integrationتس1ت

Test )18% 8%( Documentationمستند سازي )••( ( Implementation/Installاج1را/نص1ب

7%

Page 9: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

9

موجود‌Agileهاي ‌متدولوژي

• eXtreme Programming• Scrum• Crystal Family of Methodologies• Feature Driven Development• Dynamic System Development

Method

Page 10: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

10

Agileهاي ‌هايي كه از روش‌مشخصات پروژه‌( :Millerكنند )‌استفاده مي

)‌پيم11انه• ب11ودن س11طح Modularityاي در )فرايند توسعه

•( ب1ودن پ1ذير دورهIterativeتك1رار ب1ا ه1اي ‌( و س1ريع رس1يدگي م1وجب ك1ه كوت1اه تك1رار

گردد. ‌صحت در عملكرد ميدوره• ب1ا ت1ا ش1ش ‌زمانبن1دي ي1ك از تك1رار ه1اي

هفته صرفه ج1ويي در فراين1د توس1عه ب1ا كن1ار گ1ذاري •

هاي غير ضروري‌تمام فعاليتهاي جدي1دي ك1ه احتم1ال ‌قاب1ل تط1بيق ب1ا ريس1ك•

بروز دارند.

Page 11: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

11

Agileهاي ‌هايي كه از روش‌مشخصات پروژه‌( :Millerكنند )‌استفاده مي

ش1ود ‌رون1د فراين1د افزايش1ي ك1ه م1وجب مي•ه1اي كوچ1ك ‌پ1روژ1ه ت1ا1بع گ1را1 ش1ده 1و در1 گام

ساخته شود. م1وجب • ك1ه افزايش1ي و همگ1رايي رون1د

شود. ‌كاهش ريسك ميفراين1د• انس1اني، ن1يروي از هاي ‌پش1تيباني

فر1اين1د در هم1ه تكنو1لوژي‌زيركا1ن1ه و ه1ا ‌ها1 را و 1ايش1ان1 پ1روژه 1طر1ف1داري1 اف1را1د از1

كنند. ‌پشتيباني ميروش ك1اري ب1ه ص1ورت همك1اري و ايج1اد •

باشد. ‌ارتباط مي

Page 12: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

12

Agileافزار به صورت ‌توسعه نرم

ش1ود ‌ترس از شكس1ت پ1روژه م1وجب مي•ب1ا م1ح1دود1يت ه1اي زي1اد خل1ق ‌ك1ه ف1راين1دي

شود. مي• پيچي1ده و ب1زرگ فراين1د توان1د ‌يك

مسائل بزرگي ايجاد كند. ارزش• و نرم‌قوانين توس1عه اف1زار ‌ه1اي

Agileبزرگ از جلوگ1يري ب1راي ش1دن ‌ تكنيك ب1ر تمرك1ز و فراين1د ه1اي ‌چرخ1ه

س1اده ب1ر1اي رس1يدن 1ب1ه اه1د1اف، 1ب1ه وج1ود آمده اند.

Page 13: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

13

The Agile Alliance

گروهي از متخصص1ين ص1نعتي گ1رد هم •ارزش ت1ا ان1د را ‌آم1ده قواني1ني و ه1ا

اف1زار ‌ه1اي نرم‌ايج1اد كنن1د ك1ه ب1راي تيمامك1ان توس1عه س1ريع و پاس1خگويي ب1ه را خ1ود گ1روه اين بده1د. را تغي1يرات

Agile Alliance بياني1ه و ان1د نامي1ده را ارائه نموده اند.Agileهاي ‌ارزش

Page 14: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

14

Agileبيانيه

خواهيم فرايند ايجاد كنيم كه بنا ‌ما مي•تواند آن چيزي را كه ‌بر اعتقاد ما مي

نگرانش هستيم از بين ببرد. ما نگران مسائل زير هستيم : •

پروژه محصول غلطي ايجاد نمايد. –پروژه محصولي نامرغوب توليد نمايد. –پروژه با تاخير انجام شود. – ساعت در هفته كار كنيم. 80مجبور شويم –انجام پروژه براي ما جذاب و مفرح نباشد. –

Page 15: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

15

Agileبيانيه

اهميت اشخاص و ارتباطات نسبت به •فرايند و ابزار

گروهي از برنامه نويسان معمولي كه – � ارتباط مناسبي با هم دارند معموال

خيلي بيشتر از گروهي برنامه نويس قوي كه نمي توانند باهم ارتباط مناسبي

داشته باشند كار مي كنند. تصور نداشته باشيد مجموعه اي از –

ابزار هاي بزرگتر و بهتر به طور خودكار موجب بهبود كار شما مي شوند.

Page 16: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

16

افزار عملياتي نسبت به ‌اهميت نرم•مستندات كامل

نرم افزار بدون مستندات مفهومي ندارد. –مستندات بيش از حد بدتر از مستندات –

بسيار محدود است زيرا توليد اين مستندات زمان زيادي خواهد برد و

هماهنگ نگه داشتن آن با كد دشوار است. دو مستندي كه بهترين شكل مي تواند –

اطالعات را به اعضاي جديد تيم منتقل كند، كد و خود تيم مي باشد.

Page 17: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

17

اهميت همكاري مشتري نسبت به •مذاكرات در حين قرارداد

پروژه موفق، پروژه اي است كه شامل –دريافت پاسخ از مشتريان به طور

متناوب و معمول باشد.

Page 18: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

18

نرم اف1زار باي1د ب1ه ط1ور متن1اوب، از چن1دين •ب1ه 1مش1تر1ي يكب1ار م1ا1ه چ1ن1دي1ن ت1ا هف1ت1ه

تحويل داده شود. توس1عه • و ك1ار و ب1ه كس1ب اف1راد مرب1وط

دهن1دگان ب1اي1د ب1ه ص1ورت1 رو1زان1ه در ط1ول پروژه1 با هم1 همك1اري دا1شته باشن1د.

ش1كل • انگ1يزه ب1ا اف1راد پاي1ه ب1ر را پروژه ب1راي را مناس1ب محي1ط و نياز ه1ا دهي1د، آن ه1ا ف1راهم كني1د، ب1ه آن ه1ا اعتم1اد ك1رده و

ا1جازه دهي1د كار ر1ا ا1نجام دهند1.

Page 19: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

19

بهترين راه براي بيان اطالعات در تيم •باشد. ‌افزار مباحثه رو در رو مي‌نرم

افزار عملياتي اولين معيار ‌نرم•گيري پيشرفت است. ‌اندازه

ها، Sponserافزار با همكاري ‌نرم•Developer ها، و User ها انجام

گيرد. ‌ميتوجه مستمر به تعالي فني و طراحي •

شود. ‌ ميAgilityخوب موجب افزايش باشد. ‌سادگي يك اصل اوليه مي•

Page 20: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

20

ها و طراحي از ‌بهترين معماري، نياز• به دست Self-Organizingهاي ‌تيمآيد. ‌مي

ها ‌هاي زماني مشخصي تيم‌در بازه•كنند كه چگونه كارايي ‌بررسي مي

خود را افزايش دهند.

Page 21: Artificial Intelligent Systems Laboratory 1 توسعه Agile فصل 4 درس مهندسي نرمافزار 2 دكتر احمد عبداله زاده بارفروش تهيه كننده

Artificial Intelligent Systems Laboratory

21

Agileهاي فرايند ‌مدل

• eXtreme Programming )XP(• Adaptive Software Development

)ASD(• Dynamic Systems Development

Method )DSDM(• Scrum• Crystal• Feature Driven Development• Agile Modeling