41
ﻓﺼﻞ دوم ﻓﺮآﯾﻨﺪ

ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فصل دوم

فرآیند

Page 2: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فرآیندهنگامیکه شما تولید یک محصول یا سیستم را مدنظر دارید،نکته فرایند چیست؟•

نقشه اي که به شما .مهم این است که وارد یک سري مراحل قابل پیش بینی شویدنقشه اي که شما پیگیري .کمک می کند؛به نتیجه اي سریع و درخشان دست یابید

.می کنید، یک فرآیند نرم افزاري نامیده می شود

از نقطه نظر مهندسی نرم افزار ،محصوالت کاري،محصول کار چیست؟ •برنامه ها،اسناد و داده هایی است که در نتیجه فعالیتهاي مهندسی نرم افزاري که در

.طول فرآیند صورت گرفته اند،تولید شده اند

؟ یک سري فرآیندها و چگونه مطمئن شوم که کاري که انجام داده ام درست است •

تکامل فرآیند «مکانیزمهاي ارزیابی نرم افزار وجود دارد که سازمانها را قادر می سازد

.خود را تعیین کنند»نرم افزاري

Page 3: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

است »خیر« هم و »بله« هم پاسخ است؟ یکسان افزار نرم مهندسی با فرآیند مفهوم آیا•

می گرفته بکار افزار نرم طراحی هنگام در که کند می تعریف را روشی افزار نرم فرآیند

یعنی دارند وجود فرآیند در که است فناوریهاي گیرنده بر در نیز افزار نرم مهندسی اما.شود

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

به رسیدن منظور به مهندسی ساده اصول از استفاده و ایجاد:از عبارتست افزار نرم مهندسی•

.باشد کارآمد واقعی دستگاههاي روي و بوده اطمینان قابل که صرفه به مقرون افزار نرم یک

:افزار نرم دیگرمهندسی عبارت به•

نرم نگهداري و حفظ و ،عملیات ارائه براي پذیر کمیت ،منظم سیستماتیک روش یک بکارگیري

. افزار نرم در آن هاي شیوه و مهندسی بکارگیري یعنی است افزار

مهندسی نرم افزار

Page 4: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فرآیند،شیوه ها و ابزارهااست اي الیه تکنولوژي یک افزار نرم مهندسی•

با را فناوري هاي الیه که است چسبی مانند افزار نرم مهندسی فرآیند.است فرآیند نام به الیه یک افزار نرم مهندسی اساس•

حوزه از اي مجموعه براي چارچوبی فرآیند سازد می ممکن را افزارکامپیوتري نرم منطقی و موقع به داشته،توسعه نگاه هم

.آید بوجود افزار نرم مهندسی فناوري موثر تحویل براي باید که سازد می مهیا خود اصلی و کلیدي هاي

و داده تشکیل را افزاري نرم هاي پروژه مدیریت کنترل مبناي )KPAS( [PAU93] پردازش اصلی هاي حوزه•

مدلها،اسناد،داده(میشوند، تولید میشود،محصوالت گرفته بکار فنی روشهاي آن در که کنند می فراهم بستري

.شوند می داده ترتیب احتمالی تغییرات و شود می سنجیده آیند،کیفیت می بوجود ،محکهایی)غیره و ها،گزارشات،فرمها

افزار نرم مهندسی روشهاي.کنند می مهیا افزار نرم ساخت براي فنی نظر از را کار انجام چگونگی افزار نرم مهندسی روشهاي•

فنون دیگر و سازي مدل فعالیتهاي شامل و بوده حاکم فناوري حوزه هر بر که دارند تکیه اولیه ازاصول اي مجموعه به

.است توصیفی

Page 5: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

ابزار هایی در مهندسی نرم افزار جهت حمایت هاي خودکار یا نیمه •.خودکار فرایند ها و روش ها وجود دارند

هنگامی که این ابزار ها مجتمع می شوند به گونه اي که اطالعات •ایجاد شده توسط یک ابزار بتواند توسط دیگري استفاده شود سیستمی

) CASE( مهندسی نرم افزار به کمک کامپیوترایجاد شده به نام

•CASE از ترکیب نرم افزار،سخت افزار و بانک اطالعات مهندسی نرم.افزار تشکیل شده است

Page 6: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

یک دید کلی از مهندسی نرم افزار

:مهندسی عبارتست از

تحلیل•

طراحی•

ساخت•

تایید •

)یااجتماعی(مدیریت امور فنی •

کارهاي مربوط به مهندسی نرم . بدون توجه به ماهیت چیزي که مورد کارهاي مهندسی قرار می گیرد .افزار را میتوان به سه گروه کلی تقسیم کرد، بدون توجه حوزه کاربرد،اندازه پروزه یا پیچیدگی آن

مرحله تعریف•

مرحله توسعه•

مرحله پشتیبانی•

Page 7: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مرحله تعریف

روي آنچه که این کارها هستند)what(یعنی در طول . ،متمرکز می شود

نوع اطالعاتی را که باید پردازش تعریف مهندسی نرم افزار سعی می کند

شوند،عملکرد مطلوب، نوع وضعیت سیستم مورد انتظار، نوع رابطهایی که باید

محدودیتهاي موجود در طرح و معیارهاي صحت را که براي . ایجاد شوند

گرچه روشهاي بکار گرفته . ، شناسایی کندتعریف یک سیستم موفق الزمند

شده در طول مرحله تعریف، بسته به معیار مهندسی نرم افزار که بکار رفته

بسیار متفاوتند اما سه کار اصلی در بعضی موارد به وقوع می پیوندد

تحلیل 3و طراحی پروژه نرم افزاري 2،اطالعاتیا مهندسی سیستم1

.مربوط به موارد مورد نیاز

Page 8: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

توسعه مرحله

یعنی در .متمرکز است)how(مرحله توسعه وارائه روي چگونگی

طول این مرحله مهندس سعی دارد چگونگی ساخته شدن داده ها،

اجراي کار در ساختار نرم افزاري، چگونگی توصیف رابط ها، چگونگی

و چگونگی )تبدیل طرح به زبان برنامه نویسی یا زبان غیر رویه اي

روشهاي بکار گرفته شده در طول مرحله . انجام آزمون را توصیف کند

: توسعه متفاوتند اما سه کار فنی خاص همیشه رخ می دهند

.آزمون نرم افزار3و تولید کد2، طراحی نرم افزار1

Page 9: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مرحله پشتیبانی

