1 / 31

Software Process

Software Process. فرایند تولید نرم افزار. فرآیند تولید (توسعه) نرم افزار Software Development Process مجموعه ای منسجم از فعالیتها، و گامهاست که تولید کننده نرم افزار باید دنبال نماید تا محصول حاصل گردد. هر فرایند توسعه نرم افزار مشخص می کند مراحل SDLC چگونه انجام شود

lucio
Download Presentation

Software Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software Process فرایند تولید نرم افزار

  2. فرآیند تولید (توسعه) نرم افزار Software Development Process • مجموعه ای منسجم از فعالیتها، و گامهاست که تولید کننده نرم افزار باید دنبال نماید تا محصول حاصل گردد. • هر فرایند توسعه نرم افزار مشخص می کند مراحل SDLC • چگونه انجام شود • توسط چه کسی انجام شود • در چه زمانی انجام شود • چه خروجی حاصل کند

  3. Project Control Risk Management Communication Planning Modeling Construction Deployment

  4. بخشهای فرآیند تولید نرم افزار 1.مدل فرآیند (Process Model): یک رویه ی سطح بالا که استراتژی کلی تولید نرم افزار را از نظر ترتیب اجرای مراحل SDLC مشخص می نماید.

  5. مدل آبشاری (Waterfall Model) مشکلات مدل آبشاری : • جمع اوری نیازمندیها طی یک فاز مشکل است • مشتری باید صبور باشد • در واقعیت پروژه ها از یک روند خطی پیروی نمی کنند

  6. مدل افزایشی (Incremental Model)

  7. Evolutionary Process Models • Prototyping Model

  8. Evolutionary Process Models • Spiral Model

  9. Unified Process (UP) • بهره گیری از نکات مثبت مدلهای سنتی • توسط Jacobson, Booch, Rumbaugh با ویژگیهای زیر: • Use-case driven • Architecture-centric • iterative

  10. UP iterations Communication Communication Communication Planning Planning Planning Iteration #2 …Iteration #n Iteration #3 Modeling Modeling Modeling Construction Construction Construction Deployment Deployment Deployment

  11. تفاوت مدل حلزونی و تکراری : در روش حلزونی طول تکرارها ممکن است متفاوت باشد، اما در روش تکراری طول تکرارها ثابت و معمولاٌ کوتاه (در حد چند هفته) است.

  12. فازهای UP

  13. فازهای UP

  14. مزایای فرایند توسعه تکراری: • کمتر شدن احتمال شکست پروژه • مدیریت زود هنگام ریسک ها(ریسک نیازمندیها، ریسک تکنیک) • مشاهده زود هنگام پیش رفت نرم افزار اجرایی • مدیریت پیچیدگی تولید پروژه • دریافت بازخورد زود هنگام از کاربر

  15. بخشهای فرآیند تولید نرم افزار • مدل فرآیند (Process Model) • دیدگاه شناخت نیازمندیها (Requirement gathering method) • زبان مدلسازی(Modeling Language) • ابزار پشتیبانی(CASE Tool)

  16. دیدگاه شناخت نیازمندیها (Requirement gathering method) • فرایند محور ( Process Centric): • سیستم را مجموعه ای از واحدهای کاری (فرایند) متعامل می دانیم. • کاربر محور (User Centric) • سیستم را به عنوان مجموعه ای از تعاملات با کاربر می دانیم.

  17. مثال- فرایند محور

  18. مثال- فرایند محور

  19. مثال- فرایند محور

  20. مثال- کاربر محور

  21. بخشهای فرآیند تولید نرم افزار • مدل فرآیند (Process Model) • دیدگاه شناخت نیازمندیها (Requirement gathering method) • زبان مدلسازی(Modeling Language) • ابزار پشتیبانی(CASE Tool)

  22. زبان های مدل سازی • مدل:بازنمایی یا توصیف یک جنبه از سیستم: مدل داده ای مدل فرایندی • خروجیهر مرحله SDLCیک مدل است • هر مدل یک سطح تجرید یاAbstraction دارد.سطح تجرید با میزان جزییات مدل نسبت معکوس دارد.

  23. بخشهای فرآیند تولید نرم افزار • مدل فرآیند (Process Model) • دیدگاه شناخت نیازمندیها (Requirement gathering method) • زبان مدلسازی(Modeling Language) • ابزار پشتیبانی(CASE Tool)

  24. ابزار پشتیبانی: • این ابزارها جهت تسهیل دنبال نمودن مراحل فرایند استفاده می شود. • در واقع ابزار کمکی برای رسم مدل ها می باشند که به دو دسته تقسیم می شوند: • عمومی:مانندWord و Visio • تخصصی:ابزاری که مدل را بفهمد و بتواند خطاها را تشخیص دهد • Power Designer • RationalSuite • Enterprise Architect

  25. فرایند توسعه سریع نرم افزار Agile Unified Process

  26. What is Agility?

  27. فرایند توسعه سریع نرم­افزار((Agile Unified Process • اصول: • - نرم­افزار اجرایی و نه مستندات • - افراد تیم و تعاملات بین آنها و نه فرایند و ابزار • - ارتباط مستمر با مشتری و نه مذاکرات در چهارچوب قرارداد • پذیرش تغییر و نه دنبال کردن یک برنامه ثابت

  28. فرایند توسعه سریع نرم­افزار((Agile Unified Process • تکنیکها: • توسعه در تکرارها(Iterative Development) • توسعه آزمایش محور(Test-Driven Development) • توسعه ریسک محور( Risk-Driven Development)

  29. توسعه آزمایش محور

  30. تولید در تکرارها • فرایند توسعه در تعدادی تکرار با طول کوتاه (مثلا سه هفته) ثابت سازماندهی می شود. • خروجی هر تکرار يک نرم افزار اجرایی و تست شده می باشد که بخشی از نیازهای کاربر را برآورده می نماید. • در هر تکرار تحلیل نیازمندیها، طراحی، پیاده سازی و تست انجام می شود. • نرم افزار تکرار به تکرار کاملتر می شود. • شکل صفحه بعد روند تولید تکراری را نشان می دهد.در این شکل فرایند توسعه در 20 تکرار پیش بینی شده است

More Related