SlideShare a Scribd company logo
1
SOFTWARE ENGINEERING
2
SOFTWARE CRISES
3
1. Problems Faced By The Customers
1. US Internal Revenue System has abandoned its tax system
modernization program after having spent $4 billion;
2. the state of California spent $1 billion on its non-functional welfare
database system;
3. the £339 million UK air traffic control system was reported as
being two years behind schedule;
4. a discount stock brokerage company had 50 people working 14
hours or more a day to correct three months of records clerically –
the report commented that the new system had been rushed into
operation without adequate testing;
5. in the United Kingdom, a Home Office immigration service
computerization project was reported as having missed two
deadlines and was nine months late;
6. the Public Accounts Committee of the House of Commons (UK)
blamed software bugs and management errors for £12 million of
project costs in relation to an implementation of a Ministry of
agriculture computer system to administer farm subsidies.
7. More ???
SOFTWARE PROJECT FAILURE
4
3. AN INDUSTRY PERSPECTIVE
2. GENERAL
H/W advances continue to outpace the pace of building S/W to tap
hardware’s potential.
 Why cost estimations are mostly incorrect?
 Why requirements are kept changing
 Why does it take so long to get programs finished?
 Why are costs so high?
 Why can’t we find all errors before we give the S/W to our
customer?
 Why do we have difficulty in measuring progress as S/W is being
developed?
Our ability to build S/W could not keep pace with the growing need
of business and market
Demand of highly reliable operations (ticketing, communication and
power control) of S/W due to our dependency on computer
SOFTWARE CRISES
5
4. SOFTWARE COMPETITIVENESS
S/W is now an extremely competitive business. We cannot afford
unlimited cost and time for poor quality software.
SOFTWARE CRISES
6
The statistics – Chaos Report
Project completion
16%
31%
53%
On time, on budget,
with all of the specified
features and functions
Cancelled before they
were completed
delivered and
operational but over-
budget, over-schedule
or with fewer features
and functions than
specified
 Standish Group – 1995
 365 IT executives in US
companies in diverse industry
segments.
 8,380 projects
average cost
overrun = 189%
average
time
overrun =
222%.
61% of originally specified
features included


?
In Averages
• 189% of original budget
• 221% of original schedule
• 61% of original functionality
7
Symptom of Software Crisis
 About US$250 billions spent per year in
the US on application development
 Out of this, about US$140 billions
wasted due to the projects getting
abandoned or reworked; this in turn
because of not following best practices
and standards
Ref: Standish Group, 1996
8
Symptom of Software Crisis
 10% of client/server apps are abandoned or
restarted from scratch
 20% of apps are significantly altered to avoid
disaster
 40% of apps are delivered significantly late
Source: 3 year study of 70 large c/s apps 30 European firms.
Compuware (12/95)
9
Software products:
– fail to meet user requirements
– crash frequently
– expensive
– difficult to alter, debug, enhance
– often delivered late
– use resources non-optimally
Observed Problems
10
Why is the Statistics so Bad?
 Misconception on software development
– Software myths, e.g., the man-month myth
– False assumptions
– Not distinguishing the coding of a computer
program from the development of a software
product
 Software programs have exponential growth in
complexity and difficulty level with respect to size.
– The ad hoc approach breaks down when size of
software increases.
11
Why is the Statistics so Bad?...
 Software professionals lack engineering
training
– Programmers have skills for programming
but without the engineering mindset about
a process and discipline
How is Software usually Constructed …
The requirements
specification was
defined like this
The developers
understood it in
that way
This is how the
problem was
solved before.
This is how the
problem is
solved now
That is the program
after debugging
This is how the program is
described by marketing dept.
This, in fact, is what the
customer wanted … ;-)
13
Software Myths
(Customer Perspectives)
 A general statement of objectives is sufficient to
get started with the development of software.
Missing/vague requirements can easily be
incorporated/detailed out as they get concretized.
 Application requirements can never be stable;
