Lecture 3 Introduction to Software Engineering
Lecture 3 Introduction to Software Engineering
1. Software specification
The specification of a software system is one of the most important abstract
documents that connect the customer and the engineering team.
The customer uses the specification to really capture what they want the system to
do upfront, what behavior they want to have and what properties the system
should exhibit.
The engineering team interpret this document from the customer to come up with
their designs and implementation to support the features that are requested by the
customer.
In summary it is an abstraction of what the system will be at the end.
2. Software Requirements:
Capturing requirements is an important part of the specification process. It involves
gaining knowledge on what is needed from the system.
3. Software Testing
Software Testing is the most important part of the Software Development Life
Cycle (SDLC). One cannot release the final product without passing it through the
testing process. In this phase, the program under test is executed to reveal faults,
and after detecting failures, debugging techniques are applied to isolate and
remove faults.