UsingUML,Patterns,andJava
Object-OrientedSoftwareEngineering
Chapter 1: Introduction
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Why Software Engineering?
Used w. extensive rework,
but later abandoned
20%
Used as delivered
2%
Usable w. rework
3%
9 software projects totaling $96.7 million: Where The Money Went
[Report to Congress, Comptroller General, 1979]
Delivered, but never
successfully used
45%
Paid for, but
not delivered
30%
Take a look at the Standish Report (The “Chaos” Report)Take a look at the Standish Report (The “Chaos” Report)
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Software Engineering: A Problem Solving Activity
♦ Analysis: Understand the nature of the problem and break the
problem into pieces
♦ Synthesis: Put the pieces together into a large structure
For problem solving we use
♦ Techniques (methods):
 Formal procedures for producing results using some well-defined
notation
♦ Methodologies:
 Collection of techniques applied across software development and
unified by a philosophical approach
♦ Tools:
 Instrument or automated systems to accomplish a technique
Isn’t there something more fundamental than problem “solving”?
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 20
Software Engineering: Definition
Software Engineering is a collection of techniques,
methodologies and tools that help
with the production of
♦ a high quality software system
♦ with a given budget
♦ before a given deadline
while change occurs.

More Related Content

PPT
Lo 11
DOCX
Bc0054 – software project management & quality assurance
PPT
Project management
PDF
Spm unit iii-risk-pert
PDF
Measure It! How to measure quality in (not only) large software projects, OW2...
 
PDF
Graduation Assignment Future Workspaces Pitch
PPTX
Ai planning with evolutionary computing
PPT
Ch01lect1 ud
Lo 11
Bc0054 – software project management & quality assurance
Project management
Spm unit iii-risk-pert
Measure It! How to measure quality in (not only) large software projects, OW2...
 
Graduation Assignment Future Workspaces Pitch
Ai planning with evolutionary computing
Ch01lect1 ud

Similar to Lo 06 (20)

PPT
software engineering chapte r one Btech
PPT
ch01lect1.ppt
PPTX
OOSE-UNIT-1.pptx
PPT
Software Engineering Lec 2
PPT
L35_LifecycleModeling_ch15lect1.ppt
PPT
L35_LifecycleModeling_ch15lect1.ppt
PPT
ch11lect-project-management.ppt
PPT
ch11lect-project-management.ppt
DOCX
Spm unit1
PPT
Ch14lect4 (1)
PPT
Health
PPT
Ch02lect1 ud
PPT
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
PPT
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
PPT
OOSE Ch1 Introduction
PDF
SE-Lecture01[3629105 advanced software ].PDF
PPT
Chapter1 conventional softwaremanagement (1)
PPT
Project Management
PPT
sdfsdfkjsdbusdbiusdhyusdbvyusdgusdbvusdbvyusdv
PDF
report
software engineering chapte r one Btech
ch01lect1.ppt
OOSE-UNIT-1.pptx
Software Engineering Lec 2
L35_LifecycleModeling_ch15lect1.ppt
L35_LifecycleModeling_ch15lect1.ppt
ch11lect-project-management.ppt
ch11lect-project-management.ppt
Spm unit1
Ch14lect4 (1)
Health
Ch02lect1 ud
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
L14_DesignGoalsSubsystemDecompositionc_ch06lect1.ppt
OOSE Ch1 Introduction
SE-Lecture01[3629105 advanced software ].PDF
Chapter1 conventional softwaremanagement (1)
Project Management
sdfsdfkjsdbusdbiusdhyusdbvyusdgusdbvusdbvyusdv
report
Ad

More from liankei (20)

PPT
Lo 19
PPT
Lo 18
PPT
Lo 13
PPT
Lo 12
PPT
Lo 05
PPT
Lo 04
PPT
Lo 01
PDF
Lo 16
PDF
Lo 15
PDF
Lo 09
PDF
Lo 08
PDF
Lo 03
PPT
Lo 20
PDF
Lo19
PDF
Lo20
PDF
Lo17
PDF
Lo18
PDF
Lo15
PDF
Lo16
PDF
Lo14
Lo 19
Lo 18
Lo 13
Lo 12
Lo 05
Lo 04
Lo 01
Lo 16
Lo 15
Lo 09
Lo 08
Lo 03
Lo 20
Lo19
Lo20
Lo17
Lo18
Lo15
Lo16
Lo14
Ad

