جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
ابزار متاکيس (MetaCASE tool)
-(9 Body) 
ابزار متاکيس (MetaCASE tool)
Visitor 1471
Category: دنياي فن آوري
ابزار متاکيس نوعي نرم افزار کاربردي است که امکان استفاده بيش از يک metodic يا نماد گذاري در طول فرآيند توسعه نرم افزار را فراهم مي سازد.
تعريف ديگر – ابزار متاکيس، ابزارهاي نرم افزاري هستند که طرّاحي و توليد ابزار CASE را پشتيباني مي کنند. به طور کلّي ابزارهاي متاکيس بايد مؤلّفه هاي عمومي ابزار کيس را فراهم کنند تا آن ها بتوانند سفارشي شده و نيز در ابزارهاي کيس ويژه معرّفي شوند. هدف ابزارهاي متاکيس، تسخير خصوصيّات ابزار مورد نياز و سپس توليد ابزار از خصوصيّات است.

? مرور کلّي بر ابزارهاي کيس
 

ساختن نرم افزار کاربردي در مقياس بزرگ، فرآيندي بسيار پيچيده است و به آساني نمي توان آن را کنترل کرد. شرکت هاي نرم افزاري بايد سيستم مناسبي براي همکاري تيم هاي توسعه داشته باشند و اين امر مستلزم نظم کاري بالاست.
با اين وجود، استفاده از ابزارهاي کيس براي بالا بردن سرعت توسعه نرم افزار و اطمينان از طرّاحي سطوح بالاتر برنامه هاي کاربردي، روشي نوين است. به هرحال پيامدهاي ديگري هم وجود دارد که بايد به خاطر سپرد. اوّل اين که همه کاربرد اين ابزارها، نتايج خوب را تضمين نمي کند چون آن ها معمولا بزرگ، پيچيده و براي توليد شدن و پذيرش خيلي پر هزينه هستند.
ابزارهاي کيس بسته به فاز عمليّات توسعه نرم افزاري که قرار است آن را پشتيباني کنند، به دو دسته تقسيم مي شوند : ابزارهاي نرم افزار نهايي (Front end) يا ابزارهاي پشتيبان (Back end). به عنوان مثال، ابزارهاي تحليل و طرّاحي نرم افزار نهايي در مقابل ابزارهاي پياده سازي پشتيباني قرار دارند. وقتي مهندسان نرم افزار برروي يک پروژه کاربردي به خصوص کار مي کنند، انتخاب ابزار کيس اصولا تحت تأثير عواملي از قبيل اندازه پروژه، متدولوژي مورد استفاده، قابليّت دسترسي ابزارها، بودجه پروژه و تعداد افراد درگير تعيين مي شود. براي برخي موارد کاربرد، يک ابزار مناسب ممکن است در دسترس نباشد يا اين که پروژه خيلي کوچک باشد و سود چنداني نداشته باشد.
ايزارهاي کيس تعداد مشخّصي از متدولوژي ها را پشتيباني مي کنند ولي سازمان هاي توسعه نرم افزار به صورت پويا متدولوژي هاي پذيرفته شده خود را تغيير مي دهند.

? تفاوت هاي بين ابزارهاي متاکيس و کيس
 

