UML چیست؟
ﺯﻣﺎﻥ ﻣﻄﺎﻟﻌﻪ: 7 دقیقه

UML چیست؟

UML یا زبان مدل‌سازی یکپارچه (Unified Modeling Language) ما را قادر می‌سازد تا کلیت یک سیستم را با استفاده از کلمات و تصاویر توصیف کنیم. البته این تکنولوژی تنها مرتبط به دنیای برنامه‌نویسی نبوده و در ساختارهای دیگری نیز مورد استفاده قرار می‌گیرد.

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

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

ایده اولیه UML توسط تیم OMG بود که در سال ۱۹۹۷ با استفاده از پیاده‌سازی یکسری استاندارد این زبان مدل‌سازی را ایجاد کردند. همچنین UML در سال ۲۰۰۵ توانست توسط سازمان جهانی استانداردسازی ISO مورد تایید قرار بگیرد.

چه زمانی نیاز است که از UML استفاده شود؟

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

ساختار UML

جالب است بدانید که UML ارتباط بسیار نزدیکی با الگوی طراحی شئ‌گرایی داشته و شکل تحلیل یک پروژه در آن شباهت بسیار زیادی به دنیای Object Oriented دارد. یکی از مهمترین المان‌های مورد نیاز برای ساخت UML دیاگرام‌ها هستند که به صورت کلی دو نوع دیاگرام در دنیای UML وجود دارد:

  • دیاگرام‌های ساختاری: اساسی‌ترین و ثابت‌ترین قسمت‌های یک شرکت را با استفاده از دیاگرام‌های ساختاری ایجاد می‌کنند. این شکل از دیاگرام حاوی ۴ حالت مختلف است که عبارتند از: Component Diagrams, Object Diagrams, Class Diagrams and Deployment Diagrams
  • دیاگرام‌های رفتاری: قسمت‌های پویا و رفتاری یک سیستم را با استفاده از این نوع دیاگرامی ایجاد می‌کنند. این شکل از دیاگرام حاوی ۳ حالت مختلف بوده که عبارتند از: Use Case Diagrams, State Diagrams, Activity Diagrams and Interaction Diagrams

در تصویر زیر می‌توانید این موارد را در یک ساختار سلسله مراتبی با جزئیات بسیار بیشتر مشاهده بکنید:

مفاهیم شئ گرایی در UML

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

  • Class: یک کلاس را نقشه راهی برای چگونگی رفتار و کارکرد یک موجودیت خاص می‌نامند. در واقع در کلاس‌ها تعیین می‌شود که یک موجودیت جدید حاوی چه داده‌ها و چه رفتارهایی باید باشد.
  • Objects: در ساختار UML برای ماژولار کردن اطلاعات ما از اشیاء یا Objects استفاده می‌کنیم. هر شئ یک واحد مستقل است که کلیات UML ما را تعریف می‌کند.
  • Inheritance: ارث‌بری یک تکنیک همیشگی برای استفاده کلاس‌های فرزند از اطلاعات کلاس مادر است.
  • Abstraction: در این مکانیسم نحوه پیاده‌سازی هر چیزی از کاربر مخفی نگه داشته می‌شود.
  • Encapsulation: جفت کردن داده‌ها به همدیگر و محافظت کردنشان از داده‌های خارجی را کپسوله‌سازی می‌گویند.
  • Polymorphism: در چندریختگی متدها و داده‌ها می‌توانند در قالب‌های مختلفی مورد استفاده قرار بگیرند.

آشنایی با دیاگرام‌های مختلف

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

دیاگرام کلاس

پر استفاده‌ترین دیاگرامی که در ساختار UML مورد استفاده قرار می‌گیرد Class Diagrams هستند. این دیاگرام اساس و اولین موجودیتی به شمار می‌رود که برای ایجاد ساختار شئ‌گرایی باید مورد استفاده قرار بگیرد. در واقع نقطه شروع تمام تعاریفی که در بالا به آن‌ها اشاره شد از این دیاگرام است. بنابراین در قدم اول باید با ساختار این دیاگرام به خوبی آشنایی پیدا بکنید. این دیاگرام جزئی از دیاگرام‌های ساختاری به شمار می‌رود.

دیاگرام کامپوننت

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

دیاگرام فعالیت

Activity Diagrams یا دیاگرام فعالیت برای نشان دادن جریان کنترل در یک سیستم مورد استفاده قرار می‌گیرد. همچنین می‌توانیم از این دیاگرام برای نشان دادن قدم‌های مورد نیاز در جهت اجرای چیزی استفاده کنیم. این دیاگرام جزئی از دیاگرام‌های رفتاری به شمار می‌رود.

دیاگرام ارتباطی

برای نشان دادن ارتباطات میان اشیاء از دیاگرام‌های ارتباطی استفاده می‌شود. در این ساختار شما باید روی اشیاء و ساختارهای ارتباطی‌شان تمرکز داشته باشید. این دیاگرام جزئی از دیاگرام‌های رفتاری به شمار می‌رود.

نسخه UML 2

آخرین نسخه‌ای که از UML به اشتراک گذاشته شده است UML 2.x است که حاوی ویژگی‌های جدیدی بوده و برای آن دسته از افرادی که آشنایی کلی با آن دارند ممکن است دانستن این ویژگی‌های جدید کاربردی باشد:

ویژگی اول: متدولوژی‌های توسعه نرم افزار که در شرکت‌های بزرگی استفاده می‌شود در UML نسخه ۲ پیاده‌سازی شده است. یکی از این متدولوژی‌ها Agile است.

ویژگی دوم: UML اولیه شامل ۹ دیاگرام می‌شد اما در نسخه ۲ آن این رقم به ۱۳ رسیده است.

ویژگی سوم: در نسخه دو شما قادر خواهید بود که به راحتی یک نرم افزار بزرگ را به کامپوننت‌ها و زیر کامپوننت‌های مختلف تبدیل کنید.

در پایان

درک چگونگی کارکرد UML مطمئنا برای یک شرکت کوچک موضوعی اضافی به نظر می‌رسد و چندان نمی‌تواند بازخورد مثبتی داشته باشد با  این حال زمانی که شرکت شما بزرگ‌تر شده و حجم کارهای‌تان بیشتر می‌شود بهتر است که UML را یاد گرفته و آن را به بخشی از روتین خود تبدیل کنید.

چه امتیازی برای این مقاله میدهید؟

خیلی بد
بد
متوسط
خوب
عالی
4.75 از 4 رای

/@arastoo
ارسطو عباسی
کارشناس تولید و بهینه‌سازی محتوا

کارشناس ارشد تولید و بهینه‌سازی محتوا و تکنیکال رایتینگ - https://arastoo.net

دیدگاه و پرسش

برای ارسال دیدگاه لازم است وارد شده یا ثبت‌نام کنید ورود یا ثبت‌نام

در حال دریافت نظرات از سرور، لطفا منتظر بمانید

در حال دریافت نظرات از سرور، لطفا منتظر بمانید