Course Code: 331
Lecture 01

A simple program

“Write a program to get a list of students’ test marks,
calculate the grades and print a report of the results”
Typical Approaches

 Go to the computer and immediately write the
program
 Find an old program and modify it
 Discuss with friends on how to do it
 Ask the lecturer for more information about the
program
Understanding the Problem


Understanding the Problem (2)


 Software Maintenance:
 20% error correction
 20% adaptation
 60% enhancements

 Belady and Lehman’s Laws:
 Software will continually change.
 Software will become increasingly unstructured as it is
changed.
What is Software
Engineering
 Software



 programs that provide function & performance
 data structures for information manipulation
 documents that describe the operations and use of the
programs

 Engineering
 A discipline that applies scientific and technical methods in
the design and production of a product
Definition of Software
Engineering



IEEE Definition:
The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software
Another Definition of
Software Engineering



The practical application of scientific knowledge in
the design and construction of computer programs
and the associated documentation required to
develop, operate, and maintain them. (Boehm).
Objectives of Software
Engineering



To improve quality of software products
To increase customer satisfaction
To increase productivity
To increase job satisfaction
Software engineering is not programming.
Programming is an important part of
software engineering.
“This is not a programming course”
Software Characteristics

 Software is developed or engineered, not
manufactured in the classical sense
 Software doesn’t “wear out”
 Most software is custom-built, rather than being
assembled from existing components

11
What Is A Good
Software?

 Software is intangible
 Good software is subjective
 Some qualities that are used to assess software:
 Correctness: a program satisfies its specifications.
 Reliability: a program satisfies its intended functions.
 Usability: the effort required to learn, operate, prepare input,
and interpret the output.
 Integrity: Control of access to unauthorized persons.
What Is A Good
Software continue?


 Efficiency: amount of computing resources required.
 Maintainability: effort required to locate and fix
errors in an operational programs.
 Portability: required effort to transfer a program
from one hardware/software environment to
another.
 Testability: required effort to test a program to
ensure its performing its intended functions.
 Interoperability: effort required to couple programs.
 Reusability: reuse of programs in other applications.
Software Applications

 System Software
 Real-time Software
 Business Software
 Engineering & Scientific Software
 Embedded Software
 Personal Computer Software
 Artificial Intelligence Software
Challenges

 Why does it take so long to get software finished?
 Why are the development costs so high?
 Why can’t we find all errors?
 Why do we spend so much time and effort
maintaining existing programs?
 Why is it difficult to measure progress?

More Related Content

PPTX
Software Engineering - Lecture 02
PPT
Lecture 5 software process model (3)
PPT
Chapter 01
PPT
Ch02 process a generic view
PPT
Ch03-Software Engineering Model
PPT
Slides chapter 2
PDF
Software Engineering - Basics
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
Software Engineering - Lecture 02
Lecture 5 software process model (3)
Chapter 01
Ch02 process a generic view
Ch03-Software Engineering Model
Slides chapter 2
Software Engineering - Basics
Software engineering a practitioners approach 8th edition pressman solutions ...

What's hot (20)

PPTX
Software Process Model
PPT
Chapter 01 software engineering pressman
PPT
Slides chapter 3
PPT
Slides chapters 26-27
PPT
The Software Development Process
PPT
Lecture 3 software process model
PPTX
System Development Life Cycle
PPT
Lecture 2 introduction to Software Engineering 1
PPTX
Software Engineering Layered Technology Software Process Framework
ODP
Evolutionary process models se.ppt
PPTX
Sdlc model
DOCX
Software engineering
PPTX
PPTX
Software life cycle comparison
PPS
testing
PPTX
Software Process Models
PPTX
7 stages of system Development life cycle ppt
PPTX
Software Development Methodologies
PPT
Process models
PPTX
Generic Software Process Models
Software Process Model
Chapter 01 software engineering pressman
Slides chapter 3
Slides chapters 26-27
The Software Development Process
Lecture 3 software process model
System Development Life Cycle
Lecture 2 introduction to Software Engineering 1
Software Engineering Layered Technology Software Process Framework
Evolutionary process models se.ppt
Sdlc model
Software engineering
Software life cycle comparison
testing
Software Process Models
7 stages of system Development life cycle ppt
Software Development Methodologies
Process models
Generic Software Process Models
Ad

Viewers also liked (6)

PDF
Computer Network PDF - Course Material 2013
PPTX
Metrics for project size estimation
PPT
3.1.2 classification of network
PPTX
Computer Science & Information Systems
PDF
Fifty Features of Java EE 7 in 50 Minutes
PPTX
Introduction To Software Engineering
Computer Network PDF - Course Material 2013
Metrics for project size estimation
3.1.2 classification of network
Computer Science & Information Systems
Fifty Features of Java EE 7 in 50 Minutes
Introduction To Software Engineering
Ad

Similar to Software Engineering - Lecture 01 (20)

