Unified Modeling Language

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

בהנדסת תוכנה, Unified Modeling Language או בקיצור UMLעברית: שפת מידול מאוחדת) היא שפת מפרט תקנית לעיצוב מונחה-עצמים. השפה פותחה במקור על ידי ג'יימס רמבאו, גריידי בוץ' ואיוואר יאקובסון בעת שעבדו בחברת התוכנה Rational (כיום חלק מחברת IBM). התיווי בשפה הוא גרפי ומאפשר תיאור מופשט של מפרטי המערכת, בדרגות שונות של דיוק. בסוף שנות התשעים, ארגון התקינה OMG תיקנן את השפה, וכיום היא מפותחת על ידו.

בשל אופיה הוויזואלי, UML היא שפה קלה-יחסית ללימוד, בהשוואה לשפות מפרט אחרות. לרוב, כל בעלי התפקידים בצוות פיתוח תוכנה מכירים את הדיאגרמות העיקריות בשפה, והדבר מסייע לתקשר את מפרטי התוכנה ביניהם.

אבני הבניין של UML[עריכת קוד מקור | עריכה]

ב-UML קיימים מספר סוגי תרשימים (Diagrams), המשמשים למטרות שונות, ומתחלקים לסוגים שונים. התרשימים השונים מורכבים משלוש אבני בניין עיקריות, גורמי יסוד, יחסים בין גורמי היסוד ודיאגרמות - התרשימים שמאגדים את גורמי היסוד והיחסים לגורמים בעלי משמעות.

גורמי יסוד[עריכת קוד מקור | עריכה]

גורמי היסוד (elements) מתחלקים לארבע קבוצות עיקריות:

  • גורמים מבניים (structural): אלה הם "שמות עצם" המרכיבים כל מודל ואשר בדרך כלל מתארים גורמים פיזיים או קונספטואליים. לדוגמה שחקן (Actor), שמסומן על ידי דמות אדם.
  • גורמים התנהגותיים (behavioral): אלה הם החלקים הדינמיים של מודל UML אשר מוגדרים כ"פעלים" של המודל. גורמים אלו מגדירים את ההתנהגות של גורם מסוים בזמן, או ביחס לגורמים אחרים במודל.
  • גורמים מקבצים (grouping): אלה הם החלקים שמאפשרים ארגון טוב יותר של המודל. הגורם הנפוץ ביותר השייך לקבוצה הינו package. גורם זה הוא מעין ריבוע שמאפשר לארגן בתוכו גורמים מסוגים שונים לקבוצה אחת שאיתה ניתן לקבץ גורמים התנהגותיים, מבניים ואף גורמים מקבצים נוספים. בין הגורמים השייכים לקבוצה זו: מודל, מערכת (framework), תת-מערכת (sub-system).
  • גורמים מפרשים (annotational): גורמים אשר בעזרתם ניתן להסביר ולפרש גורמים במודל או מודל UML. הגורם העיקרי בקבוצה זו הוא ההערה (note). בהערה המשויכת לגורם, ניתן לרשום הערות בטקסט חופשי או אילוצים (constraints) המתייחסים לגורם ומגדירים עליו אי אלו הגבלות.

יחסים[עריכת קוד מקור | עריכה]

היחסים (relationships) מגדירים את היחסים והקשרים בין האלמנטים. אף הם מתחלקים ל־4 סוגים:

  • תלות (dependency): יחס סמנטי בין שני גורמים. משמעותו היא ששינוי כלשהו בעצם הבלתי תלוי, עשוי להשפיע על העצם התלוי בו. תלות מסומנת באמצעות חץ מקווקו.
  • חיבור (association): מתורגם לקשר בין שני גורמים. מסומן באמצעות חץ פשוט.
  • הכללה (generalization): זהו יחס הנקרא גם generalization/specialization כלומר הכללה\ייחוד. באופן אינטואיטיבי ניתן לחשוב על כך כעל "הורשה" של מחלקות, כאשר האב הוא הגורם המכליל (generalized), והבן הינו הגורם ה"מיוחד" (specialized). מסומן באמצעות חץ עם משולש בקצהו.
  • מימוש (realization): זהו קשר סמנטי, שמשמעותו גורם אשר פעולתו מבוצעת על ידי גורם אחר. בדרך כלל משתמשים ביחס זה בין ממשק (interface) לבין המחלקה המממשת אותו. מסומן באמצעות חץ מקווקו עם משולש בקצהו.

דיאגרמות[עריכת קוד מקור | עריכה]

הדיאגרמות מאגדות את גורמי היסוד והיחסים לגורמים בעלי משמעות.

הירארכיה של דיאגרמות UML 2.0, מוצגות כדיאגרמת מחלקה

ב-UML 2.0 יש שלושה עשר סוגים של דיאגרמות. כדי להבין את הסוגים השונים של הדיאגרמות נוח לחלק אותן לשלוש קבוצות הירארכיות כמו בתרשים משמאל.

דיאגרמות מבניות:

דיאגרמות התנהגותיות:

דיאגרמות אינטרקציה: