ویژگی های عمومی زبان UML نمودار UML انواع نمودارهای UML نمودار لایه uml

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

تاریخچه مختصری از UML

در اواسط دهه 1990، چندین ده روش مدلسازی OO توسط نویسندگان مختلف پیشنهاد شد که هر کدام از نمادهای گرافیکی خود استفاده می کردند. در همان زمان، هر یک از این روش ها نقاط قوت خود را داشت، اما اجازه ساخت یک مدل PS به اندازه کافی کامل را نمی داد تا آن را "از همه طرف" نشان دهد، یعنی تمام پیش بینی های لازم (به مقاله 1 مراجعه کنید). علاوه بر این، عدم وجود استاندارد مدل سازی OO، انتخاب مناسب ترین روش را برای توسعه دهندگان دشوار می کرد، که مانع از استفاده گسترده از رویکرد OO برای توسعه نرم افزار شد.

به درخواست گروه مدیریت شی (OMG) - سازمانی که مسئول پذیرش استانداردها در زمینه فناوری های شی و پایگاه داده است، مشکل فوری یکسان سازی و استانداردسازی توسط نویسندگان سه روش محبوب OO - G. Booch حل شد. ، D. Rambo و A. Jacobson که تلاش ها را ترکیب کردند UML نسخه 1.1 را ایجاد کردند که توسط OMG در سال 1997 به عنوان یک استاندارد تأیید شد.

UML یک زبان است

هر زبانی از یک فرهنگ لغت و قوانینی برای ترکیب کلمات برای ساختن ساختارهای معنادار تشکیل شده است. بنابراین، به طور خاص، زبان های برنامه نویسی مرتب شده اند، مانند UML. ویژگی بارز آن این است که واژگان زبان توسط عناصر گرافیکی شکل می گیرد. هر نماد گرافیکی معنای خاصی دارد، بنابراین یک مدل ایجاد شده توسط یک توسعه‌دهنده می‌تواند توسط دیگری و همچنین توسط ابزاری که UML را تفسیر می‌کند، بدون ابهام درک کند. از این، به ویژه، نتیجه می شود که یک مدل PS ارائه شده در UML می تواند به طور خودکار به یک زبان برنامه نویسی OO (مانند Java، C ++، VisualBasic) ترجمه شود، یعنی با یک ابزار مدل سازی بصری خوب که از UML پشتیبانی می کند، توسط با ساخت یک مدل، کد برنامه مربوط به این مدل را نیز خالی خواهیم داشت.

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

واژگان UML

مدل در قالب موجودیت ها و روابط بین آنها نشان داده شده است که در نمودارها نشان داده شده است.

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

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

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

نمودارها UML نمودارهای زیر را ارائه می دهد:

  • نمودارهایی که رفتار سیستم را توصیف می کنند:
    • نمودارهای حالت (نمودار حالت)،
    • نمودارهای فعالیت،
    • نمودارهای اشیاء،
    • نمودارهای توالی،
    • نمودارهای همکاری؛
  • نمودارهایی که پیاده سازی فیزیکی سیستم را توصیف می کنند:
    • نمودارهای اجزاء؛
    • نمودارهای استقرار

نمای کنترل مدل بسته ها

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

آنچه UML ارائه می دهد.

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

و آخرین…

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

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

چرا به او نیاز است؟

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

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

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

نمودار کلاس

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

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

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

نمودار مؤلفه

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

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

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

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

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

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

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

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

نمودار شی

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

نمودار بسته

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ارتباطات

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

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

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

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

نمودار توالی

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

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

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

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

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

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

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

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

نمودار زمان بندی

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

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

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

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

ایرادات

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

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

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

UML در حال حاضر نماد استاندارد برای مدل‌سازی بصری سیستم‌های نرم‌افزاری است که توسط گروه مدیریت شی (OMG) در پاییز 1997 پذیرفته شد و توسط بسیاری از محصولات CASE شی‌گرا پشتیبانی می‌شود.

استاندارد UML مجموعه ای از نمودارهای زیر را برای مدل سازی ارائه می دهد:

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

نمودار کلاس (نمودار کلاس) - برای مدل سازی ساختار استاتیک کلاس های سیستم و روابط بین آنها.

نمودار رفتار سیستم (نمودار رفتار)؛

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

نمودارهای توالی - برای مدل سازی فرآیند پیام رسانی بین اشیاء در یک مورد استفاده؛

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

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

نمودار فعالیت - برای مدل سازی رفتار سیستم در چارچوب موارد استفاده مختلف یا فعالیت های مدل سازی.

نمودار پیاده سازی (نمودار پیاده سازی):

نمودارهای مؤلفه (نمودار مؤلفه) - برای مدل سازی سلسله مراتب اجزاء (زیر سیستم) یک سیستم اطلاعاتی.

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

روی انجیر 1.1 یک مدل یکپارچه از سیستم اطلاعاتی، شامل نمودارهای اصلی برای توسعه در این پروژه دوره ارائه می دهد.

برنج. 1. یک مدل یکپارچه از یک سیستم اطلاعاتی در نماد زبان UML

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

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

شکل 2. مورد استفاده

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



شکل 3. شخصیت (بازیگر)

بازیگران به سه دسته اصلی تقسیم می شوند:

کاربران

سیستم های؛

سیستم های دیگر در تعامل با این یکی؛

زمان در صورتی تبدیل به یک بازیگر می شود که آغاز هر رویدادی در سیستم به آن بستگی داشته باشد.

4.2.1. روابط بین موارد استفاده و بازیگران

در UML، نمودارهای مورد استفاده از چندین نوع رابطه بین عناصر نمودار پشتیبانی می کنند:

ارتباطات (ارتباطات)

گنجاندن (شامل)

تمدید (بسط)

تعمیم.

ارتباط ارتباطیرابطه بین مورد استفاده و کنشگر است. در UML، پیوندهای ارتباطی با استفاده از ارتباط یک طرفه (خط جامد) نشان داده می شوند.

شکل 4. نمونه لینک ارتباطی

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

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

شکل 5. نمونه ای از رابطه شمول و گسترش

تعمیم ارتباطاتنشان می دهد که چندین بازیگر یا کلاس دارای ویژگی های مشترک هستند.

شکل 6. نمونه ای از رابطه تعمیم

4.3.



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

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

پیام اطلاعاتی (آموزنده).پیامی است که اطلاعاتی را برای به روز رسانی وضعیت شی دریافت کننده ارائه می کند.

پیام درخواستی (بازجویی)پیامی است که درخواست خروجی برخی از اطلاعات در مورد شی گیرنده را دارد.

پیام ضروریپیامی است که از گیرنده می خواهد تا عملی را انجام دهد.

دو نوع نمودار تعاملی وجود دارد: نمودارهای توالی و نمودارهای همکاری.

4.3.1. نمودارهای توالی

نمودار توالیمنعکس کننده جریان رویدادهایی است که در یک مورد استفاده واحد رخ می دهد.

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

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

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

برنج. 7. مثال نمودار توالی

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

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

در یک نمودار همکاری، مانند یک نمودار توالی، فلش ها نشان دهنده پیام هایی هستند که در یک مورد خاص رد و بدل می شوند. ترتیب زمانی آنها با شماره گذاری پیام ها نشان داده می شود.

برنج. 8. نمونه ای از نمودار همکاری

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

4.4.1. اطلاعات کلی

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

نمودار کلاس در UML گرافی است که گره‌های آن عناصر ساختار استاتیک پروژه (کلاس‌ها، رابط‌ها) و کمان‌ها روابط بین گره‌ها (تداعی‌ها، وراثت، وابستگی‌ها) هستند.

نمودار کلاس عناصر زیر را نشان می دهد:

· بسته (بسته) - مجموعه ای از عناصر مدل که به طور منطقی با یکدیگر مرتبط هستند.

· کلاس (کلاس) - شرح ویژگی های مشترک گروهی از اشیاء مشابه.

· رابط (رابط) - یک کلاس انتزاعی که مجموعه ای از عملیات را مشخص می کند که یک شی از یک کلاس دلخواه مرتبط با یک رابط داده شده به اشیاء دیگر ارائه می دهد.

4.4.2. کلاس

کلاسگروهی از موجودیت ها (اشیاء) است که دارای ویژگی های مشابه، یعنی داده ها و رفتار هستند. یک عضو مجزا از یک کلاس، شیء کلاس یا به سادگی یک شی نامیده می شود.

رفتار یک شی در UML به هر قانون برای تعامل یک شی با دنیای خارج و با داده های خود شی اشاره دارد.

در نمودارها، یک کلاس به صورت یک مستطیل با حاشیه جامد نشان داده می شود که با خطوط افقی به 3 بخش تقسیم می شود:

بخش بالا (بخش نام) شامل نام کلاس و سایر خصوصیات عمومی (به ویژه کلیشه) است.

بخش میانی شامل لیستی از ویژگی ها است

در پایین لیستی از عملیات کلاس وجود دارد که رفتار آن (اعمال انجام شده توسط کلاس) را منعکس می کند.

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

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

برنج. 9. نمونه نمودار کلاس

4.4.2.1.کلیشه های طبقاتی

کلیشه سازی طبقاتی مکانیزمی است برای طبقه بندی طبقات به دسته ها.

UML سه کلیشه کلاس اصلی را تعریف می کند:

مرز (مرز)؛

نهاد (نهاد)؛

کنترل (مدیریت).

4.4.2.2.کلاس های مرزی

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

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

4.4.2.3.کلاس های موجودیت

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

4.4.2.4.کلاس های کنترل

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

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

علاوه بر کلیشه های ذکر شده در بالا، شما می توانید خود را ایجاد کنید.

4.4.2.5.ویژگی های

یک ویژگی، بخشی از اطلاعات مرتبط با یک کلاس است. ویژگی ها داده های کلاس کپسوله شده را ذخیره می کنند.

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

ویژگی می تواند چهار مقدار ممکن برای این پارامتر داشته باشد:

عمومی (عمومی، باز). این مقدار visibility فرض می‌کند که ویژگی برای همه کلاس‌های دیگر قابل مشاهده است. هر کلاسی می تواند مقدار یک ویژگی را مشاهده یا تغییر دهد. مطابق با نماد UML، قبل از یک ویژگی مشترک علامت "+" وجود دارد.

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

محافظت شده (محافظت شده). چنین ویژگی فقط برای خود کلاس و فرزندان آن در دسترس است. نماد UML برای یک ویژگی محافظت شده علامت "#" است.

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

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

4.4.2.6.عملیات

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

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

یک نمودار کلاس می تواند نام عملیات و نام عملیات را به همراه پارامترها و نوع بازگشت آنها نشان دهد. برای کاهش بار روی نمودار، نشان دادن تنها نام عملیات در برخی از آنها و امضای کامل آنها در برخی دیگر مفید است.

در UML، عملیات دارای نماد زیر است:

نام عملیات (Argument: نوع داده آرگومان، argument2: نوع داده argument2،...): نوع برگشتی

چهار نوع عملیات مختلف برای بررسی وجود دارد:

عملیات اجرایی؛

عملیات مدیریت؛

عملیات دسترسی؛

عملیات کمکی

عملیات اجرایی

عملیات اجرایی برخی از عملکردهای تجاری را اجرا می کند. چنین عملیاتی را می توان با بررسی نمودارهای تعامل پیدا کرد. نمودارهایی از این نوع بر عملکردهای تجاری تمرکز دارند و هر پیام در نمودار به احتمال زیاد می تواند با یک عملیات پیاده سازی مرتبط باشد.

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

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

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

عملیات دسترسی

ویژگی ها معمولا خصوصی یا محافظت شده هستند. با این حال، کلاس های دیگر گاهی اوقات نیاز به مشاهده یا تغییر مقادیر خود دارند. برای این کار عملیات دسترسی وجود دارد. این رویکرد امکان کپسوله کردن ایمن ویژگی ها را در یک کلاس، محافظت از آنها در برابر سایر کلاس ها، اما دسترسی کنترل شده به آنها را ممکن می سازد. ایجاد عملیات Get and Set (به دست آوردن و تغییر یک مقدار) برای هر ویژگی یک کلاس یک استاندارد است.

عملیات کمکی

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

برای شناسایی تراکنش ها موارد زیر را انجام دهید:

1. مطالعه نمودارهای توالی و نمودارهای تعاونی. بیشتر پیام های این نمودارها عملیات پیاده سازی هستند. پیام های بازتابی عملیات کمکی خواهند بود.

2. عملیات کنترل را در نظر بگیرید. ممکن است لازم باشد سازنده و تخریب کننده اضافه کنید.

3. عملیات دسترسی را در نظر بگیرید. برای هر ویژگی کلاس که کلاس های دیگر باید با آن کار کنند، باید عملیات Get and Set را ایجاد کنید.

4.4.2.7.اتصالات

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

چهار نوع رابطه وجود دارد که می‌توان بین کلاس‌ها برقرار کرد: انجمن‌ها، وابستگی‌ها، تجمع‌ها و تعمیم‌ها.

انجمن ارتباطات

ارتباط یک رابطه معنایی بین طبقات است. آنها در نمودار کلاس به عنوان یک خط معمولی رسم می شوند.

برنج. 10. انجمن ارتباطات

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

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

تداعی ها می توانند انعکاسی باشند. ارتباط بازتابی به این معنی است که یک نمونه از یک کلاس با نمونه های دیگر همان کلاس تعامل دارد.

اعتیاد به ارتباطات

روابط وابستگی نیز منعکس کننده رابطه بین کلاس ها هستند، اما آنها همیشه یک طرفه هستند و نشان می دهند که یک کلاس به تعاریف ساخته شده در کلاس دیگر بستگی دارد. به عنوان مثال، کلاس A از متدهای کلاس B استفاده می کند. سپس، زمانی که کلاس B تغییر می کند، لازم است تغییرات مربوطه در کلاس A ایجاد شود.

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

برنج. 11. اعتیاد به ارتباط

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

تجمیع ارتباطات

تجمیع شکل محکم تری از ارتباط است. تجمیع پیوند بین کل و جزء آن است. به عنوان مثال، ممکن است یک کلاس خودرو، و همچنین کلاس های موتور، تایر و کلاس هایی برای سایر قطعات خودرو داشته باشید. در نتیجه، یک شی از کلاس Car از یک شی از کلاس Engine، چهار شی از تایرها و غیره تشکیل می شود. تجمعات به صورت یک خط با لوزی برای کلاسی که یک عدد صحیح است، تجسم می شود:

برنج. 11. تجمیع ارتباطات

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

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

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

UML از هرج و مرج پیرامون توسعه نرم افزار و مستندسازی ایجاد شد. در دهه 1990 روش های مختلفی برای نمایش سیستم های نرم افزاری وجود داشت. نیاز به یک راه UML بصری یکپارچه‌تر برای نمایش این سیستم‌ها وجود داشت و در نتیجه بین سال‌های 1994 و 1996 توسط سه مهندس نرم‌افزار که در Rational Software کار می‌کردند، توسعه یافت. بعداً در سال 1997 به عنوان یک استاندارد پذیرفته شد و تا به امروز تنها با چند به روز رسانی باقی مانده است.

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

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

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

  1. عبارات زبان برنامه نویسی
  2. بازیگران نقشی را که کاربر یا هر سیستم دیگری که با شی در تعامل است، بازی می کند.
  3. فعالیت هایی که برای اجرای قرارداد کار انجام می شود و به صورت نمودار ارائه می شود.
  4. یک فرآیند کسب و کار که شامل مجموعه ای از وظایف است که خدمات خاصی را برای مشتریان ایجاد می کند که توسط نمودار جریانی از اقدامات متوالی تجسم می شود.
  5. منطق و اجزای نرم افزار قابل استفاده مجدد

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

نمودارهای UML به عنوان نمایش ایستا و پویا از مدل سیستم ارائه می شوند. نمای استاتیک شامل نمودارهای ساختاری کلاس و ترکیبی است که بر ساختار ایستا تأکید می کند. نمای پویا نشان دهنده تعامل بین اشیاء و تغییرات در حالات داخلی اشیا با استفاده از نمودارهای توالی، فعالیت و حالت است.

طیف گسترده‌ای از ابزارهای مدل‌سازی UML برای ساده‌سازی مدل‌سازی در دسترس هستند، از جمله IBM Rose، Rhapsody، MagicDraw، StarUML، ArgoUML، Umbrello، BOUML، PowerDesigner و Dia.

استفاده از UML هم در مستندات توسعه نرم افزار و هم در فرآیندهای تجاری اشکال مختلفی دارد:

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

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

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

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

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

انواع مختلف به شرح زیر تقسیم می شوند:

  1. همه 14 نوع مختلف نمودار UML به طور منظم هنگام مستندسازی سیستم ها و معماری ها استفاده نمی شوند.
  2. اصل پارتو برای استفاده از نمودارهای UML نیز اعمال می شود.
  3. 20 درصد نمودارها در 80 درصد مواقع توسط توسعه دهندگان استفاده می شود.

رایج ترین عناصر مورد استفاده در توسعه نرم افزار عبارتند از:

  • نمودارهای استفاده؛
  • نمودارهای کلاس؛
  • دنباله ها

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

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

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

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

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

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

این نوع نمودار به خوبی برای نشان دادن رفتار پویا بین شرکت کنندگان در یک سیستم، ساده کردن ارائه آن بدون آشکار کردن جزئیات پیاده سازی مناسب است.

موقت

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

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

اجزای اصلی نمودار زمان بندی عبارتند از:

  1. Lifeline یک عضو فردی است.
  2. جدول زمانی حالت - تنها مسیر زندگی می تواند از حالت های مختلف در یک فرآیند عبور کند.
  3. محدودیت مدت - یک محدودیت بازه زمانی که مدت زمان محدودیت مورد نیاز برای برآورده شدن را نشان می دهد.
  4. محدودیت زمانی - محدود کردن فاصله زمانی که در طی آن چیزی باید توسط یک عضو انجام شود.
  5. ظهور تخریب - ظاهر پیامی است که یک عضو را از بین می برد و پایان چرخه زندگی آن عضو را به تصویر می کشد.

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

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

متوالی

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

برای اطلاعات بیشتر، لطفاً مثال نمودار توالی UML را در زیر ببینید.

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

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

به طور خاص، هر کلاس دارای 3 فیلد است: نام در بالا، ویژگی ها درست زیر نام، عملیات/رفتار در پایین. رابطه بین کلاس های مختلف (که با یک خط اتصال نشان داده می شود) یک نمودار کلاس را تشکیل می دهد. مثال بالا یک نمودار کلاس پایه را نشان می دهد.

اشیاء

هنگام بحث در مورد نمودارهای ساختار UML، باید به مفاهیم مرتبط با علوم کامپیوتر بپردازید. در مهندسی نرم‌افزار، کلاس‌ها به‌عنوان انواع داده‌های انتزاعی در نظر گرفته می‌شوند در حالی که اشیاء نمونه هستند، برای مثال، اگر «Car» وجود داشته باشد که یک نوع انتزاعی عمومی است، نمونه کلاس «Car» «Audi» خواهد بود.

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

استقرارها

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

یک طرح استقرار ساده شده معمولی برای یک برنامه وب شامل:

  1. گره ها (سرور برنامه و سرور پایگاه داده).
  2. نمودار مصنوعات برنامه مشتری و پایگاه داده.

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

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

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

آنها به طور کلی در دسته های اصلی زیر قرار می گیرند:

  1. کاغذ و خودکار آسان است. کاغذ و قلم بگیرید، کد نحو UML را از وب باز کنید و هر نوع نموداری را که می خواهید ترسیم کنید.
  2. ابزارهای آنلاین - چندین برنامه آنلاین وجود دارد که می توان از آنها برای ایجاد نمودار استفاده کرد. اکثر آنها اشتراک پولی یا تعداد محدودی نمودار را در ردیف رایگان ارائه می دهند.
  3. ابزارهای آنلاین رایگان تقریباً مشابه ابزارهای پولی هستند. تفاوت اصلی این است که پولی ها نیز آموزش ها و قالب های آماده ای را برای نمودارهای خاص ارائه می دهند.
  4. برنامه دسکتاپ - نرم افزار دسکتاپ معمولی برای استفاده برای نمودارها و تقریباً هر نمودار دیگری Microsoft Visio است. ویژگی ها و قابلیت های پیشرفته ای را ارائه می دهد. تنها نقطه ضعف این است که باید برای آن پول پرداخت کنید.

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

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

مزایای UML

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

انواع نمودارهای UML

