دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۹
  • دی

جلسه ۱۵-۰۲ : راهنمای سریع UML

  • دسته‌بندی‌ها :
جلسه ۱۵-۰۲ : راهنمای سریع UML
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      سلام و وقت بخیر. با آموزش زبان مدل سازی یکنواخت (UML) از وب سایت آموزشی پی وی لرن در خدمتتون خواهیم بود. در این بخش از مرور کلی بر زبان مدل سازی یکنواخت (UML) به انواع مدل سازی UML و نمودارهای UML و غیره می پردازیم.

      مرور کلی بر زبان مدل سازی یکنواخت (UML)

      در ابتدا با بررسی نمودارهای UML آغاز می کنیم.

      نمودارهای UML

      تمام عناصر و روابط برای ایجاد نمودار کامل UML استفاده می شود و نمودار نمایانگر یک سیستم است. نتیجه ی بصری نمودار UML مهم ترین بخش کل فرآیند است.

      نمودارهای UML شامل نه نمودار زیر است.

      • نمودار کلاس – Class
      • نمودار شی – Object
      • نمودار مورد کاربرد – Use case diagram
      • نمودار توالی – Sequence
      • نمودار همکاری – Collaboration
      • نمودار فعالیت – Activity
      • نمودار وضعیت – statechart
      • نمودار اسقرار – Deployment
      • نمودار اجزا – Component

      معماری UML چگونه است؟

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

      UML نقش مهمی در تعریف دیدگاه های مختلف یک سیستم دارد. این دیدگاه ها شامل موارد زیر می باشد.

      • طرح
      • پیاده سازی
      • روند
      • گسترش

      Use Case عملکرد سیستم را نشان می دهد. از این رو ، دیدگاه های دیگر به وسیله ی Use Case به هم مرتبط می شوند.

      طراحی یک سیستم شامل کلاس ها ، رابط ها و همکاری است. UML برای پشتیبانی از این ، نمودار کلاس ، نمودار شی را ارائه می دهد.

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

      گسترش (Deployment) نشانگر نود های فیزیکی سیستم است که سخت افزار را تشکیل می دهد. نمودار Deployment در UML برای پشتیبانی از این چشم انداز استفاده می شود.

      در ادامه انواع مدل سازی UML رو بررسی می کنیم.

      انواع مدل سازی UML

      نمودارهای مختلفی برای انواع مدل سازی UML استفاده می شود.

      مدل سازی ساختاری (Structural Modeling)

      مدل سازی ساختاری ویژگی های استاتیک یک سیستم را ضبط می کند. آن ها از موارد زیر تشکیل شده اند.

      • نمودار کلاس (Classes diagrams)
      • نمودارهای اشیاء (Objects diagrams)
      • نمودار استقرار (Deployment diagrams)
      • نمودارهای پکیج (Package diagrams)
      • نمودار ساختار کامپوزیت (Composite structure diagram)
      • نمودار اجزا (Component diagram)

      نمودار کلاس ، نمودار کامپوننت ها و نمودار استقرار بخشی از مدل سازی ساختاری هستند. مدل ساختاری هرگز رفتار پویای سیستم را توصیف نمی کند.

      انواع مدل سازی UML رو ادامه می دهیم.

      مدل سازی رفتاری (Behavioral Modeling)

      مدل رفتاری تعامل در سیستم را توصیف می کند. این نمایانگر تعامل بین نمودارهای ساختاری است. مدل سازی رفتاری ماهیت پویای سیستم را نشان می دهد. آن ها از موارد زیر تشکیل شده اند.

      • نمودار فعالیت (Activity diagrams)
      • نمودارهای تعامل (Interaction diagrams)
      • نمودارهای Use case

      انواع مدل سازی UML رو با مدلسازی معماری ادامه می  دهیم.

      مدل سازی معماری

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

      نشان گذاری های پایه در UML چیست؟

      نشان گذاری های UML مهم ترین عناصر در مدل سازی هستند. استفاده مناسب و کارامد از نشان گذاری ها برای ساختن یک مدل کامل و معنی دار بسیار مهم است.

      نشان گذاری های مختلف برای اشیا و روابط موجود است. نمودارهای UML با استفاده از نشان گذاری های اشیا و روابط ساخته می شوند. قابلیت توسعه قابلیت مهم دیگری است که باعث می شود UML قدرتمندتر و انعطاف پذیرتر باشد.

       اشیا ساختاری (Structural things)

      نشان گذاری های گرافیکی یا ترسیمی (graphical notations) مورد استفاده در اشیا ساختاری، پرکاربرد ترین در UML می باشند. در زیر لیست اشیا ساختاری آورده شده است.

      • کلاس ها
      • شی
      • رابط (interface)
      • همکاری (collaboration)
      • Use case
      • کلاس های فعال (Active classes)
      • اجزاء یا مولفه ها (Component ها)
      • گره ها (node)

      نشان گذاری کلاس (Class Notation)

      کلاس UML با شکل زیر نشان داده شده است. نمودار به چهار قسمت تقسیم می شود.

      • از قسمت بالا برای نامگذاری کلاس استفاده می شود.
      • مورد دوم برای نشان دادن خصوصیات یا attribute های کلاس استفاده می شود.
      • بخش سوم برای توصیف عملیات انجام شده توسط کلاس استفاده می شود.
      • بخش چهارم برای نشان دادن مؤلفه اضافی به کار می رود که اختیاری است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      کلاس ها برای نشان دادن اشیاء استفاده می شوند. اشیاء می توانند هر چیزی که دارای خصوصیات و مسئولیت هایی (property) هستند، باشند.

      نشان گذاری شی (Object Notation)

      شی به همان شکل کلاس نمایش داده می شود. تنها تفاوت، اسمی است که مطابق شکل زیر نشان داده شده است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

       نشان گذاری رابط (interface notation)

      رابط توسط یک دایره نمایش داده می شود و دارای اسمی است که عموماً در زیر دایره نوشته شده است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      رابط (interface) برای توصیف عملکرد بدون پیاده سازی استفاده می شود.

      نشان گذاری همکاری (Collaboration Notation)

      همکاری یا Collaboration همان طور که در شکل زیر نشان داده شده است، به وسیله ی یک ellipsis نقطه چین (شکل بیضی نقطه چین) نمایش داده می شود. در داخل این بیضی مجموعه ی مسئولیت ها درج می گردند.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

       نشان گذاری Use case

      نشان گذاری Use case به صورت یک بیضی همراه با نامی که در داخل آن درج شده است، نشان داده می شود. ممکن است مسئولیت های دیگری را نیز شامل شود.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      Use case برای ضبط ویژگی های سطح بالا از یک سیستم استفاده می شود.

       نشان گذاری Actor

      Actor را می توان به عنوان یک موجودیت داخلی یا خارجی تعریف کرد که با سیستم در تعامل است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری Initial State

      Initial State برای نشان دادن شروع یک فرآیند تعریف شده است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری Final State

      Final State برای نشان دادن پایان یک فرآیند استفاده می شود.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری Active class

      نشان گذاری Active class معمولاً برای توصیف رفتار همزمان یک سیستم استفاده می شود.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری اجزا (Component)

      یک جزء یا کامپوننت در UML در شکل زیر با یک نام درج شده در داخل آن نشان داده شده است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری گره (Node notation)

      یک گره نمایانگر مؤلفه فیزیکی سیستم است.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      اشیا رفتاری (Behavioral things)

      UML مجموعه ای از ویژگی های قدرتمند را برای نشان دادن بخش پویای نرم افزارها و سیستم های غیر نرم افزاری دارد. این ویژگی ها شامل interaction و state machine می باشد.

      تعامل (Interaction) می تواند دو نوع باشد.

      • ترتیبی یا Sequential (توسط نمودار توالی یا sequence نمایش داده می شود)
      • مشترک یا collaborative (توسط نمودار همکاری یا collaboration نمایش داده می شود)

      نشان گذاری تعامل (Interaction) در UML

      تعامل یا Interaction در اصل یک تبادل پیام بین دو مؤلفه UML است.

       

      نشان گذاری های پایه در UML - نشان گذاری تعامل (Interaction) در UML

      نشان گذاری های پایه در UML – نشان گذاری تعامل (Interaction) در UML

      نشان گذاری State machine

      State machine حالت های مختلف یک جزء را در چرخه زندگی خود توصیف می کند.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      اشیا یا المان های گروه بندی یا Grouping things

      در UML ، فقط یک عنصر برای گروه بندی وجود دارد و آن package است.

      نشان گذاری بسته بندی (Package)

      برای در بر گیری بسته بندی دیگر اجزای یک سیستم استفاده می شود.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      المان های حاشیه نویسی (Annotational things)

      در هر نمودار ، توضیح در مورد عناصر مختلف و ویژگی های آن ها بسیار مهم است. از این رو ، UML برای پشتیبانی از این نیاز ، دارای نشان گذاری Note است.

      نشان گذاری Note

      از این نشان گذاری ها برای تهیه اطلاعات لازم از یک سیستم استفاده می شود.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      روابط (Relationships)

      در زیر انواع مختلفی از روابط موجود در UML وجود دارد.

      • وابستگی (Dependency)
      • انجمنی (Association)
      • رابطه وراثت (Generalization )
      • قابلیت توسعه (Extensibility)

      نشان گذاری وابستگی (Dependency)

      وابستگی از جنبه های مهم، در عناصر UML دارد. این عناصر وابسته و جهت وابستگی را توصیف می کند. نوک فلش عنصر مستقل را نشان می دهد و انتهای آن ،عنصر وابسته را نشان می دهد.

       

      نشان گذاری های پایه در UML

      نشان گذاری های پایه در UML

      نشان گذاری انجمنی (Dependency) در UML

      Dependency نحوه ارتباط عناصر موجود در نمودار UML را شرح می دهد. به عبارت ساده ، چند عنصر در یک تعامل شرکت می کنند.

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

       

      نشان گذاری های پایه در UML - نشان گذاری انجمنی (Dependency) در UML

      نشان گذاری های پایه در UML – نشان گذاری انجمنی (Dependency) در UML

      نشان گذاری Association

      Association ، رابطه وراثت دنیای شی گرا را توصیف می کند. این یک رابطه ی والدین و فرزند است.

       

      نشان گذاری های پایه در UML - نشان گذاری Association 

      نشان گذاری های پایه در UML – نشان گذاری Association

      نشان گذاری Generalization

      UML مکانیسم های زیر را برای ارائه ویژگی های توسعه پذیری دارا می باشد.

      • کلیشه ها یا Stereotype ها (بیانگر المان های جدید است)
      • tagged values (نمایانگر ویژگی های جدید می باشد)
      • محدودیت یا Constraint (نشان دهنده حد و مرزها می باشد)

       

      نشان گذاری های پایه در UML - نشان گذاری Generalization 

      نشان گذاری های پایه در UML – نشان گذاری Generalization

      از نشان گذاری های توسعه پذیری یا Extensibility برای تقویت قدرت زبان استفاده می شود. نشان گذاری های Extensibility در اصل عناصر اضافی است که برای نشان دادن برخی رفتارهای اضافی سیستم استفاده می شود.

      در این بخش مروری بر برخی از نمودارهای UML و انواع مدل سازی UML داشتیم.

      کلام پایانی

      نمودارهای UML ، انواع مدل سازی UML و غیره رو مورد بررسی قرار دادیم. در بخش بعد مبحث نمودارهای UML رو ادامه می دهیم.

      QR:  جلسه ۱۵-۰۲ : راهنمای سریع UML
      به اشتراک بگذارید