בניית תוכנה
ערך מחפש מקורות
| ||
ערך מחפש מקורות |
הנדסת תוכנה |
---|
ערך זה שייך לקטגוריית הנדסת תוכנה |
פעילויות ושלבים |
דרישות • ניתוח • אפיון • ארכיטקטורה • עיצוב • תכנות • ניפוי שגיאות • בדיקה • אימות • בנייה • פריסה • תפעול • תחזוקה |
מתודולוגיות |
זריזות • מפל המים • תכנת ותקן • Crystal Clear • Scrum • Unified Process • Extreme Programming • אינטגרציה רציפה • DevOps |
תחומים תומכים |
ניהול פרויקטים • ניהול תצורה • תיעוד • הבטחת איכות • Profiling |
כלים |
מהדר • מקשר • מפרש • IDE • ניהול גרסאות • אוטומציית בנייה |
במדעי המחשב, המושג בניית תוכנה (באנגלית: software build, או בקיצור build) מתייחס לתהליך של הפיכת קובצי קוד מקור לתוצרי תוכנה עצמאיים (standalone) הניתנים להרצה על מחשב. כמו כן, המושג יכול להתייחס גם לתוצר עצמו של תהליך זה. אחד השלבים העיקריים של בניית תוכנה הוא תהליך ההידור (קומפילציה), בו קובצי קוד מקור הופכים לקוד הניתן להרצה (executable code).
בעוד שעבור תוכניות פשוטות תהליך הבנייה מורכב רק מהידור של קבצים בודדים, קוד המקור של תוכנות מורכבות יכול להיות פרוס על פני קבצים רבים אותם ניתן לשלב בדרכים שונות לקבלת הרבה גרסאות שונות.
תהליך בניית התוכנה מנוהל בדרך כלל על ידי כלי לאוטומציה של בניית תוכנה (build tool) - תוכנה אשר שולטת באופן אוטומטי על תוכנות אחרות ומתאמת את הפעילות שלהן. דוגמאות לתוכנות כאלה הן: Make, Maven, Gradle, Ant. הכלי לבניית תוכנה צריך להדר ולקשור את הקבצים השונים, בסדר הנכון. אם קוד המקור בקובץ מסוים לא השתנה, ייתכן שאין צורך להדר אותו מחדש (עם זאת, ייתכן שבכל זאת יהיה צורך להדר אותו מחדש אם הוא תלוי בקבצים אחרים שנעשה שינוי בקוד המקור שלהם). כלים חכמים לבניית תוכנה מנסים להימנע מלהדר מחדש קוד שאינו דורש זאת, על מנת לחסוך בזמן הנדרש לביצוע הבנייה. כלי בנייה מודרניים יכולים להיות משולבים בתוך תוכנות לניהול גרסאות כדוגמת Subversion. תהליך מורכב יותר עשוי לכלול גם תוכנות נוספות המפיקות קוד או נתונים עבור תהליך הבנייה.