במהלך ההתמודדות עם הבעייתיות בפיתוח מ"מ פותחו כלים ממוחשבים שנועדו לסייע בפיתוח מערכות תוכנה.
בתחילה היו כלים
אלה תוכנות עזר שאפשרו ביצוע פעולות מסוימות הקשורות למחזור החיים ותמכו בו.
כיום מנסים לפתח כלים שיכללו בתוכם כמה שיותר שלבים ממחזור החיים לפי מתודולוגיה מסוימת.
נהוג לסווג חבילות CASE לשלושה סוגים:
Upper case: כלים לתיאור הארגון ותוכניותיו, כולל הזנת תוכנית אב, תיאור יעדים ומטרות. מסייע למנהלים בהבנת בעיות הארגון ומיקודן.
Middle case: תמיכה בניתוח בעיות מידע ועיצוב הפתרונות לבעיות אלו. מאפשר שיתוף המשתמשים וביצוע גמיש של שינויים בעיצוב
המערכת.
Lower case: כלים היוצרים תוכניות מחשב לתהליכים ולתיעודם. מקצר את שלב התכנות ולכן גם את זמן פיתוח המערכת, ויכול לסייע בפיתוח אב-טיפוס מלא של מערכת המידע.
לשימוש בכלים אלו מספר יתרונות :
+האצת תהליך הפיתוח – הקיצור בפיתוח נגזר מכך שהכלי מסייע למתכנת בתהליכי הניתוח והעיצוב ומבצע
אוטומטית כמה מהפעולות.
+מחשוב תהליכים- שימוש בכלי ממוחשב חוסך מהמנתח את הצורך בהבנת פעילויות שאינן דורשות מחשבה מעמיקה.
+סטנדרטיזציה- המשתמש עובד לפי נורמות שהוגדרו מראש ומוזגו בישום עצמו, כמו שימוש בסימנים מוסכמים,
המהווים שפה משותפת לכל העוסקים בתהליך הפיתוח.
+שילוב בדיקות תוכנה- אבטחת איכות
התוכנה הכרחית בכל שלב בפיתוח המערכת. תכנון בדיקות התוכנה ומעקב
אחריהם מתאפשר עם שילוב כלים אלו הודות לקשר החזק בין הכלי לתוצרי הפיתוח.
+תיעוד בשלבי הפיתוח והתחזוקה- תיעוד אוטומטי לשלבים השונים בתהליך פיתוח המערכת.
שפות תכנות ומחוללי יישומים:
תהליך פיתוח התוכנה מתבצע ע"י שפות תכנות המושתתות על אוסף של פקודות וכללי תחביר באמצעותם מעבירים הוראות ביצוע למחשב. את התפתחותן של שפות התכנות ניתן לחלק לארבעה דורות עיקריים:
1.הדור ה-1: שפת מכונה. התפתח בשנות ה-40 וה-50, הוראות המורכבות מהספרות 0 ו-1.
טכניקה זו הכתיבה תהליך ארוך ומסורבל ודרש מיומנויות גבוהות של מתכנתי מחשב.
2.הדור ה-2: שפות אסמבלר (שפות סף). הופיעו בשנות ה-50. תוכניות הנבנות מקודים שמסמלים את פעולות
המחשב. לאחר הכתיבה עוברת התוכנית תרגום לשפת מכונה המובנת למחשב.
3.הדור ה-3:שפות עילית. הופיעו בשנות ה-60. בשפות אלו נעשה שימוש בפקודות הקרובות לשפת האנגלית
כדי להקל בתהליך התכנות. אף הן מתורגמות לבסוף לשפת המחשב.
4.הדור ה-4: מחוללי יישומים. המאפיין העיקרי שלהן הוא שהמתכנת מתמקד בעיקר בתוכן, כלומר: "מה
צריך לעשות" ולא "איך לבצע את המשימה". תהליך הפיתוח באמצעות מחוללי היישומים קל יותר, מהיר
יותר וגמיש יותר.