ایران سرفراز- نرم افزار وپروژهای دانشجویی


نرم افزار وپروژهای دانشجویی

RUP چیست

<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:right; mso-pagination:widow-orphan; direction:rtl; unicode-bidi:embed; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

   RUP 􀂃       چیست

با پیشرفت تکنولوژی آامپیوتر، نیاز هرچه بیشتر به گسترش علم نرم افزاری نیز احساس می شد آه با پیدایش متدولوژیهای

و روش آبشاری آغاز شد. در ابتدا، این روشها مناسب بودند و جوابگوی نیازهای آن زمان بودند ولی با افزایش SSADM همانند

داد هها و پیدایش مفاهیمی همچون شبکه، دیگرکارایی لازم را جهت پیاده سازی و هدایت پروژ ههای نرم افزاری نداشتند. پس

مفاهیم برنامه نویسی شیءگرا پا به عرصه وجود گذاشت و در سال 1991 بطور جدی مورد مطالعه و بحث قرار گرفت.

استفاده از این روشها و متدهای برنامه نویسی قدرت و انعطاف بسیاری را به برنامه ها داد و شرآتهای نرم افزاری توانستند با

آاهش هزین هها و بهینه سازی آدهای خود، نرم افزارهای قویتری را به بازار عرضه آنند ولی این روش جدید نیز نیاز به

و ... م یباشد. در Booch، OMT OSE مدیریت و یکپارچگی داشت. پس روشها و متدولوژیهای جدیدی مطرح شد آه شامل

مطرح ساخت آه بعد از روش (Rational Unfied Process) RUP روشی را تحت عنوان Rational سال 2000 شرآت

شرآت مایکروسافت به دنیای نرم افزار عرضه شد و امروزه از طرفداران بسیاری برخوردار است. MSF

اآثر تیمهای نرم افزاری ، هنوز هم از فرآیند آبشاری برای پروژه های تولیدی استفاده می آنند آه در آن هر فاز را در یک

توالی ، آامل می آنند. دراین توالی ، ابتدا شناخت نیازمندیها انجام می شود و سپس تحلیل و طراحی و بعد از آن پیاده

سازی یا مجتمع سازی و سپس تست انجام می شود.

چنین روشهایی ، تست آردن را تا پایان چرخه حیات پروژه به تاخیر می اندازد و مشکلات تولید نرم افزار را سخت و پر هزینه

از یک روش تکراری استفاده میکند . یعنی یک توالی از گامهای افزایشی یا تکرارها . RUP می گرداند. بر خلاف این روش

هر تکرار، مجموعه ای تعریف شده از اهداف و بخشی از پیاده سازی سیستم نهایی را تولید میکند .این بخش قابلیت

آارآردن را دارد. هر یک ازاین تکرارهای متوالی ، برای تکمیل و اصلاح سیستم تا زمان آامل شدن محصول نهایی ، بر مبنای

آار تکرارهای قبلی ساخته می شود.

درهر تکرار ، چنانچه درشکل 1 مشاهده می نمائید مقداری از نیازمندیها تحلیل و طراحی و پیاده سازی و تست انجام می

شود . هر تکرار ، برای تولید یک برنامه قابل اجرا آه یک گام به محصول نهایی ، نزدیکتر است ( بر اساس نتایج تکرارهای

قبلی) صورت می گیرد.

در اصل یک متدولوژی است آه در جهت آنترل و انجام پروژه های نرم افزاری در نظر گرفته شده است. در اصل RUP

چارچوبی در جهت انجام صحیح و موفق پروژ ههای نرم افزاری م یباشد آه آلیه مراحل انجام یک پروژه آه با معماری و آنالیز

ختم م یشود را دربیان میکند. Gold Release سازمان شروع شده و به تست نرم افزار و ارائه

به طور روشن و واضح مشخص می آند آه چه آسی مسئول چه چیزی است و نیز تعیین می آند آه هر فعالیتی از پروژه

