UML توسط نمودارهایی ساختار و رفتار سیستم را نمایش می دهد.یک سیستم به صورت مجموعه ای از اشیای مجزا مدل میشود که برای رسیدن به هدف نهایی سیستم با یکدیگر تعامل دارند. نمودارهای UML نمایشگر دو دیدگاه مختلف از مدل سیستم هستند :
نمای ایستا (ساختاری) : این نما تاکید بر نمایش ساختار ایستای سیستم با استفاده از اشیا، ویژگی ها، عملیات و رابطهها دارد.نمودارهای ساختاری انواع اشیایی که برای سیستم و پیاده سازی آن اهمیت دارند و روابط بین اشیا را تصویر می کنند. "نمودار کلاس" از این دسته به شمار میرود.
- نمای پویا (رفتاری) : این نمایگاه تاکید برنمایش رفتار پویای سیستم با نشان دادن هماهنگی میان اشیا و تغییرات وضعیت داخلی اشیا دارد. به عنوان نمونه می توان از نمودار توالی و یا نمودار فعالیت نام برد. UML 2.2 ، چهارده گونه نمودار مختلف دارد که به دو دسته اصلی تقسیم می شوند. هفت نمودار برای نمایش اطلاعات ساختاری و هفت نمودار دیگر برای نمایش رفتار و برهم کنشها استفاده می شوند.
نمودارهای ساختاری (Structural Diagrams) :
نمودارهای ساختاری بر روی چیزهای که باید در سیستم مورد نظر شده موجود باشند، تاکید دارد. از آنجا که این نمودارها ساختار را نمایش می دهند، کاربرد گسترده ای در مورد معماری سیستمهای نرم افزاری دارند.
- · نمودار کلاس (Class Diagram) : ساختار سیستم را بوسیله نمایش کلاسها، خصوصیات کلاسها و روابط بین آنها توصیف میکند.
- · نمودار مولفه (Component diagram) : چگونگی تقسیم سیستم به مولفههای آن و وابستگی بین مولفههای سیستم را توصیف میکند.
- · نمودار ساختار مرکب (Composite Structure Diagram) : ساختار داخلی کلاسها و هماهنگی هایی که ممکن می سازند را توصیف میکند.
- · نمودار به کارگیری (Deployment Diagram) : سخت افزار بکار رفته در پیاده سازی سیستم و همچنین محیطهای اجرا و سایر اجزایی که باید بر روی این سخت افزار قرار گیرند را توصیف می کند.
- · نمودار شی (Object Diagram) : نمایشگر یک دید کامل یا جزیی از ساختار سیستم مدل شده در یک زمان مشخص است.
- · نمودار بسته بندی (Package Diagram) : چگونگی تقسیم سیستم به گروه بندیهای منطقی را با نمایش وابستگیها بین این گروه بندیها توصیف میکند.
- · نمودار پروفایل (Profile Diagram)
نمودارهای رفتاری (Behavior diagrams) :
نمودارهای رفتاری بر چیز هایی که باید در سیستم مدل شده اتفاق بیفتد تاکید دارند. از آنجا که این نمودارها نمایشگر رفتار سیستم هستند به گستردگی برای توصیف کارکردهای سیستم نرم افزاری به کار می روند.
- · نمودار فعالیت (Activity Diagram) : نمودار فعالیت برای توصیف قدم به قدم گردش کار تجاری و عملیاتی مولفههای سیستم استفاده می شود. نمودار فعالیت توصیف کننده گردش کنترل در سرتاسر سیستم است.
- · نمودار ماشین وضعیت (UML State Machine Diagram) : این نمودار برای نمایش وضعیتهای مختلف سیستم و انتقال بین وضعیتها را نمایش می دهد.
- · نمودار مورد کاربرد (Use Case Diagram) : کارکرد ارائه شده توسط یک سیستم را در قالب بازیگران (Actor) واهداف آنها که به صورت مورد کاربرد نمایش داده می شوند و وابستگی بین موردهای کاربرد، مدلسازی می کند.
نمودارهای برهمکنش (Interaction Diagrams) :
نمودارهای بر هم کنش زیر مجموعه ای از نمودارهای رفتاری هستند که بر گردش کنترل و دادهها بین چیزهای مختلف در سیستم مدل شده تاکید دارند.
- · نمودار ارتباطات (Communication Diagram) : بر همکنش بین اشیا و یا اجزا را در قالب توالی پیامهای مبادله شده نمایش می دهد. این نمودار نمایانگر ترکیبی از اطلاعات به دست آمده از نمودارهای کلاس، توالی و مورد کاربرد است و هر دوی ساختار ایستا و رفتار پویای سیستم را توصیف می کنند.
- · نمودارکلی برهمکنش (Interaction Overview Diagram) : یک دید کلی ارائه می دهد که در آن گرهها نمایانگر نمودارهای بر همکنش هستند.
- · نمودار توالی (Sequence Diagram) : نشان می دهد که اشیا چگونه با یکدیگر در قالب پیامهایی متوالی ارتباط بر قرار می کنند و همچنین نمایشگر طول عمر اشیا نسبت به این پیامها می باشد.
- · نمودارهای زمانبندی (Timing Diagrams) : گونه ویژه ای از نمودارهای بر هم کنش هستند که بر روی محدودیتهای زمانبندی تمرکز دارند.
انتقادها :
اگرچه UML زبانی استاندارد شده و محبوب برای مدلسازی است اما انتقادهایی نیز به آن وارد می شود :
- حجم بالای استانداردهای مورد استفاده : یکی از انتقادات اساسی به UML در مورد حجم بالای استانداردهای مورد استفاده در این زبان است. UML شامل بسیاری از نمودارها و ساخت هایی است که یا اضافی هستند و یا به ندرت مورد استفاده قرار می گیرند. ایوار یاکوبسون (Ivar Jacobson)، یکی از طراحان UML، می گوید که اعتراضاتی که به اندازه UML 2 میشود به اندازه کافی معتبر هستند که باعث شوند استفاده از عاملهای هوشمند را برای حل مسئله در نظر بگیریم.
- مشکل آموزش و به کار گرفتن UML : حجیم بودن UML یادگیری و استفاده از آن را به ویژه برای مهندسینی که مهارتها و دانش پیش نیاز آن را ندارند مشکل می سازد. در اغلب موارد افراد نمودارها را با استفاده از سمبلهای در دسترس در ابزارهای UML طراحی می کنند، بی آنکه بدانند این سمبلها به چه منظوری بوجود آمده اند.
- عدم تطابق بین قابلیتهای UML و قابلیتهای زبانهای پیاده سازی : همانند سایر سیستمهای نشان گذاری، UML برخی از سیستمها را مختصر تر و موثر ترازبقیه سیستمها نمایش می دهد. بنابراین یک تولید کننده نرم افزار به سمت راه حلهایی کشیده میشود که در فصل مشترک تواناییهای UML و زبان پیاده سازی قرار می گیرند. این مشکل در مورد زبانهای پیاده سازی که سازگاری کاملی با دکترین طراحی شی گرا ندارند نمایان تر است زیرا فصل مشترک فابلیتهای این زبانها با UML کوچک تر است.
تعدادی از متخصصین مدلسازی انتقادهای تندی را متوجه این زبان کرده اند که از آن جمله می توان به افراد زیر اشاره کرد :
- · برتراند مه یر (Bertrand Meyer) در مقاله ای با عنوان "UML: چرخش مثبت"
- · "برایان هندرسون - سلرز و سزار گونزالز - پرز" در مقاله "استفاده و سوء استفاده از مکانیسم کلیشه در UML 1 & 2"
-
- تعداد بازدید: 3631
- تاریخ انتشار: يكشنبه 26 تیر 1390 ساعت 23:28