متمرکز است که با اصالح خطا، ایجاد )chang(روي تغییر متمرکز تطابقات الزم در حد الزم در رابطه با محیط نرم افزاري و تغییراتی ناشی

از بهبود کار بخاطر تغییر نیاز مشتري، رابطه دارد

.در طول این مرحله چهار نوع تغییر را شاهد هستیم

)رفع خطاهایی که مشتري کشف نموده است:(تصحیح•

سخت افزار و نرم (تغییر برنامه بر اساس تغییر محیط جرایی:( انطباق •.....))افزارو

)رفع نیاز هاي جدید مشتري: (ارتقاء•

پیشگیري از کاهش کیفیت نرم افزار به دلیل تغییرات، :(پیشگیرانه •) مهندسی مجدد

Page 10: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

راهبردهاي مهندسی مجدد نرم افزار هاي موروثی

این فازها مراحل توصیف شده در دیدگاه کلی ما نسبت به مهندسی نرم افزار فعالیت هاي نمونه . بوسیله یک سري فعالیتهاي پوششی تکمیل می شوند

:در این گروه شامل موارد زیر است کنترل پیگیري پروژه نرم افزاريتضمین کیفی نرم افزارمدیریت طرح نرم افزريآماده سازي اسناد و تولیدمدیریت قابلیت استفاده مجددبازنگري هاي فنی رسمیارزیابیمدیریت خطر

Page 11: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فرآیند نرم افزاربعضی از کارها که هر کدام مجموعه اي از کارهاي مهندسی نرم افزاري،معیارهاي •

پروژه محصول کار و نقاط تضمین کیفیت هستند،باعث می شود که این مجموعه

هاي معین فعالیتی در مشخصه هاي پروژه نرم افزاري بکار گرفته شده و در

.مجموعه تقاضاهاي تیم پروژه نیز باشند

مدل جامعی ارائه داده که روي مجموعه اي از )SEI(موسسه مهندسی نرم افزار •

توانائیهاي مهندسی نرم افزار که باید براي دسترسی سازمانها به سطوح مختلف

.بلوغ فرآیند وجود داشته باشد،پیش بینی می شود

را مشخص می ) CMM(این طرح درجه بندي میزان تطابق با توانایی مدل کامل •

.را تعریف می کند سطوح مختلف فرآیند تکاملکند که فعالیتهاي اصلی الزم در

Page 12: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

.اولیه:1ح سط•فرآیند نرم افزاري بصورت موقتی و حتی بعضی اوقات بسیار درهم و برهم توصیف شده

.چند فرآیند تعریف می شود و موفقیت به تالش هاي فردي بستگی دارد.است.قابل تکرار:2سطح •

فرآیندهاي اولیه مدیریت پروژه براي مشخص کردن هزینه،زمان بندي وقابلیت کارایی آن اصل ضروروي فرآیند در جایی است که موفقیتهاي پیش تر پروژه هایی .صورت می گیرند

.کاربردهاي مشابه را تکرار می کند.تعریف شده:3سطح •

فرآیند نرم افزاري براي مدیریت و فعالیت هاي مهندسی در طول یک فرآیند پردازش نرم .افزاري در سازمان ثبت شده،استاندارد و منسجم است

.مدیریت شده:4سطح •.اقدامات دقیق صورت گرفته براي ساخت نرم افزار و کیفیت محصول همگی کنترل می شوند

.بهینه سازي:5سطح •بهبود مکرر فرآیند با توجه به بازخورد کمی فرآیند و از روي آزمون ایده هاي نو آورانه و

.فناوریهاي تازه ،مقدور است

سطوح مختلف فرآیند تکامل

Page 13: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدلهاي فرآیند نرم افزار

یک تیم از مهندسین نرم افزار در تولید یک راهبرد کمک کنند که در بر گیرنده الیه

.هاي فرآیند روشها و ابزاري است

یک مدل فرآیند براي .اغلب این راهبرد را مدل فرآیند مهندسی نرم افزار می نامند

مهندسی نرم افزار بر اساس ماهیت پروژه و کاربرد آن روشها و ابزار مورد استفاده و

.کنترل ها و موارد قابل ارائه که الزمند انتخاب می شود

تمام کارهاي توسعه وارائه یک نرم افزار را می توان بعنوان یک حلقه حل مشکل

.که در آن چهار مرحله مشخص دیده می شوند )شکل(توصیف کرد تعریف مسلھ

توسعھ تكنیكي

راه جامعیتحل

بیان وضعیت

Page 14: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

نشان دهنده وضعیت جاري پروژه است: وضعیت ) 1•

مسئله خاصی که باید حل شود را مشخص : تعریف مسئله) 2•می کند

مسئله را از طریق بکارگیري تکنولوژي : توسعه تکنیکی) 3•.خاصی حل می کند

نتیجه مسئله را به رده هاي باالتر ارائه می : مجتمع سازي) 4•.کند

Page 15: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدل ترتیب خطی

می نامند "مدل آبشاري"یا "چرخه حیات کالسیک"این مدل را که گاهی

،بیانگر یک نگرش نظام مند و زنجیري نسبت به تولی نرم افزار است که در

پشتیبانی و آزمون، کد نویسی، طراحی، تحلیلسطح سیستم شروع شده و با

. پیشروي می کند نرم افزاري

اطالعات/مهندسی سیستم

تحلیل طراحی برنامه

نویسیآزمون

Page 16: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

چون نرم افزار اغلب بخشی از یک سیستم بزرگتر : مهندسی اطالعات•مهندسی .می باشد در ابتدا کار با یک امکان سنجی شروع می شود

می باشد طراحیو تحلیلاطالعات خود شامل دو قسمت

به منظور فهم ماهیت برنامه ها مهندس نرم افزار باید : تحلیل نیازها•محدوده اطالعات نرم افزار را همراه توابع ، رفتار و کارایی تشخیص

.این نیاز ها مستند شده و همراه با مشتري مرور می شود.دهد

