(به : ) یا «یو ام‌ال»، یک زبان مدلسازی همه منظوره استاندارد در زمینه است که توسط (به : ) ایجاد شد. در حال حاضر (۲۰۱۴ میلادی) آخرین نسخه این زبان نسخه ۲٫۴٫۱ است که در سال ۲۰۰۷ میلادی مشخصات آن منتشر شد 
 در سال ۲۰۱۲ نسخه ۲٫۵ این زبان مدلسازی نیز تولید شد که این نسخه در سال ۲۰۱۵ به صورت عمومی منتشر گردید.
 با استفاده از یو ام‌ال می‌توان تقریباً هر گونه که ممکن است بر روی هر ترکیبی از سخت‌افزار، ، و شبکه اجرا شود را مدلسازی نمود. طراحی بر پایه مفاهیم یو ام‌ال سبب می‌شود که ذاتاً با محیط‌ها و (مانند ، و ) سازگاری کامل داشته باشد، اگرچه می‌توان از آن برای مدلسازی برنامه‌های غیر شی گرا مانند برنامه‌هایی که با زبان‌های ، و نوشته می‌شوند نیز استفاده نمود. 
 یوام ال یک زبان مدلسازی نسل سوم است و روشی باز برای توصیف ویژگی‌ها، نمایش گرافیکی، ساختن و مستندسازی اجزای یک سیستم نرم‌افزاری در حال توسعه است. از یو ام‌ال برای فهمیدن، طراحی، مرور، پیکربندی، نگهداری و کنترل اطلاعات سیستم‌های نرم‌افزاری استفاده می‌شود. یو ام‌ال برای همه روش‌های ، همه مراحل ، همه حوزه‌های برنامه‌های کاربردی و هر رسانه‌ای قابل استفاده است. این زبان مدلسازی برای یک‌لخت‌سازی تجربیات گذشته در مورد تکنیک‌های مدلسازی و گنجاندن تجربیات موفق در یک دیدگاه استاندارد به وجود آمده‌است. یو ام‌ال شامل مفاهیم معنایی(semantic)، نمادگذاری و راهنمایی برای طراحی است. یو ام‌ال را نمی‌توان به عنوان یک روش تولید نرم‌افزار کامل دانست. این زبان شامل فرایند مرحله به مرحله تولید نرم‌افزار نیست، بلکه یو ام‌ال زبانی است که تقریباً تمام شیوه‌های تولید نرم‌افزار از آن استفاده می‌کنند.
 یو ام‌ال تکنیک‌های ( )، مدلسازی تجاری، مدلسازی شی و مدلسازی مؤلفه‌ها را با هم ترکیب می‌نماید. یو ام‌ال را می‌توان در تمامی پروسه‌ها در سراسر به کاربرد. 
 پیش از پیدایش یو ام‌ال در اواسط دهه ۱۹۹۰، مدلسازی نرم‌افزار از مشکل ناسازگاری نماد گذاری‌های مختلفی که توسط متخصصین مدلسازی مختلف به وجود می‌آمد رنج می‌برد و استاندارد همه‌گیری در این زمینه وجود نداشت. یو ام‌ال از تلفیق (Booch Method)، (OMT) و (OOSE) با یکدیگر در راستای جریانات یک‌لخت‌سازی به وجود آمد. پیدایش یوام ال همه چیز را تغییر داد و باعث رشد چشمگیر مدلسازی تصویری و استفاده گسترده از این زبان شد. یو ام‌ال امروزه نقش یک زبان بین‌المللی را در زمینه تولید نرم‌افزار بر عهده دارد. مؤسسه آماری در سال ۲۰۰۶ تعداد متخصصان که از یو ام‌ال استفاده می‌نمودند را ۱۰ میلیون نفر برآورد نمود و همچنین تخمین زده است که در سال ۲۰۰۸ هفتاددر صد شرکت‌های تولید نرم‌افزار در سراسر دنیا از یو ام‌ال استفاده کرده‌اند. 
 روش‌های تولید نرم‌افزار برای زبان‌های سنتی دردهه۱۹۷۰ ظهور کرد و در دهه ۱۹۸۰ همه گیر شد. مهم‌ترین این شیوه‌ها متدولوژی طراحی و تحلیل ساختاریافته سیستم (SSADM) بود. 
