310 likes | 578 Views
SCE - 13 שלבי פיתוח דר’ יעקב אקסמן תשס"ו. הנדסת מרכיבי תוכנה. דרישות תוכנה. דגם הייררכי. דגם פיזיקלי. מרכיבים. קוד להרצה = exe. מדידות. ספרות כללית הנדסת תוכנה. [Schach2002] Schach, Stephen R. – “Object-Oriented & Classical Software Engineering”
E N D
SCE-13 שלבי פיתוח דר’ יעקב אקסמן תשס"ו
הנדסת מרכיבי תוכנה דרישות תוכנה דגם הייררכי דגם פיזיקלי מרכיבים קוד להרצה = exe מדידות
ספרות כללית הנדסת תוכנה [Schach2002] Schach, Stephen R. – “Object-Oriented & Classical Software Engineering” McGraw-Hill – Boston – 5th ed. – 2002. [Sommerville] [Pressman]
Application Requirements Test Software Requirements Test Specifications Test Detailed Design Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 1- דרישות צרכן
שלבי פיתוח 1- דרישות • דרישות • שפה טבעית (לא פורמלית) • רב-משמעות • דרישות "פונקציונאליות" ולא-פונקציונאליות • Requirements “Elicitation” • Use-Cases
שלבי פיתוח 1- דרישות • URD • User Requirements Document • מבוא [חוזה, מטרה] • תאור כללי • [מוצר, יכולות, • אילוצים, הנחות] • דרישות לקוח מפורטות • לפי קבוצות • טבלה: • מספר דרישה, תאור קצר
URD User Requirements Document מסמך דרישות הצרכן שלבי פיתוח 1- דרישות
Application Requirements Software Requirements Test Test Specifications Test Detailed Design Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 2- דרישות תוכנה
שלבי פיתוח 2- דרישות תוכנה • SRS • Software Requirements Specification • מפרט דרישות תוכנה • מטריצות עקיבות (Traceability Matrix) • דרישות צרכן X דרישות תוכנה • דרישות תוכנה X מרכיבים
Application Requirements Test Software Requirements Test Specifications Test Detailed Design Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 3- מפרט תוכנה
שלבי פיתוח 3- מפרט SSD Software Specification Document מסמך מפרט תוכנה
Application Requirements Test Software Requirements Test Specifications Detailed Design Test Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 4- תיכון מפורט
שלבי פיתוח 4- תיכון מפורט • DDD • Detailed Design Document • מסמך תיכון מפורט • UML • מחלקות • שיטות • אלגוריתמים • [הערה: קיים תיכון-עלArchitectural or High-Level-Design]
Application Requirements Test Software Requirements Test Specifications Detailed Design Test Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 5- מימוש
Application Requirements Test Software Requirements Test Specifications Detailed Design Test Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 6- ניפוי שגיאות
שלבי פיתוח 6- בדיקות • מסמכי בדיקות • UT = Unit Testing • בדיקות יחידאיות (מרכיבים) • ATP = Acceptance Testing Plan • תכנון בדיקות קבלה • Testing Traceability Matrix • מטריצת עקיבות של בדיקות
Application Requirements Test Software Requirements Test Specifications Detailed Design Test Test Implementation Test Experimentation Debugging Test Maintenance Test שלבי פיתוח "מפל המים" 7- תחזוקה
שלבי פיתוח 7- תחזוקה מחזור החיים?
שלבי פיתוח 7- תחזוקה מחלות ילדות בגרות בלאי קצב תקלות זמן מחזור חיים של חומרה
מחזור חיים של תוכנה שלבי פיתוח 7- תחזוקת תוכנה הרצה בגרות התיישנות קצב תקלות שדרוג שדרוג שדרוג זמן
שלבי פיתוח 7- תחזוקה מס’ תקלות אחרי 30 20 10 Software Metrics for Control and Quality Assurance Course Norman Fenton 0 0 50 100 150 Queen Mary– Univ. London qmul.ac.uk מס’ תקלות לפני חוסר התאמת שגיאות לפני/אחרי שחרור גירסה מודולים עתירי תקלות לפני, לאו דווקא עתירי תקלות אחרי. אין בסיס כמותי לנבא התנהגות לאחר שחרור גירסה.
שלבי פיתוח 7- תחזוקה תיאורטי מס’ תקלות במרכיב תצפית? מס’ שורות במקור התוכנית גודל מרכיבי תוכנה לעומת מס’ תקלות
שלבי פיתוח "מפל המים" דרישות מפרט תיכון מימוש שילוב תחזוקה
שלבי פיתוח "מפל המים" • מפל מים • הפרדה ברורה בין שלבים • התקדמות ליניארית
Write Req. Test Req. Acceptance Test Install Test Design Build System System Test Logical Design Build Software Test Design Physical Design Integration Test Code Unit Test שלבי פיתוח “W" Whole Life Cycle
שלבי פיתוח ספירלה תכנון ניתוח בדיקות מימוש התקדמות מעגלית
שלבי פיתוח אב-טיפוס מהיר משתכלל דגם הייררכי דגם פיזיקלי מרכיבים קוד להרצה = exe מדידות
שלבי פיתוח עיקרון עלות השלבים שלבי פיתוח שגיאות עיקרון עלות בשלבי הפיתוח שגיאה יקרה יותר ככל שמגלים אותה בשלב מאוחר יותר.
שלבי פיתוח עיקרון עלות השלבים • עלות השלבים • הסבר • יש להניח שסיבה לשגיאה • שהתגלתה בשלב מאוחר • נעוצה בשלב מוקדם יותר.
SE ספרות [Brooks] Brooks, F. “The Mythical Man-Month” [Brooks] Brooks, F. “No Silver Bullet” [Harel] Harel, D.