SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
An Introduction to
Software
Engineering

Carlos G. Gavidia (cgavidia@acm.org)
Topics
• Computer Science vs. Software Engineering.
• Software Engineering and other Engineering
disciplines.
• Challenges of Software Engineering.
• Software development processes.
An Introduction to Software Engineering

WHAT’S SOFTWARE
ENGINEERING?
Software: A definition

“Software Systems are perhaps the most
intricate and complex … of the things humanity
makes.”
-Fred Brooks
Software engineering
• Has progressed very far in a short time:
– 50 years ago, most programming were done
by Scientists trying to solve mathematical
problems.
– Today, we build monstrous systems used
everywhere.
• But, software industry is in crisis:
– A software project overshoots its schedule
by a half.
– Three quarters of all large systems are
operating failures.
Computer Science: A definition
“Computer science is a discipline that involves
the understanding and design of computers and
computational processes. In its most general
form it is concerned with the understanding of
information transfer and transformation.
Particular interest is placed on making
processes efficient and endowing them with
some form of intelligence.”
-CSAB
Engineering: A definition
“The systematic and regular application of
scientific and mathematical knowledge to the
design, construction, and operation of machines, systems,
and so on of practical use and, hence, of economic
value. Particular characteristic of engineers is that they
take seriously their responsibility for correctness,
suitability, and safety of the results of their efforts.
In this regard they consider themselves to be responsible
to their customer (including their employers where
relevant), to the users of their machines and systems, and
to the public at large.”
-Robert Baber
Software Engineering as Engineering
• Practical use, economic value:
– We need to determine the content and build
the best product value.
• Responsibility for correctness, suitability and
safety:
– The work you do could impact the safety,
business and well being of the customer.
• Regular application of scientific and
mathematical knowledge:
– Computer Science, psychology, economics
and management
Software Engineering: A Definition

“Software engineering is the application of a
systematic, disciplined, quantifiable approach to
the development, operation, and maintenance of
software; that is, the application of engineering
to software”
-IEEE
An Introduction to Software Engineering

A PROCESS FOR MAKING
SOFTWARE
Software Development Practices

• Requirements
engineering
• High-level design
• Low-level design
• Coding
• Integration

•
•
•
•

Code reviews
Testing
Maintenance
Project
management
• Configuration
management
Software Development Practices
• You will learn MANY software development
practices.
• You’ll find:
– A practice is good for safety-critical
software.
– Another is better for small projects.
• Engineering is about selecting the most
appropriate method for a set of circumstances.
• You can use the practices and build a software
process with them.
Software Development Process
The process by which user needs are translated
into a software product. The process involves
translating user needs into software
requirements, transforming the software
requirements into design, implementing the
design in code, testing the code, and sometimes
installing and checking out the software for
operational use. Note: these activities might
overlap or be performed iteratively
- IEEE
Software process model

Plan Driven
The cost can be
minimized by
creating detailed
plans and by
constructing and
inspecting
architecture and
design documents.

Agile
Time is spent
planning and
gathering
requirements for
small iterations
throughout the
entire lifecycle of
the project.
An Introduction to Software Engineering

MAKING SOFTWARE IS
HARD
The programmer

The programmer, like the poet, works only
slightly removed from pure thought-stuff. He
builds his castles in the air, from air, creating by
exertion of the imagination.
-Frederick Brooks
Software Engineering Challenges
• Tractable Medium
– The constraints of physical medium can
serve to simplify alternatives.
• Changing requirements
– It is hard for customers to express what
they want in a product.
• Schedule Optimism
– We are an optimistic crew.
• Schedule Pressure
– Every product is late before it’s even started
Credits
Based on:A (Partial)
Introduction to
Software Engineering
Practices and Methods
• By Laurie Williams
• Available in:
http://agile.csc.ncsu
.edu/SEMaterials/C
oursePack.pdf

Más contenido relacionado

La actualidad más candente

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisischandan sharma
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt finalshiva krishna
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleGurban Daniel
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.pptJAYAPRIYAR7
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineeringJennifer Polack
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsHassan A-j
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering pptshruths2890
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 

La actualidad más candente (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Rad model
Rad modelRad model
Rad model
 
A presentation on software crisis
A presentation on software crisisA presentation on software crisis
A presentation on software crisis
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Unit1
Unit1Unit1
Unit1
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Iterative model
Iterative modelIterative model
Iterative model
 
The Software Development Process
The Software Development ProcessThe Software Development Process
The Software Development Process
 
1.1 The nature of software.ppt
1.1 The nature of software.ppt1.1 The nature of software.ppt
1.1 The nature of software.ppt
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Engineering ppt
Software Engineering pptSoftware Engineering ppt
Software Engineering ppt
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 

Destacado

Career guidance after bca
Career guidance   after bcaCareer guidance   after bca
Career guidance after bcaJIGAR MAKHIJA
 
Presentation on bhagat singh
Presentation on bhagat singhPresentation on bhagat singh
Presentation on bhagat singhSarfaraj_alam
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGProf Ansari
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1PRN USM
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)Bilal Amjad
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 

Destacado (8)

Career guidance after bca
Career guidance   after bcaCareer guidance   after bca
Career guidance after bca
 
Presentation on bhagat singh
Presentation on bhagat singhPresentation on bhagat singh
Presentation on bhagat singh
 
Bhagat Singh
Bhagat SinghBhagat Singh
Bhagat Singh
 
Bhagat Singh
Bhagat SinghBhagat Singh
Bhagat Singh
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
 
Graphical User Interface (Gui)
Graphical User Interface (Gui)Graphical User Interface (Gui)
Graphical User Interface (Gui)
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 

