אינטגרציה של מערכות מורכבות לכנס יוני 2015 בטכניון

‫טכניון‬
‫עוזי אוריון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫הנדסת מערכות‬
‫חומר לכנס אינטגרציה וממשקים‬
‫בטכניון – ‪ 8‬ביוני ‪2015‬‬
‫אינטגרציה של מערכות מורכבות‬
‫(אינטגרציה‪ ,‬מודולאריות‪ ,‬צימוד [‪,]Coupling‬‬
‫לכידות [‪ ]Cohesion‬ועוד)‬
‫עוזי אוריון‬
‫יזום ופיתוח טכנולוגי‬
‫אלביט מערכות אלקטרו‪-‬אופטיקה אלאופ‬
‫חבר הנהלת האיגוד הישראלי‬
‫להנדסת מערכות‬
‫לשעבר‪-‬נשיא האיגוד‬
‫מרצה בטכנון וב‪HIT-‬‬
‫תוכן‬
‫‪1‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫נושאי ההרצאה‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫‪ 1‬תכנון וניהול אינטגרציה של מערכות טכנולוגיות‬
‫‪1.1‬‬
‫‪1.2‬‬
‫‪1.3‬‬
‫‪1.4‬‬
‫‪1.5‬‬
‫למה צריך אינטגרציה‬
‫בדיקות בתהליך האינטגרציה‬
‫גישות לתכנון האינטגרציה‬
‫עקרונות תכנון אינטגרציה אפקטיבית‬
‫דוגמה לתכנון אינטגרציה של מוצר מורכב‬
‫‪ 2‬מודולאריות‪ ,‬צימוד ולכידות‬
‫‪ 2.1‬מודולאריות‬
‫‪ 2.2‬צימוד (‪)Coupling‬‬
‫‪ 2.3‬לכידות (‪)Cohesion‬‬
‫‪ 3‬סיכום‬
‫‪2‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫ביצת הסיבוכיות‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
Small Worlds
• Low # steps
• High local clustering
• Hubs
• Tipping points
Scale-Free
Networks
Form via growth
and preferential
Complex attachment
Dynamics
Adaptive
Systems
• Synchronization, physical and animate
• Phase transitions
Indicate
Lead to
Power Law
Distributions
Self-organization,
self-persistence
Edge of Chaos = Life
Chaos
)“Butterfly effect”(
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
Complexity
Fractals
Strange Attractors
Small changes big effects
Changes from order through
oscillation to chaos
Entropy as a measure
3
‫טכניון‬
‫עוזי אוריון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫הנדסת מערכות‬
‫‪ .1‬תכנון וניהול אינטגרציה‬
‫של מערכות טכנולוגיות‬
‫‪4‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫למה צריך לבצע תהליך אינטגרציה?‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫במערכות מורכבות יש צורך למצוא מוקדם ככל האפשר בעיות לא‬
‫צפויות ולפתור אותם‪ :‬חוסר ידע‪ ,‬טעויות תכן‪ ,‬הנחות שגויות‪ ,‬חוסר בשלות‬
‫טכנולוגית‪ ,‬אי הבנת הדרישות‪ ,‬השפעות בלתי צפויות‬
‫לאינטגרציה תפקיד חשוב בתהליך הורדת הסיכונים במהלך הפיתוח‬
‫היעד‪ :‬ביצוע אפקטיבי של תהליך האינטגרציה בזמן מינימאלי על מנת‬
‫לוודא ש‪:‬‬
‫המערכת מתאימה לצרכי הלקוח וסביבת פעולתה‬
‫אימות‪ - Verification-‬אימות התאמת תוצרי הפיתוח לדרישות‪ ,‬מפרטים‪ ,‬תקנים‪,‬‬
‫חוקים‪ ,‬תקנות וכד'‬
‫תיקוף‪ - Validation-‬תיקוף התאמת המוצר וחלקיו לצרכי הלקוח ולשימוש‬
‫המיועד‬
‫בדיקת תקינות הממשקים שבין החלקים‪ ,‬בדיקת הפעולה‬
‫המשותפת של החלקים (חיפוש קשרים בלתי צפויים)‬
‫בדיקת רובוסטיות ופתיחת מעטפת הביצועים של המערכת‬
‫מציאת שגיאות וליקויי תכן‬
‫הורדת הסיכונים הטכנולוגיים לרמה נמוכה מאד‬
‫שניתן להזמין‪ ,‬לייצר‪ ,‬לתת שרות‪ ,‬להתקין לתחזק ולגרוט את המערכת‬
‫שהמערכת מתאימה ליעדים העסקיים‬
‫‪5‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫מאפייני תהליך האינטגרציה‬
‫בפרויקט מורכב רב תחומי‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫התהליך ממושך (ארוך יותר ככל שהמורכבות גדלה או שיש סיכונים‬
‫טכנולוגיים רבים יותר)‬
‫מתבצע לקראת סוף תהליך הפיתוח וסופג את פיגורי השלבים‬
‫הקודמים‬
‫מורכב לניהול‪ :‬ריבוי דיסציפלינות ומומחים‪ ,‬תרבויות שונות‪ ,‬עדיפויות‪,‬‬
‫הפתעות‬
‫חלק מהתהליך עלול להיות בלתי יעיל‪ .‬קשה לתזמנו‪ ,‬לתכננו‪ ,‬במיוחד‬
‫במקרים של בעיות רבות בלתי צפויות‬
‫לעיתים פתרון בעיות גורר תקלות בלתי צפויות במקומות בלתי צפויים‬
‫חוסר הכנה מספקת‪ ,‬כגון מחסור בדגמים‪ ,‬צב"דים‪ ,‬סימולטורים‪,‬‬
‫סימולציות‪ ,‬אמצעי שינוע וכ"א מיומן בזמן‪ ,‬עלולה למנוע עבודה‬
‫במקביל ועקב כך לגרום להתמשכות מיותרת של התהליך‬
‫התהליך רגיש לסדר הגעת החלקים לתהליך האינטגרציה ומותנה‬
‫במוכנות החלק האחרון או הדיסציפלינה האחרונה‪ .‬כניסה מוקדמת‬
‫מדי עלולה לגרום לבעיות שנובעות מחוסר בשלות התכן‪.‬‬
‫‪6‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫סוגי הבדיקות במהלך תהליך האינטגרציה‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫בדיקות יחידה (בדיקות חומרה‪ ,‬קושחה ותוכנה)‬
‫בדיקת ממשקי חומרה\תוכנה‪ ,‬נתונים‪)HMI ,‬‬
‫בדיקות מערכתיות (פונקציונאליות‪ ,‬ביצועים)‬
‫הפעלה (קרה‪ ,‬חמה‪ ,‬שיקום מתקלות)‬
‫בדיקות בדיקתיות ואחזקה (תפקוד וכיסוי ה‪ BIT-‬וניטור בריאות‬
‫המערכת‪ ,‬כיסוי הבדיקות ויכולת בידוד התקלות‪ ,‬משכי ולוגיסטיקת‬
‫התחזוקה)‬
‫בדיקות התקנה‬
‫בדיקות שימושיות (‪)Usability‬‬
‫בדיקות אמינות ואורך חיים‬
‫בדיקות רובוסטיות‬
‫בדיקות תנאי סביבה‬
‫בדיקות העמסה‬
‫בדיקות מודולאריות‬
‫בדיקות התנהגות מתפתחת (‪)Emergent‬‬
‫בדיקות דינמיות‬
‫בדיקות התאמת וממשקי מערכות ‪Legacy‬‬
‫‪7‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫תהליך בדיקות האינטגרציה‬
‫עוזי אוריון‬
Component
Unit
Test
Component
‫הנדסת מערכות‬
Unit
Test
Design
specifications
Design
Functional
specifications
Performance
specifications
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
Stakeholder
requirements
User
environment
Integration Functional Performance Acceptance Installation
test
test
test
test
test
Component
Integrated
modules
Functioning
system
Verified,
validated
system
Unit
Test
Accepted
system
System
in use
Source: Pfleeger and Atlee, Software Engineering - Theory and Practice
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
8
SoS-‫תהליך בדיקות האינטגרציה ב‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
SoS
specifications
SoS
Functional
specifications
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
Performance
specifications
Load/stress
specifications
Stakeholder
requirements
User
environments
SoS
Performance
test
SoS
Stress
test
SoS
Acceptance
test
SoS
Installation
tests
Sys.
Test
Sys.
Test
Sys.
Test
SoS
Integration
test
SoS
Functional
test
Integrated
modules
Functioning
system
Verified &
validated
SoS
Functionally
Accepted
SoS
SoS
in use
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
9
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫בדיקות ממשקים‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫במערכות מורכבות יש להתייחס בחשדנות לממשקי מערכות ותיקות‬
‫(‪ )Legacy‬מבחינת עמידה בתקנים החדשים ויכולתם לעמוד בקצב‬
‫נתונים ועיבוד מתקדם‬
‫חשוב לוודא‪ ,‬חומרתית‪ ,‬את נכונות ופונקציונאליות החיבור של כל‬
‫מחבר (פנימי וחיצוני)‬
‫לוודא התאמת הממשקים לכל שלב מחזורי החיים של המוצר‬
‫(לדוגמה‪-‬ממשקי תחזוקה ובדיקה לאחר תיקון)‬
‫לבדוק את יעילות ממשקי ה‪ HMI-‬מבחינת התאמה תפקודית‪,‬‬
‫אינטואיטיביות והענות לעומסי העבודה הנדרשים‬
‫לוודא התאמת המערכת למשתמשים מבחינת הנדסת גורמי אנוש‬
‫(גובה ההתקנות וההפעלה‪ ,‬מימדי הכפתורים ומיקומם‪ ,‬מימדי‬
‫התצוגות ומיקומם‪ ,‬מבנה המסכים ומיקום המידע שעליהם‪ ,‬התאמה‬
‫לתהליכי העבודה של המשתמשים‬
‫לעקוב אחרי רישום ותיקון הבעיות שהתגלו בבדיקות הממשקים‬
‫‪10‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫גישות עקרוניות לתהליך האינטגרציה‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫במערכות "פשוטות"‪ ,‬יש להפריד בתהליך התיכון‪ ,‬בין המכלולים‪,‬‬
‫בצורה שתאפשר תהליך אינטגרציה שלם ככל האפשר על כל אחד‬
‫מהם‪ .‬חלוקה נכונה בין המכלולים תביא לכך שתקלה במכלול לא‬
‫תפריע להתקדמות האינטגרציה בערוצים אחרים‪ .‬הפרדה זו טובה גם‬
‫לצרכי ייצוריות‪ ,‬ותחזוקה‬
‫במערכות מורכבות יש לוודא שכמות הממשקים והמשובים תאפשר‬
‫לקבל מספיק מידע שיאפשר מניעת התפתחות של התנהגויות‬
‫מתפתחות (‪)Emergent behavior‬‬
‫‪11‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫גישות עקרוניות לתהליך האינטגרציה‬
‫מכלול‬
‫תת מערכת‬
‫מערכת‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫מרכיב‬
‫מרכיב‬
‫סימולטורים‬
‫סימולטורים‬
‫מכלול‬
‫דימוי סביבה‬
‫וסימולטורי ממשקים‬
‫תת מערכת‬
‫הגישה ההיררכית‬
‫מתאימה למערכות בהם הרכיבים הפיזיים הינם הסיכון הטכנולוגי הגבוה‬
‫עוקבת אחרי הלוגיקה של ההיררכיה הפיזית של המערכת‬
‫הגישה התפקודית (הפונקציונאלית)‬
‫מתאימה למערכות בהם התפקודים הינם סיכוניים‬
‫משלבת תפקודים המערכת שלמים‬
‫פעולה חלקית של כל המערכת מתקבלת כבר בשלבים מוקדמים של תהליך‬
‫האינטגרציה‬
‫יש להשלים חלקים במכלולים שונים על מנת לאפשר את התהליך‬
‫‪12‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫אינטגרציה מתמשכת‬
‫בניה רציפה‬
‫הוצאת לקחם פועלים מהיום‬
‫הראשון‬
‫בדיקות מהיום הראשון‬
‫אינטגרציה מהיום הראשון‬
‫=>המערכת תמיד בת ריצה‬
‫נדרשים כלי תמיכה‬
‫משולבים‪:‬‬
‫‪Spread‬‬
‫‪SheetView‬‬
‫‪C‬‬
‫‪Currency‬‬
‫‪DataBase‬‬
‫‪Layer I‬‬
‫‪B‬‬
‫‪A‬‬
‫‪Data‬‬
‫‪Model‬‬
‫‪Calculator‬‬
‫‪F‬‬
‫‪+ File Storage‬‬
‫‪13‬‬
‫הנדסת מערכות‬
‫‪Main‬‬
‫‪Currency‬‬
‫‪Converter‬‬
‫שרת לאיחסון המידע‬
‫המצטבר‬
‫בדיקות אוטומטיות עם כיסוי‬
‫גבוה‬
‫שיפורי קוד נתמכים ע"י כלים‬
‫ניהול תצורה‬
‫ניהול הסוגיות‬
‫עוזי אוריון‬
‫‪E‬‬
‫‪XMLFile‬‬
‫‪Storage‬‬
‫‪+ Cells‬‬
‫‪+ Addition‬‬
‫‪Layer II‬‬
‫‪D‬‬
‫‪Layer III BinaryFile‬‬
‫‪Storage‬‬
‫‪Sheet‬‬
‫‪View‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫אינטגרציה מבוססת סיכונים‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫האינטגרציה מתבססת על רמת הקריטיות וחוסר המידע של היחידות‬
‫השונות‪ .‬מתחילים ביחידות או במרכיבים המורכבים ביותר או הפחות‬
‫ודאיים‬
‫הערכת הסיכונים בשלבים‬
‫מוקדמים של הפרויקט‬
‫תכנון מערכתי‬
‫תכנון מפורט והזמנת רכיבים‬
‫עם תיעדוף על פי סיכונים‬
‫הרכבת מרכיבים בסיכון גבוה‬
‫אינטגרצית מרכיבים בסיכון גבוה‬
‫הרכבת מרכיבים בסיכון בינוני‬
‫אינטגרצית מרכיבים בסיכון בינוני‬
‫הרכבת מרכיבים בסיכון נמוך‬
‫אינטגרצית מרכיבים בסיכון נמוך‬
‫אינטגרצית מערכתית‬
‫‪14‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫שילובי מרכיבים‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫יש לבדוק כל מרכיב ברמת האינטגרציה הנמוכה ביותר האפשרית‪,‬‬
‫בצורה מלאה ככל האפשר‬
‫להשלמת חלקי המערכת החסרים‪ ,‬יש להשתמש בסימולטורים‬
‫מרכיבי ה‪ COTS-‬ואלו שפותחו ע"י קבלני משנה‪ ,‬הם מרכיבים‬
‫סיכוניים‪ .‬ככל שהמרכיב סיכוני יותר‪ ,‬יש לבדוק אותו בצורה יסודית‬
‫יותר‬
‫יש להבטיח פעולה רובוסטית של כל מרכיב ושל כל קבוצות המרכיבים‬
‫‪15‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫התוכנית הראשית‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫מכלול‬
‫תת מערכת‬
‫מערכת‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫מרכיב‬
‫מרכיב‬
‫סימולטורים‬
‫סימולטורים‬
‫מכלול‬
‫דימוי סביבה‬
‫וסימולטורי ממשקים‬
‫תת מערכת‬
‫התוכנית הראשית של תהליך האינטגרציה צריכה להתבצע מהסוף‬
‫(מערכת שלמה ובדוקה) להתחלה (קיימים הרכיבים הנחוצים)‬
‫פירוט מסלולי האינטגרציה צריך להיות על פי לוגיקת האינטגרציה (לא‬
‫בהכרח על פי ההיררכיה הפיזית של המרכיבים)‬
‫תכנון מפורט של תהליך האינטגרציה צריך להתבצע מההתחלה לסוף‬
‫‪16‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫תכנון מפורט של שלב‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫תשתיות‬
‫מכלול‬
‫מכלול‬
‫מכלול‬
‫מרכיב‬
‫מרכיב‬
‫סימולטורים‬
‫בכל שלב בתהליך האינטגרציה‪ ,‬יש לזהות את‪:‬‬
‫הרכיבים הפרוייקטאליים הדרושים לביצוע השלב‬
‫הדיסציפלינות המשתתפות (יסומנו בצבעי קוד)‬
‫זיהוי הדיסציפלינה המובילה (תסומן כעליונה)‬
‫תעוד נדרש (כגון התהליך הספציפי לשלב‪ ,‬תהליכי בדיקה‪ ,‬תוצאות צפויות)‬
‫תשתיות נדרשות (כ"א יעודי‪ ,‬צב"ד יעודי‪ ,‬סימולטורים‪ ,‬ספקי כח מיוחדים‪,‬‬
‫מעבדות‪ ,‬שטח בעל דרישות מיוחדות‪ ,‬אמצעי שינוע‪ ,‬שטחי ניסויים ובדיקות)‬
‫תנאי כניסה לשלב‬
‫תנאי יציאה‬
‫‪17‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫דוגמה לתכנון אינטגרציה של מוצר מורכב‬
OVU General Integration
OLU
Chassis
Lens
Assemblies
OLU's OptoMechanical
Module
Window
Folding
Mechanism
Window
Assembly
Electronic
Module
Chassis
Control
Panel (CP)
CP CCA
I/O CCA
‫כנס אינטגרציה‬
‫וממשקים‬
Integration
in Platform
OptoMechanical
Integration
OVU
Integration
Window unit
CP
chassis
‫טכניון‬
Electronic
Integration
OLU's
Electronic
Module
Operation
Computer
Systems
Mech.
Mech.
Optics
Eng.
Analysis
Nav &
Control
Elect.
HW
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
Elect.
FPGA
RT SW
Power
Dist.
IP
Dev.
Assy
18
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫דוגמה לתכנון אינטגרציה של מוצר מורכב‬
Commercial Commercial
Display
Control
Mech.
Chassis
Chassis
Chassis
Chassis
Assy.
Assy.
Assy.
Electronic
Electronic
Chassis
Chassis
Assy.
Assy.
I/O
I/O
I/O
Integration
Integration
Integration
MB CCA
Filter
Board
CCA
Interface
Assy.
OLU
Electronic
Module
GNG
TE
GNG
TE
I/O CCA
GNG
TE
Interface
CCA
BUE CCU
IX Assy.
Nav &
Control
Elect.
HW
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
Cover
Assy.
BUE
Harness
OLU Opto-Mechanical
Module Integration
Systems
Mech.
Mech.
Optics
Eng.
Analysis
‫כנס אינטגרציה‬
‫וממשקים‬
To Elect.
Integration
LVPS
LVPS
Assy.
Assy.
GNG
TE
‫טכניון‬
Cooling
FAN
IX
Harness
Elect.
FPGA
RT SW
Power
Dist.
IP
Chassis
Cover
Dev.
Assy
19
‫עוזי אוריון‬
‫הנדסת מערכות‬
Utility #1
Electronics
‫דוגמה לתכנון אינטגרציה של מוצר מורכב‬
Utility #1
HW/SW
HW/SW
Integration
Integration
SW
simulator
Matlab RTW
Environment
Focus Control
Loop HW
Focus
Tables
Motor
Current
Limit in HW
HW/SW
Utility
Integration
Integration
MCB
Basic SW
Focus Control
Algorithm
Integration
Focus Control
Integration
Integration
Integration at
Integration
Room Temp.
Insert Focus
Tables to
FPGA
Systems
Mech.
Mech.
Optics
Eng.
Analysis
Nav &
Control
Elect.
HW
,‫ להפיץ‬,‫ לצלם‬,‫ אין להעתיק‬.‫ כל הזכויות שמורות לעוזי אוריון‬2015 ©
‫ ללא רשות מוקדמת ובכתב מהמחבר‬,‫ או לשכפל בכל אמצעי שהוא‬,‫לשדר‬
Elect.
FPGA
RT SW
Active Bench
+ Mech. Position
Sensors
Integration
Check Focus Mech-Optics
Integration
Integration
Control Loop Integration
Integration
at Full Temp.
Range
Focus
3 Focus
Mechanism
Mechanisms
Assy.
Assy.
3*(Focus Lens+
Housing+ Motor
+Rail+ Balance
Mechanism)
‫כנס אינטגרציה‬
‫וממשקים‬
Integration
Focus Span
Integration
Limits in HW
Focus Lens+
Housing+ Motor
+Rail+ Balance
mechanism
Integration
Repeat on 3
Integration
Integration
Focus
Integration
Mechanism
Prototypes
‫טכניון‬
Environment
Chamber
3*(Active Bench
+ Mech. Position
Sensors)
Power
Dist.
IP
Dev.
Assy
20
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫איטגרציה‪-‬סיכום‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫יש לתכנן‬
‫יש להתכונן‬
‫יש לחזות (התנהגות המוצר)‬
‫כדאי להשתמש בכלים ממוחשבים לניהול ניסויים‬
‫‪21‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫עוזי אוריון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫הנדסת מערכות‬
‫‪ 2‬מודולאריות‪ ,‬צימוד ולכידות‬
‫נושאים בחשיבה מערכתית לתכן מערכות‬
‫מורכבות‬
‫‪22‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫מודולאריות (‪)Modularity‬‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫רמת המודולאריות נקבעת בזמן התכן הארכיטקטוני וניתוח תפקודי‬
‫המערכת‬
‫מודולריות תומכת בעצמאות המרכיבים ועקב כך גם במבנה ההיררכי‬
‫של החומרה‪/‬תוכנה‬
‫המודולריות משפרת את הבנת התכן ומקלה על יישומו‪ ,‬מפחיתה את‬
‫עלויות הבדיקה‪ ,‬תיקון התקלות והתחזוקה‪ ,‬מגדילה את כמויות הייצור‬
‫ומשפרת את רמת ה‪Reuse-‬‬
‫‪23‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫צימוד‪)Coupling( ...‬‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫המודולים "עצמאיים" (‪ )Decoupled‬כאשר מודול יכול לתפקד ללא‬
‫נוכחות כלל של מודולים אחרים‬
‫חוזק הצימוד נקבע במהלך התכן הארכיטקטוני‬
‫רצויה עצמאות בין מודולים‬
‫ניתן לשנות כל מודול בנפרד‬
‫כל מודול יכול להיות מיושם ולהיבדק בנפרד‬
‫עצמאות המודולים מורידה את עלות התכנות והתוכנה‬
‫במערכת‪ ,‬מודולים חייבים לשתף פעולה אחד עם השני‪ ,‬לכן לא כל‬
‫המודולים יכולים להיות עצמאיים‬
‫ככל שיש יותר קשרים בין המודולים‬
‫הם יותר תלויים‬
‫נדרש יותר ידע על המודול האחר כדי להבין את פעולת המודול המתוכן או‬
‫הנבדק‬
‫צימודים (ממשקים) נדרשים תמיד‪ ,‬לתמיכה בתקשורת‬
‫‪24‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫צימוד‪)Coupling( ...‬‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫מודולים בעלי "צימוד חזק" מחוברים על ידי קישורים חזקים‬
‫יוצא בזה‪ ,‬שלמודולים בעלי "צימוד חלש" יש מעט קישורים‬
‫‪Uncoupled‬‬
‫‪- -‬‬‫‪Loosely‬‬
‫‪Highly‬‬
‫‪coupled‬‬
‫‪coupled‬‬
‫‪no dependencies‬‬
‫‪some‬‬
‫‪many‬‬
‫‪dependencies‬‬
‫‪dependencies‬‬
‫צימוד נחלש אם‬
‫מודולים אחרים משתמשים רק בממשקים מוגדרים של המודול‬
‫מידע עובר אך ורק ע"י פרמטרים‬
‫צימוד מתחזק אם‬
‫יש בשימוש ממשקים עקיפים‪ ,‬ו‪/‬או מעורפלים (למשל העברת רשומה כאשר‬
‫יש צורך רק בשדה ממנה)‬
‫צימוד מתחזק עם מורכבות הממשקים‪ .‬לדוגמא מספר ומורכבות הפרמטרים‬
‫משתנים משותפים שמשמשים לתקשורת‬
‫‪25‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫צימוד‪)Coupling( ...‬‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫צימוד חזק‬
‫צימוד תוכן‬
‫רכיב אחד משנה נתונים פנימיים של מודול אחר‪ .‬לא מומלץ‬
‫צימוד משותף‬
‫ארגון נתונים באחסון נתונים משותף‪ .‬יותר טוב אבל תלויות עדין קיימות‬
‫צימוד חלש‬
‫צימוד בקרה‬
‫רכיב אחד מעביר פרמטרים לבקרת רכיב אחר‬
‫צימוד טבוע‬
‫(‪)Stamp coupling‬‬
‫העברת מבנה נתונים מרכיב אחד למשנהו‬
‫צימוד נתונים‬
‫העברת נתונים בלבד‪ .‬לא מבני נתונים‬
‫נמוך‬
‫‪26‬‬
‫ללא צימוד‬
‫שינוי ברכיב אחד לא משפיע על כל מרכיב אחר‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫לכידות (‪)Cohesion‬‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫שיטה נוספת להקטנת הצימוד היא על ידי ניצול מרבי של קשרים של‬
‫אלמנטים באותו מודול‬
‫לכידות ‪ -‬קביעת מידת הקרבה שאלמנטים של מודול מסויים קשורים‬
‫זה לזה‬
‫הלכידות נותנת קנה מידה ליד כמה החלקים השונים של מודול שייכים‬
‫זה לזה‬
‫המטרה‪-‬יצירת לכידות גבוהה‬
‫לכידות וצימוד קשורים זה בזו‪ :‬לכידות גדולה יותר של מודולים צימוד‬
‫נמוך בין המודולים‬
‫המתאם אינו מושלם‬
‫‪27‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫רמת הלכידות‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫ישנן רמות רבות של לכידות‬
‫מקרית (‪)Coincidental‬‬
‫הגיונית (‪)Logical‬‬
‫תזמונית (‪)Temporal‬‬
‫תקשורתית (‪)Communicational‬‬
‫סידרתית (‪)Sequential‬‬
‫תפקודית (‪)Functional‬‬
‫מקרי הוא הנמוך ביותר‪ ,‬תפקודי הוא הגבוה ביותר‬
‫קנה המידה אינו ליניארי‬
‫לכידות תפקודית נחשבת חזקה מאוד‬
‫‪28‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫רמת הלכידות‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫לכידות גבוהה‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫תפקודית (‪)Functional‬‬
‫לכידות אידאלית‪ :‬כל אלמנטי העיבוד חיוניים לביצוע תפקוד אחד שלם‬
‫סידרתית (‪)Sequential‬‬
‫פלט מאלמנט אחד של מרכיב הוא הקלט של אלמנט אחר של הרכיב‬
‫תקשורתית (‪)Communicational‬‬
‫קיבוץ תפקודים ברכיב אחד רק בגלל שהם מייצרים את אותו סט נתונים‬
‫פרוצדוראלית (‪)Procedural‬‬
‫קיבוץ תפקןדים ברכיב אחד רק כדי להבטיח את הסדר הנכון של הביצוע‬
‫תזמונית (‪)Temporal‬‬
‫פונקציות קשורות על ידי בעיות תזמון בלבד ‪ -‬קשה לבצע שינויים‬
‫לוגית (‪)Logical‬‬
‫תפקודים הקשורים הגיונית או אלמנטי נתונים מרוכזים באותו הרכיב‬
‫לכידות נמוכה‬
‫‪29‬‬
‫מקרית (‪)Coincidental‬‬
‫ריכוז של מרכיבים שחלקיהם אינם קשורים‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫סיכום‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫מערכות מורכבות מאופיינות בדינמיקה שלהם ובפוטנציאל של כניסה‬
‫למצבים לא מתוכננים‪ .‬התכן‪ ,‬רמת המודולאריות‪ ,‬רמת אי הצימוד‬
‫והלכידות‪ ,‬חייבים לאפשר שליטה בנושאים הללו ופעילות רובוסטית‬
‫בכל סיטואציה אפשרית‪ .‬המטרה היא למצוא את התכן הטוב ביותר‬
‫במהלך האינטגרציה‪ ,‬יש לבדוק כל מרכיב מערכתי לעומק‪ ,‬כבר‬
‫ברמות הנמוכות של האינטגרציה‪ .‬לצורך כך‪ ,‬יש להשלים יכולות‬
‫מערכתיות חסרות בסימולטורים מיוחדים שיפותחו לקראת ביצוע‬
‫האינטגרציה‬
‫בעת הניתוח התפקודי והתכן האריטקטוני‪ ,‬יש לשאוף לצימוד נמוך‬
‫ולכידות גבוהים שיאפשרו תכן אופטימאלי תוך שמירה על יכולת‬
‫מניעת או שליטה בהתנהגויות חריגות או לא צפויות‬
‫‪30‬‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬
‫טכניון‬
‫כנס אינטגרציה‬
‫וממשקים‬
‫‪31‬‬
‫עוזי אוריון‬
‫הנדסת מערכות‬
‫© ‪ 2015‬כל הזכויות שמורות לעוזי אוריון‪ .‬אין להעתיק‪ ,‬לצלם‪ ,‬להפיץ‪,‬‬
‫לשדר‪ ,‬או לשכפל בכל אמצעי שהוא‪ ,‬ללא רשות מוקדמת ובכתב מהמחבר‬