SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
16.355

Software Engineering Concepts

     Prof. Nancy Leveson
         Fall 2005




               �
Outline

                 Is There a Problem?


                 Why is Software Engineering Hard?


                 Syllabus and Class Description





            c
Copyright       Nancy Leveson, Sept. 2000
Is there a problem?

     Examples:
                    AAS (FAA Advanced Automation System)
                    FBI CIC
                    IRS Modernization Program
                    C−17
                    Ariane 5


      Head of AF Systems Command: ‘‘Software is the
      achilles heel of weapons development

      7 out of every 10 major weapons development
      programs are encountering software problems
      and the rate is increasing.


             c
 Copyright       Nancy Leveson, Sept. 1999
Some Data (Myths?)

            Development of large applications in excess of
            5000 function points (~500,000 LOC) is one of
            the most risky business undertakings in the
            modern world (Capers Jones)
            Risks of cancellation or major delays rise rapidly
            as overall application size increases (Capers Jones):
                      




                           65% of large systems (over 1,000,000 LOC) are
                           cancelled before completion
                      
                      




                           50% for systems exceeding half million LOC
                      
                      




                           25 % for those over 100,000 LOC

            Failure or cancellation rate of large software
            systems is over 20% (Capers Jones)

            c
Copyright       Nancy Leveson, Sept. 1999
More Data (Myths?)

    After surveying 8,000 IT projects, Standish Group
    reported about 30% of all projects were cancelled.

    Average cancelled project in U.S. is about a year
    behind schedule and has consumed 200% of
    expected budget (Capers Jones).


    Work on cancelled projects comprises about 15%
    of total U.S. software efforts, amounting to as much
    much as $14 billion in 1993 dollars (Capers Jones).




             c

Copyright
        Nancy Leveson, Sept. 1999
And Yet More

            Of completed projects, 2/3 experience schedule
            delays and cost overruns (Capers Jones) 

            [bad estimates?]


            2/3 of completed projects experience low reliability
            and quality problems in first year of deployment
            (Jones).

            Software errors in fielded systems typically range
            from 0.5 to 3.0 occurrences per 1000 lines of code
            Bell Labs survey).

            Civilian software: at least 100 English words
            produced for every source code statement.
            Military: about 400 words (Capers Jones)

            c
Copyright       Nancy Leveson, Sept. 1999
Have you ever been on a project where the
    software was never finished or used?

    What were some of the problems?




            c
Copyright       Nancy Leveson, Sept. 1999
Death March Projects

            Feature (scope) creep
            Thrashing
            Integration problems
            Overwriting source code
            Constant re−estimation
            Redesign and rewriting during test
            No documentation of design decisions
            Etc.


            c
Copyright       Nancy Leveson, Sept. 1999
Types of Problem Projects (Yourdan)

             Mission Impossible
                    Likely to succeed, happy workers

             Ugly
                    Likely to succeed, unhappy workers

             Kamikaze
                    Unlikely to succeed, happy workers

             Suicide
                    Unlikely to succeed, unhappy workers



             c
 Copyright       Nancy Leveson, Sept. 1999
Understanding the Problem


 Development Costs                                                                                        !       #           $               %




                                                    '           %                       )                       +   -               




                                                        .                   /                       1
                                                                                                                            %




                                                                                                                                                                                          




                                                        2               %                       )                       4




       Planning                  Coding
                                            5                                       +                  4                               +   




                      Test


            1/3 planning
            1/6 coding
            1/4 component test
                                                                                                                                                    Development costs are only
            1/4 system test                                                                                                                           the tip of the iceberg.


            c
Copyright       Nancy Leveson, Sept. 1999




                                                            �                   :
Understanding the Problem (2)





        Software Maintenance:
                    20% error correction
                    20% adaptation
                    60% enhancements


      Most fielded software errors stem
      from requirements not code


            c
Copyright       Nancy Leveson, Sept. 1999




                                            �   �
Software Evolution (Maintenance)

                 Belady and Lehman’s Laws:

                             Software will continually change.
                             Software will become increasingly
                             unstructured as it is changed.

                  Leveson’s Law:
                             Introducing computers will not reduce
                             personnel numbers or costs.




            c
Copyright       Nancy Leveson, Sept. 1999




                                            �
Are Things Improving?

            Is software improving at a slower rate than hardware?

                 Software expands to fill the available memory
                 (Parkinson)

                 Software is getting slower more rapidly than
                  hardware becomes faster (Reiser)


            Expectations are changing




            c
