1.1.1 To identify the context for which a new system is planned.



Systems are designed and analyzed by systems analysts.
·          S/He looks at the existing system and tries document how it works through observation.
·          This can be done using surveys, interviewing users, observing them or by tracing how information is handled by looking at the documents produced by it.
Evaluation
Then the systems analyst must make an evaluation of the current system.
         What works fine, what doesn't?
         Based on this, he proposes a new system to be created that should work better than the old one, increasing productivity.
Factors
For this, the systems analyst has to factor in a number of things:
          What existing infrastructure from the existing system can be used?
          What requirements on hardware and software will the new system have?
          Are there any ethical issues resulting, for example will the new system make people redundant, leading to loss of jobs? Will people need retraining?
Before designing a new program, several steps are to be followed. First, you must find out what the problem is in the old program by observing. After finding the bugs and glitches you should test them out to find what problems they cause to the program and what faults to they create. When the testing is finished, an introduction of the problems and ideas of a new design should be shown to clients. They need to give permission to implementing the new design.
After getting permission for designing the new program, then starts the planning. Planning is mainly divided into 6 groups.
             1.     Efficiency – Trying to design the new program as efficient as possible with little bugs.
             2.    Authority - Making sure the program is not violating laws or copyrights.
             3.    Simplicity - Making the program more user friendly and simple.
            4.    Time and Management – Dividing the project into time and managing the different parts of the          program design.
    5.    Accuracy – Making sure the program is as accurate as the intended goal.
            6.    Compatibility – Testing to see if the program is compatible with the client’s software.