SlideShare ist ein Scribd-Unternehmen logo
1 von 23
NO SILVER BULLET
Essence and Accident in
Software Engineering
1
Frederick Phillips Brooks JR
Education: Duke University 1953
Havard University 1956
Fields: CS, OS, SE
Achievements: OS/360
“The Mythyical Man-Month”
Awards&Honours: IEEE Virtual Reality
Career Award(2010)
And more than 25
2
3
“There is no single development, in
either technology or management
technique, which by itself promises
even one order of magnitude
improvement within a decade in
productivity, in reliability, in
simplicity.”
What are werewolves and
Silver Bullets?
• Werewolves:
Human with the ability to shape shift into a
wolf.
Popular movie topic.
Oldest monster legend.
• Silver Bullet(or a magical bullet):
The only thing that can kill werewolves.
Movie name (Horror 1985).
4
Essence:
The most basic and important quality
of something.
Accident:
Those difficulties that today attend its
production but that are not inherent.
5
All software involves essential difficulties and
accidental difficulties.
ESSENTIAL DIFFICULTIES:
• Software, as its core has these essential
difficulties.
I. Complexity
II. Conformity
III. Changeability
IV. Invisibility
6
ESSENTIAL DIFFICULTIES AND
ACCIDENTAL DIFFICULTIES:
Software is much more complex than any other human
construct.
Problems caused:
Technical:
• Decrease of reliability, extensibility, safety.
Management:
• Difficulty of communication between team members.
• Difficulty of invoking function-makes programs hard to use.
• Complexity of structure brings the difficulty of extending
programs to new functions without creating side effects. 7
COMPLEXITY:
CONFORMITY:
 Software has to be made to agree to common
interface, protocols, standards etc.
 Mostly standards for mastering complexity is
arbitrary. Human institutions and systems must
conform these standards and interface and they
differ from:
• Interface to interface.
• Time to time.
• Designed by different people.
8
CHANGEABILITY:
Software entity is constantly
subject to pressure for change.
All successful software get
changed.
Change comes in two ways:
• People use the software in ways not
originally foreseen in the design and
want better support for that
• The physical machine/OS changes
underneath us.
9
INVISIBLITY:
10
 Software is invisible and unvisualisable.
It is also very difficult even to visualize since
there are many ways to look at the same design:
“the reality of software is not inherently
embedded in space.”
This inhibits communication of structure and
design.
PAST BREAKTHROUGHS SOLVED
ACCIDENTAL DIFFICULTIES:
 The accidental qualities are all
about implementation and testing,
and these have been solved almost
as well as they are likely to be
solved, so don’t expect many more
breakthroughs.
11
12
High level languages:
High level languages allow programmers to
express implementation with concepts closer to that
which we use in design.
Unified Programming Environment:
Unified Programming Environment enable related
individual tools to work together in an automatic manner.
Time Sharing:
Timesharing eliminates the slow turnaround of
batch programming and keeps fresh in mind the grasp of
complex system.
HOPE FOR SILVER:
Is there any potential solution now a days?
 Ada and other high-level language advances?
 Object-oriented programming?
 Artificial Intelligence?
 Expert System?
 Automatic Programming?
 Graphical Programming?
 Program Verification?
 Environment and Tools?
 Workstation?
13
14
Ada & other High-Level Language Advances:
One of the most touted development, not only reflects
evolutionary improvements in language concepts but
personify features to encourage modern design.
It is just another high level language but no proved to be
a silver bullet.
Object Oriented Programming:
It is a programming language model organized around
objects rather than "actions" and data rather than logic.
Has two classes:
Abstract data types.
Hierarchical types.
15
Artificial
Intelligence:
Revolutionary breakthrough
Parnas has clarified the terminological
choas:
AI-1: The use of computers to solve
problems that previously could only be
solved by applying HI.
AI-2: The use of a specific set of
programming techniques knows as heuristic
or rule based programming.
16
Expert System:
A program containing a
generalized interface
engine and rule base, takes
input data and
assumptions, explore the
inferences derivable from
the rule base, yields
conclusion and advice and
explains its results by
retracting its reasoning for
the user.
17
Automatic Programming:
“Automatic programming always has
been a euphemism for programming
with a higher level language than was presently
available to the programmer”
Graphical Programming:
Computer graphics which has been
applied successfully in other fields, seems to be
able to play a role in software design.
Program Verification:
Program verification seems promising to avoid
immense effort upon implementation and testing
by eliminating errors in design phase.
18
Environment and tools:
 The general pain of all these tools and environments is
remembering to use them…
 For example, configuration management systems depend on