software can be and has to be made flexible
enough to allow changes to be incorporated as
they happen.
14
Software Myths
(Developer Perspectives)
Once the software is demonstrated, the job is done.
Usually, the problems just begin!
15
Until the software is coded and is available for
testing, there is no way for assessing its quality.
Usually, there are too many
tiny bugs inserted at every stage
that grow in size and complexity
as they progress thru further
stages!
Software Myths
(Developer Perspectives)
16
The only deliverable for a software
development project is the tested code.
The code is only
the externally visible component
of the entire software
complement!
Software Myths
(Developer Perspectives)
17
Software Myths
(Management Perspectives)
As long as there are good standards and clear procedures in
my company, I shouldn’t be too concerned.
But the proof of the pudding
is in the eating;
not in the Recipe !
18
Software Myths
(Management Perspectives)
As long as my software engineers(!) have access to the
fastest and the most sophisticated computer
environments and state-of-the-art software tools, I
shouldn’t be too concerned.
The environment is
only one of the several factors
that determine the quality
of the end software product!
19
Software Myths
(Management Perspectives)
When my schedule slips, what I have to do is to
start a fire-fighting operation: add more software
specialists, those with higher skills and longer
experience - they will bring the schedule back on
the rails!
Unfortunately,
software business does not
entertain schedule compaction
beyond a limit!
20
Misplaced Assumptions
 All requirements can be pre-specified
 Users are experts at specification of their
needs
 Users and developers are both good at
visualization
 The project team is capable of
unambiguous communication
Ref: Larry Vaughn
21
 Usually small in size
 Author himself is sole
user
 Single developer
 Lacks proper user
interface
 Lacks proper
documentation
 Ad hoc development.
 Large
 Large number of
users
 Team of developers
 Well-designed
interface
 Well documented &
user-manual prepared
 Systematic development
Programs Software Products
Confused with Programs and
Products
22
Software Programming ≠ Software
Engineering
 Software programming: the process of translating a
problem from its physical environment into a language that
a computer can understand and obey. (Webster’s New
World Dictionary of Computer Terms)
– Single developer
– “Toy” applications
– Short lifespan
– Single or few stakeholders
• Architect = Developer = Manager = Tester = Customer = User
– One-of-a-kind systems
– Built from scratch
– Minimal maintenance
23
Software Programming ≠ Software
Engineering
 Software engineering
– Teams of developers with multiple roles
– Complex systems
– Indefinite lifespan
– Numerous stakeholders
• Architect ≠ Developer ≠ Manager ≠ Tester ≠ Customer ≠ User
– System families
– Reuse to amortize costs
– Maintenance accounts for over 60% of overall
development costs
 Second cause of confusion lies in the fact that there is no generally
agreed definition of software engineering, although many are similar.
 Software Engineering as a term was first coined in 1968 at a NATO
conference in West Germany held to discuss the software crises
 For example, Bohem, states that ‘software engineering is the
application of science and mathematics by which the capabilities
of computer equipment are made useful to man via computer
programs, procedures and associated documentation.’
 Other definitions such as Fairley’s 1985 explicitly include the
concerns of management in the software development process:
‘Software engineering is the technological and managerial
discipline concerned with systematic production and
maintenance of software products that are developed and
modified on time and within cost estimates.’
 The term S/W Engineering was/is sometimes confusing, firstly
because S/W engineer (some times) work as system programmer,
people assume that the engineering component of the term comes
from this source. SO we have H/W engg and S/W engg.
WHAT IS SOFTWARE ENGINEERING?
"The establishment and use of sound engineering
principles (methods) in order to obtain economically
software that is reliable and works on real machines"
[Bauer 1972].
"cost-effective Software engineering is that form of
engineering that applies the principles of computer science
and mathematics to achieving solutions to software
problems.“ [CMU/SEI-90-TR-003]
"The application of a systematic, disciplined, quantifiable
approach to the development, operation, and maintenance
of software" [IEEE Standard Computer Dictionary,
610.12, ISBN 1-55937-079-3, 1990].
What is Software Engineering? (ctd.)
What is Software Engineering? (ctd)
 Software engineering is concerned with the theories,
methods and tools for developing, managing and evolving
software products. (I. Sommerville, 6ed.)
 A discipline whose aim is the production of quality
software, delivered on time, within budget, and satisfying
users' needs. (Stephen R. Schach, Software Engineering,
2ed.)
The practical application of scientific knowledge
in the design and construction of computer
programs and the associated documentation
required to develop, operate and maintain them
(B.W. Boehm)
 Multi-person construction of multi-version software
(Parnas, 1987)
27
So, Software Engineering is …
 Scope
– study of software process, development
principles, techniques, and notations
 Goals
– production of quality software,
– delivered on time,
– within budget,
– satisfying customers’ requirements and users’
needs
28
The Role/Scope Of S/W Engineering In System Design
 A software system is often a component of a much larger system.
 The software engineering activity is therefore a part of a much
larger system design activity in which the requirements of the
software are balanced against the requirements of other parts of
the system being designed.*
 For Example, A requirement such as “the system must not be down
for more than a second in 20 years” or “when a receiver is taken off-
hook, a dial tone is played within half a second” can be satisfied
with a combination of hardware, software and special devices.
 A trade off is required as what should be done in software and what
