زبان مدل‌سازی شیء

یک زبان مدل‌سازی شی، مجموعه‌ای استاندارد شده از علایم و روش‌هایی برای چیدن آن‌ها در قالب یک مدل از یک طراحی نرم‌افزار شی‌گرا یا طراحی سیستم است.
برخی از سازمان‌ها از آن‌ها به صورت گسترده‌ای در ترکیب با یک متدولوژی توسعه نرم‌افزار برای رسیدن از یک مشخصات ابتدایی به یک طرح اجرایی و ارتباط دادن آن طرح با کل تیم توسعه دهندگان و گروگذارها، استفاده می‌کنند. به خاطر این که یک زبان مدل‌سازی واقعی است و در یک مرحله بالاتر انتزاع از کد است. استفاده از مدل‌ها نسلی از یک دید اشتراک گذاشته شده را تشویق می‌کند که ممکن است بعدها از مشکل‌هایی جلوگیری کند. بعضی اوقات ابزار نرم‌افزار مدل‌سازی برای ساختن این مدل‌ها، استفاده می‌شوند که ممکن است ظرفیت تبدیل اتوماتیک آن‌ها به کد را داشته باشد.

تاریخ 
بعضی اسلوب شناسان به ترتیب وقوع سه نسل مدل‌سازی شی‌های ثبت شده را مشخص کردند: نسل "اول،" "دوم" و "سوم".

نسل اول 
در «نسل اول»، اسلوب شناسان مجزا و گروه‌های کوچک، تکنیک‌ها را طوری توسعه دادند که مشکل‌های نخستینی که در پروژه‌های توسعه یافته مبتنی بر شی گرایی می‌دیدند حل شد.
نسل اول شامل تکنیک‌هایی مانند:
 روش booch
 CRC
 OMT
 OOSE
 Shlaer-Mellor
 Yourdon – coad

زبان‌های نسل اول نیز توسعه یافت و خیلی با متدولوژی مخصوص شی گرا گره خورد حتی با یک نام. تقریباً سخت بود تعیین کردن این که به کدام متدولوژی مربوط می‌شود.

نسل دوم 
«نسل دوم» یادآور شد که تعداد زیادی از بهترین تمرین‌ها در میان دورنمایی از متدولوژی oo پراکنده شده‌است. خیلی‌ها سعی کردند تمام این تمرین‌ها را در یک چارچوب کاری مانند FUSION جمع کنند. به هر حال، ارتباط oo شروع شد که یادآور منفعتی که صنعته استاندارد می‌تواند داشته شود، بشود: نه فقط «یک» راه خوب برای انجام کارها اما «راه خوب» می‌تواند راهنمایی برای مکالمه رایج و تمرین میان توسعه دهندگان باشد.

نسل سوم 
«نسل سوم» شامل تلاش‌های موفق در این زبان استاندارد صنعتی تنها می‌شود. در این لحظه، بیهودگی متد استانداردسازی یادآور شده‌است و زبان‌های توسعه یافتند در نماد سازی‌هایی که برای یک محدوده وسیع روش‌های توسعه یافته راحت هستند.

برنامه‌نویسی شیءگرا