یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی
🎯 ثبت نام

آموزش نمودارهای رایج در UML

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

در فصل های پیشین درباره ی اجزای بنیادین و دیگر المان های ضروری UML بحث کردیم. حال می بایست بیاموزیم از المان های نام برده در کجا استفاده کنیم.
المان ها مانند Component هایی هستند که می توانند به شیوه های مختلف به یکدیگر متصل شده و یک تصویر کامل را شکل دهند که درنهایت تحت عنوان نمودار یا دیاگرام شناخته می شود. بنابراین درک نمودارهای مختلف برای پیاده سازی دانش مورد نظر در سیستم های واقعی بسیار مهم می باشد.
برای فهم تمام سیستم های پیچیده، نیاز به تعدادی نمودار جامع داریم. این نمودارها کمک شایانی به درک ما می کند. بنابراین اگر به اطراف خود دقت کنیم، متوجه می شویم که نمودارها یک مفهوم جدید نیستند بلکه به شکل های مختلف و در زمینه های مختلف بکار می روند.
نمودارهای UML با این هدف ایجاد می گردند که درک و فهم عمیق تر و آسان تری از سیستم مورد نظر حاصل گردد. با این حال، این امکان وجود ندارد که تمامی جنبه های سیستم را در قالب یک نمودار تحت پوشش قرار داد. به این خاطر زبان مدل سازی UML چندین نوع نمودار ارائه می دهد که به واسطه ی آن ها می توان کلیه ی جنبه های یک سامانه ی پیچیده را تحت پوشش قرار داد.
شما می توانید مجموعه نمودارهای اختصاصی ایجاد نمایید و نیازهای خود را برطرف سازید. نمودارها طی فرایندی تکرارشونده و گام به گام ایجاد می شوند.
در کل دو دسته ی اصلی نمودار وجود دارد که این دو دسته خود به زیردسته هایی تقسیم می شوند:
1. نمودارهای ساختاری (structural diagrams)
2. نمودارهای رفتاری (behavioral diagrams)


نمودارهای ساختاری

نمودارهای ساختاری (به انگلیسی structural diagrams) جنبه های static سیستم مورد نظر را نمایش می دهد. جنبه های ایستا یا استاتیک سامانه درواقع نشانگر آن بخش هایی از یک نمودار است که ساختار اصلی و در نتیجه پایدار سیستم را تشکیل می دهد.
بخش های static توسط کلاس ها، interface ها، اشیا، component ها و node ها نمایش داده می شوند. در کل چهار نوع نمودار ساختاری داریم که در زیر فهرست شده:
1. نمودار کلاس (class diagram)
2. نمودار شی (object diagram)
3. نمودار اجزا (component diagram)
4. نمودار استقرار و توزیع (deployment diagram)


نمودار کلاس (class diagram)

نمودارهای کلاس، رایج ترین و پرکاربرد ترین نوع نمودار در UML تلقی می شوند. نمودار کلاس شامل کلاس ها، interface ها (رابط)، association ها و collaboration می باشد.
نمودارهای کلاس در اصل دید یا نمایه ی شی گرایی (object oriented view) یک سیستم که به ذات static هست (ماهیت آن ایستا است) را نمایش می دهد.
Active class در یک نمودار کلاس جهت نمایش همروندی (concurrency) در سیستم مورد نظر بکار می رود.
نمودار کلاس ذات شی گرای یک سیستم را نیز به تصویر می کشد. از این رو نمودار مزبور را معمولا برای توسعه بکار می روند. این نمودار همچنین پرکاربرد ترین نوع در زمان ساخت سیستم محسوب می شود.


نمودار شی (object diagram)

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


نمودار اجزا (component diagram)

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


نمودار استقرار و توزیع (Deployment Diagram)

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


توجه:

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


نمودارهای رفتاری (Behavioral Diagrams)

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


  1. نمودار مورد کاربرد (Use case diagram)
  2. نمودار توالی (sequence diagram)
  3. نمودار همکاری (collaboration diagram)
  4. نمودار حالت (Statechart)
  5. نمودار فعالیت (Activity diagram)

Use case diagram

نمودارهای موردکاربرد از use case ها، actor ها و رابطه ی آن ها تشکیل می شود. این دست نمودارها درواقع دید مورد کاربرد از یک سیستم را به تصویر می کشد. به عبارتی روشن تر؛ کارکرد ارائه شده توسط یک سیستم را در قالب actor و اهداف آنها که به صورت مورد کاربرد نمایش داده می‌شوند و وابستگی بین موردهای کاربرد را مدل سازی می کند.
منظور از use case، یک قابلیت (functionality = عملیاتی که سیستم قادر به انجام آن هاست) خاص از سیستم می باشد.
با استناد به آنچه گفته شد، نمودار use case رابطه ی بین قابلیت ها و کنترلگرهای داخلی/خارجی آن ها را توصیف می کند. این کنترلگرها در UML تحت عنوان actor شناخته می شوند.


Sequence diagram (نمودار توالی)

نمودار توالی (به انگلیسی sequence diagram) زیرمجموعه ی interaction diagram قرار می گیرد. بع عبارتی روشن تر؛ نمودار توالی یکی از نمودارهای Interaction می باشد که روندی در یک Use case را مرحله به مرحله نشان می دهد. همان طور که می توان از اسم آن فهمید، این نمودار با توالی سروکار دارد که از دنباله یا رشته ی پست سرهم از پیام ها که از یک شی به شی دیگر سرازیر می شوند (جریان دارند)، تشکیل می شود.
تعامل بین اجزای یک سیستم، به خصوص از دیدگاه اجرایی و پیاده سازی، بسیار مهم می باشد.
از این رو می توان گفت که sequence diagram جهت نمایش دنباله ای از فراخوانی ها در یک سیستم در راستای آماده سازی شرایط لازم برای اجرای عملیات خاص بکار می رود.


Collaboration diagram (نمودار همکاری)

نمودار همکاری فرم دیگری از یک interaction diagram را ارائه می کند. نمودار ذکر شده صورت و ترتیب ساختاری سیستم، همچنین پیام های فرستاده/دریافت شده را نمایش می دهد. صورت ساختاری از object ها و link ها تشکیل می شود.
نمودار همکاری شبهات بسیاری به نمودار توالی دارد ، اصلی ترین تفاوت آنها در شِمای ظاهری آنها می باشد. نمودار همکاری بیشتر بر روی رابطه بین اشیا تاکیید دارد، این درحالی است که یک نمودار توالی اعمال اشیا را در یک توالی زمانی نشان می دهد و بر حسب زمان تنظیم و مرتب می شود .
در نمودار همکاری دید و نمای متفاوتی از روند عملیات Use Case ارائه می شود. در این نمودار مشاهده ارتباط بین اشیا بسیار سهل تر است .


Statechart diagram (نمودار حالت)

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


Activity Diagram(نمودار فعالیت)

نمودار فعالیت برای توصیف و شرح گام به گام گردش یا جریان کار تجاری و عملیاتی component های سیستم استفاده می‌شود. نمودار فعالیت توصیفگر گردش کنترل در سرتاسر سیستم می باشد. بنابراین این نمودار از link ها و object هایی تشکیل می شود. جریان می تواند همروند، ترتیبی یا branched و منشعب باشد.
Activity ها چیزی به جز همان کارکردها و عملیاتی که سیستم انجام می دهد، نیستند.
همان طور که تشریح شد، نمودار فعالیت (activity diagram) جهت نمایش گرافیکی جریان کنترل ها در یک سیستم استفاده می شود.


UML State Machine Diagram (نمودار ماشین وضعیت)

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

1394/09/25 31582 4721
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...