should be done in hardware. Software implementation offers
flexibility, while hardware implementation offers performance.$
 To do software engineering right, requires a broader look at the
general problem of system engineering. It requires software
engineer to be involved when requirements are being developed
initially for the whole system.
29
 It requires that software engineer attempt to understand the
application area rather than just what abstract interfaces the
software must meet.
30
S/W CHARACTERISTICS
3.
 Software is developed or engineered,
it is not manufactured in the classical
sense.
 Software doesn’t wear out
 Software is complex
 Software is like an ‘aging factory’
 Industry is moving towards
component-based assembling, most
software is custom built.
31
Wear vs. Deterioration
idealized curve
change
actual curve
Failure
rate
Time
increased failure
rate due to side effects
32
Software Applications
System software
Real-time software
Business software
Engineering/scientific software
Embedded software
PC software
AI software
Network applications
Web applications

More Related Content

What's hot

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
tanni821216
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLC
IRJET Journal
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
Hitesh Mohapatra
 
Improving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scaleImproving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scale
IBM Rational software
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
deep sharma
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Zahoor Khan
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1
Amr E. Mohamed
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projectsiaemedu
 
Unit 1
Unit 1Unit 1
Unit 1
shalinik57
 
Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2
Ram Paliwal
 
Unit1..
Unit1..Unit1..
Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25
Priyanka Shetty
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software designTech_MX
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
REHMAT ULLAH
 
Ch22 project management
Ch22 project managementCh22 project management
Ch22 project management
software-engineering-book
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
KelisKing
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
Samura Daniel
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
Gagan Deep
 
software project management
software project managementsoftware project management
software project management
deep sharma
 

What's hot (20)

Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
IRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLCIRJET- Research Study on Testing Mantle in SDLC
IRJET- Research Study on Testing Mantle in SDLC
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Improving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scaleImproving software economics - Top 10 principles of achieving agility at scale
Improving software economics - Top 10 principles of achieving agility at scale
 
Improving software economics
Improving software economicsImproving software economics
Improving software economics
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1SE18_SE_Lec 12_ Project Management 1
SE18_SE_Lec 12_ Project Management 1
 
Defect effort prediction models in software maintenance projects
Defect  effort prediction models in software maintenance projectsDefect  effort prediction models in software maintenance projects
Defect effort prediction models in software maintenance projects
 
Unit 1
Unit 1Unit 1
Unit 1
 
Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2Software project planning in software engineering by ram k paliwal unit 2
Software project planning in software engineering by ram k paliwal unit 2
 
Unit1..
Unit1..Unit1..
Unit1..
 
Slides chapters 24-25
Slides chapters 24-25Slides chapters 24-25
Slides chapters 24-25
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Software project management Software economics
Software project management Software economicsSoftware project management Software economics
Software project management Software economics
 
Ch22 project management
Ch22 project managementCh22 project management
Ch22 project management
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
Software Engineering Unit-1
Software Engineering Unit-1Software Engineering Unit-1
Software Engineering Unit-1
 
Software Project Planning V
Software Project Planning VSoftware Project Planning V
Software Project Planning V
 
software project management
software project managementsoftware project management
software project management
 

Similar to Introduction To Software Engineering

Spm unit1
Spm unit1Spm unit1
Spm unit1
Naga Dinesh
 
se01.ppt
se01.pptse01.ppt
se01.ppt
xiso
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
ShivareddyGangam
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
meena466141
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
infinitetechnology20
 
SOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTIONSOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTION
Networked Research Lab, UK
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
UnknownPerson201264
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
Amr E. Mohamed
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
Priyajit Sen
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
Rupesh Vaishnav
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
DrPrabakaranPerumal
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
priyaaresearch
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
cricket2ime
 
lecture 1-5.pdf
lecture 1-5.pdflecture 1-5.pdf
lecture 1-5.pdf
AkankshaJha53
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
MarriamNawaz
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
Dr VISU P
 
SE Unit 1
SE Unit 1SE Unit 1
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
itadmin33
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
ShudipPal
 

Similar to Introduction To Software Engineering (20)

Spm unit1
Spm unit1Spm unit1
Spm unit1
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
SOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTIONSOFWARE QUALITY, INTRODUCTION
SOFWARE QUALITY, INTRODUCTION
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 
project plan
project planproject plan
project plan
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Software Process and Requirement
Software Process and RequirementSoftware Process and Requirement
Software Process and Requirement
 
lecture 1-5.pdf
lecture 1-5.pdflecture 1-5.pdf
lecture 1-5.pdf
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 

Recently uploaded

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Hivelance Technology
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
varshanayak241
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 

Recently uploaded (20)

Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 

