خوب است بدانید

انواع نمودار uml. ابزارهایی برای رسم نمودارهای UML. UML چیست؟

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

برنامه عملیاتی

در بخش توضیحات، مجموعه اصلی نمادهای نمودار وضعیتی را که برای خواندن نمودارها نیاز دارید، بررسی کنید.

پس از خواندن سایر بخش‌ها (مثال، کاربرد)، می‌توانید خودتان در ترسیم نمودارهای حالت تلاش کنید.

یادداشت ها (توضیحات)

این مجموعه شخصیت اصلی است نمودارهای حالتبرای خواندن نمودار لازم است. پس از خواندن سایر بخش ها («مثال»، «برنامه»)، می توانید آهنگسازی کنید نمودارهای حالتبدون کمک دیگری!

مدت، اصطلاح تصویر شرح
شبه دولت اولیه وضعیت اولیه سیستم
انتقال انتقال یعنی حرکت از حالتی به حالت دیگر.
دولت اقدامات انجام شده توسط سیستم (ممکن است شامل گزینه هایی باشد) که منجر به نتایج مشاهده شده بازیگران می شود را نشان می دهد.
دولت
وضعیت فعالیت
یک مرحله پیچیده در یک مورد استفاده را می توان با استفاده دیگر نشان داد.
در اصطلاح UML، ما می گوییم مورد استفاده اول شامل مورد دوم نیز می شود.
حالت نهایی به شما امکان می دهد تا مرزهای سیستم ها یا زیرسیستم ها را مشخص کنید.
فعالیت های داخلی حالتی که در آن ایالت ها می توانند بدون انجام انتقال به رویدادها واکنش نشان دهند، در این صورت رویداد، حفاظت و فعالیت در داخل مستطیل حالت قرار می گیرند.
فعالیت ورودی هر زمان که وارد وضعیت شوید، فعالیت ورودی اجرا می شود
فعالیت خروجی فعالیت خروج - هر زمان که ایالت را ترک کنید اجرا می شود.
سوپردولت
اغلب اتفاق می‌افتد که چندین دولت، گذارها و فعالیت‌های داخلی مشترک دارند. در چنین مواقعی می‌توانید آنها را به حالت‌های فرعی تبدیل کنید و رفتار کلی را به یک ابرحالت تبدیل کنید.
ایالت های موازی
حالت ها را می توان به چندین حالت همزمان که همزمان اجرا می شوند تقسیم کرد.

چگونه از تکنیک خلاقیت استفاده کنیم

نمودارهای حالت UML برای توصیف رفتار یک شی واحد در موارد استفاده چندگانه خوب هستند. اما آنها برای توصیف رفتاری که با تعامل بسیاری از اشیاء مشخص می شود بسیار مناسب نیستند. بنابراین، استفاده از فناوری های دیگر در ارتباط با نمودارهای حالت منطقی است. به عنوان مثال، نمودارهای تعامل (فصل 4) به طور کامل رفتار چندین شی را در یک مورد استفاده واحد و نمودارهای فعالیت UML توصیف می کنند. برای نشان دادن جریان اصلی چندین اشیاء در موارد استفاده چندگانه خوب است.

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

اگر از نمودارهای حالت استفاده می کنید، سعی نکنید آنها را برای هر کلاس از سیستم ترسیم کنید. این رویکرد اغلب به منظور کامل بودن کاملاً دقیق استفاده می شود، اما تقریباً همیشه اتلاف انرژی است. فقط از نمودارهای وضعیتی برای کلاس هایی استفاده کنید که رفتار جالبی از خود نشان می دهند، جایی که ساختن نمودار وضعیت به شما کمک می کند تا بفهمید اوضاع چگونه پیش می رود.

بسیاری از کارشناسان معتقدند که ویرایشگر و کنترل‌های UI دارای عملکردی هستند که هنگام نمایش با استفاده از نمودار وضعیت مفید است.

چگونه یاد بگیریم

در اینجا سعی کرده ایم تا حد امکان راهی ساده برای یادگیری ارائه کنیم. نمودارهای حالت UML.

مانند بسیاری از زبان های دیگر، از مجموعه ای از کاراکترها برای توصیف آن استفاده می کند. معنی این نمادها را می توان در جدول در قسمت "تذکرات (توضیحات)" مشاهده کرد. هر علامت نام (اصطلاح) و املای خود را دارد. همچنین، برای درک سریع ماهیت هر اصطلاح، توضیح کوتاهی ارائه شده است.

علاوه بر این، توصیه می کنیم به بخش "نمونه ها" بروید نمودارهای حالتتا دست خود را در خواندن نمودارهای مختلف امتحان کنید. سپس ارزش مطالعه بخش "برنامه ها" را دارد، زیرا اگرچه تعداد انواع نمودارها در UML کم است، تنها در صورت استفاده از نمودارهای مربوطه برای هدف مورد نظر، می توانید حداکثر سود را از استفاده آنها ببرید.

مثال استفاده

نمودارهای ماشین حالتیک فناوری شناخته شده برای توصیف رفتار یک سیستم است. نمودارهای حالت به هر شکلی از سال 1960 وجود داشته است و در روزهای اولیه برنامه نویسی شی گرا از آنها برای نمایش رفتار یک سیستم استفاده می شد. در رویکردهای شی گرا، نمودار حالت یک کلاس را ترسیم می کنید تا رفتار یک شی منفرد را در طول عمر آن نشان دهید.

هر زمان که آنها در مورد ماشین های دولتی می نویسند، سیستم های کروز کنترل یا ماشین های فروش خودکار به ناچار به عنوان مثال ذکر می شوند.
تصمیم گرفتیم از کنترلر پنل کنترل مخفی در قلعه گوتیک استفاده کنیم. در این قلعه می‌خواهیم گنجینه‌هایمان را پنهان کنیم تا به سختی پیدا شوند. برای دسترسی به قفل گاوصندوق، باید یک شمع استراتژیک از روی شمعدان بیرون بیاوریم، اما قفل فقط در صورت بسته بودن در ظاهر می شود. بعد از ظاهر شدن قفل می توانیم کلید را داخل آن فرو کرده و گاوصندوق را باز کنیم. برای امنیت بیشتر، مطمئن شده ایم که گاوصندوق فقط پس از برداشتن شمع باز می شود. اگر دزد به این احتیاط توجه نکند، هیولای شنیع را رها می کنیم که دزد را می بلعد.

در شکل 10.1 نشان می دهد نمودار حالتکلاس کنترلی که سیستم امنیتی غیرمعمول من را مدیریت می کند. نمودار حالت با وضعیت شی کنترلر در حال ایجاد شروع می شود: حالات صبر کن... این در نمودار با نشان داده شده است شبه دولت اولیهکه یک حالت نیست، اما دارای یک فلش است که به حالت اولیه اشاره می کند.
نمودار نشان می دهد که کنترل کننده می تواند در یکی از سه حالت باشد: صبر کنید، قفل و باز کنید... این نمودار همچنین قوانینی را نشان می دهد که بر اساس آن کنترل کننده از یک حالت به حالت دیگر منتقل می شود. این قوانین در قالب انتقال - خطوط اتصال حالت ها ارائه شده است.

انتقال یعنی حرکت از حالتی به حالت دیگر. هر انتقال دارای برچسب مخصوص به خود است که از سه بخش تشکیل شده است:
ماشه امضا / فعالیت... همه آنها اختیاری هستند. معمولا، شناسه ماشهتنها رویدادی است که می تواند باعث تغییر حالت شود.

حفاظت، در صورت مشخص شدن، یک شرط بولی است که برای انجام انتقال باید رعایت شود. فعالیت برخی از رفتارهای سیستم در طول انتقال است. این می تواند هر نوع بیان رفتاری باشد. شکل کامل یک شناسه ماشه می تواند شامل چندین رویداد و پارامتر باشد. انتقال از حالت انتظار (شکل 10.1) به حالت دیگر را می توان به صورت "در حالت انتظار، اگر شمع برداشته شود، قفل را می بینید و به حالت قفل می روید."

هر سه بخش از توضیحات انتقال اختیاری هستند. نادیده گرفتن فعالیت به این معنی است که هیچ اتفاقی در طول انتقال نمی افتد. پرش از محافظ ها به این معنی است که در صورت وقوع یک رویداد محرک، همیشه یک انتقال انجام می شود. شناسه ماشه به ندرت گم می شود، اما این اتفاق می افتد. این بدان معنی است که انتقال بلافاصله اتفاق می افتد، که عمدتاً در حالت های فعالیت قابل مشاهده است.

هنگامی که یک رویداد در یک وضعیت خاص رخ می دهد، تنها یک انتقال می تواند از این حالت انجام شود، برای مثال، در حالت قفل (شکل 10.1)، حفاظت ها باید متقابل باشند. اگر رویدادی رخ دهد، اما هیچ انتقال مجاز وجود نداشته باشد - برای مثال، بستن گاوصندوق در حالت انتظار یا برداشتن شمع زمانی که در باز است - رویداد نادیده گرفته می‌شود.

حالت نهایی ( حالت نهایی) به این معنی است که ماشین حالت به پایان رسیده است، که باعث می شود شی کنترلر حذف شود. بنابراین برای کسانی که بی احتیاطی به دام افتادند، گزارش می دهیم که از آنجایی که شی کنترلر وجود ندارد، مجبور هستیم خرگوش را دوباره در قفس بگذاریم، کف را بشوییم و سیستم را راه اندازی مجدد کنیم.

به یاد داشته باشید که ماشین های حالت فقط می توانند اشیایی را نشان دهند که مستقیماً مشاهده می شوند یا روی آنها عمل می شود. بنابراین، در حالی که ممکن است از ما انتظار داشته باشید که وقتی در باز است، چیزی را در گاوصندوق قرار دهیم یا چیزی را از آنجا برداریم، ما آن را روی نمودار علامت گذاری نکردیم، زیرا کنترلر چیزی برای گفتن در مورد آن ندارد.

هنگامی که توسعه دهندگان در مورد اشیا صحبت می کنند، اغلب به وضعیت اشیا اشاره می کنند، یعنی ترکیبی از تمام داده های موجود در فیلدهای شی. با این حال، حالت در نمودار ماشین حالت یک مفهوم انتزاعی تر از حالت است. نکته این است که حالت‌های مختلف شیوه‌های متفاوتی برای واکنش به رویدادها دارند.

فعالیت های داخلی در نمودار دولتی

دولت‌ها می‌توانند بدون انجام یک انتقال، به رویدادها واکنش نشان دهند فعالیت های داخلی (فعالیت های داخلی)، در این صورت رویداد، حفاظت و فعالیت در داخل مستطیل حالت قرار می گیرد.

در شکل 10.2 وضعیت را با فعالیت های داخلی نمادها و رویدادهای سیستم کمکی ارائه می دهد که می توانید آنها را در قسمت های متنی ویرایشگر مشاهده کنید. UI... فعالیت درونی مانند یک خود گذار است - انتقالی که به همان حالت باز می گردد. نحو فعالیت های داخلی از همان منطق رویداد، حفاظت و رویه پیروی می کند.

در شکل 10.2 همچنین فعالیت های ویژه را نشان می دهد: فعالیت های ورودی و خروجی. فعالیت ورودیهر زمان که وارد یک وضعیت شوید اجرا می شود. فعالیت خروجی- هر زمان که ایالت را ترک کنید. با این حال، فعالیت های داخلی آغاز نمی شود فعالیت های ورودی و خروجی; این تفاوت بین فعالیت های داخلی وخود انتقالی ها .

وضعیت های فعالیت در نمودار وضعیت

در حالت هایی که تاکنون توضیح دادیم، شی ساکت است و قبل از انجام هر کاری منتظر رویداد بعدی است. با این حال، حالت هایی ممکن است که در آنها شیء فعالیتی را نشان می دهد.

دولت جستجوکردندر شکل 10.3 چنین حالتی است وضعیت فعالیت: فعالیت در حال انجام با نماد نشان داده می شود انجام دادن /; از این رو اصطلاح انجام فعالیت (فعال باش)... پس از تکمیل جستجو، انتقال بدون فعالیت انجام می شود، به عنوان مثال، نشان دادن تجهیزات جدید (نمایش سخت افزار جدید)... اگر یک رویداد لغو ( لغو)، سپس انجام فعالیتفقط قطع می شود و ما به حالت برمی گردیم به روز رسانی پنجره سخت افزار.

هم انجام فعالیت ها و هم فعالیت های معمولی نشان دهنده تجلی برخی رفتارها هستند. تفاوت قاطع بین این دو در این است که فعالیت‌های عادی "آنی" هستند و نمی‌توانند توسط رویدادهای عادی قطع شوند، در حالی که فعالیت‌های do می‌توانند برای مدت زمان محدودی اجرا شوند و می‌توانند قطع شوند، همانطور که در شکل نشان داده شده است. 10.3. لحظه ای بودن برای سیستم های مختلف متفاوت تفسیر می شود. برای سیستم های بلادرنگ این می تواند چندین دستورالعمل ماشینی طول بکشد و برای نرم افزار دسکتاپ ممکن است چندین ثانیه طول بکشد.

V UML 1فعالیت های رایج با این اصطلاح مشخص می شد عمل(عمل) و اصطلاح فعالیت(فعالیت) فقط برای استفاده شد انجام فعالیت ها.

ابر دولت ها

