IB Computer Science/Science Systems Life Cycle and Software Development/System Analysis

Importance of Formulating A Problem Precisely
In order to create a good solution it is vital to understand what the problem is, so that the solutions are all focused towards it. There might be team of specialists that work on the problem; and all of them must be fully concerned about the issue. Furthermore the user of the system often knows the matter perfectly and he must be interviewed so that he can provide a good description of his requirements. There is also an economic concern, since the cost of the system is directly proportional to the benefits it will provide, all this information should then be written in a feasibility report. Lastly the most important thing of all; a system must be tested continuously to see if it satisfies all the requests, it is not possible to test a system without knowing what it was supposed to do.

Aspects In A Considered Problem
Various aspects are to be considered in finding a solution to a specific problem. This initial phase of analysis in systems can also be called fact finding. The reasons for this analysis are for the purpose of determining what aspects of the problem can be solved by computer means, what solutions have been used in the past to solve a similar problem, or what the costs may be in generating a new solution. Additionally information can be found such as how much time it may take to install a new system, and the responsibilities given to various persons in the development team.

All of the information that must be obtained, as described above, can be found through conducting interviews, or sending out questionnaires to employees in a company for example. The development team may also look up a history of the organization to see what information is available about the current system through existing documents. Research into other sources with different solutions to a similar problem and the observation of employees working under the existing system can also be investigated. Obviously, these methods of analysis are used at the development team's discretion, since they all have advantages and disadvantages (see topic 1.2.3 for more)

Outcomes
It is likely that after the analysis stage a number of possible solutions will be made. Therefore a decision will need to be made on which is the most suitable solution and whether it is worth making the change.

If the decision is to go ahead with the change a detailed plan must be produced, tasks must be allocated, and a feasibility report must be created.

Parts That Can Be Solved Using A Computer
Not all problems that can be solved with a computer are feasible or cost effective once both hardware and software constraints have been taken into account.

Three Basic Control Aspects
In general, the three basic control aspects of the system will be:
 * Input
 * Process
 * Output

Analysation By Modules
Modular decomposition breaks down the problem into smaller components. We usually find the modules deal with inputs, processes and outputs.