مفاهیم مقدماتی UML

چکیده :

مفاهیم مقدماتی UML



لزومی نداره در مورد فوائد طراحی شیء گرای یک سیستم نرم افزاری توضیحات مفصلی ارائه بشه، همگی کم و بیش در این باب مطالعاتی داشتید و واضح و مبرهنه که برای پیاده سازی صحیح و استفاده‌ی بهینه‌ی منابع باید طراحی ساختارمند و شیء گرای سیستم در اولویت باشه. کلید و راهیافت طراحی شیء گرا و مناسب یک سیستم نرم افزاری، «مدل» است! مدل، ابزاری «بصری» (Visual) است، برای چینش اجزاء مختلف سیستم نرم افزاری و نمایش روابط بین آن‌ها و سایر موجودیت‌های سیستم نرم افزاری. برای اینکه طراحی مدل برای سیستم‌های نرم افزاری قالبی یک‌دست و یک‌پارچه و جهان شمول داشته باشد و تبادل اطلاعات بین مدل‌های طراحی شده توسط افراد مختلف امکان‌پذیر باشد تلاش‌های متعددی صورت گرفته است که UML یکی از آن‌هاست، که در حال حاضر متداول‌ترین استاندارد تولید مدل برای سیستم‌های نرم افزاری در سراسر دنیاست. UML مخفف Unified Modeling Language است. UML برای مدل سازی سیستم‌های نرم افزاری و تسهیل طراحی شیء گرای سیستم 9 دیاگرام (و استانداردهای مرتبط با هرکدام) را ارائه می‌نماید. قبل از توضیح بیش‌تر و ارائه‌ی تعاریف مقدماتی به نکته‌ی ذیل توجه کنید: دوستان کم تجربه اغلب سوال می‌کنند که چرا UML مهم است و این روزها مانور زیادی روی آن می‌شود؟ آیا لزومی دارد که به UML مسلط شویم؟ آیا اصولا این جانور به درد ما می‌خورد؟ جوابی که من به این دوستان می‌دهم اینه: تا حالا دیده‌اید که کسی یک ساختمان بزرگ با پیچیدگی‌های مختلف را «بدون نقشه» و الگوی از پیش معین شده بسازد و این پروژه موفقیت آمیز باشد؟ آیا تا کنون شنیده‌اید که هیچ کدام از کارخانه‌های تلوزیون سازی بودن هیچ نقشه و پیش بینی فنی موفق به ساخت تلوزیونی شوند که کار کند؟ یا اصلا ساخته شود؟ آیا تا کنون دیده‌اید کشوری بدون سیاست‌های کلان و بدون سنجش جوانب امر، موفق به مدیریت امور داخلی خود شود؟ و ده‌ها سوال از این دست! خواندن این سوال‌ها بدون اینکه حتی ثانیه‌ای به جواب آن‌ها فکر کنید، خود، جواب به سوالات اولی است که عرض کردم! UML به عنوان استانداردی برای طراحی و پیش بینی جزئیات فنی سیستم نرم افزاری، نحوه‌ی ارتباط اجزاء، نوع و نحوه‌ی کارکرد قسمت‌های مختلف و ... یکی از ملزومات تولید کنندگان نرم افزار در دنیای امروز است. حتی اگر مستقل کار می‌کنید و نرم افزارهای کوچک تولید می‌کنید با استفاده از UML در «اغلب» موارد به بالاترین حد بهینگی مراحل طراحی و تولید نرم افزارتون خواهید رسید و نکته‌ی آخر این که UML و استانداردهای آن و ابزارهای آن، آن‌قدر ساده و سهل هستند که صرف هزینه و وقت برای یادگیری و تسلط بر آن‌ها نسبت به مزایائی که در قبال آن کسب خواهید کرد تقریبا غیر قابل توجه است!

  • تعریف کلمات کلیدی و عناصر اصلی UML
مدل: علاوه بر تعریفی که در قسمت قبلی ارائه شد، مدل از تعدادی «شیء» تشکیل شده است.
شیء: هر یک از اجزاء نرم افزار یک «شیء» نام دارد.
کلاس: مشخصه‌ها و تعاریف عمومی یک «شیء» در کلاس مربوط به آن تعریف می‌شود. هر شیء نمونه‌ی ساخته شده از یک کلاس است. کلاس، وظایف، قابلیت‌ها، خصوصیت‌های آن موجودیت نرم افزاری را تعریف می‌کند و طراح با ساختن یک نمونه از کلاس (شیء) و ارائه‌ی مقادیر مرتبط با محل خاص استفاده آن یا قرار دادن آن در مسیر وقایع لازم، محیط مورد نظر خود را طراحی می‌کند. نمونه‌های مختلفی از یک کلاس در قالب اشیاء مختلف ساخته می‌شوند، ضمن اینکه می‌توان یک شیء را بطور همزمان از دو یا تعداد بیشتری کلاس ساخت. یعنی شی مذکور تمام مشخصه‌های کلاس‌های فوق خود را به «ارث» خواهد برد.
در یک مدل شیء گرا، شیءها از طریق Message ها با یک‌یگر ارتباط برقرار می‌کنند. یک نمونه Message، فشرده شدن کلید چپ ماوس وقتی اشاره گر آن روی یک Button، می‌باشد. اینجا ماوس (به عنوان یکی از اشیاء موجود در هر سیستم نرم افزاری) به شیء دیگری بنام Button (که مثلا از CButton یا TButton که کلاس‌های فوق آن هستند ساخته شده است) یک Message ارسال نموده است.
هر شیء دارای تعدادی مشخصه یا Attribute است. مشخصه‌های یک شیء حاوی مقادیر مختلف اجزاء آن شیء هستند. به عنوان یک مثال ساده وقتی مختصات یک کلید روی فرم 20 و 40 است، یعنی مشخصه‌های طول و ارتفاع آن 20 و 40 هستند. (مشخصه تعاریف پیچیده‌تری هم داره که خواهید دید.)
اشیاء «می‌توانند» کارهایی انجام دهند که به آن‌ها اصطلاحا Behavior می‌گویند. به عنوان مثال وقتی ماژول رمزنگاری نرم افزار شما می‌تواند درهم سازی با متد MD5 هم انجام دهد، این توانائی یکی از Behavior های این شیء محسوب می‌گردد.

  • دیاگرام‌های UML
  1. Use Case Diagram
  2. Class Diagram
  3. Object Diagram
  4. Sequence Diagram
  5. Collaboration Diagram
  6. StateChart Diagram
  7. Activity Diagram
  8. Component Diagram
  9. Deployment Diagram