מתודולוגיית תכנת ותקן

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

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

יתרונות:

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

חסרונות:

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

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

משמעות נוספת למונח "אד הוק" בתוכנה[עריכת קוד מקור | עריכה]

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

קישורים חיצוניים[עריכת קוד מקור | עריכה]

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