فرآیند
اسلاید 1: فصل دوم: فرآیند1امین کاظمی
اسلاید 2: فرآیندفرایند چیست؟هنگامیکه شما تولید یک محصول یا سیستم را مدنظر دارید،نکته مهم این است که وارد یک سری مراحل قابل پیش بینی شوید.نقشه ای که به شما کمک می کند؛به نتیجه ای سریع و درخشان دیت یابی.نقشه ای که شما پیگیری می کنید، یک فرآیند نرم افزاری نامیده می شود . محصول کار چیست؟از نظر نقطه نظر مهندسی نرم افزار ،محصولات کاری، برنامه ها،اسناد و داده هایی است که در نتیجه فعالیتهای مهندسی نرم افزاری که در طول فرآیند صورت گرفته اند،تولید شده اند. چگونه مطمئن شوم که کاری که انجام داده ام درست است؟ یک سری فرآیندها و مکیزمای ارزیابی نرم افزار وجود دارد که سازمانها را قادر می سازد«تکامل فرآیند نرم افزاری»خود را تعیین کنند.امین کاظمی
اسلاید 3: آیا مفهوم فرآیند با مهندسی نرم افزار یکسان است؟پاسخ هم «بله» و هم «خیر» است فرآیند نرم افزار روشی را تعریف می کند که در هنگام طراحی نرم افزار بکار گرفته می شود.اما مهندسی نرم افزار نیز در بر گیرنده فناوریهای است که در فرآیند وجود دارند یعنی روشهای فنی و ابزار خودکار.مهندسی نرم افزار عبارتست از:ایجاد و استفاده از اصول ساده مهندسی به منظور رسیدن به یک نرم افزار مقرون به صرفه که قابل اطمینان بوده و روی دستگاههای واقعی کارآمد باشد.مهندسی نرم افزار:1- بکارگیری یک روش سیستماتیک ،منظم کمیت پیر برای ارائه ،عملیات و حفظ و نگهداری نرم افزار است یعنی بکارگیری مهندسی و شیوه های آن در نرم افزار .2- بررسی رهیافتهای آورده شده در قسمت(1). مهندسی نرم افزار3امین کاظمی
اسلاید 4: فرآیند،شیوه ها و ابزارهااساس نرم افزار یک لایه به نام فرآیند است.فرآیند مهندسی نرم افزار مانند چسبی است که لایه های فناوری را با هم نگاه داشته،توسعه به موقع و منطقی نرم افزارکامپیوتری را ممکن می سازد فرآیند چارچوبی برای مجموعه ای از حوزه های کلیدی و اصلی فرآیند خود مهیا می سازد که باید برای تحویل موثر فناوری مهندسی نرم افزار بوجود آید.حوزه های اصلی پردازش [PAU93] (KPAs) مبنای کنترل مدیریت پروژه های نرم افزاری را تشکیل داده و بستری فراهم می کنند که در آن روشهای فنی بکار گرفته می شود،محصولات تولید می شوند،(مدلها،اسناد،داده ها،گزارشات،فرمها و غیره)،محکهایی بوجود می آیند،کیفیت سنجیده می شود و تغییرات احتمالی ترتیب داده می شوند. روشهای مهندسی نرم افزار چگونگی انجام کار را از نظر فنی برای ساخت نرم افزار مهیا می کنند.روشها ی مهندسی نرم افزار به مجموعه ای ازاصول اولیه تکیه دارند که بر هر حوزه فناوری حاکم بوده و شامل فعالیتهای مدل سازی و دیگر فنون توصیفی است.4امین کاظمی
اسلاید 5: یک دید کلی از مهندسی نرم افزارمهندسی عبارتست از:تحلیلطراحیساختتایید مدیریت امور فنی (یااجتماعی) بدون توجه به ماهیت چیزی که مورد کارهای مهندسی قرار می گیرد. کارهای مربوط به مهندسی نرم افزار را میتوان به سه گروه کلی تقسیم کرد، بدون توجه حوزه کاربرد،اندازه پروزه یا پیچیدگی آن .مرحله تعریفمرحله توسعهمرحله پشتیبانی5امین کاظمی
اسلاید 6: مرحله تعریفروی آنچه که این کارها هستند(what)،متمرکز می شود.یعنی در طول تعریف مهندسی نرم افزار سعی می کند نوع اطلاعاتی را که باید پردازش شوند،عملکرد مطلوب،نوع وضعیت سیستم مورد انتظار ،نوع رابط هایی که باید ایجاد شوند.محدودیتهای موجود در طرح و معیارهای صحت را که برای تعریف یک سیستم موفق لازمند،شناسایی کند.نکات اصلی مورد نیاز در سیستم و نرم افزار شناسایی شده اند .گرچه روشهای بکار گرفته شده در طول مرحله تعریف ،بسته به معیار مهندسی نرم افزار که بکار رفته بسیار متفاوتند اما سه کار اصلی در بعضی موارد به وقوع می پیونددمهندسی سیستم یا اطلاعات،طراحی پروژه نرم افزاری،و تحلیل مربوط به موارد مورد نیاز.6امین کاظمی
اسلاید 7: مرحله توسعه مرحله توسعه وارائه روی چگونگی (how)متمرکز است.یعنی در طول این مرحله مهندس سعی دارد چگونگی ساخته شدن داده ها،اجرای کار در ساختار نرم افزاری،چگونگی توصیف رابط ها چگونگی تبدیل طرح به زبان برنامه نویسی_یا زبان غیر رویه ای)و چگونگی انجام آزمون را توصیف کند.روشهای بکار گرفته شده در طول مرحله توسعه متفاوتند اما سه کار فنی خاص همیشه رخ می دهند:طراحی نرم افزار،تولید کد و آزمون نرم افزار.مرحله پشتیبانی روی تغییر متمرکز(chang)متمرکز است که با اصلاح خطا،ایجاد تطابقات لازم در حد لازم در رابطه با محیط نرم افزاری و تغییراتی ناشی از بهبود کار بخاطر تغییر نیاز مشتری ،رابطه دارد در طول این مرحله چهار نوع تغییر را شاهد هستیم.اصلاحتطابقبهبود وضعیتپیشگیری 7امین کاظمی
اسلاید 8: کارهای مربوط به توسعه نرم افزار(ادامه) این فازها مراحل توصیف شده در دیدگاه کلی ما نسبت به مهند سی نرم افزار بوسیله یک سری فعالیتهای پوششی تکمیل می شوند .فعالیتهای نمونه در این گروه شامل موارد زیر است :کنترل پیگیری پروژه نرم افزاریتضمین کیفی نرم افزارمدیریت طرح نرم افزریآماده سازی اسناد و تولیدمدیریت قابلیت استفاده مجددبازنگری های فنی رسمیارزیابیمدیریت خطر 8امین کاظمی
اسلاید 9: فرآیند نرم افزاربعضی از کارها که هر کدام مجموعه ای از کارهای مهندسی نرم افزاری،معیارهای پروژه محصول کار و نقاط تضمین کیفیت هستند،باعث می شود که این مجموعه های معین فعالیتی در مشخصه های پروژه نرم افزری بکار گرفته شده و در وجموعه تقاضاهای تیم پروژه نیز باشند.موسسه مهندسی نرم افزار (SEI)مدل جامعی ارائه داده که روی مجموعه ای از توانائیهای مهندسی نرم افزار که باید برای دسترسی سازمانها به سطوح مختلف بلوغ فرآیند وجود داشته باشد،پیش بینی می شود.این طرح درجه بندی میزان تطابق با توانایی مدل کامل (CMM) [PAU93] را مشخص می کند که فعالیتهای اصلی لازم در سطوح مختلف فرآیند تکامل را تعریف می کند.9امین کاظمی
اسلاید 10: سطح 1:اولیه. فرآیند نرم افزاری بصورت موقتی و حتی بعضی اوقات بسیار درهم و برهم توصیف شده است.چند فرآیند تعریف می شود و موفقیت به تلاش های فردی بستگی دارد.سطح 2:قابل تکرار. فرآیندهای اولیه مدیریت پروژه برای مشخص کردن هزینه،زمان بندی وقابلیت کارایی آن صورت می گیرند.اصل ضروروی فرآیند در جایی است که موفقیتهای پیش تر پروژه هایی کاربردهای مشابه را تکرار می کند.سطح 3:تعریف شده. فرآیند نرم افزاری برای مدیریت و فعالیت های مهندسی در طول یک فرآیند پردازش نرم افزاری در سازمان ثبت شده،استاندارد و منسجم است.سطح 4:مدیریت شده. اقدامات دقیق صورت گرفته پردازش نرم افزار و کیفیت محصول همگی کنترل می شوند.سطح 5:بهینه سازی. بهبود مکرر فرآیند با توجه به بازخورد کمی فرآیند و از روی آزمون ایده های نو آورانه و فناوریهای تازه ،مقدور است. فرآیند نرم افزار(ادامه)10امین کاظمی
اسلاید 11: نکاتنکته:حائز اهمیت است که هر سطح بالای سطح 2 زیر مجموعه ای از سطح قبلی است.نکته:سطح 4 دربرگیرنده مفهوم اندازه گیری و استفاده از متریک است.متریک یک کمیت معنادار است که می توان آن را از روی بعضی از اسناد یا کدی در داخل پروژه نرم افزاری استخراج نمود.در یک بخش از کد برنامه ،این متریک در صوتی معنی دارد که نشانه ای از کارهای لازم را آزمون کد مهیا کند.این متریک مستقیما با تعداد مسیرهای آزمونی داخل کد مربوط است.نکته:سطح 5 بالاترین سطح قابل دسترسی است .این سطح نمایانگر آنالوگ مکانیزمهای کنترل کیفی نرم افزار است که در مکانیزمهای دیگر و صنایع کامل تر وجود دارند. 11امین کاظمی
اسلاید 12: نکات (ادامه) SEIدارای حوزه های اصلی در فرآیند است(KPA) که هر کدام یک سطح رشد و تکامل دارند.KPAها آن گروه از فعالیت های مهندسی را توصیف می کنند که باید برای صورت گرفتن کار درست در سطح بخصوصی موجود داشته باشند. هر KPAبا شناسایی مشخصه های زیر توصیف می شود:اهداف – اهداف کلی که KPA باید به آن دست یابد .تعهدات – نیازمندیهای (که از طرف سازمان اعمال شده) که باید مرتفع شود تا به اهداف دست یابد و دلایلی باید ارائه شود که با اهداف مطابقت داشته باشد.توانائیها – این چیزها باید در جای خود باشند (چه از نظر سازمانی و چه هز نظر فنی)که سازمان بتواند به تعهداتش عمل کند.فعالیتها - کارهای خاصی که لازمند تا به عملکرد KPA دست یابند.12امین کاظمی
اسلاید 13: نکات )ادامه( روشهای کنترل پیاده سازی – شیوه ای که با آن فعالیتها در جای خود قرار می گیرند کنترل می شوند.روش هایی برای ارزیابی درستی پیاده سازی – شیوه ای که با آن عمل درست برای KPA مشخص می شوند . هجده KPA (هر کدام با استفاده از این خصوصیات توصیف شده اند) در طول فرآیند تکمیل کار تعریف شده و در سطح مختلف فرآیند تکاملی بصورت طرح درآمده اند .KPA زیر را در هر سطح تکمیلی فرآیند به دست می آوریم :سطح 2 فرآیند تکمیلی مدیریت پیکربند ی نرم افزار .تضمین کیفیت نرم افزار .مدیریت پیمان کاریهای نرم افزار.پی گیری نظارت پروژه نرم افزاری .مدیریت نیازمندیها.13امین کاظمی
اسلاید 14: سطح 3 فرآیند تکمیلیبازبینی های یکسان .همکاری درونی گروهی .مهندسی محصولی نرم افزاری .مدیریت یکپارچه نرم افزاری .برنامه آموزشی .تعریف فرآیند سازمانی .نقطه تمرکز فرآیند سازمانیسطح 4 فرآیند تکمیلیمدیریت کیفیت نرم افزار.مدیریت فرآیند کمی.سطح 5 فرایند تکمیلیمدیریت تغییر فرآیند .پیشگیری از نقیصه و اشکال14امین کاظمی
اسلاید 15: مدلهای فرآیند نرم افزار یک تیم از مهندسین نرم افزار در تولید یک راهبرد کمک کنید که در بر گیرنده لایه های فرآیند روشها و ابزاری است.ا اغلب این راهبرد را مدل فرآیند یا پارادایم مهندسی نرم افزار می نامند .یک مدل فرآیند برای مهندسی نرم افزار بر اساس ماهیت پروژه و کاربرد آن روشها و ابزار مورد استفاده و کنترل ها و موارد قابل ارائه که لازمند انتخاب می شود . تمام کارهای توسعه وارائه یک رنم افزار را می توان بعنوان یک حلقه حل مشکل توصیف کرد (شکل)که در آن چهار مرحله مشخص دیده می شوند .تعریف مسلهتوسعه فنیجامعیت راه حل بیان وضعیت 15امین کاظمی
اسلاید 16: مدل ترتیب خطی این مدل را که گاهیچرخه حیات کلاسیک یا مدل آبشاری می نامند ،بیانگر یک نگرش نظام مند و زنجیری نسبت به تولی نرم افزار است که در سطح سیستم شروع شده و با تحلیل ،طراحی ، کد گزاری ،آزمون و پشتیبانی نرم افزاری پیشروی می کند . مهندسی سیستم/اطلاعاتتحلیلطراحیبرنامه نویسیآزمون16امین کاظمی
اسلاید 17: مشکلات ترتیب خطیپروژه های واقعی به ندرت از جریان زنجیری و متوالی که مدل ارائه میدهد، پیروی می کند .گرچه مدل خطی می تواند با تکرار تطابق یابد ،اما آن را به طور غیر مستقیم انجام می دهد . در نتیجه ،با انجام کار توسط اعضای پروژه ممکن است موارد گیج کننده ای رخ دهد .اغلب برای مشتری مشکل است که تمام نیاز های خود را به طور مشخص بیان کند . مدل زنجیری خطی به این امر نیاز داشته و در تطابق عدم قطعیت طبیعی که در آغاز بسیاری از پروژه ها وجود دارد ،دارای مشکل است .مشتری باید صبور باشد .نسخه کاری برنامه تا اواخر مدت زمان کاری پروژه در دسترس نخواهد بود .اگر مشکلی وجود داشته و تا اواخر کار برنامه نویسی که برنامه مورد بازبینی قرار می گیرد مشخص نشود ،می تواند فاجعه آمیز باشد .17امین کاظمی
اسلاید 18: مدل نمونه سازی پارادیم نمونه سازی بهترین روش برای حل مشکلاتی از قبیل : نامطمئن بودن مشتری از کارایی الگوریتم،قابلیت تطابق آن با یک سیستم عامل یا شکل ارتباط متقابل دستگاه و انسان . نمونه نخست توسط مشتری /کاربر ارزیابی شده و از آن برای رفع نیازهای نرم افزاری که قرار است تولید شود استفاده می شود وقتی نمونه اولیه طوری تنظیم شد که نیازهای مشتری را براورده سازد ،عمل تکرار رخ می دهد ،در حالیکه در همان زمان تولید کننده نرم افزار را قادر میسازد نیاز های مشتری را بهتر درک کند .18امین کاظمی
اسلاید 19: پارادیم ساخت نمونه ارزیابی مشتری از مدل نمونه19امین کاظمی
اسلاید 20: مدل ساخت سریع برنامه ها(RAD)Rapid Application Development با توسعه سریع کاربرد (RAD) یک مدل فرایند افزایشی تولید نرم افزار است که تنها بر یک سیکل تولید بسیار کوتاه تاکید می کند مدل (RAD) یک نسخه تطابق یافته سرعت بالا از مدل زنجیری خطی است که در آن توسعه سزیع با استفاده از ساختمانی مبتنی بر اجراء تشکیل دهنده حاصل می شود اگر موارد مورد نیاز به خوبی شناسایی شده و دامنه پروژه محدود شود ،فرایند RAD این امکان را به تیم می دهد که سیستم تمام کاربردی را ظرف مدت بسیار کوتاهی ارائه دهند (مثلا 60 تا 90 روز )[MAR91] روش RAD که اساسا برای کارهای سیستمهای اطلاعاتی استفاده می شود در بر گیرنده مراحل زیر است .[KER94] 20امین کاظمی
اسلاید 21: مدلسازی تجاریجریان اطلاعات را در میان کارهای تجاری مدلسازی می کند.مدلسازی داده ای جریان اطلاعاتی که به عنوان بخشی از مرحله مدلسازی تجاری تعریف شده در مجموعه ای از اهداف داده ای که برای پشتیبانی تجاری لازمند ،پالایش می شود .مشخصه های هر هدف شناسایی شده و ارتباط بین این اهداف تعریف می شود .مدلسازی فرآیند اهداف داده ای که در مرحله مدلسازی داده ها تعریف شده اند تغییر می یابند تا به جریان اطلاعاتی لازم برای اجرای یک کار تجاری ،دست پیدا کنند .توضیحات عمل پردازش برای افزودن ،شناسایی ،حذف یا بازیابی یک شی ءداده ای ارائه می شوند . 21امین کاظمی
اسلاید 22: تولید برنامه کاربردیبه جای تولید نرم افزار با استفاده از زبانهای متعارف برنامه نویسی متعارف نسل سوم فرآیندRAD تلاش می کند تا از جزء های برنامه موجود مجددا استفاده کرده یا جزء های قابل استفاده مجددی را تولید کند. امین کاظمی
اسلاید 23: آزمون و گردشاز آنجا که فرایند RAD براستفاده مجدد تأکید می کند بسیاری از اجزای برنامه مورد آزمون قرار گرفته اند.این کار در زمان کلی آزمون صرفه جویی می کند.مدل فرآیند RAD در شکل زیر تشریح شده است.محدودیتهای زمانی اعمال شده بر پروژه RAD نیازمند یک دامنه قابل اندازه گیری است.23امین کاظمی
اسلاید 24: تیم شماره3 تیم شماره 2 تیم شماره1 مدل سازی داده ایمدل سازی فرایندتولید برنامه کاربردیمدل سازی تجاریمدل سازی تجاری مدل سازی داده ایمدل سازی فرایندتولید برنامه کاربردیتولید برنامه کاربردیمدل سازی تجاریمدل سازی داده ایمدل سازی فرایندتولید برنامه کاربردیآزمون وچرخشآزمون و چرخش آزمون وچرخش24امین کاظمی
اسلاید 25: نقایص مدل های پردازش RADدر مورد پروژه های بزرگ اما قابل اندازه گیری،RAD نیازمند منابع انسانی کافی است تا تعداد تیمهای درست RAD را تشکیل دهد.RAD نیازمند تولید کننده و مشتری هایی است که بتوانند فعالیت های سریع لازم را برای رسیدن به یک سیستم کامل در یک چارچوب زمانی کوتاه انجام دهند.همه نوع برنامه کاربردی برای RAD مناسب نیست.اگر سیستم به درستی پیمانه بندی نشود،ساختن اجزای لازم برای RAD مشکل ساز خواهد بود.اگر عملکرد عالی موضوع اصلی است و قرار است از طریق تنظیم رابط ها با اجزای سیستم تأمین شود روش RAD ممکن است کارگر نباشد.RAD وقتی که خطرارت فنی بسیار زیاد است مناسب نخواهد بود.25امین کاظمی
اسلاید 26: مدل های تکاملی فرآیند نرم افزار 1 -مدل فزاینده (افزایشی) مدل فزاینده عناصر مدل زنجیری خطی را با دیدگاه تکرار مدل نخست،ترکیب می کند. وقتی از یک مدل فزاینده استفاده می شود،اولین بخش رشد اغلب،هسته محصول اصلی است.یعنی نیازهای اولیه مورد توجه قرار می گیرند اما بسیاری از مشخصه های تکمیلی ارائه نمی گردند.هسته محصول بوسیله مشتری مورد استفاده قرار می گیرد. این طرح اصلاح هسته محصول را مورد توجه قرار می دهد تا بهتر نیازهای مشتری را برآورده نموده و ارائه مشخصه ها و قابلیت های کاری اضافی مورد نظر مشتری را نیز بهتر سازد.این فرآیند بدنبال تحویل هر بخش تکرار می شود تا وقتی که محصول کامل تولید شود.26امین کاظمی
اسلاید 27: افزایش1تحویل نخستین افزایشتحویل دومین افزایش افزایش 2تحویل سومین افزایش افزایش 3 افزایش 4تحویل چهارمین افزایش مدل افزایشیمهندسی سیستم اطلاعاتتحلیلطراحیبرنامهآزمونتحلیلطراحیبرنامهآزمونتحلیلطراحیبرنامهآزمونتحلیلطراحیبرنامهآزمون27امین کاظمی
اسلاید 28: مدل فرایند فزاینده(ادامه) مدل فرآیند فزاینده مثل ساخت نونه اولیه و دیگر روش های ارزیابی و تکمیل ماهیت تکرار شونده دارد اما بر خلاف نمونه اولیه،مدل فزاینده روی تحویل یک محصول عملیاتی با هر بخش رشد یافته و تأکید می کند.افزایشهای اولیه نسخه های محدود شده محصول نهایی هستند اما آنها این توانایی را دارند که در خدمت کاربر بوده و همچنین محلی برای ارزیابی توسط کاربر فراهم می کنند.28امین کاظمی
اسلاید 29: 2-مدل پیچشی(حلزونی) مدل حلزونی که در اصل توسط بوهم پیشنهاد شد یک مدل فرآیند نرم افزار تکاملی است که ماهیت تکراری نمونه اولیه را با جنبه های نظام مند و کنترل شده مدل زنجیری خطی ارتباط می دهد.با استفاده از مدل حلزونی نرم افزار در یک سری نسخه های فزاینده تولید می شود.در طول تکرارهای اولیه ممکن است نسخه اولیه یک مدل روی کاغذ یا تنها الگوی اولیه باشد.در طول تکرارهای بعدی نسخه های نسبتا کاملتری از سیستم مهندسی شده و تولید می شود.مدل حلزونی از نظر فعالیتی به چند قسمت تقسیم می شود که به آنها مناطق کاری نیز می گویند.معمولا بین 3و6 منطقه وجود دارد.29امین کاظمی
اسلاید 30: مدل حلزونیپروژه های نگهداری محصولاتپروژه های بهینه ساازی محصولاتپروژه های ساخت محصول جدید پروژه های توسعه مفهومساخت و نصب و تحویل ارزیابی مشتریارتباط با مشترینقطه محوریشروع پروژهطرح ریزیتحلیل ریسکمهندسی30امین کاظمی
اسلاید 31: شش منطقه کاریارتباطات مشتری- کارهای لازم برای ایجاد ارتباط مؤثر بین تولید کننده و مشتری.برنامه ریزی- کارهای لازم برای تعریف منابع،محدوده های زمانی و دیگر اطلاعات مربوط به پروژه.تحلیل خطر- کارهای لازم برای ارزیابی فنی و خطرارات مدیریتی.مهندسی و طراحی- کارهای لازم برای ساخت یک یا چند نمونه از برنامه کاربردی.ساخت و ارائه- کارهای لازم برای ساخت،آزمون،نصب و تهیه پشتیبانی برای کاربر(مثل مستند سازی و آموزش) ارزیابی مشتری- کارهای لازم برای بدست آوردن واکنش مشتری بر اساس ارزیابی نمونه های نرم افزاری تولید شده در طول مرحله مهندسی و اجرا شده در طول مرحله نصب و راه اندازی. 31امین کاظمی
اسلاید 32: شش منطقه کاری(ادامه) با شروع فرایند تکمیلی،تیم مهندسی نرم افزار در جهت حرکت عقربه های ساعت،حرکت در مارپیچ را آغاز می کند و این کاراز مرکز شروع می شود.اولین مدار حول مارپیچ ممکن است منجر به تولید مشخصه محصول شود. با عبور از هر مرحله منطقه برنامه ریزی،کارهای تطابقی با طرح پروژه صورت می گیرد.هزینه و زمانبندی بر اساس بازخورد ارزیابی مشتری،تنظیم می گردند.علاوه بر آن مدیر پروژه تعداد تکرارهای تنظیم شده لازم برای تکمیل نرم افزار را تعیین می کند.مدل حلزونی می تواند کارهای انطباقی را صورت دهد تا در تمام طول حیات نرم افزار کامپیوتری به کار گرفته شود. در مدل حلزونی هر مکعبی که در طول محور قرار داده شده است را می توان به عنوان نماینده نقطه شروع برای انواع پرژه های مختلف در نظر گرفت.32امین کاظمی
اسلاید 33: 3-مدل حلزونیWINWIN مدل حلزونی بیانگر چارچوب فعالیتی است که ارتباطات مشتری را مورد توجه قرار می دهد.هدف از این فعالیت عبارتست از بیرون کشیدن اطلاعات در مورد نیازهای پروژه از مشتری د ریک بستر مناسب است. مشتری و تولید کننده وارد فرایند مذاکره می شوند که در آن ممکن است از مشتری قابلیت کارایی،عملکرد و سایر مشخصه های سیستم یا محصول در برابر هزینه و بازار در همان موقع سؤال شود. 33امین کاظمی
اسلاید 34: مدل حلزوی WINWIN(ادامه) در مدل حلزونی بجای یک رابطه صرف مشتری ،کلیه فعالیت های زیر تعریف می شوند:1-شناسایی سیستم یا دارندگان اصلی سیستم های فرعی2-تعیین شرایط برد دارندگان سهم.3-مذاکره در مورد شرایط برد سهامدار برای تطابق دادن آنها درمجموعه ای از شرایط win-win برای همه افراد درگیر. 34امین کاظمی
اسلاید 35: مدل حلزونی WINWIN 5- تعریف سطح بعد محصول و فرایندمشتمل بر بخشها و قسمتها 6- اعتبار سنجی محصولو تعریفات فرایند 1-شناسایی گرو گذارانسطح بعد 2-شناسایی شرایط برد گرو گذاران 3-الف-تطابق شرایط برد 3-ب-برقراری اهداف اصلی محدودیتها و قیود و جایگزین های سطح بعد 4-ارزیابی فرایند و محصول های جایگزین و مرتفع کردن ریسک ها 35امین کاظمی
اسلاید 36: مدل حلزونیWINWIN (ادامه) علاوه بر تأکید روی مذاکرات اولیه،مدل حلزونی winwin سه معیار فرایند پردازش نیز معرفی می کند که نقاط تکیه یا anchor نامیده می شوند و به تکمیل یک چرخه حول مارپیچ کمک نموده و معیارهای تصمیم گیری را قبل از انجام پروژه نرم افزاری مهیا می کنند. نقاط تکیه نمایانگر سه دیدگاه مختلف از پیشرفت در زمانی هستند که پروژه مارپیچ را طی می کند.اولین تکیه گاه که به آن اهداف چرخه حیات می گویند ( LCO)مجموعه ای از اهداف را برای هر فعالیت عمده مهندسی نرم افزار بیان می کند مثلاً بعنوان بخشی از LCO،مجموعه اهداف مرتبط با تعریف نیازهای سطوح ارشد سیستم/محصول. دومین نقطه تکیه گاه به نام معماری چرخه حیات (LCA) اهدافی را ارائه می دهد که باید با تعریف شدن سیستم و نرم افزار مرتفع شوند،مثلاً بعنوان بخشی از LCA تیم پروژه نرم افزاری باید توضیح دهد که قابلیت کارایی اجزای نرم افزاری قابل استفاده مجدد و موجود در بازار را برآورده کرده و اثر آنها را روی تصمیمات ساختاری در نظر گرفته است. قابلیت عملیلتی اولیه(LOC)سومین نقطه تکیه گاه است و نمایانگرمجموعه اهداف مربوط به آماده سازی نرم افزار برای نصب/توزیع،آماده سازی سایت قبل از کارهای نصب و راه اندازی و کمک مورد نیاز از طرف همه طرفهایی است که از نرم افزار استفاده یا آن را پشتیبانی می کنند. 36امین کاظمی
اسلاید 37: 4-مدل توسعه همروند مدل تولید همزمان که گاهی به آن مهندسی همروند می گویند که توسط دیوس و سیترام توصیف شده است: مدیران پروژه ای که وضعیت پروژه را از فقط با دنبال کردن مراحل اصلی تعقیب می کنند هیچ نظری در مورد وضعیت پروژه های خود ندارند.اینهانمونه هایی از تلاش برای پیگیری مجموعه فعالیت های بسیار مشکل با استفاده از مدل های بسیار ساده است. مدل های فرآیند مهندسی نرم افزار که توسط هامفری و کلتر ارائه شده اند،نشانگر همروندی فعالیت های رخ داده در طول هر مرحله می باشند. 37امین کاظمی
اسلاید 38: شروعتوسعه نخستمنتظر تغییراتتحت تجدید نظرانجام شدهقرار گرفتن برخط مبناتحت بازبینییک عنصر از مدل فرآیند همروند38امین کاظمی
اسلاید 39: مدل توسعه همروند(ادامه) مدل فرآیند همزمان یک سری رویدادهایی را مشخص می سازد که انتقال از حالتی به حالت دیگر را برای هر کار مهندسی نرم افزار آغاز می کنند. مدل فرآیند همزمان اغلب بعنوان معیاری برای توسعه و تولید برنامه های کاربردی خادم/مخدوم استفاده می شود.یک سیستم خادم/مخدوم متشکل از مجموعه ای اجزای کاربردی است.وقتی مدل فرآیند همزمان در خادم/مخدوم استفاده می شود،فعالیت هایی را در دو بعد تعریف می کند، بعد سیستم و بعد مؤلفه.موضوعات مربوط به سیستم با استفاده از سه فعالیت مورد توجه قرار می گیرند،طراحی،مونتاژ و کاربرد.بعد جزء از نظر دو فعالیت مورد بررسی است:طراحی و شناسایی و همزمانی به دو شکل حاصل می شود: 1-فعالیت های سیستم و جزء که بطور همزمان رخ می دهند و می توان آنها را با استفاده از رهیافت وضعیت گرا مدلسازی کرد. 2-یک برنامه کاربردی معمول خادم/مخدوم بوسیله اجزا بسیاری به اجرا در می آید که هر کدام از آنها را می توان بطور همزمان طراحی و شناسایی نمود.مدل فرایند همزمان در مورد همه نوع تولید نرم افزار قابل اجراست و تصویر دقیقی از وضعیت کنونی پروژه را ارائه می دهند. 39امین کاظمی
اسلاید 40: توسعه مبتنی بر اجزاء مدل تولید بر پایه جزء(CBD)بسیاری از مشخصه های مدل حلزونی را در بر دارد. ماهیت آن تکاملی است،به یک روش تکراری نیاز دارد تا نرم افزار را تولید کند.این مدل از برنامه های کاربردی تشکیل شده است که از اجزای نرم افزاری از پیش بسته بندی شده اند که به آنها کلاس یا رده می گویند. مدل تولید بر پایه جزء منجر به استفاده مجدد نرم افزار شده است. فرآیند تولید یکپارچه نرم افزار نماینده تعدادی از مدلهای تولید بر پایه اجزاء است که در صنعت پیشنهاد شده است.با استفاده از زبان مدلسازی یکپارچه یا UML،فرآیند یکپارچه جزءهایی را تعریف می کند که برای ساختن سیستم استفاده شده و رابطه هایی که این جزءها را به هم وصل می کنند.40امین کاظمی
اسلاید 41: توسعه مبتنی بر اجزاطرح ریزیارتباط با مشتریارزیابی مشتریتحلیل مخاطرات مهندسی ساخت و اجرا 41امین کاظمی
اسلاید 42: مدل شیوه های رسمی مدلی که بر پایه شیوه های رسمی بدست می آید دربرگیرنده یک سری فعالیت هایی است که منجر به تعیین رسمی مشخصه های نرم افزار کامپیوتر با روابط ریاضی می شود. روش های رسمی مهندسی نرم افزار را قادرمی سازند که یک سیستم مبتنی بر کامپیوتر را با بکارگیری عبارات ریاضی بسیار دقیق مشخص توسعه داده و تغییر دهد.یک نوع از این روش به نام مهندسی نرم افزار اتاق پاک است. با اینکه مدل روش های رسمی بصورت یک روش حتمی و رایج در نیامده اما یک نرم افزار بدون مشکل را تضمین می کند.با این وجود مسئله توانایی آن در محیط تجاری مورد بحث قرار دارد: 1-توسعه روش های رسمی در حال حاضر کاملاً وقت گیر و گران است. 2-از آنجا که تولید کنندگان کمی در مورد نرم افزار دارای پیش زمینه کافی برای استفاده از روش های رسمی هستند یک دوره آموزش پر هزینه لازم است. 3-استفاده از مدل ها بعنوان یک مکانیزم ارتباطی برای مشتریان غیر کارکشته از نظر فنی مشکل است. 42امین کاظمی
اسلاید 43: فنون نسل چهارم اصطلاح فنون نسل چهارم (4GT)در بر گیرنده طیف گسترده ای از ابزارهای نرم افزاری است که دارای یک چیز مشترک هستند: هر کدام به مهندس نرم افزار این قدرت را می دهند که یک مشخصه نرم افزاری را در سطح بالایی مشخص سازد.سپس ابزار به طور خودکار منبع را بر اساس مشخصه های تولید کننده تولید می نماید. یک محیط تولید نرم افزار که معیار 4GT را مورد پشتبانی قرار می دهد شامل چند یا کل ابزار زیر است: زبانهای غیر رویه ای برای تحقیقات در پایگاه داده ای،ارائه گزارش،دستکاری و تغییر داده ها،تعریف و ارتباط متقابل صفحه ای،ارائه کد،توانایی گرافیکی سطح بالا،توانایی صفحه گسترده و تولید خودکار HTML و زبانهای مشابه استفاده شده برای ایجاد سایت وب با استفاده از ابزارهای پیشرفته نرم افزاری.43امین کاظمی
اسلاید 44: فنون نسل چهارم(ادامه) می توان وضعیت کنونی روش های 4GT را به صورت زیر خلاصه کرد: 1-استفاده از روش4GT روش بسیار ارزشمندی برای بسیاری از حوزه های مختلف در برنامه های کاربردی است.4GT همراه با ابزارهای مهندسی نرم افزار با کمک کامپیوتر(CASE)و مولدهای کد،یک راه حل خوب برای بسیاری از مشکلات نرم افزاری ارائه می دهد. 2-اطلاعات جمع آوری شده از شرکتهایی که از4GT استفاده می کنند نشانگر این است که زمان لازم برای تولید نرم افزار برای بر نامه های کاربردی کوچک و متوسط تقریباً کاهش یافته و میزان طرح و تحلیل برای برنامه های کوچک نیز کم شده است. 3-استفاده از4GT برای کارهای تولید نرم افزار در مقیاس بزرگ نیازمند تحلیل،طراحی و آزمون بیشتری در وقت صورت گیرد که این کار از طریق حذف کدها بوجود می آید.44امین کاظمی
اسلاید 45: فناوری فرآیندمدل های فرآیند مورد بحث در بخشهای قبلی باید تحت انطباقی قرار بگیرند تا در یک پروژه نرم افزاری استفاده شوند.برای این کار ابزارهای فناوری فرآیند تولید شده اند تا به سازمانهای نرم افزاری کمک کنند فرآیند پردازش کنونی خود را تحلیل کرده،کارهای مختلف را سازماندهی کنند،میزان پیشرفت را کنترل و مشاهده نمایند و کیفیت فنی را سازمان دهند.45امین کاظمی
اسلاید 46: 46امین کاظمیالتماس دعایا علی ع عشق ازلی ، ذکر ابدی ، یا زهرا سلام الله علیها09363735495www.talaiye12.blogfa.com
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.