1 / 44

סילבוס על פני ציר הזמן

ניתוח ועיצוב מערכות מידע תעשיה וניהול שנה ב סמסטר אביב 2009 הרצאה 8 : State Chart Diagram מבוסס על השקפים של ד"ר ערן טוך , הפקולטה לתעשייה וניהול, טכניון ד"ר דיצה ביימל Email: dizzab@ruppin.ac.il. סילבוס על פני ציר הזמן. DFD. UML: State chart diagram. מבוא. עקרונות ב OO. OPM.

liseli
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. ניתוח ועיצוב מערכות מידע תעשיה וניהול שנה בסמסטר אביב 2009הרצאה 8: State Chart Diagram מבוסס על השקפים של ד"ר ערן טוך,הפקולטה לתעשייה וניהול, טכניון ד"ר דיצה ביימלEmail: dizzab@ruppin.ac.il

  2. סילבוס על פני ציר הזמן DFD UML: State chart diagram מבוא עקרונות ב OO OPM שלב הגדרה/ ניתוח 1 2 13 3 4 12 8 11 9 5 6 14 7 10

  3. סיכום השיעור הקודם • מידול דינמי (התנהגותי) • תרשים הרצף - מורכב מאובייקטים ומסרים • מסלולים אלטרנטיביים - למשל לולאות • מודולאריות - למשל מקביליות

  4. תוכן ההרצאה • מבוא לדיאגרמה • אבני הבניין של הדיאגרמה • מצבים • פעילויות • מעברים • מאפיינים מתקדמים • קינון מצבים • מצבים מקבילים

  5. מה חסר במידול של תרשים הרצף? p : Product : ShooppingCart customer display() getPrice() addProduct (p) checkout () In Sequence diagram, we do not really know how the state of the shopping cart changes.

  6. State chart diagram • אנחנו זקוקים למודל שבאמצעותו נוכל לתאר את ההתנהגות של אובייקט מסוים לאורך חייו, עם דגש על: • איך אובייקט מגיב לאירועים • באילו מצבים יכול להימצא האובייקט • איך משפיעים האירועים על מצבי האובייקט • Statecharts הוא פורמאליזם ויזואלי המאפשר לתארתבנית התנהגותית של מערכות מורכבות • פותחו ע"י דוד הראל

  7. מכונת מצבים • מכונת מצבים מוגדרת כמכונה שהפלט שלה הוא פונקציה של הקלט, אבל לא רק. בנוסף, המכונה מתייחסת להיסטוריית הקלטים • היסטוריית הקלטים מיוצגת ע"י מצב פנימי (state) If the phone is ON, then clicking will turn it off If the phone is OFF, then clicking will turn it on

  8. מידול מכונת מצבים באמצעות state chart Cellphone Transition State click Off On Event click

  9. תוכן ההרצאה • מבוא לדיאגרמה • אבני הבניין של הדיאגרמה • מצבים • פעילויות • מעברים • מאפיינים מתקדמים • קינון מצבים • מצבים מקבילים

  10. מרכיבי הדיאגרמה • מבחינה גרפית, הדיאגרמה היא אוסף של צמתים וקשתות • מרכיבי הדיאגרמה: • מצב state • פעילותactivity • מעבר transition • אירוע event • תנאים conditions • פעולה action

  11. דוגמא לדיאגרמה

  12. מחלקות ומצבים Class view State view State created Order Transition status: {created, sent, received} hasProblems : boolean in gathering gatherItems() updateInventory() sendOrder() received(customer) sendReciept() sent in problem is received

  13. מצבים (states), מצב התחלתי, מצב סופי • אובייקט במערכת נמצא במצב מסוים בזמן נתון • בזמן שהוא נמצא במצב - הוא יכול לחכות לאירוע, ו/או לבצע פעילות • מייצגים מצב באמצעות מלבן עם פינות עגולות • קיימים שני מצבים מיוחדים: התחלתי וסופי

  14. פעילויות (Activities) • בזמן שאובייקט נמצא במצב מסוים הוא יכול לבצע פעילות • הפעילות יכולה להיות מוגבלת בזמן או אין סופית • ניתן להגדיר אוסף של פעילויות, במקרה כזה הן מתרחשות סדרתית • פעילות שמבצע האובייקט ניתנת להפרעה in gathering do: gatherItems() do: updateInventory()

  15. מעברים (Transitions) • הקשר בין מצב למצב נעשה באמצעות מעבר (מסומן כחץ) שקורה בנקודת זמן • מעבר יכול להכיל אירוע, תנאי, ופעולה • אירוע - event, trigger • תנאי - condition, guard • פעולה- action, effect • המעבר מאופשר כאשר האירוע קורה ובאם התנאי מתקיים • פעולה הינה יחידה אטומית (אינה ניתנת להפרעה) המתבצעת בעת מעבר • מעבר יכול לצאת ולהיכנס חזרה לאותו מצב

  16. מעברים event[guard] | action x y The action that takes place when the transition is taken The event that triggers the transition Conditions that must be met for the transition to take place

  17. אירועים (Events) • אירוע היא התרחשות במערכת שקורית במקום ובזמן מסוימים ויכולה לשמש טריגר למעבר ממצב למצב

  18. סוגי אירועים • אירועים כלליים • בקשה לשירות מאובייקט אחר  קריאה לפונקציה של האובייקט • received() • סיגנל פנימי או שהתקבל מאובייקט אחר • inventoryReady • אירועי שינוי ערכים • (Changes Of Value) המתרחש באובייקט • false(hasProblems) • אירועי זמן • tm(3 days) • When(1.1.09) • אירועי כניסה/יציאה למצב (במכונות מקביליות) • entered(Sent), exited(Sent) created inventoryReady in gathering false(hasProblems) sent tm(3 days) received() in problem is received

  19. bid[value < 100] Happy bid[value >= 200] bid[(value >= 100) AND (value < 200)] Unhappy תנאים (Conditions) • הצהרה לוגית לגבי מצב של העצם • ביטוי בוליאני, יסומן ע“י סוגרים מרובעים • יכול להיות אוסף של תנאים פשוטים המחוברים באמצעות להופיע יחסים לוגיים כמו And , Or, Not • התנאי מחושב כאשר מתרחש האירוע • דוגמא [האור ברמזור ירוק] Selling

  20. סוגי תנאים • תנאי בוליאני • value >= 100) AND (value < 200)) • [in(S)] , כאשר S הוא מצב • [active(A)] , כאשר A היא פעילות

  21. מעברים ריקים • מעבר יכול להיות כל קומבינציה של שלושת מרכיביו, כולל קומבינציה ריקה • כאשר למעבר אין אירועים, הוא מאופשר בסיום כל הפעילויות של מעבר המקור Empty Transition Employee clean Cleaning do: put water do: put soap do: wash soap do: drain doing nothing Working do: shovel work work

  22. S1 S2 S3 true(C) E1 S1 S2 S3 [C] E1 מה בין אירוע לתנאי? • מה ההבדל בין שתי מכונות המצבים? What happens if C changes to True before E1?

  23. אפשור מעברים מתוך הרצאה של ד"ר איריס ברגר

  24. פעולות (Actions) • אוסף של חישובים המתבצע באופן אטומי • סוגי פעולות • השמה של משתנה • יצירת אירוע (סיגנל או קריאה לפונקציה) • התחלה או סיום של פעילות • ניתן לשרשר פעולות received() | status := received sent is received received() | throw(InventoryUpdate) sent is received | start(sendBill); stop(delivery); x := x+1 sent is received

  25. חוסר דטרמיניזם • אם שני מעברים היוצאים מאותו מצב מקדים מאופשרים באותו רגע, אחד מהם יתבצע באופן לא דטרמיניסטי • מה יקרה בדיאגרמת המצבים הבאה?

  26. מתוך הרצאה של ד"ר איריס ברגר

  27. דוגמא: מכונת כביסה • On / Off button. Start button • No stop button. • Feedback is given on the current stage (soaking, rinsing, draining, drying) • Three plans: • Regular • Delicate (no soaking) • Super delicate (no soaking, no drying) • Off can be clicked only before starting, or after finishing

  28. מידול מכונת הכביסה

  29. תוכן ההרצאה • מבוא לדיאגרמה • אבני הבניין של הדיאגרמה • מצבים • פעילויות • מעברים • מאפיינים מתקדמים • קינון מצבים • מצבים מקבילים

  30. מצבים מקוננים (Composite States) • מצבים מקוננים מאפשרים הבנה טובה יותר של המערכת • מפחיתים באופן דרמתי את מספר המעברים • מקטינים את מספר השגיאות • כל מצב מקונן חייב להיות בעל מצב התחלתי אחד

  31. דוגמא למספר גדול של מצבים: מכונת הכביסה What if the off button can be clicked at any time? What if we want to show how many minutes left to the end of the cycle? What if we want to come back to the same state we left?

  32. מכונת הכביסה לאחר קינון

  33. היסטוריה History)) • H - חזרה למצב-העל האחרון • H* - חזרה לרמת הקינון העמוקה ביותר Shift ended | clh() Stop Diagnosing pause return Diagnostic1 Diagnostic2 H return-full setup Find a vein H* clh() – clears the history Check blood pressure Draw Blood completion transition (no trigger)

  34. דוגמא להיסטוריה • בדיאגרמה הבאה: • באיזה מצב נמצא לאחר התרחשות האירועים e1 e4 e2 e6 e1 • מה יקרה אם נחליף H ב H* ?

  35. Martial employee single Staff Member married Manager divorced מצבים מקביליים • לעתים, ניתן לראות מערכת, כמורכבת ממספר רכיבים אשר מתנהלים באופן עצמאי זה לצד זה

  36. Martial employee single Staff Member married Manager divorced סימון של מצבים מקביליים • מחברים את התיאורים של הרכיבים לדיאגרמה אחת Martial employee single Staff Member married Manager divorced

  37. אינטראקציה בין מצבים מקבילים

  38. מתוך הרצאה של ד"ר איריס ברגר

  39. A D m E B F d g a b (in G) a G C m d B,F g B,G B,E a b a a g C,E C,G a m d C,F מצב מקביל מול מצב לא מקביל • כל מידול מקבילי ניתן לתיאור ע"י מידול לא מקבילי שכולל יותר מעברים שימוש במצבים מקביליים ללא שימוש במצבים מקביליים

  40. מתוך הרצאה של ד"ר איריס ברגר

  41. מתוך הרצאה של ד"ר איריס ברגר

  42. מתוך הרצאה של ד"ר איריס ברגר

  43. דיאגרמת האורגנית מתוך הרצאה של ד"ר איריס ברגר

  44. סיכום • Statechart: • מידול מבוסס – מצבים • מתבסס על מכונות מצבים • אבני הבניין של Statechart • מצבים • מעברים • מאפיינים מתקדמים • מצבים מקוננים • מצבים מקבילים ונעבור ל: OPM

More Related