آبجی
21st February 2010, 03:52 PM
مقدمه
شاید برای شما هم این سؤال پیش آمده باشد که چه تغییر مهمی در UML رخ داده است که پس از UML 2.0، UML 1.5 عرضه شد؟ آیا اضافه شدن دیاگرامهای جدید (مثل Timing Diagram) یا بهبود دیاگرامهای موجود (مانند افزودن امکانات بیشتر به Sequence Diagram ) موجب این ارتقاء قابل توجه شده است؟ حقیقت این است که آنچه که موجب این ارتقاء نسخه قابل توجه از 1 به 2 شده است، فراتر از این جزئیات است. آنچه که تولید مدلگرا (Model Driven Development) نامیده میشود، که بر پایه سطح تجرد بالاتر و استفادة بیشتری از تولید خودکار کد نسبت به روشهای سنتی قرار دارد، اثر قابل توجه خود در بهبود کیفیت نرمافزار و بهرهوری تولید نشان داده است. از آنجاییکه نقش زبان مدلسازی برای موفقیت MDD بسیار مهم است، یک تجدید نظر عمده در زبان استاندارد UML انجام شده است که منجر به عرضه UML 2.0 گردیده است. درعین حال که چندین قابلیت جدید مدلسازی اضافه شده است – مانند قابلیت بیان دقیقتر معماری نرمافزار - خصوصیت غالب این بازبینی عمده، زیاد کرد دقچت قابلیت تعریف زبان است که سطح بالاتری از خودکارسازی را فراهم میکند. در ادامه شرح خواهیم داد که UML2.0 چگونه به این موارد دست یافته است و سایر جنبههای مهم آنرا نیز بیان خواهیم کرد. همانگونه که میدانید UML بوسیله تولیدکنندگان بزرگ ابزارهای مدلسازی پذیرفته و پشتیبانی میشود، و بصورت یک بخش ضروری از دانش مهندسی نرمافزار درآمده است و در دانشگاهها نیز تدریس میشود. همچنین نقش مهمی در مدلسازی نرمافزارهای پیچیده ایفا میکند. اما با وجود همه این مزایا همچنان مقاومتهایی در برابر استفاده از UML وجود دارد. دلایل زیادی برای این وضعیت وجود دارد، لکن یکی از مهمترین آنها این است که مدلهای نرمافزار ممکن است در بعضی موارد بسیار نادقیق باشند و ارزش کاربردی هر مدلی با میزان دقت و صحت آن تناسب مستقیم دارد. چنانچه شما نتوانید به یک مدل از یک سیستم نرمافزار اعتماد کنید، بدتر از حالتی است که مدلی وجود نداشته باشد، زیرا ممکن است منجر به تصمیمگیری غلط شما شود. بنابراین بهترین راهحل افزایش ارزش مدلهای نرمافزاری کم کردن فاصلة میان آنها و سیستمی است که آنرا مدل کردهاند. جالب است بدانید - همانطور که در ادامه بیان خواهیم کرد- در مهندسی نرمافزار بیش از سایر رشتههای مهندسی این کاهش فاصله امکانپذیر است.
دانلود مقاله (http://sites.google.com/site/pcdocblogsky/Home/uml2.doc?attredirects=0&d=1)
شاید برای شما هم این سؤال پیش آمده باشد که چه تغییر مهمی در UML رخ داده است که پس از UML 2.0، UML 1.5 عرضه شد؟ آیا اضافه شدن دیاگرامهای جدید (مثل Timing Diagram) یا بهبود دیاگرامهای موجود (مانند افزودن امکانات بیشتر به Sequence Diagram ) موجب این ارتقاء قابل توجه شده است؟ حقیقت این است که آنچه که موجب این ارتقاء نسخه قابل توجه از 1 به 2 شده است، فراتر از این جزئیات است. آنچه که تولید مدلگرا (Model Driven Development) نامیده میشود، که بر پایه سطح تجرد بالاتر و استفادة بیشتری از تولید خودکار کد نسبت به روشهای سنتی قرار دارد، اثر قابل توجه خود در بهبود کیفیت نرمافزار و بهرهوری تولید نشان داده است. از آنجاییکه نقش زبان مدلسازی برای موفقیت MDD بسیار مهم است، یک تجدید نظر عمده در زبان استاندارد UML انجام شده است که منجر به عرضه UML 2.0 گردیده است. درعین حال که چندین قابلیت جدید مدلسازی اضافه شده است – مانند قابلیت بیان دقیقتر معماری نرمافزار - خصوصیت غالب این بازبینی عمده، زیاد کرد دقچت قابلیت تعریف زبان است که سطح بالاتری از خودکارسازی را فراهم میکند. در ادامه شرح خواهیم داد که UML2.0 چگونه به این موارد دست یافته است و سایر جنبههای مهم آنرا نیز بیان خواهیم کرد. همانگونه که میدانید UML بوسیله تولیدکنندگان بزرگ ابزارهای مدلسازی پذیرفته و پشتیبانی میشود، و بصورت یک بخش ضروری از دانش مهندسی نرمافزار درآمده است و در دانشگاهها نیز تدریس میشود. همچنین نقش مهمی در مدلسازی نرمافزارهای پیچیده ایفا میکند. اما با وجود همه این مزایا همچنان مقاومتهایی در برابر استفاده از UML وجود دارد. دلایل زیادی برای این وضعیت وجود دارد، لکن یکی از مهمترین آنها این است که مدلهای نرمافزار ممکن است در بعضی موارد بسیار نادقیق باشند و ارزش کاربردی هر مدلی با میزان دقت و صحت آن تناسب مستقیم دارد. چنانچه شما نتوانید به یک مدل از یک سیستم نرمافزار اعتماد کنید، بدتر از حالتی است که مدلی وجود نداشته باشد، زیرا ممکن است منجر به تصمیمگیری غلط شما شود. بنابراین بهترین راهحل افزایش ارزش مدلهای نرمافزاری کم کردن فاصلة میان آنها و سیستمی است که آنرا مدل کردهاند. جالب است بدانید - همانطور که در ادامه بیان خواهیم کرد- در مهندسی نرمافزار بیش از سایر رشتههای مهندسی این کاهش فاصله امکانپذیر است.
دانلود مقاله (http://sites.google.com/site/pcdocblogsky/Home/uml2.doc?attredirects=0&d=1)