בניית תוכנה

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

Coding Shots Annual Plan high res-5.jpg
מתכנת בעבודתו

פעילויות ושלבים
דרישותניתוחאפיוןארכיטקטורהעיצובתכנותדיבוגבדיקהאימותבנייהפריסהתפעולתחזוקה
מתודולוגיות
זריזותמפל המיםתכנת ותקןCrystal ClearScrumUnified ProcessExtreme Programmingאינטגרציה רציפהDevOps
תחומים תומכים
ניהול פרויקטיםניהול תצורהתיעודהבטחת איכותProfiling
כלים
מהדרמקשרמפרשIDEניהול גרסאותאוטומציית בנייה

במדעי המחשב, המושג בניית תוכנהאנגלית: software build, או בקיצור build) מתייחס לתהליך של הפיכת קובצי קוד מקור לתוצרי תוכנה עצמאיים (standalone) הניתנים להרצה על מחשב. כמו כן, המושג יכול להתייחס גם לתוצר עצמו של תהליך זה. אחד השלבים העיקריים של בניית תוכנה הוא תהליך ההידור (קומפילציה), בו קובצי קוד מקור הופכים לקוד הניתן להרצה (executable code).

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

תהליך בניית התוכנה מנוהל בדרך כלל על ידי כלי לאוטומציה של בניית תוכנה (build tool) - תוכנה אשר שולטת באופן אוטומטי על תוכנות אחרות ומתאמת את הפעילות שלהן. דוגמאות לתוכנות כאלה הן: Make, Maven, Gradle, Ant. הכלי לבניית תוכנה צריך להדר ולקשור את הקבצים השונים, בסדר הנכון. אם קוד המקור בקובץ מסוים לא השתנה, ייתכן שאין צורך להדר אותו מחדש (עם זאת, ייתכן שבכל זאת יהיה צורך להדר אותו מחדש אם הוא תלוי בקבצים אחרים שנעשה שינוי בקוד המקור שלהם). כלים חכמים לבניית תוכנה מנסים להימנע מלהדר מחדש קוד שאינו דורש זאת, על מנת לחסוך בזמן הנדרש לביצוע הבנייה. כלי בנייה מודרניים יכולים להיות משולבים בתוך תוכנות לניהול גרסאות כדוגמת Subversion. תהליך מורכב יותר עשוי לכלול גם תוכנות נוספות המפיקות קוד או נתונים עבור תהליך הבנייה.

ראו גם[עריכת קוד מקור | עריכה]

Crystal kpackage.png ערך זה הוא קצרמר בנושא תוכנה. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.