ארכיטקטורת תוכנה
הנדסת תוכנה |
---|
ערך זה שייך לקטגוריית הנדסת תוכנה |
פעילויות ושלבים |
דרישות • ניתוח • אפיון • ארכיטקטורה • עיצוב • תכנות • ניפוי שגיאות • בדיקה • אימות • בנייה • פריסה • תפעול • תחזוקה |
מתודולוגיות |
זריזות • מפל המים • תכנת ותקן • Crystal Clear • Scrum • Unified Process • Extreme Programming • אינטגרציה רציפה • DevOps |
תחומים תומכים |
ניהול פרויקטים • ניהול תצורה • תיעוד • הבטחת איכות • Profiling |
כלים |
מהדר • מקשר • מפרש • IDE • ניהול גרסאות • אוטומציית בנייה |
ארכיטקטורה היא התחום העוסק בתכנון מערכות תוכנה. המונח ארכיטקטורה בהנדסת תוכנה פירושו ייצוג היבטים שונים של התוכנה באופן מופשט. ארכיטקטורה של מערכות תוכנה היא לפיכך תכנון מופשט של ההיבטים השונים של התוכנה, היחסים בין המרכיבים השונים של התוכנה והחוקים החלים עליהם.
חשיבותה של ארכיטקטורה
מחקרים ראשונים בתחום זה נעשו כבר בשנות ה-60 של המאה ה-20, אבל חשיבותו עלתה מאד החל משנות ה-90 בשל הגודל והמורכבות של מערכות התוכנה (ראו גם משבר התוכנה). ארכיטקטורה של מערכת תוכנה עוסקת לעיתים גם בהגדרת מבנה התוכנה בקנה מידה בינוני וקטן, אך לרוב מתמקדת בהגדרת המבנים העיקריים, הממשקים החיצוניים והתהליכים העיקריים של התוכנה. עדיין אין הסכמה בתעשייה באשר להיבטים השונים של התוכנה הנדרשים להכלל כחלק מהארכיטקטורה, אם כי יש דרך תקנית לתיאור חלק מההיבטים באמצעות שפת המידול המאוחדת UML.
דיסצפלינות הארכיטקטורה
- ארכיטקטורת יישומים היא הדיסצפלינה העוסקת במבנה הפנימי של התוכנה, תתי-המערכות והרכיבים המרכיבים אותה, היחסים השונים ביניהם והממשקים החיצוניים של התוכנה.
- ארכיטקטורת אינטגרציה היא הדסצפלינה העוסקת בחיבור וקישוריות של מערכות תוכנה, הפעלה-הידודית, הגדרה ותיחום שירותים וניהול תהליכים עסקיים.
- ארכיטקטורה ארגונית
- ארכיטקטורת תקשורת
- ארכיטקטורת אבטחת מידע
- ארכיטקטורה תפעולית
סגנונות בארכיטקטורה
הסמכה
העוסקים בתחום, נוסף על היותם מהנדסי תוכנה נקראים גם "ארכיטקטים של מערכות תוכנה". לרוב מדובר במהנדסי תוכנה בעלי ניסיון של לפחות 10 שנים בפיתוח תוכנה. הסמכה בינלאומית בתחום זה ניתנת על ידי ה-Open Group. נוסף על כך, לחברת IBM יש תוכנית הסמכה בינלאומית המוכרת על ידי ה-Open Group.
ראו גם
קישורים חיצוניים
- תוכנית ההסמכה של ה-Open Group
- Big Ball of Mud - דיון בנושאי עיצוב וארכיטקטורת תוכנה