360 likes | 753 Views
SCE - 10 דגם OPM Object-Process Model דר’ יעקב אקסמן תשס"ו. הנדסת מרכיבי תוכנה. דרישות תוכנה. דגם הייררכי. דגם פיזיקלי. מרכיבים. קוד להרצה = exe. מדידות. דגמים הייררכיים תרשימים. UML בתרשים אחד? מעשי – לתיכון, סימולציה, הפקת קוד ממצא – כל סוגי המידע הנחוצים
E N D
SCE-10 דגם OPM Object-Process Model דר’ יעקב אקסמן תשס"ו
הנדסת מרכיבי תוכנה דרישות תוכנה דגםהייררכי דגםפיזיקלי מרכיבים קוד להרצה = exe מדידות
דגמים הייררכיים תרשימים • UML בתרשים אחד? • מעשי – לתיכון, סימולציה, הפקת קוד • ממצא – כל סוגי המידע הנחוצים • חישוב אוניברסלי – לא מוגבל ליישומים מסוימים • [תזכורת: U=Unified ]
ספרות OPM • OPM • Dov Dori – • “Object-Process Methodology – • A Holistic Systems Paradigm” • Springer Verlag – 2002.
דגמים הייררכיים Object Process Model - OPM מבנה – ודינמיקה – באותו תרשים
OPM מושגים עצם (object) – בכל רגע נמצא במצב מסוים. תהליך (process) –מעביר בין מצב למצב. רמות הייררכיה – ע"י zooming בתרשים.
OPM ייצורים Object name Processing
OPM מצבים
OPM דוגמת מצבים
OPM קישורים Structural Links
OPM הרכבה
OPM איפיון תכונות
OPM ירושה
OPM התנהגות Procedural Links e
OPM יצירת עצם
OPM הריסת עצם
OPM שחקן
OPM מרכיב נחוץ
OPM Visualization Zooming סלקטיבי – חלק מעצמים/תהליכים רקורסיבי - רמות הייררכיה שונות
OPM דוגמה logical xor טיפול בהזמנת מוצר ע"י צרכן מבט-על
OPM דוגמה Zooming אל תוך התהליךProduct Handling
OPM דוגמה Zooming אל תוך התהליךOrder Paying and Supplying עצמיםנמצאים במצבים
OPM שת"פ מפתחים
OPM יצירת קוד OPM-GCG = Generic Code Generator TIP = Template for Implementation Programming תבניות משפת OPM למימוש בשפות שונות
OPM יצירת קוד OPM-GCG ארכיטקטורה
OPM vs. UML שאלון מבחן • האם מבנה המערכת תומך בשאילתה: • מי הצרכן שהזמין מוצר מסויים? • האם יתכן שרק המקדמה (10%) שולמה, כאשר מחצית (50%) הפרוייקט הושלם? • הוסף לדגם את האפשרות לספק דו"ח על כל הפרוייקטים שמחצית (50%) מכל אחד הושלמה, אך טרם נמסרו למזמין.
OPM vs. UML דוגמת יצירת קוד • OPM-GCG vs. Rhapsody • OPM-GCG – יצר 265 שורות קוד • Rhapsody – יצר 739 שורות קוד • [הערה: בשני המקרים הקוד זקוק לשינוי ותוספות]
OPM יצירת קוד // File Order.java package OrderSystem; import opmTypes.*; public class Order extends opmObject { opmStatus theStatus; CustomertheisownedbyCustomer; Product therelatestoProduct; public Order () { theStatus = new opmStatus(); initializeStatus(); } public void initializeStatus () { theStatus.addState (new opmState( "ordered", true, false, true)); theStatus.addState(new opmState( "paid", true, false, false)); theStatus.addState(new opmState( "supplied", false, true, false)); theStatus.addState(new opmState( "cancelled", false, true, false)); }
OPM סימולציה עצמים קיימים
OPM סימולציה תהליך מתחיל
OPM סימולציה Zooming בתהליך
OPM ספרות - בקרה [Peleg-Dori-1998] Mor Peleg & Dov Dori “Representing Control Constructs in Object- Flow Process Diagrams” J. Object Oriented Programming (JOOP) 11, (3) pp. 58-71 (1998).
OPM הרחבה לבקרה תנאי: המצב של B3קובע אם: P2, P3 או אף תהליך מתבצע
OPM הרחבה לבקרה CaseObj S1 S2 S3 Sn … P1 P2 P3 Pk תנאי: Case
OPM הרחבה לבקרה לולאה: מסוג for משתנה j