Project Life Cycle  «Prev  Next»
Lesson 4Problem analysis
ObjectiveDefine the purpose and scope of problem analysis.

Purpose Scope Problem Analysis

Problem analysis
Problem analysis

What is the scope of each phase that you expect to manage?

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
  1. forget performance,
  2. technology, and
  3. 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.

Problem Solving
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:
  1. Analyze the problem, outline the problem and its solution requirements, and design an algorithm to solve the problem.
  2. Implement the algorithm in a programming language, such as C++, and verify that the algorithm works.
  3. Maintain the program by using andmodifying it if the problem domain changes.

Problem analysis coding execution cycle
Problem analysis coding execution cycle

The purpose of problem analysis is to find and define the resources required by the problem domain.
These resources will become the information that the finished system will store, manipulate, and protect. People, supplies, facilities, and transactions are types of resources used to conduct business. Programs and technology are simply tools that facilitate the use of these resources. Although these tools change rapidly and continuously, the resources remain the foundation of the business.
Project Management Cycle

The scope of problem analysis

The sole task of the problem analysis phase is to discover the resources required by the problem domain. For each resource you discover, you then define its purpose and the interface it supports, that is, the services that it provides.
This very limited scope can be illustrated using a business exampleImagine that a flower shop is your problem domain. What information resources would the shop have to manage in order to conduct business successfully?
If you were to look around the flower shop office, you would probably find files representing customers, products, employees, equipment, suppliers, and facilities. Without these resources, the flower shop could not operate successfully; these resources are therefore required by the problem domain.

Outside the scope of problem analysis

Still using the flower shop as our example, would you expect to find files with references to programming languages, databases, user interfaces, or programs? Probably not. However important these items may be to an automated solution, they are not essential to the running of the business, and as such are outside the scope of the problem analysis phase.

Problem Analysis - Quiz

Before you move on, click the Quiz link below to take a short multiple-choice quiz.
Problem Analysis - Quiz

SEMrush Software