اغلب اتفاق می‌افتد که چندین دولت، گذارها و فعالیت‌های داخلی مشترک دارند. در چنین مواردی، می‌توانید آن‌ها را به حالت‌های فرعی تبدیل کنید، و رفتار کلی را به حالت فوق‌العاده تبدیل کنید، همانطور که در شکل نشان داده شده است. 10.4. بدون superstate، شما باید یک انتقال ترسیم کنید لغو(لغو) برای هر سه ایالت در یک ایالت جزئیات اتصال را وارد کنید.

ایالت های موازی

حالت ها را می توان به چندین حالت همزمان که همزمان اجرا می شوند تقسیم کرد. در شکل 10.5 یک ساعت زنگ دار ساده را نشان می دهد که می تواند سی دی یا رادیو را روشن کند و زمان فعلی یا زمان زنگ را نشان دهد.

گزینه های CD / رادیو و زمان فعلی / زمان سیگنال موازی هستند. اگر می‌خواهید این را با یک نمودار حالت غیر موازی نشان دهید، زمانی که نیاز به اضافه کردن حالت‌ها دارید، یک نمودار درهم و برهم خواهد بود. تقسیم این دو حوزه رفتاری به دو نمودار وضعیت آن را بسیار واضح تر می کند.

برنج. 10.5 نیز شامل می شود وضعیت پس زمینه(دولت کاذب تاریخی). این بدان معناست که وقتی ساعت روشن می شود، گزینه رادیو / سی دی به حالتی می رود که ساعت در هنگام خاموش شدن در آن قرار داشت. پیکانی که از ماقبل تاریخ بیرون می آید نشان می دهد که در ابتدا چه حالتی وجود داشته است، زمانی که ماقبل تاریخ وجود نداشته است.

پیاده سازی نمودارهای حالت

نمودار حالت را می توان به سه روش اصلی پیاده سازی کرد: با دستور سوئیچ تودرتو، الگوی حالت و جدول وضعیت. ساده ترین رویکرد برای کار با نمودارهای حالت، عبارت سوئیچ تودرتو است، مانند آنچه در شکل 1 نشان داده شده است. 10.6.

اگرچه این روش ساده است، اما حتی برای این مورد ساده بسیار طولانی است. علاوه بر این، با این رویکرد از دست دادن کنترل بسیار آسان است، بنابراین استفاده از آن را حتی در شرایط ابتدایی توصیه نمی کنیم.
الگوی State نشان دهنده سلسله مراتبی از کلاس های حالت برای مدیریت رفتار حالت است. هر ایالت در نمودار حالت دارای زیر کلاس حالت خاص خود است. کنترل کننده برای هر رویداد متدهایی دارد که به سادگی به کلاس state ارسال می شود. نمودار وضعیت نشان داده شده در شکل. 10.1 را می توان با استفاده از کلاس های نشان داده شده در شکل پیاده سازی کرد. 10.7.

بالای سلسله مراتب یک کلاس انتزاعی است که شامل توصیفی از تمام متدهایی است که رویدادها را مدیریت می کنند، اما هیچ پیاده سازی ندارند.
برای هر حالت خاص، کافی است متد handler را برای یک رویداد خاص که انتقال از حالت را آغاز می کند، بازنویسی کنیم.
جدول حالت یک نمودار حالت را به عنوان داده نشان می دهد.

بنابراین، نمودار در شکل. 10.1 را می توان در قالب یک جدول ارائه کرد. 10.1.
سپس یک مفسر می سازیم که از جدول حالت در زمان اجرا استفاده می کند، یا یک مولد کد که کلاس هایی را بر اساس آن جدول تولید می کند.

بدیهی است که بیشتر کار روی جدول حالت یک بار انجام می شود، اما پس از آن می توان هر زمان که یک مشکل حالت حل شود، از آن استفاده کرد. جدول حالت زمان اجرا را می توان بدون کامپایل مجدد تغییر داد، که تا حدودی راحت است. ساخت الگوی حالت آسان‌تر است، و در حالی که هر حالت به یک کلاس جداگانه نیاز دارد، مقدار کدی که باید نوشته شود بسیار کم است.

پیاده سازی های داده شده عملا حداقل هستند، اما ایده ای از نحوه استفاده را ارائه می دهند نمودارهای حالت... در هر مورد، اجرای مدل‌های حالت منجر به یک برنامه کلیشه‌ای می‌شود، بنابراین معمولاً بهتر است برای این کار به نوعی از تولید کد متوسل شوید.

با عضویت در اخبار سایت می توانید فرم اشتراک را در ستون سمت راست سایت پیدا کنید.

اگر می خواهید به صورت حرفه ای فریلنسری بیاموزید، شما را به دوره "" دعوت می کنیم.

& nbsp & nbsp & nbsp & nbsp زبان مدلسازی یکپارچه (UML) زبانی است برای تعیین، تجسم، ساخت و مستندسازی سیستم های نرم افزاری، و همچنین مدل های تجاری و سایر سیستم های غیر نرم افزاری. UML ترکیبی از تکنیک های مهندسی است که قبلاً با موفقیت برای مدل سازی سیستم های بزرگ و پیچیده استفاده شده است.

& nbsp & nbsp & nbsp & nbsp سازندگان UML آن را به عنوان زبانی برای تعریف، نمایش، طراحی و مستندسازی سیستم‌های نرم‌افزاری، سیستم‌های تجاری و دیگر سیستم‌های با ماهیت مختلف معرفی می‌کنند. UML نشانه گذاری و متامدل را تعریف می کند. نماد مجموعه ای از اشیاء گرافیکی است که در مدل ها استفاده می شود. این نحو یک زبان مدل سازی است.

& nbsp & nbsp & nbsp & nbsp UML ابزارهای بیانی برای ایجاد مدل های بصری ارائه می دهد که:

  • درک یکنواخت توسط همه توسعه دهندگان درگیر در پروژه؛
  • وسیله ارتباطی در پروژه هستند.

& nbsp & nbsp & nbsp & nbsp زبان مدلسازی یکپارچه (UML):

  • به زبان های برنامه نویسی شی گرا (OO) وابسته نیست.
  • به متدولوژی توسعه پروژه مورد استفاده بستگی ندارد.
  • می تواند از هر زبان برنامه نویسی OO پشتیبانی کند.

& nbsp & nbsp & nbsp & nbsp UML منبع باز است و تا هسته اصلی قابل گسترش است. در UML، می‌توانید کلاس‌ها، اشیاء و مؤلفه‌ها را در حوزه‌های موضوعی مختلف که اغلب بسیار متفاوت از یکدیگر هستند، به طور معناداری توصیف کنید.

نمودارهای UML

& nbsp & nbsp & nbsp & nbsp در اختیار طراح سیستم، Rational Rose انواع نمودارهای زیر را ارائه می دهد که ایجاد متوالی آنها به شما امکان می دهد تصویر کاملی از کل سیستم طراحی شده و اجزای جداگانه آن بدست آورید:

  • از نمودار موردی استفاده کنید
  • نمودار استقرار (نمودار توپولوژی)؛
  • نمودار استیتچارت؛
  • نمودار تعامل نمودار فعالیت
  • نمودار توالی
  • نمودار همکاری
  • نمودار کلاس
  • نمودار مولفه
  • نمودارهای رفتار
  • نمودار فعالیت
  • نمودارهای پیاده سازی

& nbsp & nbsp & nbsp & nbsp هر یک از این نمودارها نمای متفاوتی از مدل سیستم را مشخص می کند. در این مورد، نمودار استفاده نشان دهنده یک مدل مفهومی از سیستم است که نقطه شروع برای ساخت تمام نمودارهای دیگر است. نمودار کلاس یک مدل منطقی است که جنبه های ایستا طراحی ساختاری یک سیستم را منعکس می کند و نمودارهای رفتاری که انواعی از یک مدل منطقی نیز هستند، جنبه های دینامیکی عملکرد آن را منعکس می کنند. نمودارهای پیاده سازی برای نمایش اجزای یک سیستم و ارجاع به مدل فیزیکی آن استفاده می شود.

& nbsp & nbsp & nbsp & nbsp از نمودارهای بالا، برخی برای نشان دادن دو یا چند زیرگونه استفاده می شوند. نمودارهای زیر به عنوان نمایش مستقل استفاده می شوند: موارد استفاده، کلاس ها، حالت ها، فعالیت ها، ترتیب، همکاری، اجزا و استقرارها.

& nbsp & nbsp & nbsp & nbsp سه نوع نماد بصری برای نمودارهای UML وجود دارد که از نظر اطلاعاتی که دارند مهم هستند:

  • اتصالات، که با خطوط مختلف در هواپیما نشان داده می شود.
  • متنموجود در مرزهای اشکال هندسی فردی؛
  • نمادهای گرافیکینزدیک به تصاویر نمودارها کشیده شده است.

& nbsp & nbsp & nbsp & nbsp هنگام نمایش نمودارها به صورت گرافیکی، توصیه می شود قوانین زیر را رعایت کنید:

  • هر نمودار باید نمایش کاملی از بخشی از دامنه شبیه سازی شده باشد.
  • موجودیت های مدل نشان داده شده در نمودار باید از یک سطح مفهومی باشند.
  • تمام اطلاعات مربوط به نهادها باید به وضوح در نمودار نشان داده شود.
  • نمودارها نباید حاوی اطلاعات متناقض باشند.
  • نمودارها نباید با اطلاعات متنی بیش از حد بارگذاری شوند.
  • هر نمودار باید برای تفسیر صحیح همه عناصرش خودکفا باشد.
  • تعداد انواع نمودارهای مورد نیاز برای توصیف یک سیستم خاص کاملاً ثابت نیست و توسط توسعه دهنده تعیین می شود.
  • مدل‌های سیستم باید فقط شامل عناصری باشند که در نماد UML تعریف شده‌اند.

موجودیت ها در UML

& nbsp & nbsp & nbsp & nbsp UML چهار نوع موجودیت را تعریف می کند: ساختاری، رفتاری، گروه بندی و حاشیه نویسی... موجودیت ها عناصر اصلی شی گرا زبان هستند که مدل ها با آنها ایجاد می شوند.

& nbsp & nbsp & nbsp & nbsp نهادهای ساختاریاسامی در مدل های UML هستند. به طور معمول، آنها بخش های ثابت مدل را نشان می دهند که با عناصر مفهومی یا فیزیکی سیستم مطابقت دارد. نمونه هایی از موجودیت های ساختاری عبارتند از کلاس، رابط، همکاری، مورد استفاده، جزء، گره، بازیگر.

& nbsp & nbsp & nbsp & nbsp موجودیت های رفتاریاجزای پویا مدل UML هستند. اینها افعالی هستند که رفتار یک مدل را در زمان و مکان توصیف می کنند. دو نوع اصلی از موجودیت های رفتاری وجود دارد:

  • تعامل رفتاری است که ماهیت آن تبادل پیام بین اشیاء در یک زمینه خاص برای رسیدن به یک هدف خاص است.
  • خودکار - یک الگوریتم رفتاری است که دنباله ای از حالت هایی را که از طریق آن یک شی یا تعامل در پاسخ به رویدادهای مختلف عبور می کند، تعیین می کند.

& nbsp & nbsp & nbsp & nbsp گروه بندی نهادهابخش های سازمان دهنده مدل UML هستند. اینها بلوک هایی هستند که مدل را می توان در آنها تجزیه کرد. یک نسخه واحد از چنین موجودیت اولیه وجود دارد - این یک بسته است.

& nbsp & nbsp & nbsp & nbsp بسته‌ها مکانیزمی جهانی برای سازماندهی اقلام در گروه‌ها هستند. موجودیت های ساختاری، رفتاری و سایر گروه بندی ها را می توان در بسته قرار داد. برخلاف مؤلفه‌هایی که در واقع در حین اجرای برنامه وجود دارند، بسته‌ها صرفاً مفهومی هستند، یعنی فقط در طول فرآیند توسعه وجود دارند.

& nbsp & nbsp & nbsp & nbsp موجودیت های حاشیه نویسیبخش‌های توضیحی مدل UML هستند: نظراتی برای توضیحات بیشتر، شفاف‌سازی یا نکاتی در مورد هر عنصر مدل. تنها یک نوع اساسی از عناصر حاشیه نویسی وجود دارد، حاشیه نویسی. یادداشت برای ارائه نظرات یا محدودیت‌هایی برای نمودارها، بیان شده در متن غیررسمی یا رسمی استفاده می‌شود.

روابط در UML

& nbsp & nbsp & nbsp & nbsp انواع رابطه زیر در UML تعریف شده است: وابستگی، تداعی، تعمیم و اجرا... این روابط ساختارهای چسب اصلی در UML هستند و همچنین نحوه استفاده از موجودیت ها برای ساخت مدل ها هستند.

& nbsp & nbsp & nbsp & nbsp وابستگییک رابطه معنایی بین دو موجود است که در آن تغییر در یکی از آنها، مستقل، می تواند بر معنایی دیگری، وابسته تأثیر بگذارد.

& nbsp & nbsp & nbsp & nbsp اتحادیه- یک رابطه ساختاری که مجموعه ای از ارتباطات معنایی یا منطقی بین اشیا را توصیف می کند.

& nbsp & nbsp & nbsp & nbsp تعمیمرابطه ای است که در آن یک شی عنصر تخصصی (تبار) می تواند جایگزین شی عنصر عمومی (اجداد) شود. در عین حال، مطابق با اصول برنامه نویسی شی گرا، کودک ساختار و رفتار والد خود (والد) را به ارث می برد.