طراحی معموال فرایند چند مرحله اي است که بر روي چها : طراحی•رصفت ساختمان داده،معماري،نمایش رابط ها و جزئیات الگوریتم ها و

.رویه ها تمرکز دارد

Page 17: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مشکالت ترتیب خطی

پروژه هاي واقعی به ندرت از جریان زنجیري و متوالی که مدل ارائه میدهد، •گرچه مدل خطی می تواند با تکرار تطابق یابد ،اما آن را به .پیروي می کند

در نتیجه ،با انجام کار توسط اعضاي پروژه . طور غیر مستقیم انجام می دهد .ممکن است موارد گیج کننده اي رخ دهد

اغلب براي مشتري مشکل است که تمام نیاز هاي خود را به طور مشخص بیان •مدل زنجیري خطی به این امر نیاز داشته و در تطابق عدم قطعیت . کند

.طبیعی که در آغاز بسیاري از پروژه ها وجود دارد ،داراي مشکل است

نسخه کاري برنامه تا اواخر مدت زمان کاري پروژه در .مشتري باید صبور باشد •اگر مشکلی وجود داشته و تا اواخر کار برنامه نویسی که .دسترس نخواهد بود

.برنامه مورد بازبینی قرار می گیرد مشخص نشود ،می تواند فاجعه آمیز باشد

Page 18: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدل نمونه سازياغلب موارد مشتري اهداف کلی را بیان می کند اما جزئیات ورودي و خروجی را نمی داند

روش نمونه سازي بهترین روش براي حل مشکالتی از قبیل:

نامطمئن بودن مشتري از کارایی الگوریتم، قابلیت تطابق آن با یک سیستم عامل یا شکل

.ارتباط متقابل دستگاه و انسان

