نمودارهای ساختار Uml. نمودارهای UML

صفحه اصلی / خرابی ها

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

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

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

· نمودار کلاس - برای مدل سازی ساختار استاتیک کلاس های سیستم و اتصالات بین آنها.

· نمودارهای رفتاری سیستم.

· نمودارهای تعامل.

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

· کاربران؛

· سیستم ها

· سیستم های دیگر در تعامل با این.

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

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

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

· ارتباط

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

· تمدید (بسط)

· تعمیم.

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

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

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

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

شکل 5. مثالی از رابطه شمول و بسط

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

شکل 6. مثال پیوند تعمیم

4.3.



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4.4.1. اطلاعات عمومی

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

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

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

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

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

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

4.4.2. کلاس

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

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

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

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

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

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

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

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

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

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

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

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

مرز (مرز)؛

نهاد (نهاد)؛

کنترل کنید.

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

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

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

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

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

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

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

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

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

4.4.2.5.صفات

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

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

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

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

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

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

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

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

4.4.2.6.عملیات

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

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

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

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

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

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

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

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

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

عملیات کمکی

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

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

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

عملیات کنترل

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

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

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

عملیات کمکی

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

برای شناسایی تراکنش ها، مراحل زیر را دنبال کنید:

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

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

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

4.4.2.7.اتصالات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

چرا به چندین نوع نمودار نیاز دارید

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

انواع نمودار

UML 1.5 تعریف شده است دوازده نوع نمودار، به سه گروه تقسیم می شود:

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

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

با این حال، تعداد دقیق نمودارهای متعارفبرای ما کاملاً بی اهمیت است، زیرا ما نه همه آنها، بلکه فقط برخی را در نظر خواهیم گرفت - به این دلیل که تعداد انواع نمودار برای یک مدل خاص از یک برنامه خاص به شدت ثابت نیست. برای کاربردهای ساده نیازی به ساخت هر نمودار نیست. به عنوان مثال، برای یک برنامه محلی، نیازی به ساخت یک نمودار استقرار نیست. درک این نکته مهم است که لیست نمودارها به مشخصات پروژه در حال توسعه بستگی دارد و توسط خود توسعه دهنده تعیین می شود. اگر خواننده کنجکاو همچنان بخواهد در مورد تمام نمودارهای UML بداند، او را به استاندارد UML ارجاع می دهیم (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML). یادآور می‌شویم که هدف از این دوره توصیف مطلق تمام قابلیت‌های UML نیست، بلکه تنها معرفی این زبان و ارائه یک ایده اولیه از این فناوری است.

بنابراین، ما به طور خلاصه به انواع نمودارهایی مانند:

  • نمودار مورد استفاده;
  • نمودار کلاس؛
  • نمودار شی;
  • نمودار توالی؛
  • نمودار تعامل؛
  • نمودار حالت؛
  • نمودار فعالیت;
  • نمودار استقرار.

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

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

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

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

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

یک خواننده با دقت ممکن است بلافاصله بپرسد: چرا بازیگر و نه بازیگر? ما موافقیم، کلمه "ektor" در گوش مردم روسیه کمی تند است. دلیل اینکه ما این را می گوییم ساده است - ector از این کلمه گرفته شده است اقدام، که ترجمه شده است اقدام. ترجمه تحت اللفظی کلمه "ector" است شخصیت- بیش از حد طولانی و ناخوشایند برای استفاده. بنابراین، ما به این روش ادامه خواهیم داد.


برنج. 2.1.

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

مورد استفاده- توصیف یک جنبه جداگانه از رفتار سیستم از دیدگاه کاربر (Butch).

تعریف کاملاً واضح و جامع است، اما با استفاده از همان می توان آن را بیشتر توضیح داد مربی زیکام"om:

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

پیشینه ها به روشی بسیار ساده - به شکل یک بیضی که نام آن در داخل آن مشخص شده است - تعیین می شود. موارد استفاده و بازیگران با استفاده از خطوط به هم متصل می شوند. اغلب یک شکل در یک انتهای خط کشیده می شود. 2.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 (Unified Modeling Language) یک زبان توصیفی گرافیکی برای مدل‌سازی شی در زمینه توسعه نرم‌افزار است. UML یک زبان عمومی است، یک استاندارد باز که از نمادهای گرافیکی برای ایجاد یک مدل انتزاعی از یک سیستم استفاده می کند که مدل UML نامیده می شود. UML برای تعریف، تجسم، طراحی و مستندسازی در درجه اول سیستم های نرم افزاری ایجاد شده است. UML یک زبان برنامه نویسی نیست، اما تولید کد در ابزاری برای اجرای مدل های UML به عنوان کد تفسیر شده امکان پذیر است.ویکی پدیا

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

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

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

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

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

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

    %0A

    Microsoft%20Visual%20Studio%202010

    %0A

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

    %0A

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

    %0A

    %D0%9F%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B3%D0%B5%D0%BD %D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20Sequence%20Diagram%20%D0%BD%D0%B0 %20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BA%D0%BE%D0 %B4%D0%B0,%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80% D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B8%20%D0%B2%20% D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83% 20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8، %20%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%81%D1%81 %D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20%D1%82.%D0%B4.

    %0A

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

    %0A%0A

    %D0%9A%D1%80%D0%BE%D0%BC%D0%B5%20%D1%82%D0%BE%D0%B3%D0%BE،%20%D0%B4%D0%BE% D1%81%D1%82%D1%83%D0%BF%D0%B5%D0%BD%20Visualization%20and%20Modeling%20Feature%20Pack%20(%D0%B4%D0%BB%D1%8F%20 %D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20MSDN)،%20 %D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE %D0%BB%D1%8F%D0%B5%D1%82:

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

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

    IBM Rational Rose

    امکانات:

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

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

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

    StarUML

    امکانات:

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

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

    نمودار کلاس:

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

    ArgoUML

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

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

    امکانات:

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

    اسکرین شات:

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