& nbsp & nbsp & nbsp & nbsp تحققیک رابطه معنایی بین طبقه‌بندی‌کننده‌ها است که در آن یک طبقه‌بندی تعهد را تعریف می‌کند و دیگری انجام آن را تضمین می‌کند. یک رابطه پیاده سازی در دو مورد اتفاق می افتد:

  • بین رابط ها و کلاس ها یا مؤلفه هایی که آنها را پیاده سازی می کنند.
  • بین موارد استفاده و همکاری هایی که آنها را اجرا می کنند.

مکانیسم های رایج UML

& nbsp & nbsp & nbsp & nbsp برای توصیف دقیق سیستم در UML، به اصطلاح مکانیزم های کلی استفاده می شود:

  • مشخصات فنی؛
  • اضافات (زیور آلات)؛
  • تقسیمات (تقسیمات مشترک)؛
  • مکانیسم های توسعه پذیری

& nbsp & nbsp & nbsp & nbsp UML تنها یک زبان گرافیکی نیست. هر عنصر گرافیکی از نماد خود دارای مشخصاتحاوی نمایش متنی ساختار زبان مربوطه است. به عنوان مثال، نماد کلاس دارای مشخصاتی است که ویژگی ها، عملیات و رفتار آن را توصیف می کند، اگرچه به صورت بصری، در یک نمودار، نماد اغلب تنها بخش کوچکی از این اطلاعات را منعکس می کند. علاوه بر این، مدل ممکن است حاوی نمایش دیگری از این کلاس باشد که جنبه های کاملاً متفاوتی از آن را منعکس کند، اما با این وجود، مطابق با مشخصات است. بنابراین، نماد گرافیکی UML برای تجسم سیستم استفاده می شود و با کمک مشخصات، جزئیات آن را توصیف می کند.

& nbsp & nbsp & nbsp & nbsp تقریبا هر عنصر UML دارای یک نمایش گرافیکی منحصر به فرد است که نمایش بصری مهم ترین ویژگی های آن را ارائه می دهد. نماد موجودیت "class" شامل نام، ویژگی ها و عملیات آن است. مشخصات کلاس می‌تواند شامل جزئیات دیگری مانند قابلیت مشاهده ویژگی‌ها و عملیات، نظرات یا نشانه‌ای مبنی بر انتزاعی بودن کلاس باشد. بسیاری از این جزئیات را می توان به صورت گرافیکی یا متنی ارائه کرد. اضافاتبه مستطیل استاندارد که نشان دهنده کلاس است.

& nbsp & nbsp & nbsp & nbsp هنگام مدل سازی سیستم های شی گرا، یک ویژگی خاص وجود دارد تقسیمنهادهای نمایندگی

& nbsp & nbsp & nbsp & nbsp ابتدا، یک تقسیم به کلاس ها و اشیاء وجود دارد. یک کلاس یک انتزاع است و یک شی تجسم عینی آن انتزاع است. از این نظر، تقریباً تمام ساختارهای زبان با دوگانگی کلاس / شی مشخص می شوند. بنابراین، موارد استفاده و موارد استفاده، نمونه‌های مؤلفه و مؤلفه، گره‌ها و نمونه‌های گره وجود دارد. در نمایش گرافیکی، مرسوم است که برای یک شیء از همان علامت کلاس استفاده می شود و زیر نام آن خط می کشد.

& nbsp & nbsp & nbsp & nbsp در مرحله دوم، یک تقسیم بندی به رابط و اجرای آن وجود دارد. رابط تعهدات را اعلام می‌کند، و پیاده‌سازی تجسم عینی آن تعهدات را نشان می‌دهد و تضمین می‌کند که معنایی اعلام‌شده به دقت دنبال می‌شود. به همین دلیل، تقریباً تمام ساختارهای UML با دوگانگی رابط / پیاده سازی مشخص می شوند. به عنوان مثال، موارد استفاده توسط تعاونی ها و عملیات با روش ها اجرا می شود.

& nbsp & nbsp & nbsp & nbsp UML یک زبان باز است، یعنی به برنامه‌های افزودنی کنترل‌شده اجازه می‌دهد تا ویژگی‌های مدل‌های دامنه را منعکس کنند.

مکانیزم های پسوند UML & nbsp & nbsp & nbsp & nbsp عبارتند از:

  • کلیشه ها (کلیشه ها) - واژگان UML را گسترش دهید و بر اساس عناصر زبان موجود، امکان ایجاد موارد جدیدی را ایجاد کنید که بر حل یک مشکل خاص متمرکز هستند.
  • مقدار برچسب‌گذاری شده - ویژگی‌های ساختارهای اصلی UML را گسترش می‌دهد و اجازه می‌دهد اطلاعات اضافی در مشخصات عنصر گنجانده شود.
  • محدودیت ها - معناشناسی ساختارهای UML را گسترش می دهد، به شما امکان می دهد قوانین جدید ایجاد کنید و قوانین موجود را نادیده بگیرید.

& nbsp & nbsp & nbsp & nbsp با هم، این سه مکانیسم گسترش زبان به شما امکان می دهد آن را مطابق با نیازهای پروژه یا ویژگی های فناوری توسعه تغییر دهید.

از نمودار موردی استفاده کنید

& nbsp & nbsp & nbsp & nbsp این نوع نمودار به شما امکان می دهد لیستی از عملیاتی که سیستم انجام می دهد ایجاد کنید. این نوع نمودار اغلب به عنوان نمودار تابع نامیده می شود، زیرا لیستی از نیازهای سیستم بر اساس مجموعه ای از این نمودارها ایجاد می شود و مجموعه عملکردهای انجام شده توسط سیستم تعیین می شود.


شکل - 1. نمودار موارد استفاده

& nbsp & nbsp & nbsp & nbsp نمودارهای مورد استفاده عملکرد یک سیستم یا آنچه که سیستم قرار است انجام دهد را توصیف می کند. توسعه نمودار دارای اهداف زیر است:

  • مرزهای عمومی و زمینه حوزه شبیه سازی شده را تعریف کنید.
  • تدوین الزامات عمومی برای رفتار عملکردی سیستم طراحی شده؛
  • توسعه یک مدل مفهومی اولیه از سیستم برای جزئیات بعدی آن در قالب مدل های منطقی و فیزیکی؛
  • تهیه مستندات اولیه برای تعامل توسعه دهندگان سیستم با مشتریان و کاربران آن.

& nbsp & nbsp & nbsp & nbsp ماهیت نمودار استفاده به شرح زیر است. سیستمی که طراحی می شود به عنوان مجموعه ای از موجودیت ها یا بازیگرانی نمایش داده می شود که از طریق موارد استفاده با سیستم در تعامل هستند. در این حالت، کنشگر یا کنشگر هر موجودی است که از بیرون با سیستم در تعامل باشد. این می تواند یک شخص، یک دستگاه فنی، یک برنامه یا هر سیستم دیگری باشد که می تواند به عنوان منبع تأثیرگذاری بر روی سیستم مدل سازی شده، همانطور که خود توسعه دهنده تعیین می کند، باشد. مورد استفادهدر خدمت توصیف خدماتی است که سیستم به بازیگر ارائه می دهد.

& nbsp & nbsp & nbsp & nbsp هدف یک مورد استفاده تعریف یک جنبه کامل یا قطعه ای از رفتار یک موجودیت بدون آشکار ساختن ساختار داخلی آن است. چنین موجودی می تواند یک سیستم یا هر عنصری از یک مدل باشد که رفتار خاص خود را دارد.

& nbsp & nbsp & nbsp & nbsp هر مورد استفاده مربوط به سرویس جداگانه‌ای است که موجودیت مدل‌سازی شده به درخواست بازیگر ارائه می‌کند، یعنی نحوه استفاده از آن موجودیت را تعیین می‌کند. این سرویس که به درخواست بازیگر مقدار دهی اولیه می شود، یک توالی کامل و غیرقابل تقسیم از اقدامات است. این بدان معناست که پس از اتمام پردازش درخواست، سیستم باید به حالت اولیه خود بازگردد تا برای اجرای درخواست های بعدی آماده باشد.

& nbsp & nbsp & nbsp & nbsp موارد استفاده را می توان هم برای تعیین الزامات خارجی برای سیستم طراحی شده و هم برای تعیین رفتار عملکردی یک سیستم موجود استفاده کرد. مجموعه موارد استفاده به عنوان یک کل باید تمام جنبه های ممکن رفتار مورد انتظار سیستم را تعریف کند. علاوه بر این، موارد استفاده به طور ضمنی الزاماتی را تعیین می کند که تعیین می کند بازیگران چگونه باید با سیستم تعامل داشته باشند تا بتوانند به درستی با خدمات ارائه شده کار کنند. برای راحتی، بسیاری از موارد استفاده را می توان به عنوان یک بسته جداگانه مشاهده کرد.

& nbsp & nbsp & nbsp & nbsp نمونه هایی از موارد استفاده ممکن است عبارتند از: بررسی وضعیت حساب جاری مشتری، ثبت سفارش برای خرید یک کالا، به دست آوردن اطلاعات اضافی در مورد اعتبار مشتری، نمایش یک فرم گرافیکی روی صفحه نمایشگر ، و سایر اقدامات

نمودار کلاس

& nbsp & nbsp & nbsp & nbsp مرکز برنامه نویسی شی گرا توسعه یک مدل منطقی از یک سیستم در قالب یک نمودار کلاس است. نمودار کلاس (نمودار کلاس) برای نشان دادن ساختار استاتیک یک مدل سیستم در اصطلاحات کلاس های برنامه نویسی شی گرا استفاده می شود. یک نمودار کلاس می تواند به طور خاص، روابط مختلف بین موجودیت های منفرد دامنه، مانند اشیا و زیرسیستم ها را منعکس کند، و همچنین ساختار داخلی و انواع روابط آنها را توصیف کند.


شکل - 2. نمودار کلاس

& nbsp & nbsp & nbsp & nbsp نمادهای نمودار به شما امکان می دهند سلسله مراتب پیچیده ای از سیستم ها، روابط کلاس ها (کلاس ها) و رابط ها (اینترفیس ها) را نمایش دهید. این نوع نمودار از نظر محتوا در مقابل نمودار Collaboration است که اشیاء سیستم را نمایش می دهد. Rational Rose به شما امکان می دهد کلاس هایی را با استفاده از این نوع نمودار در نمادهای مختلف ایجاد کنید. مثل ابر بنابراین، یک کلاس فقط یک الگو است که بر اساس آن یک شی خاص در آینده ایجاد می شود.

& nbsp & nbsp & nbsp & nbsp نمودار کلاس یک نمودار است که رئوس آن عناصری از نوع "طبقه بندی کننده" هستند که توسط انواع مختلفی از روابط ساختاری به هم متصل می شوند. یک نمودار کلاس همچنین می تواند شامل رابط ها، بسته ها، روابط و حتی نمونه های فردی مانند اشیا و روابط باشد.

& nbsp & nbsp & nbsp & nbsp کلاسدر زبان UML، برای نشان دادن مجموعه ای از اشیاء استفاده می شود که ساختار، رفتار و روابط یکسانی با اشیاء کلاس های دیگر دارند. کلاس به صورت گرافیکی به صورت یک مستطیل به تصویر کشیده می شود که علاوه بر این می توان آن را با خطوط افقی به بخش ها یا بخش ها تقسیم کرد. این بخش ها می توانند شامل نام کلاس، ویژگی ها (متغیرها) و عملیات (روش ها) باشند.

نمودار حالت (نمودار statechart)

& nbsp & nbsp & nbsp & nbsp هر نمودار حالت در UML تمام حالت های ممکن یک نمونه از یک کلاس خاص و دنباله های احتمالی انتقال آن از یک حالت به حالت دیگر را توصیف می کند، یعنی تمام تغییرات در حالت های یک شی را به صورت مدل سازی می کند. پاسخ آن به تأثیرات خارجی

نمودارهای وضعیتی & nbsp & nbsp & nbsp & nbsp بیشتر برای توصیف رفتار اشیاء منفرد استفاده می شوند، اما همچنین می توانند برای مشخص کردن عملکرد سایر اجزای مدل مانند موارد استفاده، بازیگران، زیرسیستم ها، عملیات و روش ها استفاده شوند.



شکل - 2. نمودار حالت

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

& nbsp & nbsp & nbsp & nbsp در متامدل UML دستگاهبسته ای است که مجموعه ای از مفاهیم لازم برای نمایش رفتار یک موجودیت مدل شده را در قالب یک فضای گسسته با تعداد محدود حالت ها و انتقال ها تعریف می کند.

& nbsp & nbsp & nbsp & nbsp مدت زمان حضور سیستم در هر یک از حالت های ممکن به طور قابل توجهی بیشتر از زمان انتقال از یک حالت به حالت دیگر است. فرض بر این است که، در حد، زمان انتقال می تواند برابر با صفر باشد (مگر اینکه در غیر این صورت مشخص شده باشد)، یعنی تغییر در حالت های شی می تواند فورا رخ دهد.

& nbsp & nbsp & nbsp & nbsp رفتار ماشین به صورت حرکت متوالی در طول نمودار از راس به رأس، با در نظر گرفتن جهت قوس‌هایی که آنها را به هم متصل می‌کنند، مدل‌سازی می‌شود.