ارزیابی شده و از آن براي رفع نیازهاي نرم افزاري ) کاربر(نمونه نخست توسط مشتري

که قرار است تولید شود استفاده می شود وقتی نمونه اولیه طوري تنظیم شد که نیازهاي

مشتري را براورده سازد، عمل تکرار رخ می دهد، در حالیکه در همان زمان تولید کننده

.نرم افزار را قادر میسازد نیاز هاي مشتري را بهتر درك کند

Page 19: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

روش ساخت نمونه

ارزیابی مشتری از

مدل نمونھ

Page 20: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مشکالت مدل نمونه سازيمشتري شکل اجرایی نرم افزار را که ارائه خواهد شد را می بیند •

اما اطالع ندارد که این یک نمونه براي رسیدن به یک اجراي صحیح است

طراح اغلب نکاتی را در طراحی نادیده می گیرد تا یک نمونه •اجرایی را به سرعت تهیه کند

براي شروع طراح و مشتري باید بدانند که این فقط یک :نکته •نمونه است و نرم افزار واقعی با کیفیت و پشتیبانی در آینده

نزدیک تولید می شود

Page 21: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

(RAD)مدل ساخت سریع برنامه ها

• Rapid Application Development

یا توسعه سریع کاربرد (RAD)

یک مدل فرایند افزایشی تولید نرم افزار است که تنها بر یک سیکل تولید بسیار

کوتاه تاکید می کند. مدل(RAD) یک نسخه تطابق یافته سرعت باال از مدل زنجیري خطی است که در آن توسعه سریع با استفاده از ساختمانی مبتنی

بر اجزاء تشکیل دهنده حاصل می شود اگر موارد مورد نیاز به خوبی شناسایی شده

و دامنه پروژه محدود شود، فرایندین امکان را به تیم می دهد

که سیستم کامل را ظرف مدت بسیار کوتاهی ارائه دهند.

Page 22: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

: RADفاز هاي مدلسازي تجاري-1

.جریان اطالعات را در میان کارهاي تجاري مدلسازي می کند

مدلسازي داده اي-2

جریان اطالعاتی که به عنوان بخشی از مرحله مدلسازي تجاري تعریف شده در . مجموعه اي از اهداف داده اي که براي پشتیبانی تجاري الزمند، پاالیش می شود.مشخصه هاي هر هدف شناسایی شده و ارتباط بین این اهداف تعریف می شود

مدلسازي فرآیند-3

اهداف داده اي که در مرحله مدلسازي داده ها تعریف شده اند تغییر می یابند تا به توضیحات عمل .جریان اطالعاتی الزم براي اجراي یک کار تجاري ،دست پیدا کنند

. پردازش براي افزودن، شناسایی، حذف یا بازیابی یک شیء داده اي ارائه می شوند

Page 23: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)تولید برنامه کاربردي(ایجاد کاربرد-4RAD از تکنیک هاي نسل چهارم استفاده می کند

به جاي تولید نرم افزار با استفاده از زبانهاي متعارف برنامه نویسی نسل فرآیند

سوم RADتالش می کند تا از جزء هاي برنامه موجود مجددا

استفاده کرده یا جزء هاي قابل استفاده مجددي را توليدکند

Page 24: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

آزمایش و خاتمه-5

براستفاده مجدد تأکید می کند بسیاري از اجزاي RADاز آنجا که فرایند •این کار در زمان کلی آزمون صرفه جویی .برنامه مورد آزمون قرار گرفته اند

.می کند

محدودیتهاي زمانی .در شکل زیر تشریح شده است RADمدل فرآیند •

.است نیازمند یک دامنه قابل اندازه گیري RADاعمال شده بر پروژه

Page 25: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

1شماره تیم 2 شماره تیم 3شماره تیم

مدل سازی داده ای

مدل سازی فرایند

تولید برنامھ کاربردی

مدل سازی تجاری

مدل سازی

تجاری

مدل سازیداده ای

مدل سازیفرایند

تولید برنامھ کاربردی

مدل سازی تجاری

مدل سازی داده ای

مدل سازی فرایند

تولید برنامھ کاربردی

آزمون وچرخش

آزمون و

چرخش

آزمون وچرخش

Page 26: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

RADنقایص مدل هاي پردازش • RADدر مورد پروژه هاي بزرگ اما قابل اندازه گیري، نیازمند منابع انسانی

RADکافی است تا تعداد تیمهاي درست .را تشکیل دهد

• RAD نیازمند تولید کننده و مشتري هایی است که بتوانند فعالیت هاي سریع الزم را براي رسیدن به یک سیستم کامل در یک چارچوب زمانی کوتاه انجام .دهند

• RADهمه نوع برنامه کاربردي براي اگر سیستم به درستی . مناسب نیست RADپیکره بندي نشود، ساختن اجزاي الزم براي اگر . مشکل ساز خواهد بود

عملکرد عالی موضوع اصلی است و قرار است از طریق تنظیم رابط ها با اجزاي RADسیستم تأمین شود روش .ممکن است کارگر نباشد

• RAD .وقتی که خطرات فنی بسیار زیاد است مناسب نخواهد بود

Page 27: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدل هاي تکاملی فرآیند نرم افزار)افزایشی(مدل فزاینده - 1

مدل فزاینده عناصر مدل زنجیري خطی را با دیدگاه تکرار مدل نخست،ترکیب .می کند

هسته وقتی از یک مدل فزاینده استفاده می شود،اولین بخش رشد اغلب، یعنی نیازهاي اولیه مورد توجه قرار می گیرند اما . استمحصول اصلی

هسته محصول بوسیله . بسیاري از مشخصه هاي تکمیلی ارائه نمی گردند.مشتري مورد استفاده قرار می گیرد

این طرح اصالح هسته محصول را مورد توجه قرار می دهد تا بهتر نیازهاي مشتري را برآورده نموده و ارائه مشخصه ها و قابلیت هاي کاري اضافی مورد

این فرآیند بدنبال تحویل هر بخش تکرار می . نظر مشتري را نیز بهتر سازد.شود تا وقتی که محصول کامل تولید شود

Page 28: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

1افزایش

افزایش نخستین تحویل•

2 افزایش افزایش دومین تحویل•

3 افزایش افزایش سومین تحویل•

4 افزایش

افزایش چهارمین تحویل•

افزایشی مدل •

مهندسی سیستم اطالعات

تحلیل طراحی برنامه آزمون

تحلیل طراحی برنامه آزمون

تحلیل طراحی برنامه آزمون

تحلیل طراحی برنامه آزمون

Page 29: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)ادامه(فزاینده فرایند مدل

تحویل روي بر تکاملی مدل سازي، نمونه مدل خالف بر از بخشی اولیه هاي افزایش.دارد تاکید افزایش هر در محصول

.کنند می فراهم را نهایی محصول نیاز

کم کامل سازي پیاده مهلت که است مفید زمانی افزایشی مدل زمان در و کمتر افراد با را اولیه هاي افزایش توان می لذا.باشد.داد توسعه را ها افزایش آینده در سپس و کرده ایجاد کمتر

نیز تکنیکی هاي ریسک کنترل و ریزي برنامه براي مدل این.است مناسب

Page 30: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)حلزونی(مدل مارپیچی-2

پیشنهاد شد یک مدل فرآیند نرم ) Boehm(مدل حلزونی که در اصل توسط بوهم•افزار تکاملی است که ماهیت تکراري نمونه اولیه را با جنبه هاي نظام مند و کنترل شده

.مدل زنجیري خطی ارتباط می دهد

در .با استفاده از مدل حلزونی نرم افزار در یک سري نسخه هاي فزاینده تولید می شود•طول تکرارهاي اولیه ممکن است نسخه اولیه یک مدل روي کاغذ یا تنها الگوي اولیه

در طول تکرارهاي بعدي نسخه هاي نسبتا کاملتري از سیستم مهندسی شده و .باشد.تولید می شود

مدل حلزونی از نظر فعالیتی به چند قسمت تقسیم می شود که به آنها مناطق کاري نیز •.منطقه وجود دارد 6و3معموال بین .می گویند

Page 31: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدل حلزونی•

پروژه ھای نگھداری محصوالت

پروژه ھای توسعھ محصول جدید

پروژه ھای بھینھ ساازی محصوالت

پروژه ھای توسعھ مفھوم

ساخت و نصب و

تحویل

ارزیابی مشتری

ارتباط با مشتری

نقطھ محوریشروع پروژه

طرح ریزی

تحلیل ریسک

مھندسی

Page 32: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

شش منطقه کاري

.کارهاي الزم براي ایجاد ارتباط مؤثر بین تولید کننده و مشتري -ارتباطات مشتري

کارهاي الزم براي تعریف منابع، محدوده هاي زمانی و دیگر اطالعات -برنامه ریزي•

.مربوط به پروژه

.کارهاي الزم براي ارزیابی فنی و خطرات مدیریتی -تحلیل ریسک•

.کارهاي الزم براي ساخت یک یا چند نمونه از برنامه کاربردي -مهندسی و طراحی•

کارهاي الزم براي ساخت،آزمون،نصب و تهیه پشتیبانی براي -ساخت و ارائه•

) مثل مستند سازي و آموزش(کاربر

کارهاي الزم براي بدست آوردن واکنش مشتري بر اساس ارزیابی -ارزیابی مشتري•

نمونه هاي نرم افزاري تولید شده در طول مرحله مهندسی و اجرا شده در طول مرحله

. نصب و راه اندازي

Page 33: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)ادامه(شش منطقه کاري

، حرکت عقربه هاي ساعتبا شروع فرایند تکمیلی،تیم مهندسی نرم افزار در جهت حرکت اولین مدار حول مارپیچ ممکن .در مارپیچ را آغاز می کند و این کاراز مرکز شروع می شود

. است منجر به تولید مشخصه محصول شود

با عبور از هر مرحله منطقه برنامه ریزي،کارهاي تطابقی با طرح پروژه صورت می عالوه بر آن .هزینه و زمانبندي بر اساس بازخورد ارزیابی مشتري،تنظیم می گردند.گیرد

مدل .مدیر پروژه تعداد تکرارهاي تنظیم شده الزم براي تکمیل نرم افزار را تعیین می کندحلزونی می تواند کارهاي انطباقی را صورت دهد تا در تمام طول حیات نرم افزار .کامپیوتري به کار گرفته شود

در مدل حلزونی هر مکعبی که در طول محور قرار داده شده است را می توان به عنوان .نماینده نقطه شروع براي انواع پرژه هاي مختلف در نظر گرفت

تکمیل تدریج در طول فرایندچون نرم افزار به .مدل مارپیچی یک روش انعطاف پذیر است.آشنا می شوند ریسک هاي پروژهمی شود،توسعه دهنده و مشتري در هر سطح بیشتر با

Page 34: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

WINWINمدل مارپیچی-3

مدل حلزونی بیانگر چارچوب فعالیتی است که ارتباطات مشتري را مورد توجه هدف از این فعالیت عبارتست از بیرون کشیدن اطالعات در مورد .قرار می دهد

.نیازهاي پروژه از مشتري در یک بستر مناسب است

مشتري و تولید کننده وارد فرایند مذاکره می شوند که در آن ممکن است از مشتري قابلیت کارایی،عملکرد و سایر مشخصه هاي سیستم یا محصول در

.برابر هزینه و بازار در همان موقع سؤال شود

.به ندرت اتفاق می افتد که مشتري جزئیات کافی را در اختیار قرار دهد

دارد یعنی مشتري با دریافت یک سیستم خوب WinWinبهترین مذاکره نتیجه .می شوند هر دو برندهو طراح با دستیابی به هزینه و زمانبندي مناسب

Page 35: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)ادامه(WINWIN مارپیچی مدل

فعالیت ،کلیه مشتري با ارتباط مرحله یک بجاي حلزونی مدل در :شوند می تعریف زیر هاي

یا سیستم به مربوط مسئول کلیدي افراد نمودن مشخص - 1زیرسیستم

براي را محصول قبول قابل شرایط که افرادي کردن مشخص - 2نمایند مشخص مشتري

WinWin شرایط تعریف براي آن نمایندگان یا مشتري با مذاکره- 3ها بخش تمامی براي

Page 36: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

WINWINمدل حلزونی

تعریف سطح بعد محصول و فرایند -5

مشتمل بر بخشھا وقطعات

اعتبار سنجی محصول -6

و تعریفات فرایند

مشخص نمودن افراد -1سطح بعدي

مشخص نمودن -2افراد شرایط Winwin

WinWinپنھان سازي شرایط -الف-3

ب ایجاد اھداف سطح بعدي محدویت -3ھا و راه ھاي دیگر

ارزیابي فرایند و راه ھاي -4جایگزین محصول و بررسي

كیفیت ھا

مرور و توضیحات -7

Page 37: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

WINWIN مدل حلزونی )(ادامه عالوه بر تأکید روي مذاکرات اولیه،مدل حلزونی winwin نیز فرایند پردازشسه معیار

نامیده می شوند و به تکمیل یک چرخه حول مارپیچ کمک نکات اطمینانمعرفی می کند که .نموده و معیارهاي تصمیم گیري را قبل از انجام پروژه نرم افزاري مهیا می کنند

نکات اطمینان نمایانگر سه دیدگاه مختلف از پیشرفت در زمانی هستند که پروژه مارپیچ را طی .می کند

می گویند اهداف چرخه حیاتاولین نکته اطمینان که به آن life cycle objective )LCO مجموعه اي از )اهداف را براي هر فعالیت عمده مهندسی نرم افزار بیان می کند مثالً بعنوان بخشی از LCO .،مجموعه اهداف مرتبط با تعریف نیازهاي سطوح ارشد سیستم یا محصول است

