הנדסת תוכנה בכמה מילים
בסעיף זה ננסה להציג
לפניכם בקצרה את נושא הנדסת התוכנה ולעמוד על חשיבותו הרבה. הרקע יכלול:
הנדסת מערכות ממוחשבות היא פעילות של
מידול ופתירת בעיות במחשוב מערכות. תפקודי מערכת נדרשים נחשפים, מנותחים, ומוקצים
לגורמי מערכת אינדיבידואליים. מהנדס מערכות המחשב (המכונה מנתח מערכות בתחומי
יישום מסוימים), מתחיל עם הגדרת מטרות ואילוצים ע"י הלקוח, ויוצר הצגה מחדש של
תפקוד, ביצועים, מנשקים, אילוצי עיצוב ותבניות מידע שיכולים להיות מוקצים לכל אחד
מיסודות המערכת הכוללת המתוארים בהמשך.
היצירה של רוב המערכות החדשות מתחילה עם
מושג מעורפל של התפקוד המבוקש.
לכן, מהנדס המערכות חייב לתחום את
המערכת ע"י איתור תחום התפקוד והתצוגה המבוקשים.
לדוגמא: זה לא מספיק לומר שתוכנת בקרת
הרובוט במערכת ייצור אוטומטית "תגיב במהירות אם המגש של החלקים יהיה ריק".
מהנדס המערכות חייב להגדיר:
כאשר התפקוד, הביצועים, האילוצים,
והמנשקים נתחמים, מהנדס המערכות עובר למטלה שנקראת הקצאה. במצב זה, כל תפקוד מוקצה לאחד או יותר
מיסודות המערכת הכוללת (תוכנה, חומרה, אנשים, וכו') לעתים, הקצאות חילופיות מוצעות
ומוערכות.
הנדסת תוכנה: כינון-
establishment,
ושימוש בעקרונות הנדסיים מבוססים, כדי לקבל באופן כלכלי תוכנה אמינה, הפועלת
ביעילות על מכונות אמיתיות.
הגדרה אחרת (של
IEEE):
(1) יישום גישה שיטתית-
systematic,
מיוסדת על כללים- disciplined,
ברת כימות-
quantifiable,
עבור פיתוח, תפעול ותחזוקה של תוכנה.
(2) מחקר של גישות, ע"פPressman
.
-
תעשיית המחשוב היוותה
ב1990 8-10% מהתל"ג בארה"ב והצפי הוא ל- 15-20% בשנות ה- 2000 הראשונות.
-
במרבית המוצרים המיוצרים
כיום משוכנים מחשבים עתירי תוכנה.
-
פיתוח תוכנה מהווה תעשיית
ייצוא במספר רב של ארצות.
-
הפעילות היומיומית של
מרבית החברות הגדולות תלויות במחשבים.
-
אחוז קטן בלבד, לדעת
E. Yourdon
כ- 10%, של פיתוח מערכות מסתיים
בזמן ובעלות שנקבעו.
-
מרבית הפרויקטים מסתיימים באיחור של שנה
ובעלות יתר של 100%. 25% מפיתוח מערכות גדולות כלל לא מסתיים.
-
תוכניתן ממוצע מייצר ביום רק 10-15
פקודות "מדובגות". פערי הייצור בין תוכניתנים הם ביחס 1:25., התייעלות ייצור התוכנה
היא רק 1-2% בשנה, בהרבה פחות מהתייעלות החומרה.
להבנת מושגי הזמן והעלות (בפרויקט לא
מורכב):
העלות (בדולרים) |
הזמן הדרוש |
מספר פקודות בשפה עלית |
10000$ |
300 שעות |
1000 |
120,000$ |
4000 שעות |
10,000 |
2,000,000$ |
65,000 שעות |
100,000 |
25,000,000$ |
800,000 שעות |
1,000,000 |
סווג פרויקטים (עפ"י
B. Boehm):
-
קטן עד 8,000 פקודות
-
בינוני 8,000-32,000 פקודות
-
גדול 32,000-128,000 פקודות
-
גדול מאוד 512,000 - 128,000 פקודות
-
ענק מעל 512,000 פקודות
חשיבות האיכות:
-
60-80% מתקציבי מערכות
מידע של ארגונים מושקעים כיום בתחזוקה.
-
פערי
האיכות בין חברות תוכנה הם בין 1:10 ל- 1:100.
-
רק איכות טובה תאפשר
להפוך תוכנה לתעשיית ייצוא.
-
יעילות תכניתן על פרויקט
חדש גבוהה בהרבה מיעילותו בתיקונים.
לסעיף הבא- משבר התוכנה...
|