& nbsp & nbsp & nbsp & nbsp پیش نیازهای زیر برای دستگاه باید رعایت شود:

  • حالتی که یک شی می تواند به آن برود فقط با وضعیت فعلی آن تعیین می شود و به تاریخ بستگی ندارد.
  • در هر لحظه از زمان خودکار می تواند تنها در یکی از حالت های خود باشد. در عین حال، اگر هیچ رویدادی رخ ندهد، خودکار می‌تواند برای هر مدت زمانی در حالت جداگانه باقی بماند.
  • مدت زمانی که ماشین در یک حالت خاص قرار دارد و همچنین مدت زمانی که طول می کشد تا به یک حالت خاص برسد، به هیچ وجه مشخص نشده است.
  • تعداد حالت های خودکار باید محدود باشد و همه آنها به صراحت مشخص شوند. شبه حالت های فردی ممکن است مشخصات (حالت های اولیه و نهایی) نداشته باشند. در این حالت، هدف و معنای آنها کاملاً از بافت مدل و نمودار حالت در نظر گرفته شده مشخص می شود.
  • نمودار خودکار نباید شامل حالات و انتقال های جدا شده باشد. برای هر حالت، به جز حالت اولیه، باید یک حالت قبلی تعریف شود و هر انتقال باید دو حالت خودکار را به هم متصل کند.
  • هنگامی که شی می تواند همزمان به دو یا چند حالت بعدی برود (به استثنای مورد زیر اتوماتای ​​موازی) خودکار نباید دارای انتقال متضاد باشد. در UML، با معرفی شرایط نگهبان می توان از درگیری جلوگیری کرد.

ایالت هانه تنها در متامدل UML، بلکه در تحلیل سیستم های کاربردی نیز اساسی است. کل مفهوم یک سیستم پویا مبتنی بر مفهوم حالت است. معناشناسی حالت در UML دارای تعدادی ویژگی خاص است.

& nbsp & nbsp & nbsp & nbsp در UML، state یک متاکلاس انتزاعی است که برای مدلسازی یک موقعیت واحد که در طی آن شرایط خاصی برآورده می شود استفاده می شود. State را می توان به عنوان مجموعه ای از مقادیر خاص برای ویژگی های یک کلاس یا شی مشخص کرد. تغییرات در مقادیر مشخصه منفرد، تغییرات در وضعیت کلاس یا شی مدل‌سازی شده را منعکس می‌کند.

نمودار فعالیت

& nbsp & nbsp & nbsp & nbsp هنگام مدلسازی رفتار یک سیستم طراحی شده یا تجزیه و تحلیل شده، نه تنها نشان دادن روند تغییر حالات آن ضروری است، بلکه جزئیات اجرای الگوریتمی و منطقی عملیات انجام شده توسط سیستم.

& nbsp & nbsp & nbsp & nbsp در واقع از این نوع نمودارها می توان برای انعکاس حالات یک شی مدل شده نیز استفاده کرد، با این حال، هدف اصلی یک نمودار Activity منعکس کردن فرآیندهای تجاری یک شی است. این نوع نمودار به شما این امکان را می دهد که نه تنها توالی فرآیندها، بلکه انشعاب و حتی هماهنگ سازی فرآیندها را نیز نشان دهید.

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

& nbsp & nbsp & nbsp & nbsp نمودارهای فعالیت برای مدلسازی فرآیند انجام عملیات در زبان UML استفاده می شود. نماد گرافیکی که آنها استفاده می کنند بسیار شبیه به نماد نمودار است که شامل حالت ها و انتقال ها نیز می شود. هر حالت در نمودار فعالیت مربوط به اجرای یک عملیات ابتدایی است و انتقال به حالت بعدی تنها پس از تکمیل این عملیات انجام می شود.

& nbsp & nbsp & nbsp & nbsp بنابراین، نمودارهای فعالیت را می توان یک مورد خاص از نمودارهای حالت در نظر گرفت. آنها به شما امکان می دهند به دلیل تکمیل فعالیت ها و اقدامات داخلی، ویژگی های کنترل رویه ای و همزمان را در زبان UML پیاده سازی کنید. جهت اصلی استفاده از نمودارهای فعالیت، تجسم ویژگی های اجرای عملیات کلاس است، زمانی که لازم است الگوریتم هایی برای اجرای آنها ارائه شود.

& nbsp & nbsp & nbsp & nbsp در زمینه UML فعالیتمجموعه ای از محاسبات فردی است که توسط ماشین انجام می شود که منجر به نتیجه یا عمل (عمل) می شود. نمودار فعالیت منطق و توالی انتقال از یک فعالیت به فعالیت دیگر را نشان می دهد و توجه تحلیلگر بر روی نتایج متمرکز است. نتیجه فعالیت می تواند منجر به تغییر در وضعیت سیستم یا بازگشت مقداری شود.

& nbsp & nbsp & nbsp & nbsp حالت عملیک مورد خاص از یک حالت با مقداری کنش ورودی و حداقل یک انتقال از حالت خارج می شود. این انتقال به طور ضمنی فرض می کند که عملکرد ورودی قبلاً تکمیل شده است. حالت عمل نمی تواند دارای انتقال داخلی باشد، زیرا ابتدایی است. یک استفاده رایج از حالت عمل شبیه سازی یک مرحله واحد در اجرای یک الگوریتم (رویه) یا جریان کنترل است.

نمودار توالی

& nbsp & nbsp & nbsp & nbsp هنگام در نظر گرفتن نمودارهای وضعیت و فعالیت، به این نکته اشاره شد که اگرچه این نمودارها برای مشخص کردن پویایی رفتار سیستم ها استفاده می شوند، اما زمان به صراحت در آنها وجود ندارد. جنبه زمانی رفتار می‌تواند در مدل‌سازی فرآیندهای همزمان که تعامل اشیاء را توصیف می‌کنند از اهمیت قابل توجهی برخوردار باشد. UML از نمودارهای توالی برای مدل سازی تعامل اشیاء در طول زمان استفاده می کند.

& nbsp & nbsp & nbsp & nbsp نمودار ترتیبی فقط مواردی را نشان می دهد اشیاءکه مستقیماً درگیر تعامل هستند. نکته کلیدی برای نمودارهای توالی، پویایی تعامل اشیاء در طول زمان است.

& nbsp & nbsp & nbsp & nbsp در UML، نمودار توالی دو بعد دارد. اولین مورد از چپ به راست به شکل خطوط عمودی است که هر یک از آنها خط زندگی یک جسم جداگانه را نشان می دهد که در تعامل شرکت می کند. سمت چپ نمودار شیئی را نشان می دهد که تعامل را آغاز می کند. در سمت راست، شی دیگری به تصویر کشیده شده است که به طور مستقیم با اولی در تعامل است. بنابراین، تمام اشیاء در نمودار توالی نوعی نظم را تشکیل می دهند که توسط ترتیب یا درجه فعالیت اشیاء در هنگام تعامل با یکدیگر تعیین می شود.

& nbsp & nbsp & nbsp & nbsp از نظر گرافیکی، هر شی به صورت یک مستطیل به تصویر کشیده می شود و در بالای خط زندگی خود قرار دارد. نام شی و نام کلاس داخل مستطیل نوشته شده و با یک دو نقطه از هم جدا شده اند. در این حالت، کل رکورد زیر خط کشیده می شود که از ویژگی های شی است.

& nbsp & nbsp & nbsp & nbsp بعد دوم نمودار توالی، محور زمانی عمودی از بالا به پایین است. قسمت بالای نمودار مربوط به لحظه اولیه در زمان است. فعل و انفعالات شیء از طریق پیام هایی که از یک شی به شیء دیگر ارسال می شوند پیاده سازی می شوند. پیام ها به صورت فلش های افقی با نام پیام نمایش داده می شوند و ترتیب آنها بر اساس زمان وقوع مشخص می شود. یعنی پیام‌هایی که در نمودار توالی بالا قرار دارند زودتر از پیام‌هایی که در زیر قرار دارند فعال می‌شوند. مقیاس بر روی محور زمان نشان داده نشده است زیرا نمودار توالی فقط ترتیب زمانی تعاملات زودتر و دیرتر را مدل می کند.

نمودار همکاری

& nbsp & nbsp & nbsp & nbsp ویژگی اصلی نمودار همکاری، توانایی نمایش گرافیکی نه تنها توالی تعامل، بلکه همچنین تمام روابط ساختاری بین اشیاء شرکت کننده در این تعامل است.


شکل - 3. نمودار همکاری

& nbsp & nbsp & nbsp & nbsp این نوع نمودار به شما امکان می دهد تا تعامل اشیاء را توصیف کنید و از ترتیب ارسال پیام ها انتزاع کنید. تمام پیام های دریافتی و ارسالی یک شی خاص و انواع این پیام ها در این نوع نمودارها به صورت فشرده منعکس می شود.

& nbsp & nbsp & nbsp & nbsp اول از همه، نمودار همکاری در قالب مستطیل، اشیاء شرکت کننده در تعامل را نشان می دهد که شامل نام شی، کلاس آن و احتمالاً مقادیر ویژگی ها است. علاوه بر این، همانطور که در نمودار کلاس، ارتباط بین اشیاء در قالب خطوط اتصال مختلف نشان داده شده است. در این صورت می توانید به صراحت نام انجمن و نقش هایی که اشیا در این انجمن ایفا می کنند را مشخص کنید. علاوه بر این، پیوندهای پویا - جریان پیام را می توان به تصویر کشید. آنها همچنین به عنوان خطوط اتصال بین اشیاء نشان داده می شوند، که در بالای آنها یک فلش وجود دارد که جهت، نام پیام و شماره دنباله را در توالی کلی اولیه سازی پیام نشان می دهد.

& nbsp & nbsp & nbsp & nbsp برخلاف نمودار توالی، یک نمودار همکاری فقط روابط بین اشیایی را نشان می دهد که نقش های خاصی را در یک تعامل ایفا می کنند. این نمودار زمان را به عنوان یک بعد جداگانه نشان نمی دهد. بنابراین، توالی برهمکنش ها و جریان های موازی را می توان با استفاده از اعداد دنباله ای تعیین کرد. بنابراین، اگر نیاز دارید که روابط بین اشیاء را در زمان واقعی مشخص کنید، بهتر است این کار را در نمودار توالی انجام دهید.

مفهوم & nbsp & nbsp & nbsp & nbsp همکارییکی از مفاهیم اساسی در UML است. این برای تعیین مجموعه ای از اشیاء در تعامل با یک هدف خاص در زمینه کلی سیستم مدل شده است. هدف از همکاری خود مشخص کردن ویژگی های اجرای مهم ترین عملیات فردی در سیستم است. همکاری ساختار رفتار سیستم را بر حسب تعامل شرکت کنندگان در این همکاری تعریف می کند.

& nbsp & nbsp & nbsp & nbsp همکاری در دو سطح قابل ارائه است:

  • سطح مشخصات - نقش طبقه بندی کننده ها و نقش انجمن ها را در تعامل در نظر گرفته نشان می دهد.
  • سطح مثال - موارد و روابطی را نشان می دهد که نقش های جداگانه ای را در همکاری تشکیل می دهند.

& nbsp & nbsp & nbsp & nbsp نمودار همکاری سطح BOM نقش هایی را که عناصر درگیر در تعامل بازی می کنند نشان می دهد. عناصر همکاری در این سطح طبقات و انجمن ها هستند که نشان دهنده نقش های جداگانه طبقه بندی کننده ها و انجمن ها بین شرکت کنندگان در همکاری است.

& nbsp & nbsp & nbsp & nbsp یک نمودار همکاری در سطح مثال با مجموعه ای از اشیا (نمونه های کلاس) و روابط (نمونه های ارتباطی) نشان داده می شود. در این مورد، پیوندها با فلش های پیام تکمیل می شوند. در این سطح فقط اشیایی نشان داده می شوند که مستقیماً با اجرای یک عملیات یا طبقه بندی کننده مرتبط هستند. در این مورد، به هیچ وجه لازم نیست که همه ویژگی ها یا همه تداعی ها را به تصویر بکشید، زیرا فقط نقش های طبقه بندی کننده ها در نمودار همکاری وجود دارد، اما نه خود طبقه بندی کننده ها. بنابراین، در حالی که طبقه‌بندی‌کننده نیاز به شرح کاملی از همه نمونه‌های خود دارد، نقش طبقه‌بندی‌کننده فقط مستلزم توصیف آن دسته از ویژگی‌ها و انجمن‌هایی است که برای مشارکت در یک همکاری خاص ضروری هستند.

& nbsp & nbsp & nbsp & nbsp یک نتیجه مهم از این نتیجه می گیرد. یک مجموعه واحد از اشیاء می تواند در تعاونی های مختلف شرکت کند. بسته به همکاری مورد بررسی، هم خصوصیات اشیاء منفرد و هم ارتباط بین آنها می تواند تغییر کند. این همان چیزی است که یک نمودار همکاری را از یک نمودار کلاس متمایز می کند، که باید تمام ویژگی ها و ارتباط بین عناصر نمودار را نشان دهد.

نمودار مولفه

& nbsp & nbsp & nbsp & nbsp این نوع نمودار برای توزیع کلاس ها و اشیاء بر اساس جزء در طراحی فیزیکی سیستم در نظر گرفته شده است. این نوع نمودار اغلب به عنوان نمودار واحد شناخته می شود.



