زبان مدل سازی یکپارچه (UML) زبانی است برای مشخص سازی ، مجسم سازی ، ساخت و مستند سازی دست آوردهای سیستم های نرم افزاری و مدل سازی و کار و دیگر سیستمهای غیر نرم افزاری .
Uml مجموعه ای از بهترین تجربیات مهندسی که موفقیتشان در مدل سازی سیستمهای بزرگ و پیچیده به اثبات رسیده است را عرضه می دارد.
تعریف UML شامل اسناد زیر می گردد :
معنا شناسی UML : که مفاهیم غنی و دستور نگارش وعلا ئم زبان مدلسازی یکپارچه را تعریف می کند UMLبه وسیله بسته ها به صورت معماری گونه لا یه بندی و سازماندهی میشود . در هر بسته عناصر مدل بر حست دستور نگارش (با استفاده از متن و عبارت زبان محدودیت شیء معروف به OCL )و معانی (با استفاده از متن دقیق) تعریف می شوند .
راهنمای علائم UML : فکر و اندیشه را تعریف می کند و مثال های خوبی را ارائه می کند. علائم UML نحو گرافیکی را برای بیان معانی توصیف شده توسط فرا مدل های UML ارائه می کند.
توسعه ی UML برای فرایند شیءدر مهندسی نرم افزارو توسعه UML برای مدل سازی تچارت : این توسعه های UML شامل توسعه خاص فرایند و توسعه خاص حوزه مسئله در UML برحسب مکانیزم های توسعه ای شان و آیکون نمودار فرایند می گردد .
2) فراهم آوردن مکانیزم های توسعه و تخصیص برای بسط مفاهیم اساسی : بدین معنا که در عین آنکه انتظار میرود UML براساس نیازهای جدید در حوزه های خاص جفت و جور شود نمی خواهد اجبار کند تا مفاهیم اساسی و مشترک برای هر حوزه جدیدی دوباره تعریف شود و پیاده سازی گردد. البته مفاهیم اساسی نباید بیش از حد تغییر یابند. بنابراین کاربران نیازمندند که قادر باشند : 1- مدل ها را با استفاده از مفاهیم اساسی بسازند بدون آنکه مکانیزم های توسعه را برای بسیاری از برنامه های کاربردی نرمال بکار گیرند .
2- مفاهیم و علائم جدید را اضافه کنند البته برای مواردی که توسط اصول پوشیده نشده باشند .
3- زمانی که هیچ اتفاق نظر روشنی وجود ندارد تفاسیر مختلف را از مفاهیم موجود انتخاب کنند .
4- مفاهیم، علائم و محدودیت ها را برای حوزه های کاربردی خاص مشخص سازند .
3) استقلال از زبان های برنامه نویسی خاص و فرایندها ی توسعه .
4) فراهم آوردن پایه و اصولی رسمی برای درک زبان مدل سازی که برای این منظور UML تعریف رسمی از قالب استاتیک مدل را با استفاده از نمودار کلاس ارائه می کند این نمودار ، نموداری مشهور و مورد قبول در سطح وسیع برای تعییین قالب یک مدل است UML همچنین محدودیت هایی را بیا ن میدارد که در قالب زبان دقیق طبیعی و عبارات زبان محدودیت شیء (OCL ) بیان می شود .
5) تشویق به رشد بازار ابزارهای OO .
6) حمایت و پشتیبانی از مفاهیم توسعه سطح بالاتر نظیر : همکاری ها ، چهارچوب ها ،الگوها و اجزاء .
7) مجتمع سازی بهترین تجربیات : UML بدنبال آن است که بهترین تجربیات درصنعت
حوزه های مسئله ، معماری ها و … را یکجا بیاورد .
محدوده UML
زبان مدل سازی یکپارچه UML زبانی است برای مشخص سازی ساخت ،مجسم سازی و مستند سازی دست آوردهای یک سیستم متمرکز نرم افزاری اول آنکه این زبان از مفاهیم OOSE,OMT,BOOCH که متدولوژیهای متداول OOمیباشند متنج شده است . دوم ، UMLبر آنچه که در حال حاضر توسط روش های موجور فابل انجام همتند ، بان شده است . سوم زبا ن مدل سازی یکپارچه بر یک زبان مدل سازی استانارد تمرکز می کند و نه یک فرآیند استاندادر اگر چه UMLبایستی در زمینه یک فرایند به کارگیری شود تجرته نشان میدهد که در سازمان های مختلف و با حوزه های مسئله متفاوت فرایندهای متفاوتی مورد نیاز است بنابراین تلاش بر این است که ابتدا بر یک فرامدل مشترک (که معانی را یکپارچه میکند )تمرکز شود و در درجه دوم بر یک علامت گذاری مشترک (که برای فرد استنباط این معانی را فراهم میکند )تمرکز گردد مبدعین UMLبر فرایند توسعای تاکید میکنند که مورد کاربرد گرا معماری گرال و تکراری و افزایشی است .
UML یک زبان مدلسازی را مشخص می کند که اتفاق نظر جماعت شیگرا بر مفاهیم اساس مدل سازی است .
1) UMLبرای ایجار مدلها و نمرارهای حوزه مسئله هیچ توصیه ای نمیشود و این تجربیات و یادگیری افراد است که تشخیص استفاده از کدام نمودارها و مدل ها را به ایشان می دهد دریک دیدگاه مدل سازی UML نمودارهای گرافیکی زیر را تعریف می کند مورد کاربرد
نمودار مورد کاربرد diagram ) (use ca
نمودار کلاس (ClassDiagram)
نمودارهای رفتار: (BehaviorDiagra
نمودارهای حالت : (State Chart Diagram)
نمودار فعالیت : )Activity Diagram(
نمودارهای تعامل Interaction Diagrams ))
نمودار توالی ((Sequence Diagram
نمودار همکاری ((Collaboration Diagram
* نمودارهای پیاده سازی) (Implementation Diagram
نمودار اجزاء (Component Diagram )
نموداراستقرار (Deployment Diagram)
این نمودارها منظر گاه های مختلفی از سیستم تحت تحلیل یا توسعه را فراهم می آورند. مدل در حال مطالعه این منظر گاه ها را یکپارچه می کند به گونه ای که یک سیستم متکی به خود تحلیل و ساخته شود. این نمودارها با پشتیبانی مستندات ، دست آوردهای اولیه ای می شوند که یک مدل ساز آن را ایجاد می کند، اگر چه UML بیشتر توصیف و تشریح شده اند.
یک سوال که مکررا پرسیده می شود این است که چرا UML از نمودارهای جریان داده معروف به حمایت نمی کند ؟ به طور ساده نمودارهای جریان داده و دیگر نمودارهای از این نوع که در UML قرار داده نشده اند ، با دیدگاه مستحکم شی گرا به روشنی جفت و جور نمی شوند. نمودارهای فعالیت بسیار بیشتر از آنچه که افرااد از می خواهند را برآورده می کند. به علاوه موارد دیگر ، نمودارهای فعالیت همچنین برای مدل کردن جریان کار مفید هستند. مؤلفین UML در حال ایجاد نمودارهای UML بر فراز همه پروژه های شی گرا هستندئ ، اما ضرورتا نیازی هم به نمودارهای دیگر نیست . مبدعین UML معتقدند که مجموعه ای از تکنیک های موفقیت آمیز و عملی را که در یک دیدگاه مستحکم و پا بر جا جفت می شود ، تعریف کرده اند.