The first time the term "Software Engineering" was used was in a NATO conference in 1968.  Softwae Engineering is the design and development of high-quality software.  They should produce code that is robust, precise, easy to understand, use, and maintain and accomplishes its tasks efficiently and effectively.  Software Engineers use computers as problem solving tools.  There are two aspects of software engineering - research to improve the quality of products and practice to build high-quality products to perform useful functions.  Software must be measured to assess it quantitatively.  Software is found everywhere.  Toasters use software to determine how brown the toast should be and time it.  There is software in watches, automobiles, heart pacers, hearing aids, etc.

Problems in Software Engineering can be made easier to solve by breaking them smaller problems.  A larger problem can be considered as a collection of small problems.  This is the approach used in writing programs and is called the "Top Down" or "Step-wise refinement."  Each sub problem is then analyzed separately.  The solutions are then synthesized or put back together to attain a solution.  Some of the terms used in solving problems include:

Method or Technique a formal procedure for producing results.
Tool an instrument or automated system to accomplish something in a better way.
Procedure a combination of tools and techniques to produce a particular product.
Paradigm a particular approach or philosophy for building software.

What are the problems faced in writing software?  They may not work as they are designed to.  Programs may be faulty with erors in the code.  What is the difference between fault and failure?  An human error, such as misakes in coding can cause faults.  If caught in time, they can be rectified and cause no further harm.  A fault is how the developers of the system view it.  . 

 Anthony Wasserman