شکل - 4. نمودار جزء

& nbsp & nbsp & nbsp & nbsp طراحی کامل یک سیستم نرم افزاری مجموعه ای از مدل های سطوح منطقی و فیزیکی است که باید با یکدیگر همخوانی داشته باشند. UML از نمودارهای پیاده سازی برای نمایش فیزیکی مدل های سیستم ها استفاده می کند که شامل نمودار جزءو نمودار استقرار.

& nbsp & nbsp & nbsp & nbsp نمودار مؤلفه، برخلاف نمودارهای قبلاً در نظر گرفته شده، ویژگی های نمایش فیزیکی سیستم را توصیف می کند. این به شما امکان می دهد معماری سیستم در حال توسعه را با ایجاد وابستگی بین اجزای نرم افزار، که می تواند کد منبع و اجرایی باشد، تعریف کنید. عناصر گرافیکی اصلی یک نمودار مؤلفه عبارتند از مؤلفه ها، رابط ها و وابستگی های آنها.

& nbsp & nbsp & nbsp & nbsp نمودار مؤلفه برای اهداف زیر توسعه داده شده است:

  • تجسم ساختار کلی کد منبع سیستم نرم افزار؛
  • مشخصات نسخه اجرایی سیستم نرم افزار؛
  • اطمینان از قابلیت استفاده مجدد تک تک قطعات کد برنامه؛
  • نمایش طرحواره های پایگاه داده مفهومی و فیزیکی

& nbsp & nbsp & nbsp & nbsp تحلیلگران و معماران سیستم و همچنین برنامه نویسان در توسعه نمودارهای مؤلفه نقش دارند. یک نمودار مؤلفه یک انتقال ثابت از یک نمای منطقی به اجرای خاص یک پروژه در قالب کد برنامه ارائه می دهد. برخی از مؤلفه ها فقط در مرحله کامپایل کد برنامه می توانند وجود داشته باشند، برخی دیگر در مرحله اجرای آن. یک نمودار مؤلفه، وابستگی های کلی بین مؤلفه ها را منعکس می کند و دومی را به عنوان طبقه بندی کننده در نظر می گیرد.

& nbsp & nbsp & nbsp & nbsp برای نشان دادن موجودیت های فیزیکی در زبان UML، یک اصطلاح خاص استفاده می شود - جزء... مؤلفه مجموعه معینی از رابط ها را پیاده سازی می کند و برای تعیین کلی عناصر نمایش فیزیکی مدل خدمت می کند. برای نمایش گرافیکی مؤلفه، از نماد خاصی استفاده می شود - یک مستطیل با دو مستطیل کوچکتر در سمت چپ قرار داده شده است. داخل مستطیل بزرگ نام جزء و در صورت لزوم مقداری اطلاعات اضافی نوشته شده است. نمایش این نماد بسته به ماهیت اطلاعات مرتبط با جزء ممکن است کمی متفاوت باشد.

نمودار استقرار

& nbsp & nbsp & nbsp & nbsp این نوع نمودارها برای تجزیه و تحلیل سخت افزار سیستم، یعنی "سخت افزار" و نه برنامه ها طراحی شده اند. در یک ترجمه مستقیم از انگلیسی، Deployment به معنای "استقرار" است، اما اصطلاح "توپولوژی" ماهیت این نوع نمودارها را با دقت بیشتری منعکس می کند.


شکل - 5. نمودار استقرار

& nbsp & nbsp & nbsp & nbsp نمایش فیزیکی یک سیستم نرم افزاری نمی تواند کامل باشد اگر اطلاعاتی در مورد اینکه چه پلتفرمی و به چه معنی محاسباتی پیاده سازی شده است وجود نداشته باشد. اگر برنامه ای در حال توسعه است که به صورت محلی بر روی رایانه کاربر اجرا می شود و از دستگاه ها و منابع جانبی استفاده نمی کند، دیگر نیازی به توسعه نمودارهای اضافی نیست. هنگام توسعه برنامه های کاربردی شرکتی، وجود چنین نمودارهایی می تواند برای حل مشکلات قرار دادن منطقی اجزاء به منظور استفاده مؤثر از محاسبات توزیع شده و منابع ارتباطی شبکه، تضمین امنیت و موارد دیگر بسیار مفید باشد.

نمودارهای استقرار & nbsp & nbsp & nbsp & nbsp برای نمایش پیکربندی و توپولوژی کلی یک سیستم نرم افزاری توزیع شده در UML طراحی شده اند.

& nbsp & nbsp & nbsp & nbsp نمودار استقرار برای تجسم عناصر و اجزای برنامه که فقط در مرحله اجرای آن (زمان اجرا) وجود دارند طراحی شده است. در این حالت فقط کامپوننت ها-نمونه های برنامه که فایل های اجرایی یا کتابخانه های پویا هستند ارائه می شوند. اجزایی که در زمان اجرا استفاده نمی شوند در نمودار استقرار نشان داده نمی شوند. بنابراین، مؤلفه هایی با کد منبع برنامه ها فقط می توانند در نمودار مؤلفه وجود داشته باشند. آنها در نمودار استقرار نشان داده نشده اند.

& nbsp & nbsp & nbsp & nbsp یک نمودار استقرار شامل نمایش گرافیکی پردازنده ها، دستگاه ها، فرآیندها و روابط بین آنهاست. برخلاف نمودارهای نمای منطقی، یک نمودار استقرار برای کل سیستم یکنواخت است، زیرا باید به طور کامل مشخصات پیاده سازی آن را منعکس کند. توسعه یک نمودار استقرار معمولا آخرین مرحله در مشخصات مدل سیستم نرم افزاری است.

& nbsp & nbsp & nbsp & nbsp هنگام توسعه یک نمودار استقرار، اهداف زیر دنبال می شود:

  • تعیین توزیع اجزای سیستم توسط گره های فیزیکی آن؛
  • نشان دادن اتصالات فیزیکی بین تمام گره های اجرای سیستم در مرحله اجرای آن؛
  • گلوگاه های سیستم را شناسایی کرده و توپولوژی آن را برای دستیابی به عملکرد مورد نیاز پیکربندی مجدد کنید.

نمودارهای استقرار & nbsp & nbsp & nbsp & nbsp به طور مشترک توسط تحلیلگران سیستم، مهندسان شبکه و مهندسان سیستم توسعه داده می شوند.

ویژگی های رابط دسکتاپ Rational Rose

& nbsp & nbsp & nbsp & nbsp ابزار Rational Rose CASE استانداردهای پذیرفته شده عمومی را برای رابط کاری برنامه، شبیه به محیط های برنامه نویسی بصری معروف، پیاده سازی می کند. پس از نصب Rational Rose بر روی رایانه کاربر که عملاً حتی برای مبتدیان نیز مشکلی ایجاد نمی کند، راه اندازی این برنامه در محیط MS Windows 95/98 باعث ایجاد یک رابط کار بر روی صفحه نمایش می شود (شکل 6).


شکل - 6.نمای کلی رابط کاری برنامه Rational Rose

& nbsp & nbsp & nbsp & nbsp رابط کاری Rational Rose از عناصر مختلفی تشکیل شده است که مهمترین آنها عبارتند از:

  • منوی اصلی برنامه
  • پنجره نمودار
  • پنجره مستندات
  • پنجره مرورگر
  • پنجره ورود

بیایید به طور خلاصه به هدف و کارکردهای اصلی هر یک از این عناصر بپردازیم.

منوی اصلی برنامه

منوی اصلی برنامه در استاندارد عمومی پذیرفته شده ساخته شده و دارای فرم زیر است (شکل 7).

آیتم های منوی فردی، که هدف آنها از نام آنها مشخص است، عملیات مشابه مربوط به کل پروژه را به عنوان یک کل ترکیب می کنند. برخی از آیتم های منو حاوی عملکردهای آشنا هستند (باز کردن پروژه، خروجی و چاپ نمودارها، کپی کردن در کلیپ بورد و چسباندن عناصر مختلف نمودار از کلیپ بورد). برخی دیگر آنقدر خاص هستند که ممکن است به تلاش بیشتری برای یادگیری نیاز داشته باشند (گزینه هایی برای تولید کد برنامه، بررسی سازگاری مدل ها، اتصال ماژول های اضافی).

شکل - 7.ظاهر منوی اصلی برنامه

نوار ابزار استاندارد

نوار ابزار استاندارد در زیر منوی اصلی برنامه قرار دارد و به شکل زیر است (شکل 8). برخی از ابزارها در دسترس نیستند (پروژه جدید هیچ موردی ندارد). نوار ابزار استاندارد دسترسی سریع به دستورات منو را که توسعه دهندگان اغلب انجام می دهند، فراهم می کند.

شکل 8.ظاهر نوار ابزار استاندارد

کاربر می تواند ظاهر این پنل را به صلاحدید خود شخصی سازی کند. برای انجام این کار، آیتم منوی Tools -> Options را انتخاب کرده و تب Toolbars را باز کنید. به این ترتیب می توانید دکمه های ابزار مختلف را نشان داده یا مخفی کنید و اندازه آنها را تغییر دهید.

پنجره مرورگر

به طور پیش فرض، پنجره مرورگر در سمت چپ رابط کار در زیر نوار ابزار استاندارد قرار دارد (شکل 9).

مرورگر نماهای مدل را در یک ساختار سلسله مراتبی سازماندهی می کند که ناوبری را ساده می کند و به شما امکان می دهد هر عنصر مدل را در پروژه خود پیدا کنید. در این حالت، هر عنصری که توسعه دهنده به مدل اضافه می کند، بلافاصله در پنجره مرورگر نمایش داده می شود. بر این اساس، با انتخاب یک عنصر در پنجره مرورگر، می‌توانیم آن را در پنجره نمودار تجسم کنیم یا مشخصات آن را تغییر دهیم. مرورگر همچنین به شما این امکان را می دهد که آیتم های مدل را در بسته ها سازماندهی کنید و آیتم ها را بین نماهای مختلف مدل منتقل کنید. در صورت تمایل، پنجره مرورگر را می توان در مکان دیگری از رابط کاری قرار داد یا با استفاده از آیتم منوی View به طور کلی پنهان کرد. همچنین می توانید اندازه مرورگر را با کشیدن حاشیه قاب بیرونی آن تغییر دهید.

شکل - 9.ظاهر مرورگر

نوار ابزار اختصاصی

یک نوار ابزار ویژه بین پنجره مرورگر و پنجره نمودار در وسط رابط کاری قرار دارد. به طور پیش فرض، یک نوار ابزار برای ساختن نمودار کلاسی از مدل ارائه می شود (شکل 10).

شکل - 10.ظاهر یک نوار ابزار نمودار کلاس اختصاصی

با حرکت دادن قاب نوار ابزار به محل مورد نظر می توانید محل نوار ابزار ویژه را تغییر دهید. همچنین می‌توانید با افزودن یا حذف دکمه‌های جداگانه مربوط به ابزارهای خاص، ترکیب پانل را سفارشی کنید. تخصیص دکمه ها را می توان در راهنمای ابزاری که پس از توقف نشانگر ماوس روی دکمه مربوطه ظاهر می شود، پیدا کرد.

پنجره نمودار

پنجره نمودار، منطقه کاری اصلی رابط آن است که در آن نماهای مختلفی از مدل پروژه تجسم می شود. به طور پیش فرض، پنجره نمودار در سمت راست رابط کاری قرار دارد، اما مکان و اندازه آن نیز قابل تغییر است. هنگام توسعه یک پروژه جدید، اگر از ویزارد پروژه استفاده نشده باشد، پنجره نمودار یک ناحیه خالی است که شامل هیچ عنصری از مدل نیست (شکل 11).

نام نموداری که در این پنجره قرار دارد، در نوار عنوان برنامه (بالاترین خط برنامه) یا اگر پنجره به حالت تمام صفحه بزرگ نشده است، در نوار عنوان پنجره نمودار نشان داده شده است. . چندین نمودار می تواند همزمان در پنجره نمودار وجود داشته باشد، اما تنها یکی از آنها می تواند فعال باشد. به عنوان مثال، در شکل. 11، نمودار استقرار فعال است، اگرچه نمودارهای دیگر موجود است. جابجایی بین نمودارها را می توان با انتخاب نمای مورد نظر در نوار ابزار استاندارد یا از طریق آیتم منوی Window انجام داد. هنگام فعال کردن یک نوع نمودار جداگانه، ظاهر یک نوار ابزار خاص تغییر می کند که برای نوع خاصی از نمودار تنظیم می شود.


شکل - 11.ظاهر پنجره نمودار با نماهای مختلف از مدل

پنجره مستندات

پنجره اسناد پیش فرض ممکن است روی صفحه نمایش وجود نداشته باشد. در این صورت می توان آن را از طریق آیتم منو View -> Documentation فعال کرد و پس از آن در زیر مرورگر ظاهر می شود (شکل 12).

پنجره مستندات همانطور که از نامش پیداست برای مستندسازی عناصر نمای مدل است. می توانید اطلاعات مختلفی را در آن بنویسید، و آنچه مهم است - به زبان روسی. این اطلاعات متعاقباً به نظرات تبدیل می شود و به هیچ وجه بر منطق اجرای کد برنامه تأثیر نمی گذارد.

