چکیده
چه چیز میتواند یک پروسه تولید نرمافزار را توصیف کند؟ آیا منظور از پروسه، آمادهسازی نرمافزار صرفاً برای ارائه در بازار است؟ مسلماً در هر کاری وجود یک سامانه و فرایند کاری ضروری است؛ ولی چه چیزی میتواند موجب ایجاد سرعت و کیفیت در فرایند تولید یک نرمافزارشود؟ لزوماً طراحی و پیادهسازی یک فرایند یکپارچه و منطقی میتواند چنین نتیجهای در بر داشته باشد.
فرایند انجام یک پروژه تعریف میکند که چه کسی، چه کاری را در چه هنگام و چگونه برای رسیدن به هدف (انجام پروژه) انجام میدهد.
در مهندسی نرمافزار، هدف ساختن یک محصول نرمافزاری و یا بهبود یک نمونهی موجود است. هدف از تعیین فرایند، تضمین کیفیت نرمافزار، برآورده شدن نیازهای کاربر و قابل تخمین بودن زمان و هزینهی تولید میباشد. علاوه بر این، تعیین فرایند، روندی جهت تحویل مصنوعات دوران تولید نرمافزار به کارفرما و ناظر پروژه ارائه میدهد تا از این طریق اطمینان حاصل کنند که پروژه روند منطقی خود را طی میکند و نظارت درست بر انجام پروژه ممکن است و از سوی دیگر، معیاری برای ارزیابی پروژه انجام شده میباشد. تا کنون متدولوژیهای مختلفی برای فرآیند تولید نرمافزار ارائه شدهاند که یکی از مشهورترین آنها RUP است.
بدین منظور امروزه از متدولوژی RUP استفاده می کنند. RUP مخفف عبارت( Rational Unified Process) چارچوبی کلی است برای تشریح فرآیند ساخت نرمافزار. پس از آنکه تیم سه نفرهی شرکت Rational ساخت UML را (به عنوان یک شیوهی نمایش notation/یکتا برای تشریح مدل شیء) به آخر رساند، تلاش خود را متوجه فرآیند تولید نرمافزار نمود.
اساس RUP بر تکرار (iteration) است و اساس تکرار این است که هر تکرار به یک محصول قابل اجرا ختم شود. هر تکرار شامل هر هفت مرحله چرخهی حیات در مدل سنتی آبشاری است، یعنی: مدلسازی تجاری، تخمین نیازها، تحلیل و طراحی، پیاده سازی، تست، نگهداری و توسعه.
به حداقل رساندن حجم پروسه تولید یک نرمافزار همزمان با حفظ کیفیت و صرفهجویی در زمان از مهمترین ویژگیهای این روش میباشند. معمولاً برای یک شرکت تولید نرمافزار، سرعت عمل به موقع برای پاسخگویی به تقاضا و شرایط اجتماعی اهمیت دارد، اما گاهی این شتابزدگی سبب فدا شدن کیفیت میگردد.
RUP با ارائه یک چارچوب منطقی علاوه بر تعیین زمانبندی مناسب، کیفیت مورد نظر تولید کننده و استفاده کننده نرمافزار را تأمین مینماید. در این تحقیق ضمن مروری بر RUP به عنوان روش یکپارچه تولید نرمافزار، قابلیتهای آن در افزایش سرعت تولید نرمافزار و حفظ کیفیت آن برشمرده میشوند.
چکیده 1
مقدمه 3
RUP چیست؟ 5
فازهای RUP 8
اهداف فاز آغاز 9
خروجی های فاز آغاز 9
فاز جزئیات یا تحلیل پیچیدگی 10
بررسی ریسک ها 10
ریسک های تکنولوژی 11
ریسک های منابع انسانی 12
ریسک های سیاسی 12
اهداف فاز جزئیات 13
خروجی های فاز جزئیات 14
فاز ساخت 15
اهداف فاز ساخت 16
خروجی های فاز ساخت 17
فاز انتقال17
اهداف فاز انتقال 18
خصوصیات RUP 20
مهمترین مزایای RUP 21
دیدگاه اولیه درباره RUP 21
دیسیپلین های RUP 24
انعطاف پذیری RUP و انطباق با آن 30
نتیجه گیری 32
مراجع 33
پی نوشت ها
شامل 56 صفحه فایل word
دانلود پاور پوینت مدیریت پروژه در RUP با فرمت ppt و قابل ویرایش تعداد اسلاید 62
دانلود پاور پوینت آماده
مقدمه
مهمترین دیسیپلین در RUP و هر متدلوژی دیگری، دیسیپلین مدیریت پروژه است. در نهایت مدیر پروژه مسئول موفقیت پروژه است. مدیریت پروژه های نرم افزاری، هنر متوازن ساختن اهداف متضاد، مدیریت ریسک و غلبه بر محدودیتهای تحویل موفقیت آمیز محصولی است که هم نیازهای مشتریان (کسانیکه برای سیستم پول می پردازند) و هم نیازهای کاربران را برآورده کند. این حقیقت که پروژه های بسیار کمی واقعاً موفقیت آمیزند، برای توضیح سخت بودن موضوع کفایت می کند.
فهرست
این فایل بسیار کامل و جامع طراحی شده و جهت ارائه در سمینار و کنفرانس بسیار مناسب است و با قیمتی بسیار اندک در اختیار شما دانشجویان عزیز قرار می گیرد
فرمت فایل : word(قابل ویرایش)
تعداد صفحات:18
فهرست مطالب:
مروری بر RUP و قابلیتهای آن در تولید نرمافزار. ۲
چکیده ۲
۱- مقدمه. ۳
۲- RUP چیست؟. ۴
۳- خصوصیات RUP چیست؟. ۷
۴- دیدگاه اولیه درباره RUP. 8
5- انعطافپذیری RUP و انطباق با آن. ۱۲
۶- نتیجه گیری.. ۱۵
مراجع. ۱۵
پینوشتها ۱۷
چکیده
چه چیز میتواند یک پروسه تولید نرمافزار را توصیف کند؟ آیا منظور از پروسه، آمادهسازی نرمافزار صرفاً برای ارائه در بازار است؟ مسلماً در هر کاری وجود یک سامانه و فرایند کاری ضروری است؛ ولی چه چیزی میتواند موجب ایجاد سرعت و کیفیت در فرایند تولید یک نرمافزارشود؟ لزوماً طراحی و پیادهسازی یک فرایند یکپارچه و منطقی میتواند چنین نتیجهای در بر داشته باشد. بدین منظور امروزه از روشی استفاده میشود که اصطلاحاً RUP نامیده میشود. به حداقل رساندن حجم پروسه تولید یک نرمافزار همزمان با حفظ کیفیت و صرفهجویی در زمان از مهمترین ویژگیهای این روش میباشند. معمولاً برای یک شرکت تولید نرمافزار، سرعت عمل به موقع برای پاسخگویی به تقاضا و شرایط اجتماعی اهمیت دارد، اما گاهی این شتابزدگی سبب فدا شدن کیفیت میگردد. RUP با ارائه یک چارچوب منطقی علاوه بر تعیین زمانبندی مناسب، کیفیت مورد نظر تولید کننده و استفاده کننده نرمافزار را تأمین مینماید. در این مقاله ضمن مروری بر RUP به عنوان روش یکپارچه تولید نرمافزار، قابلیتهای آن در افزایش سرعت تولید نرمافزار و حفظ کیفیت آن برشمرده میشوند.
کلیدواژه : RUP؛ UML؛ فرایند یکپارچه رشنال؛ Rational Unified Process؛ Unified Modeling Language
________________________________________
1- مقدمه
یک پروسه چابک، پروسهای است که همیشه آماده در آغوش کشیدن درخواستهای جامعه بوده و این درجه از سازگاری را دارا باشد. بنابراین منظور از سرعت عمل، فقط کاستن از حجم پروسه تولید نرمافزار یا سرعت ارائه آن به بازار نیست؛ بلکه منظور، انعطافپذیری و حفظ کیفیت است. مطلبی که در این مقاله قصد توضیح آن را داریم این است که RUP 1 ساختاری پروسهای (چیو 2000) است که امکان انعطافپذیری را برای تولیدکنندگان نرمافزار فراهم میآورد.
منظور از RUP چیست؟ در این مقاله از چند منظر به RUP خواهیم پرداخت:
RUP یک پروسه تولید نرمافزار است.
فرمت فایل : word(قابل ویرایش)
تعداد صفحات:34
فهرست مطالب:
چکیده ........................................................................................................ 1
مقدمه .........................................................................................................3
RUP چیست؟ ..............................................................................................5
فازهای RUP ...............................................................................................8
اهداف فاز آغاز ...............................................................................................9
خروجی های فاز آغاز .......................................................................................9
فاز جزئیات یا تحلیل پیچیدگی ...............................................................................10
بررسی ریسک ها ..............................................................................................10
ریسک های تکنولوژی .........................................................................................11
ریسک های منابع انسانی ......................................................................................12
ریسک های سیاسی .............................................................................................12
اهداف فاز جزئیات ...........................................................................................13
خروجی های فاز جزئیات ...................................................................................14
فاز ساخت .......................................................................................................15
اهداف فاز ساخت ..............................................................................................16
خروجی های فاز ساخت ......................................................................................17
فاز انتقال........................................................................................................17
اهداف فاز انتقال ............................................................................................18
خصوصیات RUP ........................................................................................20
مهمترین مزایای RUP .................................................................................21
دیدگاه اولیه درباره RUP ................................................................................ 21
دیسیپلین های RUP ...................................................................................... 24
انعطاف پذیری RUP و انطباق با آن ..................................................................30
نتیجه گیری .................................................................................................32
مراجع .........................................................................................................33
پی نوشت ها ............................................................................................ 34
چکیده:
چه چیز میتواند یک پروسه تولید نرمافزار را توصیف کند؟ آیا منظور از پروسه، آمادهسازی نرمافزار صرفاً برای ارائه در بازار است؟ مسلماً در هر کاری وجود یک سامانه و فرایند کاری ضروری است؛ ولی چه چیزی میتواند موجب ایجاد سرعت و کیفیت در فرایند تولید یک نرمافزارشود؟ لزوماً طراحی و پیادهسازی یک فرایند یکپارچه و منطقی میتواند چنین نتیجهای در بر داشته باشد.
فرایند انجام یک پروژه تعریف میکند که چه کسی، چه کاری را در چه هنگام و چگونه برای رسیدن به هدف (انجام پروژه) انجام میدهد.
در مهندسی نرمافزار، هدف ساختن یک محصول نرمافزاری و یا بهبود یک نمونهی موجود است. هدف از تعیین فرایند، تضمین کیفیت نرمافزار، برآورده شدن نیازهای کاربر و قابل تخمین بودن زمان و هزینهی تولید میباشد. علاوه بر این، تعیین فرایند، روندی جهت تحویل مصنوعات دوران تولید نرمافزار به کارفرما و ناظر پروژه ارائه میدهد تا از این طریق اطمینان حاصل کنند که پروژه روند منطقی خود را طی میکند و نظارت درست بر انجام پروژه ممکن است و از سوی دیگر، معیاری برای ارزیابی پروژه انجام شده میباشد. تا کنون متدولوژیهای مختلفی برای فرآیند تولید نرمافزار ارائه شدهاند که یکی از مشهورترین آنها RUP است.
بدین منظور امروزه از متدولوژی RUP استفاده می کنند. RUP مخفف عبارت( Rational Unified Process) چارچوبی کلی است برای تشریح فرآیند ساخت نرمافزار. پس از آنکه تیم سه نفرهی شرکت Rational ساخت UML را (به عنوان یک شیوهی نمایش notation/یکتا برای تشریح مدل شیء) به آخر رساند، تلاش خود را متوجه فرآیند تولید نرمافزار نمود.
اساس RUP بر تکرار (iteration) است و اساس تکرار این است که هر تکرار به یک محصول قابل اجرا ختم شود. هر تکرار شامل هر هفت مرحله چرخهی حیات در مدل سنتی آبشاری است، یعنی: مدلسازی تجاری، تخمین نیازها، تحلیل و طراحی، پیاده سازی، تست، نگهداری و توسعه.
به حداقل رساندن حجم پروسه تولید یک نرمافزار همزمان با حفظ کیفیت و صرفهجویی در زمان از مهمترین ویژگیهای این روش میباشند. معمولاً برای یک شرکت تولید نرمافزار، سرعت عمل به موقع برای پاسخگویی به تقاضا و شرایط اجتماعی اهمیت دارد، اما گاهی این شتابزدگی سبب فدا شدن کیفیت میگردد.
RUP با ارائه یک چارچوب منطقی علاوه بر تعیین زمانبندی مناسب، کیفیت مورد نظر تولید کننده و استفاده کننده نرمافزار را تأمین مینماید. در این تحقیق ضمن مروری بر RUP به عنوان روش یکپارچه تولید نرمافزار، قابلیتهای آن در افزایش سرعت تولید نرمافزار و حفظ کیفیت آن برشمرده میشوند.
مقدمه
یک پروسه چابک، پروسهای است که همیشه آماده در آغوش کشیدن درخواستهای جامعه بوده و این درجه از سازگاری را دارا باشد.
بنابراین منظور از سرعت عمل، فقط کاستن از حجم پروسه تولید نرمافزار یا سرعت ارائه آن به بازار نیست؛ بلکه منظور، انعطافپذیری و حفظ کیفیت است. مطلبی که در این مقاله قصد توضیح آن را داریم این است که RUP ساختاری پروسهای (چیو 2000) است که امکان انعطافپذیری را برای تولیدکنندگان نرمافزار فراهم میآورد.
RUP متدولوژی ارائه شده توسط شرکت Rational، پرکاربردترین فرآیند تولید و توسعه نرم افزاری در دنیای کنونی است و به عنوان یک استاندارد صنعتی بالفعل در دنیای IT پذیرفته شده است. به گزارش رویتر در سال 2001 میلادی بیش از ششصد هزار شرکت تولید کننده نرم افزار، از ابزارهای شرکت Rational استفاده می کردهاند که این تعداد کماکان هم در حال افزایش است. این متدولوژی، برای انواع پروژههای نرمافزاری در دامنههای مختلف ( مانند سیستمهای اطلاعاتی، سیستمهای صنعتی، سیستمهای بلادرنگ، سیستمهای تعبیه شده، ارتباطات راه دور، سیستمهای نظامی و ...) و در اندازههای متفاوت، از پروژههای بسیار کوچک (یک نفر در یک هفته) تا پروژههای بسیار بزرگ (چند صد نفر تولید کننده با پراکندگی جغرافیایی)، کاربرد دارد.
مزیت بزرگ این متدولوژی، استفاده از روش تکرار در تولید و مدیریت تولید نرمافزار است که این امر، امکان تولید مبتنی بر کاهش ریسک و مواجه با مشکلات اصلی در ابتدای کار و در نتیجه احتمال موفقیت بیشتر را فراهم میکند. از محاسن دیگر این متدولوژی مبنا قرار دادن نرمافزار و تولید یک معماری پایدار در ابتدای کار است، که در نتیجه امکان کشف مشکلات عمده ساختاری، تست و مجتمع سازی ممتد را از ابتدای کار فراهم میکند.
از دیگر مزایای این روش این است که افراد تیم همزمان با پیشرفت پروژه، مطالب جدیدی فرا میگیرند و کیفیت فرآیند تولید نیز به طور مرتب افزایش مییابد.
منظور از RUP چیست؟ در این تحقیق از چند منظر به RUP خواهیم پرداخت:
RUP یک پروسه تولید نرمافزار است.
RUP مجموعهای از تجربیات بسیار عالی تولید نرمافزار را که در عمل با آنها برخورد شده است، در خود دارد.
RUP همانند یک محصول نرمافزاری به بازار ارائه شده و به فروش میرسد با این تفاوت که RUP اولین ساختار تولید نرمافزار را ارائه داده و گام نخست را در این زمینه برداشته است.
امید داریم که این تحقیق مورد قبول مخاطبانش قرار گیرد.
فرمت فایل : word(قابل ویرایش)
تعداد صفحات:40
چکیده:
وجود تکنیک هایی جهت پیاده سازی متدولوژی که قابلیت کنترل پیچیدگی های سیستم را داشته باشد نیز مورد دیگری است که از یک متدولوژی توسعه انتظار می رود. RUP این تکنیک ها را در قالبworkflow که برای هر تنظم(discipline ) ارائه میدهد، لحاظ کرده است. هرworkflow شامل یکسری work flow detalie می باشد که در حقیقت یک گروه activity ها و role های انجام دهنده آنها و فرآورده های حاصل از هر activity می باشد.
معیار های ارزیای نتایج بکارگیری متدولوژی RUP در قالب فرسنگ شمارهای(mile stone ) دیده شده که در پایان هر فاز و هر تکرار( Iteration ) به فرآورده های حاصل اعمال می شوند تا میزان تطابق این فرآورده ها را با نتایج مطلوب ارزیابی کند.
RUPیکسری ابزارهای اتوماتیک جهت تولید و استخراج مدلها در اختیار طراحان قرار می دهد از قبیل:
Rational Robot ,Rational SODA, Rational Rose, Rational XDE, Rational RUP
RUPامکام رسیدن CMM سطح CMM,2(Repeatable) سطح (Defined)3 را دارد.
انطباق خصوصیات CMM سطح 2 با مدل RUP :
KPA1 – Requorment , Nanaaement بمنظور انجام مدیریت نیازمندیها باید رابطه ای بین طرح سیستم و مشتریان صورت گیرد و همچینن در نظم Configuration ، Management مدیریت تغییر نیازمندیها صورت می گیرد یکی ا زموارد مفید RUP در تأمین این KPA موارد کاربردی هستند. فرآورده های RUP که نیازها را جمع آوری می کنند عبارتند از:
1- مدل های موارد کاربردی( Use case model ) ها که شامل موارد کاربردی و بسته های(Package ) های تشکیل شده از آنها هستند.
2- مشخصات مکمل غیرکاربردی(Non0 functional, Supplementary Specification )
3- مطالعات مربوط به موارد کاربردی(Use Case Model survey )
4- گزارشات مربوط به موارد کاربردی(Use case Report )
5- glossary :
که این فرآورده ها و مواد کاربری از داخل فرآورده های زیر قابل استخراج هستند.
1- lteration plan
2- Integration Build plan
3- Project plan
4- Soft wore plan development
Soft ware project planning KPA2
مقصود ایجاد یک طرح معقول جهت انجام اعمال مهندسی نرم افزار و مدیریت پروژه می باشد.
بدون یک طرح تحقیق پذیر عملاً مدیریت پروژه کارآیی قابل پیاده سازی نمی باشد.
این اهداف نیازمند ایجاد یکسری تخمینها مستندسازی شده جهت استفاده از برنامه ریزی(planning ) و ردیابی جریان پیشرفت پروژه که این تخمینها توسط معیارها(metric ) های زیر در RUP قابل محاسبه هستند.
همچنین می توان طرح کلی پروژه را از مستندات زیر در RUP بدست آورد:
منظور ایجاد تصویر کافی از روند پیشرفت پروژه است تا مدیر پروژه با توجه به آن بتواد تصمیماتی اساسی را در هنگامی که پروژه از مسیر خود منحرف می شود ا تخاذ نماید تا پروژه را به مسیر حقیقی اش بازگرداند.
برای دستیابی به این KPA می توان از milestone ها در RUP استفاده کرد. در پایان هر فاز یا تکرار با توجه به این فرسنگ شمارها می توان متوجه شد که تا چه حد پروژه در راستای اهداف تعریف شده اش پیشرفته است. درصورت مشاهده انحرافات اساسی می توان با استفاده از Chang request های موجود در RUP تقاضای تغییرات لازم جهت حصول نتایج دلخواه را داد.
Software subcontract Management – KPA4 :
منظور انتخاب پیمانکاران تأئید شده و دارای صلاحیت لازم جهت انجام بخشهای مختلف پروژه است. این KPA ورای حیطه کاری RUP است.
Software Quality Assurance KPA5 :
مقصود تأمین یک نوع مدیریت کیفی بر روی فرآیندی که برای انجام پروژه استفاده شده و محصولات تولیدشده می باشد.
که این عمل توسط فعالیت quality Assurance در RUP مشخص می شود.
موارد دیگری که در RUP جهت تأمین کیفیت فرآیند تولید توسعه می توان از آنها استفاده کرد miles stone ها هستند.
همچنین از معیارهای(metric ) های بیان شده در KPA2 نیز می توان استفاده کرد.
Software Configuration –KPA6 management :
مقصود حفظ یکپارچگی و نگهداری پروژه د رطول دوره فرآیند توسعه می باشد که شامل مدیریت تغییر نیازمندیها و مدیریت نسخه های مختلف در طول جریان توسعه و ...... می باشد این KPA در RUP توسط نظم Configuration & change management قابل تأمین می باشد.
انطباق خصوصیات سطح 3 با مدل RUP :
Organization KPA1 : مقصود از ایجاد یک مسئولیت سازمانی برای هر فعالیت(activity ) موجود در پروسه process focus توسعه نرم افزار است. در حقیقت با این کار سعی می شود تا جای ممکن پروسه نرم افزار با ساختار سازمان نظیر شود.همانطور که می دانیم می توانیم برشهای(tailor ) متفاوتی ازز RUP را جهت فرآیند توسعه نرم افزاری انتخاب می کنیم که این کار را با استفاده از نظم environment انجام میدهیم.
Organization process: KPA2 Definition :مقصود تعریف سازمان در قالب پروسه نرم افزار است که این امر باعث استخراج یکسری ارزشهای(asset ) برای پروسه نرم افزار می گردد که کارآیی فرآیند توسعه را بالا می برد و همچنین در هنگام مرحله آموزش نیز بکار می رود اینکار نیز توسط مفهوم tailoring در RUP قابل انجام است.
Training Program KPA3 :
مقصود تربیت افراد به گونه ای است که توانایی انجام نقش های خود را بصورت کارآ و مؤثر داشته باشد. آموزش یک مسئولیت سازمانی است اما در مواردی که نیازهای پروژه مختص به آن پروژه خاص است این وظیفه در راستای پروژه نیز قابل تعریف است. در این راستا خود RUP یک منبع کامل آموزشی است.
-Integrade software Management :KPA4 :
مقصود مجتمع سازی فعالیت های مهندسی و مدیریت نرم افزار بصورت منسجم جهت تعریف یک فرآیند نرم افزاری برش خورده(tailored) برای سازمان است که این امر توسط جریان کاری Environment قابل انجام است.
-software product Engineering : KPA 5 :
مقصود یک فرآیند مهندسی خوش تعریف است که تمام فعالیت های مهندسی نرم افزار گزینش شده را جهت تولید محصولاتی کارا مؤثر، صحیح و پایدار مجتمع کند. این کار توسط RUP بصورت اتوماتیک صورت گرفته و تعریفی که از نقشها و فعالیت ها و فرآورده ها در هر فاز و نظم صورت گرفته و ارتباطات بین آنها ین KPA کاملاً تأمین نموده است.
Intergroup coordination: KPA 6 :
مقصود ایجاد ابزارهایی جهت تعامل گروههای مختلف مؤثر در تولید نرم افزار است د رحقیقت این ارتباط ها در قالب مفهوم software Integration در RUP تعریف شده است که تنها مفهوم مجتمع سازی زیر سیستمیها را بیان می کند بلکه مفهوم مجتمع سازی گروههای کاری را نیز دربرمی گیرد که بوسیله Configuration and change management تا حد زیادی قابل پیاده سازی است.
Peer Riviews : KPA7 :
مقصود برطرف کردن نقصهای پروژه زود و به صورت کارآ می باشد در RUP این کار به اینصورت، صورت می گیرد که اشخاصی که فرآورده های پروسه را مورد بازنگری انجام می دهند مشخص می کنند که آیا فرآورده ها آماده انتقال به مرحله بعد هستند یا خیر. در صورتی که فرآورده در گذر از این مرحله شکست بخورد تغییرات موردنظر توسط change request ها برطرف می شود.
RUP یک متدولوژی قابل انطباق است بگونه ای که می توان کلاض آنرا برای پیاده سازی یک سیستم خاص برش داد. (tailor ) معماری RUP بگونه ای طراحی شده تا هم قابلیت طراحی سیستم های در مقیاس بزرگ(large Scale ) را داشته باشد و هم طراحی سیستم کوچک و سریع در سالهای اخیر یک دسته متدولوژی های معروف به متدولوژیهای چابک(agile ) جهت طراحی سیستم های کوچکتر پدید آمده اند. که از جمله آنها می توان از (XP) extream Programming ،SCRUM ،Feature-Driven(Development) (FDD ) ، Crystal Clear Methodology نام برد.