14 نوع نمودار در UML وجود دارد. آنها را می توان به 2 دسته تقسیم کرد:

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

سلسله مراتب انواع نمودار UML، با یک نمودار کلاس نشان داده شده است

نمودارهای ساختاری

  1. نمودار کلاسیک عنصر کلیدی در مدل سازی شی گرا است. با کمک این نمودار (در واقع، از طریق کلاس ها، آنها ویژگی های, مواد و روش هاو وابستگی بین کلاس ها) مدل دامنه و ساختار سیستم مدل شده را توصیف می کند.
  2. نمودار مؤلفهتقسیم کد برنامه را به بلوک های بزرگ (اجزای ساختاری) نمایش می دهد و نشان می دهد وابستگی هابین آنها. کامپوننت ها می توانند بسته ها، ماژول ها، کتابخانه ها، فایل ها و غیره باشند.
  3. نمودار شییک برش کامل یا جزئی از سیستم شبیه سازی شده را در یک نقطه زمانی معین نشان می دهد. نمونه هایی از کلاس ها (اشیاء)، وضعیت آنها (مقادیر ویژگی فعلی) و روابط بین آنها را نشان می دهد.
  4. نمودار ساختار مرکبساختار داخلی کلاس ها و در صورت امکان تعامل بین عناصر این ساختار را نشان می دهد.
  5. نمودار بستهبسته ها و روابط بین آنها را نشان می دهد. این نوع نمودار برای ساده سازی ساختار مدل (و بر این اساس، کار با آن) از طریق ترکیب عناصر مدل در گروه ها بر اساس معیارهای خاص استفاده می کند.
  6. نمودار استقرارمدل سازی استقرار اجزای نرم افزار ( مصنوعات) در مورد منابع محاسباتی / اجزای سخت افزاری ( گره ها).
  7. نمودار پروفایلمکانیزم توسعه‌پذیری را توصیف می‌کند که به UML اجازه می‌دهد تا با حوزه‌های موضوعی و زمینه‌های مختلف فعالیت سازگار شود.

مثال نمودار کلاس UML

نمودارهای رفتار

  1. نمودار فعالیتاعمال را نشان می دهد ( اقدامات) که برخی از فعالیت ها ( فعالیت). نمودارهای فعالیت برای مدل‌سازی فرآیندهای تجاری، فرآیندهای فناوری، محاسبات سریال و موازی استفاده می‌شوند.
  2. از نمودار موردی استفاده کنید(یا نمودار مورد استفاده) رابطه بین بازیگران (بازیگران) و موارد استفاده از سیستم شبیه سازی شده (قابلیت های آن) را توصیف می کند. هدف اصلی نمودار این است که یک ابزار جهانی برای مشتریان، توسعه دهندگان و کاربران نهایی باشد که با کمک آن می توان به طور مشترک درباره سیستم - قابلیت ها و رفتار آن بحث کرد.
  3. نمودار حالترفتار پویای یک موجود را به تصویر می‌کشد و نشان می‌دهد که این موجودیت بسته به وضعیت فعلی خود، چگونه به رویدادهای مختلف واکنش نشان می‌دهد. در واقع، این یک نمودار حالت از تئوری اتم ها است.
  4. نمودار ارتباطی(در نسخه های قبلی نمودار همکاری) فعل و انفعالات بین اجزای ساختار ترکیبی و نقش های همکاری را نشان می دهد. نمودار به صراحت رابطه بین عناصر (اشیاء) را نشان می دهد.
  5. نمودار توالیبرای تجسم دنباله ای از تعاملات اشیاء استفاده می شود. چرخه زندگی یک شی معین و تعامل بازیگران (بازیگران) را در برخی موارد استفاده، دنباله پیام هایی که آنها مبادله می کنند را نشان می دهد.
  6. نمودار نمای کلی تعاملشامل بخشی از نمودار توالی و ساختار جریان کنترل است. به در نظر گرفتن تعامل اشیاء از دیدگاه های مختلف کمک می کند.
  7. نمودار زمان بندی- یک زیرگونه جداگانه از نمودارهای تعامل، متخصص در زمان بندی. از این نوع نمودارها برای مطالعه رفتار اجسام در یک بازه زمانی معین استفاده می شود.