در پنجره اسناد، اطلاعات مربوط به یک عنصر انتخاب شده جداگانه از نمودار فعال می شود. در این حالت، می توانید یک عنصر را در پنجره مرورگر یا در پنجره نمودار انتخاب کنید. هنگامی که یک عنصر جدید به نمودار اضافه می شود (مثلاً یک کلاس)، مستندات آن به طور خودکار تولید می شود که خالی است (بدون سند). پس از آن، توسعه دهنده به طور مستقل اطلاعات توضیحی لازم را معرفی می کند که در طول کار روی پروژه به خاطر سپرده می شود و می توان آن را تغییر داد.

و همچنین برای سایر پنجره های رابط کاری، می توانید اندازه و موقعیت پنجره اسناد را تغییر دهید.

شکل - 12.ظاهر پنجره اسناد

پنجره ورود

پنجره Log برای ضبط خودکار اطلاعات خدمات مختلف تولید شده در طول کار با برنامه در نظر گرفته شده است. گزارش، زمان و ماهیت اقدامات برنامه‌نویس، مانند به‌روزرسانی مدل، سفارشی‌سازی منوها و نوار ابزار، و پیام‌های خطایی را که هنگام تولید کد برنامه رخ می‌دهد، ثبت می‌کند.

پنجره گزارش همیشه در رابط کاری در ناحیه پنجره نمودار وجود دارد (شکل 13). با این حال، می توان آن را با سایر پنجره های نمودار بسته یا به حداقل رساند. می توانید پنجره log را از طریق منوی Window-> Log فعال کنید. در این حالت، در بالای پنجره های دیگر در سمت راست رابط کاری نمایش داده می شود. این پنجره را نمی توان به طور کامل حذف کرد، فقط می توان آن را به حداقل رساند.

شکل - 13.ظاهر پنجره ورود به سیستم

نتیجه

& nbsp & nbsp & nbsp & nbsp با گذشت زمان، UML به "اسپرانتو" تبدیل خواهد شد که در آن ریاضیدانان، تحلیلگران سیستم، فیزیکدانان، برنامه نویسان، مدیران، اقتصاددانان و متخصصان سایر حرفه ها می توانند با هم ارتباط برقرار کنند و دانش حرفه ای خود را به شکلی یکپارچه ارائه دهند. از این گذشته ، در اصل ، هر یک از متخصصان با مفاهیم مدل در حوزه دانش خود عمل می کنند. و دقیقاً این جنبه مدل است که می توان با استفاده از زبان UML مشخص کرد.

& nbsp & nbsp & nbsp & nbsp در این راستا، اهمیت زبان UML به طور قابل توجهی افزایش می یابد، زیرا به طور فزاینده ای ویژگی های یک زبان بازنمایی دانش را به دست می آورد. در عین حال، وجود ابزارهای تصویری در UML برای نمایش ساختار و رفتار یک مدل، دستیابی به بازنمایی کافی از دانش اعلامی و رویه‌ای را امکان‌پذیر می‌سازد و، نه کمتر مهم، ایجاد یک مطابقت معنایی بین این اشکال دانش همه این ویژگی های UML به ما این امکان را می دهد که به این نتیجه برسیم که جدی ترین چشم اندازها را در آینده نزدیک دارد.

این مقاله به بررسی دوران جدید توسعه نرم‌افزار، تأثیر آن بر الزامات جدید UML و بهترین روش‌ها برای تحقق آنها می‌پردازد.
& nbsp 7. "مدل سازی داده ها در رز گویا" سرگئی تروفیموف مدل سازی نمایش داده های فیزیکی را با استفاده از رز گویا توصیف می کند.
& nbsp 8. زبان UML. درک عمومی زبان UML: ساختارها، عناصر گرافیکی و نمودارهای زبان.
& nbsp 9. UML عملی. این سند ترجمه ای از UML کاربردی است. مقدمه ای عملی برای توسعه دهندگان. مقدمه ای کاربردی برای توسعه دهندگان
& nbsp 10. "زبان استاندارد UML مدل سازی شی گرا" وندروف الکساندر میخایلوویچ. تاریخچه UML
& nbsp 11. UML یک زبان مدل سازی یکپارچه است. این مطالب حاوی اطلاعات اولیه در مورد روش های توصیف سیستم های نرم افزاری و نمادهای مورد استفاده در UML است.
& nbsp 12. زبان UML. راهنمای کاربر. نوشته گریدی بوچ، جیمز رامبو، ایوار جاکوبسون
& nbsp 13. "نمودارهای UML در رشنال رز" سرگئی تروفیموف
& nbsp 14. "تحلیل و طراحی. مدلسازی بصری (UML) Rational Rose" Konstantin Domolego
& nbsp 15. کتابخانه گنادی ورنیکوف. توضیحات کامل استانداردهای طراحی و مدلسازی.
& nbsp 16. "نمونه ای از توصیف یک حوزه موضوعی با استفاده از UML در توسعه سیستم های نرم افزاری" Ye.B. زولوتوخینا، R.V. آلفیموف. این مقاله یک مثال خاص از یک رویکرد ممکن برای مدل‌سازی دامنه بر اساس استفاده از زبان مدل‌سازی یکپارچه (UML) را نشان می‌دهد.

& nbsp & nbsp & nbsp & nbsp

تمام نمودارهای UML را می توان به طور تقریبی به دو گروه تقسیم کرد که اولین آن نمودارهای عمومی است. نمودارهای کلی عملاً به موضوع مدلسازی بستگی ندارند و می توانند در هر پروژه نرم افزاری بدون توجه به حوزه موضوعی، حوزه راه حل و غیره استفاده شوند.

1.5.1. نمودار استفاده

نمودار استفاده(نمودار مورد استفاده) کلی ترین نمایش هدف عملکردی سیستم است.

نمودار استفاده برای پاسخ به سوال اصلی مدل سازی در نظر گرفته شده است: سیستم در دنیای خارج چه می کند؟

نمودار مورد استفاده از دو نوع موجودیت اصلی استفاده می کند، موارد استفاده 1 و بازیگران 2، که بین آنها انواع روابط اساسی زیر ایجاد می شود:

  • ارتباط بین بازیگر و مورد استفاده 3.
  • تعمیم بین بازیگران 4;
  • تعمیم بین موارد استفاده 5;
  • وابستگی (از انواع مختلف) بین موارد استفاده 6.

نمودار استفاده، مانند هر نمودار دیگری، ممکن است حاوی 7 نظر باشد. علاوه بر این، انجام این کار برای بهبود خوانایی نمودارها بسیار توصیه می شود.

عناصر اصلی نماد استفاده شده در نمودار استفاده در زیر نشان داده شده است. توضیحات مفصل در بخش 2.2 آورده شده است.

1.5.2. نمودار کلاس

نمودار کلاس(نمودار کلاس) راه اصلی برای توصیف ساختار یک سیستم است.

این تعجب آور نیست، زیرا UML در درجه اول یک زبان شی گرا است و کلاس ها بلوک های سازنده اصلی (اگر نه تنها) هستند.

در نمودار کلاس، یک نوع اصلی از موجودیت ها استفاده می شود: کلاس 1 (شامل موارد خاص متعددی از کلاس ها: رابط ها، انواع اولیه، کلاس های ارتباطی، و بسیاری دیگر)، که بین آنها انواع اساسی روابط برقرار می شود:

  • ارتباط بین کلاس 2 (با بسیاری از جزئیات اضافی)؛
  • تعمیم بین کلاس 3;
  • وابستگی (از انواع مختلف) بین 4 کلاس و بین کلاس ها و رابط ها.

برخی از عناصر نشانه گذاری نمودار کلاس در زیر نشان داده شده است. توضیحات مفصل در فصل 3 آورده شده است.

1.5.3. نمودار خودکار

نمودار خودکار(نمودار ماشین حالت) یکی از راه‌های توصیف جزئیات رفتار در UML بر اساس برجسته کردن صریح حالات و توصیف انتقال بین حالت‌ها است.

در اصل، نمودارهای خودکار، همانطور که از نام آن پیداست، یک نمودار انتقال حالت هستند (به فصل 4 مراجعه کنید)، که حاوی جزئیات و جزئیات اضافی زیادی است.

در نمودار خودکار، یک نوع اصلی از موجودیت استفاده می شود - حالات 1، و یک نوع رابطه - انتقال 2، اما برای هر دو، بسیاری از انواع، موارد خاص و نامگذاری های اضافی تعریف شده است. بی معنی است که همه آنها را در نظرسنجی مقدماتی فهرست کنید.

شرح مفصلی از تمام تغییرات نمودارهای خودکار در بخش 4.2 آورده شده است، و شکل زیر فقط عناصر اصلی نماد استفاده شده در نمودار خودکار را نشان می دهد.

1.5.4. نمودار فعالیت

نمودار فعالیت(نمودار فعالیت) - راهی برای توصیف رفتار بر اساس نشان دادن جریان های کنترل و جریان داده ها.

نمودار فعالیت روش دیگری برای توصیف رفتاری است که از نظر بصری شبیه یک فلوچارت خوب قدیمی است. با این حال، با توجه به نشانه گذاری مدرن، مطابق با رویکرد شی گرا، و مهمتر از همه، به دلیل مولفه معنایی جدید (تفسیر آزاد شبکه های پتری)، نمودار فعالیت UML ابزار قدرتمندی برای توصیف رفتار یک سیستم است.

در نمودار فعالیت، یک نوع اصلی از موجودیت استفاده می شود - فعالیت 1، و یک نوع رابطه - انتقال 2 (کنترل و انتقال داده). همچنین از ساختارهایی مانند فورک، ادغام، اتصال، شاخه 3 استفاده می شود که شبیه به موجودیت ها هستند، اما در واقع نیستند، اما نشان دهنده یک روش گرافیکی برای به تصویر کشیدن برخی موارد خاص از روابط چند مکان هستند. معنای عناصر نمودار فعالیت در فصل 4 به تفصیل آمده است. عناصر اصلی علامت گذاری مورد استفاده در نمودار فعالیت در زیر نشان داده شده است.

1.5.5. نمودار توالی

نمودار توالی(نمودار توالی) روشی برای توصیف رفتار یک سیستم بر اساس نشانه ای از توالی پیام های ارسال شده است.

در واقع نمودار توالی رکوردی از یک پروتکل از یک جلسه خاص از عملیات سیستم (یا بخشی از چنین پروتکلی) است. در برنامه نویسی شی گرا، ضروری ترین زمان اجرا، انتقال پیام ها بین اشیاء در حال ارتباط است. این توالی ارسال پیام است که در این نمودار نمایش داده می شود، از این رو نام آن است.

در نمودار توالی، یک نوع اصلی از موجودیت استفاده می شود - نمونه هایی از طبقه بندی کننده های تعاملی 1 (عمدتاً کلاس ها، مؤلفه ها و بازیگران) و یک نوع رابطه - پیوندهای 2، که از طریق آن پیام ها رد و بدل می شوند. روش های مختلفی برای ارسال پیام وجود دارد که در نماد گرافیکی با نوع فلش مربوط به رابطه متمایز می شوند.

یکی از جنبه های مهم نمودار توالی، نمایش صریح گذر زمان است. برخلاف سایر انواع نمودارها، به جز نمودارهای همگام سازی، در نمودار توالی، نه تنها وجود روابط گرافیکی بین عناصر مهم است، بلکه موقعیت نسبی عناصر در نمودار نیز مهم است. یعنی فرض بر این است که یک محور زمانی (نامرئی) به طور پیش فرض وجود دارد که از بالا به پایین هدایت می شود و پیامی که بعدا ارسال می شود در زیر ترسیم شده است.

محور زمان را می توان به صورت افقی هدایت کرد، در این مورد در نظر گرفته می شود که زمان از چپ به راست جریان می یابد.

تصویر زیر عناصر اصلی نشانه گذاری مورد استفاده در نمودار توالی را نشان می دهد. برای تعیین خود اشیاء در حال تعامل، از نماد استاندارد استفاده می شود - یک مستطیل با نام نمونه طبقه بندی کننده. خط نقطه ای که از آن امتداد می یابد، خط حیات 4 نامیده می شود. این یک تعیین رابطه در مدل نیست، بلکه یک تفسیر گرافیکی است که برای هدایت چشم خواننده در جهت درست طراحی شده است. ارقام به شکل نوارهای باریک که بر روی طناب زندگی قرار گرفته اند نیز تصاویری از موجودات مدل سازی شده نیستند. این یک تفسیر گرافیکی است که فواصل زمانی را نشان می دهد که در طی آن شیء مالک وقوع اجرا 5 است، یا به عبارت دیگر، فعال سازی شی انجام می شود. مراحل ترکیبی قطعه 6 به یک نمودار توالی اجازه می دهد تا جنبه های الگوریتمی یک پروتکل تعامل را منعکس کند. برای جزئیات بیشتر در مورد نشانه گذاری نمودار توالی، به فصل 4 مراجعه کنید.

1.5.6. نمودار ارتباطی

نمودار ارتباطی(نمودار ارتباطی) - راهی برای توصیف رفتار، از نظر معنایی معادل نمودار توالی.

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

بنابراین، در نمودار ارتباطی، و همچنین در نمودار توالی، از یک نوع اصلی موجودیت استفاده می شود - نمونه هایی از طبقه بندی کننده های تعاملی 1 و یک نوع رابطه - پیوندهای 2. با این حال، در اینجا تاکید بر زمان نیست، بلکه بر ساختار پیوندهای بین نمونه های خاص است.

