آموزش یو ام ال

UML زبان مدل‌سازی یکنواخت (بخش دوم)

در مقالۀ آشنایی با UML تعریف این زبان مدل‌سازی و توضیحاتی در آن زمینه داده شد. 

در قسمت دوم این مقاله با نمودارهای UML آشنا می‌شویم.

امروزه با استفاده از نرمافزارهایی مانند Visio, Enterprise Architecture  و Rational Rose شما میتوانید بعد از کشیدن نمودارهای UML مستقیماً نمودارهای خود را به بانک اطلاعاتی و کد تبدیل کنید (توجه داشته باشید که این نرمافزارها ساختار کد را برایتان تولید میکنند نه محتوی کدها را) و البته من این روش را توصیه نمیکنم. 

این نرمافزارها همچنین میتوانند کد برنامه شمارا خوانده و نمودارهای UML سیستم را بسازند.

 

آشنایی با نمودارهای UML

در حالت کلی این زبان از یک سری نمودارهایی تشکیلشده است که با نگاه به آنها میتوانیم به روابط بین اجزاء، کلاسهای مورداستفاده، موارد کاربرد پی ببریم. 

در یک جمله، نمای کاملی از سیستم را درمییابیم. این نمودارها به دو دستۀ اصلی تقسیم می‌شوند:

۱.      نمودارهای ساختاری (Structural Diagrams)

2.      نمودارهای رفتاری (Behavioral Diagrams)

 

اینک به بررسی هر یک از این دسته‌بندی‌ها می‌پردازیم.

نمودارهای ساختاری (Structural Diagrams)

این نمودارها جنبه‌های ایستا یا استاتیک سامانه را که ساختار اصلی و پایدار سیستم هستند را نشان می‌دهند. در این قسمت چهار نوع نمودار ساختاری وجود دارد:

  1. Class Diagram یا نمودار کلاسها: این نمودار، کلاسها، واسطها، همکاری و روابط بین آنها را نشان میدهد. نمودار کلاس جزو نمودارهای اصلی و مرکزی UML است و بیانکننده ساختار ایستای سیستم نرمافزاری است
  2. Object Diagram یا نمودار اشیاء: در این نمودار اشیاء سیستم و روابط بین آنها نمایش داده میشود. درواقع تصویر جزئیتری از نمودار کلاس در سطح اشیاء است.
  3. Component Diagram یا نمودار اجزاء:  کار این نمودار نمایش سازماندهی و روابط بین مجموعهای از اجزاء است و جنبههای ایستای پیادهسازی یک سیستم را مدل مینماید.
  4. Deployment Diagram یا نمودار بهکارگیری: این نمودار بیانگر پیکربندی گرههای پردازشی زمان اجرای سیستم است که برای مدل کردن جنبههای ایستای بهکارگیری یک معماری برای سیستم بکار میرود. همچنین نمایشدهنده اجزای استفادهشده زمان اجرا مثل کتابخانههای (DLL) استفادهشده، فایلهای اجرایی، کدهای مبدأ و روابط بین آنها است.

 

نمودارهای رفتاری (Behavioral Diagrams)

سیستم‌ها دو جنبۀ ایستا (Static) و پویا (Dynamic) دارند. سیستم در صورتی کامل است که هر دو جنبه پوشش داده شده باشد. نمودارهای رفتاری، تصویری از قسمت پویای سیستم‌ها هستند. همان بخش‌هایی که در حال حرکت و تغییراند.

نمودارهای رفتاری به  دسته تقسیم می‌شوند:

  1. Use Case Diagram یا نمودار موارد کاربرد: این نمودار تعامل افراد و کاربران بیرونی را با سیستم مدل میکند. 
    از برخی جهات شبیه نمودار DFD در سطح صفر است و جنبههای رفتاری سیستم را نشان میدهد.
    نقطه ورودی برای نمودارهای دیگر، این نمودار است که به تشریح نیازمندی
    ها و معماری و پیادهسازی سیستم میپردازند.
    در واقع این نمودار رابطۀ بین قابلیت‌ها و کنترلگرهای داخلی یا خارجی را توصیف می‌کند
    .
  2. Sequence Diagram یا نمودار توالی: این نمودار توالی مرحله‌به‌مرحله روند Use Caseها را نشان می‌دهد.
    او با توالی سروکار دارد و شامل دنباله‌ای است از جریان‌های پشت‌سرهم که پیام‌های بین اشیاء را به یکدیگر مرتبط می‌سازد.
  3.  Interaction Diagram یا نمودار تعامل: این نمودار بیانگر تعامل بین اشیاء مختلف و روابط بین آنها است.
    همچنین حاوی پیام
    های ردوبدل شده بین اشیاء بوده و جنبههای پویایی یک سیستم را مدل میکند.
    نمودار تعامل خود شامل دو نمودار دیگر به شرح زیر است:
  4.  Collaboration Diagram نمودار همکاری: این نمودار بر رابطۀ بین اشیاء ارسال کننده و دریافت کنندۀ پیام تاکید دارد.
    نمودار همکاری به نمودار توالی بسیار شبیه است. مهم‌ترین تفاوت آن‌ها در شکل ظاهری آن‌هاست.
    نمودار همکاری بیشتر بر رابطۀ بین اشیا متمرکز است درحالی‌که نمودار توالی اعمال اشیا را در یک بازۀ زمانی نشان می‌دهد و بر حسب زمان تنظیم و مرتب می‌شود
    .
  5. State Chart Diagram نمودار حالت: بیانکننده جنبههای رفتاری سیستم است و توصیف رسمی کلاسها شامل حالتها، رخدادها و فعالیتها را نمایش میدهد.
    از این نمودارها برای نمایش چرخه حیات اشیاء یک کلاس خاص نیز می
    توان استفاده نمود.
  6. Activity Diagram یا نمودار فعالیت: این نمودار بیانگر انتقال جریان کار تجاری و عملیاتی فعالیت‌هاست و نشاندهنده جنبههای پویایی یک سیستم است.
    همچنین در آن ترتیب گام
    ها و عملکردها بسیار حائز اهمیت است.

Leave A Comment

Your email address will not be published. Required fields are marked *