اغلب ابزارهاي کيس مدل سازي شي گرا به شدّت بر پايه روش UML استوار هستند. همچنين يک متد توابع ديگر ابزار کيس را ديکته مي کند؛ مثلا اين که مدل ها چگونه ساخته، تست و تحليل مي شوند و چگونه کد مي تواند توليد شود. به عنوان نمونه، يک ابزار تنها در صورتي مي تواند تعاريف زبان معرّف واسط CORBA را توليد کند که زبان مدل سازي بتواند به اندازه کافي واسط هاي مورد قبول CORBA را تعيين و تحليل کند. در صورتي که ابزار (و متد) آن ها را توليد نکند، پشتيباني براي کار کردن برروي پياده سازي و طرّاحي واسط (آن هم اگر داشته باشد) خيلي کم است.
توسعه دهندگان در هنگام استفاده از متدها اغلب با مشکلات مشابهي مواجه مي شوند. آن ها نمي توانند دامنه کاربرد و سيستم تحت توسعه را به طور مناسب مشخّص کنند زيرا آن متد نمي تواند مفاهيم کلّي يا نشانه گذاري هاي را نزديک به وظيفه فراهم کنند. خواندن و درک مدل ها ممکن است براي کاربران نهايي دشوار باشد چون که آن ها با مفاهيم مدل سازي آشنا نيستند. معمولا براي آن ها فهم نگاشت مفاهيم و معناهاي به کار رفته در مدل ها به دامنه کاربردشان نيز دشوار است. پس از ساختن مدل ها، در صورت مشخّص نشدن دامنه کاربرد به اندازه کافي، ابزار نه گزارش هاي مورد نياز را فراهم کرده و نه کد مورد استفاده را توليد مي کند.
آن گاه آن چه مورد نياز است همان توانايي تسخير مشخّصات هر متد به آساني و همچنين توليد ابزارهاي کيس به صورت خودکار از اين مشخّصات است. بعدا موقعي که وضعيّت دامنه کاربرد و همچنين محيط توسعه تغيير کرد، شما مي توانيد به صورت فزاينده اي، متد پشتيباني در ابزار کيس تان را به روز کنيد. اصولا اين همان چيزي است که تکنولوژي متاکيس ارائه مي دهد.

? چگونه متاکيس کار مي کند ؟
 

ابزارهاي کيس سنّتي بر پايه يک معماري دو سطحي هستند : طرّاحي هاي سيستم در يک مخزن ذخيره شده اند که مدل آن ها در ابزار کيس برنامه نويسي و کامپايل مي شوند. اين بخش hard coded نوع مدل هاي ساخته شده و چگونگي تحليل آن ها را تعريف مي کند. مهم تر اين که، تنها فروشنده ابزار مي تواند متد را تغيير دهد زيرا آن در کد ثابت شده است. تکنولوژي متاکيس، اين محدوديّت را با به کار گيري متدهاي قابل انعطاف از بين برده است.
اين امر با اضافه کردن يک سطح بالاي سطح متد انجام پذير است.
ابزارهاي متاکيس، يک معماري سه سطحي دارند.
(شکل مقابل – ساختار ابزار کيس و متاکيس)
1) پايين ترين، سطح مدل، شبيه سطح مدل در ابزارهاي CASE مي باشد. آن شامل مدل ها و طرح هاي سيستم است.
2) سطح مياني، دربرگيرنده يک مدل از متد مي باشد؛ يعني يک متامدل. يک متامدل شامل مفاهيم، قوانين و نماد گذاري هاي رسم نمودار متد فرضي است. به عنوان مثال، يک متامدل ممکن است در مورد مفاهيمي همچون کلاس و ارث بري تصريح کند که آن ها چگونه با يکديگر رابطه دارند و يا چگونه نمايش داده مي شوند. به هر حال، به جاي اين که کد در ابزار قرار بگيرد، در يک ابزار کيس مشخّص، متد به عنوان داده در مخزن ذخيره مي شود. اخيرا کاربرد متامدل ها عمومي تر شده است. بسياري از کتب متد امروزه شامل متامدل هاي متدشان و چندين نوآوري مهم هستند؛ از قبيل XMI که مبتني بر متامدل هستند. برخلاف يک ابزار کيس، يک ابزار متاکيس به کاربر اين امکان را مي دهد تا متامدل را اصلاح کند. از اين رو، متاکيس به قابليّت انعطاف مشخّصه هاي متد بستگي دارد.
3) اين امر با داشتن لايه سوم و بالاتر به دست مي آيد که شامل زبان مدل سازي متا براي مشخّص کردن متدها مي باشد. اين سطح همان بخش hard coded نرم افزار متاکيس مي باشد.
تمامي اين سطوح به شدّت باهم در ارتباطند : يک مدل مبتني بر يک متامدل است و به نوبه خود به يک زبان متامدل سازي وابسته است. واضح است که هيچ مدل سازي بدون تعدادي از انواع متامدل ممکن نيست. اين ساختار وابستگي شبيه وابستگي بين اشيا، کلاس ها و متاکلاس ها در برخي زبان هاي برنامه نويسي شي گرا مي باشد.

