Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "UML چیست؟ زبان بصری ویژه ای برای بیان مدلسازی و ارتباط اجزای یک سیستم می باشد."— 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 آدرس ایمیل داشته باشد به این صورت نوشته می شود: Address[1..5] و اگر بخواهیم بگوییم که این آدرسها دارای ترتیب خاصی نیستند به این شکل نشان می دهیم: Adress[1..5 unordered] اگر بخواهیم نوع داده ی یک صفت و یک مقدار پیش فرض(اختیاری) را نشان دهیم، اینگونه نشان می دهیم: Address[1..5]unordered:string=“No 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

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

32

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

34

35

36 Specialized Relationships
Generalizations Realizations Dependencies

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

38

39

40

41

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

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

44

45

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

47

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

49

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

51 خانه کوچکتر بالایی از مستطیل حاوی عملیاتی است که زیرسیستم برعهده دارد .
خانه کوچکتر پایینی حاوی عناصر خصوصیتی (Specification Elements ) که نشان می دهد زیرسیستم چه عناصری را محقق می سازد. بزرگترین خانه مستطیل در سمت راست ، حاوی عناصر محقق سازی (Realization Elements) است . این عناصر عملیات و عناصر خصوصیتی زیرسیستم را محقق می سازند.

52

53 Component کلاسی از مفاهیم مختلف است چندین کلاس می توانند در درون یک Component قرار گیرند. بخشی از سیستم است که در هنگام اجرای برنامه وجود دارد . مثال:یک سیستم مدیریت پروژه در هنگام اجرا اجزای زیر را دارد جزء رابط کاربری (Interface) جزء Business Processing جزء داده جزء امنیت

54 Component Diagram به عنوان دیاگرام پیاده سازی شناخته می شود و شیوه پیاده سازی سیستم را مشخص می کند. شامل عناصر زیر است: Component : که به صورت یک مستطیل که دو مستطیل کوچک در یک طرف ان قرار دارد رسم می شود. Component Instance به صورت یک Component نشان داده می شود با این تفاوت که نام نمونه (Instance) به همراه علامت : و نام Component اورده می شود که زیر ان خطی رسم شده است . رابطه وابستگی: به صورت یک خط چین که یک طرف ان دارای فلش است از یک Component به Component دیگر رسم می گردد.

55

56 Deployment Diagram این دیاگرام،دیاگرام پیاده سازی نیز خوانده می شود که محیط پیاده سازی سیستم را نشان می دهد.عناصر اصلی این دیاگرام عبارتند از: نود:بصورت یک مکعب مستطیل نشان داده میشود.غالبا یک کامپوننت داخل دیاگرام رسم می شود. یک association ارتباطی:بصورت خط مستقیم بین نودها رسم میشود.

57 Nodes یک نود منبعی است که صرفا در زمان اجرای سیستم وجود دارد .
مثال: نودهای یک سیستم کامپیوتری یک کامپیوتر client یک چاپگر یک سرور business-processing یک سرور بانک اطلاعاتی نودها از همان قوانین گفته شده برای کلاسها تبعیت می کنند.

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

59 وابستگی ها Dependencies
ابزاری است برای ارتباط کلاسهای مختلف موجود،رابطها و... به کامپوننتها و نودها انواع خاصی از وابستگی ها با عنوان reside,use, deploy برای ارتباط دادن انواع کلاسها با کامپوننتها و نودها در دیاگرامهای UML استفاده می شود.

60 وابستگی Reside ) قرار دادن )
وابستگی Reside از یک کامپوننت به سمت یک عنصر UML نشان می دهد که کامپوننت مشتری آن است. عنصر می تواند کلاس و یا یک زیر سیستم باشد. یک عنصر می تواند در تعدادی کامپوننت قرار گیرد و هر کامپوننت می تواند مشتری تعدادی عنصر باشد. یک reside بصورت یک فلش نقطه چین از یک کامپوننت به سمت عنصر رسم شود که کلمه کلیدی reside روی آن قرار گرفته است.

61 وابستگی Reside

62 وابستگی Reside به صورت تو در تو

63 وابستگی Use یک وابستگی Use که از یک کامپوننت مشتری به سمت یک کامپوننت عرضه کننده رسم می شود،نشان می دهد که یک کامپوننت از یک کامپوننت دیگر استفاده می کند یا اینکه به آن متکی است. یک وابستگی Use بصورت یک فلش نقطه چین از کامپوننت مشتری به سمت کامپوننت عرضه کننده رسم می شود که کلمه کلیدی use در بالای فلش نوشته می شود.

64 مثال

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

66 مثالهایی از وابستگی deploy
یک رابط کاربر بر روی یک desktop گسترش یافته است. کامپوننت Business-processing بر روی یک سرور Business-processing گسترش یافته است.

67 مثالی از Deploy تو در تو کامپوننت Data بر روی یک Database Server گسترش یافته است.

68 پیوندهای ارتباطی Communication Associations
برای ارتباط نودها با یکدیگر بکار می رود. این مسیر ارتباطی بین نودها کامپوننت های موجود در نودها را قادر می سازد که با یکدیگر ارتباط بر قرار کنند. یک پیوند ارتباطی بصورت یک خط راست که دو نود را به یکدیگر متصل می کند،نشان داده می شود. مثال:

69 مثال برای پیوندهای ارتباطی و وابستگی

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

71 مثال مثالی از نمونه Actor

72 UseCase در UML یک usecase بصورت یک بیضی که با نام کلاس usecase نامگذاری شده است،نشان داده می شود. چون usecase ها توسط سیستم اجرا می شوند بیانگر نیازمندیهای سیستم هستند. یک usecase ترکیبی از یک یا چند ترتیب از رفتارهاست که یک ترتیب رفتار،یک ترتیب از گامهاست که عملکرد یا فعل و انفعالی را نشان می دهد. یک فعل و انفعال (Interaction)،ارتباطی را مابین سیستم و یکی از actorها که در usecase شرکت دارند را نشان می دهد. یک usecase را می توان بصورت یک مستطیل که بازه عملکردهای سیستم را مشخص می کند،نیز نشان داد. دیاگرام زیر سیستم مدیریت پروژه و usecase های آن را نشان می دهد.

73 مثال یک usecase ورود به سیستم (Login)می تواند شامل عملیات زیر باشد:
سیستم صفحه کاربری دریافت کد کاربری و کلمه رمز را نشان می دهد. کاربر کد کاربری را وارد میکند. کاربر کلمه عبور را وارد میکند. سیستم کد کاربری و کلمه عبور را وارد میکند و تایید میکند. سیستم بر اساس شرایط اگر کد کاربری و کلمه عبور درست باشد، کاربر را قادر می سازد تا ادامه دهد یا اینکه کاربر را رد میکند.

74 ارتباط usecaseها وactor ها
Usecase با Actor از طریق ارتباط بخصوصی بنام ارتباطات پیوندی Communication Associations رابطه دارد. این ارتباط نشان می دهد که یک Actor از یک usecase استفاده می کند. یک usecase می تواند با چندین actor دارای پیوند باشد و برعکس، که این پیوند به صورت یک خط راست است. مثال:

75 Usecaseها و ارتباطات پیوندی
فلش در انتهای متصل به usecase نشان می دهد که actor آغاز کننده ارتباط است. فلش در انتهای متصل به actor نشان می دهد که سیستم آغاز کننده ارتباط است. در صورتیکه هر دو بتوانند آغازکننده ارتباط باشند،فلشها از دو سمت ارتباط پیوندی حذف می شوند. دقت کنید که حذف شدن فلشها می تواند نشانگر این نیز باشد که مدلساز،نخواسته است آغازکننده ارتباط را در دیاگرام مشخص کند.

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