شکل، عناصر اصلی نشانه گذاری مورد استفاده در یک نمودار ارتباطی را نشان می دهد. برای تعیین خود اشیاء در حال تعامل، از نماد استاندارد استفاده می شود - یک مستطیل با نام نمونه طبقه بندی کننده. موقعیت نسبی عناصر در نمودار همکاری مهم نیست - فقط پیوندها (اغلب مواردی از انجمن ها) مهم هستند که پیام ها از طریق آنها منتقل می شوند. شماره دهی سلسله مراتبی برای نمایش ترتیب پیام ها در طول زمان استفاده می شود.

1.5.7. نمودار مولفه

نمودار مولفه(نمودار مؤلفه) - رابطه بین ماژول ها (منطقی یا فیزیکی) که سیستم شبیه سازی شده را تشکیل می دهند را نشان می دهد.

نوع اصلی موجودیت ها در نمودار مؤلفه، خود مؤلفه های 1 و همچنین رابط های 2 هستند که از طریق آنها رابطه بین مؤلفه ها نشان داده می شود. در یک نمودار مؤلفه، روابط زیر اعمال می شود:

  • پیاده سازی بین مؤلفه ها و رابط ها (یک جزء یک رابط را پیاده سازی می کند).
  • وابستگی بین مؤلفه ها و رابط ها (کامپوننت از یک رابط استفاده می کند) 3.

شکل، عناصر اصلی نشانه گذاری مورد استفاده در یک نمودار مؤلفه را نشان می دهد. توضیحات مفصل در فصل 3 آورده شده است.

1.5.8. نمودار قرارگیری

نمودار قرارگیری(نمودار استقرار)، همراه با نمایش ترکیب و روابط عناصر سیستم، نحوه قرارگیری فیزیکی آنها در منابع محاسباتی در زمان اجرا را نشان می دهد.

بنابراین، در نمودار قرارگیری، در مقایسه با نمودار مؤلفه، دو نوع موجودیت اضافه می شود: مصنوع 1 که اجرای جزء 2 و گره 3 است (می تواند یک طبقه بندی کننده باشد که نوع یک گره را توصیف می کند یا یک نمونه خاص)، و همچنین یک رابطه ارتباطی بین گره های 4، که نشان می دهد گره ها به صورت فیزیکی در زمان اجرا به هم متصل هستند.

شکل، عناصر اصلی نماد استفاده شده در نمودار قرارگیری را نشان می دهد. برای نشان دادن اینکه یک موجودیت بخشی از موجودیت دیگر است، یا رابطه وابستگی "deploy" 5 اعمال می شود، یا شکل یک موجودیت در شکل موجودیت دیگر 6 قرار می گیرد. شرح مفصلی از نمودار در فصل 3 آورده شده است.

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

چرا مورد نیاز است؟

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

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

همچنین شایان ذکر است که انواع مختلفی از این نمودارها وجود دارد.

نمودار کلاس

نمودار کلاس UML یک نمودار ساختار ایستا است که برای توصیف ساختار یک سیستم و همچنین نشان دادن ویژگی ها، روش ها و وابستگی های بین چندین کلاس مختلف طراحی شده است.

شایان ذکر است که چندین دیدگاه در مورد ساخت چنین نمودارهایی بسته به نحوه استفاده از آنها وجود دارد:

  • مفهومی. در این حالت، نمودار کلاس UML مدل یک دامنه خاص را توصیف می کند و فقط کلاس هایی از اشیاء کاربردی در آن ارائه می شود.
  • خاص این نمودار در فرآیند طراحی سیستم های اطلاعاتی مختلف استفاده می شود.
  • پیاده سازی. نمودار کلاس شامل انواع کلاس هایی است که مستقیماً در کد برنامه استفاده می شود.

نمودار مولفه

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

نمودار ساختار مرکب / مرکب

نمودار ساختار ترکیبی / مرکب UML نیز یک نمودار ساختار ایستا است، اما برای نشان دادن ساختار داخلی کلاس ها استفاده می شود. در صورت امکان، این نمودار همچنین می تواند تعامل عناصر موجود در ساختار داخلی کلاس را نشان دهد.

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

شایان ذکر است که انواع نمودار کلاس UML و انواع ساختار ترکیبی را می توان به طور همزمان استفاده کرد.

نمودار استقرار

این نمودار به منظور شبیه سازی گره های کاری و همچنین انواع آرتیفکت هایی که بر روی آن ها مستقر شده اند استفاده می شود. UML 2 آرتیفکت ها را در گره های مختلف مستقر می کند، در حالی که نسخه اول منحصراً مؤلفه ها را مستقر می کند. بنابراین، نمودار استقرار UML در درجه اول توسط نسخه دوم استفاده می شود.

یک وابستگی آشکار بین مصنوع و مؤلفه ای که اجرا می کند شکل می گیرد.

نمودار شی

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

نمودار بسته

این نمودار ماهیت ساختاری دارد و محتوای اصلی آن انواع بسته ها و همچنین ارتباط بین آنهاست. در این مورد، هیچ جدایی دقیقی بین چندین نمودار ساختاری وجود ندارد، در نتیجه استفاده از آنها اغلب صرفاً برای سهولت استفاده می شود و هیچ معنای معنایی ندارد. شایان ذکر است که عناصر مختلف می توانند نمودارهای UML دیگری را ارائه دهند (مثلاً: بسته ها و خود نمودارهای بسته).

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

نمودار فعالیت

نمودار فعالیت UML تجزیه یک فعالیت خاص را به بخش های مختلف نشان می دهد. در این مورد، مفهوم "فعالیت" به مشخص کردن یک رفتار اجرایی خاص در قالب موازی و همچنین اجرای متوالی هماهنگ عناصر مختلف فرعی - انواع تودرتو از فعالیت ها و اقدامات مختلف اشاره دارد که توسط رشته هایی متحد شده اند. خروجی های یک گره خاص به ورودی های گره دیگر.

نمودارهای فعالیت UML اغلب برای مدل سازی فرآیندهای تجاری مختلف، محاسبات موازی و متوالی استفاده می شوند. از جمله، آنها انواع روش های تکنولوژیکی را شبیه سازی می کنند.

نمودار خودکار

به این نما، نمودار وضعیت UML نیز گفته می شود. دارای یک ماشین حالت ارائه شده با حالت ها و انتقال های ساده و مرکب.

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

به اصطلاح طرح های اژدها را می توان به عنوان آنالوگ چنین نمودارهایی استفاده کرد.

از نمودارهای موردی استفاده کنید

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

اگر از نمودار مورد استفاده UML در فرآیند مدل‌سازی یک سیستم استفاده شود، تحلیلگر می‌خواهد:

  • سیستم شبیه سازی شده را به وضوح از محیط آن جدا کنید.
  • شناسایی بازیگران، راه های تعامل آنها با این سیستم و همچنین عملکرد مورد انتظار آن.
  • در واژه نامه به عنوان حوزه موضوعی مفاهیم مختلفی را تنظیم کنید که به شرح مفصلی از عملکرد این سیستم مربوط می شود.

اگر یک نمودار استفاده در UML ایجاد شود، این روش با یک توضیح متنی شروع می شود که هنگام کار با مشتری به دست می آید. در عین حال، شایان ذکر است که الزامات غیر کاربردی مختلف در فرآیند تهیه مدل موارد استفاده کاملاً حذف شده است و قبلاً سند جداگانه ای برای آنها تشکیل خواهد شد.

ارتباطات

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

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

این نوع با فرمت کاملاً رایگان برای سفارش چندین شیء و پیوند به همان روشی که در نمودار شیء انجام می شود متمایز می شود. در صورت نیاز به حفظ ترتیب پیام ها در این قالب رایگان، آنها به صورت زمانی شماره گذاری می شوند. خواندن این نمودار با پیام اصلی 1.0 شروع می شود و سپس در جهتی ادامه می یابد که پیام ها از یک شی به شی دیگر منتقل می شوند.

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

نمودار توالی

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

عناصر اصلی در این مورد، نامگذاری اشیاء مختلف، و همچنین خطوط عمودی نشان دهنده گذر زمان و مستطیل هایی است که فعالیت یک شی خاص یا انجام هر عملکردی را توسط آن ارائه می دهد.

نمودار همکاری

این نوع نمودارها به شما این امکان را می دهد که تعاملات بین چندین شی را با انتزاع از دنباله پخش پیام ها نشان دهید. این نوع نمودارها به صورت فشرده کاملاً تمام پیام های ارسالی و دریافتی یک شی خاص و همچنین فرمت های این پیام ها را نمایش می دهند.

با توجه به اینکه نمودارهای توالی و نمودارهای ارتباطی صرفاً نماهای متفاوتی از رویه های یکسان هستند، Rational Rose امکان ایجاد یک نمودار ارتباطی از نمودار توالی یا بالعکس و همچنین همگام سازی کاملاً خودکار آنها را فراهم می کند.

نمودارهای مروری بر تعامل

اینها نمودارهای UML هستند که زیرمجموعه ای از نمودارهای فعالیت هستند که هم عناصر Sequence و هم ساختارهای جریان کنترل را شامل می شوند.

شایان ذکر است که این فرمت نمودارهای Collaboration و Sequence را ترکیب می کند که از دیدگاه های مختلف فرصتی را برای بررسی تعامل بین چندین شی در سیستم در حال شکل گیری فراهم می کند.

نمودار همگام سازی

این یک نمودار توالی جایگزین است که به وضوح تغییر حالت را در یک خط حیات با مقیاس زمانی خاص نشان می دهد. می تواند در برنامه های مختلف بلادرنگ بسیار مفید باشد.

مزایای آن چیست؟

شایان ذکر است چندین مزیت که نمودار استفاده UML و موارد دیگر را متمایز می کند:

  • این زبان شی گرا است، در نتیجه فناوری های توصیف نتایج تجزیه و تحلیل و طراحی انجام شده از نظر معنایی به روش های برنامه نویسی در انواع زبان های شی گرا از نوع مدرن نزدیک است.
  • با استفاده از این زبان می توان سیستم را تقریباً از هر دیدگاه ممکن توصیف کرد و به همین ترتیب جنبه های مختلف رفتار آن را تشریح کرد.
  • خواندن همه نمودارها، حتی پس از آشنایی نسبتاً سریع با نحو، نسبتاً آسان است.
  • UML به شما این امکان را می دهد که گسترش دهید، و همچنین کلیشه های گرافیکی و متنی خود را معرفی کنید، که به استفاده از آن نه تنها در مهندسی نرم افزار کمک می کند.
  • این زبان بسیار گسترده شده است و همچنین به طور فعال در حال توسعه است.

ایرادات

علیرغم این واقعیت که ساخت نمودارهای UML دارای مزایای زیادی است، اغلب آنها به دلیل کاستی های زیر مورد انتقاد قرار می گیرند:

  • افزونگی. در اکثریت قریب به اتفاق موارد، منتقدان می گویند که UML بسیار بزرگ و پیچیده است، و اغلب این غیر قابل توجیه است. این شامل بسیاری از ساختارها و نمودارهای اضافی یا عملاً بی فایده است، و اغلب چنین انتقاداتی به نسخه دوم و نه نسخه اول می رود، زیرا در تجدید نظرهای جدید تر مصالحه های "توسعه یافته توسط کمیته" وجود دارد.
  • عدم دقت معنایی مختلف از آنجایی که UML با ترکیبی از خود، انگلیسی و OCL تعریف می‌شود، فاقد سختی ذاتی زبان‌هایی است که دقیقاً با تکنیک توصیف رسمی تعریف می‌شوند. در شرایط خاص، نحو انتزاعی OCL، UML و انگلیسی شروع به تضاد با یکدیگر می کنند، در حالی که در موارد دیگر ناقص هستند. توصیف نادرست خود زبان بر کاربران و ارائه دهندگان ابزار به طور یکسان تأثیر می گذارد که در نهایت به دلیل روش منحصر به فرد تفسیر مشخصات مختلف منجر به ناسازگاری ابزارها می شود.
  • مشکلات در روند اجرا و مطالعه. تمام مشکلات فوق مشکلات خاصی را در روند معرفی و یادگیری UML ایجاد می کند و این امر به ویژه زمانی صادق است که رهبری مهندسان را مجبور به استفاده اجباری از آن می کند در حالی که مهارت های قبلی ندارند.
  • کد منعکس کننده کد است. نظر دیگر این است که مدل های زیبا و جذاب مهم نیستند، بلکه خود سیستم های کاری مهم هستند، یعنی کد پروژه است. در راستای این دیدگاه، نیاز به توسعه روش کارآمدتری برای نوشتن نرم افزار وجود دارد. UML برای رویکردهایی که مدل‌هایی را برای بازآفرینی کدهای اجرایی یا منبع کامپایل می‌کنند، قدردانی می‌شود. اما در واقعیت، این ممکن است کافی نباشد، زیرا زبان فاقد ویژگی‌های کامل بودن تورینگ است، و هر کد تولید شده در نهایت با آنچه که یک ابزار مفسر UML می‌تواند فرض یا تعریف کند محدود می‌شود.
  • عدم تطابق بار. این اصطلاح از تئوری تجزیه و تحلیل سیستم ها برای تعیین ناتوانی ورودی یک سیستم خاص در درک خروجی سیستم دیگر می آید. مانند هر سیستم علامت گذاری استاندارد، UML می تواند برخی از سیستم ها را به روشی کارآمدتر و مختصرتر از سایرین نشان دهد. بنابراین، توسعه دهنده بیشتر به سمت راه حل هایی تمایل دارد که برای بافتن تمام نقاط قوت UML و همچنین سایر زبان های برنامه نویسی راحت تر هستند. این مشکل در صورتی آشکارتر می شود که زبان توسعه با اصول اولیه دکترین ارتدوکس شی گرا مطابقت نداشته باشد، یعنی سعی نمی کند مطابق با اصول OOP کار کند.
  • سعی می کند همه کاره باشد. UML یک زبان مدل سازی همه منظوره است که به دنبال سازگاری با هر زبان پردازشی موجود است. در چارچوب یک پروژه خاص، برای اینکه تیم طراحی بتواند به هدف نهایی دست یابد، باید قابلیت های کاربردی آن زبان را انتخاب کرد. علاوه بر این، راه های ممکن برای محدود کردن دامنه UML در یک منطقه خاص از طریق فرمالیسمی می گذرد که به طور کامل فرمول بندی نشده است، اما خود موضوع انتقاد است.