ساختاری را برای چرخه حیات پروژه فراهم می آند آه به طور روشن ، RUP چگونه و چه موقع انجام می شود . همچنین

مراحل مهم و نقاط تصمیم گیری رابیان می آند.

فرآیندی است آه مراحل RUP یک روش برای تولید نرم افزار می باشد آه بر اساس تکرار بر مبنای معماری می باشد RUP

پروژه را تعریف میکند و همچینن فرآیندی است آه چارچوب فرآیند با قابلیت سفارشی شدن را برای مهندسی نرم افزار

را می توان برای حمایت از تیم های آوچک یا بزرگ و راهکارهای مرتب و رسمی برای تولید نرم RUP فراهم می آورد . محصول

افزار پیکر بندی نمود.

یک روش تولید و توسعه نرم افزار می باشد آه زمان انجام پروژه را به تکرارهایی تقسیم می نماید در هر تکرار از پروژه ، RUP

طی می شوند آه در هر دیسیپلین ، فعالیتهای مربوط به تکرار و خروجیهای تکرار ، درنمودار RUP 9 دیسیپلین تعریف شده در

زمان بندی پروژه معین می شود.

تکرارهای اولیه بر نیازمندیها و تحلیل طراحی و تکرارهای بعدی ، بر پیاده سازی و تست تاآید دارند. RUP در متدولوژی

روش تکراری) نسبت به روش آبشاری ) RUP مزیت متدولوژی 􀂃

روش تکراری به دلایل زیر نسبت به روش آبشاری برتر می دارد:

-روش تکراری ، با نیازمندیهای متغیر سازگار است.

در طول تولید نرم افزار نیازمندیها و ویژگیها تغییر میکنند. اضافه آردن و تغییر ویژگی نیازمندیها همیشه از جمله مشکلات

موجود در پروژه هستند آه منجر به تاخیر در تحویل پروژه و عدم رضایت مشتریان و مجریان می گردد.

به جهت ساختار آن آه از روش تولید تکراری حمایت می آند آه در آن آلیه دیسیپلینها ، از نیازمندیها گرفته تا تست RUP در

و مدیریت نیازمندیها ، در هر تکرار از پروژه صورت می گیرد بنابراین مشکلات ناشی از تغییرات نیازمندیها در این متدولوژی مرتفع

گردیده است.

- در روش تکراری ، مجتمع سازی در انتهای هر تکرار صورت می گیرد.

از جمله مشکلات متدولوژی آبشاری ، مجتمع سازی درانتهای پروژه می باشد آه منجر به دوباره آاری و اتلاف وقت و هزینه

می گردد. روش تکراری ، پروژه را شکسته به تکرارهای آوچک تر تقسیم می آند آه در پایان هر تکرار ، مجتمع سازی صورت

می گیرد و در آن ، بلوآهای ساخته شده ، تدریجاً مجتمع سازی می شوند و در نتیجه ، دوباره آاری بعدی را به حداقل می

رساند .

ریسکها معمولاً در مجتمع سازیهای اولیه آشف می شوند. ، RUP -در متدولوژی

ریسکها را در تکرارهای اولیه آه آلیه مولفه های فرآیند ، تست می شوند ، آاهش می دهد. ، RUP روش مجتمع سازی

چون در هر تکرار ، جنبه های بسیاری از پروژه، مانند ابزارها و مهارتهای اعضاء ، تیم را می سنجند، می توان تشخیص داد آه

آیا ریسکهای آشف شده ، واقعی هستند یا نه؟ و نیز می توان ریسکهای جدید را تشخیص داد .

-در روش تکراری، استفاده مجدد آسان می شود.

شناسایی عیبهای معمول، از تشخیص آنها، در طی طرح ریزی آسانتر است . چون بخشی از آنها ، درتکرارها طراحی یا پیاده

سازی شده اند،بازنگری های طراحی در تکرارهای اولیه ، امکان فرصتهای بالقوه را برای استفاده مجدد و سپس تولید و تکمیل

