SlideShare una empresa de Scribd logo
1 de 55
‫דרישות - כמה צרי , כמה כדאי?‬
               ‫י. קודיש‬
        ‫הנדסת תוכנה ומערכות‬
          ‫‪j.kudish@computer.org‬‬
             ‫ספטמבר 9002‬
‫ראשית הסיפור‬




‫3-9002-‪IBMMGWR‬‬    ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
"‫"לא איטונג - לא קונה‬


     A characteristic that a system or CSCI must
     possess in order to be acceptable by the
     acquirer [MIL-STD-498]




IBMMGWR-2009-4                 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫... ובמונחי טכניי‬


     In system/software engineering
          a capability needed by a user to
          solve a problem or achieve an objective
          a capability that must be met or possessed by
          a system or system component to satisfy a
          contract, standard, specification, or other
          formally imposed document [IEEE Std. 610.91]


IBMMGWR-2009-5                       2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫תהיות, תובנות ...‬


          ‫הא כל תכונה או יכולת הממומשת‬
      ‫במערכת או בתוכנה היא בהכרח דרישה?‬
                 ‫התשובה לשאלה זו היא "לא"‬
   ‫הא אפשר להפו כל תכונה או יכולת של‬
                 ‫מערכת או תוכנה לדרישה?‬
                 ‫במקרה זה התשובה היא "כ "‬


‫6-9002-‪IBMMGWR‬‬               ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫... ותהיות נוספות‬

‫מתי נרצה להגדיר תכונה או יכולת כדרישה?‬
       ‫כאשר מסיבה כלשהי הפתרו היחיד הקביל‬
        ‫עלינו / על המזמי הינו זה המוגדר בדרישה‬
      ‫מתי נהיה חייבי להגדיר תכונה או יכולת‬
                                  ‫כדרישה?‬
    ‫כאשר הדבר מתחייב מסיבות טכניות )"אחרת‬
                              ‫זה לא יעבוד"(‬
        ‫כאשר הדבר מתחייב מתוק חוק או תקנות‬

‫7-9002-‪IBMMGWR‬‬                   ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫רגע, מה בעצ עושי ע זה ?‬

             ‫הדרישות מגלמות הבנה והסכמה בי‬
           ‫המזמי למייש לגבי מה נדרש לעשות‬
                                      ‫בפיתוח חדש‬
                               ‫קיי‬     ‫בשדרוג יישו‬
            ‫לשימוש / משתמש חדש‬       ‫בהתאמת יישו‬
                 ‫בסיטואציה חוזית יש להסכמה זאת‬
                            ‫משמעויות משפטיות‬
           ‫בסיטואציה לא-חוזית ההסכמה חוסכת‬
                             ‫‪ rework‬ואנרגיה‬
‫8-9002-‪IBMMGWR‬‬                       ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫דרישות "רכות" ודרישות "קשיחות"‬
                                       ‫דרישות "רכות"‬
 ‫אי-יישומ או יישו חלקי או שונה מ הנדרש לא‬
    ‫יפגעו ביכולת המערכת למלא את משימתה‬
                       ‫למשל, מבנה מסכי או דוחות‬
                                    ‫דרישות "קשיחות"‬
         ‫יישומ כרוח וכלשונ הוא תנאי הכרחי‬
    ‫להבטחת יכולת המערכת למלא את משימתה‬
                                                    ‫למשל:‬
                 ‫משוואות פיזיקאליות במערכת משובצת‬
                  ‫צורת חישוב המס בתוכנת עיבוד נתוני‬
