פיתוח תוכנה – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
ברוקולי (שיחה | תרומות)
מ שוחזר מעריכות של 109.66.27.79 (שיחה) לעריכה האחרונה של ברוקולי
מ ←‏עריכת הפתיח: תרגום תמונה
שורה 1:
'''פיתוח תוכנה''' הוא תרגום הצרכים של משתמש או של יעד שיווקי למוצר [[תוכנה]]<ref>{{cite book|author=Birrell, N.D.|title=A Practical Handbook for Software Development|publisher=Cambridge University Press|year=1985|id=ISBN 0-521-25462-0}}</ref><ref>{{cite web|author=DRM Associates|title=New Product Development Glossary |url=http://www.npd-solutions.com/glossary.html |date=2002|accessdate=2006-10-29}}</ref>. פיתוח תוכנה הוא ברוב המקרים [[פיתוח מוצר חדש]], המורכב מ[[הנדסת תוכנה]] במשולב עם [[מחקר]], ולעתים גם עם [[שיווק]]<ref>McCarthy, Jim (1995). "Dynamics of Software Development". Microsoft Press, pp. 10-30.</ref>.
[[תמונה:Waterfall_modelWaterfall model-he.pngsvg|ממוזער|שמאל|280px|[[מודל מפל המים]]: המחשה של תהליך הפיתוח, זרימה חד-כיוונית דרך שלבים מוגדרים]]
ישנן מתודולוגיות שונות לפיתוח תוכנה, חלקן מתבססות על פיתוח מתמשך של התוכנה, ואילו אחרות מתבססות על פיתוח בחלקים. רוב המתודולוגיות כוללות את צירוף של המרכיבים הבאים כחלק משלבי פיתוח התוכנה:
*[[מחקר שוק]]
שורה 13:
אל שלבים אלו מתייחסים לעתים בהכללה כמחזור פיתוח תוכנה (SDLC; software development lifecycle). גישות שונות בפיתוח תוכנה מיישמות את שלבים אלו בסדר שונה, או שונות בזמן המוקדש לכל אחד מהשלבים. רמת הפירוט של התיעוד הנוצר בכל אחד מהשלבים גם הוא עשוי להשתנות. כל אחד מהשלבים יכול להיעשות בתורו ([[מודל מפל המים|מפל מים]]; waterfall) או עשויים לחזור על עצמם במספר סבבים או איטרציות (כגון [[Extreme Programming]]). גישה של פיתוח אקסטרים לרוב תכלול פחות השקעה בתכנון ותיעוד, ויותר זמן בתכנות ובפיתוח בדיקות אוטומטיות. כמו כן גישה כזו מעודדות בדיקות רציפות במהלך מחזור פיתוח התוכנה, ושמירה על מוצר עובד כל העת. גישה של מפל מים מנסה להעריך את מרבית הסיכונים ולתכנן תוכנית מפורטת של התוכנה לפני התחלת המימוש (הקידוד), ונמנעת משינויי עיצוב משמעותיים ותכנות מחדש בשלבים מאוחרים של מחזור פיתוח התוכנה.
 
לכל אחת מן המתודולגיות ישנם מגוון יתרונות וחסרונות, והגישה העדיפה לפתרון בעיה לרוב תלויה בסוג הבעיה. אם הבעיה מובנת היטב וניתן לתכנן פתרון מראש גישה של מפל מים עשויה להיות עדיפה. לעומת זאת אם הבעיה ייחודית ומבנה פתרון התוכנה איננו קל לתכנון, עשוי מודל האקסטרים להיות עדיף.
 
==ראו גם==