بنابراین، استفاده از این زبان در همه شرایط مرتبط نیست.

UML (Unified Modeling Language) یک زبان توصیفی گرافیکی برای مدل‌سازی شی در توسعه نرم‌افزار است. UML یک زبان مبتنی بر گسترده است، یک استاندارد باز که از نمادهای گرافیکی برای ایجاد یک مدل انتزاعی از یک سیستم به نام مدل UML استفاده می کند. UML برای تعریف، تجسم، طراحی و مستندسازی در درجه اول سیستم های نرم افزاری ایجاد شده است. UML یک زبان برنامه نویسی نیست، اما تولید کد در ابزار اجرای مدل های UML به عنوان کد تفسیر شده امکان پذیر است.ویکیپدیا

محصولات تجاری

مایکروسافت ویزیو

نوع: نرم افزار تجاری

یک محصول نرم افزاری محبوب از مایکروسافت که به شما امکان می دهد نمودارهای غنی از جمله UML را ترسیم کنید:

با شروع نسخه 2010، امکان انتشار نمودارها در وب فراهم شد (SharePoint + Visio Services):

Visio Viewerیک برنامه رایگان است که به شما امکان می دهد نمودارهای Visio قبلا ایجاد شده را مشاهده کنید. می‌توانید % D1% 81% D1% 81% D1% 8B% D0% BB% D0% BA% D0% B5% 20 را دانلود کنید.

% 0A

Microsoft% 20Visual% 20Studio% 202010

% 0A

% D0% A2% D0% B8% D0% BF:% 20% D0% BA% D0% BE% D0% BC% D0% BC% D0% B5% D1% 80% D1% 87% D0% B5% D1% 81% D0% BA% D0% BE% D0% B5% 20% D0% 9F% D0% 9E% 20 (% D0% B5% D1% 81% D1% 82% D1% 8C% 20% D0% B1% D0 % B5% D1% 81% D0% BF% D0% BB% D0% B0% D1% 82% D0% BD% D0% B0% D1% 8F% 20Express% 20% D0% B2% D0% B5% D1% 80 ٪ D1٪ 81٪ D0٪ B8٪ D1٪ 8F).

% 0A

% D0% 92% 20% D0% BF% D0% BE% D1% 81% D0% BB% D0% B5% D0% B4% D0% BD% D0% B5% D0% B9% 20% D0% B2% D0 % B5% D1% 80% D1% 81% D0% B8% D0% B8% 20 Microsoft% 20Visual% 20Studio% 202010% 20% D0% BF% D0% BE% D1% 8F% D0% B2% D0% B8% D0 % BB% D1% 81% D1% 8F% 20% D0% BD% D0% BE% D0% B2% D1% 8B% D0% B9% 20% D1% 82% D0% B8% D0% BF% 20% D0 % BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% B0% 20-% 20 مدلسازی،% 20% D0% BA% D0% BE% D1% 82% D0 % BE % D1% 80% D1% 8B% D0% B9% 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1 % 82 % 20% D1% 80% D0% B8% D1% 81% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D1% 80% D0% B0% D0% B7 % D0 % BB% D0% B8% D1% 87% D0% BD% D1% 8B% D0% B5% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0 % B0 % D0% BC% D0% BC% D0% B0% 20% D0% B8% 20% D0% BF% D1% 80% D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F % D1 % 82% D1% 8C% 20% D0% BD% D0% B0% D0% BF% D0% B8% D1% 81% D0% B0% D0% BD% D0% BD% D1% 8B% D0% B5 % 20 % D1% 80% D0% B5% D1% 88% D0% B5% D0% BD% D0% B8% D1% 8F% 20% D0% BD% D0% B0% 20% D1% 81% D0% BE % D0 % BE% D1% 82% D0% B2% D0% B5% D1% 82% D1% 81% D1% 82% D0% B2% D0% B8% D0% B5% 20% D1% 81% 20% D0 % BD % D0% B5% D0% BE% D0% B1% D1% 85% D0% BE% D0% B4% D0% B8% D0% BC% D0% BE% 20% D0% B0% B0% D1% 80% D1 % 85 % D0% B8% D1% 82% D0% B5% D0% BA% D1% 82% D1% 83% D1% 80% D0% BE% D0% B9.

% 0A

% D0% 9F% D0% BE% D0% B7% D0% B2% D0% BE% D0% BB% D1% 8F% D0% B5% D1% 82% 20% D0% B3% D0% B5% D0% BD % D0% B5% D1% 80% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 دنباله% 20 نمودار% 20% D0% BD% D0% B0 % 20% D0% BE% D1% 81% D0% BD% D0% BE% D0% B2% D0% B0% D0% BD% D0% B8% D0% B8% 20% D0% BA% D0% BE% D0 % B4% D0% B0,% 20% D0% B2% D0% B8% D0% B7% D1% 83% D0% B0% D0% BB% D0% B8% D0% B7% D0% B8% D1% 80 % D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D1% 81% D0% B2% D1% 8F% D0% B7% D0% B8% 20% D0% B2% 20 % D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% B5% 20% D0% BC% D0% B5% D0% B6% D0% B4% D1% 83 % 20% D0% BA% D0% BE% D0% BC% D0% BF% D0% BE% D0% BD% D0% B5% D0% BD% D1% 82% D0% B0% D0% BC% D0% B8 , % 20% D1% 81% D0% B1% D0% BE% D1% 80% D0% BA% D0% B0% D0% BC% D0% B8% 20% D0% B8% 20% D1% 81% D1% 81 % D1% 8B% D0% BB% D0% BA% D0% B0% D0% BC% D0% B8% 20% D0% B8% 20% D1% 82.% D0% B4.

% 0A

% D0% 9F% D1% 80% D0% B8% D0% BC% D0% B5% D1% 80% 20استفاده% 20 مورد% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80 % D0% B0% D0% BC% D0% BC% D1% 8B,% 20% D0% BD% D0% B0% D1% 80% D0% B8% D1% 81% D0% BE% D0% B2% D0% B0% D0% BD% D0% BD% D0% BE% D0% B9% 20% D0% B2% 20Visual% 20Studio% 202010:

% 0A% 0A

% D0% 9A% D1% 80% D0% BE% D0% BC% D0% B5% 20% D1% 82% D0% BE% D0% B3% D0% BE,% 20% D0% D0% B4% D0% BE% D1% 81% D1% 82% D1% 83% D0% BF% D0% B5% D0% BD% 20تجسم% 20و% 20مدلینگ% 20ویژگی% 20 بسته% 20 (% D0% B4% D0% BB% D1% 8F% % D0% BF% D0% BE% D0% B4% D0% BF% D0% B8% D1% 81% D1% 87% D0% B8% D0% BA% D0% BE% D0% B2% 20MSDN)،% 20 % D0% BA% D0% BE% D1% 82% D0% BE% D1% 80% D1% 8B% D0% B9% 20% D0% BF% D0% BE% D0% B7% D0% B2% D0% BE % D0% BB% D1% 8F% D0% B5% D1% 82:

% 0A
  • % D0% B3% D0% B5% D0% BD% D0% B5% D1% 80% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1% 8C% 20 % D0% BA% D0% BE% D0% B4% 20% D0% BD% D0% B0% 20% D0% B1% D0% B0% D0% D0% B7% D0% B5% 20UML% 20% D0% B4% D0 % B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% 20% D0% BA% D0% BB% D0% B0% D1% 81% D1% 81% D0 % BE% D0% B2
  • % 0A
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20UML% 20% D0% B4% D0% B8% D0 % B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B8% D0% B7% 20% D0% BA% D0% BE% D0% B4 % D0% B0
  • % 0A
  • % D0% B8% D0% BC% D0% BF% D0% BE% D1% 80% D1% 82% D0% B8% D1% 80% D0% BE% D0% B2% D0% B0% D1% 82% D1 % 8C% 20UML% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BA% D0 % BB% D0% B0% D1% 81% D1% 81% D0% BE% D0% B2,% 20% D0% B4% D0% B8% D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% BF% D0% BE% D1% 81% D0% BB% D0% B5% D0% B4% D0% BE% D0% B2% D0% B0% D1% 82% D0% B5% D0% BB% D1% 8C% D0% BD% D0% BE% D1% 81% D1% 82% D0% B5% D0% B9,% 20% D0% B4% D0% B8 % D0% B0% D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B2% D0% B0% D1% 80% D0% B8% D0% B0 % D0% BD% D1% 82% D0% BE% D0% B2% 20% D0% B8% D1% 81% D0% BF% D0% BE% D0% BB% D1% 8C% D0% B7% D0% BE % D0% B2% D0% B0% D0% BD% D0% B8% D1% 8F% 20% D1% 81% 20XMI% 202.1
  • % 0A
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B4% D0% B8% D0% B0 % D0% B3% D1% 80% D0% B0% D0% BC% D0% BC% D1% 8B% 20% D0% B7% D0% B0% D0% B2% D0% B8% D1% 81% D0% B8 % D0% BC% D0% BE% D1% 81% D1% 82% D0% B5% D0% B9% 20% D0% B4% D0% BB% D1% 8F% 20ASP.NET,% 20C% 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0A
  • % D1% 81% D0% BE% D0% B7% D0% B4% D0% B0% D0% B2% D0% B0% D1% 82% D1% 8C% 20% D0% B8% 20% D0% BF% D1 % 80% D0% BE% D0% B2% D0% B5% D1% 80% D1% 8F% D1% 82% D1% 8C% 20 لایه% 20 نمودارها% 20% D0% B4% D0% BB% D1% 8F% 20C % 20% D0% B8% 20C ++% 20% D0% BF% D1% 80% D0% BE% D0% B5% D0% BA% D1% 82% D0% BE% D0% B2
  • % 0A
  • % D0% BF% D0% B8% D1% 81% D0% B0% D1% 82% D1% 8C% 20% D1% 81% D0% BE% D0% B1% D1% 81% D1% 82% D0% B2 % D0% B5% D0% BD% D0% BD% D1% 8B% D0% B5% 20% D0% BF% D1% 80% D0% BE% D0% B2% D0% B5% D1% 80% D0% BA % D0% B8% 20% D0% B4% D0% BB% D1% 8F% 20 لایه% 20 نمودارها
  • % 0A

% D0% A1% D0% BA% D0% B0% D1% 87% D0% B0% D1% 82% D1% 8C% 20تجسم% 20و% 20مدلسازی% 20ویژگی% 20بسته% 20% D0% BC% D0% BE% D0 % B6% D0% BD% D0% BE% 20% D0% BF% D0% BE% 20% D1% 81% D1% 81% D1% 8B% D0% BB% D0% BA% D0% B5:% 20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.

IBM Rational Rose

فرصت ها:

  • از نمودار موردی استفاده کنید
  • نمودار استقرار (نمودار توپولوژی)؛
  • نمودار استیتچارت؛
  • نمودار فعالیت
  • نمودار تعامل
  • نمودار توالی
  • نمودار همکاری
  • نمودار کلاس
  • نمودار مولفه

اسکرین شات ها:

برنامه های متن باز

StarUML

فرصت ها:

  • پشتیبانی از UML 2.0
  • MDA (معماری مبتنی بر مدل)
  • معماری پلاگین (شما می توانید به زبان های سازگار با COM بنویسید: C ++، Delphi، C #، VB، ...)

StarUML عمدتاً در دلفی نوشته شده است، اما می توانید اجزای سازنده را به زبان های دیگر اضافه کنید، به عنوان مثال C / C ++، Java، Visual Basic، Delphi، JScript، VBScript، C #، VB.NET. چندین اسکرین شات در زیر نشان داده شده است.

نمودار کلاس:

نمودار مورد استفاده:

ArgoUML

نمودارهای پشتیبانی شده:

  • کلاس
  • دولت
  • مورد استفاده
  • فعالیت
  • همکاری
  • گسترش
  • توالی

فرصت ها:

  • پشتیبانی از نه نمودار UML 1.4
  • مستقل از پلتفرم (جاوا 5+)
  • UML 1.4 متامدل استاندارد
  • پشتیبانی از XMI
  • صادرات به GIF، PNG، PS، EPS، PGML و SVG
  • زبان‌ها: EN، EN-GB، DE، ES، IT، RU، FR، NB، PT، ZH
  • پشتیبانی OCL
  • مهندسی پیشرو، معکوس

اسکرین شات: