SlideShare a Scribd company logo
An Introduction to Software
Engineering
Software engineering
The economies of ALL developed nations
are dependent on software.
● More and more systems are software
controlled
● Software engineering is concerned with
theories, methods and tools for
professional software development.
● Expenditure on software represents a
significant fraction of GNP in all developed
countries.
Software Engineering Cycle
Example of Water Fall Model
Software costs
Software costs often dominate computer
system costs. The costs of software on a
PC are often greater than the hardware
cost.
● Software costs more to maintain than it
does to develop. For systems with a long
life, maintenance costs may be several
times development costs.
● Software engineering is concerned with
cost effective software development.
What is software?
Computer programs and associated documentation
such as requirements, design models and user
manuals.
● Software products may be developed for a particular
customer or may be developed for a general market.
● Software products may be
Generic - developed to be sold to a range of
different customers e.g. PC software such as
Excel or Word.
Bespoke (custom) - developed for a single
customer according to their specification.
● New software can be created by developing new
programs, configuring generic software systems or
reusing existing software.
What is software engineering?
Software engineering is an engineering
discipline that is concerned with all aspects of
software production.
● Software engineers should adopt a
systematic and organized approach to their
work and use appropriate tools and
techniques depending on the problem to be
solved, the development constraints and the
resources available
What is the difference between software
engineering and computer science?
Computer science is concerned with theory and
fundamentals; software engineering is
concerned with the practicalities of developing
and delivering useful software.
● Computer science theories are still insufficient
to act as a complete underpinning for
software engineering (unlike e.g. physics and
electrical engineering).
What is the difference between software
engineering and system engineering?
System engineering is concerned with all aspects of
computer-based systems development including
hardware, software and process engineering.
Software engineering is part of this process concerned
with developing the software infrastructure, control,
applications and databases in the system.
● System engineers are involved in system
specification, architectural design, integration and
deployment.
What is a software process?
A set of activities whose goal is the development
or evolution of software.
● Generic activities in all software processes are:
Specification - what the system should do and its
development constraints
Development - production of the software system
Validation - checking that the software is what
the customer wants.
Evolution - changing the software in response to
changing demands.
What is a software process model?
A simplified representation of a software
process, presented from a specific perspective.
● Examples of process perspectives are
Workflow perspective - sequence of activities;
Data-flow perspective - information flow;
Role/action perspective - who does what.
● Generic process models
Waterfall;
Iterative development;
Component-based software
engineering.
What are the costs of software Engineering?
Roughly 60% of costs are development costs,
40% are testing costs. For custom software,
evolution costs often exceed development costs.
● Costs vary depending on the type of system
being developed and the requirements of
system attributes such as performance and
system reliability.
● Distribution of costs depends on the
development model that is used.
What are software engineering methods?
Structured approaches to software development which
include system models, notations, rules, design advice
and process guidance.
● Model descriptions
Descriptions of graphical models which should be
produced;
● Rules
Constraints applied to system models;
● Recommendations
Advice on good design practice;
● Process guidance
What activities to follow.
What is CASE (Computer-Aided
Software Engineering)
Software systems that are intended to provide
automated support for software process
activities.
● CASE systems are often used for method
support.
● Upper-CASE
Tools to support the early process activities of
requirements and design;
● Lower-CASE
Tools to support later activities such as
programming, debugging and testing.
What are the attributes of good software?
The software should deliver the required functionality
and performance to the user and should be maintainable,
dependable and acceptable.
● Maintainability
Software must evolve to meet changing needs;
● Dependability
Software must be trustworthy;
● Efficiency
Software should not make wasteful use of system resources;
● Acceptability
Software must accepted by the users for which it was designed.
This means it must be understandable, usable and compatible with
other systems.
What are the key challenges facing
software engineering?
Heterogeneity, delivery and trust.
● Heterogeneity
Developing techniques for building software
that can cope with heterogeneous platforms
and execution environments;
● Delivery
Developing techniques that lead to faster
delivery of software;
● Trust
Developing techniques that demonstrate that
software can be trusted by its users.
The Software Crisis
A software failure is a software project
that has one or more of the following:
• Over budget
• Late
• Does not satisfy user needs or expectations
• Does not meet functional or performance
requirements
• Does not meet quality requirements
Examples of Failures
State of California:
$40M DMV project
$44M Prison software system
$100M State child support system
$10B FAA modernization project
UK tax filing system
The Software Crisis
“The construction of new software, which is
pleasing to both user and buyer and does not
contain errors, is an unexpectedly hard
problem. It is perhaps the most difficult problem
in engineering today. Referred to as the
“software crisis,” it has become the longest
continuing crisis in the engineering world, and it
continues unabated.”
W. W. Royce
1929 - 1995
What is causing software
crisis?
Software requirements do not adequately describe user
needs or customer expectations
 Project planning is frequently unrealistic, incomplete, or
