زبان مدلسازی یکنواخت (UML) :
زبان مدلسازی یکنواخت یا، Unified Modeling Language (UML) یک زبان مدلسازی است که برای تحلیل وطراحی سیستمهای شیگرا بکار میرود. UML اولین بار توسط شرکت Rational ارائه شد و پس از آن از طرف بسیاری از شرکتهای کامپیوتری و مجامع صنعتی و نرمافزاری دنیا مورد حمایت قرار گرفت؛ به طوریکه تنها پس از یک سال، توسط گروه Object Management Group ، به عنوان زبان مدلسازی استاندارد پذیرفته شد. UML تواناییها و خصوصیات بارز فراوانی دارد که میتواند به طور گستردهای در تولید نرمافزار استفاده گردد. در ادامه این مقاله ابتدا به تاریخچه UML و در ادامه به معرفی، ویژگیها و نمودارهای آن پرداخته میشود و در پایان، روند حرکت به سمت UML و اهمیت آن برای ایران، بررسی خواهد شد.
تاریخچه UML :
دیدگاه شیگرایی Object Oriented)) از اواسط دهه 1970 تا اواخر دهه 1980 در حال مطرح شدن بود. در این دوران تلاشهای زیادی برای ایجاد روشهای تحلیل و طراحی شیگرا صورت پذیرفت . در نتیجه این تلاشها بود که در طول 5 سال یعنی 1989 تا 1994، تعداد متدولوژیهای شیگرا از کمتر از 10 متدولوژی به بیش از 50 متدولوژی رسید. تکثر متدولوژیها و زبانهای شیگرایی و رقابت بین اینها به حدی بود که این دوران به عنوان جنگ متدولوژیها لقب گرفت. از جمله متدولوژیهای پرکاربرد آن زمان میتوان از Booch، OOSE، OMT، Fusion، Coad-Yourdan، Shlayer-Mellor وغیره نام برد. فراوانی و اشباع متدولوژیها و روشهای شیگرایی و نیز نبودن یک زبان مدلسازی استاندارد، باعث مشکلات فراوانی شده بود. از یک طرف کاربران از متدولوژیهای موجود خسته شده بودند، زیرا مجبور بودند از میان روشهای مختلف شبیه به هم که تفاوت کمی در قدرت و قابلیت داشتند یکی را انتخاب کنند. بسیاری از این روشها، مفاهیم مشترک شیگرایی را در قالبهای مختلف بیان میکردند که این واگرایی و نبودن توافق میان این زبانها، کاربران تازهکار را از دنیای شیگرایی زده میکرد و آنها را از این حیطه دور میساخت. عدم وجود یک زبان استاندارد، برای فروشندگان محصولات نرمافزاری نیز مشکلات زیادی ایجاد کرده بود. اولین تلاشهای استانداردسازی از اکتبر 1994 آغاز شد، زمانی که آقای Rumbaurgh صاحب متدولوژی OMT به آقای Booch در شرکت Rational پیوست و این دو با ترکیب متدولوژیهای خود، اولین محصول ترکیبی خود به نام روش یکنواخت را ارائه دادند. در سال 1995 بود که با اضافه شدن آقای Jacobson به این دو، روش یکنواخت ارائه شده با روش OOSE نیز ترکیب شد واین خود سبب ارائه UML نسخه 0.9 در سال 1996 گردید. سپس این محصول به شرکتهای مختلفی در سراسر جهان به صورت رایگان ارائه شد و استقبال شدید شرکتها از این محصول و تبلیغات گسترده شرکت Rational، سبب آن شد که گروه OMG، نسخه 1.0 UML را به عنوان زبان مدلسازی استاندارد خود بپذیرد. تلاشهای تکمیلی UML استاندارد ادامه پیدا کرد و نسخه 1.1 آن در سال 1997 و نسخه 1.3 آن در سال 1999 ارائه گردید.
UML چیست؟
UML یا زبان مدلسازی یکنواخت، زبانی است برای مشخص کردن (Specify) ، مصورسازی (Visualize)، ساخت (Construction) و مستندسازی (Documenting) سیستمهای نرمافزاری و غیر نرمافزاری و نیز برای مدلسازی سیستمهای تجاری. اما چرا مدل و مدلسازی؟
ایجاد یک مدل برای سیستمهای نرمافزاری قبل از ساخت یا بازساخت آن، به اندازه داشتن نقشه برای ساختن یک ساختمان ضروری و حیاتی است. بسیاری از شاخههای مهندسی، توصیف چگونگی محصولاتی که باید ساخته شوند را ترسیم میکنند و همچنین دقت زیادی میکنند که محصولاتشان طبق این مدلها و توصیفها ساخته شوند. مدلهای خوب و دقیق در برقراری یک ارتباط کامل بین افراد پروژه، نقش زیادی میتوانند داشته باشند. شاید علت مدل کردن سیستمهای پیچیده این باشد که تمامی آن را نمیتوان یکباره مجسم کرد، بنابراین برای فهم کامل سیستم و یافتن و نمایش ارتباط بین قسمتهای مختلف آن، به مدلسازی میپردازیم. UML زبانی است برای مدلسازی یا ایجاد نقشه تولید نرمافزار.
ویژگیهایUML :
UML دارای ویژگیهای بارز فراوانی است که در این قسمت به آنها میپردازیم. UML یک زبان مدلسازی است اما چیزی فراتر از چند نماد گرافیکی است. بطوریکه در ورای این نمادها، یک سمانتیک (معناشناسی) قوی وجود دارد، بطوریکه یک تولیدکننده میتواند مدلهایی تولید کند که تولیدکنندههای دیگر و یا حتی یک ماشین آن را بخواند و بفهمد. بنابراین یکی دیگر از نقشهای مهم UML تسهیل ارتباط بین اعضای پروژه و یا بین تولیدکنندگان مختلف میباشد. این ارتباط بسیار مهم است. شاید دلیل اصلی اینکه تولید نرمافزار به صورت فریبندهای دشوار است، همین عدم ارتباط مناسب بین اعضای پروژه باشد و اگر در تولید نرمافزار، بین اعضای پروژه گزارشهای هفتگی و مداوم وجود داشته باشد، بسیاری از این دشواریها برطرف خواهد شد.
البته این را هم باید در نظر گرفت که UML کمی پیچیده است و این به خاطر آن است که سعی شده است نمودارهایی فراهم شود که در هر موقعیتی و با هر ترتیبی قابل استفاده باشند. دلیل دیگر پیچیدگی از آنجا ناشی میشود که UML ترکیبی است از زبانهای مختلف، که برای حفظ سازگاری و جمع کردن خصوصیات مثبت آنها، ناگزیر از پذیرش این پیچیدگی میباشد.