קורס

סדנא בנושא ארכיטקטורת תוכנה במערכות מורכבות יוני 2022בהנחה לחברי האיגוד

 החל מ- 13/06/2022
6 מפגשים

מטרה

מטרת הסדנה היא להאיר ולחדד את פעילות ארכיטקט התוכנה, הלכה למעשה, ולהתנסות, דרך תרגול של case-studies מציאותיים, בתהליך של בניית ארכיטקטורת תוכנה למערכת מורכבת. הסדנה מורכבת מ-3  נושאים, שיועברו במהלך שש פגישות מקוונות, בחלוקה הבאה (התוכנית המפורטת – בהמשך):

  1. כתיבת דרישות ותרחישים למערכת עתירת תוכנה;
  2. בניית ארכיטקטורה פונקציונאלית, מבוססת מודלים, על בסיס מפרטי הדרישות;
  3. התאמת הארכיטקטורה למאפייני איכות מערכתיים (דרישות לא-פונקציונאליות, Quality Attributes), על בסיס תרחישי איכות ודפוסי ארכיטקטורה נבחרים.

הסדנה מועברת במסגרת פעילות האיגוד בנושא הנדסת מערכות מבוססת-מודלים – MBSE והסדנה תלווה בcase-study- מתגלגל, בתרגילים ייעודיים ובדיונים פתוחים. לפחות 30% מהזמן יוקדש לתרגול.

רקע

התוכנה מהווה כיום את לב-ליבן של מערכות מורכבות בכל התחומים. פרט להיותה התווך המקשר והמתאם בין פונקציות המערכת השונות, על התוכנה מוטלת האחריות לדאוג להיבטים לא-פונקציונאליים (מאפייני איכות) רבים, וביניהם אמינות (reliability), זמינות (availability), בטיחות (safety), בטחון המידע והגנה על הנתונים (cyber security), שימושיות (usability) ועוד. במציאות של פיתוח מוצרים חדשים על בסיס מוצרים קודמים ופיתוח קווי-מוצרים חשיבותה של ארכיטקטורת התוכנה המערכתית גדולה עוד יותר ובנייתה דורשת התייחסות להיבטים נוספים, כגון גידול (scalability), יכולת שינוי (modifiability), תחזוקתיות (maintainability) ועוד. בשנים האחרונות גברה המודעות של התעשייה לצורך במינוי מהנדסי תוכנה בכירים לתפקידי "ארכיטקט תוכנה" או "מהנדס מערכת תוכנה", המלווים את מחזור חיי המוצרים, יחד עם כל צוות הנדסת המערכת. כניסתן של טכנולוגיות מידע, כגון Big Data, Cloud ועוד למערכות מורכבות מחזקת עוד יותר את חשיבותה ומרכזיותה של ארכיטקטורת התוכנה במערכת.

בעולם קיימת פעילות מחקרית ותעשייתית רבה סביב נושא ארכיטקטורות תוכנה וניתן למצוא כיום מגוון של גישות, שיטות, כלים, דפוסי ארכיטקטורה ותכן הנותנים מענה ומסגרות פתרון למגוון רחב של סוגיות רלוונטיות. שפות המידול, ובראשן UML, מגשרות בין שיטות בניית הארכיטקטורה לבין מימושה בפועל.

הכנה

התרגילים יתבצעו בכלי אופיס (word, excel) ובתוכנת StarUML גרסה 4.0. יש להוריד ולהתקין גירסה אישית של התוכנה (חינם וללא הגבלת זמן) מהאתר https://staruml.io

המרצה

פרופ' עמיר תומר שימש עד לאחרונה כראש המחלקה להנדסת תוכנה במכללה האקדמית כנרת בעמק הירדן, ומאחוריו למעלה מ-25 שנות הוראה אקדמית בטכניון, במוסדות אקדמיים שונים ובתעשייה. עמיר מרצה בתוכניות לתואר שני בהנדסת מערכות בטכניון ובאוניברסיטת בן גוריון. כמו כן, בעברו של עמיר שנות פעילות רבות בהנדסת תוכנה ומערכות ברפאל, בהן שימש עמיר כמפתח תוכנה, כמנהל פיתוח, כמהנדס מערכת וכממונה על תהליכי פיתוח התוכנה והנדסת המערכות בארגון. בנוסף, עמיר עבר הסמכה להנדסת מערכות (CSEP) מטעם INCOSE, לניהול פרויקטים (PMP) מטעם PMI וכמהנדס איכות תוכנה (CSQE) מטעם איגוד האיכות האמריקאי.

 

חלק 1: הגדרת דרישות תוכנה וניהולן

מפגש ראשון: בניית בסיס דרישות

09:00 - 10:45

התוכנה בראייה מערכתית

מערכת וסביבתה, מקורות של דרישות, התפתחות הדרישות במהלך הפרויקט, דרישות וסוגיהן, דרישות נסתרות ומאפייני איכות.

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

הגדרת דרישות

סינון והפרדה של דרישות, גזירה ועידון של דרישות, מאפיינים של דרישות, ניסוח נכון של דרישות, השפעת הדרישות על הארכיטקטורה, השפעת הדרישות על תהליך הפיתוח.

12:45 – 13:00

שאלות ותשובות

מפגש שני: כתיבת תרחישי דרישות