این روش‌ها در ابتدا توسط افرادی چون کنستانتین (Constantine)، دی مارکو(DeMarco)، ملور(Mellor)، وارد(Ward)، یوردون(Yourdon) و سایرین پدید آمدند و در حیطه سیستم‌های بزرگ به ویژه سیستم‌های طرف قرارداد با دولت در حوزه هوافضا و دفاع نظامی نیز نفوذ کردند. اگرچه نتایج آن‌ها همواره رضایت بخش نبود اما این روش‌ها متضمن ایده‌های خوبی بودند که به ندرت استفاده مؤثری از آن‌ها می‌شد. شرکت‌های تجاری راغب با به‌کارگیری روش‌های تولید نرم‌افزار و سیستم‌های مهندسی نرم‌افزارنبودند. بیشتر آن‌ها نرم‌افزارها را برای استفاده داخلی و رفع نیازهای خود تولید می‌کردند و نیازی به بررسی این نرم‌افزارها توسط سازمان‌های خارجی نبود.
 اولین بود که توسط (Ole-Johan Dahl) و (Kristen Nygaard) در سال ۱۹۶۷ در نروژ طراحی شد. این زبان اگرچه خود پیروان چندانی به دست نیاورد اما تأثیر زیادی بر روی بسیاری از زبان‌های شی گرای بعدی داشت. کارهای داهل (Dahl) و نایگارد(Nygaard) تأثیر ژرفی بر گسترش شی گرایی داشت. جریان شی گرایی با دستیابی عمومی به زبان (Smalltalk) در اوایل دهه ۱۹۸۰ فعال شد و با پیدایش زبان‌های شی گرای دیگری مانند (Objective C)، ، و (CLOS) ادامه یافت. پنج سال پس از اینکه در سراسر دنیا شناخته شد، اولین متدهای شی گرای تولید نرم‌افزار توسط و و و به وجود آمد و به فاصله کوتاهی توسط سایرین همچون بوچ(Booch) و رمباف (Rambaugh) دنبال شد. این کتاب‌ها به مجموعه کتب قبلی در مورد طراحی زبان‌های برنامه‌نویسی اضافه شد و فیلد متدولوژی شی گرا آغاز شد. فاز اول آن در پایان سال ۱۹۹۰ کامل شد. کتاب یاکوبسون در مورد شی گرایی اندکی بعد بر اساس مقالات و کارهای پیشین منتشر شد که با تمرکز بر روی ( هم ترجمه شده) دیدگاه متفاوتی را ارائه کرد. در طی پنج سال بعدی کتاب‌های متعددی در این زمینه تألیف شد که هریک تعاریف، مفاهیم و نمادگذاری‌های خاص خود را داشتند، اما در مجموع شباهت زیادی بین مفاهیم ارائه شده توسط نویسندگان مختلف وجود داشت.
 برخی تلاش‌های اولیه در جهت یک‌لخت‌سازی مفاهیم روش‌های مختلف به انجام رسید که نمونه قابل ملاحظه آن کار کلمن(Coleman) و همکارانش به نام فیوژن(Fusion) بود که شامل مفاهیمی از ، و سی آر سی بود. اولین تلاش موفقیت‌آمیز برای ترکیب و جایگزینی روش‌های موجود در سال ۱۹۹۴ وقتی به وجود آمد که رمباف به شرکت رشنال سافتور رفت و به بوچ پیوست. این دو مفاهیم تکنیک مدل‌سازی شی و روش بوچ را ترکیب کردند و اولین طرح خود را در سال ۱۹۹۵ ارائه دادند. در این زمان یاکوبسون هم به این دو پیوست و کار مشترک خود را با آن‌ها آغاز کرد. کار مشترک آن‌ها نام گرفت. در سال ۱۹۹۶ (OMG) درخواست پیشنهادهایی برای استاندارد مدل‌سازی شی گرا را مطرح نمود. نویسندگان یو ام‌ال (یاکوبسون، بوچ و رمباف) با همکاری گروهی از برنامه نویسان و متدولوژیست‌های دیگر طرح پیشنهادی خود را به OMG ارائه کردند. طرح‌های دیگری هم به OMG ارائه شد که در نهایت همه پیشنهادات در طرح نهایی یو ام‌ال که در سال ۱۹۹۷ به OMG تحویل داده شد، ادغام شدند.
 پس از چندین سال تجربه استفاده از یو ام‌ال در صدد برآمدند تا یو ام‌ال را ارتقاء دهند تا مشکلاتی که در تجربیات کاری پدیدار شده بودند را بر طرف کنند و قابلیت‌های آن را گسترش دهند. طرح‌های پیشنهادی ارائه شدند ومشخصات یو ام‌ال ۲ در سال ۲۰۰۳ توسط OMG پذیرفته شد؛ و پس از نهایی‌سازی در اواخر ۲۰۰۴ در دسترس عموم قرار کرفت.
 مفاهیم یو ام‌ال در قالب دسته‌هایی به نام (view) طبقه‌بندی می‌شوند. هر «دید» در واقع زیرمجموعه‌ای از ساخت‌های مدلسازی است که یک جنبه از سیستم را نمایش می‌دهند. در بالاترین سطح طبقه‌بندی دیدها به چهار حوزه کلی تقسیم‌بندی می‌شوند: 
 عناصر سیستم و ارتباط آن‌ها با سایر عناصر را توصیف می‌کند. برای مدل کردن عناصر سیستم از مفهوم " " (classifier) استفاده می‌شود. دسته‌کننده‌ها شامل کلاس، عملگر(Actor)، مورد کاربرد(Use case)، گره(Node)، همکاری(Collaboration) و مؤلفه(component) هستند. دسته‌کننده‌ها پایه‌ای می‌سازند که رفتارهای پویای سیستم روی آن تعریف می‌شوند. حوزه ساختاری شامل سه دید مختلف است:
 
 
 رفتار یک سیستم و سایر دسته‌کننده هارا در مرور زمان توصیف می‌کند. یک رفتار به صورت تغییراتی در وضعیت سیستم توصیف می‌شود که در دید ایستا ترسیم می‌شوند. حوزه رفتار پویای سیستم شامل سه دید زیر است:
 
 
 توصیف‌کننده منابع رایانشی در سیستم و چگونگی پیاده‌سازی مصنوعات مدل روی آن‌ها است. این بخش شامل یک دید است:
 توصیف‌کننده سازماندهی خود مدل‌ها در واحدهای سلسه مراتبی است. واحد ژنریک سازماندهی مدل‌ها بسته(package) است. یک مدل در واقع سلسله مراتبی از بسته هاست که انتزاع معنایی کاملی از سیستم از یک دیدگاه خاص است. این بخش شامل یک دید است:
 یو ام‌ال امکانات گسترش محدودی را در اختیار کاربرانش قرار می‌دهد که برای استفاده‌های معمولی کافی هستند. یکی از این امکانات ها (stereotype) هستند. یک کلیشه در واقع یک عنصر جدید اضافه شده به عناصر مدلسازی یو ام‌ال است که ساختاری مشابه با یکی از عناصر از پیش موجود دارد با این تفاوت که ممکن است به آن محدودیت‌هایی اضافه کرده باشد یا تفسیر و تصویرش را تغییرداده باشد. یو ام‌ال زبان ویژه‌ای برای تعیین محدودیت‌ها به نام OCL دارد. مجموعه‌ای از چند کلیشه و محدودیت که برای نیل به منظور خاصی ایجاد شده‌اند یک را تشکیل می‌دهند.
 یو ام‌ال توسط نمودارهایی ساختار و رفتار سیستم را نمایش می‌دهد. یک سیستم به صورت مجموعه‌ای از اشیای مجزا مدل می‌شود که برای رسیدن به هدف نهایی سیستم با یکدیگر تعامل دارند. نمودارهای یو ام‌ال نمایشگر دو دیدگاه مختلف از مدل سیستم هستند: 
 
 یو ام‌ال ۲٫۲، ۱۴ گونه نمودار مختلف دارد که به دو دسته اصلی تقسیم می‌شوند. هفت نمودار برای نمایش اطلاعات ساختاری به کار می‌روند و هفت نمودار دیگر برای نمایش رفتار و برهم کنش‌ها استفاده می‌شوند. شکل زیر یک نمودار کلاس است که دسته‌بندی سلسه مراتبی نمودارهای یوام ال را نشان می‌دهد.
 نمودارهای ساختاری بر روی های که باید در سیستم مورد نظر شده موجود باشند، تأکید دارد. از آنجا که این نمودارها ساختار را نمایش می‌دهند، کاربرد گسترده‌ای در مورد معماری سیستم‌های نرم‌افزاری دارند.
 
 
 
 
 
 
 
		 
		 
		 
		 
		 
 نمودارهای رفتاری بر هایی که باید در سیستم مدل شده اتفاق بیفتد تأکید دارند. از آنجا که این نمودارها نمایشگر رفتار سیستم هستند به گستردگی برای توصیف کارکردهای سیستم نرم‌افزاری به کار می‌روند.
 
 
 
		 
		 
		 
 نمودارهای برهم کنش زیر مجموعه‌ای از نمودارهای رفتاری هستند که بر گردش کنترل و داده‌ها بین های مختلف در سیستم مدل شده تأکید دارند.
 
 
 
 
		 
		 
		 
 اگرچه یو ام‌ال زبانی استانداردشده و محبوب برای مدلسازی است اما انتقادهایی نیز به آن وارد می‌شود:
 
 ؛ مشکل آموزش و به کار گرفتن یو ام‌ال: حجیم بودن یو ام‌ال یادگیری و استفاده از آن را به ویژه برای مهندسینی که مهارت‌ها و دانش پیش نیاز آن را ندارند مشکل می‌سازد. در اغلب موارد افراد نمودارها را با استفاده از سمبل‌های در دسترس در ابزارهای یو ام‌ال طراحی می‌کنند، بی‌آنکه بدانند این سمبل‌ها به چه منظوری به وجود آمده‌اند.
 
 برخی از متخصصین مدلسازی انتقادهای تندی را متوجه این زبان کرده‌اند. از آن جمله‌اند: (Bertrand Meyer) در مقاله‌ای با عنوان «یو ام‌ال: چرخش مثبت» و برایان هندرسون-سلرز و سزار گونزالز-پرز در مقاله "استفاده و سوء استفاده از مکانیسم کلیشه در یو ام‌ال ۱و 2".
{"title": "زبان مدل‌سازی یکپارچه", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%B2%D8%A8%D8%A7%D9%86_%D9%85%D8%AF%D9%84%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C_%DB%8C%DA%A9%D9%BE%D8%A7%D8%B1%DA%86%D9%87&oldid=33078647", "language": "fa"}