SlideShare a Scribd company logo
1 of 20
Download to read offline
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 - BasicsPurvik 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 EngineeringAnwarrChaudary
 
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 FrameworkJAINAM KAPADIYA
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSanthia RK
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSADEED AMEEN
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh 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 managementmeena466141
 

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 (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 Engineering in <40 Characters

Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringMohamed Essam
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineeringSHREEHARI WADAWADAGI
 
香港六合彩 » SlideShare
香港六合彩 » SlideShare香港六合彩 » SlideShare
香港六合彩 » SlideSharehcslenk
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩tnxaht
 
香港六合彩-六合彩
香港六合彩-六合彩香港六合彩-六合彩
香港六合彩-六合彩eqhnwl
 
六合彩,香港六合彩
六合彩,香港六合彩六合彩,香港六合彩
六合彩,香港六合彩bxuket
 
六合彩|香港六合彩
六合彩|香港六合彩六合彩|香港六合彩
六合彩|香港六合彩ohtpwshx
 
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.pptxLeahRachael
 
Se introduction lec 1
Se  introduction lec 1Se  introduction lec 1
Se introduction lec 1Amir Shahzad
 
Online Software development training
Online Software development trainingOnline Software development training
Online Software development trainingvibrantuser
 
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 .pptxssuserdee5bb1
 
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.pdfProf. 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 yearPreeti 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 yearPreeti Mishra
 
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
 

Similar to An Introduction to Software Engineering in <40 Characters (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 ツ

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) 2011Bilal Maqbool ツ
 
Programming assignment 30 12-11
Programming assignment 30 12-11Programming assignment 30 12-11
Programming assignment 30 12-11Bilal Maqbool ツ
 
Presentation internet programming report
Presentation internet programming reportPresentation internet programming report
Presentation internet programming reportBilal 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 ツ
 
Advantages and disadvantages of LCD
Advantages and disadvantages of LCDAdvantages and disadvantages of LCD
Advantages and disadvantages of LCDBilal 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-iBilal 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

Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 

Recently uploaded (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 

An Introduction to Software Engineering in <40 Characters

  • 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