یکشنبه, ۷ بهمن, ۱۴۰۳ / 26 January, 2025
UML دستاورد بزرگ جنگ متدها
● مقدمه
زبان یكپارچهی مدلسازی یا "یوامال" محصول جریانات یكپارچهسازی است كه به دنبال "جنگ متدها" آغاز شد. Rumbough، طراح متدلوژی OMT به شركت Rational كه متعلق به Booch بود پیوست و آنها تلاش خود را برای ایجاد یك زبان مدلسازی شیگرای متحدالشكل به كار گرفتند. تركیب دو متدلوژی و ایجاد زبانUML اعتبار ویژهای به آن بخشید.
درسال ۱۹۹۵، شركت Rational آماده بود تا اولین مستندات UML (نسخه ۰.۸) را ارایه كند، اما در یك اقدام ناگهانی امتیاز شركت Jacobson را كه مالك Objectory بود، خریداری كرد. پس از این اقدام، شركت Rational با تركیب سه متدلوژی سطح بالا قادر به ارایهی یك استاندارد در روشهای شیگرا بود. این نوشتار به بررسی مبانی فلسفی و عملیاتی این زبان میپردازد. متاسفانه هنگاهی كه از "یوامال" سخن به میان میآید صحبتها با یوزكیس دیاگرام و سایر نمودارهای آن آغاز و به پایان میرسد و به مبانی فلسفی و اساسی آن توجهی نمیشود. از این رو در این مقاله پیش از معرفی نمودارهای این زبان به بررسی مفروضات اساسی این زبان پرداخته میشود.
● مبانی فلسفی و معماری UML
"یوامال" چارچوب مفهومی مدلسازی است كه از چهار لایه و یا چهار سطح تجرید و انتزاع تشكیل شده است:
۱) لایه ماورای ماورای مدلها[۱]
این لایه شامل عناصر اصلی و اساسی یوامال میشود. مفهوم "چیز[۲]" نشاندهنده هر چیزی است كه قابل تعریف است و این سطح تجرید برای رسمیسازی نشانههای زبانی یك مفهوم و تعریف زبان برای مشخص ساختن ماورای مدلها به كار میرود.
۲) لایه ماورای مدلها
این لایه عناصر سازنده "یوامال" را دربرمیگیرد شامل مفاهیم پارادیمهای شیگرایی و كامپوننتگرایی. هر مفهوم در این سطح یك "نمونه[۳]" از مفهوم چیز در ماورای ماورای مدلهاست و این سطح تجرید برای رسمیسازی نشانههای زبانی یك مفهوم و تعریف زبان برای مشخص ساختن مدلها به كار میرود.
۳) لایه مدلها
این لایه مدلهای "یوامال" را دربرمیگیرد. این سطح، سطحی است كه در آن مسایل و راهكارها ویل سیستمها شكل میگیرند. هر مفهوم در این سطح یك "نمونه" از سطح ماورای مدلها است و این سطح تجرید برای رسمیسازی نشانههای زبانی یك مفهوم و تعریف زبان برای بیان عبارت در مورد یك موضوع به كار میرود. این سطح، سطح كلاس یا سطح نوع نامیده میشود.
۴) لایه مدلهای كاربر
این سطح شامل عناصری میشود كه مدلهای "یوامال" را تمثیل میكند. هر مفهوم در این سطح یك نمونه از سطح مدلهاست. این سطح، سطح شی یا نمونه نیز نامیده میشود.
● نماهای معماری در UML
هنگامی كه برای یك ساختمان نقشهای طراحی میشود برحسب ضرورت این ساختمان از زوایای مختلف به تصویر كشید میشود. برای مثال در نقشه نمای بیرونی غربی، نمای بیرونی شرقی و نظایر آن طراحی میشود و یا نقشهی اسكلت فلزی آن ترسیم میشود. مدلسازی و طراحی سیستم نیز از این قاعده مستثنا نیست. در زبان مدلسازی "یوامال این امكان وجود كه سیستم را از زوایای مختلف مورد تجزیه و تحلیل قرار دهید. در یو ام ال به هریك از این زوایای دید نما و نمای معماری گفته میشود. یا نماهای معمارانه مدلها و دانش مربوط به سیستم را از زوایای مختلف نمایش میدهند. هر دیدگاه از لحاظ معماری نشاندهندهی تمركز بر جهت خاصی است.
▪ زبان "یوامال" نمای معمارانه زیر را شامل میشود:
۱) معماری از دیدگاه كاربر
این دیدگاه نشاندهندهی مساله و یا راهكار از زاویهی دید كسی است كه مساله متعلق به اوست. این نما را نمای سناریو و یا نمای یوزكیس نیز مینامند.
۲) معماری با دیدگاه ساختاری
این نمای ابعاد ساختاری مساله را نمایش میدهد و به نمای استاتیك و یا نمای منطقی نیز شهرت دارد.
۳) معماری با دیدگاه رفتاری
این نمای ابعاد رفتاری مساله و راهكاری را نمایش میدهد و به نماهای پویا، همزمان، مشاركتی و فرایندی نیز شهرت دارد.
۴) معماری از دیدگاه پیاده سازی
این نما ابعاد رفتاری و ساختاری مساله و راهكاری را نمایش میدهد و به نماهای كامپوننت و توسعه نیز شهرت دارد.
۵) معماری از دیدگاه محیطی
این نمای ابعاد رفتاری و ساختاری مساله و راهكاری را در جایی كه سیستم باید محقق شود، به نمایش میگذارد و به نماهای كامپوننت و توسعه نیز شهرت دارد.
۶) سایر دیدگاهها
دیدگاههای دیگر نیز در صورت لزوم قابل تعریف و قابل به كارگیری هستند. دیدگاههای معماری، نشاندهندهی تمركز بر زوایای خاصی از مساله یا راهكار (به ویژه از دیدگاه ذینفعان) است.
● نمودارهای UML
نمودارهای پدیده ها را به زبانی قابل فهم ترسیم می كنند. نمودارهای مهم UML عبارتند از :
۱) مدلسازی از دیدگاه كاربر
یوزكیس دیاگرام ها كاركرد یك سیستم را به تصویر می كشند
۲) مدلسازی با دیدگاه ساختاری
كلاس دیاگرام های ساختار ایستا و استاتیك سیستم را به تصویر می كشند
نمودارهای شی نیز ساختار استاتیك سیستم را در یك لحظه خاص به تصویر می كشند.
۳) مدلسازی با دیدگاه رفتاری
نمودارهای توالی ، تعامل و ارتباط میان عناصر سیستم را نشان می دهند
نمودارهای همكاری نیز تعامل عناصر سیستم را از لحاظ زمانی و مكانی به تصویر می كشند.
نمودارهای حالت ، شرایط وضعیت و پاسخ عناصر سیستم را به تصویر می كشند
نمودارهای فعالیت فعالیت هریك از عناصر سیستم را به تصویر می كشند
۴) مدلسازی از دیدگاه پیاده ساز سیستم
نمودارهای كا مپوننت ، سازمان اجزایی كه یك سیستم را شكل می دهند را به تصویر می كشد.
۵) مدلسازی با دیدگاه محیطی
نمودارهای استقرار پیكر بندی یك سیستم را نمایش می دهند.
۶) سایر نمودارها نیز هرجا كه لازم باشند، می توان تعریف و استفاده نمود.
در ادامه به عنوان نمونه به بررسی نمودارهای كلاس پرداخته می شود.
● نمودار كلاس
هدف نمودار كلاس به تصویر كشیدن كلاس ها در یك مدل مب باشد. در یك برنامه كاربردی شی ء گرا ، كلاس ها دارای مشخصات ( متغیرهای اعضا ) و عملیات ( كاركرد اعضا ) و روابط بادیگر كلاس ها هستند. یك آیكون كلاس یك مستطیل ساده با سه بخش است در بخش بالایی اسم كلاس می آید و دربخش میانی لیست مشخصات كلاس می آید و در بخش زیرین لیست عملیات كلاس آورده می شود. البته در بسیاری از كلاس ها دو بخش زیرین حذف می گردد
برای مثال در شكل زیر كلاس یك دایره آورده شده است :
یك دایره را در نظر بگیرد . یك دایره با چه مشخصاتی شناخته می شود ؟ مركز و شعاع دایره . اگر این دو شناخته شده باشند دایره مشخص است. پس ایندو در زمره مشخصات كلاس دایره قرار می گیرند.
● روابط كلاس ها
همانگونه كه در تعریف گفته شد ، كلاس می تواند با یكدیگر روابطی داشته باشد. در ادامه این روابط تشریح میگرد.
۱) رابطه شمول ( در برگیری )
در مثال دایره می توان گفت هر دایره یك مركز دارد. در اینجا گفته می شود رابطه دایره با نقطه رابطه دربرگیری است و بصورت زیر نمایش داده می شود.
شكل فلش مرتبط كننده كلاس مهم است .
همین مفهوم را می توان با زبان برنامه نویسی نیز نشان داد. به مثال زیر كه با زبان C++ نوشته شده است دقت كنید :
۲) رابطه وراثت
مفهوم این رابطه شبیه مفهوم عامیانه وراثت است. برای مثال مثلث و مربع را در نظر بگیرد با اینكه این دو متفاوت هستند ولی آنها را می توان از خانواده چند ضلعی ها به شمار می رود. بنابراین رابطه این دو با كلاس چند ضلعی ها رابطه وراثت است. یا مربع و دایره را میتوان از خانواده اشكال به شمار آرود.رابطه وراثت بنوعی به طبقه بندی و خانواده سازی در كلاس ها اشاره دارد.
۳) رابطه تجمعی
گاهی اوقات یك كلاس از چند نمونه از یك كلاس دیگر را در بر می گیرد. برای مثال یك پنچره چندین شكل را دربر می گیرد. این یك تجمعی میان پنجره و شكل است و بصورت زیر نمایش داده می شود :
همین مفهوم را می توان با زبان برنامه نویسی نیز نشان داد. به مثال زیر كه با زبان C++ نوشته شده است دقت كنید :
۴) رابطه وابستگی
گاهی دو كلاس به یكدیگر وابسته اند. به رابطه میان كلاس Shape و كلاس Drawingcontextدر شكل زیر توجه كنید.
▪ نتیجه گیری
با توجه به ویژگیها زبان یو.ام.ال می توان گفت این زبان یك زبان رو به تكامل ، همه منظور، با قابلیت كاربرد گسترده ، ابزارمند و استاندارد شده برای مشخص كردن ، به تصویر كشیدن ، بنا كردن و مستند كردن فرایند های سیستم محور می باشد. این زبان یك مكانیزم اساسی ارتباطی است كه سازمان ها را برای استخراج دانش و تكنولوژی استراتژیك و عملیاتی توانمند می سازد.این دانش برای بهبود كیفیت، كاهش هزینه ، كاهش زمان تحویل به بازار و نظایر آن به كار می رود.
نویسنده : محمدرضا شاهینی (دانشجوی دكترای مدیریت استراتژیك)
[۱] meta-metamodel
[۲] Thing
[۳] instance
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست