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



  • ۲۹
  • دی

جلسه ۱۳ : نمودار Statechart در UML

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

      مقدمه

      سلام و وقت بخیر. با آموزش زبان مدل سازی یکنواخت (UML) از وب سایت آموزشی پی وی لرن در خدمتتون خواهیم بود. با ترسیم نمودار های Interaction ، Use Case و غیره در جلسات پیش آشنا شدیم. ترسیم نمودار Statechart در UML رو در این بخش از آموزش دنبال خواهیم نمود. پس اگه به این موضوع نیز علاقمندید با ادامه ی آموزش ها همراه باشید.

      ترسیم نمودار Statechart در UML

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

      این نمودار حالت های مختلف یک شی در یک سیستم را توصیف می کند. حالت ها و وضعیت ها مختص به یک شی/ مولفه (component/object) خاص یک سیستم می

      باشند.

      یک نمودار Statechart یک ماشین حالت یا وضعیت (state machine) را توصیف می کند. ماشین حالت را می توان به عنوان دستگاهی تعریف کرد که حالات و وضعیت های مختلف یک شی را تعریف می کند و این حالت ها توسط رویداد های خارجی یا داخلی کنترل می شوند.

      نمودار فعالیت یا activity که در فصل بعد توضیح داده شده است ، نوع خاصی از نمودار وضعیت یا Statechart است. همان طور که نمودار Statechart حالات و وضعیت ها را تعریف می کند ، از آن برای مدل سازی چرخه ی حیات یک شی استفاده می شود. در ادامه ی ترسیم نمودار Statechart در UML ، اهداف نمودارهای Statechart رو مورد بررسی قرار خواهیم داد.

      اهداف نمودارهای Statechart

      نمودار Statechart یکی از پنج نمودار UML است که برای مدل سازی ماهیت پویای یک سیستم استفاده می شود. آن ها حالت ها و وضعیت های مختلفی از یک شی را در  طول چرخه ی حیات آن تعریف می کنند و این وضعیت ها توسط رویداد ها تغییر می کنند. نمودارهای statechart برای مدل سازی سیستم های واکنشی یا reactive system مفید هستند. سیستم های واکنشی را می توان به عنوان سیستمی تعریف کرد که در مقابل وقایع خارجی یا داخلی پاسخ می دهد.

      نمودار Statechart جریان کنترل از یک وضعیت (State) به وضعیت دیگر توصیف می کند.

      وضعیت ها یا State ها به عنوان شرطی تعریف می شوند که در آن یک شی وجود داشته باشد و هنگام فعال شدن و روی دادن یک رویداد تغییر می کند. مهم ترین هدف از

      نمودار Statechart مدل سازی چرخه ی حیات یک شی از زمان ایجاد تا پایان عمر ان می باشد.

      نمودار وضعیت یا Statechart برای مدل سازی مهندسی معکوس و رو به جلوی یک سیستم نیز به کار می رود. با این حال عمده ی استفاده ی آن، مدل سازی سیستم های

      واکنشی می باشد.

      در زیر اهداف اصلی استفاده از نمودار های Statechart بیان شده است.

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

      حال می خواهیم بدانیم که چگونه می توان یک نمودار Statechart را ترسیم کرد؟

      چگونه می توان یک نمودار Statechart را ترسیم کرد؟

      نمودار Statechart برای توصیف وضعیت های مختلف اشیاء در طول چرخه زندگی شان استفاده می شود. تأکید بر تغییرات وضعیت براساس برخی وقایع داخلی یا خارجی

      است. وضعیت اشیاء برای تجزیه و تحلیل دقیق و پیاده سازی دقیق آن ها مهم است.

      نمودارهای statechart برای توصیف وضعیت های مختلف بسیار مهم هستند.

      هنگام وقوع یک رویداد خاص ، وضعیت ها یا State ها را می توان وضعیت اشیاء تعریف نمود.

      قبل از ترسیم نمودار وضعیت یا Statechart باید نکات زیر را به روشنی تشریح کنیم.

      • اشیاء مهمی را که باید مورد تجزیه و تحلیل قرار گیرند شناسایی کنید.
      • وضعیت ها را مشخص کنید.
      • وقایع و رویدادها را مشخص کنید.

      در زیر نمونه ای از نمودار Statechart آمده است که در آن وضعیت شیء Order ، تجزیه و تحلیل می شود.

      State یا وضعیت اول نشانه ی وضعیت idle است که روند از آن جا شروع می شود. حالت بعدی برای رویدادهایی مانند send request، confirm request و dispatch order می

      باشد.

      این رویدادها مسئول تغییر وضعیت شیء Order می باشند.

      یک شی، در طول چرخه ی زندگی خود  (در این جا شی order) حالت های زیر را طی می کند و ممکن است خروج های غیر طبیعی و غیر منتظره رخ دهد. این خروج غیر طبیعی ممکن است به دلیل برخی از مشکلات موجود در یک سیستم رخ دهد. وقتی کل چرخه ی زندگی کامل شد ، همان طور که در شکل زیر نشان داده شده است ،

      تراکنشی کامل به شکل زیر صورت می گیرد.

      وضعیت اولیه و نهایی یک شی نیز در شکل زیر نشان داده شده است. به آن ها توجه نمایید.

       

      ترسیم نمودار Statechart در UML

      ترسیم نمودار Statechart در UML

      مبحث ترسیم نمودار Statechart در UML رو ادامه می دهیم.

      در کجا می توان از نمودار های Statechart استفاده کرد؟

      از بحث های بالا می توان، کاربرد عملی نمودار Statechart را تعریف نمود.

      نمودار های statechart برای مدل سازی جنبه های پویای سیستم مانند چهار نمودار دیگری که در این جلسات قبل از این آموزش مورد بحث قرار دادیم ، استفاده می شود. با

      این حال ، این مدل دارای ویژگی های متفاوتی برای مدل سازی ماهیت پویا می باشد.

      نمودار Statechart وضعیت های مختلف یک کامپوننت (component) را تعریف می کند و این تغییر وضعیت ها از نظر ماهیت پویا هستند. هدف خاص آن تعریف تغییرات وضعیت

      ناشی از وقوع وقایع است. وقایع عوامل داخلی یا خارجی مؤثر بر سیستم هستند.

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

      اگر ما به جنبه های پیاده سازی عملی و کاربردی نمودار وضعیت یا Statechart بپردازیم ، آن گاه متوجه خواهیم شد که مورد استفاده اصلی آن تجزیه و تحلیل حالت های

      شیء می باشد که به وسیله ی رویداد ها دچار تغییر می شود.

      این تجزیه و تحلیل برای درک رفتار سیستم در طول اجرا و پیاده سازی آن خیلی مفید است.

      کاربرد های اصلی نمودار Statechart را می توان به شرح زیر شرح و توضیح داد.

      • برای مدل سازی وضعیت های شیء یک سیستم.
      • برای مدل سازی سیستم واکنشی. سیستم واکنشی از اشیاء واکنشی (reactive) تشکیل شده اند.
      • برای شناسایی وقایع و رخداد هایی که مسئول این تغییر وضعیت ها می باشند.
      • مهندسی رو به جلو و مهندسی معکوس.

      مبحث ترسیم نمودار Statechart در UML رو در همین جا به پایان می رسونیم. ادامه ی نمودارها رو در جلسات بعد خواهیم داشت.

      کلام پایانی

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

      نمودار Statechart در UML آشنا شدیم و اهداف و موارد کاربرد این نمودار رو توضیح دادیم.

      ان شاا… در بخش بعدی با موضوع نمودار فعالیت یا Activity Diagrams در خدمتتون خواهیم بود.

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

      QR:  جلسه ۱۳ : نمودار Statechart در UML
      به اشتراک بگذارید