SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Chapter 1
     Software and Software
          Engineering
Software Engineering: A Practitioner’s Approach, 6th edition
by Roger S. Pressman


                                                               1
Software’s Dual Role
 Software is a product
   Transforms information - produces, manages,
    acquires, modifies, displays, or transmits
    information
   Delivers computing potential of hardware and
    networks
 Software is a vehicle for delivering a product
   Controls other programs (operating system)
   Effects communications (networking software)
   Helps build other software (software tools &
    environments)                                  2
Software
Applications
  system software
  application software
  engineering/scientific
   software
  embedded software
  product-line software
  web applications
  AI software
                            3
Hardware vs. Software
 Hardware         Software

  Manufactured   Developed/engi
  Wears out      neered
  Built using     Deteriorates
 components        Custom built
  Relatively      Complex
 simple                             4
Manufacturing vs.
Development
 Once a hardware product has been
  manufactured, it is difficult or impossible to
  modify. In contrast, software products are
  routinely modified and upgraded.
 In hardware, hiring more people allows you to
  accomplish more work, but the same does
  not necessarily hold true in software
  engineering.
 Unlike hardware, software costs are
  concentrated in design rather than             5
Wear vs.
Deterioration time
Hardware wears out over




                          6
Wear vs.
Deterioration time
Software deteriorates over




                             7
Component Based vs. Custom
Built
 Hardware products typically employ many
  standardized design components.
 Most software continues to be custom built.
 The software industry does seem to be
  moving (slowly) toward component-based
  construction.



                                                8
Software Complexity
I believe the hard part of building software to be the
specification, design, and testing of this conceptual
construct, not the labor of representing it and testing
the fidelity of the representation.
If this is true, building software will always be hard.
There is inherently no silver bullet.
                        - Fred Brooks, “No Silver Bullet”
 http://www.computer.org/computer/homepage/misc/Brooks/


                                                          9
Legacy Software
Why must it change?

    It must be fixed to eliminate errors.
    It must be enhanced to implement new functional
       and non-functional requirements
    Software must be adapted to meet the needs of
       new computing environments or technology.
    Software must be enhanced to implement new
       business requirements.
    Software must be extended to make it
       interoperable with other more modern systems
       or databases.
    Software must be re-architected to make it viable
       within a network environment.
                                                        10
E-Type Systems

 E-Type Systems:
  Software that has been implemented in a
  real-world computing context and will
  therefore evolve over time




                                            11
Software Evolution
 The Law of Continuing Change (1974): E-type systems must be
  continually adapted else they become progressively less
  satisfactory.
 The Law of Increasing Complexity (1974): As an E-type system
  evolves its complexity increases unless work is done to maintain or
  reduce it.
 The Law of Self Regulation (1974): The E-type system evolution
  process is self-regulating with distribution of product and process
  measures close to normal.
 The Law of Conservation of Organizational Stability (1980): The
  average effective global activity rate in an evolving E-type system is
  invariant over product lifetime.


   Source: Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,”
   Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be
   downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf

                                                                                                 12
Software Evolution
 The Law of Conservation of Familiarity (1980): As an E-type system
  evolves all associated with it, developers, sales personnel, users, for
  example, must maintain mastery of its content and behavior to
  achieve satisfactory evolution.
 The Law of Continuing Growth (1980): The functional content of E-
  type systems must be continually increased to maintain user
  satisfaction over their lifetime.
 The Law of Declining Quality (1996): The quality of E-type systems
  will appear to be declining unless they are rigorously maintained and
  adapted to operational environment changes.
 The Feedback System Law (1996): E-type evolution processes
  constitute multi-level, multi-loop, multi-agent feedback systems and
  must be treated as such to achieve significant improvement over any
  reasonable base.
   Source: Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,”
   Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be
   downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf

                                                                                                 13
Software Myths
   Affect managers, customers (and other non-
    technical stakeholders) and practitioners
   Are believable because they often have elements
    of truth,
but …
   Invariably lead to bad decisions,
therefore …
   Insist on reality as you navigate your way through
    software engineering
                                                     14
Software Myths
 If we get behind schedule, we can add
  more programmers and catch up.
 A general statement about objectives is
  sufficient to begin building programs.
 Change in project requirements can be
  easily accommodated because
  software is flexible.

                                        15