نام معماري چرخه حیات دومین نکته اطمینان گاه به life cycle architecture ) LCA اهدافی را ارائه می ) LCAدهد که باید با تعریف شدن معماري سیستم و نرم افزار بدست آیند ،مثالً بعنوان بخشی از تیم پروژه نرم افزاري باید توضیح دهد که قابلیت کارایی اجزاي نرم افزاري قابل استفاده مجدد و .موجود در بازار را برآورده کرده و اثر آنها را روي تصمیمات ساختاري در نظر گرفته استInitial operational capabilityقابلیت عملیلتی اولیه ) IOC سومین نکته اطمینان است و نمایانگرمجموعه )

توزیع، آماده سازي سایت قبل از کارهاي نصب /اهداف مربوط به آماده سازي نرم افزار براي نصبو راه اندازي و کمک مورد نیاز از طرف همه طرفهایی است که از نرم افزار استفاده یا آن را

. پشتیبانی می کنند

Page 38: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

مدل شیوه هاي رسمی

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

هاي رسمی مهندسی نرم افزار را قادرمی سازند که یک سیستم مبتنی بر کامپیوتر را با بکارگیري عبارات ریاضی بسیار دقیق مشخص توسعه داده و تغییر

با اینکه مدل روش هاي رسمی بصورت یک روش حتمی و رایج در نیامده اما یک نرم افزار با این وجود مسئله توانایی آن در محیط تجاري مورد .بدون مشکل را تضمین می کند

:بحث قرار دارد

.توسعه روش هاي رسمی در حال حاضر کامالً وقت گیر و گران است-1

از آنجا که تولید کنندگان کمی در مورد نرم افزار داراي پیش زمینه کافی براي استفاده -2 .از روش هاي رسمی هستند یک دوره آموزش پر هزینه الزم است

استفاده از مدل ها بعنوان یک مکانیزم ارتباطی براي مشتریان غیر کارکشته از نظر فنی -3 . مشکل است

Page 39: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فنون نسل چهارمدر بر گیرنده طیف گسترده اي از ابزارهاي نرم افزاري )4GT(اصطالح فنون نسل چهارم

:است که داراي یک چیز مشترك هستندهر کدام به مهندس نرم افزار این قدرت را می دهند که یک مشخصه نرم افزاري را در

سپس ابزار به طور خودکار منبع را بر اساس مشخصه هاي .سطح باالیی مشخص سازد.تولید کننده تولید می نماید

را مورد پشتبانی قرار 4GTیک محیط تولید نرم افزار که معیار :می دهد شامل چند یا کل ابزار زیر است

زبانهاي غیر رویه اي براي تحقیقات در پایگاه داده اي،ارائه گزارش،دستکاري و تغییر داده ها،تعریف و ارتباط متقابل صفحه اي،ارائه کد،توانایی گرافیکی سطح باال،توانایی

و زبانهاي مشابه استفاده شده براي ایجاد HTMLصفحه گسترده و تولید خودکار .سایت وب با استفاده از ابزارهاي پیشرفته نرم افزاري

Page 40: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

)ادامه(فنون نسل چهارم

:را به صورت زیر خالصه کرد 4GTمی توان وضعیت کنونی روش هاي

روش بسیار ارزشمندي براي بسیاري از حوزه هاي مختلف در برنامه 4GTاستفاده از روش-1

و )CASE(همراه با ابزارهاي مهندسی نرم افزار با کمک کامپیوتر 4GT.هاي کاربردي است

.مولدهاي کد،یک راه حل خوب براي بسیاري از مشکالت نرم افزاري ارائه می دهد

استفاده می کنند نشانگر این است که 4GTاطالعات جمع آوري شده از شرکتهایی که از-2

زمان الزم براي تولید نرم افزار براي بر نامه هاي کاربردي کوچک و متوسط تقریباً کاهش

.یافته و میزان طرح و تحلیل براي برنامه هاي کوچک نیز کم شده است

براي کارهاي تولید نرم افزار در مقیاس بزرگ نیازمند تحلیل،طراحی و 4GTاستفاده از-3

.آزمون بیشتري براي صرفه جویی در زمان ، به دلیل حذف کد نویسی است

Page 41: ﺪﻨﯾآﺮﻓ - Sharif University of Technologyaamiri/Courses/Files/SE/Slides... · 2014. 1. 7. · ﺪﻨﯾآﺮﻓ ﻪﺘﮑﻧ،ﺪﯾراد ﺮﻈﻧﺪﻣ ار ﻢﺘﺴﯿﺳ

فناوري فرآیند

مدل هاي فرآیند مورد بحث در بخشهاي قبلی باید تحت انطباقی براي این .قرار بگیرند تا در یک پروژه نرم افزاري استفاده شوند

کار ابزارهاي فناوري فرآیند تولید شده اند تا به سازمانهاي نرم افزاري کمک کنند فرآیند پردازش

کنونی خود را تحلیل کرده،کارهاي مختلف را سازماندهی کنند،میزان پیشرفت را کنترل و مشاهده نمایند و کیفیت فنی

.را سازمان دهند