ايران ويج

نسخه‌ی کامل: سوال در مورد دو نرم افزار تحليل و طراحي
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام یه سری اطلاعات درباره سیستم RUP که درشرکت رشنال استفاده میشه و SSADM که در انگلیسه میخواستم میتونید کمکم کنید. ممنون
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 و

بدون محرز کردن جريانهاي کاري مربوط به فعاليتهاي حمايتي توليد نرم افزار و مدلسازي کسب و کار و بدون اشاره به قدرت 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 براي هر يك از اعضاي تيم،

راهنماها، الگوها و ابزارهايي مهيا مي‌كند كه تيم بهترين استفاده را از بهترين تمرينهاي زير ببرد:

توسعه تكراري نرم‌افزار
مديريت نيازها
• استفاده از معماري مبتني بر مؤلفه
• مدل كردن تصويري نرم‌افزار
• بازبيني كيفيت نرم‌افزار
• كنترل تغييرات در نرم‌افزار


توسعه تكراري نرم‌افزار:

در سيستمهاي پيچيده امروزي انجام مراحل تعيين تمام مسأله، طراحي تمام راه‌حل و ساخت تمام نرم‌افزا و در انتها تست كامل آن به صورت متوالي ممكن نيست. در اينجا نياز به فرآيندي مكرر است كه اجازه فهم افزايشي مسأله به همراه پيرايش آن و تكامل راه‌حل مؤثر را در طول چندين تكرار بدهد.RUP از روش، تكرار استفاده مي‌:ند كه اجزاء با ريسك بالا در هر مرحله از چرخه حيات مشخص مي‌كند، و اين باعث كاهش ريسك مي‌شود. فرآيند تكراري مقابله با ريسك را با نمايش پيشرفت فرآيند و نسخه‌هاي اجرايي كه امكان درگيري و بازخورد از كاربران، فراهم مي‌كند. همچنين فرآيند تكراري قابليت انجام تغييرات تاكتيكي در نيازها، قابليتها و برنامه‌ها را سبب مي‌شود.



مديريت نيازها:

فرآيند RUP طريقة استخراج، سازماندهي و مستند كردن عملكرد و شرايط مورد نياز دنبال كردن و مستند كردن موازنه‌ها و تصميم‌گيري و مبادله

آسان نيازهاي كاري را بيان مي‌كند. همچنين اثبات شده است كه ورش نمادي كه در آن مورد كاربرد وسناريوها مدل مي‌شوند، راهي مناسب براي گرفتن

نيازهاي كار كردي و اطمينان از تأمين نيازهاي كاربران توسط نهايي، مي‌باشد. مزيت ديگر آن ايجاد رشته‌هايي منسجم و قابل رديابي درون سيستم در حال توسعه و تحويل شده مي‌باشد.

استفاده از معماري مبتني بر مؤلفه:
مؤلفه‌ها، ماژولها يا زير سيستمهاي هستند كه كاركردهاي مشخصي دارند. RUP روشي سيستماتيك براي تعريف معماري با استفاده

از مؤلفه‌هاي جديد و موجود ايجاد مي‌كند كه توسط يك معماري خوش ساخت، كه مي‌تواند بصورت ad hoc و يا در يك چارچوب مؤلفه‌اي مانندCORBA و COM سر هم شوند، ايجاد مي‌كند.

مدل كردن تصويري نرم‌افزار:

اين فرآيند چگونگي مدل كردن بصري نرم‌افزار به منظور ساختار و رفتار معماري و مؤلفه‌ها را نشان مي‌دهد. اين روش امكان پنهان كردن

جزئيات و نوشتن كد توسط سنگ‌بناهاي گرافيكي را فراهم مي‌نمايد.

بازبيني كيفيت نرم‌افزار:

دو عامل مهم و مشتركي كه امروزه سبب عدم پذيرش نرم‌افزارها مي‌شوند، قابليت اطمينان پايين و كارآيي ضعيف مي‌باشد.