ignored.
 Project cost and schedule estimates are underestimated
or established by management edict
 Software quality is difficult to specify, design, and build-to
 Software development progress is difficult to see,
progress is often unknown
 Changes in requirements are not accompanied by
changes in software plans
 Design is changed without changing requirements
 Standards are not used or documented
Software Crisis
“The tragedy of software engineering is not
that we don’t know how to plan and conduct
software projects, but that we know how
and just don’t do it….”
Richard E. Fairley

More Related Content

What's hot

Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
Purvik Rana
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering Ialamzeb123
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
AnwarrChaudary
 
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
 
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 Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
JAINAM KAPADIYA
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
Vishal Singh
 
Software engineering
Software engineeringSoftware engineering
Software engineering
Mandavi Classes
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
Pratik Devmurari
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
Santhia RK
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
SADEED AMEEN
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
Ahmed Elshal
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
meena466141
 

What's hot (16)

Software Engineering - Basics
Software Engineering - BasicsSoftware Engineering - Basics
Software Engineering - Basics
 
Software Engineering I
Software Engineering ISoftware Engineering I
Software Engineering I
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
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 Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
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
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Software engineering tutorial
Software engineering tutorial Software engineering tutorial
Software engineering tutorial
 
3
33
3
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 

Viewers also liked

Graphical programming
Graphical programmingGraphical programming
Graphical programming
Bilal Maqbool ツ
 
Dld lecture module 05
Dld lecture module 05Dld lecture module 05
Dld lecture module 05
Bilal Maqbool ツ
 
English 01 application
English 01 applicationEnglish 01 application
English 01 application
Bilal Maqbool ツ
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
Bilal Maqbool ツ
 
Chapter10
Chapter10Chapter10
Number+system (1)
Number+system (1)Number+system (1)
Number+system (1)
Bilal Maqbool ツ
 
Dld lecture module 01
Dld lecture module 01Dld lecture module 01
Dld lecture module 01
Bilal Maqbool ツ
 
Basic+machine+organization
Basic+machine+organizationBasic+machine+organization
Basic+machine+organization
Bilal Maqbool ツ
 
Dld lecture module 06
Dld lecture module 06Dld lecture module 06
Dld lecture module 06
Bilal Maqbool ツ
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
Bilal Maqbool ツ
 
Dld lecture module 03
Dld lecture module 03Dld lecture module 03
Dld lecture module 03
Bilal Maqbool ツ
 
Uncdtalk
UncdtalkUncdtalk
Complement
ComplementComplement
Complement
Bilal Maqbool ツ
 
Dld lecture module 02
Dld lecture module 02Dld lecture module 02
Dld lecture module 02
Bilal Maqbool ツ
 
Algorithm defination, design & Implementation
Algorithm defination, design & ImplementationAlgorithm defination, design & Implementation
Algorithm defination, design & Implementation
Bilal Maqbool ツ
 
Dld lecture module 04 01
Dld lecture module 04  01Dld lecture module 04  01
Dld lecture module 04 01
Bilal Maqbool ツ
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
Bilal Maqbool ツ
 
Internet
InternetInternet

Viewers also liked (20)

Graphical programming
Graphical programmingGraphical programming
Graphical programming
 
Dld lecture module 05
Dld lecture module 05Dld lecture module 05
Dld lecture module 05
 
English 01 application
English 01 applicationEnglish 01 application
English 01 application
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Chapter10
Chapter10Chapter10
Chapter10
 
Number+system (1)
Number+system (1)Number+system (1)
Number+system (1)
 
