چکیده
چه چیز میتواند یک پروسه تولید نرمافزار را توصیف کند؟ آیا منظور از پروسه، آمادهسازی نرمافزار صرفاً برای ارائه در بازار است؟ مسلماً در هر کاری وجود یک سامانه و فرایند کاری ضروری است؛ ولی چه چیزی میتواند موجب ایجاد سرعت و کیفیت در فرایند تولید یک نرمافزارشود؟ لزوماً طراحی و پیادهسازی یک فرایند یکپارچه و منطقی میتواند چنین نتیجهای در بر داشته باشد. بدین منظور امروزه از روشی استفاده میشود که اصطلاحاً RUP نامیده میشود. به حداقل رساندن حجم پروسه تولید یک نرمافزار همزمان با حفظ کیفیت و صرفهجویی در زمان از مهمترین ویژگیهای این روش میباشند. معمولاً برای یک شرکت تولید نرمافزار، سرعت عمل به موقع برای پاسخگویی به تقاضا و شرایط اجتماعی اهمیت دارد، اما گاهی این شتابزدگی سبب فدا شدن کیفیت میگردد. RUP با ارائه یک چارچوب منطقی علاوه بر تعیین زمانبندی مناسب، کیفیت مورد نظر تولید کننده و استفاده کننده نرمافزار را تأمین مینماید. در این مقاله ضمن مروری بر RUP به عنوان روش یکپارچه تولید نرمافزار، قابلیتهای آن در افزایش سرعت تولید نرمافزار و حفظ کیفیت آن برشمرده میشوند.
کلیدواژه : RUP؛ UML؛ فرایند یکپارچه رشنال؛ Rational Unified Process؛ Unified Modeling Language
مقدمه
یک پروسه چابک، پروسهای است که همیشه آماده در آغوش کشیدن درخواستهای جامعه بوده و این درجه از سازگاری را دارا باشد. بنابراین منظور از سرعت عمل، فقط کاستن از حجم پروسه تولید نرمافزار یا سرعت ارائه آن به بازار نیست؛ بلکه منظور، انعطافپذیری و حفظ کیفیت است. مطلبی که در این مقاله قصد توضیح آن را داریم این است که RUP 1 ساختاری پروسهای (چیو 2000) است که امکان انعطافپذیری را برای تولیدکنندگان نرمافزار فراهم میآورد.
منظور از RUP چیست؟ در این مقاله از چند منظر به RUP خواهیم پرداخت:
RUP یک پروسه تولید نرمافزار است.
RUP مجموعهای از تجربیات بسیار عالی تولید نرمافزار را که در عمل با آنها برخورد شده است، در خود دارد.
RUP همانند یک محصول نرمافزاری به بازار ارائه شده و به فروش میرسد با این تفاوت که RUP اولین ساختار تولید نرمافزار را ارائه داده و گام نخست را در این زمینه برداشته است.
RUP چیست؟
با پیشرفت تکنولوژیهای مرتبط با کامپیوتر، نیاز هر چه بیشتر به گسترش علم نرمافزاری نیز احساس میشد که با پیدایش متدولوژیهای همانند SSADM 2 و روش آبشاری3 (چیو 2000) آغاز شد. در ابتدا، این روشها مناسب بود و جوابگوی نیازهای آن زمان بودند ولی با افزایش دادهها و پیدایش مفاهیمی همچون شبکه، وب و غیره دیگر کارآیی لازم را جهت پیادهسازی و هدایت پروژههای نرمافزاری نداشتند. پس مفاهیم برنامهنویسی شیءگرا پا به عرصه وجود گذاشتند و در سال 1991 بطور جدی مورد مطالعه و بحث قرار گرفتند. استفاده از این روشها و متدهای برنامهنویسی، قدرت و انعطاف بسیاری را به برنامهها داد و شرکتهای نرمافزاری توانستند با کاهش هزینهها و بهینهسازی کدهای خود، نرمافزارهای قویتری را به بازار عرضه کنند ولی این روش جدید نیز نیاز به مدیریت و یکپارچگی داشت. پس روشها و متدولوژیهای جدیدی مطرح شد که شامل Booch، OMT، OSE و ... میباشند. در سال 2000 شرکت Rational روشی را تحت عنوان RUP مطرح ساخت (گروه کاسمیک 2003ب) که بعد از روش MSF شرکت مایکروسافت به دنیای نرمافزار عرضه شد و امروزه از طرفداران بسیاری برخوردار است. فرایند یکپارچه Rational در اصل یک متدولوژی است که در جهت کنترل و انجام پروژههای نرمافزاری در نظر گرفته شده است. در اصل این چارچوبی در جهت انجام صحیح و موفق پروژههای نرمافزاری میباشد که کلیه مراحل انجام یک پروژه که با معماری و آنالیز سازمان شروع شده و به تست نرمافزار و ارائه Gold Release ختم میشود را در بر میگیرد (گروه کاسمیک 2003 الف).
چرا RUP را یک فرایند یکپارچه میگویند؟ به سه علت RUP را یکپارچه مینامند:
این متدولوژی از یکپارچهسازی سه متدولوژی معروف دیگر بوجود آمده است که شامل Booch، OMT و OSE میباشد.
از UML4 در جهت کارهای خود استفاده میکند. در واقع میتوان گفت UML خود ثمره RUP میباشد و این خود بسیار خوب است که متدولوژیی با خودش گسترش یابد (گروه کاسمیک 2003الف). مفاهیمی از قبیل Object، Class و ... مفاهیم ساده و ثابتی هستند ولی قبلاً متدولوژیها علامتهای خاصی داشتند که اکنون همه آنها یکسان شدهاند.
در داخل RUP یک چارچوب تولید نرمافزار است که ما آنرا برای سازمان و پروژه خود بومی میکنیم و میتوان گفت که در واقع یک قالب فرایند5 است.
Rup شامل 4 فاز میباشد و اگر در هر لحظه به آن نگاه کنیم شامل 9 قالب خواهد بود.
این فرآیند یک روش نظاممند برای تخصیص کارها و مسئولیتها در یک تیم توسعه نرمافزار ارائه میدهد و هدف آن تولید نرمافزار بصورت بهینه و با کیفیت بالاست که بتواند نیازهای کارفرما را تحت یک برنامه زمانی مشخص و با بودجه قابل پیشبینی برآورده سازد. آر.یو.پی بهرهوری تیم تولید نرمافزار را با فراهم نمودن دسترسی تمام افراد تیم به یک پایگاه دانش سهلالوصول به همراه راهنماها، الگوها و ابزارهای کمکی برای همه فعالیتهای حیاتی توسعه، افزایش میدهد. از آنجا که تمام افراد به منابع یکسانی دسترسی دارند، لذا دید مشترکی برای توسعه نرمافزار برخوردار هستند.
آر.یو.پی امکان استفاده موثرتری از زبان یکپارچه مدلسازی (UML) را فراهم میسازد (دقت شود که در عین حال آر.یو.پی و یو.ام.ال کاملاً مستقل از یکدیگر هستند و نباید آنها را با هم یکی فرض کنیم). به کمک تکنیک های آر.یو.پی بخشهای عمدهای از فرآیند تولید نرمافزار به طور خودکار انجام شده و همچنین استفاده از مدلهای تولید شده در فرآیندهای گذشته در پروژههای جاری به سادگی امکانپذیر است. این فرآیند با موقعیتهای مختلف تطبیق یافته و برای سازمانهای بزرگ یا حتی کوچک تولید و توسعه نرمافزار قابل استفاده است.
آر.یو.پی کلیه مراحل انجام یک پروژه شامل تحلیل سیستم، برنامهریزی، بررسی ریسکها، تولید و تست نرمافزار را در بر میگیرد و چهارچوبی در جهت انجام صحیح و موفق پروژههای نرم افزاری فراهم میسازد.
چرا آر.یو.پی را یکپارچه نامیدهاند:
1. این فرآیند از ترکیب و یکپارچهسازی چند فرآیند و متدولوژی شامل Booch، OMT و OSE دیگر ایجاد شده است.
2. از زبان یکپارچه مدلسازی (UML) به طور موثری بهره میگیرد.
3. مفاهیمی نظیر کلاس و شیء در متدهای قبلی علائم خاص و مختلفی داشتهاند حال آنکه در آر.یو.پی یکسان شدهاند.
حرفه ها وتخصص ها
به منظور بررسی(شناخت،آنالیز، نیاز سنجی،طراحی، پیاده سازی و...)فرایندهای یک سازمان یا یک تیم کاری حرفه ها و تخصص های مختلفی بکار میروند که در بکار گیری آنها عوامل زیر مؤثر می باشد:
ـ تنوع حوزه کاری سازمان یا تیم کاری
هر چه حوزه فعالیت های مورد بررسی وسیعتر باشد ونوع کارها متفاوت تر باشد تخصص های بررسی کننده نیاز بایستی متنوع تر باشند.از طرفیتخصص ها و دانشهایی که در مورد کلیت فعالیت ها و پروسه ها اظهار نظر می نماید نیز وابسته به تنوع حوزه فعالیت پروسه های مورد مطالعه می باشند.از نظر تعداد اعضا شرکت کننده در تیم امکان سنجی،نیاز سنجی،طراحی،پیاده سازی نیز بستگی به تنوع حوزه کاری مورد مطالعه دارد.
ـمیزان شناخت و متعاقب آن تغییرات مورد انتظار در سیستم
سازمان ها و تیم های کاری با اهداف مختلفی به مطالعه وامکان سنجی پروسه های خود می پردازند عمده این اهداف عبارتند از:
*شناخت ساختار و مدل ایستای سازمان یا تیم کاری مو جود یا در حال شکل گیری.
*شناخت(ایجاد شناسنامه) پروسه های موجود/در حال شکل گیری/امکان کشف در سازمان یا تیم کاری.
*شناخت روشها و متد های مدیریت پروژه بهینه.
*شناخت مستندات جاری یا در حال شکل گیری سازمان یا تیم کاری ودر نهایت بززسی گردش اسناد.
*شناخت گردش کار پروسه های موجود(DFD)
*شناخت موجودیت های سیستم و رسیدن به ERD متناسب با ساختار سیستم.
*شناخت مدل کامل سیستم که بیانگر وضعیت جاری/مناسب/مورد نظر باشد.
*زسیدن به مدلی که در طراحی سیستم کارا/قابل اطمینان/معقول و مقرون/ راحت و متناسب(اصول مهندسی نرم افزار) مؤثر باشد.
*رسیدن به مدلی که در پیاده سازی سیستم کارا/ قابل اطمینان/معقول و مقرون/ راحت و متناسب(اصول مهندسی نرم افزار) مؤثر باشد.
با توجه به اهداف نوع تخصص و سطح خروجی تخصص که همان پیشنهاد های مؤثر برای ابقا/ تغییر/ایجاد سیستم جایگزین برای سیستم جاری می باشد، مشخص می گردد.می توان گفت خروجی تخصص می تواند یکی از موارد زیر باشد:
_ مستندات واقعی/ استاندارد/ بهینه سیستم موجود یا در حال شکل گیری
_ ابزار های کمکی مؤثر در بهبود/ ایجاد سیستم موجود یا در حال شکل گیری
_ سیستم کاملاً جدید که در حوزه موضوع مورد نظر ایفای نقش خواهد کرد
_ پیشنهادات دستورالعملی ، سازمانی،آیین نامه ای و... برای سیستم موجود یا در حال شکل گیری
در انتخاب نوع خروجی باید موارد پیشنهادی را بر اساس( شاخص گذاری/ در نظر داشتن)موارد زیر ارائه کرد:
_ فرهنگ کاری و مسائل محیطی
_ میزان هزینه و منابع مورد نیاز دیگر مانند زمان
_ میزان انعطاف پذیری و علاقه مندی به تغییر
و.......
- سطح فن آوری و تکنیکی بکار رفته در شناخت و تغییر
در فاز امکان سنجی و کشف نیازمند یها وآنالیز:
OOPیا SSADM ؟
در فازطراحی سیستم جدید:
Tier3 یا؟
در فاز پیاده سازی و گذار به سیستم جدید:
Desktop یا Client/Server یا Web Base یا توزیعی؟چند کاره ؟ در چه محدوده هایی؟ با چه امنیتو سطح دسترسی؟
خصوصیات RUP چیست؟
RUP مبتنی بر نوعی معماری است که به اجزاء اصلی میپردازد ولی طراحی به جزئیات نیز وارد میشود. همچنین میتوان گفت معماری یکسری اجزا و ارتباط بین آنها است که سیستم را میسازد و ما را به سمت توسعه مؤلفهمحور6 راهنمایی میکند.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 41 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلودمقاله RUP