משבר התוכנה
 אתה נמצא ב   [ דף הבית | למה להשתמש | משבר התוכנה ]


משבר התוכנה- The Software Crisis

 

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

 


מחיר איכות לא מספקת

דוגמאות לכשל במערכות תוכנה:

  • ב 1979 אירעו בפיקוד האטלנטי של ארה"ב 50 אזעקות שווא, אשר גרמו להזנקות מטוסים.

  • טיל מורכב על מטוס F18 הוצת כשהיה עדיין מחובר למטוס וגרם לו אובדן גובה של 20,000 רגל.

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

  • במערכת הגנה מטילים בליסטיים זוהה הירח כטיל נכנס.

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

  • מדד המניות של הבורסה ב- Vancover ירד ב574 נקודות בתקופה של 22 חודש, בגלל שגיאות עיגול.

  • בראשית 1988 הודיע Bank of America על נטישת מערכת של 20 מליון דולר שהושקעו בה 60 מליון דולר על מנת שתעבוד (20 שנות אדם הושקעו לבדיקת 3.5 מליון שורות קוד).

  • הבנק First Interstate העביר 3 מיליון טרנסאקציות בשווי של 2 מיליארד דולר באיחור של יום בגלל בעיית מחשב.

  • חברת הטלפונים Rochester בארה"ב חייבה בטעות 4800 לקוחות בשיחות טלפון למצרים, בגלל טעות בקריאת הקידומת.

  • לקוח בנק באוסטרליה חויב בטעות במשיכת יתר של 100 מליון דולר עם ריבית יומית של 53,000 דולר.  מנהל הבנק האשים את המחשב.

  • ב-Wall Street Jounal ממאי 1998 נאמר ש 42% מפרויקטים של מחשוב ננטשים בטרם השלמתם.

  • "גולת הכותרת" (עד כה)-  התרסקות טיל אריאן 5, 40 שניות אחרי השיגור, ב- 4 יוני 96'. הנזק 500 מליון דולר. הסיבה: שגיאת תוכנה. המרגיז- קטע התוכנה בו ארעה השגיאה לא היה נחוץ. קטע תוכנה האמור לבצע חישובים מסוימים לפני השיגור המשיך לעבוד גם אחריו (כדי למנוע הצורך באתחול הממושך במקרה של עיכוב בשיגור). בקטע זה ארעה שגיאת exception כתוצאה מהמרת מספר של bit float 64  למספר של 16 bit integer. הבעיה לא התגלתה בבדיקות כי פשוט מחזרו (reused) תוכנה שעבדה בהצלחה בטיל אריאן 4 .

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

 

מיתוסים ודעות רווחות

 

מיתוסים של מנהלים:

  • מדוע לשנות גישתנו לפיתוח מערכות תוכנה, התכנות לא השתנה ב- 10 השנים האחרונות.

  • יש לנו ספר מלא סטנדרטים ונהלים לפיתוח תוכנה.

  • לאנשי הפיתוח יש המחשבים החדישים ביותר.

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

מיתוסים של לקוחות:

  • דרישה כללית מספיקה להתחלת כתיבת תוכנה והפרטים ימולאו מאוחר יותר.

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

מיתוסים של מקצועני תוכנה:

  • אין שיטות טובות לניתוח, תכן ובדיקה, ולכן כדאי לגשת מיד לקידוד.

  • לא ניתן להעריך איכות תוכנה עד שהיא לא עובדת.

  • תחזוקה יכולה להתבצע ad-hoc.

 

גורמים להצלחה וכישלון של פרויקטים:

Unsuccessful

Successful

אין נתונים היסטוריים למדידת תוכנה

מדידת תוכנה מדויקת

כישלון בשימוש בכלים אומדניים אוטומטיים

שימוש מוקדם בכלים אומדניים

כישלון בשימוש בכלי תכנון אוטומטיים

שימוש מתמשך בכלי תכנון

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

דווח התקדמות פורמלי

כישלון בשימוש בסקירות עיצוב

סקירת עיצוב פורמלית

כישלון בשימוש בביקורת קוד

ביקורת קוד פורמלית

שימוש בבעלי ידע כוללני למשימות קריטיות 

שימוש במומחים למשימות קריטיות

עיצוב ומפרטים לקויים

עיצוב ומפרטים אוטומטיים

כישלון בשימוש בבקרת תצורה אוטומטית

בקרת תצורה אוטומטית

 

 

 

 

 

 

 

 

 

 

 

חזרה לדף הבית...

הקודם רמה למעלה


[דף הבית] [למד עכשיו UML] [למה להשתמש] [שטות תכון ויישום תכנה] [סמונים מקובלים] [כלי פיתוח] [מלון מונחים] [גלריית תמונות] [ספריה אור קולית] [קישורים] [ביבליוגרפיה] [על האתר] [מפת האתר]