مرورگرها

نمودارهای ساختاری UML. UML: از تئوری تا عمل. از نمودارهای موردی استفاده کنید

مدل UML(مدل UML) مجموعه ای از مجموعه محدودی از ساختارهای زبانی است که اصلی ترین آنها موجودیت ها و روابط بین آنها هستند.

موجودیت ها و روابط مدل خود نمونه هایی از متا کلاس های متامدل هستند.

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

1.4.1. موجودیت ها

برای سهولت مشاهده، موجودیت ها در UML را می توان به چهار گروه تقسیم کرد:

  • ساختاری؛
  • رفتاری
  • گروه بندی؛
  • حاشیه نویسی

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

یک شی(شیء) 1 موجودی است که منحصر به فرد است و حالت و رفتار را در بر می گیرد.

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

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

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

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

∇ چنین رابطه ای قطعا وجود دارد که در شکل 1 بیان شده است. سلسله مراتب نوع نمودار برای UML 1به عنوان یک رابطه وابستگی با یک کلیشه پالایش.

∇∇ در UML 1، یک ارتباط غیرارادی بین یک نمودار همکاری و موجودیتی به همین نام بوجود آمد که کاملاً درست نبود و گاهی اوقات گمراه کننده بود.

∇∇∇ در UML 2، بار نحوی و معنایی نمودار حالت به قدری تغییر کرده است که نام دیگر محتوا را منعکس نمی کند.

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

  • نمودار ساختار ترکیبی
  • نمودار بسته
  • نمودار ماشین حالت
  • نمودار ارتباطی
  • نمودار نمای کلی تعامل
  • نمودار زمان بندی

در شکل سلسله مراتب نوع نمودار برای UML 2 (بخش 1 و 2)یک نمودار کلاسی است که رابطه نمودارها را در UML 2 نشان می دهد.

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

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

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

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

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

برگه انواع نمودار و برچسب ها

عنوان نمودار برچسب (استاندارد) برچسب (پیشنهاد شده)
نمودار استفاده مورد استفادهیا uc مورد استفاده
نمودار کلاس کلاس کلاس
نمودار خودکار ماشین حالتیا stm ماشین حالت
نمودار فعالیت فعالیتیا عمل کنید فعالیت
نمودار توالی اثر متقابلیا SD SD
نمودار ارتباطی اثر متقابلیا SD کام
نمودار مولفه جزءیا cmp جزء
نمودار قرارگیری تعریف نشده گسترش
نمودار شی تعریف نشده هدف - شی
نمودار ساختار داخلی کلاس کلاسیا جزء
نمودار نمای کلی تعامل اثر متقابلیا SD اثر متقابل
نمودار همگام سازی اثر متقابلیا SD زمان سنجی
نمودار بسته بسته بندییا pkg بسته بندی

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نمودارهای UML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

روابط در UML

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

نمودار کلاس

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


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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نمودار توالی

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

نمودار مولفه

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



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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

پنجره مرورگر

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

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

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

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

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

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

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

پنجره نمودار

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

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


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

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

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

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

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

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

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

پنجره ورود

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

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

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

نتیجه

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

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

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

& nbsp & nbsp & nbsp & nbsp

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

UML چیست؟

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

همانطور که ویکی پدیا می گوید

UML یک زبان توصیف گرافیکی برای مدل‌سازی شی در توسعه نرم‌افزار، مدل‌سازی فرآیند کسب‌وکار، مهندسی سیستم‌ها و نمایش ساختارهای سازمانی است.
جالب ترین چیزی که همه در مورد آن فکر نمی کنند یا حدس می زنند، UML دارای مشخصات است. و حتی یک مشخصات UML2 وجود دارد. جزئیات بیشتر در مورد مشخصات را می توانید در وب سایت Object Management Group بیابید. در واقع این گروه مشغول توسعه مشخصات UML هستند. همچنین جالب است که UML به توصیف ساختار کلاس ها محدود نمی شود. انواع مختلفی از نمودارهای UML وجود دارد. شرح مختصری از انواع نمودارهای UML را می توان در همان ویکی پدیا مشاهده کرد: UML - نمودارها یا در ویدیوی تیمور باتیرشینوف نمای کلی نمودارهای UML... UML همچنین به طور گسترده در توصیف فرآیندهای مختلف استفاده می شود، به عنوان مثال در اینجا: SSO با استفاده از JWT. در بازگشت به استفاده از نمودارهای کلاس UML، شایان ذکر است که کتاب Head First: Design Patterns، که در آن الگوها با همان نمودارهای UML نشان داده شده اند، قابل توجه است. معلوم می شود که UML واقعاً در حال استفاده است. و معلوم می شود که دانستن و درک کاربرد آن یک مهارت بسیار مفید است.