آنها در تکرارهای بعدی، برای معماران فراهم می آند.

1

-در روش تکراری ، نقص ها در طی چندین تکرار ، آشف و تصحیح می شوند.

نقص های معماری نرم افزار بیشتر در تکرارهای اولیه آشف می شوند تست موانع عملکردی، به جای اینکه با نزدیک شدن

به زمان تحویل ، ایجاد وحشت آنند، زمانی آشف می شوند آه هنوز برای رفع آنها وقت باقیست .

- در روش تکراری ، از پرسنل پروژه بهتر استفاده می شود.

در روش آبشاری ، نیازمندیهای آامل شده از مرحله تحلیل ، برای طراحان فرستاده می شود. آنها نیز، طراحی آامل شده را

برای برنامه نویسان می فرستند و آنها ، مولفه ها را برای مجتمع سازان می فرستند مجتمع سازان سیستم را برای تست

آنندگان می فرستند. این دست به دست شدن ها منبع خطاها و برداشت های متفاوت می باشد و باعث می شود آه

با معرفی نقشها RUP افراد تیم اجرایی پروژه، برای محصول نهایی ، احساس مسئولیت آمتری داشته باشند. متدولوژی

محدوده تخصص اعضاء تیم را وسیع تر می آند و به آنها این امکان را می دهد آه نقشهای بسیاری را ایفا آنند (Roles)

همچنین مدیر پروژه را قادر می سازد آه از آارمندان موجود ، بهتر استفاده آند و بطور همزمان دست به دست شدنهای

مضر را حذف آند.

-در روش تکراری ، اعضاء تیم در ضمن انجام آار ، چیزهایی نیز یاد می گیرند.

اعضاء تیم اجرایی پروژه ، همراه با چرخه تولید ،فرصت یادگیری دارند به این ترتیب آه در نتیجه ارزیابی تکرارها متوجه

اشتباهات خود می شوند و می توانند از یک تکرار تا تکرار بعدی، مهارتهای خود را افزایش دهند.

- در روش تکراری ، فرآیند تولید نرم افزار ، همراه با انجام آار، اصلاح شده و بهبود می یابد.

ارزیابی در پایان تکرار ها موقعیت پروژه ، را از نظر محصول یا زمانبندی بررسی می آند همچنین مواردی u1585 را آه از نظر سازمان

یا فرآیند ، می توان در تکرار بعدی بهبود بخشید را تحلیل می آند.

با دو ، RUP همراه با انجام آار ، تولید نرم افزار اصلاح می شود. متدولوژی ، RUP بنابراین در فرآیند تولیدنرم افزار با متدولوژی

بعد یا ساختار سازماندهی می شود.

RUP اصول اساسی متدلوژی 􀂃

􀂃

از چند اصل اساسی تشکیل شده است آه به شرح زیر است : RUP هسته

- رسیدگی سریع و مداوم به ریسکهای اصلی

ریسکهای پروژه را از ابتدای پروژه تعیین و رسیدگی نمائید. رسیدگی به ریسکهای پروژه باید به صورت مداوم سریعاً صورت

گیرد.

- بیان نیازمندیهای مشتری و تضمین برآورده ساختن آنها

نیازمندیها ، به شکل قابل فهم برای مشتری، مستند سازی می شوند و در فازهای طراحی ، پیاده سازی و تست ، برآورده

ساختن نیازمندیهای پروژه ، تضمین می گردد.

- روی نرم افزار قابل اجرا متمرآز بمانید

مستندات و طراحی ها در انجام پروژه مفید هستند اما نمایش ضعیفی از پیشرفت واقعی می باشند زیرا ارزیابی آنها ذهنی

است و اهمیت آنها در مقایسه با آد، در درجه بعدی قرار دارد . آد اجرایی آه مراحل آامپایل و تست را بصورت موفقیت آمیز

پشت سر می گذارد ، بهترین نمایش پیشرفت می باشد.

- تغییرات را هر چه زودتر در پروژه گنجانده شود

