מושגים חשובים בעולם פיתוח התוכנה

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

שרת פיתוח

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

מתודולוגיות ושיטות

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

waterfall

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

אג'ייל

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

נוהל מפת"ח

"מתודולוגית פיתוח ותחזוקה", אשר משרד האוצר פיתח במקור. בישראל, נוהל מפת"ח ידוע ונפוץ מאוד.

מושגים חשובים בעולם פיתוח התוכנה

אלגוריתמים

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

UX/UI

חלק חשוב מאוד בתוכנות הוא ממשק המשתמש (User Interface – UI). תכנונו הנכון, משפיע מאוד על מה שמכונה "חוויית המשתמש" (UX – User Experience). מדובר בתחום התמחות מיוחד בפני עצמו, אשר משלים את פיתוח התוכנה. תכנון  UX / UI נלקח בחשבון, כבר בשלב אפיון התוכנה, עוד לפני פיתוחה בפועל. ממשק יעיל, נוח וידידותי למשתמש, מקל על המשתמשים בתוכנה. ההיפך מכך, עשוי לפגוע במטרות אשר לשמן התוכנה נוצרה מלכתחילה. אם עסק מפתח למשל עבור לקוחותיו תוכנה מצוינת עם ממשק גרוע, זה פשוט גול עצמי.

QA

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

לסיכום

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

נגישות