Copyright       Nancy Leveson, Sept. 1999




                                            �
Is software engineering more difficult than
hardware engineering?


Why or why not?




                         	
                     �
Why is software engineering hard?

                      Curse of flexibility

                      Organized complexity

                      Intangibility

                      Lack of historical usage information

                      Large discrete state spaces




            c
Copyright       Nancy Leveson, Sept. 1999




                                            �
The Computer Revolution

                 Design separated from physical representation;
                 design became a completely abstract concept.

                       General                                 Special
                       Purpose              +   Software   =   Purpose
                       Machine                                 Machine


                  Machines that were physically impossible or
                  impractical to build become feasible.

                  Design can be changed without retooling or
                  manufacturing.

                  Emphasis on steps to be achieved without worrying
                  about how steps will be realized physically.


            c
Copyright       Nancy Leveson, Sept. 1999




                                                 �
The Curse of Flexibility

                Software is the resting place of afterthoughts.

                No physical constraints
                           To enforce discipline on design, construction
                           and modification
                           To control complexity

                So flexible that start working with it before fully
                understanding what need to do

                The untrained can get partial success.

                     Scaling up is hard to do


                ‘‘And they looked upon the software and saw that it
                  was good. But they just had to add one other feature ...’’
            c
Copyright       Nancy Leveson, Sept. 1999
�
What is Complexity?
   The underlying factor is intellectual manageability

      1. 	A simple system has a small number of unknowns in its
          interactions within the system and with its environment.

      2. 	A system becomes intellectually unmanageable when the
          level of interactions reaches the point where they cannot
          be thoroughly
                              planned

                              understood

                              anticipated

                              guarded against





             c
 Copyright       Nancy Leveson, Sept. 1999




                                                 �
Ways to Cope with Complexity

      Analytic Reduction (Descartes)

                Divide system into distinct parts for analysis purposes.
                Examine the parts separately.


     Three important assumptions:

       1. The division into parts will not distort the 

                  phenomenon being studied.


       2.	 Components are the same when examined singly
                  as when playing their part in the whole.

       3.	 Principles governing the assembling of the components
                  into the whole are themselves straightforward.


            c
Copyright       Nancy Leveson, Sept. 1999




                                            �
Ways to Cope with Complexity (con’t.)

        Statistics
                 Treat as a structureless mass with interchangeable parts.

                 Use Law of Large Numbers to describe behavior in
                 terms of averages.


        Assumes components sufficiently regular and random
        in their behavior that they can be studied statistically.




            c
Copyright       Nancy Leveson, Sept. 1999




                                               :
What about software?
       Too complex for complete analysis:

                  Separation into non−interacting subsystems

                  distorts the results.


                  The most important properties are emergent.



        Too organized for statistics

                  Too much underlying structure that distorts
                  the statistics.


   Organized Complexity (Weinberg)



            c
Copyright       Nancy Leveson, Sept. 1999




                                               �
Other Factors

      Large discrete state spaces
                     Continuous vs. discrete math
                     Lacks repetitive structure found in computer circuitry
                     Cannot test exhaustively

      Intangibility
        b   b




                     Invisible interfaces
                     Hard to experiment with and manage
                     Transient hardware faults vs. software errors
        a   a




                     Hard to diagnose problems



                c
Copyright           Nancy Leveson, Sept. 1999




                                                ¡   ¡
And One More
     No historical usage information
         to allow measurement, evaluation, and
         improvement of standard designs over time.

                   Always specially constructed.

                   Usually doing new things.




             c

Copyright
        Nancy Leveson, Sept. 1999
Class Objectives
1. Students will be able to evaluate software engineering
                                                   d
                                                       c
                                                           d
                                                               c
                                                                   d
                                                                       c
                                                                           d
                                                                               c
                                                                                   d
                                                                                       c
                                                                                           d
                                                                                               c
                                                                                                       d
                                                                                                           c
                                                                                                                   d
                                                                                                                       c
                                                                                                                           d
                                                                                                                               c
                                                                                                                                   d
                                                                                                                                       c
                                                                                                                                           d
                                                                                                                                               c
                                                                                                                                                   d
                                                                                                                                                       c




   techniques and approaches.

      It is important that students bring a certain ragamuffin
       barefoot irreverance to their studies. They are here
       not to worship what is known, but to question it.
                                            Jacob Bronowski, The Ascent of Man

      The developed theories ...have rarely been subjected to
      empirical testing, and so their value remains unknown. They
      provide zealots with opportunities to market a rash of seminars
      and courses and to flood the literature with papers advocating
      the new technologies. When the theories are subjected to
      testing, what little evidence has been obtained sometimes
      suggests that the claimed benefits, in fact, may not exist.

                                            Vessey and Weber

                Religious approach to SE (vs. scientific):
                   Accept on faith (because sounds right)
                   Gurus (Jackson, Yourdan, etc.)
                   Sects (OO, Ada vs. Modula 2)
                Arguments:
                   Proof by vigorous handwaving.           Hawthorne Effect
                   Unsupported hypotheses.
                   False analogies.

            c
Copyright       Nancy Leveson, Sept. 1999                                                          ¡
                                                                                                               ©
Class Objectives

2. 	Students will be able to exercise professional 

    judgement in selecting an approach for a particular

    project based on an understanding of:


               How the present state of software practice came about
               What was tried in the past
               What worked and what did not work
               Why




              c

 Copyright
        Nancy Leveson, Sept. 1999

Contenu connexe

En vedette (20)

Russian Neurosurgical Journal; Volume 3, No. 3, 2011
Russian Neurosurgical Journal; Volume 3, No. 3, 2011Russian Neurosurgical Journal; Volume 3, No. 3, 2011
Russian Neurosurgical Journal; Volume 3, No. 3, 2011
 
อนุทินครั้งที่5
อนุทินครั้งที่5อนุทินครั้งที่5
อนุทินครั้งที่5
 
Lec07
Lec07Lec07
Lec07
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
 
Tutorial
TutorialTutorial
Tutorial
 
Be a fruit champion!!!
Be a fruit champion!!!Be a fruit champion!!!
Be a fruit champion!!!
 
The colours
The coloursThe colours
The colours
 
Bam cap mang
Bam cap mangBam cap mang
Bam cap mang
 
VCDR of 1961
VCDR of 1961VCDR of 1961
VCDR of 1961
 
1
11
1
 
The colours song
The colours songThe colours song
The colours song
 
Porting a Clinical Mobile Device Application from iPhone to Android using Onl...
Porting a Clinical Mobile Device Application from iPhone to Android using Onl...Porting a Clinical Mobile Device Application from iPhone to Android using Onl...
Porting a Clinical Mobile Device Application from iPhone to Android using Onl...
 
Itec410 lec2
Itec410 lec2Itec410 lec2
Itec410 lec2
 
ค่าเช่าบ้านพลเรือน
ค่าเช่าบ้านพลเรือนค่าเช่าบ้านพลเรือน
ค่าเช่าบ้านพลเรือน
 
Sample Report
Sample ReportSample Report
Sample Report
 
Systemy operacyjne
Systemy operacyjneSystemy operacyjne
Systemy operacyjne
 
Software Series 4
Software Series  4Software Series  4
Software Series 4
 
Contrato usnavy eds corta
Contrato usnavy eds cortaContrato usnavy eds corta
Contrato usnavy eds corta
 
English playground games
English playground gamesEnglish playground games
English playground games
 
Lec01
Lec01Lec01
Lec01
 

Similaire à Software Series 1

ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentRui Curado
 
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...Fasten Project
 
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaInauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaMartin Pinzger
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
 
chapt_1_Introduction_computer_science.pptx
chapt_1_Introduction_computer_science.pptxchapt_1_Introduction_computer_science.pptx
chapt_1_Introduction_computer_science.pptxLeandroCamargo52
 
Open source cloud native security with threat mapper
Open source cloud native security with threat mapperOpen source cloud native security with threat mapper
Open source cloud native security with threat mapperLibbySchulze
 
overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software EngineeringMuhammad Sikandar Mustafa
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
 
Richard Andrews Resume 2016-sr-admin-boa-3
Richard Andrews Resume 2016-sr-admin-boa-3Richard Andrews Resume 2016-sr-admin-boa-3
Richard Andrews Resume 2016-sr-admin-boa-3Rich Andrews
 
Software engineering unit 1
Software engineering  unit 1Software engineering  unit 1
Software engineering unit 1Sumit Paul
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelSBWebinars
 
