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. .