מחזור חיי פיתוח מובנה SDLC

Download Report

Transcript מחזור חיי פיתוח מובנה SDLC

‫מבוא למערכות מידע‬
‫מנהל עסקים שנה א‬
‫הרצאה ‪:2‬‬
‫פיתוח ויישום מערכות מידע‪:‬‬
‫ מחזור חיים‬‫ מודלים לפיתוח מערכת‬‫נערך ע"י ד"ר דיצה ביימל‬
‫‪1‬‬
‫‪Spring 2005‬‬
‫‪Specification and Analysis of Information Systems‬‬
‫סיכום השיעור הקודם‬
‫•‬
‫•‬
‫•‬
‫•‬
‫מערכת מידע‪ :‬אסופה של תתי רכיבים‪ :‬חומרה‪ ,‬תוכנה‪,‬‬
‫נתונים‪ ,‬אונשה ונהלים‪ ,‬שמטרתה לתמוך בתהליכי הארגון‪.‬‬
‫מטרת הקורס‪ :‬הבנה והכרת מערכות המידע‬
‫מודל שלושת הרמות של אנתוני‪ :‬תכנון אסטרטגי‪ ,‬בקרה‬
‫ניהולית‪ ,‬בקרה תפעולית‬
‫סוגים שונים של מערכות מידע‪...EIS ,SDS ,MIS :‬‬
‫תפקידן של מערכות המידע הוא‬
‫לתמוך בקבלת ההחלטות‬
‫של רמות ניהול שונות בארגון‬
‫ע"י הספקת מידע הנדרש בכל שלב‪.‬‬
‫‪2‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫איפה אנחנו בציר הזמן‬
‫פיתוח‬
‫ויישום‬
‫תשתיות‬
‫מידע‬
‫תשתיות‬
‫מידע‬
‫תשתיות‬
‫מידע‬
‫פיתוח‬
‫ויישום‬
‫מעבדה‬
‫מעבדה‬
‫מבוא‬
‫מעבדה‬
‫אינטרנט‬
‫‪14‬‬
‫‪3‬‬
‫‪13‬‬
‫‪12‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪11‬‬
‫‪10‬‬
‫‪9‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫תוכן ענינים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪4‬‬
‫מחזור חיים של מערכת‬
‫מחזור חיי פיתוח מובנה ‪SDLC -‬‬
‫גישות ומודלים לפיתוח מערכות מידע‬
‫מי משתתף בתהליך? בעלי התפקידים במערכות מידע‬
‫סיכום‬
‫מבוא למערכות מידע ‪2010‬‬
‫מחזור חיים של מערכת‬
‫מתעורר‬
‫צורך למערכת‬
‫מפתחים‬
‫אותה‬
‫משתמשים בה‬
‫משפרים אותה‬
‫מחליפים אותה‬
‫באחרת‬
‫‪5‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫מקימים‬
‫אותה‬
‫כיצד בונים בית?‬
‫מקבלים החלטה‬
‫בודקים את מצב‬
‫המזומנים‬
‫פונים לארכיטקט‬
‫בית החלומות ?!?‬
‫‪6‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫פונים לקבלן‬
‫תוכן עניינים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪7‬‬
‫מחזור חיים של מערכת‬
‫מחזור חיי פיתוח מובנה ‪SDLC -‬‬
‫גישות ומודלים לפיתוח מערכות מידע‬
‫מי משתתף בתהליך? בעלי התפקידים במערכות מידע‬
‫סיכום‬
‫מבוא למערכות מידע ‪2010‬‬
‫מחזור חיי פיתוח מובנה‬
‫‪SDLC – Structured Development Life Cycle‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫פיתוח מערכת מידע הוא תהליך רב שלבי‪.‬‬
‫בכל שלב מבצעים אנשי פיתוח חלק מתהליך הפיתוח תוך‬
‫שימוש בשיטות וטכניקות ובכלים המתאימים לאותו שלב‪,‬‬
‫ומפיקים תוצרי בינים שישמשו לשלב הבא‪.‬‬
‫משתמשים במונח ‪ SDLC‬על מנת להדגיש שהפיתוח נעשה‬
‫בשלבים מוגדרים‪.‬‬
‫על אף ההבדלים הקיימים בהגדרות של שלבי הפיתוח אפשר‬
‫להבחין בכמה שלבים עיקריים שלגביהם יש הסכמה‪:‬‬
‫הגדרה‪ ,‬בנייה‪ ,‬יישום ותפעול‬
‫‪8‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪( SDLC‬המשך)‬
‫‪ .8‬תחזוקה‪ ,‬בקרה וסיום‬
‫תפעול‬
‫‪ .7‬הדרכה והטמעה‬
‫הטמעה‬
‫‪ .6‬יישום המערכת‬
‫בנייה‬
‫‪ .5‬עיצוב המערכת‬
‫‪ .4‬הגדרה ואפיון המערכת‬
‫‪ .3‬ניתוח דרישות וחקר ישימות‬
‫‪ .2‬איסוף נתונים וחקר מצב קיים‬
‫‪ .1‬ייזום המערכת‬
‫‪9‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫הגדרה‬
‫‪ .1‬ייזום המערכת‬
‫• מטרה‬
‫– סקר ראשוני‬
‫• פעולות‬
‫– זיהוי הבעיה‪/‬צורך‬
‫– זיהוי גבולות המערכת‬
‫– זיהוי נפח הנתונים והמקורות שלהם‬
‫• תוצרים‬
‫– מסמך ייזום‬
‫• מבצעים‬
‫– משתמש‪/‬לקוח‬
‫– אופציונאלי‪ :‬מנתח מערכות‬
‫‪10‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .2‬איסוף נתונים וחקר מצב קיים‬
‫• מטרה‬
‫– למידת מצב קיים ואיתור הבעיות וצורכי המידע הנוספים‬
‫• פעולות‬
‫– איסוף נתונים‪ :‬הארגון‪ ,‬הדרישות‪ ,‬האילוצים‪ ,‬הביצועים נדרשים‪ ,‬הסביבה‪...‬‬
‫– ניתוח ותיעוד מצב קיים‪ ,‬זיהוי בעיות במצב קיים‪ ,‬הגדרת אילוצים‬
‫וסיכונים‪....‬‬
‫• תוצרים‬
‫– סיכומי ראיונות ותצפיות‪ ,‬הקלטות‪ ,‬שאלונים ממולאים‪ ,‬מסמכים מהארגון‬
‫– מסמך חקר מצב קיים‪ :‬תיאור כללי של הארגון וסביבתו‪ ,‬מערכות קיימות‪,‬‬
‫משתמשים‪ ,‬תהליכים‪ ,‬בעיות‪...‬‬
‫• מבצעים‬
‫– משתמש‪/‬לקוח‬
‫– מנתח מערכות‬
‫‪11‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .3‬ניתוח דרישות וחקר ישימות‬
‫• מטרה‬
‫– זיהוי הדרישות וישימות המערכת‬
‫• פעולות‬
‫–‬
‫–‬
‫–‬
‫–‬
‫הגדרת הדרישות מהמערכת‬
‫זיהוי דרישות חסרות‪ ,‬קונפליקטים‪ ,‬ויתירות‬
‫הגדרת סדר עדיפויות‬
‫הערכת חלופות וישימות המערכת‬
‫• בחינת ובחירת דרך פעולה‬
‫• תוצר‬
‫– מסמך דרישות (‪) ?Request For Proposal‬‬
‫– דוח ישימות (‪) ?Request For information‬‬
‫• מבצעים‬
‫– מנתח מערכות‬
‫– משתמש‪/‬לקוח‬
‫‪12‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .4‬הגדרה ואפיון המערכת‬
‫• מטרה‬
‫– אפיון מפורט‬
‫• פעולות‬
‫– הגדרה מפורטת ומדויקת של הפונקציות שתבצע המערכת‬
‫– תהליכי עבודה ואפיון לוגי‬
‫• תוצרים‬
‫– מפרט המערכת (מסמך אפיון)‬
‫– ‪?Request For Proposal‬‬
‫– אופציונאלי ‪ :‬אב טיפוס‬
‫• מבצעים‬
‫– מנתח מערכות‬
‫– משתמש‪/‬לקוח (לקבלת משוב)‬
‫‪13‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .5‬עיצוב המערכת‬
‫• מטרה‬
‫– עיצוב )‪ (design‬התוכנה של מערכת המידע‬
‫• פעולות‬
‫– הגדרה של רכיבי המערכת‪ ,‬ממשקים וטיפוסי הנתונים‬
‫– הגדרה של פונקציונאליות הרכיבים והאלגוריתמים‬
‫• תוצרים‬
‫– מסמך עיצוב (‪ – )Design‬כולל ארכיטקטורה פיזית‪ ,‬ממשקים‪ ,‬מבני נתונים‪,‬‬
‫אלגוריתמים‬
‫– תוכנית בדיקות‬
‫• מבצעים‬
‫– מעצב בסיס הנתונים‬
‫– מעצב ממשקים ומסכים‬
‫– מעצב תוכניות (ארכיטקט תוכנה)‬
‫‪14‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .6‬יישום המערכת‬
‫• מטרה‬
‫– תכנות המערכת ובדיקתה‬
‫• פעולות‬
‫– כתיבת קוד‪ ,‬קומפילציה‪ ,‬קישור תוכניות וכ"ב‬
‫– אימות (‪ - )Verification‬בדיקה של נכונות התהליכים‬
‫– תיקוף (‪ - )Validation‬בדיקה של התוצר הסופי ביחס לדרישות‬
‫• תוצרים‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫קוד של התוכנה‬
‫תוכניות שירות‬
‫קבצים להרצה‬
‫קבצים לבדיקות‬
‫תיעוד‬
‫• מבצעים‬
‫– תוכניתן‪/‬תכנת‬
‫– איש בקרת איכות (‪)QA‬‬
‫‪15‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .7‬הדרכה והטמעה‬
‫• מטרה‬
‫– הטמעת המערכת בארגון‬
‫• פעולות‬
‫– הדרכה‬
‫– הסבת נהלים‪ ,‬קבצים תוכניות מחשב‬
‫– בדיקות קבלה‬
‫• תוצרים‬
‫– מערכת מידע עובדת‬
‫– חוברות הדרכה‪ ,‬קורסים‬
‫• מבצעים‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪16‬‬
‫איש הדרכה‬
‫מפעיל‬
‫משתמש‪/‬לקוח‬
‫אנשי הפיתוח‬
‫מבוא למערכות מידע ‪2010‬‬
‫‪ .8‬תחזוקה‪ ,‬בקרה וסיום‬
‫• מטרה‬
‫– לאפשר למערכת לעבוד ולשרת את המשתמשים‬
‫• פעולות‬
‫–‬
‫–‬
‫–‬
‫–‬
‫תפעול המערכת‬
‫טיפול בשינויים‬
‫תחזוקה‬
‫בקרת מערכת‬
‫• תוצרים‬
‫–‬
‫• מבצעים‬
‫– מפעיל‬
‫– משתמש‬
‫– אנשי הפיתוח לפי הצורך‬
‫‪17‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫מגבלות פיתוח תוכנה בשלבים‬
‫• זמן פיתוח ארוך‬
‫• ראייה סדרתית של תהליך הפיתוח‬
‫• נתק מסוים בין המפתחים למשתמשים‬
‫• מערכת המידע מתקבלת בסוף תהליך הפיתוח‬
‫‪18‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫דוגמא טובה ל ‪SDLC‬‬
‫‪19‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫תוכן עניינים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪20‬‬
‫מחזור חיים של מערכת‬
‫מחזור חיי פיתוח מובנה ‪SDLC -‬‬
‫גישות ומודלים לפיתוח מערכות מידע‬
‫מי משתתף בתהליך? בעלי התפקידים במערכות מידע‬
‫מנשק אדם מחשב‬
‫סיכום‬
‫מבוא למערכות מידע ‪2010‬‬
‫גישת "בנה ותקן"‬
‫בנה מוצר‬
‫ראשוני‬
‫עדכן עד שהלקוח‬
‫מרוצה‬
‫שימוש במערכת‬
‫פרישה‬
‫פיתוח‬
‫תחזוקה‬
‫‪21‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫בנה ותקן ‪ -‬תכונות‬
‫• יתרונות‬
‫– מנקודת מבט של המשתמשים‪ :‬הם מקבלים מ"מ עובדת בשלב מוקדם‬
‫– מנקודת מבט של המתכנתים‪:‬הם מעדיפים לתכנת ולתקן שגיאות תוכנה‬
‫ולא לעסוק בתכנון וניתוח מערכת‪.‬‬
‫• חסרונות‬
‫– אין מפרט‬
‫– אין תכן‬
‫• לכל תוכנה בגודל סביר נדרשים‪ ,‬לפחות‪:‬‬
‫– תכנית פעולה ("‪)"game plan‬‬
‫– שלבים בפיתוח‬
‫– אבני‪-‬דרך (‪)milestones‬‬
‫‪22‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫יעיל בכתיבת‬
‫תוכניות קטנות‬
‫מודל "מפל המים"‬
‫‪Royce, 1970‬‬
‫דרישות‬
‫אימות‬
‫ניתוח‬
‫אימות‬
‫פיתוח‬
‫פיתוח תחת תקלה‬
‫תחזוקה‬
‫תיכון‬
‫אימות‬
‫יישום‬
‫אימות‬
‫אינטגרציה‬
‫אימות‬
‫מצב תפעולי‬
‫פרישה‬
‫‪23‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫מודל מפל המים ‪ -‬תכונות‬
‫• "חוגי משוב" בין שלבים עוקבים‬
‫• תהליך מונחה‪-‬תיעוד‪:‬‬
‫– המעבר לשלב הבא מותנה (ותלוי!) בתיעוד השלב הקודם‬
‫• יתרונות‬
‫– תהליך מתועד‬
‫– אחזקה קלה יותר‬
‫• חסרונות‬
‫– פורמאליות‪-‬יתר (המוצר מאופיין אך ורק באמצעות התיעוד)‬
‫– הארכת זמן הפיתוח (לעתים שנים אחדות)‬
‫• עלות פיתוח גבוהה‬
‫• חריגות בתקציב‬
‫• שינויים בדרישות המשתמשים במהלך הפיתוח והיווצרות נתק‬
‫‪24‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫גישת האב‪-‬טיפוס‬
‫‪25‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫גישת האב‪-‬טיפוס‬
‫זיהוי ראשוני של‬
‫דרישות משתמשים‬
‫פיתוח אב‪-‬טיפוס‬
‫שימוש באב‪-‬טיפוס‬
‫והערכתו‬
‫שיפור האב‪-‬טיפוס‬
‫האם האב טיפוס‬
‫מספק?‬
‫לא‬
‫כן‬
‫המשך פעילות המערכת‬
‫לפי שלבי מחזור החיים‬
‫‪26‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫מחזור חיים | ‪ | SDLC‬גישות ומודלים | בעלי תפקידים | סיכום‬
‫גישת אב‪-‬טיפוס‪ :‬תכונות‬
‫אב‪-‬טיפוס לזריקה‬
‫• אב‪-‬טיפוס הוא אב‪-‬טיפוס‬
‫הוא אב‪-‬טיפוס!‬
‫• אב‪-‬טיפוס נועד להדגים את‬
‫המוצר הסופי ולא לממש‬
‫אותו‪:‬‬
‫– אין להפוך אב‪-‬טיפוס למוצר!‬
‫– אב‪-‬טיפוס יכול לשמש כמפרט‪,‬‬
‫אבל לא כתכן!‬
‫– עדכן‪ ,‬שנה‪ ,‬בדוק ‪ -‬אבל בסוף‬
‫השלך לפח!‬
‫‪27‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫אב‪-‬טיפוס מתפתח‬
‫•‬
‫•‬
‫•‬
‫•‬
‫מזהים מחזור חיים אחר‬
‫מתקשר לפיתוח ‪ DSS‬ו‬
‫‪MIS‬‬
‫אב טיפוס ממוצע יעבור ‪4‬‬
‫עד ‪ 6‬איטרציות עם‬
‫המשתמשים‬
‫אב‪-‬טיפוס הופך למערכת !!‬
‫תכנות קיצוני‬
‫)‪(Extreme Programming‬‬
‫• עבודת צוות‬
‫– צוות הפרויקט יושב יחד‪ ,‬אחד מהצוות הוא נציג הלקוח‪.‬‬
‫• משחק תכנון‬
‫– תכנון גרסאות ( אחת ל ‪ 4-6‬חודשים)‬
‫– תכנון איטרציות ( אחת ל ‪ 3-4‬שבועות)‬
‫• שחרור גרסאות קטנות‬
‫• עבודה בזוגות‬
‫• פיתוח מונחה‪-‬בדיקות‬
‫• שיפור עיצוב כחלק אינטגראלי של עבודת הפיתוח‬
‫• הקוד שייך לצוות‬
‫‪28‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫תוכן עניינים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪29‬‬
‫מחזור חיים של מערכת‬
‫מחזור חיי פיתוח מובנה ‪SDLC -‬‬
‫גישות ומודלים לפיתוח מערכות מידע‬
‫מי משתתף בתהליך? בעלי התפקידים במערכות מידע‬
‫סיכום‬
‫מבוא למערכות מידע ‪2010‬‬
‫מי משתתף בתהליך?‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪30‬‬
‫מנתח מערכות‬
‫תוכניתן‬
‫מנהל פרויקט פיתוח‬
‫מומחה לבסיס נתונים ‪DBA‬‬
‫מומחה תקשורת‬
‫מעצב מערכות ‪Architect‬‬
‫איש הפעלה‬
‫איש מערכת ‪Sys Admin‬‬
‫איש בקרת איכות ‪QA‬‬
‫מבוא למערכות מידע ‪2010‬‬
‫תוכן עניינים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪31‬‬
‫מחזור חיים של מערכת‬
‫מחזור חיי פיתוח מובנה ‪SDLC -‬‬
‫גישות ומודלים לפיתוח מערכות מידע‬
‫מי משתתף בתהליך? בעלי התפקידים במערכות מידע‬
‫סיכום‬
‫מבוא למערכות מידע ‪2010‬‬
‫סיכום‬
‫• ‪ – SDLC‬הגדרה‪ ,‬בנייה‪ ,‬יישום ותפעול‬
‫• קיימים מספר מודלים לפיתוח מערכת מידע‬
‫– מפל המים הוא הפופולארי ביותר‬
‫• חסרונותיו‪ :‬מאריך את זמן הפיתוח‬
‫• הלקוח רואה את המוצר רק בסוף התהליך‬
‫– הבעיה שעולה מרוב המודלים‪ -‬ניתוק מהמשתמש‬
‫• גישת ה ‪ XP‬מנסה לפתור זאת ע"י שילוב אינטגראלי של הלקוח בתוך‬
‫צוות הפיתוח‪.‬‬
‫• בעלי תפקידים במערכות מידע‬
‫אין מודל מושלם לפיתוח מ"מ‪ .‬יש להתאים את‬
‫המודל לנסיבות‪ 2 .‬נקודות חשובות תמיד‪ :‬להיות‬
‫בקשר עם הלקוח ולהכניס סדר בבלגן‪.‬‬
‫‪32‬‬
‫מבוא למערכות מידע ‪2010‬‬