Recently uploaded (20)

PDF
Abstractive summarization using multilingual text-to-text transfer transforme...
PDF
Architecture types and enterprise applications.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
UiPath Agentic Automation session 1: RPA to Agents
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PPTX
Microsoft Excel 365/2024 Beginner's training
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
The various Industrial Revolutions .pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
A proposed approach for plagiarism detection in Myanmar Unicode text
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
CloudStack 4.21: First Look Webinar slides
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PPTX
Modernising the Digital Integration Hub
PPT
Module 1.ppt Iot fundamentals and Architecture
Abstractive summarization using multilingual text-to-text transfer transforme...
Architecture types and enterprise applications.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
UiPath Agentic Automation session 1: RPA to Agents
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Chapter 5: Probability Theory and Statistics
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
Microsoft Excel 365/2024 Beginner's training
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
The various Industrial Revolutions .pptx
A comparative study of natural language inference in Swahili using monolingua...
A proposed approach for plagiarism detection in Myanmar Unicode text
1 - Historical Antecedents, Social Consideration.pdf
Credit Without Borders: AI and Financial Inclusion in Bangladesh
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
sustainability-14-14877-v2.pddhzftheheeeee
CloudStack 4.21: First Look Webinar slides
OpenACC and Open Hackathons Monthly Highlights July 2025
Modernising the Digital Integration Hub
Module 1.ppt Iot fundamentals and Architecture

Lo 06

  • 2. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2 Why Software Engineering? Used w. extensive rework, but later abandoned 20% Used as delivered 2% Usable w. rework 3% 9 software projects totaling $96.7 million: Where The Money Went [Report to Congress, Comptroller General, 1979] Delivered, but never successfully used 45% Paid for, but not delivered 30% Take a look at the Standish Report (The “Chaos” Report)Take a look at the Standish Report (The “Chaos” Report)
  • 3. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 Software Engineering: A Problem Solving Activity ♦ Analysis: Understand the nature of the problem and break the problem into pieces ♦ Synthesis: Put the pieces together into a large structure For problem solving we use ♦ Techniques (methods):  Formal procedures for producing results using some well-defined notation ♦ Methodologies:  Collection of techniques applied across software development and unified by a philosophical approach ♦ Tools:  Instrument or automated systems to accomplish a technique Isn’t there something more fundamental than problem “solving”?
  • 4. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 20 Software Engineering: Definition Software Engineering is a collection of techniques, methodologies and tools that help with the production of ♦ a high quality software system ♦ with a given budget ♦ before a given deadline while change occurs.

Editor's Notes

  • #4: What is Software Engineering? The goal is to produce high quality software to satisfy a set of functional and nonfunctional requirements. How do we do that? First, and foremost, by acknowledging that it is a problem solving activity. That is, it has to rely on well known techniques that are used all over the world for solving problems. There are two major parts of any problem solving process: Analysis: Understand the nature of the problem. This is done by looking at the problem and trying to see if there are subaspects that can be solved independently from each other. This means, that we need to identify the pieces of the puzzle (In object-oriented development, we will call this object identification). Synthesis: Once you have identified the pieces, you want to put them back together into a larger structure, usually by keeping some type of structure within the structure. Techniques, Methodologies and Tools: To aid you in the analysis and synthesis you are using 3 types of weapons: Techniques are well known procedures that you know will produce a result (Algorithms, cook book recipes are examples of techniques). Some people use the word “method” instead of technique, but this word is already reserved in our object-oriented development language, so we won’t use it here. A collection of techniques is called a methodology. (A cookbook is a methodology). A Tool is an instrument that helps you to accomplish a method. Examples of tools are: Pans, pots and stove. Note that these weapons are not enough to make a really good sauce. That is only possible if you are a good cook. In our case, if you are a good software engineer. Techniques, methodologies and tools are the domain of discourse for computer scientists as well. What is the difference?