19 سال پیش
در تاریخ:
چهارشنبه, اسفند 17, 1384 2:47
چکیده :
Rational Unified Process نام کاملترین فرآیند توسعه نرم افزار می باشد که از ترکیب چند فرآیند ومتد دیگر ایجاد شده و به اختصار به آن RUP گفته می شود. این فرآیند بستر مناسبی برای توسعه مکانیزمهای مدیریتی در اختیار کسب و کارها قرار می دهد. با توسعه آن نسبت به نظام بهره مندی از تجربیات دیگر افراد و سازمانها ، فرآیند ISRUP بستری مناسب برای بهبود مستمر کسب و کارها ایجاد می کند.
برای تحلیل طراحی و پیادهسازی سیستم مورد نظر از متدولوژی RUP استفاده میشود. RUP یک فرآیند مهندسی نرمافزار است. این فرآیند یک روش نظاممند برای تخصیص کارها و مسئولیتها در یک تیم توسعه نرمافزار میباشد و هدف آن تولید نرمافزار با کیفیت بالاست که نیازهای کاربران نهایی را توسط یک برنامه و با بودجه قابل پیشبینی تأمین نماید. RUP یک فرآیند محصول ( Process Product ) است که توسط شرکت Rational، تهیه و پشتیبان شده است. تیم تولید RUP به منظور کسب آخرین تجارب و تکاملهای روز از نزدیک با مشتریان و شرکاء کار میکنند. فرآیند RUP بهرهوری تیم را با فراهم نمودن دسترسی تمام افراد تیم به یک پایگاه دانش سهلالوصول به همراه راهنماها، الگوها و ابزارهای کمکی برای همه فعالیتهای بحرانی توسعه، افزایش میدهد. با تأمین دسترسی همه اعضای تیم به یک پایگاه دانش، افراد در هر قسمت از یک زبان، فرآیند و دید مشترک برای توسعه نرمافزار برخوردار هستند. درفعالیتهای RUP، بجای تمرکز بر روی تولید مستندات بزرگ کاغذی، مدلهایی تولید میشوند که بخوبی سیستم در حال توسعه را ارائه مینمایند. فرآیند RUP، راهنمایی برای استفاده مؤثر از زبان یکپارچه مدلسازی، UML میباشد. UML، زبانی استاندارد برای تبادل شفاف نیازها، معماری و طراحی است. زبان UML در ابتدا توط شرکت رشنال ایجاد شد و هم اکنون توسط موسسه استانداردهای OMG ( Object Management Group ) پیشتیبانی میشود. فرآیند RUP توسط ابزارهایی پشتیبانی میشود که هر یک بخشهای بزرگی را فرآیند را به صورت خودکار انجام میدهند. آنها برای استفاده و نگهداری از محصولات متنوع- مخصوصاً مدلها- در فرآیند مهندسی نرمافزار مورد استفاده قرار میگیرند. فرآیند RUP فرآیندی قابل شکلدهی است. هیچ فرآیند واحدی برای همه نرمافزارها مناسب نمیباشد فرآیندRUP، همانطور که برای سازمانهای بزرگ توسعه نرمافزار مناسب میباشد، برای تیمهای کوچک نیز مفید است. این فرآیند میتواند برای تطبیق موقعیتهای مختلف سازش پیدا کند. فرآیندRUP، چگونگی استفاده مؤثر روشهای تجاری برای توسعه نرمافزاری در گروههای نرمافزاری را بیان میکند. این روشها که بهترین تمرینها( Best Practices ) نامیده میشوند به طور مشترک در همة صنایع مورد استفاده قرار میگیرند.
کلمات کلیدی :
RUP, Rational Unified Process,USDP, Unified Software Development Process, ISRUP,UML
مقدمه :
فرآیند توسعه ، یک چارچوب عمومی است که برای کلیه پروژه ها صرف نظر از اندازه و میزان پیچیدگی آنها امکاناتی فراهم می کند. RUP یک فرآیند بزرگ صنعتی ( مخصوصا برای توسعه سیستمهای نرم افزاری ) است که برای سهولت تفهیم آن، کلیاتی از آن بدون نام شرکت Rational و بدون محرز کردن جریانهای کاری مربوط به فعالیتهای حمایتی تولید نرم افزار و مدلسازی کسب و کار و بدون اشاره به قدرت RUP که همان ابزارهای حمایت کننده آن می باشند در قالب فرآیند توسعه توسعه نرم افزار یکنواخت شده (USDP) در دانشگاههای معتبر جهان ظهور کرده است در واقع می توان گفت که RUP نسخه پیاده سازی شده ای از USDP است. USDP بعنوان یک فرآیند شی گرای تولید و توسعه سیستمها، دارای مدل فرآیندی است که روند کلی توسعه را مشخص می کند یک فرآینده توسعه سیستم حداقل باید دارای ویژگیهای زیر باشد :
● مشخص کردن ترتیب فعالیتها
● مشخص شود که چه محصولاتی در چه زمانی تولید می شود. ( محصولات میانی و نهایی )
● مدیریت وظایف توسعه دهندگان اعم از افراد یا تیمها معین باشد. ( نقشهای مورد نیاز تیمها )
● معیارهایی برای اندازه گیری کیفیت محصولات پروژه و روند پیشرفت فعالیتهای آن فراهم باشد.
● امکانات بهرمندی از تجربیات موفق و ناموفق افراد و پروژه های دیگر در آن فراهم باشد.
RUP چیست؟
با پیشرفت تکنولوژی کامپیوتر، نیاز هرچه بیشتر به گسترش علم نرم افزاری نیز احساس میشد که با پیدایش متدولوژیهای همانند SSADM و روش آبشاری آغاز شد. در ابتدا، این روشها مناسب بود و جوابگوی نیازهای آن زمان بودند ولی با افزایش دادهها و پیدایش مفاهیمی همچون شبکه، Web و ... دیگر کارآیی لازم را جهت پیادهسازی و هدایت پروژههای نرم افزاری نداشتند. پس مفاهیم برنامه نویسی شیءگرا پا به عرصه وجود گذاشت و در سال 1991 بطور جدی مورد مطالعه و بحث قرار گرفت. استفاده از این روشها و متدهای برنامه نویسی قدرت و انعطاف بسیاری را به برنامهها داد و شرکتهای نرم افزاری توانستند با کاهش هزینهها و بهینه سازی کدهای خود، نرم افزارهای قویتری را به بازار عرضه کنند ولی این روش جدید نیز نیاز به مدیریت و یکپارچگی داشت. پس روشها و متدولوژیهای جدیدی مطرح شد که شامل Booch، OMT، OSE و ... میباشد. در سال 2000 شرکت Rational روشی را تحت عنوان (Rational Unfied Process) RUP مطرح ساخت که بعد از روش MSF شرکت مایکروسافت به دنیای نرم افزار عرضه شد و امروزه از طرفداران بسیاری برخوردار است.
Rational Unified Process :RUP
پالاینده یکپارچه Rational در اصل یک متدولوژی است که در جهت کنترل و انجام پروژههای نرم افزاری در نظر گرفته شده است. در اصل این چارچوبی در جهت انجام صحیح و موفق پروژههای نرم افزاری میباشد که کلیه مراحل انجام یک پروژه که با معماری و آنالیز سازمان شروع شده و به تست نرم افزار و ارائه Gold Release ختم میشود را دربرمیگیرد.
چرا میگوییم یکپارچه:
به سه علت RUP را یکپارچه مینامند:
1 – این متدولوژی از یکپارچه سازی سه متدولوژی معروف دیگر بوجود آمده است که شامل Booch، OMT و OSE میباشد.
2 – از UML در جهت کارهای خود استفاده میکند. در واقع میتوان گفت UML خود ثمره RUP میباشد و این خود بسیار خوب است که متدولوژیی با خودش گسترش یابد.
3 - مفاهیمی از قبیل Object، Class و ... مفاهیم ساده و ثابتی هستند ولی قبلاً متدولوژیها علامتهای خاصی داشتند که اکنون همه آنها یکسان شدهاند.
منظور از Process چیست؟
به ما بگویند چه کسی، چه کاری را انجام دهد و چگونه انجام دهد. این تعریف در حالت عمومی میباشد ولی از نظر علمی چه کسی تحلیل را انجام دهد؟ چگونه تحلیل کند؟ چه Documentهایی را تولید کند.
Jack Hopson پالایند را بصورت دیگری تعریف میکند :
Process عبارت است از یکسری فعالیتها که نیازهای خاص کاربر را به یک محصول نرم افزاری میرساند در اصل فرآیند نرم افزاری که ما داریم از یکسری پارامترها گرفته شده که شامل موارد زیر میباشد:
· تکنولوژی: منظور این است که 10 سال قبل چگونه بوده است و ما چه قابلیتها و نیازهایی داشتهایم و بعد چه امکاناتی بوجود آمده و در اختیار ما قرار گرفته و اکنون چه نیازمندیهایی داریم؟
· افرادی که در پروژه یا سازمان ما کار میکنند.
· خود سازمانی که در حال تولید محصول میباشد باید نیازها و امکانات و معماری آن مشخص شود.
RUP سالی دوبار توسط Rational به روز میشود. از مزایای RUP میتوان به این موضوع اشاره نمود که چون میتواند بر پایه Web باشد پس قابل Customize میباشد و میتوان آنرا جهت استفاده همگان بر روی سایت قرارداد. از طرفی مثل هر نرم افزار شیءگرای دیگری با UML کارکرده و رشد میکند.
برای تحلیل طراحی و پیادهسازی سیستم مورد نظر از متدولوژی RUP استفاده میشود. RUP یک فرآیند مهندسی نرمافزار است. این فرآیند یک روش نظاممند برای تخصیص کارها و مسئولیتها در یک تیم توسعه نرمافزار میباشد و هدف آن تولید نرمافزار با کیفیت بالاست که نیازهای کاربران نهایی را توسط یک برنامه و با بودجه قابل پیشبینی تأمین نماید.
RUP یک فرآیند محصول ( Process Product ) است که توسط شرکت Rational، تهیه و پشتیبان شده است. تیم تولید RUP به منظور کسب آخرین تجارب و تکاملهای روز از نزدیک با مشتریان و شرکاء کار میکنند.
فرآیند RUP بهرهوری تیم را با فراهم نمودن دسترسی تمام افراد تیم به یک پایگاه دانش سهلالوصول به همراه راهنماها، الگوها و ابزارهای کمکی برای همه فعالیتهای بحرانی توسعه، افزایش میدهد. با تأمین دسترسی همه اعضای تیم به یک پایگاه دانش، افراد در هر قسمت از یک زبان، فرآیند و دید مشترک برای توسعه نرمافزار برخوردار هستند.
درفعالیتهای RUP، بجای تمرکز بر روی تولید مستندات بزرگ کاغذی، مدلهایی تولید میشوند که بخوبی سیستم در حال توسعه را ارائه مینمایند.
فرآیند RUP، راهنمایی برای استفاده مؤثر از زبان یکپارچه مدلسازی، UML میباشد. UML، زبانی استاندارد برای تبادل شفاف نیازها، معماری و طراحی است. زبان UML در ابتدا توط شرکت رشنال ایجاد شد و هم اکنون توسط موسسه استانداردهای OMG ( Object Management Group ) پیشتیبانی میشود.
فرآیند RUP توسط ابزارهایی پشتیبانی میشود که هر یک بخشهای بزرگی را فرآیند را به صورت خودکار انجام میدهند. آنها برای استفاده و نگهداری از محصولات متنوع- مخصوصاً مدلها- در فرآیند مهندسی نرمافزار مورد استفاده قرار میگیرند.
فرآیند RUP فرآیندی قابل شکلدهی است. هیچ فرآیند واحدی برای همه نرمافزارها مناسب نمیباشد فرآیندRUP، همانطور که برای سازمانهای بزرگ توسعه نرمافزار مناسب میباشد، برای تیمهای کوچک نیز مفید است. این فرآیند میتواند برای تطبیق موقعیتهای مختلف سازش پیدا کند.
فرآیندRUP، چگونگی استفاده مؤثر روشهای تجاری برای توسعه نرمافزاری در گروههای نرمافزاری را بیان میکند. این روشها که بهترین تمرینها( Best Practices ) نامیده میشوند به طور مشترک در همة صنایع مورد استفاده قرار میگیرند. فرآیند RUP برای هر یک از اعضای تیم، راهنماها، الگوها و ابزارهایی مهیا میکند که تیم بهترین استفاده را از بهترین تمرینهای زیر ببرد:
توسعه تکراری نرمافزار
مدیریت نیازها
• استفاده از معماری مبتنی بر مؤلفه
• مدل کردن تصویری نرمافزار
• بازبینی کیفیت نرمافزار
• کنترل تغییرات در نرمافزار
ادامه بحث را بعدا از خودم در می کنم