Dld lecture module 01
Dld lecture module 01Dld lecture module 01
Dld lecture module 01
 
Basic+machine+organization
Basic+machine+organizationBasic+machine+organization
Basic+machine+organization
 
Dld lecture module 06
Dld lecture module 06Dld lecture module 06
Dld lecture module 06
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Dld lecture module 03
Dld lecture module 03Dld lecture module 03
Dld lecture module 03
 
Uncdtalk
UncdtalkUncdtalk
Uncdtalk
 
Complement
ComplementComplement
Complement
 
Dld lecture module 02
Dld lecture module 02Dld lecture module 02
Dld lecture module 02
 
Algorithm defination, design & Implementation
Algorithm defination, design & ImplementationAlgorithm defination, design & Implementation
Algorithm defination, design & Implementation
 
Good
GoodGood
Good
 
Dld lecture module 04 01
Dld lecture module 04  01Dld lecture module 04  01
Dld lecture module 04 01
 
Computer graphics
Computer graphicsComputer graphics
Computer graphics
 
Internet
InternetInternet
Internet
 
Okkkkk
OkkkkkOkkkkk
Okkkkk
 

Similar to An introduction to software

lect1.pdf
lect1.pdflect1.pdf
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
Mohamed Essam
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
SHREEHARI WADAWADAGI
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
bxuket
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
eqhnwl
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
ohtpwshx
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
hcslenk
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
SherinRappai
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
LeahRachael
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
Amir Shahzad
 
Online Software development training
Online Software development trainingOnline Software development training
Online Software development training
vibrantuser
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
ssuserdee5bb1
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
Prof. Dr. K. Adisesha
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
Preeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
Preeti Mishra
 
Software ee1
Software ee1Software ee1
Software ee1
Aman Adhikari
 
Software ee111
Software ee111Software ee111
Software ee111
Aman Adhikari
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
GaytriMate
 
SE
SESE

Similar to An introduction to software (20)

lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideShare
 
SE UNIT-1.pptx
SE UNIT-1.pptxSE UNIT-1.pptx
SE UNIT-1.pptx
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1
 
Online Software development training
Online Software development trainingOnline Software development training
Online Software development training
 
SE chp1 update and learning management .pptx
SE chp1 update and learning management .pptxSE chp1 update and learning management .pptx
SE chp1 update and learning management .pptx
 
Software Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdfSoftware Engineering notes by K. Adisesha.pdf
Software Engineering notes by K. Adisesha.pdf
 
Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
Software ee1
Software ee1Software ee1
Software ee1
 
Software ee111
Software ee111Software ee111
Software ee111
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
SE
SESE
SE
 

More from Bilal Maqbool ツ

Lecture 3 report writtng
Lecture 3 report writtngLecture 3 report writtng
Lecture 3 report writtng
Bilal Maqbool ツ
 
Lecture 2
Lecture 2Lecture 2
Lecture 1 report writing
Lecture 1 report writingLecture 1 report writing
Lecture 1 report writing
Bilal Maqbool ツ
 
Bill gates
Bill gatesBill gates
Bill gates
Bilal Maqbool ツ
 
Programming assignment 02 (bilal maqbool 10) 2011
Programming assignment 02    (bilal maqbool 10) 2011Programming assignment 02    (bilal maqbool 10) 2011
Programming assignment 02 (bilal maqbool 10) 2011
Bilal Maqbool ツ
 
Programming assignment 30 12-11
Programming assignment 30 12-11Programming assignment 30 12-11
Programming assignment 30 12-11
Bilal Maqbool ツ
 
Internet presentation
Internet presentationInternet presentation
Internet presentation
Bilal Maqbool ツ
 
Presentation internet programming report
Presentation internet programming reportPresentation internet programming report
Presentation internet programming report
Bilal Maqbool ツ
 
Magnetic storage devices
Magnetic storage devicesMagnetic storage devices
Magnetic storage devices
Bilal Maqbool ツ
 
How internet technology be used to spread scientific awareness among pakistan...
How internet technology be used to spread scientific awareness among pakistan...How internet technology be used to spread scientific awareness among pakistan...
How internet technology be used to spread scientific awareness among pakistan...
Bilal Maqbool ツ
 
