زبان مدل‌سازی یکپارچه
تاریخچه

روش‌های تولید نرم‌افزار برای زبان‌های برنامه‌نویسی سنتی دردهه۱۹۷۰ ظهور کرد و در دهه ۱۹۸۰ همه گیر شد. مهم‌ترین این شیوه‌ها متدولوژی طراحی و تحلیل ساختاریافته سیستم (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 پذیرفته شد؛ و پس از نهایی‌سازی در اواخر ۲۰۰۴ در دسترس عموم قرار کرفت.