آواتار برای چیست؟

نوعی نمودار uml فعالیت ها هستند. ویژگی های عمومی زبان UML روابط در UML

من فکر می کنم همه در کودکی چنین ضرب المثلی شنیده اند که " هفت بار برش را یک بار اندازه بگیریددر برنامه نویسی هم همینطور است. همیشه بهتر است قبل از صرف زمان برای اجرای آن به پیاده سازی فکر کنید. اغلب باید در حین پیاده سازی کلاس هایی ایجاد کنید، تعامل آنها را ابداع کنید. و اغلب یک نمایش بصری از آن می تواند به حل مشکل در برنامه کمک کند. صحیح ترین راه کمک می کند 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

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

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

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

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

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

نمودار کلاس

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

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

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

نمودار مولفه

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

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

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

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

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

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

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

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

نمودار شی

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

نمودار بسته

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ارتباطات

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

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

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

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

نمودار توالی

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

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

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

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

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

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

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

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

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

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

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

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

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

ایرادات

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

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

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

10.4. نمودارهای UML

10.4.1. انواع نمودارهای بصری UML

UML به شما امکان می دهد چندین نوع نمودار بصری ایجاد کنید:

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

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

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

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

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

نمودارهای اجزاء؛

نمودارهای قرارگیری

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

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

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

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

نمودار تعاملات بین موارد استفاده و بازیگران را نشان می دهد. این نیازهای سیستم را از دیدگاه کاربر منعکس می کند. بنابراین، موارد استفاده عملکردهایی هستند که توسط سیستم انجام می شود و بازیگران در ارتباط با سیستم در حال ساخت سهامداران هستند. نمودارها نشان می‌دهند که کدام بازیگران موارد استفاده را تحریک می‌کنند. آنها همچنین زمانی را نشان می دهند که بازیگر اطلاعاتی از مورد استفاده دریافت می کند. در اصل، نمودار مورد استفاده می تواند الزامات سیستم را نشان دهد. در مثال ما، مشتری بانک موارد استفاده مختلفی را آغاز می کند: "برداشت پول از حساب"، "انتقال پول"، "افزودن پول به حساب"، "نمایش موجودی"، "تغییر شماره شناسایی"، "پرداخت". کارمند بانک می تواند پرونده استفاده از تغییر شماره شناسایی را آغاز کند. از گزینه Make Payment Use Case، یک فلش به سمت سیستم اعتباری وجود دارد. سیستم های خارجی نیز می توانند بازیگر باشند، در این مورد سیستم اعتباری دقیقاً به عنوان یک بازیگر نشان داده می شود - خارج از سیستم ATM است. فلشی که از مورد استفاده به بازیگر اشاره می کند نشان می دهد که مورد استفاده اطلاعاتی را در اختیار بازیگر قرار می دهد. در این مورد، مورد استفاده «پرداخت پرداخت» اطلاعات مربوط به پرداخت کارت اعتباری را در اختیار سیستم اعتباری قرار می دهد.

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

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

نمودارهای دنباله ای جریان رویدادهایی را که در یک مورد استفاده رخ می دهند را به تصویر می کشند. به عنوان مثال، مورد استفاده "برداشت پول" چندین توالی ممکن را ارائه می دهد: برداشت پول، تلاش برای برداشت پول در صورت عدم وجود مقدار کافی در حساب، تلاش برای برداشت پول با استفاده از شماره شناسایی نادرست و برخی موارد دیگر. . یک سناریوی عادی برای برداشت 20 دلار از یک حساب (در صورت عدم وجود چنین مشکلاتی مانند شماره شناسایی نادرست یا وجوه کافی در حساب) در شکل نشان داده شده است. 10.2.

شکل 10.2.نمودار دنباله ای برای برداشت مشتری جو به مبلغ 20 دلار از حساب خود

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

مورد استفاده زمانی شروع می شود که مشتری کارت خود را در خواننده قرار می دهد - این شی در مستطیل بالای نمودار نشان داده شده است. شماره کارت را می خواند، شیء Joe Account را باز می کند و صفحه ATM را مقداردهی اولیه می کند. صفحه از جو شماره ثبتش را می خواهد. مشتری شماره 1234 را وارد می کند. صفحه شماره موجود در شیء حساب جو را بررسی می کند و متوجه می شود که درست است. سپس صفحه یک منوی انتخابی را به جو نشان می دهد و جو "برداشت پول" را انتخاب می کند. صفحه از او می پرسد که چقدر می خواهد برداشت کند و جو 20 دلار را نشان می دهد. صفحه نمایش پول را از حساب حذف می کند. با انجام این کار، مجموعه ای از فرآیندهای انجام شده توسط شی حساب جو را آغاز می کند. در عین حال بررسی می شود که حداقل 20 دلار در این حساب وجود دارد و مبلغ مورد نیاز از حساب کسر می شود. سپس به صندوق دستور داده می شود که "یک چک و 20 دلار وجه نقد صادر کند." در نهایت، همان آبجکت Joe's Account به کارتخوان دستور می دهد تا کارت را برگرداند.

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