کاربرد

بیایید ببینیم چگونه می توانید با همین UML از IDE کار کنید. به عنوان یک IDE، بیایید بگیریم ایده IntelliJ... اگر استفاده می کنید IntelliJ Idea Ultimate، سپس افزونه "خارج از جعبه" نصب می شود پشتیبانی UML". این امکان را به شما می دهد تا نمودارهای کلاس زیبایی را به طور خودکار ایجاد کنید. به عنوان مثال، از طریق Ctrl + N یا آیتم منو" پیمایش "->" کلاس "رفتن به کلاس" ArrayList... اکنون، از طریق منوی زمینه با نام کلاس، "Diagram" -> "Show diagram popup" را انتخاب کنید. در نتیجه، نمودار خوبی خواهیم داشت:

اما اگر بخواهید خودتان را بکشید، و حتی نسخه نهایی ایده وجود نداشته باشد، چه؟ اگر از IntelliJ Idea Community Edition استفاده می کنیم، چاره دیگری نداریم. برای انجام این کار، باید بدانید که چنین نمودار UML چگونه کار می کند. ابتدا باید Graphviz را نصب کنیم. این مجموعه ای از ابزارهای تجسم گراف است. توسط افزونه ای که ما از آن استفاده خواهیم کرد استفاده می شود. پس از نصب، باید دایرکتوری را اضافه کنید صندوقچهاز دایرکتوری نصب شده گرافویزبه متغیر محیطی مسیر... پس از آن، در IntelliJ Idea، File -> Settings را از منو انتخاب کنید. در پنجره «تنظیمات»، دسته «افزونه‌ها» را انتخاب کنید، روی دکمه «مرور مخازن» کلیک کنید و افزونه ادغام PlantUML را نصب کنید. چه چیزی در این مورد خوب است PlantUML? از زبان نموداری به نام " نقطه"و این به آن اجازه می دهد تا جهانی تر باشد، زیرا این زبان نه تنها توسط PlantUML استفاده می شود. علاوه بر این، هر کاری که در زیر انجام می دهیم می توانیم نه تنها در IDE، بلکه در سرویس آنلاین planttext.com نیز انجام دهیم. پس از نصب PlantUML. افزونه ما قادر خواهیم بود نمودارهای UML را از طریق "File" -> "New" ایجاد کنیم. بیایید یک نمودار از نوع "UML class" ایجاد کنیم. در طی این کار یک الگو با یک مثال به طور خودکار تولید می شود. بیایید محتوای آن را حذف کرده و ایجاد کنیم. خودمان، مجهز به مقاله ای از Habr: روابط طبقاتی - از UML تا کد. و برای اینکه بفهمید چگونه آن را در متن به تصویر بکشید، کتابچه راهنمای PlantUML را بگیرید: plantuml class-diagram. در آن، در همان ابتدا، یک صفحه با نحوه توصیف اتصالات:

در مورد خود پیوندها، ما هنوز می توانیم اینجا نگاه کنیم: "روابط بین کلاس ها در UML. مثال". بر اساس این مواد، بیایید شروع به ایجاد نمودار UML خود کنیم. محتوای زیر را برای توصیف دو کلاس اضافه کنید: @startuml class ArrayList () class LinkedList () @enduml برای دیدن نتیجه در Idea، View -> Tool Windows -> PlantUML را انتخاب کنید. ما فقط با دو مربع که کلاس ها را نشان می دهند، به پایان می رسیم. همانطور که می دانیم، هر دوی این کلاس ها رابط List را پیاده سازی می کنند. این رابطه طبقاتی را تحقق نیز می گویند. برای نشان دادن چنین ارتباطی از فلشی با خط چین استفاده می شود. بیایید آن را نشان دهیم: فهرست فهرست رابط< | . . ArrayList List < | . . LinkedList List - один из дочерних классов Collection . То есть он наследуется от Collection. Эта связь называется обобщением (generalization). Выглядит как стрелка с обычной непрерывной линией. Изобразим её: interface Collection Collection < | -- List Для следующего типа связи добавим в описание класса ArrayList запись о بسته خصوصیآرایه عناصر: ~ Object elementData اکنون می‌خواهیم نشان دهیم که ArrayList حاوی چند شی است. در این مورد، نوع پیوند خواهد بود - تجمع(تجمع). جمع در این مورد ArrayList است، زیرا شامل اشیاء دیگری است. ما تجمیع را انتخاب می کنیم زیرا اشیاء موجود در لیست می توانند بدون لیست زندگی کنند: آنها بخش جدایی ناپذیر آن نیستند. طول عمر آنها به طول عمر لیست گره خورده نیست. مترجم از لاتین به عنوان "مجموعه" ترجمه می شود، یعنی چیزی که از چیزی ساخته شده است. به عنوان مثال، در زندگی، یک واحد پمپاژ وجود دارد که از یک پمپ و یک موتور تشکیل شده است. خود واحد می تواند جدا شود و بخشی از اجزای آن باقی بماند. به عنوان مثال، برای فروش یا قرار دادن در یک واحد دیگر. بنابراین در لیست است. و این به صورت یک الماس خالی در واحد و یک خط پیوسته بیان می شود. بیایید آن را به این صورت ترسیم کنیم: کلاس Object () ArrayList o- Object اکنون می‌خواهیم نشان دهیم که برخلاف ArrayList، کلاس LinkedList حاوی Node - کانتینرهایی است که به داده‌های ذخیره شده اشاره می‌کنند. در این مورد، Nodes بخشی از خود LinkedList است و نمی تواند به طور جداگانه زندگی کند. Node به طور مستقیم محتوای ذخیره شده نیست، بلکه فقط حاوی یک پیوند به آن است. به عنوان مثال، هنگامی که یک خط را به LinkedList اضافه می کنیم، یک Node جدید اضافه می کنیم که حاوی پیوندی به آن خط است، و همچنین یک پیوند به Node قبلی و بعدی. این نوع ارتباط نامیده می شود ترکیب بندی(ترکیب بندی). برای نمایش کامپوزیت (آنی که از قطعات تشکیل شده است)، یک ربات نقاشی کشیده می شود، یک خط پیوسته به آن منتهی می شود. حالا بیایید این را در قالب نمایش متنی پیوند بنویسیم: class Node () LinkedList * - Node و اکنون باید یاد بگیریم که چگونه نوع مهم دیگری از پیوند را نمایش دهیم - اعتیاد(رابطه وابستگی). زمانی استفاده می شود که یک کلاس از کلاس دیگر استفاده می کند و کلاس شامل کلاس استفاده شده نیست و از آن ارث نمی برد. به عنوان مثال، LinkedList و ArrayList هر دو می دانند که چگونه یک ListIterator ایجاد کنند. ما این را به صورت فلش هایی با خط نقطه چین نشان می دهیم: class ListIterator ListIterator< . . . ArrayList : create ListIterator < . . . LinkedList : create Выглядеть после всего это будет следующим образом:

شما می توانید تا آنجا که لازم است جزئیات دهید. همه نام‌ها در اینجا فهرست شده‌اند: "PlantUML - نمودار کلاس". علاوه بر این، هیچ چیز ماوراء طبیعی در ترسیم چنین نموداری وجود ندارد و هنگام کار بر روی وظایف خود، می توانید به سرعت آن را با دست ترسیم کنید. این به شما کمک می‌کند تا مهارت‌های تفکر معماری برنامه‌های کاربردی خود را توسعه دهید و به شما کمک می‌کند نقص‌های ساختار کلاس را زودتر شناسایی کنید، نه بعد از صرف یک روز برای اجرای مدل اشتباه. فکر می کنم این دلیل خوبی برای امتحان کردن است؟)

اتوماسیون