Math assignment Program
Math assignment ProgramMath assignment Program
Math assignment Program
Bilal Maqbool ツ
 
Final of sentences PPT
Final of sentences PPTFinal of sentences PPT
Final of sentences PPT
Bilal Maqbool ツ
 
Advantages and disadvantages of LCD
Advantages and disadvantages of LCDAdvantages and disadvantages of LCD
Advantages and disadvantages of LCD
Bilal Maqbool ツ
 
A history of windows
A history of windowsA history of windows
A history of windows
Bilal Maqbool ツ
 
Bluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPTBluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPT
Bilal Maqbool ツ
 
Bluetooth PPT Report
Bluetooth PPT ReportBluetooth PPT Report
Bluetooth PPT Report
Bilal Maqbool ツ
 
Computing assignment 02 ms access (bilal maqbool 10) se-i
Computing assignment 02   ms access (bilal maqbool 10)          se-iComputing assignment 02   ms access (bilal maqbool 10)          se-i
Computing assignment 02 ms access (bilal maqbool 10) se-i
Bilal Maqbool ツ
 

More from Bilal Maqbool ツ (18)

Lecture 3 report writtng
Lecture 3 report writtngLecture 3 report writtng
Lecture 3 report writtng
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 1 report writing
Lecture 1 report writingLecture 1 report writing
Lecture 1 report writing
 
Bill gates
Bill gatesBill gates
Bill gates
 
Programming assignment 02 (bilal maqbool 10) 2011
Programming assignment 02    (bilal maqbool 10) 2011Programming assignment 02    (bilal maqbool 10) 2011
Programming assignment 02 (bilal maqbool 10) 2011
 
Programming assignment 30 12-11
Programming assignment 30 12-11Programming assignment 30 12-11
Programming assignment 30 12-11
 
Internet presentation
Internet presentationInternet presentation
Internet presentation
 
Presentation internet programming report
Presentation internet programming reportPresentation internet programming report
Presentation internet programming report
 
Magnetic storage devices
Magnetic storage devicesMagnetic storage devices
Magnetic storage devices
 
How internet technology be used to spread scientific awareness among pakistan...
How internet technology be used to spread scientific awareness among pakistan...How internet technology be used to spread scientific awareness among pakistan...
How internet technology be used to spread scientific awareness among pakistan...
 
Math assignment Program
Math assignment ProgramMath assignment Program
Math assignment Program
 
Final of sentences PPT
Final of sentences PPTFinal of sentences PPT
Final of sentences PPT
 
Advantages and disadvantages of LCD
Advantages and disadvantages of LCDAdvantages and disadvantages of LCD
Advantages and disadvantages of LCD
 
A history of windows
A history of windowsA history of windows
A history of windows
 
Lcd
LcdLcd
Lcd
 
Bluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPTBluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPT
 
Bluetooth PPT Report
Bluetooth PPT ReportBluetooth PPT Report
Bluetooth PPT Report
 
Computing assignment 02 ms access (bilal maqbool 10) se-i
Computing assignment 02   ms access (bilal maqbool 10)          se-iComputing assignment 02   ms access (bilal maqbool 10)          se-i
Computing assignment 02 ms access (bilal maqbool 10) se-i
 

Recently uploaded

Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
Mohammed Sikander
 

Recently uploaded (20)

Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Multithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race conditionMultithreading_in_C++ - std::thread, race condition
Multithreading_in_C++ - std::thread, race condition
 

An introduction to software

  • 1. An Introduction to Software Engineering
  • 2. Software engineering The economies of ALL developed nations are dependent on software. ● More and more systems are software controlled ● Software engineering is concerned with theories, methods and tools for professional software development. ● Expenditure on software represents a significant fraction of GNP in all developed countries.
  • 4. Software costs Software costs often dominate computer system costs. The costs of software on a PC are often greater than the hardware cost. ● Software costs more to maintain than it does to develop. For systems with a long life, maintenance costs may be several times development costs. ● Software engineering is concerned with cost effective software development.
  • 5. What is software? Computer programs and associated documentation such as requirements, design models and user manuals. ● Software products may be developed for a particular customer or may be developed for a general market. ● Software products may be Generic - developed to be sold to a range of different customers e.g. PC software such as Excel or Word. Bespoke (custom) - developed for a single customer according to their specification. ● New software can be created by developing new programs, configuring generic software systems or reusing existing software.
  • 6. What is software engineering? Software engineering is an engineering discipline that is concerned with all aspects of software production. ● Software engineers should adopt a systematic and organized approach to their work and use appropriate tools and techniques depending on the problem to be solved, the development constraints and the resources available
  • 7. What is the difference between software engineering and computer science? Computer science is concerned with theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software. ● Computer science theories are still insufficient to act as a complete underpinning for software engineering (unlike e.g. physics and electrical engineering).
  • 8. What is the difference between software engineering and system engineering? System engineering is concerned with all aspects of computer-based systems development including hardware, software and process engineering. Software engineering is part of this process concerned with developing the software infrastructure, control, applications and databases in the system. ● System engineers are involved in system specification, architectural design, integration and deployment.
  • 9. What is a software process? A set of activities whose goal is the development or evolution of software. ● Generic activities in all software processes are: Specification - what the system should do and its development constraints Development - production of the software system Validation - checking that the software is what the customer wants. Evolution - changing the software in response to changing demands.
  • 10. What is a software process model? A simplified representation of a software process, presented from a specific perspective. ● Examples of process perspectives are Workflow perspective - sequence of activities; Data-flow perspective - information flow; Role/action perspective - who does what. ● Generic process models Waterfall; Iterative development; Component-based software engineering.
  • 11. What are the costs of software Engineering? Roughly 60% of costs are development costs, 40% are testing costs. For custom software, evolution costs often exceed development costs. ● Costs vary depending on the type of system being developed and the requirements of system attributes such as performance and system reliability. ● Distribution of costs depends on the development model that is used.
  • 12. What are software engineering methods? Structured approaches to software development which include system models, notations, rules, design advice and process guidance. ● Model descriptions Descriptions of graphical models which should be produced; ● Rules Constraints applied to system models; ● Recommendations Advice on good design practice; ● Process guidance What activities to follow.
  • 13. What is CASE (Computer-Aided Software Engineering) Software systems that are intended to provide automated support for software process activities. ● CASE systems are often used for method support. ● Upper-CASE Tools to support the early process activities of requirements and design; ● Lower-CASE Tools to support later activities such as programming, debugging and testing.
  • 14. What are the attributes of good software? The software should deliver the required functionality and performance to the user and should be maintainable, dependable and acceptable. ● Maintainability Software must evolve to meet changing needs; ● Dependability Software must be trustworthy; ● Efficiency Software should not make wasteful use of system resources; ● Acceptability Software must accepted by the users for which it was designed. This means it must be understandable, usable and compatible with other systems.
  • 15. What are the key challenges facing software engineering? Heterogeneity, delivery and trust. ● Heterogeneity Developing techniques for building software that can cope with heterogeneous platforms and execution environments; ● Delivery Developing techniques that lead to faster delivery of software; ● Trust Developing techniques that demonstrate that software can be trusted by its users.
  • 16. The Software Crisis A software failure is a software project that has one or more of the following: • Over budget • Late • Does not satisfy user needs or expectations • Does not meet functional or performance requirements • Does not meet quality requirements
  • 17. Examples of Failures State of California: $40M DMV project $44M Prison software system $100M State child support system $10B FAA modernization project UK tax filing system
  • 18. The Software Crisis “The construction of new software, which is pleasing to both user and buyer and does not contain errors, is an unexpectedly hard problem. It is perhaps the most difficult problem in engineering today. Referred to as the “software crisis,” it has become the longest continuing crisis in the engineering world, and it continues unabated.” W. W. Royce 1929 - 1995
  • 19. What is causing software crisis? Software requirements do not adequately describe user needs or customer expectations  Project planning is frequently unrealistic, incomplete, or ignored.  Project cost and schedule estimates are underestimated or established by management edict  Software quality is difficult to specify, design, and build-to  Software development progress is difficult to see, progress is often unknown  Changes in requirements are not accompanied by changes in software plans  Design is changed without changing requirements  Standards are not used or documented
  • 20. Software Crisis “The tragedy of software engineering is not that we don’t know how to plan and conduct software projects, but that we know how and just don’t do it….” Richard E. Fairley