77 وابستگی توسعه Extend به مثال زیر دقت کنید:

78 وابستگی Extend یک وابستگی Extend از یک Extension UseCase به Base UseCase مشخص میکند که Extension UseCase به Base UseCase تعمیم می یابد(داخل می شود) و Base UseCase را تقویت می کند. این وابستگی می تواند توسط یک فلش نقطه چین از Extension UseCase به Base UseCase رسم می شود و کلمه Extend بر روی آن نوشته می شود.

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

80 عملیات مشترک درActor ها
Generalize شده

81 عملیات مشترک درUseCase ها
Generalize شده

82 Sequence Diagrams دیاگرامهای ترتیبی از عناصر زیر تشکیل می شوند :
نقشهای کلاس Class Roles :بصورت نمایش یک کلاس نشان داده می شود. اشیای بخصوص:بصورت اشیای استاندارد با این تفاوت که نام شی،بعد از یک علامت / سپس نام نقش و آنگاه بعد از : نام کلاس که تماما دارای زیر خط است، نشان داده می شود. خط عمر:بصورت یک خط چین از یک عنصر بسمت پایین که موجود بودن عنصر را در طول زمان نشان می دهد. فعالیتها:مستطیلی عمودی بر روی خط عمر است،که زمان فعال بودن عنصر را در طول زمان نشان می دهد. ارتباطها:بصورت یک فلش صاف از طرف فعالیت فرستنده به غعالیت گیرنده رسم می شود.

83 ارتباطها در دیاگرامهای ترتیب
در UML یک ارتباط توسط جمله ای بصورت زیر نشان داده می شود: [guard] *[iteration] sequence_number : return_variable :=operation_name(argument_list) Guard :اختیاری بوده و شرطی را نشان می دهد که می بایست این شرط برقرار باشد تا پیغام ارسال شود. Iteration : اختیاری بوده و تعداد دفعات ارسال پیغام را نشان می دهد.* و [] ها در صورت نبودن تکرار حذف می شوند. Sequence_number : اختیاری بوده و شماره ترتیب پیغام را نشان می دهد. Return_valiable : اختیاری بوده و نام مقداری را که عملیات آن را باز می گرداند را نشان می دهد. Operation_name :نام عملیات را نشان می دهد. Argument_name :نام آرگومانهای ارسالی به عملیات را نشان می دهد.

84 مثال دیاگرام ترتیب ارتباط بازتابی: ایجاد و از بین بردن عناصر:

85 تکرار در دیاگرام ترتیب در یک دیاگرام ترتیب،اگر لازم باشد،مجموعه ای از تعاملها،شامل دسته ای از ارتباطها،تکرار شوند،درون یک مستطیل بصورت شکل زیر نشان داده می شوند:

86 مثال دیگر از تکرار

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

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

89 دیاگرامهای همکاری دیاگرامهای همکاری از عنا صر زیر ساخته می شوند:
کلاسها :کلاسها همانند دیاگرامها ی ترتیب است. اشیای بخصوص و ارتباطها:همانند دیاگرامهای ترتیب

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

91 تکرار در دیاگرام همکاری
تکرار در دیاگرام همکاری،مشابه صفات در دیاگرامهای کلاس،نشان داده می شوند.تعداد دفعات تکرار می تواند در میان دو علامت { } آورده شود.

92 شرط در دیاگرامهای همکاری
شرطها با استفاده از guard و تحقق شرطهای بعد از آن با استفاده از (.) نشان داده می شود.مثال:

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

94 تبدیلات Transitions وقتی یک عنصر دارای حالات مختلفی است،حالتها می بایست تحت شرایطی به همدیگر تبدیل شوند.ارتباط بین حالتها را تبدیلات یا Transitions می گویند. یک رویداد،اتفاقی است که باعث تغییر حالت یک عنصر می شود.مثال:


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

Similar presentations


Ads by Google