It is critical to define and understand the scope of each phase if you expect to manage the development process.
Analysis serves a very specific purpose. Define the resources that are required to support the problem domain whether or not you ever provide automation. Ask yourself, 'How would the users get their work done in a paper-only environment?' Focus exclusively on the problem domain and
- forget performance,
- technology, and
- all aspects of a solution
long enough to. Once you understand the need on this level, you'll be better prepared to evaluate design alternatives.
Programming is a process of problem solving. Different people use different techniques to solve problems. Some techniques are nicely outlined and easy to follow. They not only solve the problem, but also give insight into how the solution was reached. These problem-solving techniques can be easily modified if the domain of the problem changes. To be a good problem solver and a good programmer, you must follow good problemsolving techniques. One common problem-solving technique includes analyzing a problem, outlining the problem requirements, and designing steps, called an algorithm, to
solve the problem.
Algorithm: A step-by-step problem-solving process in which a solution is arrived at in a finite amount of time. In a programming environment, the problem-solving process requires the following three steps: