SlideShare a Scribd company logo
1 of 20
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫פרופ‬'‫תומר‬ ‫עמיר‬
‫תוכנה‬ ‫להנדסת‬ ‫המחלקה‬ ‫ראש‬
tomera@mx.kinneret.ac.il
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 1
©Prof.AmirTomer
picture source: http://www.abone.co.il
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
"‫גרמושקה‬"‫מהי‬?
•"‫גרמושקה‬"‫מבנים‬ ‫בארכיטקטורת‬ ‫בסיסי‬ ‫מונח‬ ‫מהווה‬
–‫להכנתה‬ ‫מפורטות‬ ‫הנחיות‬ ‫קיימות‬
•‫ה‬ ‫אישור‬ ‫ללא‬ ‫בניה‬ ‫היתר‬ ‫לקבל‬ ‫ניתן‬ ‫לא‬ ‫בישראל‬"‫גרמושקה‬"‫ע‬"‫לתכנון‬ ‫וועדה‬ ‫י‬
‫ובניה‬
–‫וצורתו‬ ‫מבנהו‬ ‫את‬ ‫וכשאישרתם‬ ‫הבית‬ ‫של‬ ‫עקרוני‬ ‫תכנון‬ ‫לאחר‬,‫ה‬‫אדריכל‬‫אמור‬
‫מספר‬ ‫להכין‬ ‫זה‬ ‫בשלב‬‫תכניות‬‫אקורדיון‬ ‫בצורת‬ ‫ומקופלות‬ ‫ביניהן‬ ‫המחוברות‬
(‫השם‬ ‫מכאן‬–‫גרמושקה‬)‫לקבל‬ ‫מנת‬ ‫על‬‫בניה‬ ‫היתר‬*
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 2
* http://www.abone.co.il/articles/ ‫גרמושקה‬-‫תכנית‬-‫הגשה‬-‫מהי‬-‫ומה‬-‫היא‬-‫כוללת‬/
picture source: http://https://chenmizarc.wixsite.com/
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫עתירת‬ ‫מערכת‬ ‫של‬ ‫ארכיטקטורה‬-‫תוכנה‬
Software-intensive System Architecture
•‫תכולה‬ ‫בה‬ ‫מהווה‬ ‫התוכנה‬ ‫אשר‬ ‫מערכת‬ ‫היא‬ ‫תוכנה‬ ‫עתירת‬ ‫מערכת‬
‫עיקרית‬
–‫תוכנה‬‫ב‬‫מערכת‬
•‫במערכת‬ ‫כלשהו‬ ‫חלק‬ ‫בהפעלת‬ ‫המסייע‬ ‫מתוכנת‬ ‫מרכיב‬ ‫כל‬
–‫התוכנה‬‫כ‬‫מערכת‬
•‫המחשב‬(‫ים‬)‫המרכזי‬(‫ים‬)‫התקשורת‬ ‫ורשת‬,‫לצורך‬ ‫התוכנה‬ ‫רכיבי‬ ‫בין‬ ‫המתאמים‬
‫כולה‬ ‫המערכת‬ ‫יעדי‬ ‫מילוי‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 3
Picture Source: http://www.thetruthaboutcars.com/wp-content/uploads/2011/08/car-network-arch.jpg
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫מערכת‬
‫תוכנה‬ ‫עתירת‬
‫ציוד‬‫אנשים‬. . .
‫ארגון‬/‫עסק‬
‫פריט‬
‫חומרה‬
‫פריט‬
‫חומרה‬
‫פריט‬
‫תוכנה‬ . . .. . .
‫מערכת‬
‫תוכנה‬ ‫עתירת‬
‫רכיב‬
‫תוכנה‬ . . .
‫פריט‬
‫תוכנה‬
‫יחידת‬
‫תוכנה‬
. . . ‫יחידת‬
‫תוכנה‬
‫רכיב‬
‫תוכנה‬
‫משתמשי‬‫הארגון‬
‫עניין‬ ‫בעלי‬
‫אחרים‬
‫ארכיטקטורה‬–‫איזור‬‫להנדסת‬ ‫המערכת‬ ‫הנדסת‬ ‫בין‬ ‫ההשקה‬
‫התוכנה‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 4
‫תוכנה‬‫הנדסת‬
‫הנדסת‬‫מערכת‬
‫איזור‬‫הארכיטקטורה‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫רק‬ ‫איננה‬ ‫ארכיטקטורה‬"‫מבנה‬"
•‫מהווה‬ ‫ארכיטקטורה‬‫עקרוניות‬ ‫החלטות‬ ‫של‬ ‫אוסף‬‫התכן‬ ‫את‬ ‫המכוונות‬/‫של‬ ‫הפיתוח‬
‫בכללותה‬ ‫המערכת‬
–‫מבניות‬ ‫החלטות‬
•‫מרכיבים‬(‫ופונקציונאליים‬ ‫פיזיים‬)
•‫ממשקים‬(‫ופונקציונאליים‬ ‫פיזיים‬)
–‫התנהגותיות‬ ‫החלטת‬
•‫תהליכים‬/‫לוגיקה‬
•‫מרכיבים‬ ‫בין‬ ‫אינטראקציה‬(‫הממשקים‬ ‫באמצעות‬)
•‫המערכת‬ ‫של‬ ‫הדינאמית‬ ‫הפונקציונאליות‬(‫המערכת‬ ‫תהליכי‬)‫ע‬ ‫בעיקר‬ ‫מושגת‬"‫י‬
‫התוכנה‬
–‫חומרה‬ ‫על‬ ‫מותקנת‬ ‫תמיד‬ ‫התוכנה‬ ‫אבל‬
•‫תפקיד‬‫המבנה‬‫לתמוך‬ ‫הוא‬‫בתהליכים‬
–‫היא‬ ‫המוצא‬ ‫נקודת‬ ‫ולכן‬
•"‫לעשות‬ ‫צריכה‬ ‫המערכת‬ ‫מה‬"
–‫ולא‬
•"‫בנויה‬ ‫להיות‬ ‫צריכה‬ ‫המערכת‬ ‫כיצד‬"
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 5
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 6
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 7
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
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
‫מערכת‬ ‫תהליכי‬
-‫הגדרה‬
‫גבולות‬
‫המערכת‬
‫סביבה‬
‫נעזרת‬/‫תומכת‬
"(‫שחקנים‬)"
‫מערכת‬ ‫תהליכי‬
-‫תרחישים‬ ‫פירוט‬
-‫אינטראקציה‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 9
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
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
‫תוכנה‬ ‫פריסת‬
‫ריבוי‬
‫פיזי‬ ‫ממשק‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 11
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫פונקציונאלית‬ ‫אנליזה‬:‫והקצאה‬ ‫פונקציות‬ ‫הקבצת‬
‫לרכיבים‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 12
‫תוכנה‬ ‫פריטי‬
(‫פיזיים‬)
‫תוכנה‬ ‫רכיבי‬
(‫פונקציונאליים‬)
‫יכולות‬ ‫מוקצות‬ ‫רכיב‬ ‫לכל‬/‫פונקציות‬
‫בפעילות‬ ‫המערכת‬ ‫מתהליכי‬ ‫שמוצו‬
‫הפונקציונאלית‬ ‫האנליזה‬
Elevator C&CCentral C&CMaintenanceAdministration
«CSCI»
:Elevator SW
«CSCI»
:Server SW
«manifest» «manifest»«manifest» «manifest»
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 13
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
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)
‫תוכנה‬ ‫רכיבי‬
(‫פונקציונאליים‬)
‫סביבה‬
‫חיצונית‬
‫אינטראקציה‬
‫א‬-‫סינכרונית‬
‫אינטראקציה‬
‫סינכרונית‬
‫בקרה‬ ‫מבנה‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 15
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
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
‫ממשק‬
‫מסופק‬
‫ממשק‬
‫נדרש‬
‫תלות‬
‫ממשקים‬ ‫בין‬
‫ממשק‬
‫חיצוני‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 17
‫דרישות‬
‫ואילוצים‬
‫הגדרת‬
‫מערכת‬ ‫תהליכי‬
1.‫תהליכי‬
‫מערכת‬
‫הגדרת‬
‫תוכנה‬ ‫תהליכי‬
3.‫תהליכים‬
‫פונקציונאליים‬
‫הגדרת‬
‫פונקציונאליים‬ ‫ממשקים‬/
‫לוגי‬ ‫מבנה‬/‫פונק‬.
4.‫מבנה‬
‫פונקציונאלי‬
‫הגדרת‬
‫משולב‬ ‫מבנה‬
2.‫מבנה‬
‫פיזי‬
‫הגדרת‬
‫הפיזי‬ ‫המבנה‬
5.‫מבנה‬
‫משולב‬
‫מקרא‬
‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬
‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬"
‫ביניים‬ ‫תוצרי‬
‫אנליזה‬
‫פונקציונאלית‬
‫רכיבים‬
‫פונקציונאליים‬
*‫מידע‬ ‫זרימת‬=input/output
‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
/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
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫המלאה‬ ‫הגרמושקה‬
©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
‫לדרישות‬ ‫עקיבות‬...
‫התהליכים‬ ‫הגדרת‬
‫בתהליכים‬ ‫התומכים‬ ‫המבנים‬
‫המבנים‬ ‫באמצעות‬ ‫התהליכים‬ ‫מימוש‬
‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬
‫ומסקנות‬ ‫סיכום‬
•‫של‬ ‫העקרוניות‬ ‫התכן‬ ‫החלטות‬ ‫אוסף‬ ‫את‬ ‫מכילים‬ ‫הגרמושקה‬ ‫רכיבי‬ ‫חמשת‬
‫תוכנה‬ ‫עתירת‬ ‫מערכת‬ ‫פיתוח‬
•‫גמישות‬ ‫ותאפשר‬ ‫שאפשר‬ ‫ככל‬ ‫יציבה‬ ‫תהיה‬ ‫שהארכיטקטורה‬ ‫רצוי‬
‫מקסימלית‬
–‫שונות‬ ‫תצורות‬
–‫הרחבות‬
–‫המשך‬ ‫דורות‬
–‫מוצרים‬ ‫קווי‬
–...
•‫ברורה‬ ‫להיות‬ ‫צריכה‬ ‫הארכיטקטורה‬,‫חד‬-‫ועקבית‬ ‫משמעית‬
–‫מודלים‬(‫שרטוטים‬)‫משוכללת‬ ‫בשפה‬,‫רק‬ ‫ולא‬block diagrams‫ו‬-flow charts
–‫מידול‬ ‫בכלי‬ ‫שימוש‬,‫ציור‬ ‫בכלי‬ ‫רק‬ ‫ולא‬
©Prof.AmirTomer
‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 20

More Related Content

More from Prof. Amir Tomer

There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...
Prof. Amir Tomer
 

More from Prof. Amir Tomer (11)

There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...There is a system out there! SW Engineering Education from Programming to Eng...
There is a system out there! SW Engineering Education from Programming to Eng...
 
Swis modeling
Swis modelingSwis modeling
Swis modeling
 
Swise arc2015
Swise arc2015Swise arc2015
Swise arc2015
 
Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013Sw ise modeling-tomer_2013
Sw ise modeling-tomer_2013
 
"Just Enough" System Modeling
"Just Enough" System Modeling"Just Enough" System Modeling
"Just Enough" System Modeling
 
Functional Specification with Use-Cases
Functional Specification with Use-CasesFunctional Specification with Use-Cases
Functional Specification with Use-Cases
 
Cost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse AlternativesCost Effectiveness of Software Reuse Alternatives
Cost Effectiveness of Software Reuse Alternatives
 
Software Modeling from Life Cycle Perspective
Software Modeling from Life Cycle PerspectiveSoftware Modeling from Life Cycle Perspective
Software Modeling from Life Cycle Perspective
 
Software Mangineeringment
Software MangineeringmentSoftware Mangineeringment
Software Mangineeringment
 
Applying system thinking to model-based software engineering
Applying system thinking to model-based software engineeringApplying system thinking to model-based software engineering
Applying system thinking to model-based software engineering
 
Extracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional ScenariosExtracting Quality Scenarios from Functional Scenarios
Extracting Quality Scenarios from Functional Scenarios
 

Sw arch-2019-tomer

  • 1. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫פרופ‬'‫תומר‬ ‫עמיר‬ ‫תוכנה‬ ‫להנדסת‬ ‫המחלקה‬ ‫ראש‬ tomera@mx.kinneret.ac.il ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 1 ©Prof.AmirTomer picture source: http://www.abone.co.il
  • 2. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ "‫גרמושקה‬"‫מהי‬? •"‫גרמושקה‬"‫מבנים‬ ‫בארכיטקטורת‬ ‫בסיסי‬ ‫מונח‬ ‫מהווה‬ –‫להכנתה‬ ‫מפורטות‬ ‫הנחיות‬ ‫קיימות‬ •‫ה‬ ‫אישור‬ ‫ללא‬ ‫בניה‬ ‫היתר‬ ‫לקבל‬ ‫ניתן‬ ‫לא‬ ‫בישראל‬"‫גרמושקה‬"‫ע‬"‫לתכנון‬ ‫וועדה‬ ‫י‬ ‫ובניה‬ –‫וצורתו‬ ‫מבנהו‬ ‫את‬ ‫וכשאישרתם‬ ‫הבית‬ ‫של‬ ‫עקרוני‬ ‫תכנון‬ ‫לאחר‬,‫ה‬‫אדריכל‬‫אמור‬ ‫מספר‬ ‫להכין‬ ‫זה‬ ‫בשלב‬‫תכניות‬‫אקורדיון‬ ‫בצורת‬ ‫ומקופלות‬ ‫ביניהן‬ ‫המחוברות‬ (‫השם‬ ‫מכאן‬–‫גרמושקה‬)‫לקבל‬ ‫מנת‬ ‫על‬‫בניה‬ ‫היתר‬* ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 2 * http://www.abone.co.il/articles/ ‫גרמושקה‬-‫תכנית‬-‫הגשה‬-‫מהי‬-‫ומה‬-‫היא‬-‫כוללת‬/ picture source: http://https://chenmizarc.wixsite.com/
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫מערכת‬ ‫תוכנה‬ ‫עתירת‬ ‫ציוד‬‫אנשים‬. . . ‫ארגון‬/‫עסק‬ ‫פריט‬ ‫חומרה‬ ‫פריט‬ ‫חומרה‬ ‫פריט‬ ‫תוכנה‬ . . .. . . ‫מערכת‬ ‫תוכנה‬ ‫עתירת‬ ‫רכיב‬ ‫תוכנה‬ . . . ‫פריט‬ ‫תוכנה‬ ‫יחידת‬ ‫תוכנה‬ . . . ‫יחידת‬ ‫תוכנה‬ ‫רכיב‬ ‫תוכנה‬ ‫משתמשי‬‫הארגון‬ ‫עניין‬ ‫בעלי‬ ‫אחרים‬ ‫ארכיטקטורה‬–‫איזור‬‫להנדסת‬ ‫המערכת‬ ‫הנדסת‬ ‫בין‬ ‫ההשקה‬ ‫התוכנה‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 4 ‫תוכנה‬‫הנדסת‬ ‫הנדסת‬‫מערכת‬ ‫איזור‬‫הארכיטקטורה‬
  • 5. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫רק‬ ‫איננה‬ ‫ארכיטקטורה‬"‫מבנה‬" •‫מהווה‬ ‫ארכיטקטורה‬‫עקרוניות‬ ‫החלטות‬ ‫של‬ ‫אוסף‬‫התכן‬ ‫את‬ ‫המכוונות‬/‫של‬ ‫הפיתוח‬ ‫בכללותה‬ ‫המערכת‬ –‫מבניות‬ ‫החלטות‬ •‫מרכיבים‬(‫ופונקציונאליים‬ ‫פיזיים‬) •‫ממשקים‬(‫ופונקציונאליים‬ ‫פיזיים‬) –‫התנהגותיות‬ ‫החלטת‬ •‫תהליכים‬/‫לוגיקה‬ •‫מרכיבים‬ ‫בין‬ ‫אינטראקציה‬(‫הממשקים‬ ‫באמצעות‬) •‫המערכת‬ ‫של‬ ‫הדינאמית‬ ‫הפונקציונאליות‬(‫המערכת‬ ‫תהליכי‬)‫ע‬ ‫בעיקר‬ ‫מושגת‬"‫י‬ ‫התוכנה‬ –‫חומרה‬ ‫על‬ ‫מותקנת‬ ‫תמיד‬ ‫התוכנה‬ ‫אבל‬ •‫תפקיד‬‫המבנה‬‫לתמוך‬ ‫הוא‬‫בתהליכים‬ –‫היא‬ ‫המוצא‬ ‫נקודת‬ ‫ולכן‬ •"‫לעשות‬ ‫צריכה‬ ‫המערכת‬ ‫מה‬" –‫ולא‬ •"‫בנויה‬ ‫להיות‬ ‫צריכה‬ ‫המערכת‬ ‫כיצד‬" ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 5
  • 6. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 6 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 7. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 7 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 9 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 11 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 12. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫פונקציונאלית‬ ‫אנליזה‬:‫והקצאה‬ ‫פונקציות‬ ‫הקבצת‬ ‫לרכיבים‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 12 ‫תוכנה‬ ‫פריטי‬ (‫פיזיים‬) ‫תוכנה‬ ‫רכיבי‬ (‫פונקציונאליים‬) ‫יכולות‬ ‫מוקצות‬ ‫רכיב‬ ‫לכל‬/‫פונקציות‬ ‫בפעילות‬ ‫המערכת‬ ‫מתהליכי‬ ‫שמוצו‬ ‫הפונקציונאלית‬ ‫האנליזה‬ Elevator C&CCentral C&CMaintenanceAdministration «CSCI» :Elevator SW «CSCI» :Server SW «manifest» «manifest»«manifest» «manifest»
  • 13. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 13 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 15 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫זרימה‬ ‫תרשים‬*‫מערכתית‬ ‫ארכיטקטורה‬ ‫לבניית‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 17 ‫דרישות‬ ‫ואילוצים‬ ‫הגדרת‬ ‫מערכת‬ ‫תהליכי‬ 1.‫תהליכי‬ ‫מערכת‬ ‫הגדרת‬ ‫תוכנה‬ ‫תהליכי‬ 3.‫תהליכים‬ ‫פונקציונאליים‬ ‫הגדרת‬ ‫פונקציונאליים‬ ‫ממשקים‬/ ‫לוגי‬ ‫מבנה‬/‫פונק‬. 4.‫מבנה‬ ‫פונקציונאלי‬ ‫הגדרת‬ ‫משולב‬ ‫מבנה‬ 2.‫מבנה‬ ‫פיזי‬ ‫הגדרת‬ ‫הפיזי‬ ‫המבנה‬ 5.‫מבנה‬ ‫משולב‬ ‫מקרא‬ ‫הארכיטקטורה‬ ‫בבניית‬ ‫פעולות‬ ‫הארכיטקטורה‬ ‫תוצרי‬:‫ה‬ ‫מרכיבי‬"‫גרמושקה‬" ‫ביניים‬ ‫תוצרי‬ ‫אנליזה‬ ‫פונקציונאלית‬ ‫רכיבים‬ ‫פונקציונאליים‬ *‫מידע‬ ‫זרימת‬=input/output ‫לפעולות‬ ‫מחייב‬ ‫סדר‬ ‫אין‬ ‫לכך‬ ‫פרט‬
  • 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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫המלאה‬ ‫הגרמושקה‬ ©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. ‫מערכות‬ ‫והנדסת‬ ‫תוכנה‬ ‫הנדסת‬ ‫ומסקנות‬ ‫סיכום‬ •‫של‬ ‫העקרוניות‬ ‫התכן‬ ‫החלטות‬ ‫אוסף‬ ‫את‬ ‫מכילים‬ ‫הגרמושקה‬ ‫רכיבי‬ ‫חמשת‬ ‫תוכנה‬ ‫עתירת‬ ‫מערכת‬ ‫פיתוח‬ •‫גמישות‬ ‫ותאפשר‬ ‫שאפשר‬ ‫ככל‬ ‫יציבה‬ ‫תהיה‬ ‫שהארכיטקטורה‬ ‫רצוי‬ ‫מקסימלית‬ –‫שונות‬ ‫תצורות‬ –‫הרחבות‬ –‫המשך‬ ‫דורות‬ –‫מוצרים‬ ‫קווי‬ –... •‫ברורה‬ ‫להיות‬ ‫צריכה‬ ‫הארכיטקטורה‬,‫חד‬-‫ועקבית‬ ‫משמעית‬ –‫מודלים‬(‫שרטוטים‬)‫משוכללת‬ ‫בשפה‬,‫רק‬ ‫ולא‬block diagrams‫ו‬-flow charts –‫מידול‬ ‫בכלי‬ ‫שימוש‬,‫ציור‬ ‫בכלי‬ ‫רק‬ ‫ולא‬ ©Prof.AmirTomer ‫תוכנה‬ ‫לארכיטקטורת‬ ‫השישי‬ ‫הישראלי‬ ‫הכנס‬-2019 20

Editor's Notes

  1. אודות הקורס