| **הנדסת תוכנה** |
| --- |
| ערך זה שייך לקטגוריית הנדסת תוכנה |
| **פעילויות** ו**שלבים** |
| דרישות • ניתוח • אפיון • ארכיטקטורה • עיצוב • תכנות • דיבוג • בדיקה • אימות • בנייה • פריסה • תפעול • תחזוקה |
| **מתודולוגיות** |
| זריזות • מפל המים • תכנת ותקן • Crystal Clear • Scrum • Unified Process • Extreme Programming • אינטגרציה רציפה • DevOps |
| **תחומים תומכים** |
| ניהול פרויקטים • ניהול תצורה • תיעוד • הבטחת איכות • Profiling |
| **כלים** |
| מהדר • מקשר • מפרש • IDE • ניהול גרסאות • אוטומציית בנייה |

במחשבים, המושג **פריסת תוכנה** (באנגלית: **software deployment**, ובעברית לעיתים קרובות: **דיפלויימנט**) מתייחס לכלל הפעולות שהופכות מערכת תוכנה זמינה לשימוש.

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

פעילויות פריסת תוכנה
--------------------

הוצאה לאור (release)פעילות ההוצאה לאור נובעת מתהליך הפיתוח לאחר שזה הסתיים. פעילות זו כוללת את כל הפעולות הנדרשות להכנת המערכת להרכבה (assembly) והעברתה לאתר הצרכן. פעילות זו צריכה לקבוע את המשאבים הנדרשים כדי לפעול באתר הצרכן, ואיסוף של מידע הנדרש לביצוע הפעילויות הבאות של תהליך הפריסה.
התקנה והפעלה (install and activate)הפעלה היא הפעילות של אתחול רכיב ההרצה של התוכנה. במערכות פשוטות פעילות זו כוללת ביצוע של צורה כלשהי של פקודה לתחילת ריצה. במערכות מורכבות פעילות זו אמורה להביא את כל המערכות התומכות למצב של מוכנות לשימוש. בפריסות תוכנה גדולות, גרסת העבודה (working copy) של תוכנה יכולה להיות מותקנת על שרת הייצור (production) בסביבת הייצור. גרסאות אחרות של התוכנה הנפרסת יכולות להיות מותקנות בסביבת בדיקות, סביבת פיתוח ובסביבת התאוששות מאסון.
הפסקת ריצה (deactivation)הפסקת ריצה היא הפעולה ההפוכה להפעלה, והיא מתייחסת לכיבוי כל הרכיבים הפועלים של מערכת. לעיתים קרובות הפסקת ריצה נדרשת לצורך ביצוע של פעילויות פריסה אחרות. לדוגמה, ייתכן שיש להפסיק את הריצה של מערכת תוכנה לפני שניתן יהיה לבצע עדכון. הפסקת השירות של מערכות שאינן נמצאות בשימוש לעיתים קרובות או כאלה שהתיישנו נקראת באנגלית application retirement או application decommissioning ("יציאה לגמלאות" של היישום).
עדכון (update)תהליך העדכון מחליף גרסאות קודמות של כל מערכת התוכנה או של חלקים ממנה בגרסאות חדשות יותר.
התאמה (adaptation)פעילות ההתאמה היא גם כן תהליך לשינוי מערכת תוכנה שכבר הותקנה קודם. פעילות זו שונה מתהליך העדכון בכך שהתאמות מתבצעות בתגובה לאירועים כדוגמת שינויים באתר הלקוח, בעוד שעדכון מתבצע בדרך כלל אצל יצרן התוכנה המרוחק.
מנגנונים מובנים (built in)קיימות מערכות תוכנה עם מנגנונים מובְנים להתקנת עדכונים. האוטומציה של תהליכים אלה יכולה לנוע בין התקנה אוטומטית לגמרי להתקנות המותחלות על ידי המשתמש ונשלטות על ידו. Norton Internet Security היא דוגמה למערכת תוכנה עם שיטה חצי-אוטומטית להתקנת עדכונים עבור הגדרות האנטיוירוס שלה ולרכיבים אחרים של המערכת. מוצרי תוכנה אחרים מספקים מנגנוני תשאול על מנת לקבוע מתי קיימים עדכונים חדשים.
מעקב אחר גרסאות (version tracking)מעקב אחר גרסאות עוזר למשתמש למצוא ולהתקין עדכונים. לצורך כך קיימות מערכות שונות למעקב אחר גרסאות אשר מודיעות למשתמש כי קיימים עדכונים לתוכנה שמותקנת אצלו.
הסרה (uninstall)הסרת תוכנה היא הפעולה ההפוכה להתקנה. פעולה זו מסירה את המערכת שאיננה נדרשת יותר. היא גם כוללת כמה פעולות של תצורה מחדש של מערכות תוכנה אחרות על מנת להסיר את הקבצים והתלויות של המערכת שמסירים.
הוצאה משימוש (retire)בסופו של דבר, מערכת תוכנה מסומנת כמיושנת (obsolete) ונפסקת התמיכה של היצרנים בה. זהו הסוף של מחזור החיים של מוצר התוכנה.

תפקידים בפריסת תוכנה
--------------------

המורכבות והשונות של מוצרי תוכנה הצריכה יצירת תפקידים מיוחדים לתיאום והינדוס של תהליכי הפריסה. במערכות המיועדות למחשבים אישיים, לעיתים קרובות משתמש הקצה הוא גם "פורס התוכנה" כאשר הוא מתקין את חבילת התוכנה על המחשב שלו. עבור תוכנות enterprise, קיימים תפקידים רבים נוספים. בנוסף לכך, התפקידים המעורבים בתהליך זה בדרך כלל משתנים עם התקדמות היישום מסביבות בדיקה (pre-production) לסביבות ייצור (production). בין בעלי התפקידים בהקשר זה הם: מפתחי תוכנה, system administrator, database administrator, מתאמי דיפלויימנט (ראו: DevOps), מנהלי תפעול (ראו: מתודת ITIL), ועוד.

ראו גם
------

* DevOps
* Application lifecycle management
* ניהול מחזור חיי מוצר
* Snap