Similar a An introduction to software engineering

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMd.Nazmul Islam
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
Software engineering
Software engineeringSoftware engineering
Software engineeringnimmik4u
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdfJayanthi Kannan MK
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btechIIITA
 
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
 
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
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 

Similar a An introduction to software engineering (20)

Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdfMODULE 1 Software Product and Process_ SW ENGG  22CSE141.pdf
MODULE 1 Software Product and Process_ SW ENGG 22CSE141.pdf
 
SE
SESE
SE
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btech
 
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...
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.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
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 

Más de Carlos Gavidia-Calderon

What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...
What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...
What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...Carlos Gavidia-Calderon
 
Game-theoretic Analysis of Development Practices: Challenges and Opportunities
Game-theoretic Analysis of Development Practices: Challenges and OpportunitiesGame-theoretic Analysis of Development Practices: Challenges and Opportunities
Game-theoretic Analysis of Development Practices: Challenges and OpportunitiesCarlos Gavidia-Calderon
 
Segmentación de imágenes mediante algoritmos ACO
Segmentación de imágenes mediante algoritmos ACOSegmentación de imágenes mediante algoritmos ACO
Segmentación de imágenes mediante algoritmos ACOCarlos Gavidia-Calderon
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EECarlos Gavidia-Calderon
 

Más de Carlos Gavidia-Calderon (9)

What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...
What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...
What Do You Want From Me? Adapting Systems to the Uncertainty of Human Prefer...
 
Game-theoretic Analysis of Development Practices: Challenges and Opportunities
Game-theoretic Analysis of Development Practices: Challenges and OpportunitiesGame-theoretic Analysis of Development Practices: Challenges and Opportunities
Game-theoretic Analysis of Development Practices: Challenges and Opportunities
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Segmentación de imágenes mediante algoritmos ACO
Segmentación de imágenes mediante algoritmos ACOSegmentación de imágenes mediante algoritmos ACO
Segmentación de imágenes mediante algoritmos ACO
 
Paralelismo a nivel de Instrucciones
Paralelismo a nivel de InstruccionesParalelismo a nivel de Instrucciones
Paralelismo a nivel de Instrucciones
 
OpenUP como proceso de desarrollo
OpenUP como proceso de desarrolloOpenUP como proceso de desarrollo
OpenUP como proceso de desarrollo
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
Spring Web Services
Spring Web ServicesSpring Web Services
Spring Web Services
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 

Último

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

An introduction to software engineering

  • 1. An Introduction to Software Engineering Carlos G. Gavidia (cgavidia@acm.org)
  • 2. Topics • Computer Science vs. Software Engineering. • Software Engineering and other Engineering disciplines. • Challenges of Software Engineering. • Software development processes.
  • 3. An Introduction to Software Engineering WHAT’S SOFTWARE ENGINEERING?
  • 4. Software: A definition “Software Systems are perhaps the most intricate and complex … of the things humanity makes.” -Fred Brooks
  • 5. Software engineering • Has progressed very far in a short time: – 50 years ago, most programming were done by Scientists trying to solve mathematical problems. – Today, we build monstrous systems used everywhere. • But, software industry is in crisis: – A software project overshoots its schedule by a half. – Three quarters of all large systems are operating failures.
  • 6. Computer Science: A definition “Computer science is a discipline that involves the understanding and design of computers and computational processes. In its most general form it is concerned with the understanding of information transfer and transformation. Particular interest is placed on making processes efficient and endowing them with some form of intelligence.” -CSAB
  • 7. Engineering: A definition “The systematic and regular application of scientific and mathematical knowledge to the design, construction, and operation of machines, systems, and so on of practical use and, hence, of economic value. Particular characteristic of engineers is that they take seriously their responsibility for correctness, suitability, and safety of the results of their efforts. In this regard they consider themselves to be responsible to their customer (including their employers where relevant), to the users of their machines and systems, and to the public at large.” -Robert Baber
  • 8. Software Engineering as Engineering • Practical use, economic value: – We need to determine the content and build the best product value. • Responsibility for correctness, suitability and safety: – The work you do could impact the safety, business and well being of the customer. • Regular application of scientific and mathematical knowledge: – Computer Science, psychology, economics and management
  • 9. Software Engineering: A Definition “Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software” -IEEE
  • 10. An Introduction to Software Engineering A PROCESS FOR MAKING SOFTWARE
  • 11. Software Development Practices • Requirements engineering • High-level design • Low-level design • Coding • Integration • • • • Code reviews Testing Maintenance Project management • Configuration management
  • 12. Software Development Practices • You will learn MANY software development practices. • You’ll find: – A practice is good for safety-critical software. – Another is better for small projects. • Engineering is about selecting the most appropriate method for a set of circumstances. • You can use the practices and build a software process with them.
  • 13. Software Development Process The process by which user needs are translated into a software product. The process involves translating user needs into software requirements, transforming the software requirements into design, implementing the design in code, testing the code, and sometimes installing and checking out the software for operational use. Note: these activities might overlap or be performed iteratively - IEEE
  • 14. Software process model Plan Driven The cost can be minimized by creating detailed plans and by constructing and inspecting architecture and design documents. Agile Time is spent planning and gathering requirements for small iterations throughout the entire lifecycle of the project.
  • 15. An Introduction to Software Engineering MAKING SOFTWARE IS HARD
  • 16. The programmer The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. -Frederick Brooks
  • 17. Software Engineering Challenges • Tractable Medium – The constraints of physical medium can serve to simplify alternatives. • Changing requirements – It is hard for customers to express what they want in a product. • Schedule Optimism – We are an optimistic crew. • Schedule Pressure – Every product is late before it’s even started
  • 18. Credits Based on:A (Partial) Introduction to Software Engineering Practices and Methods • By Laurie Williams • Available in: http://agile.csc.ncsu .edu/SEMaterials/C oursePack.pdf