Unified Modeling Language

מתוך המכלול, האנציקלופדיה היהודית
(הופנה מהדף UML)
קפיצה לניווט קפיצה לחיפוש
UML logo.svg

בהנדסת תוכנה, 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 יש שלושה עשר סוגים של דיאגרמות. כדי להבין את הסוגים השונים של הדיאגרמות נוח לחלק אותן לשלוש קבוצות היררכיות כמו בתרשים משמאל.

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

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

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

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא Unified Modeling Language בוויקישיתוף
Logo hamichlol 3.png
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0