‫9-9002-‪IBMMGWR‬‬                          ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫אי לעשות מה?‬



        ‫לבחו הא כל מה שמוגדר כדרישה שיי‬
              ‫לקטגוריה של דרישות "קשיחות"‬
         ‫מומל להגדיר דרישות "רכות" כהנחיות‬
           ‫)‪ (Guidance‬אשר עשויות להשפיע על‬
             ‫דירוג המערכת א לא על קבילותה‬



‫01-9002-‪IBMMGWR‬‬              ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫השלכות‬

  ‫הואיל ודרישה היא תנאי לקבלת המוצר ע"י‬
                               ‫המזמי ...‬
‫יש להדגי פורמאלית ללקוח שהדרישה מומשה‬
‫מש ה-‪ FQT‬ועלותו גדלי ע גידול מספר הדרישות‬
     ‫שינוי או ביטול דרישה משמע פתיחת ההסכ‬
                               ‫ע המזמי‬
       ‫לשינוי תכונות ויכולות שאינ מוגדרות כדרישות‬
                         ‫מספיק לכנס ועדת שינויי‬

‫11-9002-‪IBMMGWR‬‬                      ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫... ועוד השלכות ...‬

        ‫כל דרישה מגבילה אל אופציות המימוש‬
                     ‫העומדות לרשות המפתח‬
           ‫הוספת דרישות שאינ הכרחיות עלולה‬
                      ‫למנוע מימוש אופטימאלי‬
                        ‫הגדלת עלויות הפיתוח‬
                             ‫ביצועי מופחתי‬
                          ‫סיכוני פיתוח מיותרי‬
                           ‫פגיעה בתחזוקתיות‬
‫21-9002-‪IBMMGWR‬‬                ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫מסקנות עד כא‬


                  ‫!!! ‪Small is beautiful‬‬
       ‫המעיטו בדרישות ככל שנית ,‬
            ‫א לא יותר מכ !‬




‫31-9002-‪IBMMGWR‬‬                   ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
Huston, we have a problem …




IBMMGWR-2009-14     2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫מה בעצ אנחנו עושי כא ?‬


‫תוכנה..."‬           ‫"מה לנו ולמערכות ? אנחנו מפתחי‬
 ‫התוכנה "נגמרת" ברמה של חבילת תוכנה / ‪CSCI‬‬
‫היישו הינו מערכת הבנויה מאבני-בניי הממומשות‬
                                     ‫בתוכנה‬
          ‫לפיתוחי קטני ?"‬         ‫"הא זה רלוונטי ג‬
                ‫כ , א לא אוהבי את המילה "‪"rework‬‬


  ‫51-9002-‪IBMMGWR‬‬                    ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫"... אבל אי לי לקוח ..."‬
  ‫תחושה נפוצה כאשר מבוצע פיתוח "פנימי",‬
               ‫או פיתוח בסיטואציה לא-חוזית‬
    ‫כאשר מבוצע פיתוח עבור מחלקה שאינה‬
‫מחלקת ה-‪ IT‬בארגו , איש הקשר של המשתמש‬
                      ‫העתידי הוא הלקוח‬
 ‫כאשר מבוצע פיתוח "למד ", יש לאתר תחלי -‬
      ‫לקוח )‪ (surrogate‬המכיר את הבעיות ואת‬
                    ‫הסביבה בה יופעל היישו‬
                  ‫למשל, מנהל המוצר או איש שיווק‬
          ‫ראיונות ע משתמשי פוטנציאליי עשויי‬
             ‫לספק מידע אשר יאפשר ניסוח דרישות‬
‫61-9002-‪IBMMGWR‬‬                     ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫"... ואי לי דרישות ..."‬
        ‫מתכו מהיר לאיסו דרישות‬

                  ‫אתר את בעלי העניי הרלוונטיי‬
                                ‫מזמי )א יש(‬
                           ‫אנשי שיווק / מכירות‬
                         ‫משתמשי פוטנציאליי‬
                         ‫גורמי ביקורת והסמכה‬
                                             ‫מתחרי‬
                                                      ‫...‬

‫71-9002-‪IBMMGWR‬‬                  ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫"... ואי לי דרישות ..."‬
‫)המש (‬       ‫מתכו מהיר לאיסו דרישות‬

         ‫וודא שכל בעלי העניי הרלוונטיי מביני‬
          ‫באותה צורה מהו הצור אותו יש לספק‬
                   ‫ברר הא קיימות דרישות "קשיחות"‬
                             ‫ברר מדוע ה "קשיחות"‬
  ‫אות , את הרציונאל שלה ואת מי שביקש‬                   ‫רשו‬
                                                       ‫אות‬
  ‫א הדרישות ניתנות למימוש במספר ‪,builds‬‬
           ‫הגדר את ה-‪ builds‬וחלק ביניה את‬
                                  ‫הדרישות‬
 ‫81-9002-‪IBMMGWR‬‬                     ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫כמה דרישות לאסו ?‬

                                                  ‫מעט מדי‬
                  ‫אתה עלול לפתח את הפתרו הלא נכו‬
                                                   ‫יותר מדי‬
                  ‫תבזבז זמ יקר על בירור דברי העלולי‬
                                     ‫להתברר כשוליי‬
                      ‫תצמצ את מרחב התמרו העומד‬
                          ‫לרשות בבחירת דר הפתרו‬


‫91-9002-‪IBMMGWR‬‬                        ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫מתכו להצלחה באיסו דרישות‬

    ‫זכור שהמטרה היא הבנת הבעיה אותה יש‬
                                ‫לפתור‬
                                   ‫לעול אל תניח:‬
    ‫שאתה מבי את הבעיה טוב יותר מבעלי העניי‬
                                        ‫של‬
                  ‫שבעל עניי אחד יכול לייצג את כול‬
                          ‫א צרי , צור מילו מונחי‬
        ‫היה מוכ לשינויי בדרישות; לבעלי עניי‬
                ‫זכות מולדת לשנות את דעת ...‬
‫02-9002-‪IBMMGWR‬‬                      ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬       ‫מתכו להצלחה באיסו דרישות‬

                          ‫התמקד בדרישות "קשיחות"‬
         ‫דחה את מה שהיה אמור להיות דרישות‬
                          ‫"רכות" לשלב התכ‬
   ‫בבוא השעה קבל את אישור בעלי העניי לתכ‬
                          ‫"רוח וצלצולי " עולי כס !‬
                  ‫!‪TOOT‬‬




           ‫+‬              ‫=‬
                          ‫=‬
‫12-9002-‪IBMMGWR‬‬                      ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
! ‫א זה לא כתוב, זו אינה דרישה‬


     "Everybody knew
     'exactly' what had to
     be done, until
     somebody wrote it
     down"
                  [A. Pressman]




IBMMGWR-2009-22                   2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫כל בני אנוש נבראו שווי ;‬
       ‫הדרישות - לא‬



‫32-9002-‪IBMMGWR‬‬           ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫תזכורת‬
               User                   Installation          Operational
           requirements               & validation           system
             definition

                           Proposed
                           characteristics
                                                                                ‫סוגי הדרישות‬
         System                              Integration
      requirements
        definition
                          Architectural
                             design                &
                                             verification
                                                             Integrated
                                                               system           ‫דרישות מזמי‬
    Allocated                                               Supplied
                                                                                  ‫ובעלי-עניי‬
                                 Proposed
 requirements                    characteristics            subsystems
                                                                                        ‫אחרי‬
         System                              Integration
      requirements
        definition
                          Architectural
                             design                &
                                             verification
                                                              Integrated
                                                             subsystems                 ‫דרישות‬
    Allocated                                               Supplied
                                                                                        ‫מערכת‬
                                 Proposed
 requirements                    characteristics            subsystems
                                                                                 ‫דרישות של‬
         System                              Integration
      requirements
        definition
                          Architectural
                             design                &
                                             verification
                                                              Integrated
                                                             subsystems          ‫תת-מערכות‬
            Allocated
         requirements
                                      Proposed
                                      characteristics
                                                            Delivered
                                                            components            ‫דרישות של‬
                         Component
                                                                                       ‫רכיבי‬
                        development                         Components



IBMMGWR-2009-24                                                            2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫"מעגל" דרישות בסיסי‬
              User                   Installation          Operational
          requirements                                      system
            definition               & validation
                                                                              ‫במודל שהוצג‬
                          Proposed
                          characteristics                                       ‫בשק הקוד‬
        System
     requirements
       definition
                         Architectural
                            design
                                            Integration
                                                  &
                                            verification
                                                            Integrated
                                                              system
                                                                               ‫חוזרת תבנית‬
   Allocated                                               Supplied
                                                                            ‫של מעגל משוב‬
                                Proposed
requirements                    characteristics            subsystems
                                                                              ‫הכולל זוג של‬
        System
     requirements        Architectural      Integration
                                                  &
                                                             Integrated
                                                            subsystems
                                                                               ‫רבדי סמוכי‬
                                                                                   ‫של מודל‬
       definition           design          verification

   Allocated
requirements
                                Proposed
                                characteristics
                                                           Supplied
                                                           subsystems               ‫הפיתוח‬
        System
     requirements
       definition
                         Architectural
                            design
                                            Integration
                                                  &
                                            verification
                                                             Integrated
                                                            subsystems             ‫בכל רמה‬
           Allocated                 Proposed              Delivered
                                                                                    ‫הדרישות‬
        requirements                 characteristics       components
                                                                                    ‫מפורטות‬
                        Component
                       development                         Components         ‫וספציפיות יותר‬
  IBMMGWR-2009-25                                                         2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫... עוד על מעגלי ומשולשי‬

                           ‫בכל "מעגל" דרישות‬
‫הדרישות ברמה הגבוהה יותר ה "דרישות מזמי "‬
‫הדרישות ברמה הנמוכה יותר ה "דרישות מפתח"‬
                                                   ‫וכ ...‬
                    ‫בכל רמה נוספות החלטות תכ‬
         ‫כלפי הרמה הבאה, די החלטות התכ כדי‬
                                    ‫דרישות‬
          ‫דרישות המפתח מהוות מענה לדרישות‬
                                    ‫המזמי‬
‫62-9002-‪IBMMGWR‬‬                  ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫דרישות, החלטות תכ ומפרטי‬

Stakeholders                     SRD
                                        Stakeholders'
                  System                Requirements
                  Requirements
                                 SSS
System
                                        System
                                        Requirements
           Design Decisions
           (Derived Req's)
                                 SSDD
                                        System Req's
                                        Allocated to
                                        Subsystem
                  Subsystem
                  Requirements                                SSS
Sub-                             SSS                         SSS
                                                             SSS
systems                                Subsystem                     Subsystem
                                       Requirements                  Requirements
           Design Decisions
           (Derived Req's)                                   SSDD
                                                            SSDD
                                 SSDD                       SSDD


IBMMGWR-2009-27                               2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫... ובמקרי פשוטי יותר‬



Stakeholders                        SRD
                                          Stakeholders'
                  Software                Requirements
                  Requirements
                                    SRS
Software
                                          Software
                                          Requirements
           Design Decisions
           (Derived Req's)
                                    SDD




IBMMGWR-2009-28                                 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫צרות באופק ...‬


           ‫במקרי רבי ל-"מזמי " ול-"המפתח"‬
         ‫במעגל דרישות נתו אי שפה משותפת,‬
                                    ‫למשל:‬
         ‫010110‬
         ‫001101‬        ‫֠‬
                             ‫הלקוח והמפתח‬
         ‫100010‬
         ‫...1101‬   ‫☺‬   ‫...‬
                              ‫הנדסת מערכת‬
                             ‫והנדסת התוכנה‬



‫92-9002-‪IBMMGWR‬‬                ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫בעלי עניי‬


             ‫בעלי עניי ה כל מי שיושפעו על ידי‬
            ‫המערכת או מי שבדר כלשהי אחראי‬
                     ‫לתוצאות הפיתוח או למערכת‬
    ‫המזמי הוא בעל עניי בעל זכויות מיוחדות‬
                      ‫קבלת המערכת או דחייתה‬
                  ‫אישור התשלו תמורת המערכת‬


‫03-9002-‪IBMMGWR‬‬                 ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫בעל המאה...‬


      ‫בכל מקרה של סתירה בי דרישות המזמי‬
       ‫לדרישות בעלי עניי אחרי קובעת דעתו‬
                                ‫של המזמי‬
     ‫כלל זה אינו חל במקרי בה דרישות‬
        ‫המזמי סותרות את הוראות החוק,‬
      ‫תקנות או הוראות של תקני מחייבי‬


‫13-9002-‪IBMMGWR‬‬             ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫חייה הסודיי של הדרישות‬




‫23-9002-‪IBMMGWR‬‬              ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫מדוע ניסוח מדויק של דרישות חשוב ?‬




‫33-9002-‪IBMMGWR‬‬      ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫וכ ...‬




‫43-9002-‪IBMMGWR‬‬   ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫"עובדות החיי "‬

                  ‫דרישות המזמי עלולות להיות ...‬
       ‫מנוסחות בשפה טבעית שאינה חד-משמעית‬
                                ‫לא-קונסיסטנטיות‬
                  ‫לא-שלמות )כוללות הנחות סמויות(‬
                                                 ‫שגויות‬
                              ‫בלתי ניתנות לבדיקה‬
                              ‫בלתי ניתנות למימוש‬
                                      ‫מגדירות תכ‬
‫53-9002-‪IBMMGWR‬‬                     ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫"נדיפות" דרישות‬


        ‫דרישות עשויות להשתנות במהירות רבה‬
                          ‫המהל הפרויקט‬
                            ‫הוספת דרישות‬
                             ‫ביטול דרישות‬
                              ‫שינוי דרישות‬
                       ‫שינוי הקצאת דרישות‬
                           ‫לרכיבי המערכת‬


‫63-9002-‪IBMMGWR‬‬              ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬   ‫"נדיפות" דרישות‬


    ‫בפרויקטי ביטחוניי מוקפדי בארה"ב‬
 ‫שיעור השינוי החודשי הממוצע עומד על %1‬
   ‫בפרויקטי מסחריי שיעור השינוי החודשי‬
         ‫הממוצע עלול להגיע לסביבות %4‬
          ‫מציאות זאת מחייבת שימוש בכלי ניהול‬
          ‫דרישות בעלי יכולת ‪ ,baselining‬שמירת‬
                               ‫היסטוריה וכיו"ב‬

‫73-9002-‪IBMMGWR‬‬                 ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫מה דרישות "טובות"?‬

                             ‫דרישות "טובות" ...‬
    ‫מגדירות בצורה ברורה וחד-משמעית את הצור‬
                  ‫עליו נועדה המערכת לענות‬
                     ‫בעלות ער מוס למשתמש‬
                                            ‫סבירות‬
                            ‫בעלות עקיבות לצור‬
                                ‫ניתנות לאימות‬
          ‫מנוסחות במונחי של "מה" ולא של "אי "‬
‫83-9002-‪IBMMGWR‬‬                  ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫אי להגיע לדרישות "טובות"?‬

        ‫ככל שדרישות המערכת "קשיחות" יותר‬
        ‫כדאי יותר לפתח את הדרישות על בסיס‬
        ‫מודל )‪(model-based req’s development‬‬
                  ‫להקפיד על ניסוח נכו של הדרישות‬
                   ‫להשתמש בכלי "תעשייתי" לניהול‬
                              ‫הדרישות, בפרט לש :‬
                                             ‫ניהול שינויי‬
                    ‫ניהול עקיבות, כולל ‪impact analysis‬‬
‫93-9002-‪IBMMGWR‬‬                          ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫רמת גרנולציה של דרישות‬

   ‫הא להגדיר דרישות "אטומיות" או דרישות‬
                                 ‫מורכבות?‬
    ‫רמת הגרנולציה של דרישות בכל רמה של‬
       ‫ע הפיתוח צריכה להבטיח שנית יהיה‬
     ‫להבי נכו כל אחת מ הדרישות ג ללא‬
                 ‫התייחסות לדרישות אחרות‬
                         ‫תוצר לואי - הקטנת‬
                            ‫מספר הדרישות‬

‫04-9002-‪IBMMGWR‬‬              ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫דרישות המנוסחות במונחי פתרו‬

 ‫לקוח עשויה לדרוש, למשל,ש- "יש להעתיק‬
   ‫לארכיו את תור השאילתות כל 03 שניות"‬
                         ‫אלו שאלות כגו :‬             ‫במקרי‬
              ‫"מדוע ?", "מה התכלית של דרישה זו ?"‬
                          ‫עשויות לגלות שהדרישה‬
                                 ‫האמיתית היא:‬
                      ‫"איני יכול לסבול במש יותר‬
                            ‫מ-03 שניות אבד של‬
                        ‫פניות המגיעות למערכת "‬
‫14-9002-‪IBMMGWR‬‬                     ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫דרישות שאינ ניתנות לבדיקה‬

         ‫שאינ‬‫לקוח עלול לנסח דרישה במונחי‬
       ‫ניתני לבדיקה, למשל, "המערכת תהיה‬
                               ‫קלה לתפעול"‬
       ‫במקרה זה אפשר להציע לנסח את דר‬
      ‫הוכחת הדרישה במונחי המקובלי על‬
   ‫הלקוח, אשר ניתני לבדיקה אובייקטיבית,‬
                                    ‫כגו :‬
      ‫"הא תסכי שהמערכת קלה לתפעול א‬
         ‫%59 )או יותר( ממדג של ‪ X‬משתמשי‬
‫יסווגו אותה ככזאת לאחר הדרכה של ‪ Y‬דקות ?"‬
‫24-9002-‪IBMMGWR‬‬                ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫עקרונות כלליי של ניסוח דרישות‬

                  ‫נסח את הדרישות כ שקורא סביר:‬
                         ‫לא ייאל לתת לה פרשנות‬
                   ‫לא ייאל לנחש מה היו ההנחות של‬
                         ‫כתוב תמיד משפטי שלמי‬
                     ‫השתמש בשפה פשוטה וברורה‬
       ‫המנע משימוש במונחי מעורפלי , רבי-‬
      ‫משמעות, מונחי שמקור בס ֶנג מקומי,‬
               ‫ל‬
                            ‫מונחי מסחריי‬
‫34-9002-‪IBMMGWR‬‬                     ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬   ‫עקרונות ניסוח דרישות‬

‫מדי ...‬           ‫- א לא קצרי‬    ‫כתוב משפטי קצרי‬
                              ‫השתמש בסימני פיסוק‬
              ‫א סימני הפיסוק רבי מדי, נסח את‬
                                ‫הדרישה מחדש‬
     ‫הבח בי דרישות לבי הנחיות )‪(guidance‬‬
                  ‫המנע ממילי כגו "כגו ", "למשל",‬
                               ‫"וכדומה", "וכולי", וכו'‬

‫44-9002-‪IBMMGWR‬‬                        ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬   ‫עקרונות ניסוח דרישות‬

                    ‫המנע ממונחי מעורפלי , כגו :‬
                                                   ‫למזער‬
                               ‫להגדיל ככל האפשר‬
                                                   ‫מספק‬
                                  ‫ידידותי למשתמש‬
                                   ‫ממדרגה ראשונה‬
                               ‫המערכת תתמו ב...‬
                           ‫... כולל א לא מוגבל ל...‬
‫54-9002-‪IBMMGWR‬‬                       ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬   ‫עקרונות ניסוח דרישות‬


  ‫נסח את הדרישות כ שנית יהיה לשנות או‬
   ‫למחוק חלק מה מבלי שהדבר יחייב עדכו‬
                     ‫של הדרישות הנותרות‬
                  ‫שמור רשומת של מקורה של דרישה‬
                         ‫והרציונאל העומד מאחוריה‬
‫השתדל לכתוב מה נחו , ולא אי לממש את‬
                               ‫הפתרו‬

‫64-9002-‪IBMMGWR‬‬                    ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫ניסוח דרישות בעברית‬

                  ‫השתמש בציווי בלשו עתיד, למשל:‬
    ‫"רשומות המטופלי תוחזקנה במערכת בצורה‬
                                ‫מוצפנת."‬
      ‫"במקרה ולא נית להשלי את הטרנזקציה‬
  ‫התוכנה תחזיר את בסיס הנתוני למצב בו היה‬
              ‫בטר החל הטיפול בטרנזקציה ."‬




‫74-9002-‪IBMMGWR‬‬                    ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫ניסוח דרישות באנגלית‬

                              ‫התבנית הכללית תהיה:‬
      ‫]>?‪The system shall <action> [<what‬‬
                 ‫]>?‪[<when/how‬‬
                    ‫הניסוח יהיה בלשו עתיד, ויכלול:‬
                             ‫את המילה ‪ shall‬לדרישות‬
                  ‫את המילה ‪ should‬להנחיות )‪(guidance‬‬
      ‫את המילי ‪ will, may‬להצהרת כוונות כללית‬

‫84-9002-‪IBMMGWR‬‬                         ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
( ‫)המש‬   ‫ניסוח דרישות באנגלית‬
The System shall…
          Action               What?                       When / How?
     measure               the car density                  in each traffic lane.

                           the remaining
     display                                                in seconds.
                           recording time

     trasmit               the error messages               to central log.

                           the communication
     command                                                in emergency mode.
                           switch to filter traffic
                           the software from the
     download                                               following power-up.
                           server
                                                            when signaled by the
     perform               error recovery
                                                            xyz.
                           the distance till next           based on current fuel
     compute
                           refueling                        consumption.

     adjust                the exposure time                for every frame.

IBMMGWR-2009-49                                  2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
‫כמה צרי , כמה כדאי‬




‫05-9002-‪IBMMGWR‬‬         ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫‪Money, money, money‬‬

     ‫לנכונות הדרישות השפעה חזקה על עלות‬
        ‫הפיתוח, ולכ כדאי להשקיע בהגדרת‬
                               ‫הדרישות‬
‫תיקו מערכת עקב ליקוי בדרישה / הבנה של‬
   ‫דרישה לאחר סיו בדיקות המערכת עשוי‬
‫להיות יקר פי 001 עד פי 002 ]‪Standish Group‬‬
    ‫ואחרי [ מאשר תיקו שהיה נעשה בשלב‬
                           ‫הגדרת הדרישות‬

‫15-9002-‪IBMMGWR‬‬             ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫עלות שגיאות שמקור בדרישות‬

      ‫שגיאות שמקור בדרישות מהוות בי %04‬
        ‫ל-%05 מ השגיאות בפרויקטי ]‪[Dion‬‬
   ‫תקלות בטיחות שמקור בדרישות מהוות בי‬
‫%06 ללמעלה מ-%08 מכלל התקלות ]‪[NASA‬‬
     ‫עלות ממוצעת של תיקו שגיאות שמקור‬
   ‫בדרישות )‪ (rework‬מגיעה ל-%07 עד %58‬
 ‫מ העלות המקורית של הפרויקט ]‪[Standish‬‬
‫עלות ה-‪ rework‬אינה מתוקצבת ולכ זהו‬
      ‫הכס היקר ביותר בפרויקט של !‬
 ‫25-9002-‪IBMMGWR‬‬             ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫דוגמה מספרית‬

      ‫נניח כי מדובר ביישו בהיק של 000,05 שורות‬
      ‫קוד, המפותח ע"י צוות הכולל 6 מפתחי , ראש‬
          ‫צוות, 2 אנשי בדיקות ואיש ‪ QA‬אחד, שעלות‬
               ‫החודשית הממוצעת היא ‪ $10K‬לעובד‬
  ‫בהנחה שהתפוקה החודשית הממוצעת של איש‬
‫פיתוח היא 053 שורות קוד "נקיות", העלות הכוללת‬
      ‫של הפרויקט מוערכת ב-‪ ,$2.4M‬במהל 42‬
                               ‫חודשי קלנדריי‬
         ‫נניח כי עלות ה-‪ rework‬הכוללת בפרויקט היא‬
                     ‫%03, סכו השווה ל-000,027$‬
     ‫א מתו סכו זה עלות תיקו הבעיות בדרישות‬
           ‫היא %07, סכו זה מצטבר ל-000,405$ !‬
‫35-9002-‪IBMMGWR‬‬                   ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
‫)המש (‬     ‫דוגמה מספרית‬
   ‫נניח כי עלות רכש כלי והכשרת הצוות היא‬
                     ‫מסדר-גודל של ‪$20K‬‬
‫ההחזר על טיפול טוב יותר בדרישות ית לנו:‬

  ‫מקרה 3‬          ‫מקרה 2‬     ‫מקרה 1‬
   ‫%04‬             ‫%02‬        ‫%01‬                 ‫שיעור סילוק שגיאות בדרישות‬
 ‫006,102$‬         ‫008,001$‬   ‫004,05$‬                      ‫חיסכו בפרויקט המוצג‬
    ‫5.2‬             ‫7.1‬        ‫0.1‬       ‫קיצור זמ ליציאה לשוק ) ‪] (TTM‬חודשי [‬
    ‫4.2‬             ‫7.4‬        ‫5.9‬              ‫החזר זמ על ההשקעה ]חודשי [‬
   ‫%319‬            ‫%704‬      ‫%351‬      ‫% החזר על ההשקעה במהל פרויקט ראשו‬




‫45-9002-‪IBMMGWR‬‬                            ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
דרישות   כמה צריך וכמה כדאי

Más contenido relacionado

Similar a דרישות כמה צריך וכמה כדאי

Engineering Service
Engineering ServiceEngineering Service
Engineering Serviceariegold
 
ניהול דרישות כחלק ממחזור פיתוח המוצר
ניהול דרישות כחלק ממחזור פיתוח המוצרניהול דרישות כחלק ממחזור פיתוח המוצר
ניהול דרישות כחלק ממחזור פיתוח המוצרManageware
 
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)tchanim
 
217188253 vdi-case-final-2010
217188253 vdi-case-final-2010217188253 vdi-case-final-2010
217188253 vdi-case-final-2010Inbalraanan
 
217188243 rt-infa-general-2008
217188243 rt-infa-general-2008217188243 rt-infa-general-2008
217188243 rt-infa-general-2008Inbalraanan
 
סדנת מבוא: הגנת סייבר למבקרי מערכות מידע
סדנת מבוא: הגנת סייבר למבקרי מערכות מידעסדנת מבוא: הגנת סייבר למבקרי מערכות מידע
סדנת מבוא: הגנת סייבר למבקרי מערכות מידעHillel Kobrovski
 
Sales Kit To Be Excellent Account Manager By Zion Levi
Sales Kit   To Be Excellent Account Manager   By Zion LeviSales Kit   To Be Excellent Account Manager   By Zion Levi
Sales Kit To Be Excellent Account Manager By Zion Levishelymika
 
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצה
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצהסמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצה
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצהHillel Kobrovski
 
IT procurement cloud (and other) recommandations
IT procurement cloud (and other) recommandationsIT procurement cloud (and other) recommandations
IT procurement cloud (and other) recommandationsPini Cohen
 
Infrastructure Integration
Infrastructure IntegrationInfrastructure Integration
Infrastructure IntegrationShmuel Dimant
 
Powershell - ISUG 99 (Aviad Deri)
Powershell  - ISUG 99 (Aviad Deri)Powershell  - ISUG 99 (Aviad Deri)
Powershell - ISUG 99 (Aviad Deri)sqlserver.co.il
 
Buisness Profile
Buisness ProfileBuisness Profile
Buisness Profilehertzman
 
שולחן עגול בנקאות רגולציה וענן
שולחן עגול  בנקאות רגולציה וענןשולחן עגול  בנקאות רגולציה וענן
שולחן עגול בנקאות רגולציה וענןArthur Schmunk
 
מחשוב ענן ושילובו בתעשיה המסורתית
מחשוב ענן ושילובו בתעשיה המסורתית מחשוב ענן ושילובו בתעשיה המסורתית
מחשוב ענן ושילובו בתעשיה המסורתית Alexander Raif
 
IIoT - (אבנר ברק (שניידר אלקטריק
IIoT -  (אבנר ברק (שניידר אלקטריקIIoT -  (אבנר ברק (שניידר אלקטריק
IIoT - (אבנר ברק (שניידר אלקטריקtchanim
 
Object oriented analysis and design by alberta university - Typed
Object oriented analysis and design by alberta university - TypedObject oriented analysis and design by alberta university - Typed
Object oriented analysis and design by alberta university - TypedOhad Esperansa
 

Similar a דרישות כמה צריך וכמה כדאי (20)

Engineering Service
Engineering ServiceEngineering Service
Engineering Service
 
ניהול דרישות כחלק ממחזור פיתוח המוצר
ניהול דרישות כחלק ממחזור פיתוח המוצרניהול דרישות כחלק ממחזור פיתוח המוצר
ניהול דרישות כחלק ממחזור פיתוח המוצר
 
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
 
217188253 vdi-case-final-2010
217188253 vdi-case-final-2010217188253 vdi-case-final-2010
217188253 vdi-case-final-2010
 
217188243 rt-infa-general-2008
217188243 rt-infa-general-2008217188243 rt-infa-general-2008
217188243 rt-infa-general-2008
 
סדנת מבוא: הגנת סייבר למבקרי מערכות מידע
סדנת מבוא: הגנת סייבר למבקרי מערכות מידעסדנת מבוא: הגנת סייבר למבקרי מערכות מידע
סדנת מבוא: הגנת סייבר למבקרי מערכות מידע
 
SDDC
SDDCSDDC
SDDC
 
Sales Kit To Be Excellent Account Manager By Zion Levi
Sales Kit   To Be Excellent Account Manager   By Zion LeviSales Kit   To Be Excellent Account Manager   By Zion Levi
Sales Kit To Be Excellent Account Manager By Zion Levi
 
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצה
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצהסמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצה
סמינר: הילל קוברובסקי - הגנת סייבר ברמת תחנת הקצה
 
IT procurement cloud (and other) recommandations
IT procurement cloud (and other) recommandationsIT procurement cloud (and other) recommandations
IT procurement cloud (and other) recommandations
 
Infrastructure Integration
Infrastructure IntegrationInfrastructure Integration
Infrastructure Integration
 
It trends
It trendsIt trends
It trends
 
Virt Old
Virt OldVirt Old
Virt Old
 
Powershell - ISUG 99 (Aviad Deri)
Powershell  - ISUG 99 (Aviad Deri)Powershell  - ISUG 99 (Aviad Deri)
Powershell - ISUG 99 (Aviad Deri)
 
Buisness Profile
Buisness ProfileBuisness Profile
Buisness Profile
 
שולחן עגול בנקאות רגולציה וענן
שולחן עגול  בנקאות רגולציה וענןשולחן עגול  בנקאות רגולציה וענן
שולחן עגול בנקאות רגולציה וענן
 
מחשוב ענן ושילובו בתעשיה המסורתית
מחשוב ענן ושילובו בתעשיה המסורתית מחשוב ענן ושילובו בתעשיה המסורתית
מחשוב ענן ושילובו בתעשיה המסורתית
 
IIoT - (אבנר ברק (שניידר אלקטריק
IIoT -  (אבנר ברק (שניידר אלקטריקIIoT -  (אבנר ברק (שניידר אלקטריק
IIoT - (אבנר ברק (שניידר אלקטריק
 
Object oriented analysis and design by alberta university - Typed
Object oriented analysis and design by alberta university - TypedObject oriented analysis and design by alberta university - Typed
Object oriented analysis and design by alberta university - Typed
 
990 network virtualiztion
990 network virtualiztion990 network virtualiztion
990 network virtualiztion
 

Más de Manageware

Product families
Product familiesProduct families
Product familiesManageware
 
IBM Rational Change special control types
IBM Rational Change special control typesIBM Rational Change special control types
IBM Rational Change special control typesManageware
 
Rm saa s for share 2
Rm saa s for share 2Rm saa s for share 2
Rm saa s for share 2Manageware
 
Rm saa s for share 2
Rm saa s for share 2Rm saa s for share 2
Rm saa s for share 2Manageware
 
Rm saa s for share
Rm saa s for shareRm saa s for share
Rm saa s for shareManageware
 
Rm saa s for share
Rm saa s for shareRm saa s for share
Rm saa s for shareManageware
 
Four principles seminar manageware seminar
Four principles seminar   manageware seminarFour principles seminar   manageware seminar
Four principles seminar manageware seminarManageware
 
Sailing in Requirements Management Cross Currents - www.manageware.co.il Seminar
Sailing in Requirements Management Cross Currents - www.manageware.co.il SeminarSailing in Requirements Management Cross Currents - www.manageware.co.il Seminar
Sailing in Requirements Management Cross Currents - www.manageware.co.il SeminarManageware
 
DOORS Power Tools
DOORS Power ToolsDOORS Power Tools
DOORS Power ToolsManageware
 
DOORS Rhapsody integration via Gateway
DOORS Rhapsody integration via GatewayDOORS Rhapsody integration via Gateway
DOORS Rhapsody integration via GatewayManageware
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and TricksManageware
 
DOORS RIF Capability
DOORS RIF CapabilityDOORS RIF Capability
DOORS RIF CapabilityManageware
 
Synergy Database Cleaning
Synergy Database CleaningSynergy Database Cleaning
Synergy Database CleaningManageware
 
Rational Doors Hp Quality Center Integration
Rational Doors Hp Quality Center IntegrationRational Doors Hp Quality Center Integration
Rational Doors Hp Quality Center IntegrationManageware
 
EA Doing The Right Things Right V1 Manageware
EA   Doing The Right Things Right V1 ManagewareEA   Doing The Right Things Right V1 Manageware
EA Doing The Right Things Right V1 ManagewareManageware
 
Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product Manageware
 
Requirements Review Process
Requirements Review ProcessRequirements Review Process
Requirements Review ProcessManageware
 
Optimizing DOORS Implementation
Optimizing DOORS ImplementationOptimizing DOORS Implementation
Optimizing DOORS ImplementationManageware
 
CR based development in Synergy
CR based development in SynergyCR based development in Synergy
CR based development in SynergyManageware
 

Más de Manageware (20)

Product families
Product familiesProduct families
Product families
 
IBM Rational Change special control types
IBM Rational Change special control typesIBM Rational Change special control types
IBM Rational Change special control types
 
Rm saa s for share 2
Rm saa s for share 2Rm saa s for share 2
Rm saa s for share 2
 
Rm saa s for share 2
Rm saa s for share 2Rm saa s for share 2
Rm saa s for share 2
 
Rm saa s for share
Rm saa s for shareRm saa s for share
Rm saa s for share
 
Rm saa s for share
Rm saa s for shareRm saa s for share
Rm saa s for share
 
Four principles seminar manageware seminar
Four principles seminar   manageware seminarFour principles seminar   manageware seminar
Four principles seminar manageware seminar
 
Sailing in Requirements Management Cross Currents - www.manageware.co.il Seminar
Sailing in Requirements Management Cross Currents - www.manageware.co.il SeminarSailing in Requirements Management Cross Currents - www.manageware.co.il Seminar
Sailing in Requirements Management Cross Currents - www.manageware.co.il Seminar
 
DOORS Power Tools
DOORS Power ToolsDOORS Power Tools
DOORS Power Tools
 
DOORS Rhapsody integration via Gateway
DOORS Rhapsody integration via GatewayDOORS Rhapsody integration via Gateway
DOORS Rhapsody integration via Gateway
 
DOORS Tips and Tricks
DOORS Tips and TricksDOORS Tips and Tricks
DOORS Tips and Tricks
 
DOORS RIF Capability
DOORS RIF CapabilityDOORS RIF Capability
DOORS RIF Capability
 
Synergy CLI
Synergy CLISynergy CLI
Synergy CLI
 
Synergy Database Cleaning
Synergy Database CleaningSynergy Database Cleaning
Synergy Database Cleaning
 
Rational Doors Hp Quality Center Integration
Rational Doors Hp Quality Center IntegrationRational Doors Hp Quality Center Integration
Rational Doors Hp Quality Center Integration
 
EA Doing The Right Things Right V1 Manageware
EA   Doing The Right Things Right V1 ManagewareEA   Doing The Right Things Right V1 Manageware
EA Doing The Right Things Right V1 Manageware
 
Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product Spec template and mapping to derivatives of a product
Spec template and mapping to derivatives of a product
 
Requirements Review Process
Requirements Review ProcessRequirements Review Process
Requirements Review Process
 
Optimizing DOORS Implementation
Optimizing DOORS ImplementationOptimizing DOORS Implementation
Optimizing DOORS Implementation
 
CR based development in Synergy
CR based development in SynergyCR based development in Synergy
CR based development in Synergy
 

דרישות כמה צריך וכמה כדאי

  • 1.
  • 2. ‫דרישות - כמה צרי , כמה כדאי?‬ ‫י. קודיש‬ ‫הנדסת תוכנה ומערכות‬ ‫‪j.kudish@computer.org‬‬ ‫ספטמבר 9002‬
  • 3. ‫ראשית הסיפור‬ ‫3-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 4. "‫"לא איטונג - לא קונה‬ A characteristic that a system or CSCI must possess in order to be acceptable by the acquirer [MIL-STD-498] IBMMGWR-2009-4 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 5. ‫... ובמונחי טכניי‬ In system/software engineering a capability needed by a user to solve a problem or achieve an objective a capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document [IEEE Std. 610.91] IBMMGWR-2009-5 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 6. ‫תהיות, תובנות ...‬ ‫הא כל תכונה או יכולת הממומשת‬ ‫במערכת או בתוכנה היא בהכרח דרישה?‬ ‫התשובה לשאלה זו היא "לא"‬ ‫הא אפשר להפו כל תכונה או יכולת של‬ ‫מערכת או תוכנה לדרישה?‬ ‫במקרה זה התשובה היא "כ "‬ ‫6-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 7. ‫... ותהיות נוספות‬ ‫מתי נרצה להגדיר תכונה או יכולת כדרישה?‬ ‫כאשר מסיבה כלשהי הפתרו היחיד הקביל‬ ‫עלינו / על המזמי הינו זה המוגדר בדרישה‬ ‫מתי נהיה חייבי להגדיר תכונה או יכולת‬ ‫כדרישה?‬ ‫כאשר הדבר מתחייב מסיבות טכניות )"אחרת‬ ‫זה לא יעבוד"(‬ ‫כאשר הדבר מתחייב מתוק חוק או תקנות‬ ‫7-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 8. ‫רגע, מה בעצ עושי ע זה ?‬ ‫הדרישות מגלמות הבנה והסכמה בי‬ ‫המזמי למייש לגבי מה נדרש לעשות‬ ‫בפיתוח חדש‬ ‫קיי‬ ‫בשדרוג יישו‬ ‫לשימוש / משתמש חדש‬ ‫בהתאמת יישו‬ ‫בסיטואציה חוזית יש להסכמה זאת‬ ‫משמעויות משפטיות‬ ‫בסיטואציה לא-חוזית ההסכמה חוסכת‬ ‫‪ rework‬ואנרגיה‬ ‫8-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 9. ‫דרישות "רכות" ודרישות "קשיחות"‬ ‫דרישות "רכות"‬ ‫אי-יישומ או יישו חלקי או שונה מ הנדרש לא‬ ‫יפגעו ביכולת המערכת למלא את משימתה‬ ‫למשל, מבנה מסכי או דוחות‬ ‫דרישות "קשיחות"‬ ‫יישומ כרוח וכלשונ הוא תנאי הכרחי‬ ‫להבטחת יכולת המערכת למלא את משימתה‬ ‫למשל:‬ ‫משוואות פיזיקאליות במערכת משובצת‬ ‫צורת חישוב המס בתוכנת עיבוד נתוני‬ ‫9-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 10. ‫אי לעשות מה?‬ ‫לבחו הא כל מה שמוגדר כדרישה שיי‬ ‫לקטגוריה של דרישות "קשיחות"‬ ‫מומל להגדיר דרישות "רכות" כהנחיות‬ ‫)‪ (Guidance‬אשר עשויות להשפיע על‬ ‫דירוג המערכת א לא על קבילותה‬ ‫01-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 11. ‫השלכות‬ ‫הואיל ודרישה היא תנאי לקבלת המוצר ע"י‬ ‫המזמי ...‬ ‫יש להדגי פורמאלית ללקוח שהדרישה מומשה‬ ‫מש ה-‪ FQT‬ועלותו גדלי ע גידול מספר הדרישות‬ ‫שינוי או ביטול דרישה משמע פתיחת ההסכ‬ ‫ע המזמי‬ ‫לשינוי תכונות ויכולות שאינ מוגדרות כדרישות‬ ‫מספיק לכנס ועדת שינויי‬ ‫11-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 12. ‫... ועוד השלכות ...‬ ‫כל דרישה מגבילה אל אופציות המימוש‬ ‫העומדות לרשות המפתח‬ ‫הוספת דרישות שאינ הכרחיות עלולה‬ ‫למנוע מימוש אופטימאלי‬ ‫הגדלת עלויות הפיתוח‬ ‫ביצועי מופחתי‬ ‫סיכוני פיתוח מיותרי‬ ‫פגיעה בתחזוקתיות‬ ‫21-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 13. ‫מסקנות עד כא‬ ‫!!! ‪Small is beautiful‬‬ ‫המעיטו בדרישות ככל שנית ,‬ ‫א לא יותר מכ !‬ ‫31-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 14. Huston, we have a problem … IBMMGWR-2009-14 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 15. ‫מה בעצ אנחנו עושי כא ?‬ ‫תוכנה..."‬ ‫"מה לנו ולמערכות ? אנחנו מפתחי‬ ‫התוכנה "נגמרת" ברמה של חבילת תוכנה / ‪CSCI‬‬ ‫היישו הינו מערכת הבנויה מאבני-בניי הממומשות‬ ‫בתוכנה‬ ‫לפיתוחי קטני ?"‬ ‫"הא זה רלוונטי ג‬ ‫כ , א לא אוהבי את המילה "‪"rework‬‬ ‫51-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 16. ‫"... אבל אי לי לקוח ..."‬ ‫תחושה נפוצה כאשר מבוצע פיתוח "פנימי",‬ ‫או פיתוח בסיטואציה לא-חוזית‬ ‫כאשר מבוצע פיתוח עבור מחלקה שאינה‬ ‫מחלקת ה-‪ IT‬בארגו , איש הקשר של המשתמש‬ ‫העתידי הוא הלקוח‬ ‫כאשר מבוצע פיתוח "למד ", יש לאתר תחלי -‬ ‫לקוח )‪ (surrogate‬המכיר את הבעיות ואת‬ ‫הסביבה בה יופעל היישו‬ ‫למשל, מנהל המוצר או איש שיווק‬ ‫ראיונות ע משתמשי פוטנציאליי עשויי‬ ‫לספק מידע אשר יאפשר ניסוח דרישות‬ ‫61-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 17. ‫"... ואי לי דרישות ..."‬ ‫מתכו מהיר לאיסו דרישות‬ ‫אתר את בעלי העניי הרלוונטיי‬ ‫מזמי )א יש(‬ ‫אנשי שיווק / מכירות‬ ‫משתמשי פוטנציאליי‬ ‫גורמי ביקורת והסמכה‬ ‫מתחרי‬ ‫...‬ ‫71-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 18. ‫"... ואי לי דרישות ..."‬ ‫)המש (‬ ‫מתכו מהיר לאיסו דרישות‬ ‫וודא שכל בעלי העניי הרלוונטיי מביני‬ ‫באותה צורה מהו הצור אותו יש לספק‬ ‫ברר הא קיימות דרישות "קשיחות"‬ ‫ברר מדוע ה "קשיחות"‬ ‫אות , את הרציונאל שלה ואת מי שביקש‬ ‫רשו‬ ‫אות‬ ‫א הדרישות ניתנות למימוש במספר ‪,builds‬‬ ‫הגדר את ה-‪ builds‬וחלק ביניה את‬ ‫הדרישות‬ ‫81-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 19. ‫כמה דרישות לאסו ?‬ ‫מעט מדי‬ ‫אתה עלול לפתח את הפתרו הלא נכו‬ ‫יותר מדי‬ ‫תבזבז זמ יקר על בירור דברי העלולי‬ ‫להתברר כשוליי‬ ‫תצמצ את מרחב התמרו העומד‬ ‫לרשות בבחירת דר הפתרו‬ ‫91-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 20. ‫מתכו להצלחה באיסו דרישות‬ ‫זכור שהמטרה היא הבנת הבעיה אותה יש‬ ‫לפתור‬ ‫לעול אל תניח:‬ ‫שאתה מבי את הבעיה טוב יותר מבעלי העניי‬ ‫של‬ ‫שבעל עניי אחד יכול לייצג את כול‬ ‫א צרי , צור מילו מונחי‬ ‫היה מוכ לשינויי בדרישות; לבעלי עניי‬ ‫זכות מולדת לשנות את דעת ...‬ ‫02-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 21. ‫)המש (‬ ‫מתכו להצלחה באיסו דרישות‬ ‫התמקד בדרישות "קשיחות"‬ ‫דחה את מה שהיה אמור להיות דרישות‬ ‫"רכות" לשלב התכ‬ ‫בבוא השעה קבל את אישור בעלי העניי לתכ‬ ‫"רוח וצלצולי " עולי כס !‬ ‫!‪TOOT‬‬ ‫+‬ ‫=‬ ‫=‬ ‫12-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 22. ! ‫א זה לא כתוב, זו אינה דרישה‬ "Everybody knew 'exactly' what had to be done, until somebody wrote it down" [A. Pressman] IBMMGWR-2009-22 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 23. ‫כל בני אנוש נבראו שווי ;‬ ‫הדרישות - לא‬ ‫32-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 24. ‫תזכורת‬ User Installation Operational requirements & validation system definition Proposed characteristics ‫סוגי הדרישות‬ System Integration requirements definition Architectural design & verification Integrated system ‫דרישות מזמי‬ Allocated Supplied ‫ובעלי-עניי‬ Proposed requirements characteristics subsystems ‫אחרי‬ System Integration requirements definition Architectural design & verification Integrated subsystems ‫דרישות‬ Allocated Supplied ‫מערכת‬ Proposed requirements characteristics subsystems ‫דרישות של‬ System Integration requirements definition Architectural design & verification Integrated subsystems ‫תת-מערכות‬ Allocated requirements Proposed characteristics Delivered components ‫דרישות של‬ Component ‫רכיבי‬ development Components IBMMGWR-2009-24 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 25. ‫"מעגל" דרישות בסיסי‬ User Installation Operational requirements system definition & validation ‫במודל שהוצג‬ Proposed characteristics ‫בשק הקוד‬ System requirements definition Architectural design Integration & verification Integrated system ‫חוזרת תבנית‬ Allocated Supplied ‫של מעגל משוב‬ Proposed requirements characteristics subsystems ‫הכולל זוג של‬ System requirements Architectural Integration & Integrated subsystems ‫רבדי סמוכי‬ ‫של מודל‬ definition design verification Allocated requirements Proposed characteristics Supplied subsystems ‫הפיתוח‬ System requirements definition Architectural design Integration & verification Integrated subsystems ‫בכל רמה‬ Allocated Proposed Delivered ‫הדרישות‬ requirements characteristics components ‫מפורטות‬ Component development Components ‫וספציפיות יותר‬ IBMMGWR-2009-25 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 26. ‫... עוד על מעגלי ומשולשי‬ ‫בכל "מעגל" דרישות‬ ‫הדרישות ברמה הגבוהה יותר ה "דרישות מזמי "‬ ‫הדרישות ברמה הנמוכה יותר ה "דרישות מפתח"‬ ‫וכ ...‬ ‫בכל רמה נוספות החלטות תכ‬ ‫כלפי הרמה הבאה, די החלטות התכ כדי‬ ‫דרישות‬ ‫דרישות המפתח מהוות מענה לדרישות‬ ‫המזמי‬ ‫62-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 27. ‫דרישות, החלטות תכ ומפרטי‬ Stakeholders SRD Stakeholders' System Requirements Requirements SSS System System Requirements Design Decisions (Derived Req's) SSDD System Req's Allocated to Subsystem Subsystem Requirements SSS Sub- SSS SSS SSS systems Subsystem Subsystem Requirements Requirements Design Decisions (Derived Req's) SSDD SSDD SSDD SSDD IBMMGWR-2009-27 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 28. ‫... ובמקרי פשוטי יותר‬ Stakeholders SRD Stakeholders' Software Requirements Requirements SRS Software Software Requirements Design Decisions (Derived Req's) SDD IBMMGWR-2009-28 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 29. ‫צרות באופק ...‬ ‫במקרי רבי ל-"מזמי " ול-"המפתח"‬ ‫במעגל דרישות נתו אי שפה משותפת,‬ ‫למשל:‬ ‫010110‬ ‫001101‬ ‫֠‬ ‫הלקוח והמפתח‬ ‫100010‬ ‫...1101‬ ‫☺‬ ‫...‬ ‫הנדסת מערכת‬ ‫והנדסת התוכנה‬ ‫92-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 30. ‫בעלי עניי‬ ‫בעלי עניי ה כל מי שיושפעו על ידי‬ ‫המערכת או מי שבדר כלשהי אחראי‬ ‫לתוצאות הפיתוח או למערכת‬ ‫המזמי הוא בעל עניי בעל זכויות מיוחדות‬ ‫קבלת המערכת או דחייתה‬ ‫אישור התשלו תמורת המערכת‬ ‫03-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 31. ‫בעל המאה...‬ ‫בכל מקרה של סתירה בי דרישות המזמי‬ ‫לדרישות בעלי עניי אחרי קובעת דעתו‬ ‫של המזמי‬ ‫כלל זה אינו חל במקרי בה דרישות‬ ‫המזמי סותרות את הוראות החוק,‬ ‫תקנות או הוראות של תקני מחייבי‬ ‫13-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 32. ‫חייה הסודיי של הדרישות‬ ‫23-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 33. ‫מדוע ניסוח מדויק של דרישות חשוב ?‬ ‫33-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 34. ‫וכ ...‬ ‫43-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 35. ‫"עובדות החיי "‬ ‫דרישות המזמי עלולות להיות ...‬ ‫מנוסחות בשפה טבעית שאינה חד-משמעית‬ ‫לא-קונסיסטנטיות‬ ‫לא-שלמות )כוללות הנחות סמויות(‬ ‫שגויות‬ ‫בלתי ניתנות לבדיקה‬ ‫בלתי ניתנות למימוש‬ ‫מגדירות תכ‬ ‫53-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 36. ‫"נדיפות" דרישות‬ ‫דרישות עשויות להשתנות במהירות רבה‬ ‫המהל הפרויקט‬ ‫הוספת דרישות‬ ‫ביטול דרישות‬ ‫שינוי דרישות‬ ‫שינוי הקצאת דרישות‬ ‫לרכיבי המערכת‬ ‫63-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 37. ‫)המש (‬ ‫"נדיפות" דרישות‬ ‫בפרויקטי ביטחוניי מוקפדי בארה"ב‬ ‫שיעור השינוי החודשי הממוצע עומד על %1‬ ‫בפרויקטי מסחריי שיעור השינוי החודשי‬ ‫הממוצע עלול להגיע לסביבות %4‬ ‫מציאות זאת מחייבת שימוש בכלי ניהול‬ ‫דרישות בעלי יכולת ‪ ,baselining‬שמירת‬ ‫היסטוריה וכיו"ב‬ ‫73-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 38. ‫מה דרישות "טובות"?‬ ‫דרישות "טובות" ...‬ ‫מגדירות בצורה ברורה וחד-משמעית את הצור‬ ‫עליו נועדה המערכת לענות‬ ‫בעלות ער מוס למשתמש‬ ‫סבירות‬ ‫בעלות עקיבות לצור‬ ‫ניתנות לאימות‬ ‫מנוסחות במונחי של "מה" ולא של "אי "‬ ‫83-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 39. ‫אי להגיע לדרישות "טובות"?‬ ‫ככל שדרישות המערכת "קשיחות" יותר‬ ‫כדאי יותר לפתח את הדרישות על בסיס‬ ‫מודל )‪(model-based req’s development‬‬ ‫להקפיד על ניסוח נכו של הדרישות‬ ‫להשתמש בכלי "תעשייתי" לניהול‬ ‫הדרישות, בפרט לש :‬ ‫ניהול שינויי‬ ‫ניהול עקיבות, כולל ‪impact analysis‬‬ ‫93-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 40. ‫רמת גרנולציה של דרישות‬ ‫הא להגדיר דרישות "אטומיות" או דרישות‬ ‫מורכבות?‬ ‫רמת הגרנולציה של דרישות בכל רמה של‬ ‫ע הפיתוח צריכה להבטיח שנית יהיה‬ ‫להבי נכו כל אחת מ הדרישות ג ללא‬ ‫התייחסות לדרישות אחרות‬ ‫תוצר לואי - הקטנת‬ ‫מספר הדרישות‬ ‫04-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 41. ‫דרישות המנוסחות במונחי פתרו‬ ‫לקוח עשויה לדרוש, למשל,ש- "יש להעתיק‬ ‫לארכיו את תור השאילתות כל 03 שניות"‬ ‫אלו שאלות כגו :‬ ‫במקרי‬ ‫"מדוע ?", "מה התכלית של דרישה זו ?"‬ ‫עשויות לגלות שהדרישה‬ ‫האמיתית היא:‬ ‫"איני יכול לסבול במש יותר‬ ‫מ-03 שניות אבד של‬ ‫פניות המגיעות למערכת "‬ ‫14-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 42. ‫דרישות שאינ ניתנות לבדיקה‬ ‫שאינ‬‫לקוח עלול לנסח דרישה במונחי‬ ‫ניתני לבדיקה, למשל, "המערכת תהיה‬ ‫קלה לתפעול"‬ ‫במקרה זה אפשר להציע לנסח את דר‬ ‫הוכחת הדרישה במונחי המקובלי על‬ ‫הלקוח, אשר ניתני לבדיקה אובייקטיבית,‬ ‫כגו :‬ ‫"הא תסכי שהמערכת קלה לתפעול א‬ ‫%59 )או יותר( ממדג של ‪ X‬משתמשי‬ ‫יסווגו אותה ככזאת לאחר הדרכה של ‪ Y‬דקות ?"‬ ‫24-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 43. ‫עקרונות כלליי של ניסוח דרישות‬ ‫נסח את הדרישות כ שקורא סביר:‬ ‫לא ייאל לתת לה פרשנות‬ ‫לא ייאל לנחש מה היו ההנחות של‬ ‫כתוב תמיד משפטי שלמי‬ ‫השתמש בשפה פשוטה וברורה‬ ‫המנע משימוש במונחי מעורפלי , רבי-‬ ‫משמעות, מונחי שמקור בס ֶנג מקומי,‬ ‫ל‬ ‫מונחי מסחריי‬ ‫34-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 44. ‫)המש (‬ ‫עקרונות ניסוח דרישות‬ ‫מדי ...‬ ‫- א לא קצרי‬ ‫כתוב משפטי קצרי‬ ‫השתמש בסימני פיסוק‬ ‫א סימני הפיסוק רבי מדי, נסח את‬ ‫הדרישה מחדש‬ ‫הבח בי דרישות לבי הנחיות )‪(guidance‬‬ ‫המנע ממילי כגו "כגו ", "למשל",‬ ‫"וכדומה", "וכולי", וכו'‬ ‫44-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 45. ‫)המש (‬ ‫עקרונות ניסוח דרישות‬ ‫המנע ממונחי מעורפלי , כגו :‬ ‫למזער‬ ‫להגדיל ככל האפשר‬ ‫מספק‬ ‫ידידותי למשתמש‬ ‫ממדרגה ראשונה‬ ‫המערכת תתמו ב...‬ ‫... כולל א לא מוגבל ל...‬ ‫54-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 46. ‫)המש (‬ ‫עקרונות ניסוח דרישות‬ ‫נסח את הדרישות כ שנית יהיה לשנות או‬ ‫למחוק חלק מה מבלי שהדבר יחייב עדכו‬ ‫של הדרישות הנותרות‬ ‫שמור רשומת של מקורה של דרישה‬ ‫והרציונאל העומד מאחוריה‬ ‫השתדל לכתוב מה נחו , ולא אי לממש את‬ ‫הפתרו‬ ‫64-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 47. ‫ניסוח דרישות בעברית‬ ‫השתמש בציווי בלשו עתיד, למשל:‬ ‫"רשומות המטופלי תוחזקנה במערכת בצורה‬ ‫מוצפנת."‬ ‫"במקרה ולא נית להשלי את הטרנזקציה‬ ‫התוכנה תחזיר את בסיס הנתוני למצב בו היה‬ ‫בטר החל הטיפול בטרנזקציה ."‬ ‫74-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 48. ‫ניסוח דרישות באנגלית‬ ‫התבנית הכללית תהיה:‬ ‫]>?‪The system shall <action> [<what‬‬ ‫]>?‪[<when/how‬‬ ‫הניסוח יהיה בלשו עתיד, ויכלול:‬ ‫את המילה ‪ shall‬לדרישות‬ ‫את המילה ‪ should‬להנחיות )‪(guidance‬‬ ‫את המילי ‪ will, may‬להצהרת כוונות כללית‬ ‫84-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 49. ( ‫)המש‬ ‫ניסוח דרישות באנגלית‬ The System shall… Action What? When / How? measure the car density in each traffic lane. the remaining display in seconds. recording time trasmit the error messages to central log. the communication command in emergency mode. switch to filter traffic the software from the download following power-up. server when signaled by the perform error recovery xyz. the distance till next based on current fuel compute refueling consumption. adjust the exposure time for every frame. IBMMGWR-2009-49 2009 © ‫י. קודיש – הנדסת תוכנה ומערכות‬
  • 50. ‫כמה צרי , כמה כדאי‬ ‫05-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 51. ‫‪Money, money, money‬‬ ‫לנכונות הדרישות השפעה חזקה על עלות‬ ‫הפיתוח, ולכ כדאי להשקיע בהגדרת‬ ‫הדרישות‬ ‫תיקו מערכת עקב ליקוי בדרישה / הבנה של‬ ‫דרישה לאחר סיו בדיקות המערכת עשוי‬ ‫להיות יקר פי 001 עד פי 002 ]‪Standish Group‬‬ ‫ואחרי [ מאשר תיקו שהיה נעשה בשלב‬ ‫הגדרת הדרישות‬ ‫15-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 52. ‫עלות שגיאות שמקור בדרישות‬ ‫שגיאות שמקור בדרישות מהוות בי %04‬ ‫ל-%05 מ השגיאות בפרויקטי ]‪[Dion‬‬ ‫תקלות בטיחות שמקור בדרישות מהוות בי‬ ‫%06 ללמעלה מ-%08 מכלל התקלות ]‪[NASA‬‬ ‫עלות ממוצעת של תיקו שגיאות שמקור‬ ‫בדרישות )‪ (rework‬מגיעה ל-%07 עד %58‬ ‫מ העלות המקורית של הפרויקט ]‪[Standish‬‬ ‫עלות ה-‪ rework‬אינה מתוקצבת ולכ זהו‬ ‫הכס היקר ביותר בפרויקט של !‬ ‫25-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 53. ‫דוגמה מספרית‬ ‫נניח כי מדובר ביישו בהיק של 000,05 שורות‬ ‫קוד, המפותח ע"י צוות הכולל 6 מפתחי , ראש‬ ‫צוות, 2 אנשי בדיקות ואיש ‪ QA‬אחד, שעלות‬ ‫החודשית הממוצעת היא ‪ $10K‬לעובד‬ ‫בהנחה שהתפוקה החודשית הממוצעת של איש‬ ‫פיתוח היא 053 שורות קוד "נקיות", העלות הכוללת‬ ‫של הפרויקט מוערכת ב-‪ ,$2.4M‬במהל 42‬ ‫חודשי קלנדריי‬ ‫נניח כי עלות ה-‪ rework‬הכוללת בפרויקט היא‬ ‫%03, סכו השווה ל-000,027$‬ ‫א מתו סכו זה עלות תיקו הבעיות בדרישות‬ ‫היא %07, סכו זה מצטבר ל-000,405$ !‬ ‫35-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬
  • 54. ‫)המש (‬ ‫דוגמה מספרית‬ ‫נניח כי עלות רכש כלי והכשרת הצוות היא‬ ‫מסדר-גודל של ‪$20K‬‬ ‫ההחזר על טיפול טוב יותר בדרישות ית לנו:‬ ‫מקרה 3‬ ‫מקרה 2‬ ‫מקרה 1‬ ‫%04‬ ‫%02‬ ‫%01‬ ‫שיעור סילוק שגיאות בדרישות‬ ‫006,102$‬ ‫008,001$‬ ‫004,05$‬ ‫חיסכו בפרויקט המוצג‬ ‫5.2‬ ‫7.1‬ ‫0.1‬ ‫קיצור זמ ליציאה לשוק ) ‪] (TTM‬חודשי [‬ ‫4.2‬ ‫7.4‬ ‫5.9‬ ‫החזר זמ על ההשקעה ]חודשי [‬ ‫%319‬ ‫%704‬ ‫%351‬ ‫% החזר על ההשקעה במהל פרויקט ראשו‬ ‫45-9002-‪IBMMGWR‬‬ ‫י. קודיש – הנדסת תוכנה ומערכות © 9002‬