SE2022_Lecture 01. Introduction_VuNQ_QuestionDrivenTeaching
SE2022_Lecture 01. Introduction_VuNQ_QuestionDrivenTeaching
Introduction to SE
• With this first topic, we need to discuss and answer the following questions:
- What is Software?
- Why software often has errors?
- How to build a good software?
- What is software engineering?
- And why do we need software engineering?
Topic 1. Introduction to SE
• Question 1: What is Software?
Software has become prevalent in all aspects of our lives
What is (computer) software?
• Software is not just the programs themselves but also all associated documentation, data, libraries, support
websites, and configuration files that are needed to make these programs useful.
Topic 1. Introduction to SE
• Question 2: Why software often has errors?
Nature of software development
• Development, not production.
• Human intensive.
• Engineering, but also social process.
• More and more complex software systems.
• Pervasive in an increasing number of industries.
Nature of software development (cond’t)
• Keep It Simple, Make It Valuable, Build It Piece by Piece
• You need to get value from your software project.
• You need it “free, now, and perfect.”
• We can’t get you there, but we can help you get to “cheaper, sooner, and
better.”
Errors
• Errors are a part of our daily life.
• Humans make errors in their thoughts, actions, and in the products that
might result from their actions.
• Errors occur wherever humans are involved in taking actions and
making decisions.
Software Error,
faults, failures
Everywhere …
Example 1