1 / 94

UML چیست؟

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

mostyn
Download Presentation

UML چیست؟

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML چیست؟ زبان بصری ویژه ای برای بیان مدلسازی و ارتباط اجزای یک سیستم می باشد.

  2. کاربرد زبان UML به عنوان یک راه ارتباطی مشترک بین اعضای یک تیم اجرایی فرآیند نرم افزار به عنوان زبان مدلسازی اجزای مختلف فرآیند توسعه نرم افزار قابل استفاده در سیستم های نرم افزاری و غیر نرم افزاری (Business Systems) برای مدل سازی و طراحی پایگاه داده های نرم افزاری پذیرفته شدن به عنوان استانداردی در اکثر ابزارهای مهندسی نرم افزار

  3. سه خصوصیت UML • یک زبان است: یک زبان بصری بهتر می تواند ارتباط برقرار کند. Uml زبانی برای مشخص کردن، بصری ساختن و مستندسازی محصولات یک فرآیند مبتنی بر سیستم است(فرآیند مبتنی بر سیستم مجموعه ای از گامهایی است برای پشتیبانی و تولید یک سیستم بر اساس نیازمندی ها ی داده شده و مورد انتظار) هر نوع دیاگرام uml یک تکنیک مدلسازی شناخته می شود. • Model نمایشی از یک موضوع است و در حقیقت مجموعه ای از کلی نگری ها در یک موضوع را جمع می کند. • Unified عبارتی است که OMG و موسسه استانداردسازی و موسسه یRational برای یک شکل سازی زبان مدلسازی انتخاب کرده اند.

  4. اهداف استفاده ی از UML • گویا است. • ساده است. • دقیق است. • قابل توسعه است . • مستقل از پیاده سازی است. • مستقل از نوع فرآیند است.

  5. تاریخچه ی UML Unified Modelling Language : يك زبان مدل‌سازی است كه درسال 1995 به وسيله شركت Rational معرفی شد. پس از ارائه مفاهيم شی‌گرائی در ابتدای دهه 80 ميلادی به تدريج روش‌های شی‌گرائی توليد نرم‌افزار ارائه گرديد.از مهم‌ترين اين روش‌ها می‌توان بهOMT,BOOCH,OOSE ... اشاره کرد. با هدف ارائه يك زبان استاندارد فراگير شركتRationalبا گردآوری سه نفر از ارائه‌كنندگان معتبرترين روش‌های شی‌گرا يعنیIrar jacobson مبدع روش OOSE,BOOCHمبدع روشی با همين نام، Rambaughمبدع روش OMTو با اخذ نقاط قدرت سه روش فوق‌الذكر، يك زبان استاندارد به نامUMLارائه كرد. پس از ارائه، اين زباناز سوی OMGبه عنوان يك استاندارد جهانیپذيرفته شد و در حال حاضر به عنوان قدرتمندترين زبان مدل‌سازی در دنيای نرم‌افزار مطرح است.

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

  7. دیدگاه شیء گرایی-مفاهیم • صفت • عملیات

  8. دیدگاه شی گرایی-مدل سازی ساختاری مدل سازی ساختاری به منظور روشن ساختن عناصر و ارتباطات بین آنها ومدلسازی عملکرد سیستم می باشد. دیاگرامهای مورد استفاده در این نوع مدلسازی: • Class Diagram • Object Diagram • Use-Case Diagram • Component Diagram • Deployment Diagram

  9. Class Diagram Class Diagram : ساختار عمومی سیستم را نشان می دهد و شامل این عناصرمی باشد: • کلاس: بصورت یک مستطیل که اسم آن داخل آن نوشته شده است. • Associationبه صورت یک خط راست که نامی بر روی آن نوشته شده است. • صفت • عملکرد

  10. Object Diagram Object Diagram : ساختار سیستم رادر یک عملکرد جزئی در نقطه ای از زمان نشان می دهد و شامل عناصر زیر می باشد: • شیء : بصورت یک مستطیل که نام شی به همراه یک علامت (:) و سپس نام کلاس می آید. • ارتباط : بصورت یک خط راست که نام ارتباط که دارای underline است، نشان داده می شود. • مقدار صفت: “ مقدار صفت ” =نام صفت

  11. مثالی از Object Diagram

  12. دیدگاه شی گرایی- مدل سازی رفتاری مدلسازی رفتاری به منظور نشان دادن اینکه چگونه عناصر سیستم با ارتباط و تعامل با یکدیگر ، عملکرد سیستم را می سازند، استفاده می شود. دیاگرامهای مورد استفاده در این نوع مدلسازی: • Sequence Diagram • Collaboration Diagram • State Diagram

  13. Class Diagram مفاهیم موجود: • کلاس • صفت: آن چیزی است که شی می داند. واحدی از اطلاعات که توسط شی نگهداری و مدیریت می شود. ساده ترین شیوه ی نمایش صفات ، آوردن نام آنهاست ولی UML اجازه می دهد اطلاعات بیشتری درج شود. مثلا اگر یک کارگر حداقل یک و حداکثر 5 آدرس ایمیل داشته باشد به این صورت نوشته می شود: EmailAddress[1..5] و اگر بخواهیم بگوییم که این آدرسها دارای ترتیب خاصی نیستند به این شکل نشان می دهیم:EmailAdress[1..5 unordered] اگر بخواهیم نوع داده ی یک صفت و یک مقدار پیش فرض(اختیاری) را نشان دهیم، اینگونه نشان می دهیم:EmailAddress[1..5]unordered:string=“No Email Address” وبالاخره اگربخواهیم مقدار صفت توسط اشیای دیگر قابل دسترس نباشد، از یک علامت (-) قبل از تعریف صفت می آوریم.

  14. Class Diagram- شکل نمایش صفات Visiblity Name[multiplicity Ordering]:Type=initial_value • visibility : • استفاده از علامت + : قابل استفاده ی عمومی، قابل استفاده از همه ی کلاسها • استفاده از علامت - : قابل استفاده بصورت خصوصی، قابل استفاده توسط متدهای همان شی • استفاده از علامت #: قابل استفاده بصورت حفاظت شده ، از زیر کلاسها قابل دسترس باشد و از سایر کلاسها غیر قابل دسترس باشد. Name: نام صفت را مشخص می کند. Multiplicity : اختیاری است و دارای مقدار پیش فرض 1 است ولی می توان تعداد را بصورت 1..* و 1..n نیز مشخص کرد.

  15. Class Diagram- شکل نمایش صفات Visiblity Name[multiplicity Ordering]:Type=initial_value • Ordering:مرتب بودن و اولویت را مشخص می کندو اختیاری است.دو مقدار ordered و unordered را می گیرد. • Type : اختیاری است و نوع صفت را مشخص می کند.Boolean, Real , Integer,String • Initial_value : مقدار پیش فرض برای زمانی که مقداری برای صفت مشخص نمی شود. ** اگر یک صفت مختص فقط یک شی خاص باشد آن را Instance Scope یا Object Scope می گویند ولی اگر در همه ی اشیای کلاس قابل استفاده باشد، آن را Class Scope می گویند و برای نشان دادن آن ازUnderLine استفاده می شود.

  16. چند نمونه

  17. Class Diagram • عملیات : عملیات:چیزی که کلاس انجام می دهد. متد: چگونگی انجام دادن عملیات را مشخص می کندو در واقع یک پیاده سازی از عملیات است.

  18. Class Diagram- شکل نمایش عملیات Visibility Operation_name(parameter_list): Return_type • Visiblity : مثل قبل • Operation_Name : نام عملیات • Parameter_list : این لیست دارای ساختار زیر است که با کاما از هم جدا می شوند. Kind Name : type = default_value • Kind : نوع ورودی یا خروجی بودن پارامتر را مشخص می کند و می تواندin , out,inout باشد. • Type : نوع پارامتر Boolean , integer , Real , String • Default_value : یک مقدار پیش فرض

  19. اشیا • یک مفهوم بخصوص را می رساند یک نمونه ی از یک کلاس است و دارای قابلیتهای ساختاری و رفتاری آن کلاس. • شکل نمایش: ** خانه ی دوم اطلاعات خاصی در مورد شی است. ** نیازی به آوردن همه ی صفات شی در یک زمان نیست.

  20. پیوندها و اتصالها • پیوندها(Associations) رابطهی بین کلاسها را نشان می دهند در صورتیکه اتصالات(Links) رابطه ی بین اشیا را نشان می دهند. • مثالی از پیوند دوگانه: ** نام معمولا ازچپ به راست و از پایین به بالا خوانده می شود مگر اینکه با یک مثلث توپر جهت مشخص شده باشد. • پیوند چند گانه:

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

  22. انتهای پیوند Association End • نقطه ی اتصال پیوند به کلاس. • یک انتهای پیوند می تواند شامل اطلاعات زیر باشد که جزئیات بیشتری را در مورد نوع پیوند و کلاسهای مرتبط ارائه می کند: • Rolename • Navigation arrow فلش هدایتی • Multiplicity Specification خصوصیات تعدد • علائم تجمع((aggrigation و ترکیب(Composition) • توصیف کننده هاQualifiers

  23. انتهای پیوند Association End • Rolename: اختیاری است و نقشی که کلاس توسط این پیوند در رابطه با کلاسهای دیگرایفا می کند را مشخص می کند . • Navigation : برای مشخص کردن اینکه آیا کلاس توسط کلاسهای دیگر و از طریق این پیوند مورد مراجعت قرار می گیرد یا نه ، استفاده می شود و توسط یک فلش مشخص می شود. • اگر فلشی رسم نشود به این معنی است که کلاس می تواند ازهرسمت مورد مراجعت قرار گیرد.

  24. انتهای پیوند Association End • Multiplicity: اختیاری است و تعداد اشیائی را که از یک کلاس می توانند با کلاس دیگر پیوند داشته باشند مشخص می کند.می تواند شامل اطلاعات زیر باشد که توسط کاما از هم جداشده اند: • بازه های عددی • ارقام و مقادیر عددی * بازه ها بصورت بازه بالایی .. بازه پایینی نشان داده می شوند. * علامت * به معنای نامحدود بودن است. * اگربرای تعدد مقداری ذکر نشود ، مقدار پیش فرضی نداریم و تعدد مشخص نیست.

  25. انتهای پیوند Association End • Aggregation : یک رابطه ی کل به جزء است و اغلب به صورت رابطه دارد با عنوان می شود. برای نشان دادن آن از یک لوزی توخالی در سمت کل استفاده می کنیم. • Composition : یک composite aggregation است. پیوند کل به اجزای آن است بطوریکه با ایجاد شدن کل اجزای آن نیز بوجود می آیند و با از بین رفتن کل اجزای آن نیز از بین می روند. • Composition معمولا با عبارت شامل است نیز مشخص می شود و بصورت یک لوزی توپر در سمت کل نمایش داده می شود.

  26. انتهای پیوند Association End • اشکال نمایش ترکیب:

  27. انتهای پیوند Association End • Qualifier: شناسه ایست که مشخص می کند در سمت دیگر پیوند چه شی ای در ارتباط خواهد بود. • یکQualifier توسط یک مستطیل کوچک در نقطه ی اتصال پیوند رسم می شود.

  28. کلاسهای متمایز • Type • Implementation Class • Interface

  29. Type • کلاسی است که دارای صفات،پیوندها و عملیات است ولی دارای هیچ متدی نیست. • نقشی را که یک شی می تواند نسبت به اشیای دیگر ایفا کند بیان می نماید. • توسط کلاسی نشان داده می شود که در ان کلمه کلیدی Type امده است. • با توجه به اینکه فقط نشان دهنده نقش هستند و متدی ندارند برای انها نمونه ای تعریف نمی شود.

  30. Implementation Class • کلاسی است که می تواند صفات،پیوند،عملیات و متد داشته باشد. • نحوه پیاده سازی فیزیکی کلاس را نشان می دهد. • در اخرین مراحل طراحی سیستم برای نشان دادن اینکه چگونه اشیا در سیستم پیاده سازی می شوند استفاده می شود.

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

  32. Specialized Relationships • Generalizations • Realizations • Dependencies

  33. Generalization • رابطه‌‌ای است كه بین یك كلاس عمومی و كلاسهای اختصاصی آن كلاس برقرار می‌‌شود. در این نوع رابطه، كلاس های اختصاصی تمامی خصوصیات كلاس عمومی را به ارث برده و علاوه برآن می‌‌توانند یكسری خصوصیات دیگر را نیز تعریف نمایند. این رابطه را رابطه ارث‌‌بری نیز می‌‌نامند. • برای برقراری این رابطه دو کلاس باید از یک نوع باشند.

  34. Realization • یک رابطه Realization از عنصر مبدا(عنصر محقق سازی) به عنصر مقصد (عنصر خصوصیت) نشان می دهد که عنصر مبدا حداقل همه عملیات عنصر مقصد را پشتیبانی می کند .(عنصر مبدا می تواند صفات یا پیوندهای عنصر مقصد را پشتیبانی کند.) • مثال:یک کلاس Implementation که عملیات تعریف شده به وسیله یک کلاس Interface را پشتیبانی می کند می تواند خدمات مهیا شده توسط یک رابط را ارائه نماید. • یک رابطه Realization توسط یک خط چین از عنصر مبدا به عنصر مقصد رسم می شود که یک مثلث توخالی در انتهای خط جایی که خط به عنصر مقصد وصل می شود ، رسم می گردد

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

  36. Dependency • Dependency از یک عنصر مبدا به یک عنصر مقصد نشان می دهد که عنصر مبدا به عنصر مقصد وابسته است یا از ان استفاده می کند . • یک رابطه وابستگی(Dependency) به صورت یک خط چین از عنصر مبدا به عنصر مقصد که در انتهای ان فلشی وجود دارد نشان داده می شود . وابستگی ممکن است توسط کلمه کلیدی uses علامتگذاری شود . • رابطه Realization می تواند به صورت یک رابطه وابستگی نشان داده شود که بر روی ان کلمه کلیدی realize درج گردیده است.

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

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

More Related