برنامه های امروزی بسیار پیچیده تر از آن هستند آه بتوانند برای اولین بار ، توانائی دریافت نیازمندیها ، طراحی و پیاده سازی

صحیح را داشته باشند، این به آن معناست آه برای تولید وتوسعه یک سیستم ، نیاز به سازگاری با تغییرات داریم.

- معماری قابل اجرایی را از ابتدای پروژه به عنوان مبنا قرار دهید

بسیاری از ریسکهای پروژه ، با طراحی ، پیاده سازی و تست زود هنگام ، در پروژه آاهش می یابند. ایجاد سریع یک معماری

پایدار ، ارتباطات را تسهیل آرده و تاثیر تغییرات را نیز محدودترمی نماید.

-سیستم را به صورت اجتماعی از مولفه ها بسازید

برنامه هایی آه با استفاده از مولفه ها ساخته می شوند، در مقابل تغییرات ، بسیار مقاوم می باشند و هزینه های نگهداری

سیستم را تا حدزیادی آاهش می دهند. مولفه ها ، استفاده مجدد را تسهیل میکنند و در نهایت سطح آیفیت تولید نرم افزار

را افزایش می دهد.

- در قالب یک تیم با هم آار آنید

جهت تولید نرم افزار ، بر ارتباطات تیمی خوب و روحیه تیمی RUP تولید و توسعه نرم افزار . یک آار تیمی می باشد. متدولوژی

تاآید می آند. آه درآن هر عضو تیم ، خود را مسئول آامل شدن آار می داند

-آیفیت را به عنوان یک اصل قرار دهید نه یک فرع

تضمین آیفیت در حد بالا ، u1605 مسئولیتی فراتر از مسئولیت تیم تست می باشد این فعالیت ، تمام اعضای تیم و تمام اعضای

تولید نرم افزار ، درخلال تکرارها ، RUP تیم و تمام قسمتهای چرخه حیات را شامل می شود از آنجایی آه در متدولوژی

صورت می گیرد بنابراین ، تعداد خطاها ، آاهش می یابدو نرم افزار تولید شده با آیفیت بالایی ارائه می شود. (Iteration)

RUP ساختار 􀂃

􀂃

نشان داده می شود. RUP در شکل زیر ساختار دو بعدی

2

ساختار دینامیک ( پویا ) 􀂃

􀂃

بعد افقی ، ساختار دینامیک یا بعد زمانی فرآیند را نشان می دهد. این ساختار نشان می دهد آه چگونه فرآیند در قالب

موجود در چرخه حیات یک پروژه بیان می شود. (Milestone) چرخه ها ، فازها ، تکرارها و مراحل مهم

(Transition , یک روش ساختار بندی شده برای تولید تکراری فراهم می آند آه در آن یک پروژه به 4 فاز ، RUP

تقسیم می شود . هر فاز ،شامل یک یا چند تکرارآه در تولید خروجی های Constractoin, Elaboration , Inception)

تکنیکی لازم برای دستیابی به اهداف تجاری درآن فاز، متمرآز است. تعداد تکرارها باید به اندازه مورد نیاز برای رسیدن

را نمایش می دهد. RUP به اهداف فاز باشد. شکل زیر فازهای چرخه حیات

Inception -فاز

ضمن شناخت محدوده پروژه و شناخت سطح بالای آلیه نیازمندیها باید تشخیص داد آه چه Inception در فاز

سیستمی باید ساخته شود. و از آلیه ذینفعان در مورد اینکه آیاباید به این پروژه اقدام آرد یا نه ، موافقت گرفت.

Elaboration -فاز

مولفه های آلیدی و مکانیسم های معماری و تکنولوژی مورد استفاده در پروژه و ابزارها و نرم Elaboration در فاز

نصب می گردد شناسایی می شوند تعیین می شود یک نمونه اولیه از سیستم تهیه و Elaboration افزارهایی آه درفاز

