Reader Level:
Design Patterns & Practices

System Analyst: Part 2

By Nipun Tomar on May 05 2011
The System Analyst is an “IT Business Analyst” who selects and configures computer systems for an organization or business. He is the one who guides through the development of an information system.
    • Like
    • Love It
    • Awesome
    • Interesting
    • It's Okay
    • Thumbs Down
  • 15.5k
  • 0

Back to Part 1

Duties of a System Analyst:

To coordinate the efforts of all groups to effectively develop and operate computer based information systems is the main duty of the system analyst.
Here are some important duties of a systems analyst:

  • Prioritizing Requirements by Consensus:

    First and foremost duty of an analyst is to set priority among the requirements of various users. This can be achieved by having a common meeting with all the users and arriving at a consensus. In this duty good interpersonal relations and diplomacy is required. He must be able to convince all the users about the priority of requirements.
  • Defining Requirements:

    To understand the user's requirements is one of the most important and difficult duties of an analyst. And for that they use several fact-finding techniques like interview, questionnaire, and observation, etc.
  • Solving Problems:

    A Systems Analyst is basically a problem solver. It is a must that he study the problem in depth and suggest alternate solutions to management. Problem solving approach usually incorporates the following general steps:

    • Identify the problem
    • Analyze and understand the problem 
    • Identify alternative solutions and select the best solution.
  • Analysis and Evaluation:

    A systems analyst analyzes the working of the current information system in the organization and determines the extent to which they meet the user's needs. On the basis of facts and opinions, a systems analyst finds the best characteristics of the new or modified system which will meet the user's stated information needs.
  • Drawing up Functional Specifications:

    The key duty of a systems analyst is to obtain the functional specifications of the system to be designed. The specification must be non-technical so that users and managers understand it. The specification must be precise and detailed so that it can be used by system implementers.
  • Designing Systems:

    The analyst can only design the system if and only if specifications are accepted. And the design should be clear and attractive so that the implementer can understand those designs and easily implement them. The design must be modular to accommodate changes easily. An analyst must know the latest design tools to assist implementer in his task. He should create a system test plan.
  • Evaluating Systems:

    An analyst must critically evaluate a system after it has been in use for a reasonable period of time. The time, at which evaluation is to be done, how it is to be done and how user's comments are to be gathered and used must be decided by the analyst.

Qualifications of a System Analyst:

The skills that a system analyst should have are classified into the following:



An analyst must possess various skills to effectively carry out the job. Specifically, they can be divided, into following categories:


  • System Study:

To know what the system is? It is the first important skill of a systems analyst. Means that Systems Analyst should be able to identify work assignment as a system. In system study an analyst should identify each of the system's characteristics such as inputs, outputs, processes etc. Information systems can be seen as subsystems in larger organizational systems, taking input and returning output to their organizational environments.

Inputs, outputs, system boundaries, the environment, subsystems and inter-relationship are clearly illustrated in Data flow diagram. Purpose and constraints are much more difficult to illustrate and must therefore be documented using other notations. Overall, all elements of logical system description must address all characteristics of a system.

Organizational Knowledge: A person must understand how organization works whether he is an in-house (in traditional organization) or contract software developer (in modern organization). In addition he must understand the functions and procedures of the particular organization (or enterprise) for which he is working. Below are the selected areas of organizational knowledge for a systems analyst:
  1. How work officially gets done in a particular organization: Knowledge regarding the following is required in this area:

    • Policies
    • Job description 
    • Standards and procedures 
    • Formal organization structure 
    • Terminology, abbreviations and acronyms
  2. Understanding the organization's internal politics: Knowledge regarding the following is required in this area:

    • Influence and inclinations of key personnel
    • Finding the experts in different concerned subject areas 
    • Critical events in the organization's history 
    • Informal organization structure 
    • Coalition membership and power structures
  3. Understanding the organization's competitive and regulatory environment: Knowledge regarding the following is required in this area:

    • Government regulations
    • Competitors from domestic and international fronts 
    • Products, services and markets 
    • Role of technology
  4. Understanding the organization's strategies and tactics: Knowledge regarding the following is required in this area:

    • Short as well as long term strategy and plans
    • Values and missions.
  • Problem Identification:

The difference between an existing situation and a desired situation is defined as a problem. The process of identifying a problem is the process of defining differences. So, we can say that finding a way to reduce differences is known as problem solving. A manager defines differences by comparing the current situation to the output of a model that predicts what the output should be. The systems analyst must develop a repertoire of models to define the differences between what is present and what ought to be present. So that problems that need to be solved can be identified.

Problem Analysis and Problem Solving: After identifying the problem, systems analyst must analyze the problem and determine how to solve it. Analysis entails more about the problem. Systems analyst learns through experience, with guidance from proven methods, the process of obtaining information from concerned people as well as from organizational files and documents. As he seeks out additional information, he also begins to formulate alternative solutions to the problem. The next step is that the alternatives are compared and typically one is chosen as best solution. Once the analyst, users and management agree on the general suitability of a solution (feasibility), they devise a plan for implementing it.

Herbert Simon has first proposed this approach. This approach is similar to system development life cycle. According to him, this approach has four phases namely:
  • Intelligence: During this phase, all information relevant to the problem is collected.
  • Design: During this phase, alternatives are formulated.
  • Choice: During this phase, the best alternative solution is chosen.
  • Implementation: During this phase, the solution is put into practice.


Technical skills focus on procedures and techniques for operations analysis, systems analysis, and computer science. Technical skills include ability to understand how computers, data networks, databases, operating systems, etc. work together, as well as their potentials and limitations. In order to develop computer-based information systems, a systems analyst must understand information technologies, their potentials and their limitations. A systems analyst needs technical skills not only to perform tasks assigned to him/her but also to communicate with the other people with whom he works in systems development. The technical knowledge of a Systems Analyst must be updated from time to time.

In general, a Systems Analyst should be as familiar as possible with such families of technologies like:
  • Microcomputers, workstations, minicomputers, and mainframe computers,
  • Computer networks (LAN, WAN, VPNs, administration, security, etc.)
  • Operating systems (UNIX, Mac/OS, Windows)
  • Data Exchange Protocols (ftp, http, etc.)
  • Programming languages (C++, Java, XML, etc.)
  • Software applications (Office, project managements, etc.)
  • Information systems (databases, MISs, decision support systems)
  • System development tools and environments (such as report generators, office automation tools, etc.)
He should know all of the above as well as modern methods and techniques for describing, modeling and building systems.

Continue to Part 3