10.4.4. نمودارهای تعاونی

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

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

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

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

10.4.5. نمودارهای کلاس

نمودارهای کلاس، تعاملات بین کلاس ها را در یک سیستم منعکس می کنند. به عنوان مثال، "حساب جو" یک شی است. نوع چنین شیئی را می توان به طور کلی یک حساب در نظر گرفت، یعنی "Account" یک کلاس است. کلاس ها حاوی داده ها و رفتار (عملکردهایی) هستند که بر آن داده ها تأثیر می گذارد. به عنوان مثال، کلاس Account شامل شماره شناسایی مشتری و اقداماتی است که آن را تأیید می کند. در یک نمودار کلاس، یک کلاس برای هر نوع شی از نمودارهای توالی یا نمودارهای تعاونی ایجاد می شود. نمودار کلاس برای مورد استفاده از برداشت پول در شکل 4-2 نشان داده شده است. 10.4.

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

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

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

10.4.6. نمودارهای حالت

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

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

برنج. 10.5.نمودار حالت برای کلاس حساب

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

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

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

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

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

نمودارهای حالت عمدتاً برای اهداف مستندسازی مورد نیاز است.

10.4.7. نمودارهای اجزاء

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

در شکل 10.6 یکی از نمودارهای اجزای یک سیستم خودپرداز را نشان می دهد. این نمودار اجزای یک کلاینت سیستم خودپرداز را نشان می دهد. در این مورد، تیم توسعه تصمیم گرفت سیستم را با استفاده از زبان C ++ بسازد. هر کلاس دارای فایل هدر و فایل با پسوند خود است. CPP به طوری که هر کلاس به اجزای خود در نمودار نگاشت می شود. جزء تاریک برجسته نامیده می شود مشخصات بستهو مربوط به فایل بدنه کلاس ATM در C ++ (فایل با پسوند .CPP) است. یک مؤلفه انتخاب نشده مشخصات بسته نیز نامیده می شود، اما با فایل هدر کلاس C ++ (فایل با پسوند .H) مطابقت دارد. جزء ATM. exe یک مشخصات برای یک کار است و جریان پردازش اطلاعات را نشان می دهد. در این مورد، یک رشته پردازش یک برنامه اجرایی است.

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

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

برنج. 10.6.نمودار مولفه

10.4.8. نمودارهای قرارگیری

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

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

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

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

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

از کتاب مایکروسافت آفیس نویسنده لئونتیف ویتالی پتروویچ

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

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

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

برگرفته از کتاب کار اداری موثر نویسنده پتاشینسکی ولادیمیر سرگیویچ

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

از کتاب کار اکسل. دوره چند رسانه ای نویسنده مدینوف اولگ

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

از کتاب آموزش محبوب Word 2007 نویسنده کراینسکی I

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

برگرفته از کتاب راهنمای کار با کامپیوتر خودآموزی نویسنده کولیسنیچنکو دنیس نیکولایویچ

6.6. نمودارها علاوه بر فایل های گرافیکی، می توانید نمودارها را در اسناد Word وارد کنید. با کمک نمودارها، می توانید داده های عددی را تجسم کنید، به عنوان مثال، نحوه تغییر داده ها را ردیابی کنید، توسعه یک پروژه را به صورت پویا ببینید. نمودارها شبیه هم می شوند

برگرفته از کتاب آنالیز و طراحی شی گرا با مثال های کاربردی C ++ نویسنده بوچ گریدی

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

برگرفته از کتاب فناوری های برنامه نویسی نویسنده Kamaev VA

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

برگرفته از کتاب مدلسازی فرآیندهای کسب و کار با BPwin 4.0 نویسنده مالاکوف سرگئی ولادیمیرویچ

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

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

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

از کتاب VBA برای Dummies نویسنده کامینگز استیو

10.4. نمودارهای UML 10.4.1. انواع نمودارهای بصری UMLUML به شما امکان می دهد چندین نوع نمودار بصری ایجاد کنید: از نمودارهای موردی استفاده کنید. نمودارهای دنباله ای؛ نمودارهای تعاونی؛ نمودارهای کلاس؛ نمودارهای حالت؛ نمودار

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

1.2.6. نمودار وایرفریم 1.2.26 یک مثال معمولی از یک نمودار تجزیه با جعبه های مرزی را نشان می دهد که نمودار سیمی نامیده می شود. برنج. 1.2.26. مثالی از نمودار تجزیه با Wireframe یک Wireframe شامل یک هدر (بالای کادر) و یک پاورقی (پایین) است.