Introduction To Software Engineering

  • 3. 3 1. Problems Faced By The Customers 1. US Internal Revenue System has abandoned its tax system modernization program after having spent $4 billion; 2. the state of California spent $1 billion on its non-functional welfare database system; 3. the £339 million UK air traffic control system was reported as being two years behind schedule; 4. a discount stock brokerage company had 50 people working 14 hours or more a day to correct three months of records clerically – the report commented that the new system had been rushed into operation without adequate testing; 5. in the United Kingdom, a Home Office immigration service computerization project was reported as having missed two deadlines and was nine months late; 6. the Public Accounts Committee of the House of Commons (UK) blamed software bugs and management errors for £12 million of project costs in relation to an implementation of a Ministry of agriculture computer system to administer farm subsidies. 7. More ??? SOFTWARE PROJECT FAILURE
  • 4. 4 3. AN INDUSTRY PERSPECTIVE 2. GENERAL H/W advances continue to outpace the pace of building S/W to tap hardware’s potential.  Why cost estimations are mostly incorrect?  Why requirements are kept changing  Why does it take so long to get programs finished?  Why are costs so high?  Why can’t we find all errors before we give the S/W to our customer?  Why do we have difficulty in measuring progress as S/W is being developed? Our ability to build S/W could not keep pace with the growing need of business and market Demand of highly reliable operations (ticketing, communication and power control) of S/W due to our dependency on computer SOFTWARE CRISES
  • 5. 5 4. SOFTWARE COMPETITIVENESS S/W is now an extremely competitive business. We cannot afford unlimited cost and time for poor quality software. SOFTWARE CRISES
  • 6. 6 The statistics – Chaos Report Project completion 16% 31% 53% On time, on budget, with all of the specified features and functions Cancelled before they were completed delivered and operational but over- budget, over-schedule or with fewer features and functions than specified  Standish Group – 1995  365 IT executives in US companies in diverse industry segments.  8,380 projects average cost overrun = 189% average time overrun = 222%. 61% of originally specified features included   ? In Averages • 189% of original budget • 221% of original schedule • 61% of original functionality
  • 7. 7 Symptom of Software Crisis  About US$250 billions spent per year in the US on application development  Out of this, about US$140 billions wasted due to the projects getting abandoned or reworked; this in turn because of not following best practices and standards Ref: Standish Group, 1996
  • 8. 8 Symptom of Software Crisis  10% of client/server apps are abandoned or restarted from scratch  20% of apps are significantly altered to avoid disaster  40% of apps are delivered significantly late Source: 3 year study of 70 large c/s apps 30 European firms. Compuware (12/95)
  • 9. 9 Software products: – fail to meet user requirements – crash frequently – expensive – difficult to alter, debug, enhance – often delivered late – use resources non-optimally Observed Problems
  • 10. 10 Why is the Statistics so Bad?  Misconception on software development – Software myths, e.g., the man-month myth – False assumptions – Not distinguishing the coding of a computer program from the development of a software product  Software programs have exponential growth in complexity and difficulty level with respect to size. – The ad hoc approach breaks down when size of software increases.
  • 11. 11 Why is the Statistics so Bad?...  Software professionals lack engineering training – Programmers have skills for programming but without the engineering mindset about a process and discipline
  • 12. How is Software usually Constructed … The requirements specification was defined like this The developers understood it in that way This is how the problem was solved before. This is how the problem is solved now That is the program after debugging This is how the program is described by marketing dept. This, in fact, is what the customer wanted … ;-)
  • 13. 13 Software Myths (Customer Perspectives)  A general statement of objectives is sufficient to get started with the development of software. Missing/vague requirements can easily be incorporated/detailed out as they get concretized.  Application requirements can never be stable; software can be and has to be made flexible enough to allow changes to be incorporated as they happen.
  • 14. 14 Software Myths (Developer Perspectives) Once the software is demonstrated, the job is done. Usually, the problems just begin!
  • 15. 15 Until the software is coded and is available for testing, there is no way for assessing its quality. Usually, there are too many tiny bugs inserted at every stage that grow in size and complexity as they progress thru further stages! Software Myths (Developer Perspectives)
  • 16. 16 The only deliverable for a software development project is the tested code. The code is only the externally visible component of the entire software complement! Software Myths (Developer Perspectives)
  • 17. 17 Software Myths (Management Perspectives) As long as there are good standards and clear procedures in my company, I shouldn’t be too concerned. But the proof of the pudding is in the eating; not in the Recipe !
  • 18. 18 Software Myths (Management Perspectives) As long as my software engineers(!) have access to the fastest and the most sophisticated computer environments and state-of-the-art software tools, I shouldn’t be too concerned. The environment is only one of the several factors that determine the quality of the end software product!
  • 19. 19 Software Myths (Management Perspectives) When my schedule slips, what I have to do is to start a fire-fighting operation: add more software specialists, those with higher skills and longer experience - they will bring the schedule back on the rails! Unfortunately, software business does not entertain schedule compaction beyond a limit!
  • 20. 20 Misplaced Assumptions  All requirements can be pre-specified  Users are experts at specification of their needs  Users and developers are both good at visualization  The project team is capable of unambiguous communication Ref: Larry Vaughn
  • 21. 21  Usually small in size  Author himself is sole user  Single developer  Lacks proper user interface  Lacks proper documentation  Ad hoc development.  Large  Large number of users  Team of developers  Well-designed interface  Well documented & user-manual prepared  Systematic development Programs Software Products Confused with Programs and Products
  • 22. 22 Software Programming ≠ Software Engineering  Software programming: the process of translating a problem from its physical environment into a language that a computer can understand and obey. (Webster’s New World Dictionary of Computer Terms) – Single developer – “Toy” applications – Short lifespan – Single or few stakeholders • Architect = Developer = Manager = Tester = Customer = User – One-of-a-kind systems – Built from scratch – Minimal maintenance
  • 23. 23 Software Programming ≠ Software Engineering  Software engineering – Teams of developers with multiple roles – Complex systems – Indefinite lifespan – Numerous stakeholders • Architect ≠ Developer ≠ Manager ≠ Tester ≠ Customer ≠ User – System families – Reuse to amortize costs – Maintenance accounts for over 60% of overall development costs
  • 24.  Second cause of confusion lies in the fact that there is no generally agreed definition of software engineering, although many are similar.  Software Engineering as a term was first coined in 1968 at a NATO conference in West Germany held to discuss the software crises  For example, Bohem, states that ‘software engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures and associated documentation.’  Other definitions such as Fairley’s 1985 explicitly include the concerns of management in the software development process: ‘Software engineering is the technological and managerial discipline concerned with systematic production and maintenance of software products that are developed and modified on time and within cost estimates.’  The term S/W Engineering was/is sometimes confusing, firstly because S/W engineer (some times) work as system programmer, people assume that the engineering component of the term comes from this source. SO we have H/W engg and S/W engg. WHAT IS SOFTWARE ENGINEERING?
  • 25. "The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines" [Bauer 1972]. "cost-effective Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving solutions to software problems.“ [CMU/SEI-90-TR-003] "The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software" [IEEE Standard Computer Dictionary, 610.12, ISBN 1-55937-079-3, 1990]. What is Software Engineering? (ctd.)
  • 26. What is Software Engineering? (ctd)  Software engineering is concerned with the theories, methods and tools for developing, managing and evolving software products. (I. Sommerville, 6ed.)  A discipline whose aim is the production of quality software, delivered on time, within budget, and satisfying users' needs. (Stephen R. Schach, Software Engineering, 2ed.) The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate and maintain them (B.W. Boehm)  Multi-person construction of multi-version software (Parnas, 1987)
  • 27. 27 So, Software Engineering is …  Scope – study of software process, development principles, techniques, and notations  Goals – production of quality software, – delivered on time, – within budget, – satisfying customers’ requirements and users’ needs
  • 28. 28 The Role/Scope Of S/W Engineering In System Design  A software system is often a component of a much larger system.  The software engineering activity is therefore a part of a much larger system design activity in which the requirements of the software are balanced against the requirements of other parts of the system being designed.*  For Example, A requirement such as “the system must not be down for more than a second in 20 years” or “when a receiver is taken off- hook, a dial tone is played within half a second” can be satisfied with a combination of hardware, software and special devices.  A trade off is required as what should be done in software and what should be done in hardware. Software implementation offers flexibility, while hardware implementation offers performance.$  To do software engineering right, requires a broader look at the general problem of system engineering. It requires software engineer to be involved when requirements are being developed initially for the whole system.
  • 29. 29  It requires that software engineer attempt to understand the application area rather than just what abstract interfaces the software must meet.
  • 30. 30 S/W CHARACTERISTICS 3.  Software is developed or engineered, it is not manufactured in the classical sense.  Software doesn’t wear out  Software is complex  Software is like an ‘aging factory’  Industry is moving towards component-based assembling, most software is custom built.
  • 31. 31 Wear vs. Deterioration idealized curve change actual curve Failure rate Time increased failure rate due to side effects
  • 32. 32 Software Applications System software Real-time software Business software Engineering/scientific software Embedded software PC software AI software Network applications Web applications