تست می شود همچنین ریسکهای عملکردی و امنیت داده در این فاز آاسته می شود.

3

Construction -فاز

بخش عمده پیاده سازی ، در حین حرآت از معماری قابل اجرا به نسخه او عملیاتی سیستم صورت Construction در فاز

ایجادگردیده گسترش داده می Elaboration می گیرد در این فاز مدل پیاده سازی و معماری سیستم آه در طول فاز

ایجاد می گردد. Construction شود و تمام جزئیات پیاده سازی تا انتهای فاز

این فاز با استقرار یک نسخه آارآردی آامل از سیستم ، شامل نصب و مستندات پشتیبانی حمایتی و ابزار آموزشی

خاتمه می باید.

Transition -فاز

دراین فاز ، خروجی پروژه ، با نیازمندی آارفرما تطبیق داده میشود. دراین فاز تضمین می شود آه نرم افزار ، نیازهای

آاربر خود را برآورده می سازد. این آار ، شامل تست محصول به منظور آمادگی برای انتشار و انجام تنظیمات جزئی بر

اساس بازخورد آاربر است. در این فاز دستورالعمل مورد نیاز برای راه اندازی خروجی نهایی پروژه به u1570 آارفرما تحویل داده

می شود و آموزش پرسنل جهت استفاده از سیستم ( خروجی نهایی پروژه ) در این فاز صورت میگیرد.

ساختار استاتیک ( ایستا) 􀂃

􀂃

بعد عمودی ، ساختار استاتیک فرآیند را نشان می دهد این ساختار توضیح می دهد آه عناصر فرآیند ( فعالیتها ،

دیسیپلینها ، خروجیها و نقش ها ) چگونه به طور منطقی و به صورت دیسیپلین های اصلی فرآیند (یک فرآیند را توضیح

می دهد آه چه آسی ، چه آاری را چگونه و چه وقت انجام می دهد) دسته بندی می شود.

9 دیسیپلین آه شامل دیسیپلینهای مدلسازی آسب و آار نیازمندیها تحلیل و طراحی ، ، RUP در ساختار استاتیک

پیاده سازی ، تست ، استقرار، مدیریت پیکر بندی ،مدیریت پروژه و محیط میباشند ،موجود است در هر دیسیپلن ،یک

میباشد ،ایفا میشود (WorkFlow) روند آار آه توالی جریانهای آار

در واقع میتوان گفت هر دیسیپلین مانند ظرفی عمل میکند آه آلیه عناصر فرایند (نقشها،فعالیتها،خروجیها،رهنمودها

وقالبها ) به صورت منطقی درون آن قرار میگیرند .

شکل زیر روند آاری دسیپلین نیازمندیها را نشان میدهد

4

(Workflow) جریانهای آار 􀂃

􀂃

workflow مجموعه فعالیتهایی آه فرد یا افرادی از تیم پروژه ،جهت حصول یک هدف تجاری انجام میدهند جریان آاری یا

نامیده میشود .در هر جریان آاری ،فعالیتهایی آه جهت حصول هدف جریان آاری صورت میگیرد را همراه با نقشهای ایفا

آننده فعالیتها و خروجیهای فعالیتهای موجود در دیسیپلین را نمایش میدهد شکل زیر ،جریان آاری “ مدیریت تغییرات

نیازمندیها “ را نمایش میدهد

(Activity) فعالیت 􀂃

􀂃

فعالیت یک نقش خاص ،شک واحد از آار است آه فردی آه آن نقش را بر عهده دارد ،باید آن را انجام دهد. این فعالیت ،هدف

مشخصی دارد آه معمولاً به صورت ایجاد یا به روز رسانی برخی خروجیها ،مانند یک مدل ،یک مؤلفه یا یک طرح بیان

میشود.هر فعالیت ،به یک نقش خاص اختصاص دارد .یک فعالیت برای یک یا چند خروجی و توسط یک یا چند نفر انجام میشود

.فعالیتها ممکن است چندین مرتبه در تکرارهای مختلف پروژه انجام شوند