از کتاب نویسنده

نمودارهای زمان بندی برای دریافت نمودارهای زمان بندی ولتاژ ورودی و خروجی، باید فایل ورودی را کمی تغییر دهید. مانند مثال قبلی، از یک ولتاژ ورودی سینوسی استفاده خواهد شد: Vi 1 0 sin (0 0.5V 5kHz) همراه با تحلیل گذرا

از کتاب نویسنده

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

از کتاب نویسنده

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

از کتاب نویسنده

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

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

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

در یادداشت از مطالب کتاب استفاده شده است: Ivanov D. Yu., Novikov F. A. Unified Modeling Language UMLو لئوننکوف آموزش UML.

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

مستقر شدم UMlet، آن را در زیر قرار دهید آرچ لینوکسو اوبونتو:

# برای Arch Linux yaourt -S umlet # برای Ubuntu sudo apt-get install umlet

در UML، تمام موجودیت ها را می توان به انواع زیر تقسیم کرد:

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

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

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

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

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

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

V UML 2تعریف شده است 13 انواع نمودارها طبق استانداردها، هر نمودار باید یک جعبه با یک مستطیل (گوشه سمت راست پایین تراشیده شده) در گوشه بالا سمت چپ داشته باشد که نشان دهنده شناسه نمودار (برچسب) و عنوان است.

نمودارهایی برای به تصویر کشیدن ساختار سیستم:

  • نمودار مؤلفه (برچسب جزء);
  • نمودار استقرار (برچسب گسترش);
  • نمودار کلاس (نمودار کلاس، برچسب کلاس);
  • نمودار شی (برچسب هدف - شی);
  • نمودار ساختار داخلی (نمودار ساختار ترکیبی، برچسب کلاس);

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

  • نمودار تعامل (برچسب زمان سنجی);
  • نمودار فعالیت (برچسب فعالیت);
  • نمودار توالی (برچسب SD);
  • نمودار ارتباطی (برچسب کام);
  • نمودار ماشین حالت (برچسب ماشین حالت);
  • تگ نمودار نمای کلی تعامل اثر متقابل);

نمودارها از هم جدا می شوند:

  • نمودار استفاده (نمودار مورد استفاده، برچسب مورد استفاده)؛
  • نمودار بسته (برچسب بسته بندی);

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

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

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

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

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

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

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

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

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

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

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

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

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

نمودار کلاس

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

نمودار توالی

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

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

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

انواع پیام های احتمالی (تصویر گرفته شده از larin.in):

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

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

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

نمودار مولفه

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

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

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

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

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

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

نمودار شی

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

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

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

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

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

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

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

نمودار بسته

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

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

مدل رابطه نهادی (ER-model)

آنالوگ نمودارهای کلاس(UML) شاید مدل ER، که در طراحی پایگاه های داده (مدل رابطه ای) استفاده می شود.

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

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

مفاهیم اساسی:

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

مجموعه نهاد(مجموعه نهاد) - مجموعه ای از موجودات از همان نوع (با ویژگی های یکسان).

ارتباط(رابطه) ارتباطی است که بین چندین موجودیت ایجاد می شود.

دامنه(دامنه) - مجموعه ای از مقادیر (حوزه) یک ویژگی.

سه نوع پیوند باینری وجود دارد:

  • یک به یک- یک نمونه واحد از یک موجودیت یک کلاس با یک نمونه واحد از یک موجودیت کلاس دیگر مرتبط است، به عنوان مثال، HEAD - DEPARTMENT.
  • 1 تا Nیا یک به بسیاری- یک نمونه واحد از یک موجودیت یک کلاس با بسیاری از نمونه های موجودیت یک کلاس دیگر مرتبط است، به عنوان مثال، DEPARTMENT - EMPLOYEE.
  • N به Mیا بسیاری از بسیاری- بسیاری از نمونه های یک موجودیت یک کلاس با بسیاری از نمونه های موجودیت یک کلاس دیگر مرتبط هستند، به عنوان مثال، EMPLOYEE - PROJECT.
  • واژه نامه مفاهیم اساسی UML

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

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

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

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

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

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

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

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

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

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

    عمل- محاسبات اتمی اولیه

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

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

    خواندن اضافی

    • فاولر M. UML. مبانی، ویرایش سوم
    • بوچ جی.، رامبو دی.، جاکوبسون I. UML. راهنمای کاربر

حاشیه نویسی: موضوع این دوره UML - Unified Modeling Language است. در سخنرانی قبلی، در مورد اینکه 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 استفاده می کنیم. مربی زیکام:

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

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

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


برنج. 2.1.

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

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

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

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

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

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