Chapter – 1System Analysis Fundamentals • Contents • Types of Systems • Role of the System Analyst • Systems Development Life Cycle • CASE Tools • Interviewing • Joint Application Development • Using Questionnaires
Introduction System An organized relationship among the functioning units or components, which work in synchronization to achieve a common goal. System Study A study of operations of a set of connected elements and the inter connections between these elements. It clearly shows that no one can ignore an element while doing a system study. System Approach Shows a set of procedure to solve a particular problem, It applies scientific methods to understand the inter relationship between the elements to solve the problem. System analysis It is a management exercise, which helps us in designing a new system or improving the existing system.
Characteristics of a System • Organization: It says the Structure or order of built. • Interaction: Procedure in which the components interact. • Interdependence. • Integration • Central Objective
Why are there different types of Information System? In the early days of computing, each time an information system was needed it was 'tailor made' - built as a one-off solution for a particular problem. However, it soon became apparent that many of the problems information systems set out to solve shared certain characteristics. Consequently, people attempted to try to build a single system that would solve a whole range of similar problems. However, they soon realized that in order to do this, it was first necessary to be able to define how and where the information system would be used and why it was needed. It was then that the search for a way to classify information systems accurately began.
How do you identify the different types of information system in an organization? The different types of information system that can be found are identified through a process of classification. Classification is simply a method by which things can be categorized or classified together so that they can be treated as if they were a single unit. The classification of information systems into different types is a useful technique for designing systems and discussing their application; it not however a fixed definition governed by some natural law. A 'type' or category of information system is simply a concept, an abstraction, which has been created as a way to simplify a complex problem through identifying areas of commonality between different things. One of the oldest and most widely used systems for classifying information systems is known as the pyramid model.
How many different kinds of Information System are there? Depending on how you create your classification, you can find almost any number of different types of information system. However, it is important to remember that different kinds of systems found in organizations exist to deal with the particular problems and tasks that are found in organizations. Consequently, most attempts to classify Information systems into different types rely on the way in which task and responsibilities are divided within an organization. As most organizations are hierarchical, the way in which the different classes of information systems are categorized tends to follow the hierarchy. This is often described as "the pyramid model" because the way in which the systems are arranged mirrors the nature of the tasks found at various different levels in the organization. For example, this is a three level pyramid model based on the type of decisions taken at different levels in the organization.
Figure – 1.1 Three level pyramid model based on the type of decisions taken at different levels in the organization
Figure – 1.2 Five level pyramid model based on the processing requirement of different levels in the organization
A comparison of different kinds of Information Systems Transaction Processing System (TPS) supports day to-day operations. Examples of TPS are order-entry systems, cheque processing systems, accounts receivable systems, accounts payable systems, payroll systems and ticket reservation systems. These systems help any company (organization) to conduct operations and keep track of its activities. TPS was first developed in the 1950s in accounting department of major corporations. It is the oldest type of information system.
Transaction Processing System (TPS) consist of all the components of a Computerized Business Information System) CBIS, which includes databases, people, procedure, software, hardware, devices and telecommunication used to process transaction. TPS were among the earliest computerized systems. Their primary purpose is to record, process, validate, and store transactions that take place in the various functional areas/of a business for future retrieval and use. A TPS is an information system that records company transactions (a transaction is defined as an exchange between two or more business entities).
Functions of a TPS TPS are ultimately little more than simple data processing systems. Functions of a TPS in terms of data processing requirements Table - 1.1 (Data processing requirement for TPS)
Some examples of TPS • Payroll systems • Order processing systems • Reservation systems • Stock control systems • Systems for payments and funds transfers The role of TPS • Produce information for other systems • Cross boundaries (internal and external) • Used by operational personnel and supervisory levels • Efficiency oriented
Office automation systems and knowledge work systems (OAS and KWS) This system comes under the knowledge level, and the knowledge level organization divides two classes of the system. First one is OAS which supports data workers, who will not create knowledge but make analysis of information, manipulation of information and transformation of information. The important aspects of OAS are communication through voice mail, word processing, spreadsheet, desktop publishing and video conferencing. And second one is KWS which support professional workers who are doctor, engineers, scientist etc, who create the knowledge by their own.
Management Information Systems The MIS is defined as a Computer based Information System. The MIS is defined as a system which provides information support for decision making in the organization. A collection of subsystems and related programme parts or modules that are interconnected in a manner which fulfils the information requirements necessary to plan, organise, direct and control business activities. The MIS is defined as a system based on the database of the organization developed with the purpose of providing information to the people in the organization. MIS is an Information System which is used to transform data into useful information as needed to support management decision making which is based on the predictable pattern of activities.
Functions of a MIS MIS are built on the data provided by the TPS. Functions of a MIS in terms of data processing requirements. Table - 1.2 (Data processing requirement for MIS)
Some examples of MIS Sales management systems Inventory control systems Budgeting systems Management Reporting Systems (MRS) Personnel (HRM) systems The role of MIS Based on internal information flows Support relatively structured decisions Inflexible and have little analytical capacity Used by lower and middle managerial levels Deals with the past and present rather than the future Efficiency oriented
Decision Support Systems DSS is an interactive computer based system which facilitates the solution of unstructured problems. DSS are interactive, computer based facilities for assisting human decision making. DSS supports complex decision making and increases its effectiveness. A Decision Support System can be seen as knowledge based system, used by senior managers, which facilitates the creation of knowledge and allow its integration into the organization. These systems are often used to analyze existing structured information and allow managers to project the potential effects of their decisions into the future.
Such systems are usually interactive and are used to solve ill structured problems. They offer access to databases, analytical tools, allow "what if" simulations, and may support the exchange of information within the organization. Functions of a DSS DSS manipulate and build upon the information from a MIS and/or TPS to generate insights and new information. Functions of a DSS in terms of data processing requirements.
Some examples of DSS Group Decision Support Systems (GDSS) Computer Supported Co-operative work (CSCW) Logistics systems Financial Planning systems Spreadsheet Models The role of DSS Support ill- structured or semi-structured decisions Have analytical and/or modeling capacity Used by more senior managerial levels Are concerned with predicting the future Is effectiveness oriented
Executive Information Systems ESS is management information systems tailored to meet the strategic information needs of top managements/senior executives. It summarizes and presents data at the highest levels of aggregation. The goal of computer based ESS is to provide top executives with immediate and easy access to selective information. Graphic displays are used extensively and immediate access to internal and external databases is provided. ESS combines features of information reporting systems and DSS.
Executive Information Systems are strategic-level information systems that are found at the top of the Pyramid. They help executives and senior managers analyze the environment in which the organization operates, to identify long-term trends, and to plan appropriate courses of action. The information in such systems is often weakly structured and comes from both internal and external sources. Executive Information System are designed to be operated directly by executives without the need for intermediaries and easily tailored to the preferences of the individual using them. .
Functions of an EIS EIS organizes and presents data and information from both external data sources and internal MIS or TPS in order to support and extend the inherent capabilities of senior executives. Table - 1.4 (Data processing requirement for ESS)
Some examples of EIS Executive Information Systems tend to be highly individualized and are often custom made for a particular client group; however, a number of off-the-shelf EIS packages do exist and many enterprise level systems offer a customizable EIS module. The role of EIS Are concerned with ease of use Are concerned with predicting the future Are effectiveness oriented Are highly flexible Support unstructured decisions Use internal and external data sources Used only at the most senior management levels
These expert systems have proven to be quite successful. Most applications of expert systems will fall into one of the following categories: • Interpreting and identifying • Predicting • Diagnosing • Designing • Planning • Monitoring • Debugging and testing • Instructing and training • Controlling
Benefits of Expert Systems • Increase the probability, frequency, and consistency of making good decisions • Help distribute human expertise • Facilitate real-time, low-cost expert-level decisions by the non expert • Enhance the utilization of most of the available data • Permit objectivity by weighing evidence without bias and without regard for the user’s personal and emotional reactions • Permit dynamism through modularity of structure • Free up the mind and time of the human expert to enable him or her to concentrate on more creative activities • Encourage investigations into the subtle areas of a problem
Artificial Intelligence There are many definitions of AI. The basic objective of AI is to represent humans' thought processes in computers. These machines are supposed to exhibit behavior that, if performed by a human being, would be considered intelligent. An alternate definition, not covered in the text is by Astro Teller: "Artificial intelligence (AI) is the science of how to get machines to do the things they do in the movies." On the other hand Wallace Marshal states that "Artificial stupidity (AS) may be defined as the attempt by computer scientists to create computer programs capable of causing problems of a type normally associated with human thought."
Artificial Intelligence can be considered as a science and technology whose goal is to develop computers that can think, see, hear, walk, talk and feel. A major thrust is the development of computer functions normally associated with human intelligence for example reasoning, inference learning and problem solving. Major areas of AI research and development include cognitive science, computer science, and robotics and natural language applications.
List the major AI technologies. Expert systems, natural language processing, robotics, speech understanding, speech (voice) recognition, computer vision and scene recognition, intelligent computer-aided instruction, neural computing, intelligent agents, automatic programming, translation of languages, and summarizing news can all be considered AI technologies. The major technologies are expert systems, neural networks, intelligent agents, fuzzy logic, and genetic algorithms.
System Analyst A system analyst is the person responsible for the development of software and hardware solutions for the efficient working of an organization. Analysts study the environment and problems of an organization to determine whether a new system can provide solutions to the problems. The main job of a system analyst is to provide right type of information, in right quantity at the right time in a cost effective manner to the management or the end user for successful running of an organization.
Role of a System Analyst • Defining IT requirements of the organization – role of consultant. • Setting priorities among requirements • Gathering data or facts • Analyzing and Evaluation • Problem solving – role of problem solver • Drawing specifications • Designing system – role of architects • Evaluating system – role of evaluator • System analyst as an agent of change • System analyst as a technician .
Role of a System Analyst System analyst plays an important role which is described in the following sections: 1. Defining IT requirements of the organization – role of consultant One of the most important and difficult task of an analyst is to understand the organization’s requirements for information. It involves interviewing users and finding out what information they use in the current system and how they use it. They are then asked what information they lack. In case, it is provided, how will that allow them to do their job better. Then, the analyst has to determine how such information can be generated, from the available inputs, or if some other inputs are to be collected. 2. Setting priorities among requirements In any organization, there are many types of users. Each user has different types of information needs. It may not be possible to satisfy the requirements of every one, due to limited availability of resources. So, it would be necessary to give priority to them. The priorities are to be set based on the urgency and importance of the user’s need.
3. Gathering data or facts For gathering data or facts, written documents are important because these documents represent the formal information flow in the system. The analyst studies documents such as input forms, output reports, invoices etc., to understand how data are passed and used in the present system. Analyst may consult the users for the existing reporting system for getting more information. Moreover, users must be made aware of what information they will get under new system and how they will make use of it. The analyst designing the new system must make use of the user’s long experience. While developing or designing a system, the analyst must continuously consult users and get their views, on various aspects of the system developments. 4. Analyzing and Evaluation After gathering facts, an analyst analyzes the working of the current system in an organization and finds out to what extent it meets user’s needs. The analyst tries to find the best characteristics of a new or modified system. .
5. Problem solving – role of problem solver System analyst helps IT users to solve their information problems. In that role, analyst must understand the problems and suggest solutions. The relative difficulties in implementing each of the alternatives and benefits of each must be determined so that the best solution may be selected. 6. Drawing specifications Main job of an analyst is to obtain the input and outputs (specification) for optimal functioning of a system yet to be developed. The system should be easily understood by users and make up benefits for the organization as a whole. The specifications must be non-technical as far as possible, so that the users and managers can understand them well. The specification should be precise and clear for easy implementation. 7. Designing system – role of architects Once specifications are accepted by the management, an analyst gets on to the design of the system. The design must be modular to accommodate changes easily. The analyst must be aware of the latest design tools for system design. As part of the design, he should create a test plan for the system. System analysts are also called architects because they design and implement new systems. .
8. Evaluating system – role of evaluator An analyst must critically test the performance of the designed system with specifications after it has been in use for a reasonable period of time. The time at which evaluation is to be done, how implementation is to be done, and how user’s comments are to be gathered. Analyst should have an open mind to accept valid criticism to carry out necessary improvements. 9. System analyst as an agent of change An analyst may be viewed as an agent of change, because analyst works towards the future of the organization which needs to change. Agent of change means a person who allows making change in decision for the development in the business. Agent of change is interacting with the user as well as the management to take a strong decision for devolving the plans. 10. System analyst as a technician System analyst works as a technician, because they have knowledge and skill in areas such as design, programming, data organization and so on.
System Development Life Cycle (SDLC) Software systems development is, from a historical perspective, a very young profession. The first official programmer is probably Grace Hopper, working for the Navy in the mid-1940s. More realistically, commercial applications development did not really take off until the early 1960s. These initial efforts are marked by a craftsman-like approach based on what intuitively felt right. Unfortunately, too many programmers had poor intuition. By the late 1960s it had become apparent that a more disciplined approach was required. The software engineering techniques started coming into being. This finally brings us to the SDLC.
The entire process of building, deploying, using and updating the an information system is called the system development life cycle (SDLC). • The basic idea of SDLC is that, it provides a well defined process by which a system is conceived, developed and implemented. • SLDC is categorized in two approaches: • Predictive approach • Adaptive(alter) approach
An SDLC has three primary business objectives: • Ensure the delivery of high quality systems; • Provide strong management controls; • Maximize productivity. • SDLC Requirements • The requirements for the SDLC fall into five major categories: • Scope • Technical Activities • Management Activities • Usability • Installation Guidance
Scope Requirements The SDLC must be able to support various project types, project sizes and system types. Technical Activities The technical activities fall into a number of major categories: System Definition (Analysis, Design, Coding) Testing System Installation (e.g., Data Conversion, Training) Production Support (e.g., Problem Management) Evaluating Alternatives
SDLC stages • Identifying problems, opportunities and objectives (Preliminary investigation) • Determining information requirements • Feasibility Study • Analyzing system needs • Designing recommended system • Developing and documentation of software • System testing • Implementation and evaluation • Maintenance
1. Identifying problems, opportunities and objectives (Preliminary investigation) • This is the initial stage of SDLC, in which analyst is concerned with identifying problems, requirements and objectives. Problem definition states the user requirements, or what the user expects out of the new system. This phase sets the project boundaries. It defines what parts of the system can be changes by the project and what parts of the new system are to remain without any change. This definition also includes a rough idea of the resource requirements for the project as well as the estimated start and completion time for each phase as well as the number of persons expected to be involved in each phase. In SDLC, problem identification helps in: • Pinpointing the problems • Setting proper system goals. • Determining the boundaries of the project by taking into consideration the limitations of the available resources.
2. Determining information requirements The next stage is information requirement; in this stage only users are involved because requirements can be collected from the users only. The information collection related to requirements can be done by using interactions with the user, by using any fact finding techniques like interviews, questionnaires so on. In the information requirement stage of SDLC, the analyst is needed to understand what kind of information is needed to user to execute their task.
3. Feasibility Study • Feasibility study for a system is undertaken to determine the possibility of either improving the existing system or developing a completely new system. This study helps to obtain overview of the problem and to get rough assessment of whether a feasible solution already exists. The purpose of feasibility study is to determine whether the requested project is successfully realizable. There are three aspects of feasibility study. These are: • Technical feasibility • Economic feasibility • Operational feasibility
Technical feasibility • Technical feasibility centers on the required/existing computer system (hardware/software) and to what extent it can support the proposed application. This study answers the following questions: • Whether the project can be carried out with the existing equipment? • Whether the existing project is good enough? • Can the work be done with the existing personnel? • If a new technology is required, how best can it be implemented? In short, technical feasibility needs to specifying equipment and software that will successfully support the new task.
Economic feasibility • Economic feasibility study is frequently used for evaluating the effectiveness of a new system. Cost benefit analysis is performed to determine the benefits and savings that are expected from the new system and thus compare them with costs. This study ascertains the following: • Whether the project is economically feasible? • If enough funds are not available, then what are likely sources of funds? • Whether there is sufficient number of benefits as compared to the costs incurred in designing of the new system.
Operational feasibility covers two aspects – (a) one is a technical performance aspect and the other is acceptance of the system within the organization. • Technical performance includes issues such as determining whether the system can provide the right information for the organization’s personnel, and whether the system can be organized so that it always delivers the information at the right place and right time. • Operational feasibility must determine how the proposed system will fit in with the current operations and what, if any, job reconstruction and re-training will be needed to implement the system. • The analyst should determine: • Whether the system can be used if it is developed and implemented? • Will there be resistance from users that will cripple the possible application benefit?
4. Analyzing system needs The next stage is analyzing system needs, the different tools and the techniques are used during analyzing the system needs. One of the important tools is data flow diagram. The data flow diagrams are used to get input and output in the graphical way. Further, data dictionary is created from DFD which is a repository of system data which consists of data items and their different specifications. During this stage, analyst can also make use of different structured tools available like decision table, decision tree and structure English.
5. Designing recommended system • In this stage system analyst collects all analyzed information from previous stages and build one logical design of information system. The purpose of this logical design is to allow analyst and user to see something concrete. This logical design shows the analyst and user how the system will look like. This design also include the physical design elements, describes the data to be inputted, the processes involved in the manipulation of data and the output. This system design phase includes the following steps: • The analyst should specify the file structures, storage devices and so on. • The database is also designed in this phase. • Input, output, files, forms and procedures are planned and designed. • Finally, standards for testing, documentation and system control are formulated.
6. Developing and documentation of software Development is the phase where detailed design is used to actually construct and build the system. In this phase, the system is actually programmed. Now, the analyst should decide whether to buy commercial software or to develop new customized programs with the help of programmers. The choice depends on the cost of the software and the cost of programming such software. In large organization the work is entrusted to programmers, whereas in small organizations, the job is assigned to outside organizations. Programmers are also responsible for documenting the programs. The documents should include comments that provide explanation of the procedures coded in the programs.