(Artifact) خروجی 􀂃

􀂃

یک خروجی، بخشی از اطلاعات است آه توسط یک فرایند تولید میشود ،تغییر میکند یا استفاده میشود . در حین آار ،پروژه

،برای محصول نهایی خروجیهایی را تولید و استفاده مینماید .خروجیها توسط نقشها ،برای انجام یک فعالیت ، به عنوان ورودی

استفاده میشود . همچنین میتوان گفت خروجی ها نتیجه یا خروجی فعالیتها می باشند. اشکال یا فرمهای مختلف خروجی

به شرح زیر می باشد:

UseCase ‐ یک مدل مانند u1605 مدل

UseCase در مدل actor ‐ یک عنصر مدل شامل عنصر موجود در یک مدل می باشد مثل عنصر

‐ یک مستند مانند مستند معماری نرم افزار یا لیست ریسکها

‐ آد برنامه

‐ برنامه های قابل اجرا مانند یک نمونه اولیه قابل اجرا

یا بر روی وایت برد) email یک خروجی را می توان به صورت رسمی ( با استفاده از یک ابزار) یا بصورت غیر رسمی ( بصورت

مستند آرد.

5

عناصر اضافی فرآیند 􀂃

را تشکیل می دهند اما عناصر دیگری نیز وجود دارند آه به RUP نقشها، فعالیتها و خروجیها ، ستون فقرات ساختار استاتیک

فعالیتها یا خروجیها، اضافه می شوند و شناخت فرآیند ، با استفاده از آنها آسانتر می شود و راهنمای آاملتری را برای

استفاده آنندگان فراهم می آورند. این عناصر اضافی عبارتند از :

-رهنمودها : به منظور ایجاد قواعد ، توصیه ها یا روشهای فعالیتها ،گامها و خروجیها را حمایت می آنند.

آه برای خروجیهای مختلف بیان می شود. (Templete) -قالبها

-راهنماهای ابزار : برای ایجاد ارتباط بین استفاده ازابزار تولید و فراهم نمودن راهنمایی دراین زمینه

-مفاهیم : برای معرفی تعاریف و اصول آلیدی

RUP -نقشه راهها : برای راهنمایی آاربر از دیدگاه مورد نظر به سوی

الگوها ،سکوی پرتاب برای ساخت یک خروجی هستند راهنماهای ابزار ، راهنماهایی تفضیلی را برای انجام یک فعالیت یا یک

مرحله بااستفاده از ابزار موجود را فراهم میکنند و رهنمودها و راهنماهایی تفضیلی را در مورد فعالیتها، مراحل انجام آنها و

خروجی ها فراهم می آنند.

RUP آاربران 􀂃

به صورت وسیعی در طی چند سال گذشته، پذیرفته شده است آه این ، علامت تغییر در صنعت می باشد.و آمپانی RUP

به صورت بسیار رسمی و با درجه ، RUP استفاده می آنند برخی از سازمانها از RUP ها و سازمانها به روشهای گوناگون از

تکامل داده اند و با ، RUP بالایی از نظم و دیسیپلین، استفاده می آنند. این سازمانها ، فرآیند آمپانی خود را با استفاده از

را به عنوان یک پیش زمینه و RUP دقت زیادی از آن استفاده می آنند. سایر سازمانها آاربردی غیر رسمی تر دارند و ساختار

توصیه قالبها و رهنمودهایی در حین آار استفاده می آنند و از آن به عنوان نوعی دانش مهندسی نرم افزار استفاده می

استفاده می آنند. RUP آنند. نمونه هایی از صنایع گوناگون آه در سراسر دنیا از

ارتباطات از راه دور 􀂃

ساخت و تولید 􀂃

خدمات مالی 􀂃

مجتمع سازان سیستم ها 􀂃

 

   + MOHSEN GHASEMI - ۱٠:٠٦ ‎ق.ظ ; ۱۳۸٩/٥/۱