راه های مختلفی برای تولید خودکار نمودارهای PlantUML وجود دارد. به عنوان مثال، در اندیشهیک پلاگین SketchIT وجود دارد، اما آنها را به درستی ترسیم نمی کند. فرض کنید پیاده سازی اینترفیس ها به اشتباه ترسیم شده است (به عنوان ارث نمایش داده می شود). همچنین نمونه هایی در اینترنت وجود دارد که چگونه می توان این را در چرخه عمر ساخت پروژه خود ادغام کرد. بیایید بگوییم برای ماونیک مثال با استفاده از uml-java-docklet وجود دارد. برای نشان دادن این موضوع، بیایید از کهن الگوی Maven برای ایجاد سریع یک پروژه Maven استفاده کنیم. دستور را اجرا کنید: mvn archetype: generate هنگامی که از شما خواسته شد فیلتری را انتخاب کنید ( یک عدد انتخاب کنید یا فیلتر را اعمال کنید) به سادگی با فشردن Enter پیش فرض را ترک کنید. همیشه خواهد بود" maven-archetype-شروع سریع". ما آخرین نسخه را انتخاب می کنیم. سپس به سوالات پاسخ می دهیم و ایجاد پروژه را کامل می کنیم:

از آنجایی که Maven تمرکز این مقاله نیست، می توانید پاسخ سوالات Maven خود را در مرکز کاربران Maven بیابید. در پروژه تولید شده، فایل توضیحات پروژه را برای ویرایش باز کنید، pom.xml... محتوای توضیحات نصب uml-java-docklet را در آن کپی کنید. مصنوع مورد استفاده در توضیحات در مخزن مرکزی Maven یافت نشد. اما برای من با این کار کرد: https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0. یعنی فقط باید در آن توضیحات جایگزین کنید شناسه گروهبا " info.leadinglight"در" com.chfourie"و نسخه را قرار دهید" 1.0.0 پس از آن، ما می توانیم در دایرکتوری که فایل در آن قرار دارد اجرا کنیم pom.xmlاین دستورات: mvn clean install و mvn javadoc: javadoc. حال اگر مستندات تولید شده (هدف کاوشگر \ سایت \ apidocs \ index.html) را باز کنیم، نمودار UML را مشاهده خواهیم کرد. به هر حال، پیاده سازی قبلاً به درستی در اینجا نمایش داده شده است)

نتیجه

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

زبان مدلسازی یکپارچه (UML) در حال حاضر استاندارد عملی برای توصیف (مستند کردن) نتایج طراحی و توسعه سیستم های شی گرا است. توسعه UML در سال 1994 توسط Grady Booch و James Rambeau از Rational Software آغاز شد. در پاییز 1995، ایوار جاکوبسون به آنها پیوست و در اکتبر همان سال، نسخه اولیه 0.8 روش Unified Method منتشر شد. از آن زمان، چندین نسخه از مشخصات UML منتشر شده است که دو مورد از آنها دارای وضعیت استاندارد بین المللی هستند:

UML 1.4.2 - "ISO / IEC 19501: 2005. فناوری اطلاعات. پردازش توزیع شده باز. زبان مدل سازی یکپارچه (UML). نسخه 1.4.2" (eng. "فناوری اطلاعات. پردازش توزیع شده باز. زبان مدل سازی یکپارچه (UML). نسخه 1.4.2 ")؛

UML 2.4.1 - "ISO / IEC 19505-1: 2012. فناوری اطلاعات. OMG UML. قسمت 1. زیرساخت" (eng. "فناوری اطلاعات - زبان مدلسازی واحد گروه مدیریت شیء (OMG UML) - قسمت 1: زیرساخت") و "ISO / IEC 19505-2: 2012. فناوری اطلاعات. زبان مدلسازی گروه مدیریت یکپارچه شیء (OMG UML). بخش 2. روبنا "(eng." فناوری اطلاعات - زبان مدلسازی واحد گروه مدیریت اشیا (OMG UML) - قسمت 2 : روبنا ").

آخرین مشخصات زبان رسمی را می توان در www.omg.org یافت.

ساختار کلی UML در شکل زیر نشان داده شده است.

برنج. 11.1. ساختار UML

11.2. معنای UML و نحو

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

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

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

11.3. نماد UML

نشانه گذاری یک تفسیر گرافیکی از معناشناسی برای ارائه بصری آن است.

UML سه تعریف می کند نوع موجودیت :

ساختاری - انتزاعی که بازتابی از یک شی مفهومی یا فیزیکی است.

گروه بندی - عنصری که برای یکپارچگی معنایی عناصر نمودار استفاده می شود.

توضیحی (حاشیه نویسی) - یک نظر برای یک عنصر نمودار.

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

جدول 11.1. موجودیت ها

یک نوع نام تعیین تعریف (معناشناسی)
ساختاری
(کلاس)
بسیاری از اشیاء با ساختار و رفتار مشترک

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

