دانلود - FUMblog

Report
‫معماري مدل رانده‬
MODEL DRIVEN ARCHITECTURE
(MDA)
‫تاریخچه ‪MDA‬‬
‫گروه مدیریت شیء (‪ )OMG‬در سال ‪ 1989‬تاسیس شد ‪.‬‬
‫اعضای ‪ OMG‬بر روی یکپارچه سازی و نگهداری دارایی‬
‫های نرم افزاری تمرکز کرده اند‪.‬‬
‫هدف این گروه ایجاد استانداردها و تشویق به بکارگیری‬
‫فناوری شیء گرایی بود‪ .‬که در مجموع به استانداردهای‬
‫ایجاد شده معماری مدیریت شیء(‪ )OMA‬گفته می شود‪.‬‬
‫با ایجاد نسلهای جدیدی از استاندارها ‪ OMA‬پاسخگوی‬
‫مشکل یکپارچه کردن آنها نبود ‪.‬‬
‫راهحل ‪OMG‬‬
‫معرفی ‪MDA‬‬
‫در معماری مدل رانده‪،‬مدل محصول اصلی است و هدایت توسعه‬
‫نرم افزار را بر عهده دارد‪.‬‬
‫این مدل است که می راند‬
‫مدل ‪ -‬رانده‬
‫‪ MDA‬می گوید ‪:‬‬
‫منطق برنامه مدلسازی شود و سپس ابزاری مدلها را تبدیل به‬
‫کد اجرایی کند‪.‬‬
‫مدلها تغییر نمی کنند و از جزئیات پیاده سازی جدا هستند‪.‬‬
‫معماري مدلرانه یك روش نوین براي تعریف و ساخت سیستمهاي‬
‫نرم افزاری است که در آن ‪:‬‬
‫مدلسازي بر اساس ‪ ، MOF ، UML‬و ‪ XMI‬انجام ميشود‪.‬‬
‫از چرخه حیات كامل نرمافزار (تحلیل‪ ،‬طراحي‪ ،‬پیادهسازي‪ ،‬استقرار‪،‬‬
‫نگهداري‪ ،‬تكامل‪ ،‬و یكپارچهسازي) پشتیباني ميشود‪.‬‬
‫بر روی قابلیت حمل باال و نیز قابلیت استفاده مجدد تاکید دارد‪.‬‬
‫معماری مدل رانده دو چیز را از هم جدا می کند‪:‬‬
‫•تبیین عملکرد ( آنچه قرار است سامانه انجام دهد)‬
‫•تبیین پیاده سازی(جزئیات پیاده سازی)‬
‫شعار ‪ :‬طراحی یک بار ‪ ،‬پیاده سازی روی هر سکو‬
‫‪Design once , build it on‬‬
‫)‪any platform(.NET , J2EE , CORBA‬‬
Model-Driven Architecture ( MDA )
:‫با سه مدل سروکار دارد‬
‫•مدل مستقل از محاسبه‬
Computation-Independent Model (CIM)
‫•مدل مستقل از سکو‬
Platform-Independent Model (PIM)
‫•مدل وابسته به سکو‬
Platform-Specific Model (PSM)
‫مدل مستقل از محاسبه )‪)CIM‬‬
‫• بر روی نیازمندی های سیستم تاکید دارد‪.‬‬
‫• جزئیات ساختار سیستم ها را نشان نمی دهد‪.‬‬
‫• نقش مهمی در ایجاد پلی بین خبرگان دامنه مساله و‬
‫نیازمندی ها از یک طرف و متخصصان طراحی و پیاده‬
‫سازی از طرف دیگر دارد‪.‬‬
‫مدل مستقل از سکو (‪)PIM‬‬
‫•این مدل بر اساس مدل مستقل از محاسبه است‪.‬‬
‫•بر روی عملکرد یک سامانه تاکید میکند‪.‬‬
‫•جزئیات الزم برای پیاده سازی بر روی یک سکوی خاص‬
‫مخفی شده است‪.‬‬
‫•از یک سکو به سکو دیگر بدون تغییر باقی می ماند‪.‬‬
‫مدل وابسته به سکو (‪)PSM‬‬
‫• مدل مستقل از سكو را گسترش ميدهد‪.‬‬
‫• جزییات الزم براي پیاده سازي روي یك سكو خاص را نشان‬
‫ميدهد‪.‬‬
‫• یك ‪ PSM‬مشخصههاي داخل ‪ PIM‬را با جزییات مربوط‬
‫به چگونگي استفاده سیستم بر روي یك سكو خاص تركیب‬
‫ميكند‪.‬‬
‫فرایند ‪MDA‬‬
‫سازي یكنواخت‬
‫زبان مدل‬
‫ِ‬
‫‪THE UNIFIED MODELING LANGUAGE‬‬
‫)‪(UML‬‬
‫‪ ‬یک زبان گرافیکی برای‬
‫• تبیین (‪)Specifyng‬‬
‫• مصور سازی(‪)visualizing‬‬
‫• ساخت (‪)Constructing‬‬
‫• و مستند سازی محصوالت نرم افزاری‬
‫‪ ‬روش غالب یرای مدل سازی گرافیکی سامانه های نرم افزاری‬
‫شیء گرا‬
UML 2.0 ‫نمودارهای‬
1.Activity Diagram
2. Class Diagram
3. Communication Diagram
4. Component Diagram
5. Composite Structure Diagram
6. Deployment Diagram
7. Interaction Overview Diagram
8. Object Diagram
9. Package Diagram
10. Sequence Diagram
11. State Machine Diagram
12. Timing Diagram
13. Use Case Diagram
‫معماری مدل رانه در عمل‬
‫گام اول‪ :‬ساخت مدل مستقل از محاسبه (‪)CIM‬‬
‫•‬
‫نیازمندیهاي سیستم در مدلهاي مستقل از محاسبه مدل ميشود‪.‬‬
‫• این كار ميتواند توسط خبرگان دامنه مساله انجام شود‪.‬‬
‫گام دوم‪ :‬ساخت مدل مستقل از سکو (‪)PIM‬‬
‫• مدلهاي ‪ PIM‬با توجه به مدلهاي ‪ CIM‬ایجاد ميشوند‪.‬‬
‫گام سوم‪ :‬ساخت مدل وابسته به سكو (‪)PSM‬‬
‫•معمار یك یا چند سكو را براي پیادهسازي سیستم برميگزیند‪.‬‬
‫•این كار با توجه به صفات كیفیتي و مصالحه بین آنها انجام ميشود‪.‬‬
‫گام چهارم‪ :‬نشانهگذاري یک مدل‬
‫•‬
‫•‬
‫•‬
‫•‬
‫براي تبدیل مدلهاي ‪ PIM‬به مدلهاي ‪ PSM‬باید از‬
‫نگاشت استفاده كنیم‪.‬‬
‫یك نگاشت مشخصههایي را براي تبدیل فراهم ميكند‪.‬‬
‫براي انجام نگاشت ابتدا باید مدلهاي ‪ PIM‬نشانه گذاري‬
‫شوند‪.‬‬
‫یك نشانه تعیین ميكند یك موجودیت در ‪ PIM‬چگونه‬
‫باید به موجودیتي در ‪ PSM‬تبدیل شود‪.‬‬
‫‪PIM‬‬
‫‪Marked‬‬
‫‪PIM‬‬
‫گام پنجم‪ :‬تبدیل ‪ PIM‬به ‪PSM‬‬
‫•‬
‫گام بعدي این است كه ‪ PIM‬نشانهگذاري شده به یك‬
‫‪ PSM‬تبدیل شود‪.‬‬
‫•‬
‫ميتواند بصورت دستي‪ ،‬نیمهخودكار‪ ،‬یا تمام خودكار‬
‫انجام شود‪.‬‬
‫‪PIM‬‬
‫•‬
‫ورودي به این گام ‪ PIM‬نشانهگذاري شده و یك نگاشت‬
‫است‪.‬‬
‫•‬
‫خروجي نیز ‪ PSM‬است‪.‬‬
‫‪Marked‬‬
‫‪PIM‬‬
‫‪Transformation‬‬
‫‪PSM‬‬
‫گام ششم‪ :‬تولید كد‬
‫•در آخرین گام كدهاي اجرایي تولید ميشود‪.‬‬
‫‪PIM‬‬
‫‪Marked‬‬
‫‪PIM‬‬
‫‪Transformation‬‬
‫‪PSM‬‬
‫‪Marked‬‬
‫‪PSM‬‬
‫‪code‬‬
‫مزایاي‬
‫‪MDA‬‬
‫• كد نویسي دستي رفتار یك مدل حذف ميشود‪.‬‬
‫• تمركز بر روي مدلها باعث طراحي بهتر و دقیقتر ميشود‪.‬‬
‫• انقالبي در افزایش سطح تجرید‬
‫• جداسازي قواعد كاري از محیط پیادهسازي‬
THANKS FOR YOUR
ATENTION

similar documents