موضوع مقاله: زبان مدل‌سازی یکپارچه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # زبان مدل‌سازی یکپارچه | مقدمه: زبان مدل‌سازی یکپارچه یا «یو ام‌ال»، یک زبان مدلسازی همه منظوره استاندارد در زمینه مهندسی نرم‌افزار است که توسط گروه مدیریت شی ایجاد شد. | ## بخش 1: زبان مدل‌سازی یکپارچه | در حال حاضر (۲۰۱۴ میلادی) آخرین نسخه این زبان نسخه ۲٫۴٫۱ است که در سال ۲۰۰۷ میلادی مشخصات آن منتشر شد زبان مدلسازی یک‌لخت نسخه ۲٫۲ در سال ۲۰۱۲ نسخه ۲٫۵ این زبان مدلسازی نیز تولید شد که این نسخه در سال ۲۰۱۵ به صورت عمومی منتشر گردید. با استفاده از یو ام‌ ال می‌توان تقریباً هر گونه برنامه کاربردی که ممکن است بر روی هر ترکیبی از سخت‌افزار، سیستم عامل، زبان برنامه‌نویسی و شبکه اجرا شود را مدلسازی نمود. طراحی بر پایه مفاهیم شی گرایی یو ام‌ال سبب می‌شود که ذاتاً با محیط‌ها و زبانهای برنامه‌نویسی شی گرا (مانند سی پلاس پلاس، جاوا و سی شارپ) سازگاری کامل داشته باشد، اگرچه می‌توان از آن برای مدلسازی برنامه‌های غیر شی گرا مانند برنامه‌هایی که با زبان‌های بیسیک، کوبول و فرترن نوشته می‌شوند نیز استفاده نمود. مقدمه‌ای بر یو ام‌ال مرور کلی یوام ال یک زبان مدلسازی نسل سوم است و روشی باز برای توصیف ویژگی‌ها، نمایش گرافیکی، ساختن و مستندسازی اجزای یک سیستم نرم‌افزاری در حال توسعه است. از یو ام‌ال برای فهمیدن، طراحی، مرور، پیکربندی، نگهداری و کنترل اطلاعات سیستم‌های نرم‌افزاری استفاده می‌شود. یو ام‌ال برای همه روش‌های توسعه نرم‌افزار، همه مراحل چرخه عمر نرم‌افزار، همه حوزه‌های برنامه‌های کاربردی و هر رسانه‌ای قابل استفاده است. این زبان مدلسازی برای یک‌لخت‌سازی تجربیات گذشته در مورد تکنیک‌های مدلسازی و گنجاندن تجربیات موفق در یک دیدگاه استاندارد به وجود آمده‌است. این زبان شامل فرایند مرحله به مرحله تولید نرم‌افزار نیست، بلکه یو ام‌ال زبانی است که تقریباً تمام شیوه‌های تولید نرم‌افزار از آن استفاده می‌کنند. یو ام‌ال تکنیک‌های مدلسازی داده (نمودار رابطه موجودیت)، مدلسازی تجاری، مدلسازی شی و مدلسازی مؤلفه‌ها را با هم ترکیب می‌نماید. بازیابی شده در ۹ نوامبر ۲۰۰۸ پیش از پیدایش یو ام‌ال در اواسط دهه ۱۹۹۰، مدلسازی نرم‌افزار از مشکل ناسازگاری نماد گذاری‌های مختلفی که توسط متخصصین مدلسازی مختلف به وجود می‌آمد رنج می‌برد و استاندارد همه‌گیری در این زمینه وجود نداشت. پیدایش یوام ال همه چیز را تغییر داد و باعث رشد چشمگیر مدلسازی تصویری و استفاده گسترده از این زبان شد. یو ام‌ال امروزه نقش یک زبان بین‌المللی را در زمینه تولید نرم‌افزار بر عهده دارد. مؤسسه آماری گارتنر در سال ۲۰۰۶ تعداد متخصصان فناوری اطلاعات که از یو ام‌ال استفاده می‌نمودند را ۱۰ میلیون نفر برآورد نمود و همچنین تخمین زده‌است که در سال ۲۰۰۸ هفتاددر صد شرکت‌های تولید نرم‌افزار در سراسر دنیا از یو ام‌ال استفاده کرده‌اند. روش‌های تولید نرم‌افزار برای زبان‌های برنامه‌نویسی سنتی دردهه۱۹۷۰ ظهور کرد و در دهه ۱۹۸۰ همه گیر شد. اگرچه نتایج آن‌ها همواره رضایت بخش نبود اما این روش‌ها متضمن ایده‌های خوبی بودند که به ندرت استفاده مؤثری از آن‌ها می‌شد. شرکت‌های تجاری راغب با به‌کارگیری روش‌های تولید نرم‌افزار و سیستم‌های رایانه‌ای مهندسی نرم‌افزارنبودند. بیشتر آن‌ها نرم‌افزارها را برای استفاده داخلی و رفع نیازهای خود تولید می‌کردند و نیازی به بررسی این نرم‌افزارها توسط سازمان‌های خارجی نبود. در طی پنج سال بعدی کتاب‌های متعددی در این زمینه تألیف شد که هریک تعاریف، مفاهیم و نمادگذاری‌های خاص خود را داشتند، اما در مجموع شباهت زیادی بین مفاهیم ارائه شده توسط نویسندگان مختلف وجود داشت. اولین تلاش موفقیت‌آمیز برای ترکیب و جایگزینی روش‌های موجود در سال ۱۹۹۴ وقتی به وجود آمد که رمباف به شرکت رشنال سافتور رفت و به بوچ پیوست. | ## بخش 2: زبان مدل‌سازی یکپارچه | این دو مفاهیم تکنیک مدل‌سازی شی و روش بوچ را ترکیب کردند و اولین طرح خود را در سال ۱۹۹۵ ارائه دادند. در سال ۱۹۹۶ گروه مدیریت شی (OMG) درخواست پیشنهادهایی برای استاندارد مدل‌سازی شی گرا را مطرح نمود. نویسندگان یو ام‌ال (یاکوبسون، بوچ و رمباف) با همکاری گروهی از برنامه نویسان و متدولوژیست‌های دیگر طرح پیشنهادی خود را به OMG ارائه کردند. طرح‌های دیگری هم به OMG ارائه شد که در نهایت همه پیشنهادات در طرح نهایی یو ام‌ال که در سال ۱۹۹۷ به OMG تحویل داده شد، ادغام شدند. پس از چندین سال تجربه استفاده از یو ام‌ال در صدد برآمدند تا یو ام‌ال را ارتقاء دهند تا مشکلاتی که در تجربیات کاری پدیدار شده بودند را بر طرف کنند و قابلیت‌های آن را گسترش دهند. طرح‌های پیشنهادی ارائه شدند ومشخصات یو ام‌ال ۲ در سال ۲۰۰۳ توسط OMG پذیرفته شد؛ و پس از نهایی‌سازی در اواخر ۲۰۰۴ در دسترس عموم قرار کرفت. مفاهیم بنیادین یو ام‌ال مفاهیم یو ام‌ال در قالب دسته‌هایی به نام دید(view) طبقه‌بندی می‌شوند. هر «دید» در واقع زیرمجموعه‌ای از ساخت‌های مدلسازی است که یک جنبه از سیستم را نمایش می‌دهند. این دید، ایستا نامیده می‌شود زیرا رفتارهای وابسته به زمان سیستم را توصیف نمی‌کند. دید طراحی (Design View): در حالی که دید ایستا مفاهیم برنامه کاربردی را از دیدگاه منطقی مدل می‌کند، این دید ساختار طراحی خود برنامه را مدل می‌کند. نمودارهای پیاده‌سازی که در این دید مورد استفاده قرار می‌گیرند عبارتند از: نمودار ساختار مرکب، نمودار همکاری و نمودار مولفه دید مورد کاربرد(Use Case view): این دید کارکرد یک موضوع (مثلاً یک سیستم) راآن طور که توسط عاملین خارجی که عملگر(Actor) نامیده می‌شوند و با موضوع مورد نظر (سیستم) در یک دیدگاه خاص تعامل دارند نمایش می‌دهد. یک مورد کاربرد در واقع یک واحد کارکرد است که به صورت برهمکنش میان عملگروموضوع بیان می‌شود. یک رفتار به صورت تغییراتی در وضعیت سیستم توصیف می‌شود که در دید ایستا ترسیم می‌شوند. این دید از دو نمودار برای نمایش استفاده می‌کند که هریک روی دیدگاه خاصی تمرکز یافته‌اند: نمودار ارتباطات و نمودار توالی دید فعالیت (Activity View): یک فعالیتدر واقع گردش کنترل در میان فعالیت‌های محاسباتی درگیر در انجام یک محاسبه یا گردش کار است. یک مصنوع در این نمودار یک واحد پیاده‌سازی فیزیکی مانند یک فایل است و یک گره در واقع یک منبع زمان اجرا مانند یک رایانه، دستگاه یا حافظه است. یک مدل در واقع سلسله مراتبی از بسته هاست که انتزاع معنایی کاملی از سیستم از یک دیدگاه خاص است. یک مدل از مجموعه‌ای از بستهها (package) تشکیل می‌شود که در بر دارنده عناصر مدل (مانند نمودارهای کلاس، ماشین وضعیت و مورد کاربرد) است. پروفایل‌های یو ام‌ال (UML Profiles) یو ام‌ال امکانات گسترش محدودی را در اختیار کاربرانش قرار می‌دهد که برای استفاده‌های معمولی کافی هستند. یک کلیشه در واقع یک عنصر جدید اضافه شده به عناصر مدلسازی یو ام‌ال است که ساختاری مشابه با یکی از عناصر از پیش موجود دارد با این تفاوت که ممکن است به آن محدودیت‌هایی اضافه کرده باشد یا تفسیر و تصویرش را تغییرداده باشد. | ## بخش 3: زبان مدل‌سازی یکپارچه | مجموعه‌ای از چند کلیشه و محدودیت که برای نیل به منظور خاصی ایجاد شده‌اند یک پروفایل یو ام‌ال را تشکیل می‌دهند. نمودارهای یو ام‌ال یو ام‌ال توسط نمودارهایی ساختار و رفتار سیستم را نمایش می‌دهد. یک سیستم به صورت مجموعه‌ای از اشیای مجزا مدل می‌شود که برای رسیدن به هدف نهایی سیستم با یکدیگر تعامل دارند. نمودارهای یو ام‌ال نمایشگر دو دیدگاه مختلف از مدل سیستم هستند:مؤسسه مهندسین برق جن هلت (۲۰۰۴). p.58 دید ایستا (ساختاری): این دیدگاه تأکید بر نمایش ساختار ایستای سیستم با استفاده از اشیاء، خصوصیت‌ها، عملیات و رابطه‌ها دارد. نمودارهای ساختاری انواع اشیایی که برای سیستم و پیاده‌سازی آن اهمیت دارندو روابط بین اشیاء را تصویر می‌کنند. دید پویا (رفتاری): این دیدگاه تأکید برنمایش رفتار پویای سیستم با نشان دادن هماهنگی میان اشیاء و تغییرات وضعیت داخلی اشیاء دارد. هفت نمودار برای نمایش اطلاعات ساختاری به کار می‌روند و هفت نمودار دیگر برای نمایش رفتار و برهم کنش‌ها استفاده می‌شوند. شکل زیر یک نمودار کلاس است که دسته‌بندی سلسه مراتبی نمودارهای یوام ال را نشان می‌دهد. از آنجا که این نمودارها ساختار را نمایش می‌دهند، کاربرد گسترده‌ای در مورد معماری سیستم‌های نرم‌افزاری دارند. از آنجا که این نمودارها نمایشگر رفتار سیستم هستند به گستردگی برای توصیف کارکردهای سیستم نرم‌افزاری به کار می‌روند. این نمودار نمایانگر ترکیبی از اطلاعات به دست آمده از نمودارهای کلاس، توالی و مورد کاربرد است و هر دوی ساختار ایستا و رفتار پویای سیستم را توصیف می‌کنند. انتقادها اگرچه یو ام‌ال زبانی استانداردشده و محبوب برای مدلسازی است اما انتقادهایی نیز به آن وارد می‌شود: استانداردهای حجیم یکی از انتقادات اساسی به یو ام‌ال در مورد حجم بالای استانداردهای مورد استفاده در این زبان است. یو ام‌ال شامل بسیاری از نمودارها و ساخت‌هایی است که یا اضافی هستند یا به ندرت مورد استفاده قرار می‌گیرند. بازیابی شده در 2009-05-22 ؛ مشکل آموزش و به کار گرفتن یو ام‌ال: حجیم بودن یو ام‌ال یادگیری و استفاده از آن را به ویژه برای مهندسینی که مهارت‌ها و دانش پیش نیاز آن را ندارند مشکل می‌سازد.مقاله ای سی ام (ACM)را "مرگ با تب یوام ال" برای بررسی بیشتر این گونه مواردببینید. در اغلب موارد افراد نمودارها را با استفاده از سمبل‌های در دسترس در ابزارهای یو ام‌ال طراحی می‌کنند، بی‌آنکه بدانند این سمبل‌ها به چه منظوری به وجود آمده‌اند. عدم تطابق بین قابلیت‌های یو ام‌ال و قابلیت‌های زبان‌های پیاده‌سازی همانند سایر سیستم‌های نشان گذاری، یو ام‌ال برخی از سیستم‌ها را مختصر تر و مؤثر ترازبقیه سیستم‌ها نمایش می‌دهد؛ بنابراین یک تولیدکننده نرم‌افزار به سمت راه حلهایی کشیده می‌شود که در فصل مشترک توانایی‌های یو ام‌ال و زبان پیاده‌سازی قرار می‌گیرند. این مشکل در مورد زبان‌های پیاده‌سازی که سازگاری کاملی با دکترین طراحی شی گرا ندارند نمایان تر است زیرا فصل مشترک قابلیت‌های این زبان‌ها با یو ام‌ال کوچک‌تر است. | ## جمع‌بندی | از آن جمله‌اند: برتراند مه یر (Bertrand Meyer) در مقاله‌ای با عنوان «یو ام‌ال: چرخش مثبت» و برایان هندرسون-سلرز و سزار گونزالز-پرز در مقاله "استفاده و سوء استفاده از مکانیسم کلیشه در یو ام‌ال ۱و 2".B.