UML چیست؟
UML مخفف زبان مدلسازی یکپارچه است که یک زبان مدلسازی استاندارد شده است و شامل مجموعهای از 14 نوع مختلف نمودار UML میباشد.
چرا از UML استفاده کنیم؟
با استفاده از UML، طراحی کل نرمافزار قبل از توسعه نرمافزار آسانتر خوانده و درک میشود و در نتیجه ریسکهای توسعه کاهش مییابد. همچنین، ارتباط بین توسعهدهندگان مختلف را تسهیل میکند.
UML یک زبان مدلسازی بسیار بیانگر فراهم میکند که به افراد مختلف در فرآیند توسعه نرمافزار اجازه میدهد اطلاعات مورد علاقه خود را دریافت کنند.
اهداف اصلی UML را میتوان به صورت زیر خلاصه کرد:
- فراهم کردن یک زبان مدلسازی بصری آماده و بیانگر برای کاربران تا بتوانند مدلهای معنادار را در یک تلاش تیمی مشترک توسعه و ارتباط برقرار کنند.
- مکانیزمهای گسترش و تخصصیسازی برای مفاهیم اصلی فراهم میکند.
- مستقل از یک زبان برنامهنویسی خاص و فرآیند توسعه.
- یک بنیاد رسمی برای درک زبانهای مدلسازی فراهم میکند.
- توسعه بازار ابزارهای شیگرا را تشویق میکند.
- پشتیبانی از مفاهیم توسعه در سطوح بالاتر مانند همکاری، چارچوبها، الگوها و مؤلفهها.
- ادغام بهترین شیوهها.
نمودارهای UML چیستند؟
- نمودارهای UML به نمودارهای ساختاری و نمودارهای رفتاری تقسیم میشوند.
- نمودارهای ساختاری به نمودارهای کلاس، نمودارهای پروفایل، نمودارهای مؤلفه، نمودارهای ساختار ترکیبی، نمودارهای شی، نمودارهای استقرار و نمودارهای بسته تقسیم میشوند.
- نمودارهای رفتاری به نمودارهای فعالیت، نمودارهای مورد استفاده، نمودارهای ماشین حالت و نمودارهای تعامل تقسیم میشوند.
- نمودارهای تعامل به نمودارهای توالی، نمودارهای توالی، نمودارهای ارتباط و نمودارهای نمای کلی تعامل تقسیم میشوند.
14 نوع نمودار UML
- نمودار کلاس – یک نمودار کلاسنموداری ایستا است که ساختار یک سیستم را با نشان دادن کلاسها و ویژگیها و عملیات آنها و همچنین روابط بین اشیاء توصیف میکند.
- نمودار مورد استفاده – یک نمودار مورد استفادهشامل موارد استفاده، نقشها و روابط بین آنها است. این نمودار نشان میدهد که کاربران چگونه با سیستم تعامل دارند و مشخصات موارد استفاده را تعریف میکند.
- نمودار توالی – یک نمودار توالیمدلی برای ارتباط بین اشیاء به صورت توالی است. این نمودار ترتیب دقیق اشیاء، کلاسها و نقشها و اطلاعات مربوط به یک سناریو را نشان میدهد. شامل خطوط عمودی متعلق به خطوط حیات و خطوط افقی پیامها است.
- نمودار فعالیت – یک نمودار فعالیتنمودار رفتاری است که یک سناریو را از نظر جریان اقدامات نشان میدهد. این نمودار یک توالی از اقدامات، تصمیمات مبتنی بر شرایط، شاخههای همزمان و حلقههای مختلف را مدلسازی میکند.
- نمودار ارتباط – یک نمودار ارتباطنشاندهنده تعامل بین اشیاء و اجزاء به صورت پیامها است که توسط خطوط حیات نمایش داده میشوند. نمودار ارتباط یک فرم اصلاح شده از نمودار توالی UML است، اما از آن متفاوت است زیرا عناصر آن نیازی به ترتیب افقی ندارند و میتوانند در هر موقعیتی در نمودار قرار گیرند.
- نمودار ماشین حالت – یک نمودار ماشین حالتوضعیت یک موجودیت (دستگاه، فرآیند، برنامه، نرمافزار، ماژول و غیره) و انتقالات بین حالات را توصیف میکند. شرایط مشخص میکند که چه زمانی میتوان از یک انتقال از یک حالت به حالت دیگر استفاده کرد.
- نمودار شی – یک نمودار شینمودار ساختاری UML است. این نمودار یک سیستم یا اجزای آن را در یک زمان خاص توصیف میکند. نمونهها، مقادیر و روابط آنها را مدلسازی میکند. میتوان از آن برای نشان دادن مثالهایی از ساختارهای داده استفاده کرد.
- نمودار بسته – یک نمودار بستهنشاندهنده وابستگیها بین بستهها در یک مدل است. ساختار و سازمان پروژههای بزرگ را توصیف میکند.
- نمودار مؤلفه – یک نمودار مؤلفهنمایی از یک سیستم پیچیده فراهم میکند. این نمودار رابطهای ارائه شده و/یا مورد نیاز توسط اجزای مختلف سیستم و روابط بین آنها را توصیف میکند. این اجزا توسط مؤلفهها و دیگر آثار نمایانده میشوند.
- نمودار استقرار – نمودار استقرارتوسعه آثار بر روی یک گره شبکه را توصیف میکند. برای نشان دادن موقعیت آثار (نرمافزار، سیستمها، ماژولها و غیره) بر روی گرههای فیزیکی (سختافزار، سرورها، پایگاههای داده و غیره) و روابط بین اجزای خاص راهحل استفاده میشود.
- نمودار ساختار ترکیبی – نمودار ساختار ترکیبینشاندهنده ساختار داخلی یک طبقهبندیکننده، اجزای آن و پورتهایی است که از طریق آن با محیط خود ارتباط برقرار میکند. این نمودار همکاری را مدلسازی میکند، جایی که هر عنصر نقش تعریف شده خود را دارد.
- نمای کلی تعامل – نمودار نمای کلی تعاملنمایی سطح بالا از تعاملات در یک سیستم یا زیرسیستم فراهم میکند. این نمودار فرآیندها را به روشی مشابه با نمودارهای فعالیت توصیف میکند، اما از نمودارهای تعامل و ارجاعات تعامل به جای گرههای عمل استفاده میکند.
- نمودارهای زمانبندی – نمودار زمانبندیبه طور عمده بر زمان تمرکز دارد و تغییرات در طبقهبندیکننده را در یک خط زمانی توصیف میکند. خطوط زمانی به صورت عمودی چیده شدهاند و زمان از چپ به راست افزایش مییابد.
- پروفایل – نمودار پروفایلتوصیف و تعریف گسترشها به زبان UML است. مکانیزم گسترش به شما اجازه میدهد زبان را به یک دامنه یا پلتفرم خاص سازگار کنید. گسترشها با استفاده از نوعگذاری تعریف میشوند.
نمودار کلاس چیست؟
نمودار کلاس ابزار مدلسازی اصلی تمام روشهای شیگرا است. نمودارهای کلاس انواع اشیاء در سیستم و روابط ایستا مختلفی که بین آنها وجود دارد را توصیف میکنند. از آن برای نمایش کلاسها، رابطها و ساختارها و روابط ایستا بین آنها استفاده میشود.
- عمومیسازیرابطهای است که یک رابطه وراثتی را نشان میدهد و بیان میکند که یک زیرکلاس تمام ویژگیها و رفتارهای کلاس والد را به ارث میبرد. خطی ممتد با یک پیکان مثلثی، پیکان به کلاس والد اشاره میکند.
- تحقق رابطهای است بین یک کلاس و یک رابط، که نشان میدهد کلاس پیادهسازی تمام ویژگیها و رفتارهای رابط است.خطی نقطهچین با یک پیکان مثلثی، پیکان به رابط اشاره میکند.
- همپیوندیرابطهای است که یک رابطه مالکیتی را نشان میدهد و به یک کلاس اجازه میدهد ویژگیها و متدهای کلاس دیگر را بشناسد.خطی ممتد با یک پیکان معمولی به مالک اشاره میکند.همپیوندیهای دوطرفه میتوانند دو پیکان داشته باشند یا هیچ پیکانی نداشته باشند.یک همپیوندی یکطرفه دارای یک پیکان است.
- تجمعرابطهای است بین یک کل و یک جزء. و جزء میتواند به طور جداگانه از کل وجود داشته باشد. رابطه تجمع نوعی رابطه همپیوندی است و یک رابطه همپیوندی قوی است؛ همپیوندی و تجمع از نظر دستوری قابل تمایز نیستند و باید روابط منطقی خاصی مورد بررسی قرار گیرند. خطی ممتد با الماسهای توخالی، الماسهای توخالی به کل اشاره میکنند.
- ترکیبرابطهای است بین یک کل و یک جزء. اما جزء نمیتواند به طور مستقل از کل وجود داشته باشد. این یک نوع رابطه همپیوندی است که از رابطه تجمع قویتر است. خطی ممتد با یک الماس ممتد که به کل اشاره میکند.
- وابستگیرابطهای است که یک رابطه استفادهای است، یعنی پیادهسازی یک کلاس نیاز به کمک کلاس دیگری دارد. این یک خط نقطهچین با پیکانهای معمولی است که پیکانهای معمولی به کاربر اشاره میکنند.
نمودار مورد استفاده چیست؟
نمودار مورد استفاده نمایی است که عملکرد یک سیستم متشکل از بازیگران، موارد استفاده، مرزها و روابط آنها را توصیف میکند. از آن برای توصیف عملکرد کل سیستم استفاده میشود.
نمودار مورد استفاده شامل سه رابطه زیر است:
- رابطه شامل از نماد «شامل» استفاده میکند. اگر میخواهید لیست سفارشات را مشاهده کنید، ابتدا باید وارد شوید.
- رابطه گسترش از نماد «گسترش» استفاده میکند. بر اساس عملکرد جستجوی لیست سفارشات، میتوان یک عملکرد برای صادرات دادهها اضافه کرد.
- رابطه عمومیسازی، مورد استفاده فرزند تمام ساختار، رفتار و رابطه مورد استفاده والد را به ارث میبرد.
نمودار توالی چیست؟
- نمودار توالی نشان میدهد که اشیاء چگونه بر اساس یک سری زمانی همکاری میکنند. این نمودار نشان میدهد که اشیاء چگونه با دیگر اشیاء در یک سناریوی خاص از یک مورد استفاده تعامل دارند. این نمودار همکاری پویا بین چندین شیء را با توصیف توالی زمانی پیامهای ارسال شده بین اشیاء نشان میدهد.
نمودار فعالیت چیست؟
نمودار فعالیت فرآیند پیادهسازی موارد استفاده تجاری خاص را توصیف میکند. این نمودار برای نمایش جریان کار تجاری یا تحقق مورد استفاده به کار میرود.
نمودار ارتباطات چیست؟
نمودار ارتباطات رابطه سازمانی اشیاء که پیامها را ارسال و دریافت میکنند توصیف میکند و بر رابطه همکاری بین اشیاء به جای ترتیب زمانی تأکید میکند. این نمودار برای نمایش رابطه بین اشیاء مختلف به کار میرود.
نمودار ماشین حالت چیست؟
نمودار ماشین حالت رفتار یک شیء واحد را مدلسازی میکند و ترتیب اجرای رویدادهای مرتبط در پاسخ به رویدادهای مختلف در طول چرخه حیات آن شیء را نشان میدهد. این نمودار برای نشان دادن اینکه شیء مشخص به حالتهای مختلف رویدادهای مختلف در طول چرخه حیات خود پاسخ میدهد، استفاده میشود.
نمودار شیء چیست؟
نمودار شیء یک نمونه از نمودار کلاس است و نمایی از وضعیت دقیق سیستم در یک نقطه خاص از زمان را نشان میدهد. این نمودار برای بیان رابطه بین دو یا چند شیء در یک لحظه خاص استفاده میشود.
نمودار بسته چیست؟
نمودار بسته، نوعی نمودار ساختاری، ترتیب و سازماندهی عناصر مدل را در پروژههای متوسط تا بزرگ نشان میدهد. این نمودار برای بیان وابستگیها بین بستهها و بستهها استفاده میشود.
نمودار مؤلفه چیست؟
نمودار مؤلفه رابطها، پورتها و غیره را که توسط مؤلفهها در سیستم ارائه و نیاز است توصیف میکند و همچنین رابطه بین آنها را نشان میدهد. این نمودار برای نمایش وابستگیها بین مؤلفهها استفاده میشود.
نمودار استقرار چیست؟
نمودار استقرار توصیف میکند که نرمافزار درون سیستم چگونه بر روی گرههای مختلف توزیع میشود. این نمودار برای نمایش رابطه نگاشت بین نرمافزار و سختافزار استفاده میشود.
نمودار ساختار ترکیبی چیست؟
نمودار ساختار ترکیبی ساختار داخلی یک «ساختار ترکیبی» و رابطه بین آنها را توصیف میکند. این «ساختار ترکیبی» میتواند بخشی از سیستم یا یک کل باشد. این نمودار برای نمایش «ساختار ترکیبی» منطقی در سیستم استفاده میشود.
نمودار نمای کلی تعامل چیست؟
نمودار نمای کلی تعامل مشابه نمودار فعالیت است زیرا سطح بالایی از انتزاع را برای یک مدل تعامل فراهم میکند. این نمودار یک نوع از نمودار فعالیت است که در آن گرهها تعاملات یا موقعیتهایی هستند که تعاملات در آنها رخ میدهد. این نمودار بر روی ترسیم جریان کنترل یک تعامل تمرکز دارد و میتواند جریان فعالیت بین نمودارها را نیز نشان دهد.
نمودار زمانبندی چیست؟
نمودار زمانبندی برای نشان دادن تغییرات در ارزش یا وضعیت یک یا چند عنصر در طول زمان استفاده میشود. همچنین تعاملات بین رویدادهای زمانبندی شده و محدودیتهای زمانی و مهلتهایی که آنها را کنترل میکند، نشان میدهد.نمایی که برای نمایش وضعیت یا ارزش یک عنصر که در طول زمان تغییر میکند، استفاده میشود.
نمودار پروفایل چیست؟
نمودار پروفایل یک مکانیزم گسترش عمومی برای سفارشیسازی مدلهای UML برای دامنهها و پلتفرمهای خاص فراهم میکند.این نمودار برای ساخت مدلهای UML در یک دامنه خاص استفاده میشود.
UML بزرگ و پیچیده است؟
UML واقعاً یک موضوع بزرگ است. UML حجم زیادی از نشانهگذاری نموداری را ارائه میدهد که به 14 نوع مختلف نمودار UML گروهبندی شده است، هر کدام با مدلهای مختلف UML که اهداف مختلفی را خدمت میکنند و به جنبههای مختلف نیازهای توسعه میپردازند.
- هر نمودار UML از 14 نوع نمودار UML مجموعه بزرگی از ساختارها و نشانهگذاریها را ارائه میدهد که نیازهای مختلف اکثر پروژههای توسعه نرمافزار را پوشش میدهد.
- مشخصات UML بیش از 700 صفحه دارد و به وضوح به عنوان بسیار پیچیده در نظر گرفته میشود و تأثیر منفی بر درک و پذیرش UML دارد.
- به طور معمول، کاربران تمایل دارند فقط بخشی از نمودارها/ساختارهای UML را در نظر بگیرند و استفاده کنند.
مهمترین نمودارها و نشانهگذاریهای UML را بیاموزید
گریدی بوچ، یکی از مهمترین توسعهدهندگان زبان مدلسازی یکپارچه، بیان کرد که «برای 80٪ از تمام نرمافزارها تنها 20٪ از UML نیاز است».
وضعیتهای نظرسنجی UML چیست؟
ما میتوانیم نتایج نظرسنجی UML را با فرض اینکه اگر یک نمودار
- به طور گستردهای استفاده میشود، اگر ≥ 60٪ از منابع باشد
- به ندرت استفاده میشود اگر ≤ 40٪ از منابع باشد
برنامه یادگیری UML خود را تهیه کنید
بر اساس ارقام جمعآوری شده در نظرسنجی، میتوانید ایده بهتری درباره چگونگی شروع سفر یادگیری UML خود با توسعه یک برنامه یادگیری معنیدار UML داشته باشید!
بیشتر
منابع زبان مدلسازی یکپارچه (UML):
- UML چیست؟
- چرا مدلسازی UML؟
- مروری بر 14 نوع نمودار UML
- نمودار همکاری UML چیست؟
- تفاوت ارتباط، تجمیع و ترکیب در UML
- آموزش نمودار کلاس UML
- چگونه محدودیتها را در UML مدلسازی کنیم؟
- نمودار ماشین حالت در مقابل نمودار فعالیت
- چگونه بازیگران را شناسایی کنیم؟
- انواع بازیگر در مدل مورد استفاده
- مدل-نما و کنترل چیست؟
- چگونه فریمورک MVC را با نمودار توالی UML مدلسازی کنیم؟
- UML – نمودار رفتاری در مقابل نمودار ساختاری
- مکانیزم گسترش UML چیست؟
- راهنمای عملی UML – هر آنچه باید درباره مدلسازی UML بدانید
- مدلسازی UML، فرآیند نرمافزار و ابزار
- UML – مدلسازی معماری نرمافزار با بستهها
- هر آنچه باید درباره نمودارهای حالت بدانید
This post is also available in English, Bahasa Indonesia, Polski and Việt Nam.