UML، زبان استاندارد جهانی برای مدل سازی اصطلاحات
با کمی اغماض می توان ادعا کرد که در میان شاخه های مختلف مهندسی در هر کدام که دارای قدمت بیشتری است، همگرایی بیشتری در اتخاذ روش و ابزار برای انجام اعمال نسبتاً مشابه از میان متخصصان و متولیان آن رشته وجود دارد. به طور مثال در حال حاضر برای اجرای یک سازه در هر نقطه از دنیا، مهندسین عمران از یک روند همسان با توالی مشابه شامل:
الف) تولید طرح عمرانی
ب) پیاده سازی نقشه
ج)محاسبات سازه ای
د) اجرا استفاده می کنند.
ولی در رشته نوپایی چون مهندسی نرم افزار، گاه چنان روش ها متفاوت است که از دید یک ناظر خارجی، دو تیم نرم افزاری مختلف که هر دو قصد تولید محصولی مشابه را دارند، دو تیم در رشته های متفاوت به نظر بیایند. یکی از علل وجود تمایز در تولید نرم افزار میزان تخصص نیرو و زمان به پیاده سازی می باشد. بدین معنا که در نزد بسیاری از برنامه نویسان تولید نرم افزار معادل است با تولید کد. ولی از نظر بعضی دیگر تولید کد فقط بخشی از تولید نرم افزار است که در بسیاری از موارد حتی منابع و زمان اختصاص داده شده به آن در طول پروسه تولید نرم افزار کمتر از ??% می باشد. از یک دیدگاه کلی، پروسه تولید نرم افزار را می توان به دو بخش کلی شامل: الف) تحلیل و طراحی ب) پیاده سازی تقسیم کرد.
از دیدگاه دسته اول برنامه سازان، تحلیل و طراحی صرفاً فهم ذهنی مساله می باشد که دقیقا پس از آن بایستی اقدام به پیاده سازی کرد. در حالیکه در نظر دسته دوم، فاز تحلیل و طراحی پر اهمیت تر از فاز دوم می باشد که بایستی برای انجام آن از متدولوژی ها و روش های استاندارد استفاده کردUML یک زبان مدلسازی می باشد که در فاز تحلیل و طراحی مورد استفاده قرار می گیرد.