programmers’ checking modules out for working on them and
on programmers’ checking modules back in when the
programmers are finished with working on them.
 When a programmer fails to check a module out, check a
module back in, or to meet with another, the system loses
control and the completeness and consistency it promises
cannot be guaranteed any more.
Workstation:
• More powerful computers surely
facilitate software development.
Promising Attacks on the Essence
Buy versus build:
• In the mid 1980s, the software market
was still small. The market is becoming
large enough. So, Don't develop
software when you can avoid it.
19
20
Requirements Refinement and Rapid
Prototyping:
 Helps decide what to build
 Use to clarify requirement
 A means to identify requirements, to try out various
ideas, to do usability testing,etc
 To the extent that it succeeds, it delays and
moderates the B-L upswing.
 Make the new software system work like our old
manual information-processing system.
21
Great designers:
Be on the look out for them, when you find them,
don't let go!
some people are just better at software design than
others. Try to identify them, keep in mind them in
your organization, and spoil them so that they get
the skills and recompense that they need.
Incremental development-grow,
not building, software:
 This helps to upgrade requirements, prove the
design, and improves optimism.
 Don't build software, grow it. The same benefits
can be realized on large projects as on my small
ones.
22
23

Weitere ähnliche Inhalte

Was ist angesagt?

What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect DoesEberhard Wolff
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMajane Padua
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'dBro Shola Ajayi
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1IIUI
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering3Quill Softwares
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1gvkmku
 
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
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
software engineering models
software engineering models software engineering models
software engineering models mansab MIRZA
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 
Lecture 01
Lecture 01Lecture 01
Lecture 01Rana Ali
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)Hayim Makabee
 

Was ist angesagt? (19)

What a Good Software Architect Does
What a Good Software Architect DoesWhat a Good Software Architect Does
What a Good Software Architect Does
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
CSC426 - Software Engineering Lecture Note Cont'd
CSC426   - Software Engineering Lecture Note Cont'dCSC426   - Software Engineering Lecture Note Cont'd
CSC426 - Software Engineering Lecture Note Cont'd
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Best Practices - Software Engineering
Best Practices - Software EngineeringBest Practices - Software Engineering
Best Practices - Software Engineering
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
01 the big_idea
01 the big_idea01 the big_idea
01 the big_idea
 
SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Chapter 12
Chapter 12Chapter 12
Chapter 12
 
software engineering models
software engineering models software engineering models
software engineering models
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
7 5-94-101
7 5-94-1017 5-94-101
7 5-94-101
 
Unit1
Unit1Unit1
Unit1
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 

Ähnlich wie No silver-bullllet-1

Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 113harpreet
 
Software engg. pressman_ch-1
Software engg. pressman_ch-1Software engg. pressman_ch-1
Software engg. pressman_ch-1Dhairya Joshi
 
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
 
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
 
se01.ppt
se01.pptse01.ppt
se01.pptxiso
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1Rupesh Vaishnav
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile DevelopmentHayim Makabee
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdfShivareddyGangam
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptitadmin33
 
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
 
Chapter 01
Chapter 01Chapter 01
Chapter 01ryan aja
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsUwe Friedrichsen
 

Ähnlich wie No silver-bullllet-1 (20)

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
 
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...
 
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)
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
Software Architecture for Agile Development
Software Architecture for Agile DevelopmentSoftware Architecture for Agile Development
Software Architecture for Agile Development
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
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
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Unit1
Unit1Unit1
Unit1
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
 

Kürzlich hochgeladen

School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARKOUSTAV SARKAR
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...Amil baba
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 

Kürzlich hochgeladen (20)

School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 

