صفحه 1:
تاره آموزشي
دکتر فریدون شمس
سید شروین استادزاده
صفحه 2:
8 فرصت تهد يدها
تها و 34
Til فرصت ه
صفحه 3:
پيچيدگي در نرمافزار
چگونه ميتوان بر پيچيد گي حا
نرمافزار غلیه کرد؟ ae
صفحه 4:
صفحه 5:
مشکل اول نرمافزار: مل پيچيدگي
صفحه 6:
عوامل پیهیدکی در نرمافزار
پیچیدگی دامنه مساله
انعطافپذيري نرمافزار و عدم استاندارد بودن آن
پيچيدگي فرآیند توسعه نرمافزار
پيچيدگي توصیف رفتار سيستمهاي گسسته
اعا قا @ كا
صفحه 7:
صفحه 8:
درمييابيم که تسیر تكاملي آين تاریخ
در يك واقعیت خلاصه شده است:
۱ ki مرول <- ++() <- لزق <- را(0()9() لو ه۳) <- رراطاموجوو
Quked WO -> B10G -> OG -> Oiddewore -> OowuicrspeciPic
“Dove Barly tok -> OLE -< 1006 -> XO -> COE
‘Conblewent Tecvidval -> Derkyrouy > Oractzatca
صفحه 9:
سطع تجريد
(SRE Se
لقلا ما باید سطح تجرید را افزلیش دهیم. چون با افزلیش سطح تجرید
توا سه
ميتوان
نا با سكوهاي مختلف کار کرد.
Gl توسعه نرمافزار را سادهتر و کارآمدتر کرد.
به دنياي واقعي نزديكتر شد.
صفحه 10:
گام بعدي ...
گام بعدي در افزايش سطح تجرید چیست؟
صفحه 11:
OMG
(Obert Dacragewect Brow)
EEE es
چیسو 000
چه نقشي در توسعه نرمافزار دارد؟
صفحه 12:
68 میسی
a Rn
Alcatel Fujitsu John Deere Oracle
AT&T Glaxo LION Pfizer
BEA SmithKline Bioscience po well
Borland Hewlett Metanology cap
Packard
8 MITRE
Boeing itachi SAS
cK MSC.Software __ Institute
Hyperion NASA Sprint
Codagen
IBM
۲ NEC Sun
DaimlerChrys! jon,
er Nokia Telefonica
Ericsson io Software ۰. TT DoCoMo Unisys
France Kebira Oasis Vitria
Telecom Kennex
Sli ides ۰ ۰ Ee
صفحه 13:
موفقيتهاي بزرک OOG
i Common = Object
Architecture (CORBA)
@® Unified Modeling Language (UML)
jl) Common Warehouse Metamodel (CWM)
la! Meta-Object Facility (MOF)
i) XML Metadata Interchange (XMI)
Request Broker
{CORBA sy. = الما Mer
omen ou tare
صفحه 14:
ناهمگونیهای Crain نرمافزار
1 زبانهاي برنامهسازي
c.C++.C#.Javail
VB. Delphi. COBOL]! ...
Bl سيستمهاي عامل
Unix . Linux. VMS.MacOS. — Windows &!
PalmOS ..
fl 2اسيستمهاي تعبیهشده
Hl پروتكلهاي شبكهاي و ارتباطي
Ethernet. ATM .IP.SS7. Firewire. USB&!
Bluetooth . 802.11b. HomeRF&!
صفحه 15:
ناهمگونیهای صنعت نرمافزار دم
8 ناهمگوني باعث به تاخیر افتادن توسعه سيستمهاي سازماني
توزیعشده ميشود.
هیچ توافقي بر روي ...
فا سخت افزار وجود ندارد.
فا زبانهاي برنامهسازي وجود ندارد.
اقا سیستمهای عامل وجود ندارد.
Sl پروتكلهاي شبكهاي و ارتباطي وجود ندارد.
۴ مي توان بر روي يك سطح بالاتر تجرید توافق کرد.
لقنا میانافزارها
صفحه 16:
ناهمگونیهای صنعت نرمافزار دم
امروزه میانافزارها نیز بسیارافزایش پیدا کردند...
CORBA |“
S| COM / DCOM / MTS
Java / EJB !&
S| XML / SOAP
C#/ .Net انا
ols ol! هيج يك از آنها را برتر از دیگران در نظر گرفت.
a توافقي بر روي میانافزار نیز وجود ندارد. مشکل همچنان باقي wall
صفحه 17:
ناهمگونیهای صنعت نرمافزار دم
i eee
باید توافقي بر روي واسطها و تبادلات بین آنها
وجود داشته باشد.
oF
صفحه 18:
OQOG aol)
صفحه 19:
معماری مدل رانه
(000) ما2۳ Ovdel Drives
ها
صفحه 20:
معماری مدلرانه
lil معماري مدلرانه محاسبات هزاره سوم است.
اقا معماري مدلرانه سیر تكاملي تجزیه و تحلیل شيءگراء و ,111۷11 است.
اق[ معماري مدلرلنه يك روش ساده و فراگیر است که استانداردهاي مورد نیاز
جهت ساخت. یکپارچه سازي, و نگهداري داراييهاي نرمافزاري را تعيين
لقلا معماري مدلرانه سعي ميکند از زبانهاي مدلسازي نه تنها به عنوان زبان
طراحي بلکه به عنوان يك زبان برنامهسازي نیز استفاده کند.
GI افزايش سطح تجرید برنامهسازي
اقا بهبود قابلیت تولید. کیفیت. و ماندگاري محصولات نرمافزاري
صفحه 21:
معماری مدلرانه دم
لقلا معماري مدلرلنه يك روش نوین براي تعریف و ساخت سيستمهاي
نرمافزاري است که در آن
افنآ مدلسازي بر اساس 1۷600۳7 , ,172۷11 . و 260۷11 انجام ميشود.
لقا از چرخه حیات کامل نرمافزار (تحلیل. طراحي. پيادهسازي. استقرار.
نگهداري, تکامل. و يکپارچهسازي) پشتيباني ميشود.
فا بر روي ellis و قابليت حمل بالا تاکید ميشود.
Sl هزینه ابتدایی آغاز پروژه پایین است.
صفحه 22:
معماری مدلرانه رم
لقلا روشی را برای مشخصه سيستمهاي نرمافزاري معرفی میکند که در
آن» وظاین سیستم از مشخصه پیادهسازی آنن وظایف بر روی یک سکوی
خاص فنآوری» حدا شده است.
فا این کار با تعریف سطوح مختلفی از مدلها انجام میشود...
ان ... و همزمان سازگاري 3 هماهنگي gu تمام سطوح مدلها حفظ میشود.
صفحه 23:
مفاهیم و اصول بنیادین
SSE Re
صفحه 24:
سیستم
(eae
اقا مفاهیم MDA در قالب سیستمها بیان ميشود.
يك سیستم ميتواند هر موجوديتي باشد:
صفحه 25:
مدل
سس eS ۲
أ#امدل تجريدي از يك یا چند بخش از سیستم است.
al مدل به ما کمك ميکند بر روي قسمتهاي اساسي يك مساله متمرکز
شویم تا بهتر آن را درك کنیم.
al مدل به ما كمك ميکند در مسیر رسیدن به يك راهحل موثر و کارآمد
حرکت کنیع:
مدل معمولاً به شکل تركيبي از متن و تصویر بیان ميشود.
سنت رايج اين است كه مدلها يك پيادهسازي را ایجاد نميکنند.
@ @
صفحه 26:
توسعه مدلرانه (2020)
0 بك خاتة ساخة 1 la
+ 3 ١ S 2
خته مىشود «Joo cgay inl wo aS ‘ AN يا
ما
N
j ظیفه هدایت و
9 روث | توسعة يسيستم كه دن لن مذلها وظو a
ك. تحلیل. طراحي. ساخت. استقرار. بهرهبرداري 9 i eum
اهبري جریان درك. تحلي حي
3 داشت. و تکامل را بر عهده دارند.
ee 8 توسعة الوم افزان را امكائيةه و
HI لین روش ميتولند بسياري از محصولات توسعه نرمافزار را
خود کار تولید کند.
صفحه 27:
معماری مدلرانه
Hl استانداردی برای توسعه مدلرانه
اقا متعلق به OMG
لكلا بر روي استاندارد ond Ly MOF
صفحه 28:
دیدگاه (سرس)
لقلا يك روش تكنيكي براي تجريد است.
لها مجموعداي از مفاهيم معماري و قوانين سازماندهي را به خدمت
مي كيرد تا بر روي مفاهيمي خاصي از سيستم تمركز كند.
8 در اين جا تجريد يعني فرآيند حذف جزييات انتخلبي و ايجاد يك
مدل ساده شده
لثلآ سه ديدكاه از سيستم در معماری مدلرانه وجود دارد:
له . .+ 5
ال دیدگاه مستقل
لقنا ديدكاه مستقا
از محاسبه
ل از سكو
لا دیدگاه خاص سكو
صفحه 29:
دیدگاه مستقل از مماسیه
er ae |
الق این دید گاه بر روی محیط سیستم و نیازمندیهای آن تاکید دارد.
لقلآ در این دیدگاه جزییات ساختارها و فرآیندهای سیستم یا پنهان هستند و
با هنوز مشخص نشدهاند.
صفحه 30:
دیدگاه مستقل از سکو
i اين ديد كاه بى روى عملكرد يك سيستم تأكيد م ىكند.
i} در آمن جزییات لازم بای پیاده سازی روی یک سکو خاص مخنی شده
Bl در واقع این دیدگاه بخشی از مشخصه کامل سیستم را نشان میدهد که
از یک سکو به سکو دیگر بدون تغییس Bb میماند.
صفحه 31:
دیدگاه خاصس سكو
Hl اين ديدكاء دید گاه مستقل از سکو را به همراه جزییات پیاده سازی بر
روی یک سکو خاص نشان میدهد.
صفحه 32:
(Otew) sys
BI يك ديد (يا يك مدل دیدگاه » نمایشی از یک سیستم بر پایه زاویه یک
دید گاه خاص است.
صفحه 33:
9 مجموعهاي از فنآوريها و زيرسیستمها است.
اق[ هر سکو یک محموعه همگن از وظایف است که از طبریق تعدادی واسط
و الگوهای خاص کاربردي ميتوان آنها را به خدمت گرفت.
صفحه 34:
برنامه کاربردی (دمسلسام۳)
Hl به یک وظیفهمندی در حال توسعه اشاره میکند.
8 هم سیستم به شکل یک یا چند برنامه کاربردی بر روی یک یا چند سکو
توصیف میشود.
صفحه 35:
تغيير شكل (مض حص 210)
مدل مبدا و مدل مقصد باید مربوط به يك سیستم باشند.
هم ميتواند بصورت دستي باشد و هم بصورت خودکار
صفحه 36:
9 ern
لقلا سرويسهايي هستند که در يك سطح وسيعي از سکوها در دسترس
صفحه 37:
پیاده سازي
سم ۱۳۳
Hl يك پیاده سازي يك مشخصه است که در آن تمام اطلاعات مورد نیاز
برای ساخت يك سیستم و عملیاتی کردن آن را در خود جاي داده
است.
صفحه 38:
انواع مدلها
مدلهاي مستقل از محاسبه (CIM)
مدلهاي مستقل از سکو (۳[1۷1)
مدلهاي خاص (PSM) 5x.
مدلهاي خاص پيادهسازي (PSD)
مدل سكو (PM)
5غ 8غ 8غ 5 2ا
صفحه 39:
مدل مستقل ١ز محاسبه (05100)
8 يك مدل مستقل از محاسبه ديدي از سيستم بر يليه ديدكاه مستقل
از محاسبه است.
a بر روي نيازمنديهاي سيستم تاكيد دارد.
لقنا جزبيات ساختار سیستمها را نشان نميدهد.
Hl مدل مستقل از محاسبه را گاهي مدل دامنه نیز مينامند.
نقش مهمي در ایجاد يلي بين خبركان دامنه مساله و نیازمندیهای
آنها از يك طرف و متخصصان طراحي و پيادهسازي از طرف ديكر
دارد.
ia
صفحه 40:
مدل مستقل از (P1D) gSw
|#آ يك مدل مستقل از سكو ديدى از سيستم بر يايه ديدكاه مستقل از سكو است.
Gl بر روی عملکرد یک سیستم AS gp ASE
Gl جزییات لازع برای پیاده سازی روی یک سکو خاص مخفی شده است.
8 سیستم از منظر چگونگي پشتيباني از کسبوکار مدل ميشود.
مستقل از فنآوريهاي پيادهسازي است.
ll يك مدل مستقل از سکو درجه خاصی از استقلال را ارایه میکند.
اقا يکي از متداولترين روشها براي ايجاد لين مدل استفاده از يك ماشین مجازي
Gl ماشین مجازي به شکل يك مجموعه از بخشها و سرويسهاي مستقل از يك سكو
خاص تعریف ميشود.
صفحه 41:
مدل خاص سكو (605)0)
HI يك مدل خاص سکو ديدي از سیستم بر يايه ديدكاه خاص. سكو
است.
فا مدل مستقل از سكو را گسترش ميدهد.
a جزییات لازم ببرای پیاده سازی روی یک سکو خاص را نشان ميدهد.
ff یک ]۷[ مشخصههای داخل ]11 را با جزییات مبوط به
چگونگی استفاده سیستم بر روی یک سکو خاص ت کیب میکند.
امکان داشتن چندین مدل خاص سكو براي يك مدل مستقل از
سكو وجود دارد.
صفحه 42:
مدل خاص پیادهسازی (۳1)
اقا يك مدل خاص سكو را ييادهسازي مي كند.
لقلا كد اجرايي است که بر روي سختافزار نهايي اجرا مي شود.
لكآ از روي 2/10061 0[961) تولید ميشود.
صفحه 43:
(PO) 5 Jao
افآ مدل سکو مجموعه مناهیم تکنیکی بخشهای مخطف یک سکو و
سرویسهای ارائه شده توسط آن سکو را نشان میدهد.
صفحه 44:
0 توسعه مبتني بر
eee
معماري مدلرانه چگونه كار مي كند؟
صفحه 45:
توسعه 021009 در يك نگاه
we مدلهاي
(PSMs) سكو
صفحه 46:
گام اول: تهیه مدلهای CID
نيازمنديهاي سیستم در مدلهاي مستقل از محاسبه مدل ميشود.
اين کار ميتواند توسط خبرگان دامنه مساله انجام شود.
صفحه 47:
گام دوم: ایجاد مدلهای PID
الق مدلهاي ]11۷ با توجه به مدلهاي ]11۷/) ایجاد ميشوند.
لقلا مدلهاي ]711۷ ميتوانند از سرويسهاي فراگیر نیز استفاده کنند.
Calls
صفحه 48:
كام سوم: تهيه مدل سكو
Hl معمار يك يا جند سكو را براي ييادهسازي سيستم برميكزيند.
این کار با توجه به صفات كيفيتي و مصالحه بین آنها انجام ميشود.
صفحه 49:
گام چهارم: تهیه مدلهاي ۳۹) نشانهگذاري
oly دمل مدلهاي PIM به مدلهاي
PSM باید از نگاشت آستفاده کنیم.
i لقلا يك نكاشت مشخصدهابي را براي تبسيل فراهم
ميکند.
a در فرآیند نگاشت مدل سکو ماهیت نگاشت را
۱ مي كند. ret orton
Hl براي انجام نگاشت ابتدا باید مدلهاي ۳71۷1 |
نشانه گذاري شوند.
لها يك نشانه تعيين مىكند يك موجوديت در
1 جكونه بايد به موجوديتي در 15111
تبديل شود.
صفحه 50:
گام پنجم: تهیه مدلهاي PCO
اقا گام بعدي این است که ]11 نشانهگذاري شده به يك ]31۷ تبدیل شود.
لقلا ميتواند بصورت دستي, نیمه خودکار. یا تمام خودکار انجام شود.
اقا ورودی به اين گام ]11۷ نشانه گذاری شده و يك نگاشت است.
Hl خروجى نيز 251101 است.
Maps to
صفحه 51:
گام ششم: تهیه مدلهاي Sass PCO
il بصورت مشابه براي تبدیل مدلهاي
4 به ]۳9 ابتدا PSM xt
نشانه گذاري شود.
صفحه 52:
كام هفتم: تولید کد
!قا در آخرين كام كدهاي اجرايي توليد ميشود. 4
Hl امکان انجام مهندسي معکوس نیز وجود ۳۳
Maps t 2-8 Maps to
CORBA Java/EJB Other
Model Model Aes Model
| Maps to | Maps to [aps to
CORBA Java/EJB aus Other
صفحه 53:
استانداردها و فرآمدلها
Finance
Manufacturing E-Commerce
Space 4 Telecom
Transportation HealthCare
More.
صفحه 54:
استانداردها و فرآمدلها
نگاشت
به
PSM ١
Time
نكاشت
PSM «PIM
(خاص يك سکو)
صفحه 55:
استانداردها و فرآمدلها
صفحه 56:
چارچوب. مفهومي 2006)
صفحه 57:
صفحه 58:
مزاياي معماري مدلرانه
الق os نويسي دستي رفتار يك مدل حذف ميشود.
لكآ تمرکز بر روي مدلها باعث طراحي بهتر و دقیقتر ميشود.
Bl انقلابی در افزایش سطح تجرید
il جداسازي قواعد کاري از محیط پيادهسازي
صفحه 59:
تهدیدات فراروي معماري مدلرانه
Bl پشتيباني کامل از يكپارچگي مدلها
1 مديريت اكأسنترشن روزافزون فنآوريهاي مختلف
افزایش بلوغ ابزارهاي MDA
فا تبدیل مدلها
ات هماهنگي بین نگاشت مدلها
al ابزارهايي براي آزمون مدلرانه
تا کمپایلر مدل
صفحه 60:
اطلاعات بيشئر ...
سس (a
http://www.omg.org/
http://www.omg.org/mda/