(بازیگر)

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

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

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

(جزء)
بخش فیزیکی سیستم (فایل)، شامل ماژول‌های سیستمی که اجرای مجموعه‌ای از رابط‌ها را فراهم می‌کنند

(رابط)

iCalculation
مجموعه ای از عملیات که یک سرویس (مجموعه خدمات) ارائه شده توسط یک کلاس یا جزء را تعریف می کند

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

(قطعه)
ناحیه تعامل خاص بین نمونه های کنشگر و شی

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

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

در برخی منابع، به ویژه [,]، موجودیت های رفتاری نیز متمایز شده اند فعل و انفعالاتو ماشین های حالت محدود، اما از نظر منطقی باید به عنوان نمودار طبقه بندی شوند.

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

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

جدول 11.3. ارتباط

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

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

- * - هر تعداد کپی، از جمله هیچ کدام.

عدد صحیح غیر منفی - تعدد به شدت ثابت و برابر با عدد مشخص شده است (به عنوان مثال: 1، 2 یا 5).

محدوده اعداد صحیح غیر منفی "عدد اول .. عدد دوم" (به عنوان مثال: 1..5، 2..10 یا 0..5).

محدوده ای از اعداد از یک مقدار اولیه خاص تا یک "نخستین عدد .. *" نهایی دلخواه (به عنوان مثال: 1 .. *، 5 .. * یا 0 .. *).

شمارش اعداد صحیح غیر منفی و محدوده های جدا شده با کاما (به عنوان مثال: 1، 3..5، 10، 15 .. *).

اگر تعدد مشخص نشده باشد، مقدار آن 1 در نظر گرفته می شود. تعدد نمونه های موجود در وابستگی، تعمیم و اجرا همیشه 1 فرض می شود.

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

جدول 11.4. مکانیسم های گسترش

نام تعیین تعریف (معناشناسی)
کلیشه
(کلیشه)
« » تعیینی که معنای یک عنصر نمادگذاری را مشخص می کند (به عنوان مثال: یک وابستگی با کلیشه "شامل" یک رابطه شامل در نظر گرفته می شود، و یک کلاس با یک کلیشه "مرز" یک کلاس مرزی است)
وضعیت نگهبانی
(شرایط نگهبانی)
شرط بولی (به عنوان مثال: یا [شناسایی تکمیل شد])
محدودیت
(محدودیت)
{ } قانون محدود کننده معنایی عنصر مدل (به عنوان مثال، (زمان اجرا کمتر از 10 میلی ثانیه))
ارزش برچسب گذاری شده
(برچسب ارزش)
{ } ویژگی جدید یا واجد شرایط یک عنصر نشانه گذاری (به عنوان مثال: (نسخه = 3.2))

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

الف) تعیین استاندارد ب) تعیین استاندارد
با کلیشه متن
ج) کلیشه گرافیکی

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

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

جدول 11.5. نمودارها

نمودار وقت ملاقات
با درجه تحقق فیزیکی با نمایش دینامیک با جنبه نمایش داده شده

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

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

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

(ماشین دولتی)
وضعیت یک موجودیت و انتقال بین آنها را در طول چرخه عمر آن نشان می دهد منطقی پویا رفتاری

(فعالیت)
نمایش فرآیندهای تجاری در سیستم (توضیح الگوریتم های رفتار)
فعل و انفعالات
(اثر متقابل)

(توالی)
توالی ارسال پیام بین اشیا و بازیگران را نمایش می دهد

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

(جزء)
اجزای سیستم (برنامه ها، کتابخانه ها، جداول و غیره) و پیوندهای بین آنها را نمایش می دهد فیزیکی استاتیک مولفه

(گسترش)
محل قرارگیری کامپوننت ها توسط هاست و همچنین پیکربندی آن را نمایش می دهد

استاندارد UML 2.x همچنین نمودارهای اضافی و بسیار تخصصی را تعریف می کند:

نمودار شی مشابه است، اما اشیاء به جای کلاس ها نمایش داده می شوند.

نمودار زمان - وضعیت یک شی را در طول زمان توصیف می کند.

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

نمودار نمایه - شبیه به شرح کلاس های موجود در آنها.

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

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

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

جدول 11.6. پیوند دادن مدل ها و نمودارها

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

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

4. برای مفهوم "" تعریفی ارائه کنید.