گزارش سمینار جایگاه MDA در معماری سیستم های سازمانی

تعداد صفحات: 116 فرمت فایل: word کد فایل: 10002039
سال: 1384 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۱۸,۲۰۰ تومان
قیمت: ۱۶,۱۰۰ تومان
دانلود مقاله
  • خلاصه
  • فهرست و منابع
  • خلاصه گزارش سمینار جایگاه MDA در معماری سیستم های سازمانی

    مهندسی کامپیوتر

    گزارش سمینار کارشناسی ارشد

    فصل اول – مقدمه                                                                                                      

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

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

    ١-١ از محاسبات ماشینی تا محاسبات سازمانی

    برنامه نویسهای اولیه که به آنها کدکننده ١ گفته می شد،دستوراتشان را به شکل صفر و یک برای کامپیوتر بیان می کردند. این الگوی متشکل از صفر و یک متناظر با زبان طبیعی CPU بود که به آن زبان ماشین گفته می شد. این روش امروزه بسیار ناکارآمد به نظر می رسد، اما برای برخی از کاربردهای خاص که در آنها سرعت محاسبه از اهمیت بالایی برخوردار است ، اجتناب ناپذیر است . همچنین این روش به برنامه نویسان اجازه می دهد از حافظه به بهترین شکل استفاده کنند. با این حال ، چنین روشی به دلیل هزینه بسیار بالای آن در تولید نرم افزار غیر عملی است .

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

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

    گرچه زبان اسمبلی کار با صفر و یک را ازبین برد، اما همچنان برنامه نویسی بر اساس مجموعه دستورات یک پردازنده انجام می شد. این مجموعه دستورات ، مجموعه ای از مفاهیم بسیار سطح پایین است . یک روال ساده برای خواندن یک مقدار از یک جدول داده و بعد انجام یک محاسبه مثل محاسبه میزان مالیات بر روی آن به صدها خط دستور زبان ماشین و به تبع آن صدها خط برنامه اسمبلی (یک خط اسمبلی برای هردستور ماشین ) نیازداشت . به کارگیری زبانهای نسل سوم (3GL) گامی بسیار بلند در راستای افزایش بهبود صنعت نرم افزار بود. حتی زبانهای اولیه نسل سوم مثل فرترن و کوبول نیز سطح تجریددستورات ماشین را افزایش دادند. از این به بعد برنامه نویسان با ساختارهای بسیار سطح بالاتر سر و کارداشتند. یکدستور PRINT ساده در زبان فرترن تبدیل به صدها خط در زبان ماشین می شود. کمپایلرها وظیفه تبدیل دستورات سطح بالای زبانهای نسل سوم را به دستورات سطح پایین  ماشین بر عهده داشتند. برنامه زبان ماشین تولید شده توسط کمپایلر نسبت به برنامه زبان ماشین نوشته شده از بهینگی کمتری برخوردار بود. همچنین در اوایل تولید کمپایلرها، برخی خطاهای کمپایلردر تبدیل برنامه وجودداشت . اما به مرور با بهبود کمپایلرها این مشکلات از بین رفت تا جایی که می توان گفت کمپایلرها حتی کدهای بهتری نسبت به برنامه نویسان تولید می کردند. استفاده از زبانهای نسل سوم باعث کاهش قابل ملاحظه خطوط برنامه ها شد که در نتیجه هزینه تولید برنامه ها کاهش یافت .

    زبانهای 3GL با افزایش سطح تجرید باعث راحتی برنامه نویسی ، کاهش خطاها، و افزایش کیفیت برنامه ها گردید. همچنین ، چون دیگر برنامه ها به پردازنده وابسته نبودند، به راحتی می توان برنامه ها را بر روی هر ماشینی که کمپایلر آن زبان راداشت ، اجرا کرد. به این شکل ، قابلیت حمل ودر نتیجه ماندگاری برنامه ها افزایش چشمگیری یافت . یک باردیگر سه فاکتور اصلی صنعت نرم افزار بهبود یافت که این بار این بهبود مرهون زبانهای نسل سوم است .

    همان طور که زبانهای 3GL باعث بالا رفتن سطح تجرید محیط برنامه نویسی شدند، ایجاد سیستمهای عامل نیز سطح تجرید سکوهای محاسباتی را افزایش دادند. اگر قرار باشد کمپایلرهای 3GL خودشان برای عملیاتی مثل عملیات دیسک و صفحه نمایش تولید کد کنند، کارشان بسیار مشکل تر از زمانی می شد که این وظیفه به سیستم عامل واگذار شود. در واقع سیستمهای عامل با افزایش سطح تجرید ماشین ، کار را برای زبانهای نسل سوم بسیار ساده کردند.

    با افزایش پیچیدگی نرم افزارها و افزایش توقع بازار از نرم افزارها، دیگر محاسبات کاربردی بر اساس زبانهای نسل سوم نمی توانست نیازهای صنعت نرم افزار را برآورده کند. زبانهای ساخت یافته نسل سوم جای خودشان را به زبانهای شی ءگرای نسل سوم همچون Smalltalk و ++C دادند. این نوع از زبانها با افزایش قابلیت استفاده مجدد باعث کاهش هزینه های تولید شدند. برخی از این زبانها یک مفسر به نام ماشین مجازی ٢ را معرفی کردند که می توانست کدهای میانی حاصل از برنامه این زبانها را اجرا کند. Java و #C نمونه هایی از این مفسرها هستند. این کدهای میانی مستقل از پردازنده و سیستم عامل بودند و به این شکل قابلیت حمل بسیار بالایی داشتند. این قابلیت حمل بالا باعث افزایش ماندگاری برنامه ها شد.

    در طی زمان ، تقاضاها برای خودکارسازی بخشهای مختلف یک سازمان همچنان افزایش یافت . دیگر ایجاد تعدادی واحد مجزا در سازمان برای خودکارسازی محاسبات هر بخش کافی به نظر نمی رسید.

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

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

    ١-٢ مشکلات پیش روی صنعت نرم افزار

    در این مورد که مشکلات دشواری پیش روی مدیران IT و پیشگامان توسعه نرم افزار وجود دارد، شکی نیست . این مشکلات برای وظیفه مندی سازمانهای مدرن امروزی یک چالش اصلی به حساب می آید. ایجاد سیستمهای سازمانی نیاز به کار طاقت فرسا ودقیق دارد و توسط برنامه نویسان بسیار باتجربه باید انجام شود. رشد روزافزون فن آوری اطلاعات این واقعیت را تغییر نداده است که توسعه سیستمهای سازمانی باید توسط افراد ماهر و باتجربه انجام شود. این توسعه دهندگان منابع پرهزینه ای هستند که باعث افزایش قابل ملاحظه هزینه تولید پروژه های سیستمهای سازمانی می شود.

    همچنین بسیاری از سرمایه گذاریها بر روی توسعه نرم افزار نتایج مایوس کننده ایداشته اند٣. در بیشتر مواقع ، تولید نرم افزارها آنچنان فراتر از بودجه خودشان حرکت کردند که سرانجام توسط کارفرمایان متوقف شده اند (که خود به نوعی شکست به حساب می آید). برخی از سیستمها نیز که در ابتدا به نظر موفق می رسیدند، پس از گذشت مدت زمانی ، بی ثبات و غیر قابل انعطاف از کاردرآمدند.

    امروزه از نرم افزارهای سازمانی انتظار می رود مدیریت کامل اطلاعات رادرداخل سازمان انجام دهند.

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

    ٣”٨٥ درصد از بخشهای IT در ایالات متحده آمریکا نتوانستند نیازهای کاری استراتژیک سازمانشان را برآورده کنند.“ – به نقل از:

    Computer World, October 11, 1999.

    در بسیاری از موارد باید در نظر گرفته شود. اینها گوشه ای از نیازها و مشکلاتی است که پیش روی صنعت نرم افزار و سیستمهای سازمانی قرار دارد.

    ١-٣ معماری مدل گردان (MDA) چیست ؟

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

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

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

    ١-٤ هدف این گزارش سمینار چه هست و چه نیست ؟

    با این که زمان زیادی از معرفی MDA به جامعه صنعت نرم افزار نمی گذرد و هنوز استاندارهای آن کاملاً تکمیل و معرفی نشده است ، با این حال تلاشهایی در جهت استفاده از آن در توسعه و یکپارچه سازی سیستمهای سازمانی در حال انجام است .

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

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

    برای رسیدن به یک معماری سازمانی مطلوب باید یک متدلوژی معماری سازمانی و همچنین یک چارچوب معماری سازمانی نیز داشته باشیم . در این گزارش قصد نداریم به معرفی و ابداع متدولوژیهای معماری سازمانی به کمک MDA بپردازیم . همچنین نمی خواهیم یک چارچوب معماری سازمانی ارائه کنیم .

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

    ١-٥ ساختار این گزارش

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

    • فصل اول : مقدمه (همین فصل ) که به بیان کلیات ،دیدگاه ها، و اهداف موضوع جایگاه

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

  • فهرست و منابع گزارش سمینار جایگاه MDA در معماری سیستم های سازمانی

    فهرست:

    -٢-١ معرفی MDA ....................................................................................................................٣٢

    ٣-٢-٢ مفاهیم پایه ای.....................................................................................................................٣٣

    ٣-٣  چگونه MDA به کار گرفته می شود؟ ......................................................................................٣٨

    ٣-٣-١ تهیه مدلهای CIM .............................................................................................................٣٨

    ٣-٣-٢ ایجاد مدلهای PIM............................................................................................................39

    ٣-٣-٣ تهیه مدل سکو ...................................................................................................................٣٩

    ٣-٣-٤ نگاشت (Mapping)..........................................................................................................39

    ٣-٣-٤-١ نگاشتهای نوع مدل (Model Type Mappings).....................................................40

    ٣-٣-٤-٢ نگاشتهای نمونه مدل (Model Instance Mappings)............................................40

    ٣-٣-٤-٣ نگاشتهای ترکیبی نوع و نمونه ..................................................................................٤١

    ٣-٣-٤-٤ مدلهای علامت گذاری شده (Marking Models)..................................................41

    ٣-٣-٤-٥ الگوها (Templates)................................................................................................42

    ٣-٣-٤-٦ زبان نگاشت (Mapping Language) .....................................................................٤٢

    ٣-٣-٥ علامت گذاری یک مدل ....................................................................................................٤٢

    ٣-٣-٦ تغییر شکل (Transformation) ........................................................................................٤٣

    ٣-٣-٧ تغییر شکل مستقیم به کد...................................................................................................٤٤

    ٣-٣-٨ سابقه تغییر شکل (Record of Transformation)...........................................................44

    ٣-٣-٩ تهیه PSM..........................................................................................................................44 فصل چهارم : MDA و معماری سازمانی

    ٤-١  مقدمه .......................................................................................................................................٤٧

    ٤-٢  رده بندی پایه ای مدلها...............................................................................................................٤٩

    ٤-٣  توسعه تدریجی ........................................................................................................................٥٢

    ٤-٤  چگونه مدلها با یکدیگر متحد می شوند؟.................................................................................٥٢

    ٤-٥  نقشهای فرآیند MDA..............................................................................................................54

    ٤-٦  تولید مدلهای مختلف سازمانی در سطوح مختلف تجرید .......................................................٥٨

     

     

    ٤-٦-١ مدلهای کاری.....................................................................................................................٥٨

    ٤-٦-٢ مدلهای نیازمندیها ..............................................................................................................٦٠

    ٤-٦-٣ مدلهای مستقل از سکو (PIMs)........................................................................................62

    ٤-٦-٤ مدلهای خاص سکو (PSMs) ...........................................................................................٦٤

    ٤-٦-٥ مدلهای فیزیکی و خودکارسازی استقرار...........................................................................٦٤

    ٤-٧  ردیابی بین سطوح مختلف تجرید ...........................................................................................٦٦

    ٤-٨  هماهنگی بین مدلهادر سطوح مختلف تجرید ........................................................................٦٧

    ٤-٨-١ روش مهندسی پیشرو (Forward Engineering).............................................................68

    ٤-٨-٢ روش مهندسی دوطرفه جزیی (Partial Round-Trip Engineering).............................69

    ٤-٨-٣ روش مهندسی دوطرفه کامل (Full Round-Trip Engineering)...................................70

    ٤-٨-٤ روش مهندسی دو طرفه و قیدهای معماری ......................................................................٧١

    ٤-٩  لایه های مختلف در معماری سازمانی ......................................................................................٧٢

    ٤-١٠ هماهنگی بین لایه ایدر معماری سازمانی ...............................................................................٧٥ فصل پنچم : نتیچه گیری

    ٥-١  مروری بر این گزارش ..............................................................................................................٨٢

    ٥-٢  نتایج حاصل .............................................................................................................................٨٤

    ٥-٣  تعریف یک مساله برای کارهای آتی ........................................................................................٨٦

    ٥-٤  پیشنهادی برای حل مساله ........................................................................................................٨٩

    مراجع و منابع ........................................................................................................................................٩٢

     

    منبع:

    [١] فتح اللهی ع .، بررسی UML از نظر قابلیت پوشش به چارچوب زکمن ، پایان نامه کارشناسی ارشد، دانشگاه شهید بهشتی ،دانشکده مهندسی برق و کامپیوتر، ١٣٨٣.

    [2] Rood M.A., "Enterprise Architecture: Definition, Content, and Utility,"

    IEEE Trans., 1994.

    [3] Zachman J.A., The Zachman Framework: A Primer for Enterprise

    Engineering and Manufacturing, 2003.

    [4] Booch G., Object Oriented Analysis and Design with Applications, The

    Benjamin.Cummings Publishing Company, 2nd Edition, 1994.

    [5] Bass L., Clements P., Kazman R., Software Architecture in Practice, 2nd

    Edition, Addison-Wesley, 2004.

    [6] Hilliard R., IEEE Std 1471 and Beyond, SEI, 2001.

    [7] Zachman J.A., "A Framework for Information System Architecture",

    IBM Systems Journal, Vol.26, No.3, 1987. (Also reprinted in 1999: Vol.38,

    No.2&3, 1999.)

    [8] Booch G., Brown B., Iyengar S., Rumbaugh J., Selic B., An MDA

    Manifesto, MDA Journal, May 2004.

    [9] D'Souza D., Model-Driven Architecture and Integration, Kinetium,

    March 2002.

     

     

    مراجع و منابع                                                                                                          94

    [10] Mellor S., Tokey S., Arthaud R., LeBlanc P., Software-Platform-

    Independent: Precise Action Specifications for UML, OMG document, 1998.

    [11] Viswanathan V., Where to from Zachman, Enterprise Architecture

    Practitioners’ conference, October 2003.

    [12] Hettinger M.T., Model Driven Architecture: Processes & Methodology

    from the Perspective of Modeling Discipline, MDA-IA, May 2003.

    [13] Smith B.S., Zachman, MDA, and Deterministic Phraseology, PCAI,

    2003.

    [14] Harmon P., Enterprise Architectures, Business Process Trends, Vol 2.,

    No. 1, January 2004.

    [15] Frankel D.S., Model Driven Architecture, WILEY, 2003.

    [16] MDA Guide, OMG document, www.omg.org, 2003.

    منابع

    Mellor S.J., Scott K., Uhl A., Weise D., MDA Distilled: Principles of Model-

    Driven Architecture, Addison Wesley, 2004.

    Pilone D., Pitman N., UML 2.0 in a Nutshell, O'Reilly, 2005.

    Hogg J., Applying UML 2 to Model-Driven Architecture, IBM Rational,

    2003.

    Selic B., An Overview of UML 2.0 and MDA, IBM Rational, 2003.

    Siegel  J.,  Developing in OMG's Model-Driven Architecture,  OMG,

    www.omg.org, 2002.

     

     

    مراجع و منابع                                                                                                          95

    Brown A., An Introduction to Model Driven Architecture: MDA and today's

    systems, IBM Rational edge, 2004

    D'Souza D., OMG's MDA: An Architecture for Modeling, Kinetium, 2002.

    Frankel D.S., Model Driven Architecture: Using Industry Standards for

    Total Business Integration, IONA, 2002.

    Frankel D.S.,  Using Model-Driven Architecture to Manage Metadata,

    IONA, 2002.

    Soley R.M., Model Driven Architecture: Three Years On, OMG, 2004.

    Harmon P., MDA: An Architecture for the e-business era, IBM Rational

    edge, 2002.

    Brassard  M.,  Cardinal  M., Addressing Problems with  Model Driven

    Architecture, INT Media, 2002.

ثبت سفارش
عنوان محصول
قیمت