ﺪﻨﯾآﺮﻓ - sharif university of technologyaamiri/courses/files/se/slides... · 2014. 1....
TRANSCRIPT
فصل دوم
فرآیند
فرآیندهنگامیکه شما تولید یک محصول یا سیستم را مدنظر دارید،نکته فرایند چیست؟•
نقشه اي که به شما .مهم این است که وارد یک سري مراحل قابل پیش بینی شویدنقشه اي که شما پیگیري .کمک می کند؛به نتیجه اي سریع و درخشان دست یابید
.می کنید، یک فرآیند نرم افزاري نامیده می شود
از نقطه نظر مهندسی نرم افزار ،محصوالت کاري،محصول کار چیست؟ •برنامه ها،اسناد و داده هایی است که در نتیجه فعالیتهاي مهندسی نرم افزاري که در
.طول فرآیند صورت گرفته اند،تولید شده اند
؟ یک سري فرآیندها و چگونه مطمئن شوم که کاري که انجام داده ام درست است •
تکامل فرآیند «مکانیزمهاي ارزیابی نرم افزار وجود دارد که سازمانها را قادر می سازد
.خود را تعیین کنند»نرم افزاري
است »خیر« هم و »بله« هم پاسخ است؟ یکسان افزار نرم مهندسی با فرآیند مفهوم آیا•
می گرفته بکار افزار نرم طراحی هنگام در که کند می تعریف را روشی افزار نرم فرآیند
یعنی دارند وجود فرآیند در که است فناوریهاي گیرنده بر در نیز افزار نرم مهندسی اما.شود
.خودکار ابزار و فنی روشهاي
به رسیدن منظور به مهندسی ساده اصول از استفاده و ایجاد:از عبارتست افزار نرم مهندسی•
.باشد کارآمد واقعی دستگاههاي روي و بوده اطمینان قابل که صرفه به مقرون افزار نرم یک
:افزار نرم دیگرمهندسی عبارت به•
نرم نگهداري و حفظ و ،عملیات ارائه براي پذیر کمیت ،منظم سیستماتیک روش یک بکارگیري
. افزار نرم در آن هاي شیوه و مهندسی بکارگیري یعنی است افزار
مهندسی نرم افزار
فرآیند،شیوه ها و ابزارهااست اي الیه تکنولوژي یک افزار نرم مهندسی•
با را فناوري هاي الیه که است چسبی مانند افزار نرم مهندسی فرآیند.است فرآیند نام به الیه یک افزار نرم مهندسی اساس•
حوزه از اي مجموعه براي چارچوبی فرآیند سازد می ممکن را افزارکامپیوتري نرم منطقی و موقع به داشته،توسعه نگاه هم
.آید بوجود افزار نرم مهندسی فناوري موثر تحویل براي باید که سازد می مهیا خود اصلی و کلیدي هاي
و داده تشکیل را افزاري نرم هاي پروژه مدیریت کنترل مبناي )KPAS( [PAU93] پردازش اصلی هاي حوزه•
مدلها،اسناد،داده(میشوند، تولید میشود،محصوالت گرفته بکار فنی روشهاي آن در که کنند می فراهم بستري
.شوند می داده ترتیب احتمالی تغییرات و شود می سنجیده آیند،کیفیت می بوجود ،محکهایی)غیره و ها،گزارشات،فرمها
افزار نرم مهندسی روشهاي.کنند می مهیا افزار نرم ساخت براي فنی نظر از را کار انجام چگونگی افزار نرم مهندسی روشهاي•
فنون دیگر و سازي مدل فعالیتهاي شامل و بوده حاکم فناوري حوزه هر بر که دارند تکیه اولیه ازاصول اي مجموعه به
.است توصیفی
ابزار هایی در مهندسی نرم افزار جهت حمایت هاي خودکار یا نیمه •.خودکار فرایند ها و روش ها وجود دارند
هنگامی که این ابزار ها مجتمع می شوند به گونه اي که اطالعات •ایجاد شده توسط یک ابزار بتواند توسط دیگري استفاده شود سیستمی
) CASE( مهندسی نرم افزار به کمک کامپیوترایجاد شده به نام
•CASE از ترکیب نرم افزار،سخت افزار و بانک اطالعات مهندسی نرم.افزار تشکیل شده است
یک دید کلی از مهندسی نرم افزار
:مهندسی عبارتست از
تحلیل•
طراحی•
ساخت•
تایید •
)یااجتماعی(مدیریت امور فنی •
کارهاي مربوط به مهندسی نرم . بدون توجه به ماهیت چیزي که مورد کارهاي مهندسی قرار می گیرد .افزار را میتوان به سه گروه کلی تقسیم کرد، بدون توجه حوزه کاربرد،اندازه پروزه یا پیچیدگی آن
مرحله تعریف•
مرحله توسعه•
مرحله پشتیبانی•
مرحله تعریف
روي آنچه که این کارها هستند)what(یعنی در طول . ،متمرکز می شود
نوع اطالعاتی را که باید پردازش تعریف مهندسی نرم افزار سعی می کند
شوند،عملکرد مطلوب، نوع وضعیت سیستم مورد انتظار، نوع رابطهایی که باید
محدودیتهاي موجود در طرح و معیارهاي صحت را که براي . ایجاد شوند
گرچه روشهاي بکار گرفته . ، شناسایی کندتعریف یک سیستم موفق الزمند
شده در طول مرحله تعریف، بسته به معیار مهندسی نرم افزار که بکار رفته
بسیار متفاوتند اما سه کار اصلی در بعضی موارد به وقوع می پیوندد
تحلیل 3و طراحی پروژه نرم افزاري 2،اطالعاتیا مهندسی سیستم1
.مربوط به موارد مورد نیاز
توسعه مرحله
یعنی در .متمرکز است)how(مرحله توسعه وارائه روي چگونگی
طول این مرحله مهندس سعی دارد چگونگی ساخته شدن داده ها،
اجراي کار در ساختار نرم افزاري، چگونگی توصیف رابط ها، چگونگی
و چگونگی )تبدیل طرح به زبان برنامه نویسی یا زبان غیر رویه اي
روشهاي بکار گرفته شده در طول مرحله . انجام آزمون را توصیف کند
: توسعه متفاوتند اما سه کار فنی خاص همیشه رخ می دهند
.آزمون نرم افزار3و تولید کد2، طراحی نرم افزار1
مرحله پشتیبانی
متمرکز است که با اصالح خطا، ایجاد )chang(روي تغییر متمرکز تطابقات الزم در حد الزم در رابطه با محیط نرم افزاري و تغییراتی ناشی
از بهبود کار بخاطر تغییر نیاز مشتري، رابطه دارد
.در طول این مرحله چهار نوع تغییر را شاهد هستیم
)رفع خطاهایی که مشتري کشف نموده است:(تصحیح•
سخت افزار و نرم (تغییر برنامه بر اساس تغییر محیط جرایی:( انطباق •.....))افزارو
)رفع نیاز هاي جدید مشتري: (ارتقاء•
پیشگیري از کاهش کیفیت نرم افزار به دلیل تغییرات، :(پیشگیرانه •) مهندسی مجدد
راهبردهاي مهندسی مجدد نرم افزار هاي موروثی
این فازها مراحل توصیف شده در دیدگاه کلی ما نسبت به مهندسی نرم افزار فعالیت هاي نمونه . بوسیله یک سري فعالیتهاي پوششی تکمیل می شوند
:در این گروه شامل موارد زیر است کنترل پیگیري پروژه نرم افزاريتضمین کیفی نرم افزارمدیریت طرح نرم افزريآماده سازي اسناد و تولیدمدیریت قابلیت استفاده مجددبازنگري هاي فنی رسمیارزیابیمدیریت خطر
فرآیند نرم افزاربعضی از کارها که هر کدام مجموعه اي از کارهاي مهندسی نرم افزاري،معیارهاي •
پروژه محصول کار و نقاط تضمین کیفیت هستند،باعث می شود که این مجموعه
هاي معین فعالیتی در مشخصه هاي پروژه نرم افزاري بکار گرفته شده و در
.مجموعه تقاضاهاي تیم پروژه نیز باشند
مدل جامعی ارائه داده که روي مجموعه اي از )SEI(موسسه مهندسی نرم افزار •
توانائیهاي مهندسی نرم افزار که باید براي دسترسی سازمانها به سطوح مختلف
.بلوغ فرآیند وجود داشته باشد،پیش بینی می شود
را مشخص می ) CMM(این طرح درجه بندي میزان تطابق با توانایی مدل کامل •
.را تعریف می کند سطوح مختلف فرآیند تکاملکند که فعالیتهاي اصلی الزم در
.اولیه:1ح سط•فرآیند نرم افزاري بصورت موقتی و حتی بعضی اوقات بسیار درهم و برهم توصیف شده
.چند فرآیند تعریف می شود و موفقیت به تالش هاي فردي بستگی دارد.است.قابل تکرار:2سطح •
فرآیندهاي اولیه مدیریت پروژه براي مشخص کردن هزینه،زمان بندي وقابلیت کارایی آن اصل ضروروي فرآیند در جایی است که موفقیتهاي پیش تر پروژه هایی .صورت می گیرند
.کاربردهاي مشابه را تکرار می کند.تعریف شده:3سطح •
فرآیند نرم افزاري براي مدیریت و فعالیت هاي مهندسی در طول یک فرآیند پردازش نرم .افزاري در سازمان ثبت شده،استاندارد و منسجم است
.مدیریت شده:4سطح •.اقدامات دقیق صورت گرفته براي ساخت نرم افزار و کیفیت محصول همگی کنترل می شوند
.بهینه سازي:5سطح •بهبود مکرر فرآیند با توجه به بازخورد کمی فرآیند و از روي آزمون ایده هاي نو آورانه و
.فناوریهاي تازه ،مقدور است
سطوح مختلف فرآیند تکامل
مدلهاي فرآیند نرم افزار
یک تیم از مهندسین نرم افزار در تولید یک راهبرد کمک کنند که در بر گیرنده الیه
.هاي فرآیند روشها و ابزاري است
یک مدل فرآیند براي .اغلب این راهبرد را مدل فرآیند مهندسی نرم افزار می نامند
مهندسی نرم افزار بر اساس ماهیت پروژه و کاربرد آن روشها و ابزار مورد استفاده و
.کنترل ها و موارد قابل ارائه که الزمند انتخاب می شود
تمام کارهاي توسعه وارائه یک نرم افزار را می توان بعنوان یک حلقه حل مشکل
.که در آن چهار مرحله مشخص دیده می شوند )شکل(توصیف کرد تعریف مسلھ
توسعھ تكنیكي
راه جامعیتحل
بیان وضعیت
نشان دهنده وضعیت جاري پروژه است: وضعیت ) 1•
مسئله خاصی که باید حل شود را مشخص : تعریف مسئله) 2•می کند
مسئله را از طریق بکارگیري تکنولوژي : توسعه تکنیکی) 3•.خاصی حل می کند
نتیجه مسئله را به رده هاي باالتر ارائه می : مجتمع سازي) 4•.کند
مدل ترتیب خطی
می نامند "مدل آبشاري"یا "چرخه حیات کالسیک"این مدل را که گاهی
،بیانگر یک نگرش نظام مند و زنجیري نسبت به تولی نرم افزار است که در
پشتیبانی و آزمون، کد نویسی، طراحی، تحلیلسطح سیستم شروع شده و با
. پیشروي می کند نرم افزاري
اطالعات/مهندسی سیستم
تحلیل طراحی برنامه
نویسیآزمون
چون نرم افزار اغلب بخشی از یک سیستم بزرگتر : مهندسی اطالعات•مهندسی .می باشد در ابتدا کار با یک امکان سنجی شروع می شود
می باشد طراحیو تحلیلاطالعات خود شامل دو قسمت
به منظور فهم ماهیت برنامه ها مهندس نرم افزار باید : تحلیل نیازها•محدوده اطالعات نرم افزار را همراه توابع ، رفتار و کارایی تشخیص
.این نیاز ها مستند شده و همراه با مشتري مرور می شود.دهد
طراحی معموال فرایند چند مرحله اي است که بر روي چها : طراحی•رصفت ساختمان داده،معماري،نمایش رابط ها و جزئیات الگوریتم ها و
.رویه ها تمرکز دارد
مشکالت ترتیب خطی
پروژه هاي واقعی به ندرت از جریان زنجیري و متوالی که مدل ارائه میدهد، •گرچه مدل خطی می تواند با تکرار تطابق یابد ،اما آن را به .پیروي می کند
در نتیجه ،با انجام کار توسط اعضاي پروژه . طور غیر مستقیم انجام می دهد .ممکن است موارد گیج کننده اي رخ دهد
اغلب براي مشتري مشکل است که تمام نیاز هاي خود را به طور مشخص بیان •مدل زنجیري خطی به این امر نیاز داشته و در تطابق عدم قطعیت . کند
.طبیعی که در آغاز بسیاري از پروژه ها وجود دارد ،داراي مشکل است
نسخه کاري برنامه تا اواخر مدت زمان کاري پروژه در .مشتري باید صبور باشد •اگر مشکلی وجود داشته و تا اواخر کار برنامه نویسی که .دسترس نخواهد بود
.برنامه مورد بازبینی قرار می گیرد مشخص نشود ،می تواند فاجعه آمیز باشد
مدل نمونه سازياغلب موارد مشتري اهداف کلی را بیان می کند اما جزئیات ورودي و خروجی را نمی داند
روش نمونه سازي بهترین روش براي حل مشکالتی از قبیل:
نامطمئن بودن مشتري از کارایی الگوریتم، قابلیت تطابق آن با یک سیستم عامل یا شکل
.ارتباط متقابل دستگاه و انسان
ارزیابی شده و از آن براي رفع نیازهاي نرم افزاري ) کاربر(نمونه نخست توسط مشتري
که قرار است تولید شود استفاده می شود وقتی نمونه اولیه طوري تنظیم شد که نیازهاي
مشتري را براورده سازد، عمل تکرار رخ می دهد، در حالیکه در همان زمان تولید کننده
.نرم افزار را قادر میسازد نیاز هاي مشتري را بهتر درك کند
روش ساخت نمونه
ارزیابی مشتری از
مدل نمونھ
مشکالت مدل نمونه سازيمشتري شکل اجرایی نرم افزار را که ارائه خواهد شد را می بیند •
اما اطالع ندارد که این یک نمونه براي رسیدن به یک اجراي صحیح است
طراح اغلب نکاتی را در طراحی نادیده می گیرد تا یک نمونه •اجرایی را به سرعت تهیه کند
براي شروع طراح و مشتري باید بدانند که این فقط یک :نکته •نمونه است و نرم افزار واقعی با کیفیت و پشتیبانی در آینده
نزدیک تولید می شود
(RAD)مدل ساخت سریع برنامه ها
• Rapid Application Development
یا توسعه سریع کاربرد (RAD)
یک مدل فرایند افزایشی تولید نرم افزار است که تنها بر یک سیکل تولید بسیار
کوتاه تاکید می کند. مدل(RAD) یک نسخه تطابق یافته سرعت باال از مدل زنجیري خطی است که در آن توسعه سریع با استفاده از ساختمانی مبتنی
بر اجزاء تشکیل دهنده حاصل می شود اگر موارد مورد نیاز به خوبی شناسایی شده
و دامنه پروژه محدود شود، فرایندین امکان را به تیم می دهد
که سیستم کامل را ظرف مدت بسیار کوتاهی ارائه دهند.
: RADفاز هاي مدلسازي تجاري-1
.جریان اطالعات را در میان کارهاي تجاري مدلسازي می کند
مدلسازي داده اي-2
جریان اطالعاتی که به عنوان بخشی از مرحله مدلسازي تجاري تعریف شده در . مجموعه اي از اهداف داده اي که براي پشتیبانی تجاري الزمند، پاالیش می شود.مشخصه هاي هر هدف شناسایی شده و ارتباط بین این اهداف تعریف می شود
مدلسازي فرآیند-3
اهداف داده اي که در مرحله مدلسازي داده ها تعریف شده اند تغییر می یابند تا به توضیحات عمل .جریان اطالعاتی الزم براي اجراي یک کار تجاري ،دست پیدا کنند
. پردازش براي افزودن، شناسایی، حذف یا بازیابی یک شیء داده اي ارائه می شوند
)تولید برنامه کاربردي(ایجاد کاربرد-4RAD از تکنیک هاي نسل چهارم استفاده می کند
به جاي تولید نرم افزار با استفاده از زبانهاي متعارف برنامه نویسی نسل فرآیند
سوم RADتالش می کند تا از جزء هاي برنامه موجود مجددا
استفاده کرده یا جزء هاي قابل استفاده مجددي را توليدکند
آزمایش و خاتمه-5
براستفاده مجدد تأکید می کند بسیاري از اجزاي RADاز آنجا که فرایند •این کار در زمان کلی آزمون صرفه جویی .برنامه مورد آزمون قرار گرفته اند
.می کند
محدودیتهاي زمانی .در شکل زیر تشریح شده است RADمدل فرآیند •
.است نیازمند یک دامنه قابل اندازه گیري RADاعمال شده بر پروژه
1شماره تیم 2 شماره تیم 3شماره تیم
•
مدل سازی داده ای
مدل سازی فرایند
تولید برنامھ کاربردی
مدل سازی تجاری
مدل سازی
تجاری
مدل سازیداده ای
مدل سازیفرایند
تولید برنامھ کاربردی
مدل سازی تجاری
مدل سازی داده ای
مدل سازی فرایند
تولید برنامھ کاربردی
آزمون وچرخش
آزمون و
چرخش
آزمون وچرخش
RADنقایص مدل هاي پردازش • RADدر مورد پروژه هاي بزرگ اما قابل اندازه گیري، نیازمند منابع انسانی
RADکافی است تا تعداد تیمهاي درست .را تشکیل دهد
• RAD نیازمند تولید کننده و مشتري هایی است که بتوانند فعالیت هاي سریع الزم را براي رسیدن به یک سیستم کامل در یک چارچوب زمانی کوتاه انجام .دهند
• RADهمه نوع برنامه کاربردي براي اگر سیستم به درستی . مناسب نیست RADپیکره بندي نشود، ساختن اجزاي الزم براي اگر . مشکل ساز خواهد بود
عملکرد عالی موضوع اصلی است و قرار است از طریق تنظیم رابط ها با اجزاي RADسیستم تأمین شود روش .ممکن است کارگر نباشد
• RAD .وقتی که خطرات فنی بسیار زیاد است مناسب نخواهد بود
مدل هاي تکاملی فرآیند نرم افزار)افزایشی(مدل فزاینده - 1
مدل فزاینده عناصر مدل زنجیري خطی را با دیدگاه تکرار مدل نخست،ترکیب .می کند
هسته وقتی از یک مدل فزاینده استفاده می شود،اولین بخش رشد اغلب، یعنی نیازهاي اولیه مورد توجه قرار می گیرند اما . استمحصول اصلی
هسته محصول بوسیله . بسیاري از مشخصه هاي تکمیلی ارائه نمی گردند.مشتري مورد استفاده قرار می گیرد
این طرح اصالح هسته محصول را مورد توجه قرار می دهد تا بهتر نیازهاي مشتري را برآورده نموده و ارائه مشخصه ها و قابلیت هاي کاري اضافی مورد
این فرآیند بدنبال تحویل هر بخش تکرار می . نظر مشتري را نیز بهتر سازد.شود تا وقتی که محصول کامل تولید شود
1افزایش
افزایش نخستین تحویل•
2 افزایش افزایش دومین تحویل•
3 افزایش افزایش سومین تحویل•
4 افزایش
افزایش چهارمین تحویل•
افزایشی مدل •
مهندسی سیستم اطالعات
تحلیل طراحی برنامه آزمون
تحلیل طراحی برنامه آزمون
تحلیل طراحی برنامه آزمون
تحلیل طراحی برنامه آزمون
)ادامه(فزاینده فرایند مدل
تحویل روي بر تکاملی مدل سازي، نمونه مدل خالف بر از بخشی اولیه هاي افزایش.دارد تاکید افزایش هر در محصول
.کنند می فراهم را نهایی محصول نیاز
کم کامل سازي پیاده مهلت که است مفید زمانی افزایشی مدل زمان در و کمتر افراد با را اولیه هاي افزایش توان می لذا.باشد.داد توسعه را ها افزایش آینده در سپس و کرده ایجاد کمتر
نیز تکنیکی هاي ریسک کنترل و ریزي برنامه براي مدل این.است مناسب
)حلزونی(مدل مارپیچی-2
پیشنهاد شد یک مدل فرآیند نرم ) Boehm(مدل حلزونی که در اصل توسط بوهم•افزار تکاملی است که ماهیت تکراري نمونه اولیه را با جنبه هاي نظام مند و کنترل شده
.مدل زنجیري خطی ارتباط می دهد
در .با استفاده از مدل حلزونی نرم افزار در یک سري نسخه هاي فزاینده تولید می شود•طول تکرارهاي اولیه ممکن است نسخه اولیه یک مدل روي کاغذ یا تنها الگوي اولیه
در طول تکرارهاي بعدي نسخه هاي نسبتا کاملتري از سیستم مهندسی شده و .باشد.تولید می شود
مدل حلزونی از نظر فعالیتی به چند قسمت تقسیم می شود که به آنها مناطق کاري نیز •.منطقه وجود دارد 6و3معموال بین .می گویند
مدل حلزونی•
پروژه ھای نگھداری محصوالت
پروژه ھای توسعھ محصول جدید
پروژه ھای بھینھ ساازی محصوالت
پروژه ھای توسعھ مفھوم
ساخت و نصب و
تحویل
ارزیابی مشتری
ارتباط با مشتری
نقطھ محوریشروع پروژه
طرح ریزی
تحلیل ریسک
مھندسی
شش منطقه کاري
.کارهاي الزم براي ایجاد ارتباط مؤثر بین تولید کننده و مشتري -ارتباطات مشتري
کارهاي الزم براي تعریف منابع، محدوده هاي زمانی و دیگر اطالعات -برنامه ریزي•
.مربوط به پروژه
.کارهاي الزم براي ارزیابی فنی و خطرات مدیریتی -تحلیل ریسک•
.کارهاي الزم براي ساخت یک یا چند نمونه از برنامه کاربردي -مهندسی و طراحی•
کارهاي الزم براي ساخت،آزمون،نصب و تهیه پشتیبانی براي -ساخت و ارائه•
) مثل مستند سازي و آموزش(کاربر
کارهاي الزم براي بدست آوردن واکنش مشتري بر اساس ارزیابی -ارزیابی مشتري•
نمونه هاي نرم افزاري تولید شده در طول مرحله مهندسی و اجرا شده در طول مرحله
. نصب و راه اندازي
)ادامه(شش منطقه کاري
، حرکت عقربه هاي ساعتبا شروع فرایند تکمیلی،تیم مهندسی نرم افزار در جهت حرکت اولین مدار حول مارپیچ ممکن .در مارپیچ را آغاز می کند و این کاراز مرکز شروع می شود
. است منجر به تولید مشخصه محصول شود
با عبور از هر مرحله منطقه برنامه ریزي،کارهاي تطابقی با طرح پروژه صورت می عالوه بر آن .هزینه و زمانبندي بر اساس بازخورد ارزیابی مشتري،تنظیم می گردند.گیرد
مدل .مدیر پروژه تعداد تکرارهاي تنظیم شده الزم براي تکمیل نرم افزار را تعیین می کندحلزونی می تواند کارهاي انطباقی را صورت دهد تا در تمام طول حیات نرم افزار .کامپیوتري به کار گرفته شود
در مدل حلزونی هر مکعبی که در طول محور قرار داده شده است را می توان به عنوان .نماینده نقطه شروع براي انواع پرژه هاي مختلف در نظر گرفت
تکمیل تدریج در طول فرایندچون نرم افزار به .مدل مارپیچی یک روش انعطاف پذیر است.آشنا می شوند ریسک هاي پروژهمی شود،توسعه دهنده و مشتري در هر سطح بیشتر با
WINWINمدل مارپیچی-3
مدل حلزونی بیانگر چارچوب فعالیتی است که ارتباطات مشتري را مورد توجه هدف از این فعالیت عبارتست از بیرون کشیدن اطالعات در مورد .قرار می دهد
.نیازهاي پروژه از مشتري در یک بستر مناسب است
مشتري و تولید کننده وارد فرایند مذاکره می شوند که در آن ممکن است از مشتري قابلیت کارایی،عملکرد و سایر مشخصه هاي سیستم یا محصول در
.برابر هزینه و بازار در همان موقع سؤال شود
.به ندرت اتفاق می افتد که مشتري جزئیات کافی را در اختیار قرار دهد
دارد یعنی مشتري با دریافت یک سیستم خوب WinWinبهترین مذاکره نتیجه .می شوند هر دو برندهو طراح با دستیابی به هزینه و زمانبندي مناسب
)ادامه(WINWIN مارپیچی مدل
فعالیت ،کلیه مشتري با ارتباط مرحله یک بجاي حلزونی مدل در :شوند می تعریف زیر هاي
یا سیستم به مربوط مسئول کلیدي افراد نمودن مشخص - 1زیرسیستم
براي را محصول قبول قابل شرایط که افرادي کردن مشخص - 2نمایند مشخص مشتري
WinWin شرایط تعریف براي آن نمایندگان یا مشتري با مذاکره- 3ها بخش تمامی براي
WINWINمدل حلزونی
تعریف سطح بعد محصول و فرایند -5
مشتمل بر بخشھا وقطعات
اعتبار سنجی محصول -6
و تعریفات فرایند
مشخص نمودن افراد -1سطح بعدي
مشخص نمودن -2افراد شرایط Winwin
WinWinپنھان سازي شرایط -الف-3
ب ایجاد اھداف سطح بعدي محدویت -3ھا و راه ھاي دیگر
ارزیابي فرایند و راه ھاي -4جایگزین محصول و بررسي
كیفیت ھا
مرور و توضیحات -7
WINWIN مدل حلزونی )(ادامه عالوه بر تأکید روي مذاکرات اولیه،مدل حلزونی winwin نیز فرایند پردازشسه معیار
نامیده می شوند و به تکمیل یک چرخه حول مارپیچ کمک نکات اطمینانمعرفی می کند که .نموده و معیارهاي تصمیم گیري را قبل از انجام پروژه نرم افزاري مهیا می کنند
نکات اطمینان نمایانگر سه دیدگاه مختلف از پیشرفت در زمانی هستند که پروژه مارپیچ را طی .می کند
می گویند اهداف چرخه حیاتاولین نکته اطمینان که به آن life cycle objective )LCO مجموعه اي از )اهداف را براي هر فعالیت عمده مهندسی نرم افزار بیان می کند مثالً بعنوان بخشی از LCO .،مجموعه اهداف مرتبط با تعریف نیازهاي سطوح ارشد سیستم یا محصول است
نام معماري چرخه حیات دومین نکته اطمینان گاه به life cycle architecture ) LCA اهدافی را ارائه می ) LCAدهد که باید با تعریف شدن معماري سیستم و نرم افزار بدست آیند ،مثالً بعنوان بخشی از تیم پروژه نرم افزاري باید توضیح دهد که قابلیت کارایی اجزاي نرم افزاري قابل استفاده مجدد و .موجود در بازار را برآورده کرده و اثر آنها را روي تصمیمات ساختاري در نظر گرفته استInitial operational capabilityقابلیت عملیلتی اولیه ) IOC سومین نکته اطمینان است و نمایانگرمجموعه )
توزیع، آماده سازي سایت قبل از کارهاي نصب /اهداف مربوط به آماده سازي نرم افزار براي نصبو راه اندازي و کمک مورد نیاز از طرف همه طرفهایی است که از نرم افزار استفاده یا آن را
. پشتیبانی می کنند
مدل شیوه هاي رسمی
مدلی که بر پایه شیوه هاي رسمی بدست می آید دربرگیرنده یک سري فعالیت هایی است روش .که منجر به تعیین رسمی مشخصه هاي نرم افزار کامپیوتر با روابط ریاضی می شود
هاي رسمی مهندسی نرم افزار را قادرمی سازند که یک سیستم مبتنی بر کامپیوتر را با بکارگیري عبارات ریاضی بسیار دقیق مشخص توسعه داده و تغییر
با اینکه مدل روش هاي رسمی بصورت یک روش حتمی و رایج در نیامده اما یک نرم افزار با این وجود مسئله توانایی آن در محیط تجاري مورد .بدون مشکل را تضمین می کند
:بحث قرار دارد
.توسعه روش هاي رسمی در حال حاضر کامالً وقت گیر و گران است-1
از آنجا که تولید کنندگان کمی در مورد نرم افزار داراي پیش زمینه کافی براي استفاده -2 .از روش هاي رسمی هستند یک دوره آموزش پر هزینه الزم است
استفاده از مدل ها بعنوان یک مکانیزم ارتباطی براي مشتریان غیر کارکشته از نظر فنی -3 . مشکل است
فنون نسل چهارمدر بر گیرنده طیف گسترده اي از ابزارهاي نرم افزاري )4GT(اصطالح فنون نسل چهارم
:است که داراي یک چیز مشترك هستندهر کدام به مهندس نرم افزار این قدرت را می دهند که یک مشخصه نرم افزاري را در
سپس ابزار به طور خودکار منبع را بر اساس مشخصه هاي .سطح باالیی مشخص سازد.تولید کننده تولید می نماید
را مورد پشتبانی قرار 4GTیک محیط تولید نرم افزار که معیار :می دهد شامل چند یا کل ابزار زیر است
زبانهاي غیر رویه اي براي تحقیقات در پایگاه داده اي،ارائه گزارش،دستکاري و تغییر داده ها،تعریف و ارتباط متقابل صفحه اي،ارائه کد،توانایی گرافیکی سطح باال،توانایی
و زبانهاي مشابه استفاده شده براي ایجاد HTMLصفحه گسترده و تولید خودکار .سایت وب با استفاده از ابزارهاي پیشرفته نرم افزاري
)ادامه(فنون نسل چهارم
:را به صورت زیر خالصه کرد 4GTمی توان وضعیت کنونی روش هاي
روش بسیار ارزشمندي براي بسیاري از حوزه هاي مختلف در برنامه 4GTاستفاده از روش-1
و )CASE(همراه با ابزارهاي مهندسی نرم افزار با کمک کامپیوتر 4GT.هاي کاربردي است
.مولدهاي کد،یک راه حل خوب براي بسیاري از مشکالت نرم افزاري ارائه می دهد
استفاده می کنند نشانگر این است که 4GTاطالعات جمع آوري شده از شرکتهایی که از-2
زمان الزم براي تولید نرم افزار براي بر نامه هاي کاربردي کوچک و متوسط تقریباً کاهش
.یافته و میزان طرح و تحلیل براي برنامه هاي کوچک نیز کم شده است
براي کارهاي تولید نرم افزار در مقیاس بزرگ نیازمند تحلیل،طراحی و 4GTاستفاده از-3
.آزمون بیشتري براي صرفه جویی در زمان ، به دلیل حذف کد نویسی است
فناوري فرآیند
مدل هاي فرآیند مورد بحث در بخشهاي قبلی باید تحت انطباقی براي این .قرار بگیرند تا در یک پروژه نرم افزاري استفاده شوند
کار ابزارهاي فناوري فرآیند تولید شده اند تا به سازمانهاي نرم افزاري کمک کنند فرآیند پردازش
کنونی خود را تحلیل کرده،کارهاي مختلف را سازماندهی کنند،میزان پیشرفت را کنترل و مشاهده نمایند و کیفیت فنی
.را سازمان دهند