Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Sw arch-2019-tomer

51 vues

Publié le

A talk in the 6th Software Architecture Conference, Hertzlia, Israel (in Hebrew)

Publié dans : Logiciels
  • Identifiez-vous pour voir les commentaires

Sw arch-2019-tomer

  1. 1. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫פרופ‬'‫תומר‬ ‫עמיר‬ ‫תוכנה‬ ‫להנדסת‬ ‫המחלקה‬ ‫ראש‬ tomera@mx.kinneret.ac.il ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 1 ©Prof.AmirTomer picture source: http://www.abone.co.il
  2. 2. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ "‫גרמושקה‬"‫מהי‬? •"‫גרמושקה‬"‫מבנים‬ ‫בארכיטקטורת‬ ‫בסיסי‬ ‫מונח‬ ‫מהווה‬ –‫להכנתה‬ ‫מפורטות‬ ‫הנחיות‬ ‫קיימות‬ •‫ה‬ ‫אישור‬ ‫ללא‬ ‫בניה‬ ‫היתר‬ ‫לקבל‬ ‫ניתן‬ ‫לא‬ ‫בישראל‬"‫גרמושקה‬"‫ע‬"‫לתכנון‬ ‫וועדה‬ ‫י‬ ‫ובניה‬ –‫וצורתו‬ ‫מבנהו‬ ‫את‬ ‫וכשאישרתם‬ ‫הבית‬ ‫של‬ ‫עקרוני‬ ‫תכנון‬ ‫לאחר‬,‫ה‬‫אדריכל‬‫אמור‬ ‫מספר‬ ‫להכין‬ ‫זה‬ ‫בשלב‬‫תכניות‬‫אקורדיון‬ ‫בצורת‬ ‫ומקופלות‬ ‫ביניהן‬ ‫המחוברות‬ (‫השם‬ ‫מכאן‬–‫גרמושקה‬)‫לקבל‬ ‫מנת‬ ‫על‬‫בניה‬ ‫היתר‬* ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 2 * http://www.abone.co.il/articles/ ‫גרמושקה‬-‫תכנית‬-‫הגשה‬-‫מהי‬-‫ומה‬-‫היא‬-‫כוללת‬/ picture source: http://https://chenmizarc.wixsite.com/
  3. 3. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫עתירת‬ ‫מערכת‬ ‫של‬ ‫ארכיטקטורה‬-‫תוכנה‬ Software-intensive System Architecture •‫תכולה‬ ‫בה‬ ‫מהווה‬ ‫התוכנה‬ ‫אשר‬ ‫מערכת‬ ‫היא‬ ‫תוכנה‬ ‫עתירת‬ ‫מערכת‬ ‫עיקרית‬ –‫תוכנה‬‫ב‬‫מערכת‬ •‫במערכת‬ ‫כלשהו‬ ‫חלק‬ ‫בהפעלת‬ ‫המסייע‬ ‫מתוכנת‬ ‫מרכיב‬ ‫כל‬ –‫התוכנה‬‫כ‬‫מערכת‬ •‫המחשב‬(‫ים‬)‫המרכזי‬(‫ים‬)‫התקשורת‬ ‫ורשת‬,‫לצורך‬ ‫התוכנה‬ ‫רכיבי‬ ‫בין‬ ‫המתאמים‬ ‫כולה‬ ‫המערכת‬ ‫יעדי‬ ‫מילוי‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 3 Picture Source: http://www.thetruthaboutcars.com/wp-content/uploads/2011/08/car-network-arch.jpg
  4. 4. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫מערכת‬ ‫תוכנה‬ ‫עתירת‬ ‫ציוד‬‫אנשים‬. . . ‫ארגון‬/‫עסק‬ ‫פריט‬ ‫חומרה‬ ‫פריט‬ ‫חומרה‬ ‫פריט‬ ‫תוכנה‬ . . .. . . ‫מערכת‬ ‫תוכנה‬ ‫עתירת‬ ‫רכיב‬ ‫תוכנה‬ . . . ‫פריט‬ ‫תוכנה‬ ‫יחידת‬ ‫תוכנה‬ . . . ‫יחידת‬ ‫תוכנה‬ ‫רכיב‬ ‫תוכנה‬ ‫משתמשי‬‫הארגון‬ ‫עניין‬ ‫בעלי‬ ‫אחרים‬ ‫ארכיטקטורה‬–‫איזור‬‫להנדסת‬ ‫המערכת‬ ‫הנדסת‬ ‫בין‬ ‫ההשקה‬ ‫התוכנה‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 4 ‫תוכנה‬‫הנדסת‬ ‫הנדסת‬‫מערכת‬ ‫איזור‬‫הארכיטקטורה‬
  5. 5. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫רק‬ ‫איננה‬ ‫ארכיטקטורה‬"‫מבנה‬" •‫מהווה‬ ‫ארכיטקטורה‬‫עקרוניות‬ ‫החלטות‬ ‫של‬ ‫אוסף‬‫התכן‬ ‫את‬ ‫המכוונות‬/‫של‬ ‫הפיתוח‬ ‫בכללותה‬ ‫המערכת‬ –‫מבניות‬ ‫החלטות‬ •‫מרכיבים‬(‫ופונקציונאליים‬ ‫פיזיים‬) •‫ממשקים‬(‫ופונקציונאליים‬ ‫פיזיים‬) –‫התנהגותיות‬ ‫החלטת‬ •‫תהליכים‬/‫לוגיקה‬ •‫מרכיבים‬ ‫בין‬ ‫אינטראקציה‬(‫הממשקים‬ ‫באמצעות‬) •‫המערכת‬ ‫של‬ ‫הדינאמית‬ ‫הפונקציונאליות‬(‫המערכת‬ ‫תהליכי‬)‫ע‬ ‫בעיקר‬ ‫מושגת‬"‫י‬ ‫התוכנה‬ –‫חומרה‬ ‫על‬ ‫מותקנת‬ ‫תמיד‬ ‫התוכנה‬ ‫אבל‬ •‫תפקיד‬‫המבנה‬‫לתמוך‬ ‫הוא‬‫בתהליכים‬ –‫היא‬ ‫המוצא‬ ‫נקודת‬ ‫ולכן‬ •"‫לעשות‬ ‫צריכה‬ ‫המערכת‬ ‫מה‬" –‫ולא‬ •"‫בנויה‬ ‫להיות‬ ‫צריכה‬ ‫המערכת‬ ‫כיצד‬" ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 5
  6. 6. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 6 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  7. 7. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 7 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  8. 8. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ SUC-1‫מעלית‬ ‫הזמנת‬ ‫ויעדים‬ ‫שחקנים‬‫נוסע‬:‫לנסיעה‬ ‫זמינה‬ ‫מעלית‬ ‫לקבל‬ ‫ב‬"‫ע‬‫ואינטרסים‬‫אין‬ Pre-conditions•‫מעלית‬ ‫של‬ ‫דלת‬ ‫נמצאת‬ ‫בה‬ ‫כלשהי‬ ‫בקומה‬ ‫נמצא‬ ‫הנוסע‬ •‫פעילה‬ ‫המערכת‬[Post-cond.‫של‬UC"‫איתחול‬‫מערכת‬]" Post-Conditions•‫הנוסע‬ ‫נמצא‬ ‫בה‬ ‫בקומה‬ ‫נמצאת‬ ‫פתוחה‬ ‫מעלית‬(‫יעד‬) Trigger•‫הנוסע‬‫עליה‬ ‫כפתור‬ ‫על‬ ‫לוחץ‬/‫בקומה‬ ‫ירידה‬ MSS.1‫המערכת‬‫הלחיצה‬ ‫את‬ ‫קולטת‬ .2‫הכפתור‬‫נדלק‬ .3‫המערכת‬‫המבוקש‬ ‫בכיוון‬ ‫הנוסעת‬ ‫מעלית‬ ‫מאתרת‬ .4‫המערכת‬‫למעלית‬ ‫העצירה‬ ‫את‬ ‫מקצה‬ .5‫המעלית‬‫לקומה‬ ‫מגיעה‬ .6‫דלת‬‫נפתחת‬ ‫המעלית‬ .7‫כפתור‬‫כבה‬ ‫הקומה‬ ‫הסתעפות‬‫א‬'‫חלופה‬‫בצעד‬2‫של‬MSS:‫דלוק‬ ‫כבר‬ ‫הכפתור‬(‫מעלית‬ ‫הוקצתה‬ ‫כבר‬) 2‫א‬1.‫לצעד‬ ‫מעבר‬5 ‫לדרישות‬ ‫עקיבות‬... Use Case Model:‫המערכת‬ ‫תהליכי‬ ‫להגדרת‬ ‫מודל‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 8 Elevator System «SUC» 1. Call Elevator «SUC» 2. Ride Elevator «SUC» 3. Rescue User Rescuer Technician «SUC» 4. System Testing «SUC» 5. Repair «SUC» 6. Start Up «SUC» 7. Shut Down Caretaker «include» «extend» «include» «extend» Use-case Diagram Use-case Specification ‫מערכת‬ ‫תהליכי‬ -‫הגדרה‬ ‫גבולות‬ ‫המערכת‬ ‫סביבה‬ ‫נעזרת‬/‫תומכת‬ "(‫שחקנים‬)" ‫מערכת‬ ‫תהליכי‬ -‫תרחישים‬ ‫פירוט‬ -‫אינטראקציה‬
  9. 9. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 9 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  10. 10. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ Deployment Model:‫הפיזי‬ ‫המבנה‬ ‫להגדרת‬ ‫מודל‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 10 Central Server «CSCI» Server SW Elevator Controller «CSCI» Elevator SW «device» Engine «device» Door «device» User Panel «device» Floor Panel «device» Technician Panel «device» Rescuer Panel 1..* 1..* ‫היקפיים‬ ‫התקנים‬ ‫מחשבים‬ ‫תווך‬/‫פרוטוקול‬ LAN / TCP/IP ‫תוכנה‬ ‫פריסת‬ ‫ריבוי‬ ‫פיזי‬ ‫ממשק‬
  11. 11. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 11 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  12. 12. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫פונקציונאלית‬ ‫אנליזה‬:‫והקצאה‬ ‫פונקציות‬ ‫הקבצת‬ ‫לרכיבים‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 12 ‫תוכנה‬ ‫פריטי‬ (‫פיזיים‬) ‫תוכנה‬ ‫רכיבי‬ (‫פונקציונאליים‬) ‫יכולות‬ ‫מוקצות‬ ‫רכיב‬ ‫לכל‬/‫פונקציות‬ ‫בפעילות‬ ‫המערכת‬ ‫מתהליכי‬ ‫שמוצו‬ ‫הפונקציונאלית‬ ‫האנליזה‬ Elevator C&CCentral C&CMaintenanceAdministration «CSCI» :Elevator SW «CSCI» :Server SW «manifest» «manifest»«manifest» «manifest»
  13. 13. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 13 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  14. 14. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ Sequence Diagram:‫פונקציונאליים‬ ‫לתהליכים‬ ‫מודל‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 14 C: Central C&C Elev: Elevator C&C Floor Panel: User loop [for all requested floors until MyFloor] 1.3 1.7 notify arrival(MyFloor) 1.0 request(MyFloor, MyDirection) 1.5 drive to(floor) 1.2 allocate(MyFloor) 1.6 open door() 1.8 switch button(off) 1.1 Elev= select elevator (MyFloor, MyDirection): ElevID 1.4 switch button(on) ‫תוכנה‬ ‫רכיבי‬ (‫פונקציונאליים‬) ‫סביבה‬ ‫חיצונית‬ ‫אינטראקציה‬ ‫א‬-‫סינכרונית‬ ‫אינטראקציה‬ ‫סינכרונית‬ ‫בקרה‬ ‫מבנה‬
  15. 15. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 15 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  16. 16. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ engine control door control Elevator C&C elevator button requests direct requests start-up/shut- down engine control door control direct elevator requests Central C&C floor button requests direct requests direct elevator requests start-up/shut- down direct floor requests direct elevator requests Maintenance Tech. Panel Commands direct floor requests direct elevator requests start-up/shut-down Administration caretaker commands start-up/shut-down Component Model:‫לוגי‬ ‫למבנה‬ ‫מודל‬/‫פונקציונאלי‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 16 ‫ממשק‬ ‫מסופק‬ ‫ממשק‬ ‫נדרש‬ ‫תלות‬ ‫ממשקים‬ ‫בין‬ ‫ממשק‬ ‫חיצוני‬
  17. 17. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 17 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  18. 18. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ /Floor Panel /Technitian Panel /Rescuer Panel /Elevator Port :Central Server /Floor Panel /Technitian Panel /Rescuer Panel /Elevator Port start-up/ shut-down :Administration caretaker commandsstart-up/ shut-down direct floor requests direct elevator requests :Maintenance Tech. Panel Commands direct floor requests direct elevator requests direct elevator requests :Central C&C floor button requests direct requests direct elevator requests start-up/shut-down /Engine /Door /User Panel /Server Port :Elevator Controller /Engine /Door /User Panel /Server Port engine control door control :Elevator C&Celevator button requests direct requests start- up/shut- down engine control door control «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» Composite Model:‫משולב‬ ‫למבנה‬ ‫מודל‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 18 ‫חומרה‬ ‫רכיב‬ ‫פונקציונאלי‬ ‫רכיב‬ (‫תוכנה‬) ‫חיצוני‬ ‫ממשק‬ ‫נדרש‬ ‫חיצוני‬ ‫ממשק‬ ‫מסופק‬ Port ‫פיזי‬ ‫קשר‬ (‫חיצוני‬) ‫לוגי‬ ‫קשר‬ (‫פנימי‬) ‫האצלה‬ delegation
  19. 19. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫המלאה‬ ‫הגרמושקה‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 19 Elevator System «SUC» 1. Call Elevator «SUC» 2. Ride Elevator «SUC» 3. Rescue User Rescuer Technician «SUC» 4. System Testing «SUC» 5. Repair «SUC» 6. Start Up «SUC» 7. Shut Down Caretaker «include» «extend» «include» «extend» Central Server «CSCI» Server SW Elevator Controller «CSCI» Elevator SW «device» Engine «device» Door «device» User Panel «device» Floor Panel «device» Technician Panel «device» Rescuer Panel 1..* 1..* engine control door control Elevator C&C elevator button requests direct requests start-up/shut- down engine control door control direct elevator requests Central C&C floor button requests direct requests direct elevator requests start-up/shut- down direct floor requests direct elevator requests Maintenance Tech. Panel Commands direct floor requests direct elevator requests start-up/shut-down Administration caretaker commands start-up/shut-down C: Central C&C Elev: Elevator C&C Floor Panel: User loop [for all requested floors until MyFloor] 1.3 1.7 notify arrival(MyFloor) 1.0 request(MyFloor, MyDirection) 1.5 drive to(floor) 1.2 allocate(MyFloor) 1.6 open door() 1.8 switch button(off) 1.1 Elev= select elevator (MyFloor, MyDirection): ElevID 1.4 switch button(on) /Floor Panel /Technitian Panel /Rescuer Panel /Elevator Port :Central Server /Floor Panel /Technitian Panel /Rescuer Panel /Elevator Port start-up/ shut-down :Administration caretaker commandsstart-up/ shut-down direct floor requests direct elevator requests :Maintenance Tech. Panel Commands direct floor requests direct elevator requests direct elevator requests :Central C&C floor button requests direct requests direct elevator requests start-up/shut-down /Engine /Door /User Panel /Server Port :Elevator Controller /Engine /Door /User Panel /Server Port engine control door control :Elevator C&Celevator button requests direct requests start- up/shut- down engine control door control «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» «delegate» SUC-1‫מעלית‬ ‫הזמנת‬ ‫ויעדים‬ ‫שחקנים‬‫נוסע‬:‫לנסיעה‬ ‫זמינה‬ ‫מעלית‬ ‫לקבל‬ ‫ב‬"‫ע‬‫ואינטרסים‬‫אין‬ Pre-conditions•‫מעלית‬ ‫של‬ ‫דלת‬ ‫נמצאת‬ ‫בה‬ ‫כלשהי‬ ‫בקומה‬ ‫נמצא‬ ‫הנוסע‬ •‫פעילה‬ ‫המערכת‬[Post-cond.‫של‬UC"‫איתחול‬‫מערכת‬]" Post-Conditions•‫הנוסע‬ ‫נמצא‬ ‫בה‬ ‫בקומה‬ ‫נמצאת‬ ‫פתוחה‬ ‫מעלית‬(‫יעד‬) Trigger•‫הנוסע‬‫עליה‬ ‫כפתור‬ ‫על‬ ‫לוחץ‬/‫בקומה‬ ‫ירידה‬ MSS.1‫המערכת‬‫הלחיצה‬ ‫את‬ ‫קולטת‬ .2‫הכפתור‬‫נדלק‬ .3‫המערכת‬‫המבוקש‬ ‫בכיוון‬ ‫הנוסעת‬ ‫מעלית‬ ‫מאתרת‬ .4‫המערכת‬‫למעלית‬ ‫העצירה‬ ‫את‬ ‫מקצה‬ .5‫המעלית‬‫לקומה‬ ‫מגיעה‬ .6‫דלת‬‫נפתחת‬ ‫המעלית‬ .7‫כפתור‬‫כבה‬ ‫הקומה‬ ‫הסתעפות‬‫א‬'‫חלופה‬‫בצעד‬2‫של‬MSS:‫דלוק‬ ‫כבר‬ ‫הכפתור‬(‫מעלית‬ ‫הוקצתה‬ ‫כבר‬) 2‫א‬1.‫לצעד‬ ‫מעבר‬5 ‫לדרישות‬ ‫עקיבות‬... ‫התהליכים‬ ‫הגדרת‬ ‫בתהליכים‬ ‫התומכים‬ ‫המבנים‬ ‫המבנים‬ ‫באמצעות‬ ‫התהליכים‬ ‫מימוש‬
  20. 20. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫ומסקנות‬ ‫סיכום‬ •‫של‬ ‫העקרוניות‬ ‫התכן‬ ‫החלטות‬ ‫אוסף‬ ‫את‬ ‫מכילים‬ ‫הגרמושקה‬ ‫רכיבי‬ ‫חמשת‬ ‫תוכנה‬ ‫עתירת‬ ‫מערכת‬ ‫פיתוח‬ •‫גמישות‬ ‫ותאפשר‬ ‫שאפשר‬ ‫ככל‬ ‫יציבה‬ ‫תהיה‬ ‫שהארכיטקטורה‬ ‫רצוי‬ ‫מקסימלית‬ –‫שונות‬ ‫תצורות‬ –‫הרחבות‬ –‫המשך‬ ‫דורות‬ –‫מוצרים‬ ‫קווי‬ –... •‫ברורה‬ ‫להיות‬ ‫צריכה‬ ‫הארכיטקטורה‬,‫חד‬-‫ועקבית‬ ‫משמעית‬ –‫מודלים‬(‫שרטוטים‬)‫משוכללת‬ ‫בשפה‬,‫רק‬ ‫ולא‬block diagrams‫ו‬-flow charts –‫מידול‬ ‫בכלי‬ ‫שימוש‬,‫ציור‬ ‫בכלי‬ ‫רק‬ ‫ולא‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 20

×