یکی از ابزارهای مهم در مهندسی نرم افزار در دنیا UML می باشد که در شرکت های نرم افزاری و محافل علمی استفاده زیادی دارد. اما متاسفانه در کشور ما استفاده وسیعی از این ابزار قدرتمند نمی شود.
UML یک زبان مدلسازی استاندارد و همه منظوره گرافیکی برای تولید یک مدل انتزاعی از یک سیستم است. 
UML روشی استاندارد برای تهیه Blueprint (نقشه پیش ساخته-طرح اولیه قبل از پیاده سازی) سیستم است.
UML یک روش باز (open) برای مشخص کردن ، بصری کردن (visualise) ، ساختن و مستند کردن محصولات (artifact) یک نرم افزار شئ گرای دردست ساخت است.

مزایای استفاده از UML:
- یک زبان قدرتمند است و تمامی عناصر این زبان معانی قدرتمند و کاملی دارند.
- مختصر و موجز است بدین معنی که این زبان فقط شامل اشکال ساده گرافیکی قابل فهم است.
- جامع است یعنی تمامی جنبه های مهم یک سیستم را شرح می دهد.
- مقیاس پذیر (scalable) است یعنی برای پروژه ها در تمامی سطوح (بزرگ ، متوسط و کوچک) قابل استفاده است.
- بر پایه برترین تجربه های انجمن های شئ گرا در 20 سال گذشته بنا شده است.
- استاندارد است.

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

در حال حاضر آخرین نسخه UML ، نسخه 2.2 می باشد.

شاد باشید.