? ابزارهاي متاکيس
 

فهرستي از ابزارهاي متاکيس در دسترس عبارتند از :
Alfabet
ArgoUML
ConceptBase
Coral
GME
IPSYS TOOLBUILDER
MetaEdit+ (دنياي نرم افزار هدايت مدل سازي با دامنه خاص)
Metamill
MetaView
OpenSoul Metamodeler
Paradigm Plus توليد شده توسّط شرکاي کامپيوتري.
? OpenSoul Metamodeler
OpenSoul Metamodeler يک MOF است که مبتني بر ابزار کيس متامدل سازي است. آن برروي MDR (مخزن متاداده Netbeans) و JGraph ساخته شده است و بخش از پروژه OpenSoul است که قصد دارد تا يک framework براي به اشتراک گذاري مدل ها بين اعضاي انجمن متامدل سازي باشد.
? پروژه OSM توسّط تيم کوچکي از دانشجويان و اساتيد ساختمان IT دانشگاه Economy پراگ ساخته شده است. OSM به زبان جاوا ايجاد شد و مبتي بر MOF، استانداردهاي OMG، JMI، مخزن متاداده Netbeans، مؤلّفه هاي JGraph و استانداردهاي W3C است. آن با برخي ابزارهاي کيس و متاکيس موجود مانند MetaEdit+، DOME، ArgoUML و Poseidon براي UML و شبيه ساز رياضي خطوط راهنماي سياست مالي شرکت القا شده بود.
? Metamill
Metamill، يک ابزار مهندسي round trip (زماني بين ارسال يک بسته اطلاعاتي از مبدأ به مقصد و برگشت آن را round trip نامند) است. مهندسي مي تواند مدل ها را با توليد کد C++، Java، C#، C و VB.NET با کمک نشانگرهاي کد ارسال کند تا تغييرات شما حفظ بماند.
سيستم متامدل مبتني بر استاندارد UML 2.1 است. فايل هاي مدل، فايل هاي XML هستند که بر پايه استاندارد XMI 2.1 استوارند.
Metamill به خاطر نياز به کاهش هزينه، ابزار مدل سازي سريع و پيشرفته UML ايجاد شد. ايده محرّک آن، پشتيباني از مدل سازي ويژوال ابداعي است که تنها جنبه هاي مورد نياز را پيشنهاد مي کند.
همان گونه که طرّاحان شخصي براي مهندسي و مدل سازي UML به يک ابزار پيشرفته و در عين حال از نظر هزينه قابل کنترل نيازمندند، Metamill نيز براي گروه هاي مهندسي نرم افزار مناسب است.

? پروژه هاي تحقيقاتي متاکيس
 

MetaCASE در دانشگاه ساندرلند، بريتانيا.
Method Engineering در دانشگاه Twente کشور هلند.
ConceptBase از Rheinisch Westfälische Hoschule در آخن (آلمان) که در واقع به طور قياسي اشيا را براي پايگاه هاي داده متا مديريّت مي کند. آن Teloها را به همراه يک زبان مدل سازي ادراکي با خصوصيّات شي گرايي و قياسي پياده سازي مي کند.
GOODSTEP از دانشگاه دورتموند (آلمان) يک پايگاه داده شي گرا براي فرآيندهاي نرم افزاري است. در بالاي پايگاه داده دو مولّد ابزار و يک سيستم مدل سازي و تصويب کننده فرآيند نرم افزاري ايجاد شده است.
Hardy از مؤسّسه کاربردهاي هوش مصنوعي در ادينبورو (اسکاتلند)، يک ابزار ترسيم دياگرام مبتني بر فرامتن (hypertext) است. آن برروي سيستم هاي Sun و همچنين PCها قابل اجراست.
HotDraw از ساختمان علوم کامپيوتر واقع در دانشگاه Illinois در Urbana Champaign (ايالات متّحده امريکا)، يک framework گرافيکي براي ويرايشگرهاي ترسيم ساخت يافته با انيميشن هستند. آن براي ايجاد بسياري از ابزارهاي گوناگون CASE به کار مي رود.