Software Myths
 Once we write a working program, we’re
  done.
 Until I get the program running, I have no way
  of assessing its quality.
 The only deliverable work product for a
  successful project is the working program.
 Software engineering will make us create too
  much documentation and will slow us down.

                                               16
Management
           Myths
 “We already have a book of standards and
  procedures for building software. It does provide my
  people with everything they need to know …”
 “If my project is behind the schedule, I always can
  add more programmers to it and catch up …”
                      (a.k.a. “The Mongolian Horde
  concept”)
 “If I decide to outsource the software project to a
  third party, I can just relax: Let them build it, and I
  will just pocket my profits …”
                                                            17
Customer Myths

 “A general statement of objectives is sufficient
  to begin writing programs - we can fill in the
  details later …”

 “Project requirements continually change but
  this change can easily be accommodated
  because software is flexible …”


                                                     18
Practitioner’s Myths
 “Let’s start coding ASAP, because once we
  write the program and get it to work, our job is
  done …”

 “Until I get the program running, I have no way
  of assessing its quality …”

 “The only deliverable work product for a
  successful project is the working program …”

 “Software engineering is baloney. It makes us
  create tons of paperwork, only to slow us down
  …”
                                                     19

Weitere ähnliche Inhalte

Was ist angesagt?

Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-softwareAlenaDion
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
software engineering models
software engineering models software engineering models
software engineering models mansab MIRZA
 
Agile development
Agile developmentAgile development
Agile developmentJoshuaU1
 
Chapter 08
Chapter 08Chapter 08
Chapter 08guru3188
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering noteNeelamani Samal
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSAbrar ali
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and AnswersBala Ganesh
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 

Was ist angesagt? (20)

Chapter 12
Chapter 12Chapter 12
Chapter 12
 
Chapter 13
Chapter 13Chapter 13
Chapter 13
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
software engineering models
software engineering models software engineering models
software engineering models
 
Agile development
Agile developmentAgile development
Agile development
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering
Software engineering Software engineering
Software engineering
 
Software engineering Questions and Answers
Software engineering Questions and AnswersSoftware engineering Questions and Answers
Software engineering Questions and Answers
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 

Ähnlich wie Slides chapter 1

Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 113harpreet
 
chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...Archana Sable
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1Dhairya Joshi
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdfShivareddyGangam
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)Mario A Moreno Rocha
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringTeodoro Cipresso
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages PraShant Kumar
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
se01.ppt
se01.pptse01.ppt
se01.pptxiso
 

Ähnlich wie Slides chapter 1 (20)

Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...chapter-1-software-and-software-engineering-software-engineering-a-practition...
chapter-1-software-and-software-engineering-software-engineering-a-practition...
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)1. introducción a la Ingeniería de Software (UTM 2071)
1. introducción a la Ingeniería de Software (UTM 2071)
 
Ch1
Ch1Ch1
Ch1
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
labiqa'd.pptx
labiqa'd.pptxlabiqa'd.pptx
labiqa'd.pptx
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse Engineering
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Lecture-1-3.pptx
Lecture-1-3.pptxLecture-1-3.pptx
Lecture-1-3.pptx
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 

Kürzlich hochgeladen

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxnegromaestrong
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 

Kürzlich hochgeladen (20)

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 

