1 / 98

به نام خدا

مقدمه ای بر Unified Modeling Language علیرضا کاظمی نیا. به نام خدا . All Models Are Wrong Some Models Are Useful. Origin unknown. Today’s Topics . Unified Modeling Language introduction Object Oriented Analysis and Design Class Diagrams Sequence Diagrams Activity Diagrams

qabil
Télécharger la présentation

به نام خدا

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. مقدمه ای بر Unified Modeling Language علیرضا کاظمی نیا به نام خدا All Models Are Wrong Some Models Are Useful. Origin unknown

  2. Today’s Topics • Unified Modeling Language introduction • Object Oriented Analysis and Design • Class Diagrams • Sequence Diagrams • Activity Diagrams • Use Case Diagrams • Conclusion

  3. Unified Modeling Language

  4. UML • در واقع مجموعه ای از زبان ها (notation ها و نمودار ها) است که هر کدام برای منظور خاص در موقعیت های خاص خود به کار گرفته می شوند. • UML زبان بین المللی مهندسی نرم افزار است. • UML بر پایه ی شی گرایی می باشد. • ویرایش های مختلف آن از سال 1996 تا کنون به وجود آمده اند و هم اکنون ویرایش 2.3 آن جدیدترین ویرایش است.

  5. UML Diagrams

  6. The creators Grady Booch Ivar Jacobson James Rumbaugh

  7. Today’s Topics • Unified Modeling Language introduction • Object Oriented Analysis and Design • Class Diagrams • Sequence Diagrams • Activity Diagrams • Use Case Diagrams • Conclusion

  8. Object Oriented Analysis & Design

  9. ObjectOrientation • object ها را همه می شناسند. به اطراف خود نگاه کنید چه اشیایی می بینید؟

  10. Object حالت و رفتار • اشیا در دنیای واقعی دو خاصیت دارند: راه رفتن دویدن غذا خوردن خوابیدن نشستن نام نژاد رنگ وزن قد

  11. Object

  12. Classorinstance?

  13. Message • پیغام ها، درخواست هایی هستند که در آن ها یک شی از یک شی دیگر می خواهد که کاری را انجام دهد. این پیغام دهی اغلب دو طرفه است یعنی یک شی می تواند هم گیرنده ی پیغام باشد و در جایی دیگر هم فرستنده ی پیغام باشد. این پیغام ها می توانند متد هایی را فراخوانی کنند و این امر در جای خود می تواند به تولید پیغام های جدیدی منجر شود.

  14. Encapsulation • encapsulation جزئیات پیاده سازی یک کلاس را از اشیایی که به آن پیغام می فرستند پنهان می کند. به این ترتیب اشیا مجبور نیستند که نگران روش پیاده سازی شیی که به آن پیغام می فرستند باشند و این امر به ساده شدن پیاده سازی و تغییر در برنامه می انجامد. Walk! Encapsulate what varies.

  15. Inheritance • با استفاده از وراثت می تواند به صورت حالت خاصی از یک کلاس کلی تر تعریف شود که تمام حالات و رفتارهای حالت کلی تر را دارد. به حالت کلی superclass و به حالت خاص subclass می گویند. وراثت از تلف شدن وقت جلوگیری می کند (چرا؟).

  16. Polymorphism • امکان ارسال یک پیغام به چند گیرنده ی انجام شدن درخواست پیغام به روش های مختلف بسته به کلاس گیرنده. چه جوری؟

  17. MakeNoise( ) hiss buzz moo miaow

  18. Today’s Topics • Unified Modeling Language introduction • Object Oriented Analysis and Design • Class Diagrams • Sequence Diagrams • Activity Diagrams • Use Case Diagrams • Conclusion

  19. Class Diagrams

  20. Classdiagram Write the code for class dog.

  21. 1 این فلش چیو نشون می ده؟ Now adjust your code.

  22. 1 * Now adjust your code.

  23. 1 * Now adjust your code. Notice anything wrong?

  24. What does this diagram show?

  25. How about this one?

  26. How about this one?

  27. Today’s Topics • Unified Modeling Language introduction • Object Oriented Analysis and Design • Class Diagrams • Sequence Diagrams • Activity Diagrams • Use Case Diagrams • Conclusion

  28. sequence Diagrams

  29. A sample sequence diagram

  30. SequenceDiagram • کاربرد: توصیف نحوه ی تعامل اشیا با هم بر اساس زمان، نشان دادن اشیا وlifeline آن ها و انتقال پیام ها بین اشیا. • در یک sequence diagram می توان موارد زیادی را نشان داد که در زیر به آن ها اشاره می شود.

  31. Lifeline • نشان دهنده ی یک شرکت کننده در تعامل بین اشیا است. در واقع می توان گفت نشان دهنده ی یک شی یا موجودیت است. • lifeline را به وسیله ی یک مستطیل که یک خط عمودی به آن متصل است نشان می دهند. در مستطیل نام موجودیت و نوع (کلاس) آن مشخص می شود.

  32. Message • نشان دهنده ی ارتباط بین دو lifeline که با فلش از فرستنده به گیرنده نشان داده می شود. این فلش یا باید به صورت مستقیم یا رو به پایین باشد و نمی توان آن را به صورت رو به بالا نشان داد (چرا؟) • انواع مختلقی برای پیغام ها می توان در نظر گرفت: • تماس همگام (synchronous call) • تماس ناهمگام (asynchronous call) • ایجاد (create) • حذف (delete) • پاسخ (reply)

  33. Synchronous call • synchronous call درخواست انجام یک عملیات است. پیغام فرستاده می شود و تا زمانی که جواب آن دریافت شود اجرا متوقف می شود.

  34. Asynchronous call • پیغام فرستاده می شود ولی اجرا متوقف نمی شود و انتظار برای رسیدن جواب رخ نمی دهد.

  35. Create • زمانی که پیغام create به یک lifeline فرستاده می شود به آن lifeline گفته می شود که خود را ایجاد کند (ha?) • در دنیای واقعی این پیغام به runtime environment فرستاده می شود.

  36. Delete • از یک lifeline به lifeline دیگر فرستاده می شود و نشان دهنده ی پایان عمر lifeline پذیرنده است. این پایان عمر با X نشان دادن می شود. در نسخه های قبلی UML به آن Stop گقته می شد.

  37. Reply • بدون شرح!!!!!

  38. Messageby presence of events • بسته به اینکه ارسال و دریافت برای پیغام ها رخ داده باشد می توان آن ها را به 4 نوع تقسیم کرد: • پیغام کامل: هم ارسال و هم دریافت برای آن وجود دارد؛ • پیغام گم شده: فقط رخداد ارسال برای آن وجود دارد؛ • پیغام پیدا شده: فقط رخداد دریافت برای آن وجود دارد؛ • پیغام ناشناخته: نه رخداد ارسال و نه رخداد دریافت برای آن وجود دارد؛

  39. Messages by presence of events فرستنده مشخص نیست و فرض می شود خارج از محدوده ی نمودار قرار دارد. گیرنده مشخص نیست و فرض می شود پیغام به مقصد نرسیده است.

  40. Interaction fragment • Execution Specification • نشان دهنده ی قمستی از دوره ی زندگی یک موجودیت است که در آن مشغول به انجام کاری، فرستادن سیگنال است یا منتظر پاسخ درخواست خود از یک موجودیت می باشد. Overlapping ES Execution Specification

  41. Interaction Specification 2. Destruction Event

  42. Interaction Specification 3. State Invariant • نشان دهنده ی یک محدودیت در زمان اجرا است. این محدودیت قبل از اجرای عمل مربوط سنجیده می شود.

  43. Combined Fragments

  44. Combined Fragments

  45. فرق بین alt و opt چیه؟ if(guard) some action else nothing if(guard) some action else other action

  46. Combined Fragment Explanation?

More Related