? فوايد واقعي استفاده از ابزارهاي متاکيس
 

جکسون تفاوت اساسي بين يک دامنه کاربرد و کد آن را اين گونه تشخيص مي دهد : دو دنياي متفاوت، هر کدام با زبان، متخصّصان و روش هاي تفکّر خودشان .... يک برنامه کاربردي تمام شده، اشتراک بين اين دو جهان را تشکيل مي دهد. وظيفه دشوار مهندس نرم افزار، ساخت پلي بين اين دو جهان در ضمن حلّ مسائل در هر دو جهان است.
مطالعات تجربي به طور توافقي نشان داده اند که تنها در نيمه نخست تمام پروژه هاي توسعه، متدها به کار گرفته مي شوند. ضمن به کار گيري متدها، بيش از %50 اصلاح متدها منجر به تطبيق بهتر آن ها با نيازها يا حتّي توسعه متد خودشان شده است.
در يک ابزار کيس استاندارد، متد پشتيباني شده توسّط ابزار، مشخّص و ثابت است : آن نمي تواند تغيير کند. در يک ابزار متاکيس، براي تغيير متد، يا حتّي ايجاد يک متد کاملا جديد، آزادي کامل وجود دارد. مدل ها و متامدل ها، هر دو (توصيفات متد) به عنوان عناصر درجه اوّل در مخزن محسوب مي شوند. پس براي يک سازمان اين امکان به وجود مي آيد که متدي را ايجاد کنند که با نيازها و موقعيّت شان سازگار باشد و همچنين بتوانند آن آگاهي و دانش را به تمامي توسعه دهندگان انتشار دهند. آن گاه ابزار و متدي که توسعه دهندگان را هدايت مي کند، يک framework مشترک براي کار کردن آن ها به وجود مي آورد و کار را براي کلّ گروه يکپارچه مي کند.
نمونه هاي اوّليّه تحقيق و حتّي ابزارهاي متاکيس تجاري، سال هاي زيادي وجود داشته است ولي تنها اخيرا ابزارهايي به وجود آمده است که کامل شده اند و براي توسعه دهنده متد و نيز کاربر متد user friendly و پايدار شده اند. يکي از شناخته شده ترين و پرکاربردترين ابزارهاي متاکيس، MetaEdit+ مي باشد.
فهرست ذيل انواع مختلفي از روش هايي که اين ابزارها مي توانند در طول توسعه نرم افزار به کار گرفته شوند را نشان مي دهد :
کاهش زمان و هزينه براي ايجاد يک محيط به کمک کامپيوتر
پشتيباني از متدهاي توسعه رسمي نرم افزار
پشتيباني از تطبيق محيط هاي توسعه
مي توانند به عنوان يک ابزار مدل سازي اطّلاعاتي سيستم ها به کار گرفته شوند
پشتيباني از متدهاي ساختار يافته
پشتيباني از طرّاحي و تحليل شي گرا
مي توانند به عنوان يک ابزار مدل سازي منطقي استفاده شوند
پشتيباني از طيف وسيعي از متدها
کمک به آموزش CASE
اين ابزارها همچنين بايستي مشخّصه هاي ذيل را دارا باشند :
ايجاد امکان براي کاربران تا بتوانند متدي را ايجاد کنند که متدهاي مهندسي نرم افزار خودشان را با منحني آموزشي کم، پشتيباني کنند
استفاده آسان از ابزار گرافيکي CASE براي پشتيباني از تعامل هاي ساده و کاراي کاربر
توانايي بررسي پايداري مدل حتّي در زمان اجرا
داشتن امکان توليد گزارش استاندارد
داشتن قابليّت تبديل از يک متد به متد ديگر
داشتن قابليّت تزريق معيار متري CASE
داشتن ابزار مديريّت پيچيدگي براي ايجاد ديدهاي محدود و نمايش هاي ريز مدل
داشتن ورودي محاوره اي پيچيده و مصنوعي براي ايجاد و اصلاح داده هاي مدل
پشتيباني از متدهاي چندگانه و قابل سفارشي شدن

منبع:www.aftabir.com
ارسال توسط کاربر محترم سايت : mohamadaminsh
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image