Filter

פיתוח תוכנה

פיתוח תוכנהפיתוח תוכנה הוא בעצם תרגום הצרכים של משתמש או של יעד שיווקי למוצר תוכנה‏ מסויים. פיתוח תוכנה הינו ברוב המקרים פיתוח מוצר חדש, המורכב מהנדסת תוכנה במשולב עם מחקר, ולעתים גם עם שיווק‏.
ישנן מתודולוגיות שונות לפיתוח תוכנה, חלקן מתבססות על פיתוח מתמשך של התוכנה, ואילו אחרות מתבססות על פיתוח בחלקים. רוב המתודולוגיות כוללות את צירוף של המרכיבים הבאים כחלק משלבי פיתוח התוכנה: 1.מחקר שוק. 2.איסוף. 3. דרישות לפתרון עסקי מוצע. 4. ניתוח הבעיות. 5. קביעת תוכנית או עיצוב לפתרון תוכנה. 6. מימוש התוכנה. 7. בדיקות תוכנה. 8. פריסה. 9. תחזוקה ותיקון באגים.
אל שלבים אלו מתייחסים לעתים בהכללה כמחזור פיתוח תוכנה SDLC – software development lifecycle. גישות שונות בפיתוח תוכנה מיישמות את שלבים אלו בסדר שונה, או שונות בזמן המוקדש לכל אחד מהשלבים. רמת הפירוט של התיעוד הנוצר בכל אחד מהשלבים גם הוא עשוי להשתנות. כל אחד מהשלבים יכול להיעשות בתורו (לפי מודל מפל המים: המחשה של תהליך הפיתוח, זרימה חד-כיוונית דרך שלבים מוגדרים) או עשויים לחזור על עצמם במספר סבבים או אינטרציות. גישה של פיתוח אקסטרים לרוב תכלול פחות השקעה בתכנון ותיעוד, ויותר זמן בתכנות ובפיתוח בדיקות אוטומטיות. כמו כן, גישה זו מעודדת בדיקות רציפות במהלך מחזור פיתוח התוכנה, ושמירה על מוצר עובד כל הזמן. הגישה של מפל המים מנסה להעריך את מרבית הסיכונים ולתכנן תוכנית מפורטת של התוכנה לפני התחלת הקידוד, ולרוב נמנעת משינויי עיצוב משמעותיים ותכנות מחדש בשלבים מאוחרים של מחזור פיתוח התוכנה.

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

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