Slides chapter 1

  • 1. Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman 1
  • 2. Software’s Dual Role  Software is a product  Transforms information - produces, manages, acquires, modifies, displays, or transmits information  Delivers computing potential of hardware and networks  Software is a vehicle for delivering a product  Controls other programs (operating system)  Effects communications (networking software)  Helps build other software (software tools & environments) 2
  • 3. Software Applications  system software  application software  engineering/scientific software  embedded software  product-line software  web applications  AI software 3
  • 4. Hardware vs. Software Hardware Software  Manufactured Developed/engi  Wears out neered  Built using  Deteriorates components  Custom built  Relatively  Complex simple 4
  • 5. Manufacturing vs. Development  Once a hardware product has been manufactured, it is difficult or impossible to modify. In contrast, software products are routinely modified and upgraded.  In hardware, hiring more people allows you to accomplish more work, but the same does not necessarily hold true in software engineering.  Unlike hardware, software costs are concentrated in design rather than 5
  • 8. Component Based vs. Custom Built  Hardware products typically employ many standardized design components.  Most software continues to be custom built.  The software industry does seem to be moving (slowly) toward component-based construction. 8
  • 9. Software Complexity I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. If this is true, building software will always be hard. There is inherently no silver bullet. - Fred Brooks, “No Silver Bullet” http://www.computer.org/computer/homepage/misc/Brooks/ 9
  • 10. Legacy Software Why must it change? It must be fixed to eliminate errors. It must be enhanced to implement new functional and non-functional requirements Software must be adapted to meet the needs of new computing environments or technology. Software must be enhanced to implement new business requirements. Software must be extended to make it interoperable with other more modern systems or databases. Software must be re-architected to make it viable within a network environment. 10
  • 11. E-Type Systems  E-Type Systems: Software that has been implemented in a real-world computing context and will therefore evolve over time 11
  • 12. Software Evolution  The Law of Continuing Change (1974): E-type systems must be continually adapted else they become progressively less satisfactory.  The Law of Increasing Complexity (1974): As an E-type system evolves its complexity increases unless work is done to maintain or reduce it.  The Law of Self Regulation (1974): The E-type system evolution process is self-regulating with distribution of product and process measures close to normal.  The Law of Conservation of Organizational Stability (1980): The average effective global activity rate in an evolving E-type system is invariant over product lifetime. Source: Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,” Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf 12
  • 13. Software Evolution  The Law of Conservation of Familiarity (1980): As an E-type system evolves all associated with it, developers, sales personnel, users, for example, must maintain mastery of its content and behavior to achieve satisfactory evolution.  The Law of Continuing Growth (1980): The functional content of E- type systems must be continually increased to maintain user satisfaction over their lifetime.  The Law of Declining Quality (1996): The quality of E-type systems will appear to be declining unless they are rigorously maintained and adapted to operational environment changes.  The Feedback System Law (1996): E-type evolution processes constitute multi-level, multi-loop, multi-agent feedback systems and must be treated as such to achieve significant improvement over any reasonable base. Source: Lehman, M., et al, “Metrics and Laws of Software Evolution—The Nineties View,” Proceedings of the 4th International Software Metrics Symposium (METRICS '97), IEEE, 1997, can be downloaded from: http://www.ece.utexas.edu/~perry/work/papers/feast1.pdf 13
  • 14. Software Myths  Affect managers, customers (and other non- technical stakeholders) and practitioners  Are believable because they often have elements of truth, but …  Invariably lead to bad decisions, therefore …  Insist on reality as you navigate your way through software engineering 14
  • 15. Software Myths  If we get behind schedule, we can add more programmers and catch up.  A general statement about objectives is sufficient to begin building programs.  Change in project requirements can be easily accommodated because software is flexible. 15
  • 16. Software Myths  Once we write a working program, we’re done.  Until I get the program running, I have no way of assessing its quality.  The only deliverable work product for a successful project is the working program.  Software engineering will make us create too much documentation and will slow us down. 16
  • 17. Management Myths  “We already have a book of standards and procedures for building software. It does provide my people with everything they need to know …”  “If my project is behind the schedule, I always can add more programmers to it and catch up …” (a.k.a. “The Mongolian Horde concept”)  “If I decide to outsource the software project to a third party, I can just relax: Let them build it, and I will just pocket my profits …” 17
  • 18. Customer Myths  “A general statement of objectives is sufficient to begin writing programs - we can fill in the details later …”  “Project requirements continually change but this change can easily be accommodated because software is flexible …” 18
  • 19. Practitioner’s Myths  “Let’s start coding ASAP, because once we write the program and get it to work, our job is done …”  “Until I get the program running, I have no way of assessing its quality …”  “The only deliverable work product for a successful project is the working program …”  “Software engineering is baloney. It makes us create tons of paperwork, only to slow us down …” 19

Hinweis der Redaktion

  1. Information transformer - function behavior Computing potential - non-functional behavior Example of functional behavior? Type characters into keyboard => word processor displays them on screen Input program file => compiler translates to byte code Example of non-functional behavior? Type character in instant messenger => appears on friend’s screen Compile large program within a few seconds Performance - time and space Vehicle for product delivery Examples of SW controllers (other than OS) Examples of communication SW Examples of development tools