No silver-bullllet-1

  • 1. NO SILVER BULLET Essence and Accident in Software Engineering 1
  • 2. Frederick Phillips Brooks JR Education: Duke University 1953 Havard University 1956 Fields: CS, OS, SE Achievements: OS/360 “The Mythyical Man-Month” Awards&Honours: IEEE Virtual Reality Career Award(2010) And more than 25 2
  • 3. 3 “There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity.”
  • 4. What are werewolves and Silver Bullets? • Werewolves: Human with the ability to shape shift into a wolf. Popular movie topic. Oldest monster legend. • Silver Bullet(or a magical bullet): The only thing that can kill werewolves. Movie name (Horror 1985). 4
  • 5. Essence: The most basic and important quality of something. Accident: Those difficulties that today attend its production but that are not inherent. 5
  • 6. All software involves essential difficulties and accidental difficulties. ESSENTIAL DIFFICULTIES: • Software, as its core has these essential difficulties. I. Complexity II. Conformity III. Changeability IV. Invisibility 6 ESSENTIAL DIFFICULTIES AND ACCIDENTAL DIFFICULTIES:
  • 7. Software is much more complex than any other human construct. Problems caused: Technical: • Decrease of reliability, extensibility, safety. Management: • Difficulty of communication between team members. • Difficulty of invoking function-makes programs hard to use. • Complexity of structure brings the difficulty of extending programs to new functions without creating side effects. 7 COMPLEXITY:
  • 8. CONFORMITY:  Software has to be made to agree to common interface, protocols, standards etc.  Mostly standards for mastering complexity is arbitrary. Human institutions and systems must conform these standards and interface and they differ from: • Interface to interface. • Time to time. • Designed by different people. 8
  • 9. CHANGEABILITY: Software entity is constantly subject to pressure for change. All successful software get changed. Change comes in two ways: • People use the software in ways not originally foreseen in the design and want better support for that • The physical machine/OS changes underneath us. 9
  • 10. INVISIBLITY: 10  Software is invisible and unvisualisable. It is also very difficult even to visualize since there are many ways to look at the same design: “the reality of software is not inherently embedded in space.” This inhibits communication of structure and design.
  • 11. PAST BREAKTHROUGHS SOLVED ACCIDENTAL DIFFICULTIES:  The accidental qualities are all about implementation and testing, and these have been solved almost as well as they are likely to be solved, so don’t expect many more breakthroughs. 11
  • 12. 12 High level languages: High level languages allow programmers to express implementation with concepts closer to that which we use in design. Unified Programming Environment: Unified Programming Environment enable related individual tools to work together in an automatic manner. Time Sharing: Timesharing eliminates the slow turnaround of batch programming and keeps fresh in mind the grasp of complex system.
  • 13. HOPE FOR SILVER: Is there any potential solution now a days?  Ada and other high-level language advances?  Object-oriented programming?  Artificial Intelligence?  Expert System?  Automatic Programming?  Graphical Programming?  Program Verification?  Environment and Tools?  Workstation? 13
  • 14. 14 Ada & other High-Level Language Advances: One of the most touted development, not only reflects evolutionary improvements in language concepts but personify features to encourage modern design. It is just another high level language but no proved to be a silver bullet. Object Oriented Programming: It is a programming language model organized around objects rather than "actions" and data rather than logic. Has two classes: Abstract data types. Hierarchical types.
  • 15. 15 Artificial Intelligence: Revolutionary breakthrough Parnas has clarified the terminological choas: AI-1: The use of computers to solve problems that previously could only be solved by applying HI. AI-2: The use of a specific set of programming techniques knows as heuristic or rule based programming.
  • 16. 16 Expert System: A program containing a generalized interface engine and rule base, takes input data and assumptions, explore the inferences derivable from the rule base, yields conclusion and advice and explains its results by retracting its reasoning for the user.
  • 17. 17 Automatic Programming: “Automatic programming always has been a euphemism for programming with a higher level language than was presently available to the programmer” Graphical Programming: Computer graphics which has been applied successfully in other fields, seems to be able to play a role in software design. Program Verification: Program verification seems promising to avoid immense effort upon implementation and testing by eliminating errors in design phase.
  • 18. 18 Environment and tools:  The general pain of all these tools and environments is remembering to use them…  For example, configuration management systems depend on programmers’ checking modules out for working on them and on programmers’ checking modules back in when the programmers are finished with working on them.  When a programmer fails to check a module out, check a module back in, or to meet with another, the system loses control and the completeness and consistency it promises cannot be guaranteed any more. Workstation: • More powerful computers surely facilitate software development.
  • 19. Promising Attacks on the Essence Buy versus build: • In the mid 1980s, the software market was still small. The market is becoming large enough. So, Don't develop software when you can avoid it. 19
  • 20. 20 Requirements Refinement and Rapid Prototyping:  Helps decide what to build  Use to clarify requirement  A means to identify requirements, to try out various ideas, to do usability testing,etc  To the extent that it succeeds, it delays and moderates the B-L upswing.  Make the new software system work like our old manual information-processing system.
  • 21. 21 Great designers: Be on the look out for them, when you find them, don't let go! some people are just better at software design than others. Try to identify them, keep in mind them in your organization, and spoil them so that they get the skills and recompense that they need. Incremental development-grow, not building, software:  This helps to upgrade requirements, prove the design, and improves optimism.  Don't build software, grow it. The same benefits can be realized on large projects as on my small ones.
  • 22. 22
  • 23. 23