فرآيندRUP در ايجاد برنامه‌ريزي،طراحي ، پياده سازي و ارزيابي آزمايشهايي كه بر جنبه‌هاي مختلف نرم‌افزار نظارت داشته باشند، كمك مؤثري مي‌باشد.
http://forum.sohail2d.com/viewtopic.php?p=59151
http://fa.wikipedia.org/wiki/RUP
http://www.developercenter.ir/download/RUP-Overview.zip
تشريح متدولوژي SSADM در تجزيه و تحليل و طراحي سيستمها :

اصول مرجع نقطه شروع SSADM وبيانگر اهداف شرکت ومنابع قابل حصول در راستاي آن است در برخي موارد،گزارش مرحله امکانسنجي که از قبل تهيه مي‌شود ، دومين ورودي SSADM راتشکيل مي‌دهد خروجي‌هاي SSADM را نيز ، مشخصات برنامه ها، پايگاه داده ها جهت برنامه پياده سازي سيستم راهنماي کاربران و راهنماي عمليات تشکيل مي‌دهند.

مراحل SSDAM به گونه اي تدوين شده اند که هر مرحله داراي هدفي کاملاٌ روشن و محدوده اي معين است و شامل مجموعه‌اي مشخص از خروجي‌ها است. مراحل SSADM :

مرحله يک : « تحليل» مرحله1 اصول مرجع و گزارش امکانسنجي را به صورت اختياري مورد استفاده قرارداده و در نهايت مدل منطقي سيستم موجود را ايجاد مي‌نمايد.

اين مرحله با بررسيهاي مقدماتي پيرامون سيستم جاري شروع مي‌شود و نتايج آن، درايجاد نمودارهاي جريان داده و مدل موجوديت به کار گرفته مي‌شود در طي ساخت مدل ودر خلال بررسي‌هاي مقدماتي مشکلات سيستم موجود و نيازمنديهاي سيستم مطلوب مشخص خواهد شد. مرحله 2: « مشخصات نيازمنديها »

اين مرحله به 3 بخش تقسيم مي‌شود در بخش اول مدلهاي وضعيت موجود را به عنوان ورودي گرفته و قبل از ايجاد مدلهاي سيستم مطلوب به بهينه‌سازي مطلوب آنها مي‌پردازد. مدلهاي مطلوب نتيجه حل مشکلات به دست آمده و نمايش نيازمنديهاي سيستم جديد مي‌باشند. نمودارهاي منطقي سيستم مطلوب ( نمودارهايي ازآنچه که سيستم انجام مي‌دهد در مقابل نمودارهاي فيزيکي که نحوه انجام کارها را نشان مي‌دهند ) از روي نمودارهاي منطقي سيستم موجود و مدل موجوديت مطلوب ازمدل موجوديت جاري به دست مي‌آيند. بخش دوم به مستند سازي تفصيلي مدلها مي‌پردازد. شرح موجوديتها و ورودي / خروجي هاي هر کارکرد به صورت فهرستي از ويژگيها مستند مي‌شوند. در بخش سوم ، ديدگاه تفصيلي نسبت به سيستم را ارائه مي‌دهد ، اين ديدگاه علاوه بر ديدگاه ايستا از سيستم که توسط نمودارهاي جريان دادها (DFD ) ها و مدل موجوديتها ) EM ) ها به دست مي‌آيد، تاثير کارکردها را در طي زمان به نمايش مي‌گذارد اين ديدگاه پويا بوده و درک اوليه اي از وظايف ايجاد شده در سيستم جديد را به دست مي‌دهد.

هدف مرحله 2 ايجاد مجموعه‌اي از مستندات روشن ، دقيق ، خالي از تعارض و کامل مي باشد که تعيين کننده سيستم مطلوب بوده وبه خوبي توسط کاربر قابل درک مي باشد . مرحله 3 انتخاب گزينه مطلوب :

اين مرحله با اخذ مشخصات نيازمنديها اقدام به تبديل آن به نيازمنديهاي فيزيکي مي نمايد . در طي اين مرحله ، DFD منطقي مطلوب به DFD فيزيکي مطلوب تبديل مي شود . براساس نمودارهاي منطقي (آنچه سيستم جديد نياز دارد) نمودارهاي فيزيکي (چگونگي تامين اين نيازها ) مدلسازي مي شوند. هدف اين مرحله، انتخاب روش پياده‌سازي فيزيکي جهت توسعه آتي سيستم است .انتخاب گزينه سيستم از فهرستي کوتاه از ميان گزينه‌هاي مورد نظر توسط کاربرد و با کمک سيستم پروژه صورت مي گيرد.مرحله 4 طراحي منطقي داده‌ها :

