בעזרת גורמי האיכות שהוצגו, ניתן לבצע הערכה איכותית לתוכנה.
1. נכונות Correctness
|
המידה
שבה ממלאת התוכנה את כל מפרט הדרישות, ועומדת בדרישות התקנים והסטנדרטים
לפיתוח תוכנה.
תחת נכונות כלול:
- הקלט העיבוד והפלט, מוגדרים בצורה מלאה
ברורה ומדויקת.
- יש סטנדרטיזציה בשמות הנתונים, הפונקציות
ובסיסי הנתונים.
- יש סטנדרטיזציה במבני הנתונים, בפרוטוקולים
של תקשורת, בטיפול בשגיאות וכו'
- הכמות והחומרה של שגיאות התוכנה שואפת
לאפס
|
2. אמינות Reliability
|
ההסתברות שהתוכנה תפעל בסביבה מוגדרת
ללא תקלות במשך תקופה מוגדרת.
|
3. יעילות efficiency
|
המידה
שבה צורכת התוכנה משאבי חומרה. משאבי חומרה כוללים: דרישות למהירות
מעבד, דרישות לגודל זיכרון, דרישות לנפח אכסון וכו'.
ככל שדרישות התוכנה למשאבי חומרה נמוכות יותר, התוכנה יעילה יותר
|
4. אבטחתיות integrity
|
המידה
שבה מובטחים הנתונים והתוכנה מפני חדירה בשוגג או בזדון. וכן מידת
העמידות של המערכת בתנאי סביבה חריגים.
תחת אבטחתיות כלול:
- תמיכה בהגבלת
גישה
- מעקב
אחר ניסיונות לחדירה
- סיוע באיתור נזקים שנגרמו
בחדירה לא חוקית.
- הגנה פיסית מפני מצבים
חריגים כגון: טלטול, חום, אבק ולחות.
- הגנה
פיסית מפני מצב של ניתוק אספקת החשמל, או ניתוק
- התקשורת.
|
5. שימושיות usability
|
מידת המאמץ
הנדרש מהמשתמש.
מסתכלים על הזמן הנדרש ממשתמש ממוצע להגיע לרמת ידע בינונית של הפעלת התוכנה.
ככל שההפעלה והשימוש בתוכנה יהיו קלים יותר, ידידותיים יותר, וידרשו פחות
מזמנם של המשתמשים, כך תגדל השימושיות של התוכנה. (User Friendly)
תחת שימושיות כלול:
- המאמץ
הראשוני ללימוד הפעלת התוכנה.
- המאמץ השוטף
הנדרש לתפעול הרגיל של התוכנה.
- מידת
ההתאמה של התוכנה לתנאים של סביבת השימוש, כולל צדדים
פסיכולוגיים, ארגונומים
וכד'
|
6. אחזקתיות maintainability
|
מידת המאמץ
הנדרש למציאת שגיאות התוכנה, לתיקונם ולבדיקת אימות התיקון. תחת אחזקתיות כלול:
- יעילות
התוכנה בזיהוי מצבים חריגים של המערכת.
- מידת
המאמץ הנדרש לתיקון תקלות
- הזמן
והמאמצים הנדרשים להתאוששות של המערכת ממצב של תקלה ועד
לתפקוד תקין מלא.
|
7. גמישות flexibility
|
מידת המאמץ
הנדרש לבצע שינוים והרחבות של התוכנה לאחר שנכנסה לשלב התפעול השוטף.
תחת גמישות כלול:
- תוכנה
בעלת מבנה מודולרי פשוט
- פיתוח
התוכנה בראיה כללית, עם מבט לעתיד.
- אפשרות
הרחבת מספר המשתמשים בתוכנה במקביל.
|
8. בדיקתיות testability |
מידת המאמץ הנדרש במהלך התפעול השוטף לשם בדיקה ואימות כי התוכנית מבצעת את
המטלות שהוגדרו לה.
תחת בדיקתיות כלול:
- איתור תקלות בתוכנה, והגורם להם.
- בדיקות אוטומטיות המבוצעות על-ידי התוכנה עם
הפעלתה
|
9. ניידות portability
|
מידת האפשרות
להפעלת התוכנה על פלטפורמות שונות (write once, run everywhere),
תחת ניידות כלול:
- אי
תלות בחומרה
- אי
תלות בתוכנה
- מידת
המאמץ הנדרש להתאמת התוכנה לפעולה בסביבות שונות.
|
10. מיחזוריות reusability
|
מידת האפשרות
להשתמש בחלקים מהתוכנה לצורך יישומים אחרים.
כדי לאפשר מחזור של הקוד, על התוכנה להיבנות בצורה מודולרית תוך בראיה כוללת
|
11. מישקיוות interoperability
|
מידת האפשרות
ליצירת ממשקים עם תוכנות אחרות.
דוגמא לנושא המשקיות הוא קונספט MMC של מיקרוסופט.
|