زبان مدل سازی یکنواخت یا UML چیست ؟

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

نکته ای که باید حتما به آن توجه کنید این است که : مدل UML آنچه که یک سیستم باید انجام دهد را توضیح می دهد، ولی چیزی درباره نحوه پیاده سازی سیستم نمی گوید.

با توجه به رشد نرم افزارهای پشتیبانی کننده UML امروزه با استفاده از نرم افزارهایی مانند Visio ، Enterprise Architecture و rational rose شما می توانید بعد از کشیدن نمودارهای UML مستقیما نمودارهای خود را به بانک اطلاعاتی و کد تبدیل کنید (البته این نرم افزارها ساختار کد شما را برایتان تولید می کنند!) این نرم افزارها همچنین کد برنامه شما را گرفته و نمودارهای UML برنامه را تولید می کنند. پس از آشنایی با مفاهیم شیء گرایی، (توضیحات بیشتر در سایر مقالات سایت میکرو رایانه) در اینجا زبان مدلسازی UML را معرفی کرده و خواهیم دید چگونه این زبان مفاهیم شیء گرایی را پشتیبانی می کند.

مقدمه

زبان مدل سازی یکنواخت ( Unified Modeling Language ) یا UML یک زبان مدلسازی است که برای تحلیل و طراحی سیستم های شی گرا به کار می‌رود. UML اولین بار توسط شرکت Rational ارائه شد و پس از آن از طرف بسیاری از شرکت های کامپیوتری و مجامع صنعتی و نرم افزاری دنیا مورد حمایت قرار گرفت؛ به طوریکه تنها پس از یک سال، توسط گروه Object Management Group، به عنوان زبان مدلسازی استاندارد پذیرفته شد. UML توانایی ها و خصوصیات بارز فراوانی دارد که می‌تواند به طور گسترده‌ای در تولید نرم‌افزار استفاده گردد. در ادامه این مقاله ابتدا به تاریخچه UML و در ادامه به معرفی، ویژگی ها و نمودارهای آن پرداخته می شود.

تاریخچه UML :
دیدگاه شی گرایی (Object Oriented) از اواسط دهه ۱۹۷۰ تا اواخر دهه ۱۹۸۰ در حال مطرح شدن بود. در این دوران تلاش های زیادی برای ایجاد روش های تحلیل و طراحی شی گرا صورت پذیرفت. در نتیجه این تلاش ها بود که در طول ۵ سال یعنی ۱۹۸۹ تا ۱۹۹۴، تعداد متدولوژی های شی گرا از کمتر از ۱۰ متدولوژی به بیش از ۵۰ متدولوژی رسید. تکثر متدولوژی ها و زبانهای شی گرایی و رقابت بین اینها به حدی بود که این دوران به عنوان `دوران جنگ متدولوژیها` لقب گرفت.

از جمله متدولوژی های پرکاربرد آن زمان می توان ازBooch، OOSE، OMT، Fusion، Coad-Yourdan، Shlayer-Mellor و غیره نام برد. فراوانی و اشباع متدولوژیها و روشهای شی گرایی و نیز نبودن یک زبان مدلسازی استاندارد، باعث مشکلات فراوانی شده بود. از یک طرف کاربران از متدولوژیهای موجود خسته شده بودند، زیرا مجبور بودند از میان روشهای مختلف شبیه به هم که تفاوت کمی در قدرت و قابلیت داشتند یکی را انتخاب کنند. بسیاری از این روشها، مفاهیم مشترک شی گرایی را در قالب های مختلف بیان می کردند که این واگرایی و نبودن توافق میان این زبانها، کاربران تازه کار را از دنیای شی گرایی زده می‌ کرد و آنها را از این حیطه دور می‌ساخت. عدم وجود یک زبان استاندارد، برای فروشندگان محصولات نرم افزاری نیز مشکلات زیادی ایجاد کرده بود.

اولین تلاشهای استانداردسازی از اکتبر ۱۹۹۴ آغاز شد، زمانی که آقای Rumbaurgh صاحب متدولوژی OMT به آقای Booch در شرکت Rational پیوست و این دو با ترکیب متدولوژیهای خود، اولین محصول ترکیبی خود به نام `روش یکنواخت` را ارائه دادند. در سال ۱۹۹۵ بود که با اضافه شدن آقای Jacobson به این دو، روش یکنواخت ارائه شده با روش OOSE نیز ترکیب شد و این خود سبب ارائه UML نسخه ۰٫۹ در سال ۱۹۹۶ گردید. سپس این محصول به شرکتهای مختلفی در سراسر جهان به صورت رایگان ارائه شد و استقبال شدید شرکت ها از این محصول و تبلیغات گسترده شرکت Rational، سبب آن شد که گروه OMG، نسخه ۱٫۰ UML را به عنوان زبان مدلسازی استاندارد خود بپذیرد. تلاشهای تکمیلی UML استاندارد ادامه پیدا کرد و نسخه ۱٫۱ آن در سال ۱۹۹۷ و نسخه ۱٫۳ آن در سال ۱۹۹۹ ارائه گردید.

UML چیست ؟
UML یا زبان مدلسازی یکنواخت، زبانی است برای مشخص کردن (Specify)، مصورسازی (Visualize)، ساخت (Construction) و مستندسازی (Documenting) سیستمهای نرم افزاری و غیر نرم افزاری و نیز برای مدلسازی سیستمهای تجاری.

اما چرا مدل و مدلسازی ؟

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

به عبارت دیگر، یک زبان، با ارائه یک فرهنگ لغات و یک مجموعه قواعد، امکان می دهد که با ترکیب کلمات این فرهنگ لغات و ساختن جملات، با یکدیگر ارتباط برقرار کنیم. یک زبان مدلسازی، زبانی است که فرهنگ لغات و قواعد آن بر نمایش فیزیکی و مفهومی آن سیستم متمرکزند. برای سیستمهای نرم افزاری نیاز به یک زبان مدلسازی داریم که بتواند دیدهای مختلف معماری سیستم را در طول چرخه تولید آن، مدل کند.

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

دیدگاهتان را بنویسید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.