220 likes | 640 Views
ניתוח מערכות מידע א' הרצאה 3. מידול תהליך הפיתוח . מידול תהליך הפיתוח (מודלים של זמן החיים). מפל המים, מודל ספירלי, מונחה עצמים וכו'. If you don't have time to do it right , Where would you take the time to do it again ???. פיתוח. אחזקה. בנה ותקן ( build & fix ). בנה גרסה ראשונה.
E N D
ניתוח מערכות מידע א'הרצאה 3 מידול תהליך הפיתוח
מידול תהליך הפיתוח(מודלים של זמן החיים) מפל המים, מודל ספירלי, מונחה עצמים וכו'
If you don't have time to do it right, Where would you take the time to do it again??? פיתוח אחזקה בנה ותקן (build & fix) בנה גרסה ראשונה ערוך שינויים, עד שהלקוח מרוצה הפעלה מבצעית פרישה
בנה ותקן - תכונות • רק חסרונות • אין מפרט • אין תכן • מתאים לתוכנה קטנה מאד (200-300 שורות?) • לכל תוכנה בגודל סביר נדרשים, לפחות: • תכנית פעולה ("game plan") • שלבים בפיתוח • אבני-דרך (milestones)
ניתוח שילוב דרישות שינוי בדרישות תכן מימוש אימות אימות אימות אימות אימות אימות פיתוח אחזקה מודל מפל המים (waterfall) Royce, 1970 הפעלה מבצעית פרישה
מודל מפל המים - תכונות • "feedback" בין שלבים עוקבים • תהליך מונחה-תיעוד: • המעבר לשלב הבא מותנה (ותלוי!) בתיעוד השלב הקודם • יתרונות • תהליך מתועד • אחזקה קלה יותר • חסרונות • פורמאליות-יתר (המוצר מאופיין אך ורק באמצעות התיעוד) • מציאות רחוקה מהמודל--- אין פיתוח כזה !! • בפועל מתעלמים מחזרה לשלב קודם ורצים קדימה...
אב-טיפוס מהיר • דגם עובד • מכיל תת-קבוצה של הפונקציונליות של המוצר • דוגמה: • המוצר: תוכנה לניהול תקבולים, תשלומים ואחסנה • אב-טיפוס מהיר יכיל: • מסכים להכנסת נתונים • הדפסת דו"חות • אב-טיפוס מהיר לא יכיל: • עדכון קבצים • הודעות שגיאה • נועד לסייע בגיבוש הדרישות לצורך מפרט
ניתוח שילוב מימוש תכן שינוי בדרישות אב-טיפוס אימות אימות אימות אימות אימות אימות הפעלה מבצעית פיתוח אחזקה פרישה מודל אב-טיפוס מהיר (rapid prototype)
אב-טיפוס מהיר - תכונות • אב-טיפוס הוא אב-טיפוס הוא אב-טיפוס! • אב-טיפוס נועד להדגים את המוצר הסופי ולא לממש אותו: • אין להפוך אב-טיפוס למוצר! • אב-טיפוס יכול לשמש כמפרט , אבל לא כתכן! • עדכן, שנה, בדוק - אבל בסוף השלך לפח!
ניתוח ניתוח ניתוח מבנה 2 תכן תכן תכן מימוש ושילוב מימוש ושילוב מימוש ושילוב מבנה n מסירה מסירה מסירה קבוצת ניתוח קבוצת תכן קבוצת מימוש מודל אינקרמנטלי מבנה 1
מודל אינקרמנטלי - תכונות • יתרונות • ניתן להתחיל בעבודת הפיתוח מבלי להמתין להשלמת הנדסת המערכת • עבודה במקביל ע”י קבוצות מקצועיות • חסרונות • סיכון גבוה • החלטות תכן ומימוש מתבססות על ניתוח חלקי בלבד • עלול לגרום סבבי שינויים ארוכים ויקרים • זהירות ממהירות מופרזת • CABTAB = Code ABit Test ABit • המלצה: שחרור גירסא ללקוח רק אחרי מספר סבבים
המודל הלולייני - הסבר • משלב בין מודל מפל המים לאב טיפוס • בכל סבב נבצע: • זיהוי מטרות, אלטרנטיבות, ומגבלות בסבב נוכחי • בדיקת אלטרנטיבות ופתרון מגבלות • פיתוח ובדיקה של השלב הנוכחי • תיכנון השלב הבא
המודל הלולייני - תכונות • יתרונות • ניתן להתאים את ההיקף של כל איטרציה לפי: • כושר הפיתוח • היקפי הבדיקות • אילוצי זמנים • הסתכלות אחידה על פיתוח / מימוש / אחזקה • חסרונות • מתאים לתוכנה בהיקף גדול (large-scale) • מתאים לפיתוח פנימי (in-house)
תכנות קיצוני(Extreme Programming) • ריבויי בניה (מספר פעמים ביום!!) • עבודת צוות עם נהלים מיוחדים • תכנות בזוגות מתחלפים • בדיקות רצופות בעזרת כלים ליצירה וניהול • מערכת "עובדת" עם יכולות מוגבלות • תכנון ומימוש מינימליים –לדרישות עד כה • תכנון מחדש (refactorization)
פיתוח מונחה-עצמים(Object-Oriented Development) • מאפייני פיתוח מונחה-עצמים • מידה גבוהה של מודולריות • פיתוח במקביל • אינקרמטלי ואיטרטיבי מטבעו • שימוש חוזר (reuse) • מודלים מונחי-עצמים • תומכים באיטרטיביות בתוך כל שלב ובין השלבים • משלבים מקביליות ופיתוח אינקרמנטלי
מידול תהליך הפיתוח - סיכום • קיים מגוון גדול של מודלים • בפועל על כל חברה לייצר את המודל שמתאים לצרכיה • יש להתחשב בגורמים הבאים: • הארגון (מטרות, אילוצים, תשתיות, ...) • ההנהלה (פתיחות, הבנה מקצועית, גיבוי, ...) • העובדים (הכשרה מקצועית, יחסי-אנוש, ...) • המוצר (מורכבות, ייחודיות, מספר וסוג המשתמשים) • “שלב והתאם” (mix & match) • מודלים שונים לרמות פיתוח שונות (מקרו, מיקרו) • מודלים שונים למרכיבים שונים