1 / 23

فرايند Process

فرايند Process. فهرست. فرايند ابزار فعاليتهای مهندسی نرم افزار مدل های فرايند. فرايند. فرايند نرم افزار نقشه راهی ( Road Map ) است که دو هدف زير را دنبال می نمايد: کيفيت بالا زمانبندی مناسب لايه های مهندسی نرم افزار. ابزارها. روشها. فرايندها. کيفيت.

norah
Download Presentation

فرايند 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. فرايند Process

  2. فهرست • فرايند • ابزار • فعاليتهای مهندسی نرم افزار • مدل های فرايند

  3. فرايند • فرايند نرم افزار نقشه راهی (Road Map) است که دو هدف زير را دنبال می نمايد: • کيفيت بالا • زمانبندی مناسب • لايه های مهندسی نرم افزار ابزارها روشها فرايندها کيفيت اساس مهندسی نرم افزار لايه فرايند می باشد.

  4. فرايند (ادامه) • فرايند چارچوبی برای مجموعه ای از KPA ها(Key Process Area )ايجاد می نمايد. • KPA : • ايجاد پايه ای جهت کنترل مديريتی پروژه های نرم افزاری • ايجاد بستری جهت انجام روشهای فنی ، توليد محصولات کاری (مدلها، مستندات ، گزارشها ، فرمها ، داده ها و غيره) ، مشخص نمودن مراحل ، حصول اطمينان از کيفيت و مديريت خوب تغييرات • روشهای مهندسی نرم افزار شيوه های فنی جهت ايجاد نرم افزار را فراهم می نمايد . برخی از وظيفه هائی که روشهای مهندسی نرم افزار بايد آنها را پوشش دهد عبارت است از : تحليل خواسته ها ، طراحی ، ساخت برنامه ها ، آزمايش و پشتيبانی • روشها شامل فعاليتهای مدلسازی و ساير فنون توصيفی نيز می گردد.

  5. ابزار • ابزارهای مهندسی نرم افزار جهت پشتيبانی از فرايندها و روشها مطرح می گردند. زمانی که دارای مجموعه ای از ابزارها باشيم بگونه ای که اطلاعات ايجاد گرديده توسط يک ابزار ، ورودی برای ساير ابزارها بوده و توسط آنها استفاده گردد ، سيستمی برای پشتيبانی توسعه نرم افزار ايجاد می شود که به آن مهندسی نرم افزار به کمک کامپيوتر (CASE) گوئيم.

  6. فعاليتهای مهندسی نرم افزار • بطور کلی فعاليتهای مربوط به مهندسی نرم افزار در سه فاز زير دسته بندی می گردد: • فاز تعريف • فاز توسعه • فاز پشتيبانی نگهداشت تصحيحی نگهداشت تطبيقی نگهداشت بهبودی نگهداشت پيشگيرانه • فازهای فوق با يکسري فعاليتهای چتری ( Umbrella activities) تکميل می گردد. مهمترين آنها عبارتند از: کنترل و رديابی نمودن پروژه های نرم افزاری ، تضمين کيفيت نرم افزار ، مديريت پيکربندی نرم افزار ، تهيه مستندات ، مديريت قابليت استفاده مجدد ، سنجش و مديريت ريسک

  7. مدل فرايند • تعيين يک راهکار توسعه که شامل لايه های فرايند ، روشها ، ابزار و فازها ( تعريف ، توسعه و پشتيبانی) باشد را الگوی مهندسی نرم افزار يا مدل فرايند می نامند. • مدلهای فرايند نرم افزار عبارتند از : • مدل ترتيبی خطی • مدل ايجاد نمونه اوليه (Prototyping Model) • مدل RAD • مدل افزايشی (Incremental Model) • مدل حلزونی(Spiral Model) • مدل حلزونی برنده - برنده (Win-Win) • مدل توسعه همزمان • مدل توسعه مبتنی بر مولفه ( Component Base Development) • مدل روشهای رسمی (Formal Method) • تکنيکهای نسل چهارم

  8. مدل ترتيبی خطی(مدل آبشاری ، چرخه حيات کلاسيک) • طراحی نرم افزار بر روی چهار مورد زير تمرکز می نمايد : • ساختمان داده ها • معماری نرم افزار • نمايش واسط ها • الگوريتم ها • معايب روش طراحي تحليل کد آزمون مهندسي اطلاعات / سيستم

  9. مدل ساخت نمونه اوليه طراحی سريع منجر به ساخت يک نمونه اوليه می شود به عنوان راهکاری جهت تشخيص نيازمنديهای نرم افزار عمل می نمايد ساخت / بازنگری نمونه اوليه ديدگاه مشتری آزمايش نمونه اوليه توسط کاربر • معايب روش

  10. مدل RAD • مدل توسعه کاربردی سريع (Rapid Application Development) يک فرايند توسعه تدريجی نرم افزار می باشد که بر ساخت مبتنی بر مولفه تاکيد می نمايد . • فازهای مدل مذکور عبارتند از: • مدلسازی کاری • مدلسازی داده ای • مدلسازی فرايند • توليد برنامه کاربردی • آزمايش • چنانچه بتوان سيستم را به چند زير سيستم تقسيم نمود به گونه ای که توسعه هر زير سيستم حداکثر ظرف مدت سه ماه به اتمام برسد ، می توان هر زير سيستم را به يک تيم RAD سپرد و در انتها تمام زير سيستمها را يکپارچه نمود. • معايب روش

  11. مدل RAD(ادامه) تيم يک تيم دو تيم سه مدلسازی تجاری مدلسازی تجاری مدلسازی تجاری مدلسازی داده ای مدلسازی داده ای مدلسازی داده ای مدلسازی فرايندی مدلسازی فرايندی مدلسازی فرايندی توليد برنامه کاربردی توليد برنامه کاربردی توليد برنامه کاربردی آزمايش و تحويل آزمايش و تحويل آزمايش و تحويل 60 الی 90 روز

  12. مدل افزايشی • ترکيب مدل خطی و مدل ساخت نمونه اوليه • در انتهاي هر ترتيب خطی يک محصول از نرم افزار ارائه می گردد.اولين محصول با نام محصول هسته ای (Core Product) به نيازمنديهای پايه ای پرداخته و پس از بازنگری توسط کاربر اصلاح و بهينه می گردد. طراحي گام اول تحليل کد آزمون تحويل قطعه اول طراحي گام دوم تحليل کد آزمون تحويل قطعه دوم طراحي گام سوم تحليل کد آزمون تحويل قطعه سوم

  13. مدل حلزونی(Spiral Model) • ماهيت تکراری مدل ساخت نمونه اوليه + ماهيت سيستماتيک مدل ترتيبی مدل حلزونی

  14. مدل حلزونی(Spiral Model) • نسخه اوليه از محصول در اين مدل نسخه ساده ای می باشد که در تکرارهای بعدی کامل می گردد. در اين مدل فعاليتها به شش دسته تقسيم می گرددکه هر کدام از آنها را با نام نواحی کاری(Work Area) می شناسند : • تعامل با مشتری و تعريف نيازمنديها : تعيين خواسته ها از جانب مشتری • برنامه ريزی (Planning) : تعيين اهداف ، آلترناتيوها و محدوديتها تعيين منابع و ايجاد زمانبندی • آناليز ريسک : تحليل آلترناتيوها ، شناسائی ريسکها و راهکارهای مقابله با آنها • مهندسی (Engineering) : توسعه محصول سطح بعدی • ساخت و ارائه : ساخت ،آزمايش و انتقال ( تحويل مستندات ، آموزش و ...) • ارزيابی مشتری ( Customer Evaluation) : ارزيابی نتايج مهندسی

  15. مدل حلزونی(ادامه) • در تمامی مراحل فوق فعاليتهای چتری نيز به موازات اجرا می گردند.

  16. مدل حلزونی برنده برنده(Win-Win) • در بخش تعامل با مشتری نيازمنديها از سوی مشتری می بايست مشخص شوند .جهت اين موضوع لازم است مشتری به يک موازنه (trade off) بين نيازمنديهای خود و تيم توسعه برسد. به عبارت ديگر موازنه ای بين عملکرد ، قابليتهای سيستم و کارائی از طرفی و هزينه و زمان از سوی ديگر برقرار نمايد. در اين شرايط تلاش می گردد اکثر نيازمنديهای مشتری در مقابل زمان و قيمت مناسب جهت تيم توسعه دهنده نرم افزار فراهم گردد(برد-برد). در مدل مذکور به جای بخش تعامل با مشتری و تعيين نيازمنديها قسمتهای زير جايگزين می گردد: • شناسائی واگذارنده و تعيين شرايط برد او • مذاکره جهت حصول به توافق ( در راستای قاعده برد – برد)

  17. مدل توسعه همزمان (مهندسی همزمانی) • در اين مدل هر فعاليت دارای چندين حالت می باشد که با تعريف مجموعه ای از رخدادها شاهد گذار از حالتی به حالت ديگر خواهيم بود. به بيان ديگر تمامی فعاليتها بصورت همزمان وجود دارند ليکن در حالتهای متفاوتی قرار می گيرند.

  18. مدل توسعه همزمان (ادامه) none • به عنوان مثال بعد از اتمام فعاليت تعامل با کاربر اين فعاليت در حالت هيچ(none) رفته و فعاليت تحليل از حالت هيچ به حالت توسعه وارد می گردد و حالتهای بعدی خود را طی می نمايد. چنانچه کاربر احتياج به انجام تغييرات در نيازمنديهای خود داشته باشد فعاليت تحليل به حالت انتظار می رود. توسعه انتظار مرور تجديد نظر معيارها انجام پذيرفته

  19. مدل توسعه مبتنی بر مولفه ( Component Base Development) • اين مدل بر اساس الگوی شیء گرائی استوار است. • الگوی شیء گرائی بر روی مفهومی به نام کلاس که تلفيقی از ساختمان داده و الگوريتم است تاکيد می نمايد. • مدل مذکور بصورت تکاملی بوده و اغلب ويژگيهای مدل حلزونی را شامل می گردد . ليکن در اين مدل ساخت سيستم بر مبنای مولفه ها (بعنوان مثال کلاس) شکل می گيرد . • اين مدل قابليت استفاده مجدد از نرم افزار را افزايش می دهد.

  20. مدل توسعه مبتنی بر مولفه (ادامه) انجمن QSM associates در گزارشی ضمن تاکيد بر قابليت استفاده مجدد از نرم افزار برخی از مزايای آن را به شرح زير بيان می نمايد: مونتاژ مولفه ها : • باعث کاهش 70 درصدی زمان توسعه سيتم می گردد . • موجب کاهش 48 درصدی هزينه های توليد سيتم می گردد. • سبب افزايش ضريب بهره وری می گردد.

  21. مدل توسعه مبتنی بر مولفه (ادامه) • فرايند توسعه نرم افزار يکنواخت (Unified Software Development Process) بعنوان نماينده مدلهای CBD پيشنهاد گرديده است. مشخص نمودن مولفه های کانديد جستجو نمودن مولفه ها در کتابخانه ساخت N امين تکرار سيستم وارد کردن مولفه های جديد در کتابخانه استخراج مولفه ها در صورت موفق بودن جستجو ساخت مولفه ها در صورت موفق نبودن جستجو

  22. مدل روشهای رسمی (Formal Method) • اين مدل شامل مجموعه ای از فعاليتها می باشد که نرم افزار را بصورت رياضی و رسمی بيان می نمايد. به دليل اينکه در روشهای قراردادی از تئوری مجموعه ها ، نشانه گذاری منطقی و نماد گذاری رياضی استفاده می شود ، در نتيجه اين روش بطور ذاتی ابهام کمتری نسبت به روشهای غير قراردادی دارد. • معايب : • زمان و هزينه بالا • آموزش گسترده جهت مهندسين نرم افزار • دشواری بکارگيری مدلها در تعامل با مشتريانی که فاقد ديد فنی می باشند.

  23. تکنيکهای نسل چهارم • محور اصلی اين روش استفاده از ابزارهای مهندسی نرم افزار است. مهندس نرم افزار يک مشخصه از نرم افزار را در سطح بالا تعريف نموده (معمولا با استفاده از نمادها و مدلها) سپس اين ابزار کد لازم را توليد می نمايند. • با تلفيق اين تکنيک و روش ” توسعه مبتنی بر مولفه“ می توان به توانائی بالائی جهت توسعه نرم افزار دست يافت.

More Related