1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN1.1 INTRODUCTIONSystems are created to solve problems. One can think of the sys-tems approach as an organized way of dealing with a problem. Inthis dynamic world, the subject System Analysis and Design (SAD),mainly deals with the software development activities.1.2 OBJECTIVESAfter going through this lesson, you should be able to define a system explain the different phases of system development life cycle enumerate the components of system analysis explain the components of system designing1.3 DEFINING A SYSTEMA collection of components that work together to realize some objec-tives forms a system. Basically there are three major components inevery system, namely input, processing and output. Input Output Processing Fig. 1.1: Basic System Components
2 :: Computer Applications In a system the different components are connected with each other and they are interdependent. For example, human body represents a complete natural system. We are also bound by many national systems such as political system, economic system, educational sys- tem and so forth. The objective of the system demands that some output is produced as a result of processing the suitable inputs. A well-designed system also includes an additional element referred to as ‘control’ that provides a feedback to achieve desired objectives of the system. 1.4 SYSTEM LIFE CYCLE System life cycle is an organizational process of developing and main- taining systems. It helps in establishing a system project plan, be- cause it gives overall list of processes and sub-processes required for developing a system. System development life cycle means combination of various activi- ties. In other words we can say that various activities put together are referred as system development life cycle. In the System Analy- sis and Design terminology, the system development life cycle also means software development life cycle. Following are the different phases of system development life cycle: Preliminary study Feasibility study Detailed system study System analysis System design Coding Testing Implementation Maintenance The different phases of system development life cycle is shown in Fig. 1.2 below. System Study Maintenance Feasibility Study Software Implementation Development System Analysis Life Cycle Testing System Design Coding Fig. 1.2: Phases of System Development Life Cycle
Introduction to System Analysis and Design :: 3INTEXT QUESTIONS1. Write True or False for the following statements. (a) A collection of components that work together to realize some objectives forms a system. (b) System life cycle is not an organizational process of devel- oping and maintaining a system. (c) In the system analysis and design terminology the system development life cycle means software development life cycle. (d) Coding is not a step in system development life cycle. (e) System analysis and system design are the same phase of system development life cycle.1.5 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLELet us now describe the different phases and related activities ofsystem development life cycle.(a) Preliminary System StudyPreliminary system study is the first stage of system developmentlife cycle. This is a brief investigation of the system under consider-ation and gives a clear picture of what actually the physical systemis? In practice, the initial system study involves the preparation of a‘System Proposal’ which lists the Problem Definition, Objectives ofthe Study, Terms of reference for Study, Constraints, Expected ben-efits of the new system, etc. in the light of the user requirements.The system proposal is prepared by the System Analyst (who stud-ies the system) and places it before the user management. The man-agement may accept the proposal and the cycle proceeds to thenext stage. The management may also reject the proposal or re-quest some modifications in the proposal. In summary, we wouldsay that system study phase passes through the following steps: problem identification and project initiation background analysis inference or findings (system proposal)(b) Feasibility StudyIn case the system proposal is acceptable to the management, the
4 :: Computer Applications next phase is to examine the feasibility of the system. The feasibility study is basically the test of the proposed system in the light of its workability, meeting user’s requirements, effective use of resources and of course, the cost effectiveness. These are categorized as tech- nical, operational, economic and schedule feasibility. The main goal of feasibility study is not to solve the problem but to achieve the scope. In the process of feasibility study, the cost and benefits are estimated with greater accuracy to find the Return on Investment (ROI). This also defines the resources needed to complete the de- tailed investigation. The result is a feasibility report submitted to the management. This may be accepted or accepted with modifica- tions or rejected. The system cycle proceeds only if the manage- ment accepts it. (c) Detailed System Study The detailed investigation of the system is carried out in accordance with the objectives of the proposed system. This involves detailed study of various operations performed by a system and their rela- tionships within and outside the system. During this process, data are collected on the available files, decision points and transactions handled by the present system. Interviews, on-site observation and questionnaire are the tools used for detailed system study. Using the following steps it becomes easy to draw the exact boundary of the new system under consideration: Keeping in view the problems and new requirements Workout the pros and cons including new areas of the system All the data and the findings must be documented in the form of detailed data flow diagrams (DFDs), data dictionary, logical data struc- tures and miniature specification. The main points to be discussed in this stage are: Specification of what the new system is to accomplish based on the user requirements. Functional hierarchy showing the functions to be performed by the new system and their relationship with each other. Functional network, which are similar to function hierarchy but they highlight the functions which are common to more than one procedure. List of attributes of the entities – these are the data items which need to be held about each entity (record)
Introduction to System Analysis and Design :: 5(d) System AnalysisSystems analysis is a process of collecting factual data, understandthe processes involved, identifying problems and recommending fea-sible suggestions for improving the system functioning. This involvesstudying the business processes, gathering operational data, un-derstand the information flow, finding out bottlenecks and evolvingsolutions for overcoming the weaknesses of the system so as toachieve the organizational goals. System Analysis also includes sub-dividing of complex process involving the entire system, identifica-tion of data store and manual processes.The major objectives of systems analysis are to find answers for eachbusiness process: What is being done, How is it being done, Who isdoing it, When is he doing it, Why is it being done and How can it beimproved? It is more of a thinking process and involves the creativeskills of the System Analyst. It attempts to give birth to a new effi-cient system that satisfies the current needs of the user and hasscope for future growth within the organizational constraints. Theresult of this process is a logical system design. Systems analysis isan iterative process that continues until a preferred and acceptablesolution emerges.(e) System DesignBased on the user requirements and the detailed analysis of theexisting system, the new system must be designed. This is the phaseof system designing. It is the most crucial phase in the develop-ments of a system. The logical system design arrived at as a result ofsystems analysis is converted into physical system design. Normally,the design proceeds in two stages: Preliminary or General Design Structured or Detailed DesignPreliminary or General Design: In the preliminary or general de-sign, the features of the new system are specified. The costs of imple-menting these features and the benefits to be derived are estimated.If the project is still considered to be feasible, we move to the de-tailed design stage.Structured or Detailed Design: In the detailed design stage, com-puter oriented work begins in earnest. At this stage, the design ofthe system becomes more structured. Structure design is a blueprint of a computer system solution to a given problem having the
6 :: Computer Applications same components and inter-relationships among the same compo- nents as the original problem. Input, output, databases, forms, codi- fication schemes and processing specifications are drawn up in de- tail. In the design stage, the programming language and the hard- ware and software platform in which the new system will run are also decided. There are several tools and techniques used for describing the sys- tem design of the system. These tools and techniques are: Flowchart Data flow diagram (DFD) Data dictionary Structured English Decision table Decision tree Each of the above tools for designing will be discussed in detailed in the next lesson. The system design involves: i. Defining precisely the required system output ii. Determining the data requirement for producing the output iii. Determining the medium and format of files and databases iv. Devising processing methods and use of software to produce output v. Determine the methods of data capture and data input vi. Designing Input forms vii. Designing Codification Schemes viii. Detailed manual procedures ix. Documenting the Design (f) Coding The system design needs to be implemented to make it a workable system. This demands the coding of design into computer under- standable language, i.e., programming language. This is also called the programming phase in which the programmer converts the pro-
Introduction to System Analysis and Design :: 7gram specifications into computer instructions, which we refer to asprograms. It is an important stage where the defined procedures aretransformed into control specifications by the help of a computerlanguage. The programs coordinate the data movements and con-trol the entire process in a system.It is generally felt that the programs must be modular in nature.This helps in fast development, maintenance and future changes, ifrequired.(g) TestingBefore actually implementing the new system into operation, a testrun of the system is done for removing the bugs, if any. It is animportant phase of a successful system. After codifying the wholeprograms of the system, a test plan should be developed and run ona given set of test data. The output of the test run should match theexpected results. Sometimes, system testing is considered a part ofimplementation process.Using the test data following test run are carried out: Program test System testProgram test: When the programs have been coded, compiled andbrought to working conditions, they must be individually tested withthe prepared test data. Any undesirable happening must be notedand debugged (error corrections)System Test: After carrying out the program test for each of theprograms of the system and errors removed, then system test isdone. At this stage the test is done on actual data. The completesystem is executed on the actual data. At each stage of the execu-tion, the results or output of the system is analysed. During theresult analysis, it may be found that the outputs are not matchingthe expected output of the system. In such case, the errors in theparticular programs are identified and are fixed and further testedfor the expected output.When it is ensured that the system is running error-free, the usersare called with their own actual data so that the system could beshown running as per their requirements.(h) ImplementationAfter having the user acceptance of the new system developed, the
8 :: Computer Applications implementation phase begins. Implementation is the stage of a project during which theory is turned into practice. The major steps in- volved in this phase are: Acquisition and Installation of Hardware and Software Conversion User Training Documentation The hardware and the relevant software required for running the system must be made fully operational before implementation. The conversion is also one of the most critical and expensive activities in the system development life cycle. The data from the old system needs to be converted to operate in the new format of the new system. The database needs to be setup with security and recovery procedures fully defined. During this phase, all the programs of the system are loaded onto the user’s computer. After loading the system, training of the user starts. Main topics of such type of training are: How to execute the package How to enter the data How to process the data (processing details) How to take out the reports After the users are trained about the computerized system, working has to shift from manual to computerized working. The process is called ‘Changeover’. The following strategies are followed for changeover of the system. (i) Direct Changeover: This is the complete replacement of the old system by the new system. It is a risky approach and requires comprehensive system testing and training. (ii) Parallel run: In parallel run both the systems, i.e., computerized and manual, are executed simultaneously for certain defined period. The same data is processed by both the systems. This strategy is less risky but more expensive because of the following: Manual results can be compared with the results of the com- puterized system.
Introduction to System Analysis and Design :: 9 The operational work is doubled. Failure of the computerized system at the early stage does not affect the working of the organization, because the manual system continues to work, as it used to do.(iii) Pilot run: In this type of run, the new system is run with the data from one or more of the previous periods for the whole or part of the system. The results are compared with the old system results. It is less expensive and risky than parallel run approach. This strategy builds the confidence and the errors are traced easily without affecting the operations. The documentation of the system is also one of the most im- portant activity in the system development life cycle. This ensures the continuity of the system. There are generally two types of documentation prepared for any system. These are: User or Operator Documentation System DocumentationThe user documentation is a complete description of the systemfrom the users point of view detailing how to use or operate thesystem. It also includes the major error messages likely to be en-countered by the users. The system documentation contains thedetails of system design, programs, their coding, system flow, datadictionary, process description, etc. This helps to understand thesystem and permit changes to be made in the existing system tosatisfy new user needs.(i) MaintenanceMaintenance is necessary to eliminate errors in the system duringits working life and to tune the system to any variations in its work-ing environments. It has been seen that there are always some er-rors found in the systems that must be noted and corrected. It alsomeans the review of the system from time to time. The review of thesystem is done for: knowing the full capabilities of the system knowing the required changes or the additional requirements studying the performance.If a major change to a system is needed, a new project may have tobe set up to carry out the change. The new project will then proceedthrough all the above life cycle phases.
10 :: Computer Applications INTEXT QUESTIONS 2. Fill in the blanks. (a) System study is the _____________ stage of system develop- ment life cycle. (b) Analysis involves a ____________ study of the current sys- tem. (c) All procedures requirements must be analysed and docu- mented in the form of data flow diagrams, data dictionary, ___________ and miniature specifications. (d) _____________ is a blue print of a computer system. (e) In ___________ run the new system installed in parts. (f) In parallel run computerized and ____________ systems are executed in parallel. 1.6 WHAT YOU HAVE LEARNT In this lesson a systematic approach to solve any given problem is explained. Phases of system such as preliminary system study, detailed system study, system analysis, design, coding, testing, implementation and maintenance are explained. Computer based systems are defined. System development life cycle is discussed in detail. The different phases of the development of system are explained in detail. 1.7 TERMINAL QUESTIONS 1. Define a system. Explain the components of a system. 2. How do you explain system development life cycle? 3. Discuss the importance of system analysis and design in the development of a system. 1.8 KEY TO INTEXT QUESTIONS 1. (A) True (b) False (c) True (d) False (e) False 2. (a) first (b) detailed (c) logical data structure (d) structure design (e) pilot (f) manual