نمونه هایی از نمودارهای Uml. نمودار UML

صفحه اصلی / روشن نمی شود

UML یا Unified Modeling Language یک زبان توصیفی گرافیکی برای مدل‌سازی شی در زمینه توسعه است نرم افزار. اما استفاده از 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. نمودار نمای کلی تعاملشامل بخشی از نمودار توالی و طراحی جریان کنترل است. به در نظر گرفتن تعامل اشیاء از دیدگاه های مختلف کمک می کند.

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

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

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

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

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

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

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

عناصر اصلی علامت گذاری مورد استفاده در نمودار استفاده در زیر نشان داده شده است. توضیحات مفصلدر بخش 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UML یک زبان است

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

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

فرهنگ لغت UML

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

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

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

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

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

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

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

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

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

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

و آخرین مورد ...

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

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

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

        UML ابزارهای بیانی برای ایجاد فراهم می کند مدل های بصری، که:

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

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

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

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

نمودارهای UML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

روابط در UML

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

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

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

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

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

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

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

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

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

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

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

        هنگام مدل‌سازی سیستم‌های شی گرا، یک تقسیمنهادهای نمایندگی

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

نمودار کلاس

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


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

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

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

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

نمودار وضعیت

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

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



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

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

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

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

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

        شرایط اجباری زیر برای دستگاه باید رعایت شود:

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

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

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

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

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

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

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

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

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

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

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

نمودار توالی

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

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

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

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

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

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

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


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

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

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

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

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

        همکاری را می توان در دو سطح نشان داد:

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

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

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

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

نمودار مولفه

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



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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

ویژگی های رابط کاری Rational Rose

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


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

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

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

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

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

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

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

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

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

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

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

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

پنجره مرورگر

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

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

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

نوار ابزار ویژه

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

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

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

پنجره نمودار

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

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


شکل - 11.ظاهر پنجره نمودار با انواع نماهای مدل

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

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

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

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

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

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

پنجره ورود به سیستم

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

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

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

نتیجه گیری

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

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

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

       

نمودار 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 و ساختارهای جریان کنترل می شوند.

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

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

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

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

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

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

ایرادات

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

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

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

© 2024 ermake.ru -- درباره تعمیر رایانه شخصی - پورتال اطلاعاتی