PDF
Software Engineering and Introduction, Activities and ProcessModels
PPTX
Lecture 1 SE.pptx
PPTX
01 fse software&sw-engineering
PDF
Software Engineering Overview
PPTX
Soft.Engg. UNIT 1.pptx
PPTX
SoftwareEngineering.pptx
PPTX
SoftwareEngineering.pptx
PPTX
Software--and--Software-Engineering.pptx
PPTX
Chapter 1 1 - intro ppt
PPTX
Unit 1 Software Engineering and Development Models .pptx
DOC
Chapter1
PPTX
Software engineering chapter 1 ppt presentation of se
PPTX
Lecture-1,2-Introduction to SE.pptx
PDF
M017548895
PDF
Software Engineering Basics.pdf
PDF
Software engineering BCA programming it is simple manufacturer was in to a ho...
PPT
Introduction to software engineering ppt
PPT
se01.ppt
PPTX
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Software Engineering and Introduction, Activities and ProcessModels
Lecture 1 SE.pptx
01 fse software&sw-engineering
Software Engineering Overview
Soft.Engg. UNIT 1.pptx
SoftwareEngineering.pptx
SoftwareEngineering.pptx
Software--and--Software-Engineering.pptx
Chapter 1 1 - intro ppt
Unit 1 Software Engineering and Development Models .pptx
Chapter1
Software engineering chapter 1 ppt presentation of se
Lecture-1,2-Introduction to SE.pptx
M017548895
Software Engineering Basics.pdf
Software engineering BCA programming it is simple manufacturer was in to a ho...
Introduction to software engineering ppt
se01.ppt
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING

Recently uploaded (20)

PDF
HVAC Specification 2024 according to central public works department
PDF
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
PDF
Literature_Review_methods_ BRACU_MKT426 course material
PDF
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
PDF
Skin Care and Cosmetic Ingredients Dictionary ( PDFDrive ).pdf
PDF
semiconductor packaging in vlsi design fab
PDF
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
PDF
Journal of Dental Science - UDMY (2022).pdf
PDF
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
PDF
Everyday Spelling and Grammar by Kathi Wyldeck
PDF
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
PDF
Journal of Dental Science - UDMY (2020).pdf
PPTX
RIZALS-LIFE-HIGHER-EDUCATION-AND-LIFE-ABROAD.pptx
PDF
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
PPTX
INSTRUMENT AND INSTRUMENTATION PRESENTATION
PPTX
Core Concepts of Personalized Learning and Virtual Learning Environments
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PDF
IP : I ; Unit I : Preformulation Studies
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PDF
International_Financial_Reporting_Standa.pdf
HVAC Specification 2024 according to central public works department
LIFE & LIVING TRILOGY - PART (3) REALITY & MYSTERY.pdf
Literature_Review_methods_ BRACU_MKT426 course material
Myanmar Dental Journal, The Journal of the Myanmar Dental Association (2013).pdf
Skin Care and Cosmetic Ingredients Dictionary ( PDFDrive ).pdf
semiconductor packaging in vlsi design fab
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
Journal of Dental Science - UDMY (2022).pdf
MICROENCAPSULATION_NDDS_BPHARMACY__SEM VII_PCI Syllabus.pdf
Everyday Spelling and Grammar by Kathi Wyldeck
fundamentals-of-heat-and-mass-transfer-6th-edition_incropera.pdf
Journal of Dental Science - UDMY (2020).pdf
RIZALS-LIFE-HIGHER-EDUCATION-AND-LIFE-ABROAD.pptx
LIFE & LIVING TRILOGY- PART (1) WHO ARE WE.pdf
INSTRUMENT AND INSTRUMENTATION PRESENTATION
Core Concepts of Personalized Learning and Virtual Learning Environments
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
IP : I ; Unit I : Preformulation Studies
AI-driven educational solutions for real-life interventions in the Philippine...
International_Financial_Reporting_Standa.pdf

Software Engineering - Lecture 01

  • 2.
  • 3. A simple program  “Write a program to get a list of students’ test marks, calculate the grades and print a report of the results”
  • 4. Typical Approaches   Go to the computer and immediately write the program  Find an old program and modify it  Discuss with friends on how to do it  Ask the lecturer for more information about the program
  • 6. Understanding the Problem (2)   Software Maintenance:  20% error correction  20% adaptation  60% enhancements  Belady and Lehman’s Laws:  Software will continually change.  Software will become increasingly unstructured as it is changed.
  • 7. What is Software Engineering  Software   programs that provide function & performance  data structures for information manipulation  documents that describe the operations and use of the programs  Engineering  A discipline that applies scientific and technical methods in the design and production of a product
  • 8. Definition of Software Engineering  IEEE Definition: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software
  • 9. Another Definition of Software Engineering  The practical application of scientific knowledge in the design and construction of computer programs and the associated documentation required to develop, operate, and maintain them. (Boehm).
  • 10. Objectives of Software Engineering  To improve quality of software products To increase customer satisfaction To increase productivity To increase job satisfaction Software engineering is not programming. Programming is an important part of software engineering. “This is not a programming course”
  • 11. Software Characteristics   Software is developed or engineered, not manufactured in the classical sense  Software doesn’t “wear out”  Most software is custom-built, rather than being assembled from existing components 11
  • 12. What Is A Good Software?   Software is intangible  Good software is subjective  Some qualities that are used to assess software:  Correctness: a program satisfies its specifications.  Reliability: a program satisfies its intended functions.  Usability: the effort required to learn, operate, prepare input, and interpret the output.  Integrity: Control of access to unauthorized persons.
  • 13. What Is A Good Software continue?   Efficiency: amount of computing resources required.  Maintainability: effort required to locate and fix errors in an operational programs.  Portability: required effort to transfer a program from one hardware/software environment to another.  Testability: required effort to test a program to ensure its performing its intended functions.  Interoperability: effort required to couple programs.  Reusability: reuse of programs in other applications.
  • 14. Software Applications   System Software  Real-time Software  Business Software  Engineering & Scientific Software  Embedded Software  Personal Computer Software  Artificial Intelligence Software
  • 15. Challenges   Why does it take so long to get software finished?  Why are the development costs so high?  Why can’t we find all errors?  Why do we spend so much time and effort maintaining existing programs?  Why is it difficult to measure progress?