09:00 - 10:45

מדרישות לתרחישים פונקציונאליים

תרחישים פונקציונאליים / סיפורי משתמש  (user stories), בעלי עניין תפעוליים ושחקנים, Use Cases - התרחישים התפעוליים, Use Case Diagram, כתיבת מפרטי Use Cases באמצעות טקסט מובנה.

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

שיפור והרחבה של תרחישי הדרישות

עידון ושיפור התרחישים, שיקולי כתיבה ועריכה של תרחישים, תרחישי איכות (תרחישים המבוססים על דרישות ל"פ(, גזירת תרחישי איכות מתוך תרחישים פונקציונאליים.

12:45 – 13:00

סיכום והשלמות

 

חלק  2: בניית ארכיטקטורה פונקציונאלית, מבוססת מודלים,

על בסיס מפרטי הדרישות

(היום הזה ילווה בהתנסות hands-on באמצעות תוכנת StarUML)

מפגש ראשון: בניית ארכיטקטורה פונקציונאלית

09:00 - 10:45

הגדרת תהליך שיטתי מבוסס-מודלים לבניית ארכיטקטורה פונקציונאלית

העבודה המשותפת של הנדסת המערכת והנדסת התוכנה, ה"גרמושקה" של ארכיטקט התוכנה, ההיבטים השונים של ארכיטקטורה, שלבי התהליך השיטתי.

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

אנליזה פונקציונאלית: מדרישות לרכיבים

זיהוי הפונקציונאליות שבדרישות, הקבצת פונקציות לקבוצות/רבדים, עידון ההקבצה וזיהוי רכיבים פונקציונאליים (components), שיקולי make/buy/reuse , כולל שילוב רכיבי קוד פתוח.

12:45 - 13:00

שאלות ותשובות

מפגש שני: בניית ארכיטקטורה פונקציונאלית (המשך)

09:00 - 10:45

מימוש ה-UCs באמצעות אינטראקציה בין רכיבים ובניית ארכיטקטורה לוגית

sequence diagrams ברמת רכיבים, אינטראקציה סינכרונית וא-סינכרונית, זיהוי ממשקים מסופקים ונדרשים, הקצאת ממשקים לרכיבים ובניית ארכיטקטורה לוגית (component diagram)

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

השלמת ארכיטקטורה מערכתית משולבת

בניית ארכיטקטורה פיזית (deployment diagram) חלוקת הרכיבים לפריטי תוכנה (build, manifest), קישור בין ממשקים לוגיים לפיזיים באמצעות ports.

12:45 – 13:00

סיכום והשלמות

 

 

חלק 3: התאמת הארכיטקטורה למאפייני איכות מערכתיים

מפגש ראשון: תפקיד הארכיטקטורה והתאמתה לדרישות הלא-פונקציונאליות

09:00 - 10:45

מקומה של הארכיטקטורה במערכת ובפרויקט

פעילות היצירה והאחזקה של ארכיטקטורת התוכנה במהלך מחזור חיי המערכת/המוצר [דרישות, תכן, מימוש, מסירה ותחזוקה], ארכיטקטורה בתהליך פיתוח אג'ילי, ארכיטקטורה בקווי-מוצרים, קריטריונים לבחינה ולהערכה של ארכיטקטורה.

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

מאפייני איכות ותרחישי איכות

מאפייני איכות מערכתיים ומשמעויותיהם, תרחישים וטקטיקות תגובה למאפייני איכות מערכתיים בשימוש (run-time) [ביצועים, זמינות, פעולה‑משותפת, אבטחת מידע, שימושיות, ...] ובמימוש (design-time) [בדיקתיות, השתנות, יבילות, ...]

12:45 – 13:00

שאלות ותשובות

מפגש שני: טכניקות למימוש ארכיטקטורה

09:00 - 10:45

דפוסי ארכיטקטורה

דפוסי ארכיטקטורה נבחרים (Architecture patterns) ושימושיהם

Pipes & Filters, MVC, Broker, Peer-to-Peer, Blackboard, Pub/Sub, Map Reduce, micro-services

10:45 - 11:00

הפסקת קפה

11:00 - 12:45

שיפור ותחזוקה של הארכיטקטורה המערכתית

הוספת תרחישי איכות לתרחישים הפונקציונאליים, העשרת הארכיטקטורה הפונקציונאלית בדפוסי ארכיטקטורה לצורך מענה ל- Quality Attributes  (מאפייני איכות) מערכתיים

12:45 – 13:00

סיכום והשלמות

 
קהל יעד: ארכיטקטי תוכנה, מהנדסי מערכות תוכנה, מהנדסי מערכות רב-תחומיים העוסקים במערכות עתירות-תוכנה, מהנדסי תוכנה העוסקים בתכן.
מחירים לפני מע"מ קהל רחב חברי INCOSE_IL
מחיר 1,950 ש"ח 1,500 ש"ח

ביטול השתתפות אחרי ה- 29.05.2022 בתשלום מלא.
במידה והמשתתף או החברה בה הוא עובד יצטרפו לחברות בארגן יקוזז התשלום מדמי החברות.

הפעילות בוצעה ב - 13/06/2022

הרשמה אונליין

קהל רחבחברי INCOSE_IL
מחיר (לפני מע"מ) ₪1950 ₪1500