The Impact of Tangled Code Changes
The Impact of Tangled Code ChangesThe Impact of Tangled Code Changes
The Impact of Tangled Code ChangesKim Herzig
 
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...Jorge Cardoso
 
software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional modelREHMAT ULLAH
 
Maximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesMaximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesSecunia
 
Enabling and Supporting the Debugging of Software Failures (PhD Defense)
Enabling and Supporting the Debugging of Software Failures (PhD Defense)Enabling and Supporting the Debugging of Software Failures (PhD Defense)
Enabling and Supporting the Debugging of Software Failures (PhD Defense)James Clause
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelWhiteSource
 
One login enemy at the gates
One login enemy at the gatesOne login enemy at the gates
One login enemy at the gatesEoin Keary
 

Similaire à Software Series 1 (20)

ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software Development
 
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
FOSDEM 2020 Presentation: Comparing dependency management issues across packa...
 
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, AustriaInauguration lecture Martin Pinzger, University of Klagenfurt, Austria
Inauguration lecture Martin Pinzger, University of Klagenfurt, Austria
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
chapt_1_Introduction_computer_science.pptx
chapt_1_Introduction_computer_science.pptxchapt_1_Introduction_computer_science.pptx
chapt_1_Introduction_computer_science.pptx
 
Is the Web at Risk?
Is the Web at Risk?Is the Web at Risk?
Is the Web at Risk?
 
Open source cloud native security with threat mapper
Open source cloud native security with threat mapperOpen source cloud native security with threat mapper
Open source cloud native security with threat mapper
 
overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software Engineering
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 
Richard Andrews Resume 2016-sr-admin-boa-3
Richard Andrews Resume 2016-sr-admin-boa-3Richard Andrews Resume 2016-sr-admin-boa-3
Richard Andrews Resume 2016-sr-admin-boa-3
 
Software engineering unit 1
Software engineering  unit 1Software engineering  unit 1
Software engineering unit 1
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next Level
 
The Impact of Tangled Code Changes
The Impact of Tangled Code ChangesThe Impact of Tangled Code Changes
The Impact of Tangled Code Changes
 
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
 
software project management Assumption about conventional model
software project management Assumption about conventional modelsoftware project management Assumption about conventional model
software project management Assumption about conventional model
 
Maximize Computer Security With Limited Ressources
Maximize Computer Security With Limited RessourcesMaximize Computer Security With Limited Ressources
Maximize Computer Security With Limited Ressources
 
Enabling and Supporting the Debugging of Software Failures (PhD Defense)
Enabling and Supporting the Debugging of Software Failures (PhD Defense)Enabling and Supporting the Debugging of Software Failures (PhD Defense)
Enabling and Supporting the Debugging of Software Failures (PhD Defense)
 
Taking Open Source Security to the Next Level
Taking Open Source Security to the Next LevelTaking Open Source Security to the Next Level
Taking Open Source Security to the Next Level
 
One login enemy at the gates
One login enemy at the gatesOne login enemy at the gates
One login enemy at the gates
 

Plus de Mohamed Yaser

7 habits of highly effective people
7 habits of highly effective people7 habits of highly effective people
7 habits of highly effective peopleMohamed Yaser
 
