פיתוח תוכנה

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

אל שלבים אלו מתייחסים לעיתים בהכללה כמחזור פיתוח תוכנה (SDLC; software development lifecycle). גישות שונות בפיתוח תוכנה מיישמות את שלבים אלו בסדר שונה, או שונות בזמן המוקדש לכל אחד מהשלבים. רמת הפירוט של התיעוד הנוצר בכל אחד מהשלבים גם הוא עשוי להשתנות. כל אחד מהשלבים יכול להיעשות בתורו (מפל מים; waterfall) או עשויים לחזור על עצמם במספר סבבים או איטרציות (כגון Extreme Programming). גישה של פיתוח אקסטרים לרוב תכלול פחות השקעה בתכנון ותיעוד, ויותר זמן בתכנות ובפיתוח בדיקות אוטומטיות. כמו כן גישה כזו מעודדות בדיקות רציפות במהלך מחזור פיתוח התוכנה, ושמירה על מוצר עובד כל העת. גישה של מפל מים מנסה להעריך את מרבית הסיכונים ולתכנן תוכנית מפורטת של התוכנה לפני התחלת המימוש (הקידוד), ונמנעת משינויי עיצוב משמעותיים ותכנות מחדש בשלבים מאוחרים של מחזור פיתוח התוכנה.

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

ראו גם
 מתודולוגיית פיתוח תוכנה
 מחקר ופיתוח
 הנדסת תוכנה
 חוב טכני
 ערפול (תוכנה)

קישורים חיצוניים



הערות שוליים

*
קטגוריה:הנדסת תוכנה