مرحله 4 شرح وروديها و خروجيها را براي ايجاد ساختار داده‌ها در سومين شکل هنجاري آن به کار مي‌گيرد براساس اين ساختار مدل موجوديت و شرح آنها تهيه شده ، سپس با مدلي که قبلا در مرحله 2 ايجاد شده بود ، مقايسه مي‌گردد . اختلاف بين اين دو دسته ، براساس نيازمنديهاي سيستم ونيز نظريات کاربر رفع شده ودر نهايت مجموعه اي از شرح موجوديتها و مدل منطقي آنها جهت استفاده در مراحل « 5 » و « 6 » آماده مي‌گردند.

هدف مرحله4 اين است که اطمينان حاصل گردد ساختار داده ها و روابط ميان آنها کاملا تشريح و درک شده‌اند . در اين مرحله شرح وموجوديتها و مدل آنها به صورت پائين به بالا ايجاد مي‌گردند.

اين در حالي است که در طي مرحله 2 آنها به صورت بالا به پائين به وجود آمده بودند . نتيجه اين رويکرد ما را مطمئن مي سازد که مدل موجوديت و شرح آنها ، با کيفيتي عالي تهيه شده و در اختيار مراحل 5و 6 قرار مي‌گيرد .مرحله 5 : طراحي منطقي پردازشها :

اولين وظيفه در اين مرحله ، فهرست کردن کارکردها از روي DFD فيزيکي مطلوب مي باشد . کارکردها براساس نوع پردازش آنها و نيز مدت زمان پردازش و اقتضائات دسترسي به داده‌ها فهرست مي‌شوند . هرپردازش شامل يک يا چند کارکرد متعلق به DFD مي‌باشد . براي هر پردازش منطقي ، شرح پردازش که شامل عمليات ضروري جهت اجراي آن مي‌باشد ، تهيه مي‌گردد . اين شرح منطقي پردازش به عنوان خروجي مرحله 5 قلمداد مي‌شود .

هدف مرحله 5 دسته بندي کارکردها در داخل پردازش‌هاي منطقي ، بر اساس نيازمنديهاي پردازشي و تشريح تفصيلي اين پردازشها مي‌باشد. مرحله 6 : طراحي فيزيکي :

در اين مرحله مدل موجوديت منطقي و شرح آنها با به کارگيري رويه‌هاي که منعکس کننده سخت افزارها و نرم‌افزارهايي که مورد نظر سيستم مي باشند ، به مشخصات پرونده ها يا پايگاه دادها تبديل مي‌گردند. سپس مشخصات پروندها يا پايگاه داده‌ها با به کارگيري مجموعه‌اي از رويه‌ها به همراه شرح منطقي پردازش به مشخصات برنامه تبديل مي‌گردند .

قبل از نهايي کردن مشخصات پرونده‌ها ، پايگاه داده‌ها و برنامه ، بهينه سازي و تنظيم مشخصات ، صورت مي‌گيرد . در اينجا مشخصات سيستم کامل شده و مرحله 6 با تهيه برنامه پياده‌سازي، شامل برنامه‌نويسي استقرار سيستم جديد به جاي قديم ، راهنماي عمليات و راهنماي کاربران به پايان مي‌رسد.
http://syseng.blogfa.com/post-15.aspx
http://www.golsoft.com/Information%20Sys...Method.asp
همیشه سعی کنید عنوان تاپیکی که انتخاب می کنید مناسبترین جمله برای موضوعتون باشه
با سلام
لطفا سوالات خود رو با موضوع مشخص و در محل مناسپ بپرسيد
(۲۲-اسفند-۱۳۸۶, ۲۰:۱۸:۵۸)hamed_Arfaee نوشته است: [ -> ]با سلام
لطفا مقاله فارسي در مورد USDP

سلام
برای پیاده سازی با رشنال آیا نمونه دارید باید برای درس مهندسی نرم افزار پیشرفته ارائه بدم می خواستم پیاده سازی هم داشته باشم البته usdp و rup موضوع ارائه است