Us navy introduction to helicopter aerodynamics workbook cnatra p-401 [us n...
Us navy   introduction to helicopter aerodynamics workbook cnatra p-401 [us n...Us navy   introduction to helicopter aerodynamics workbook cnatra p-401 [us n...
Us navy introduction to helicopter aerodynamics workbook cnatra p-401 [us n...Mohamed Yaser
 
Aerodynamics of the helicopter 2
Aerodynamics of the helicopter 2Aerodynamics of the helicopter 2
Aerodynamics of the helicopter 2Mohamed Yaser
 
Seddon j. basic helicopter aerodynamics [bsp prof. books 1990]
Seddon j.   basic helicopter aerodynamics [bsp prof. books 1990]Seddon j.   basic helicopter aerodynamics [bsp prof. books 1990]
Seddon j. basic helicopter aerodynamics [bsp prof. books 1990]Mohamed Yaser
 
حياة بلا توتر
حياة بلا توترحياة بلا توتر
حياة بلا توترMohamed Yaser
 
¨قوة التفكير
¨قوة التفكير¨قوة التفكير
¨قوة التفكيرMohamed Yaser
 
المفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحالمفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحMohamed Yaser
 
أدارة الوقت
أدارة الوقتأدارة الوقت
أدارة الوقتMohamed Yaser
 
¨قوة التفكير
¨قوة التفكير¨قوة التفكير
¨قوة التفكيرMohamed Yaser
 
The 10 Natural Laws Of Successful Time And Life Management
The 10  Natural  Laws Of  Successful  Time And  Life  ManagementThe 10  Natural  Laws Of  Successful  Time And  Life  Management
The 10 Natural Laws Of Successful Time And Life ManagementMohamed Yaser
 
Theory Of Wing Sections
Theory  Of  Wing  SectionsTheory  Of  Wing  Sections
Theory Of Wing SectionsMohamed Yaser
 
Copy of book1 in c++
Copy of book1  in  c++Copy of book1  in  c++
Copy of book1 in c++Mohamed Yaser
 
structure for aerospace eng
structure for aerospace engstructure for aerospace eng
structure for aerospace engMohamed Yaser
 
realitivistic relativity 2.0
  realitivistic relativity 2.0  realitivistic relativity 2.0
realitivistic relativity 2.0Mohamed Yaser
 
Lec10 MECH ENG STRucture
Lec10   MECH ENG  STRuctureLec10   MECH ENG  STRucture
Lec10 MECH ENG STRuctureMohamed Yaser
 
Lec9 MECH ENG STRucture
Lec9   MECH ENG  STRuctureLec9   MECH ENG  STRucture
Lec9 MECH ENG STRuctureMohamed Yaser
 
Lec8 MECH ENG STRucture
Lec8   MECH ENG  STRuctureLec8   MECH ENG  STRucture
Lec8 MECH ENG STRuctureMohamed Yaser
 

Plus de Mohamed Yaser (20)

7 habits of highly effective people
7 habits of highly effective people7 habits of highly effective people
7 habits of highly effective people
 
Us navy introduction to helicopter aerodynamics workbook cnatra p-401 [us n...
Us navy   introduction to helicopter aerodynamics workbook cnatra p-401 [us n...Us navy   introduction to helicopter aerodynamics workbook cnatra p-401 [us n...
Us navy introduction to helicopter aerodynamics workbook cnatra p-401 [us n...
 
Aerodynamics of the helicopter 2
Aerodynamics of the helicopter 2Aerodynamics of the helicopter 2
Aerodynamics of the helicopter 2
 
Seddon j. basic helicopter aerodynamics [bsp prof. books 1990]
Seddon j.   basic helicopter aerodynamics [bsp prof. books 1990]Seddon j.   basic helicopter aerodynamics [bsp prof. books 1990]
Seddon j. basic helicopter aerodynamics [bsp prof. books 1990]
 
حياة بلا توتر
حياة بلا توترحياة بلا توتر
حياة بلا توتر
 
¨قوة التفكير
¨قوة التفكير¨قوة التفكير
¨قوة التفكير
 
المفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحالمفاتيح العشرة للنجاح
المفاتيح العشرة للنجاح
 
أدارة الوقت
أدارة الوقتأدارة الوقت
أدارة الوقت
 
¨قوة التفكير
¨قوة التفكير¨قوة التفكير
¨قوة التفكير
 
The 10 Natural Laws Of Successful Time And Life Management
The 10  Natural  Laws Of  Successful  Time And  Life  ManagementThe 10  Natural  Laws Of  Successful  Time And  Life  Management
The 10 Natural Laws Of Successful Time And Life Management
 
Theory Of Wing Sections
Theory  Of  Wing  SectionsTheory  Of  Wing  Sections
Theory Of Wing Sections
 
F- 20
F- 20F- 20
F- 20
 
Copy of book1 in c++
Copy of book1  in  c++Copy of book1  in  c++
Copy of book1 in c++
 
structure for aerospace eng
structure for aerospace engstructure for aerospace eng
structure for aerospace eng
 
Tutorial 2
Tutorial     2Tutorial     2
Tutorial 2
 
realitivistic relativity 2.0
  realitivistic relativity 2.0  realitivistic relativity 2.0
realitivistic relativity 2.0
 
Lec5
Lec5Lec5
Lec5
 
Lec10 MECH ENG STRucture
Lec10   MECH ENG  STRuctureLec10   MECH ENG  STRucture
Lec10 MECH ENG STRucture
 
Lec9 MECH ENG STRucture
Lec9   MECH ENG  STRuctureLec9   MECH ENG  STRucture
Lec9 MECH ENG STRucture
 
Lec8 MECH ENG STRucture
Lec8   MECH ENG  STRuctureLec8   MECH ENG  STRucture
Lec8 MECH ENG STRucture
 

Software Series 1

  • 1. 16.355 Software Engineering Concepts Prof. Nancy Leveson Fall 2005 �
  • 2. Outline Is There a Problem? Why is Software Engineering Hard? Syllabus and Class Description c Copyright Nancy Leveson, Sept. 2000
  • 3. Is there a problem? Examples: AAS (FAA Advanced Automation System) FBI CIC IRS Modernization Program C−17 Ariane 5 Head of AF Systems Command: ‘‘Software is the achilles heel of weapons development 7 out of every 10 major weapons development programs are encountering software problems and the rate is increasing. c Copyright Nancy Leveson, Sept. 1999
  • 4. Some Data (Myths?) Development of large applications in excess of 5000 function points (~500,000 LOC) is one of the most risky business undertakings in the modern world (Capers Jones) Risks of cancellation or major delays rise rapidly as overall application size increases (Capers Jones): 65% of large systems (over 1,000,000 LOC) are cancelled before completion 50% for systems exceeding half million LOC 25 % for those over 100,000 LOC Failure or cancellation rate of large software systems is over 20% (Capers Jones) c Copyright Nancy Leveson, Sept. 1999
  • 5. More Data (Myths?) After surveying 8,000 IT projects, Standish Group reported about 30% of all projects were cancelled. Average cancelled project in U.S. is about a year behind schedule and has consumed 200% of expected budget (Capers Jones). Work on cancelled projects comprises about 15% of total U.S. software efforts, amounting to as much much as $14 billion in 1993 dollars (Capers Jones). c Copyright Nancy Leveson, Sept. 1999
  • 6. And Yet More Of completed projects, 2/3 experience schedule delays and cost overruns (Capers Jones) [bad estimates?] 2/3 of completed projects experience low reliability and quality problems in first year of deployment (Jones). Software errors in fielded systems typically range from 0.5 to 3.0 occurrences per 1000 lines of code Bell Labs survey). Civilian software: at least 100 English words produced for every source code statement. Military: about 400 words (Capers Jones) c Copyright Nancy Leveson, Sept. 1999
  • 7. Have you ever been on a project where the software was never finished or used? What were some of the problems? c Copyright Nancy Leveson, Sept. 1999
  • 8.
  • 9. Death March Projects Feature (scope) creep Thrashing Integration problems Overwriting source code Constant re−estimation Redesign and rewriting during test No documentation of design decisions Etc. c Copyright Nancy Leveson, Sept. 1999
  • 10. Types of Problem Projects (Yourdan) Mission Impossible Likely to succeed, happy workers Ugly Likely to succeed, unhappy workers Kamikaze Unlikely to succeed, happy workers Suicide Unlikely to succeed, unhappy workers c Copyright Nancy Leveson, Sept. 1999
  • 11. Understanding the Problem Development Costs ! # $ % ' % ) + - . / 1 % 2 % ) 4 Planning Coding 5 + 4 + Test 1/3 planning 1/6 coding 1/4 component test Development costs are only 1/4 system test the tip of the iceberg. c Copyright Nancy Leveson, Sept. 1999 � :
  • 12. Understanding the Problem (2) Software Maintenance: 20% error correction 20% adaptation 60% enhancements Most fielded software errors stem from requirements not code c Copyright Nancy Leveson, Sept. 1999 � �
  • 13. Software Evolution (Maintenance) Belady and Lehman’s Laws: Software will continually change. Software will become increasingly unstructured as it is changed. Leveson’s Law: Introducing computers will not reduce personnel numbers or costs. c Copyright Nancy Leveson, Sept. 1999 �
  • 14. Are Things Improving? Is software improving at a slower rate than hardware? Software expands to fill the available memory (Parkinson) Software is getting slower more rapidly than hardware becomes faster (Reiser) Expectations are changing c Copyright Nancy Leveson, Sept. 1999 �
  • 15. Is software engineering more difficult than hardware engineering? Why or why not? �
  • 16. Why is software engineering hard? Curse of flexibility Organized complexity Intangibility Lack of historical usage information Large discrete state spaces c Copyright Nancy Leveson, Sept. 1999 �
  • 17. The Computer Revolution Design separated from physical representation; design became a completely abstract concept. General Special Purpose + Software = Purpose Machine Machine Machines that were physically impossible or impractical to build become feasible. Design can be changed without retooling or manufacturing. Emphasis on steps to be achieved without worrying about how steps will be realized physically. c Copyright Nancy Leveson, Sept. 1999 �
  • 18. The Curse of Flexibility Software is the resting place of afterthoughts. No physical constraints To enforce discipline on design, construction and modification To control complexity So flexible that start working with it before fully understanding what need to do The untrained can get partial success. Scaling up is hard to do ‘‘And they looked upon the software and saw that it was good. But they just had to add one other feature ...’’ c Copyright Nancy Leveson, Sept. 1999
  • 19.
  • 20. What is Complexity? The underlying factor is intellectual manageability 1. A simple system has a small number of unknowns in its interactions within the system and with its environment. 2. A system becomes intellectually unmanageable when the level of interactions reaches the point where they cannot be thoroughly planned understood anticipated guarded against c Copyright Nancy Leveson, Sept. 1999 �
  • 21. Ways to Cope with Complexity Analytic Reduction (Descartes) Divide system into distinct parts for analysis purposes. Examine the parts separately. Three important assumptions: 1. The division into parts will not distort the phenomenon being studied. 2. Components are the same when examined singly as when playing their part in the whole. 3. Principles governing the assembling of the components into the whole are themselves straightforward. c Copyright Nancy Leveson, Sept. 1999 �
  • 22. Ways to Cope with Complexity (con’t.) Statistics Treat as a structureless mass with interchangeable parts. Use Law of Large Numbers to describe behavior in terms of averages. Assumes components sufficiently regular and random in their behavior that they can be studied statistically. c Copyright Nancy Leveson, Sept. 1999 :
  • 23. What about software? Too complex for complete analysis: Separation into non−interacting subsystems distorts the results. The most important properties are emergent. Too organized for statistics Too much underlying structure that distorts the statistics. Organized Complexity (Weinberg) c Copyright Nancy Leveson, Sept. 1999 �
  • 24. Other Factors Large discrete state spaces Continuous vs. discrete math Lacks repetitive structure found in computer circuitry Cannot test exhaustively Intangibility b b Invisible interfaces Hard to experiment with and manage Transient hardware faults vs. software errors a a Hard to diagnose problems c Copyright Nancy Leveson, Sept. 1999 ¡ ¡
  • 25. And One More No historical usage information to allow measurement, evaluation, and improvement of standard designs over time. Always specially constructed. Usually doing new things. c Copyright Nancy Leveson, Sept. 1999
  • 26. Class Objectives 1. Students will be able to evaluate software engineering d c d c d c d c d c d c d c d c d c d c d c d c techniques and approaches. It is important that students bring a certain ragamuffin barefoot irreverance to their studies. They are here not to worship what is known, but to question it. Jacob Bronowski, The Ascent of Man The developed theories ...have rarely been subjected to empirical testing, and so their value remains unknown. They provide zealots with opportunities to market a rash of seminars and courses and to flood the literature with papers advocating the new technologies. When the theories are subjected to testing, what little evidence has been obtained sometimes suggests that the claimed benefits, in fact, may not exist. Vessey and Weber Religious approach to SE (vs. scientific): Accept on faith (because sounds right) Gurus (Jackson, Yourdan, etc.) Sects (OO, Ada vs. Modula 2) Arguments: Proof by vigorous handwaving. Hawthorne Effect Unsupported hypotheses. False analogies. c Copyright Nancy Leveson, Sept. 1999 ¡ ©
  • 27. Class Objectives 2. Students will be able to exercise professional judgement in selecting an approach for a particular project based on an understanding of: How the present state of software practice came about What was tried in the past What worked and what did not work Why c Copyright Nancy Leveson, Sept. 1999
  • 28. Required Background gh Assignments ef No programming Reading summaries: Main ideas or themes Critical evaluation Any additional thoughts Some additional short assignments c Copyright Nancy Leveson, Sept. 1999 ¡
  • 29. Reading: Both classic papers and new ones I would like to see computer science teaching set deliberately in a historical framework.... The absence of this element in their training causes people to approach every problem from first principles. They are apt to propose solutions that have been found wanting in the past. Instead of standing on the shoulders of their precursors, they try to go it alone. Maurice Wilkes c Copyright Nancy Leveson, Sept. 1999