בניית תוכנה

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש
Crystal Clear app help index.svg
ערך מחפש מקורות
רובו של ערך זה אינו כולל מקורות או הערות שוליים, וככל הנראה, הקיימים אינם מספקים.

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

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

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

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

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

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

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

ראו גם

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