Module 3. System analysis and design 

Lesson 5

SYSTEMS DEVELOPMENT APPROACHES

5.1  Introduction

This lesson will introduce the concept of a system, elements, characteristics, classification of systems, various approaches for system development and role of system analyst in developing a system have been discussed in this lesson. Concept of dairy business as a system has also been elaborated in this lesson. These topics will develop an understanding about systems and existence of different type of systems in real world. It will help the students in studying and analyzing the existing business systems in dairy industry.

5.2  Definition of System

The word “system” is possibly the most overused word in our vocabulary and is used quite often in everyday life. Generally, we speak about political system, education system, human body system, social system, transportation system, banking system, computer system etc. The common feature, which all systems share is that they are collection of elements integrated to achieve the required goals. The term system is derived from Greek word systema, which means an organized relationship among functioning units or components. A system exists because it is designed to achieve one or more objectives. In present context, the word System can be defined as a group of interdependent components in an organized way, which works together to achieve one or more objectives as per specified plan. Interdependent components may refer to physical parts or managerial steps known as subsystem of a system. For example a dairy plant can be considered as a system in which various departments and sections are joined together for a common goal.

A system may be regarded as a set of entities or elements interacting among themselves in a certain pre-specified manner to process inputs and produce outputs (objectives) in a defined time period. Output of a system may be quantitative or qualitative. The concept of a system is shown in fig. 5.1 as given below:

Fig. 5.1 System with input and output

5.3  Characteristics of a System

As defined, a system is an organized relationship of various subsystems or components to achieve some objectives. For example, a computer system has a number of subsystems like Keyboard, Monitor, CPU, Mouse, etc. A Computer system is just an organized relationship of these subsystems in a planned way. These subsystems are also dependent of each other to achieve set targets. Thus the definition of a system suggests the following characteristics that are present in all systems.

·         Organization: This refers to a systematic order of components working together as per order to achieve centralized objective. It is the arrangement of subsystems in a specific structure and order that help to achieve objectives.

·         Interaction: This refers to the manner in which each subsystem functions, interacts or communicates with other components of the system. Special interfaces are designed to share data/ information among subcomponents.

·         Interdependence: It means that subsystems of a system are dependent on one another to achieve objectives of a system. This can be compared with a situation like a complex task which is divided into number of simple tasks (i.e. subsystems). Each simple task performs its work and produces output. Output of one task may become input of some other task. Like this a given complex problem is finally solved. Similarly in a system output of one subsystem may be an input of some other subsystem. These subsystems are coordinated and linked together according to a plan.

·         Integration: This refers to holistic view of the system that how different subsystems are tied together to achieve central objective. A Bottom up approach is followed to integrate subsystems.

·         Planned approach: In order to achieve centralized objectives, a system should work according to a planned approach. The planned approach is a set of pre-laid policies, procedures, rules, budget, strategies and schedules to achieve goals. 

·         Central objective: Each system is developed to achieve specified centralized objectives. All subsystems are developed and integrated to achieve centralized objectives keeping the unique identity of each subsystem. Each subsystem works independently and interacts with other subsystems. Each subsystem contributes something directly or indirectly in achieving the system objectives.

5.4  Elements of a System

In general an information system accepts input data and processes it to produce information as output for decision making. System is evaluated on the produced output and feedbacks are given to improve the system. A system has following key elements:

·         Output: One of the major objectives of a system is to produce an output that has value to its user. Nature of output may be goods, services, information etc. Output is outcome of processing and end result of the system.

·         Inputs: Inputs are the elements like material, manpower, data, information etc. that is entered into the system for processing.

·         Processor(s): Processor is the element of a system that involves actual transformation of input into output. It is an operational component of a system.

·         Control: Control element guides a system. It is a decision making subsystem that controls various activities of a system such as governing input, processing, and output. Control is achieved by correcting the deviation between output and standard.

·         Feedback: Control in a dynamic system is achieved by feedback. Feedback compares output of a system against performance standards and accordingly information is communicated to system for necessary action. This may yield to change in input or processing and consequently the output. 

·         Environment: Environment is a super system within which an organization operates. It is the source of external elements that affect a system. It often determines how a system should work. For example vendors, competitors, Govt. policies, tax department, etc. may provide constraints and consequently influence actual performance of the system.

·         Boundaries and interface: A system is defined by its boundaries – the limits that identify its components, processes, and interrelationships when it interfaces with another system. A system boundary indicates where one system ends and another starts. Generally boundaries between systems are not always clear cut. A complex system may have many interfaces with other systems. For example the market & sale section is concerned with sale of milk and milk products, collection of sale amount, determining demand of products in near future. This section is not concerned about how the products are being manufactured, manufacturing losses for production, etc.

5.5  Types of System

Systems have been classified in different ways. Common classifications are:

                    I.            Physical and Abstract System

                  II.            Deterministic and Probabilistic System

                III.            Open and Closed System

                IV.            Information System

5.5.1  Physical and abstract system

Systems can be categorized as physical and abstract systems. Physical system corresponds to concrete operational systems made up of tangible (i.e. physically available objects) entities such as people, materials, machines, and other physical things that may be static or dynamic in operation of a system. The physical systems display some activity or behavior. Elements of such system interact to achieve a common objective. For example physical parts of a dairy plant are equipment, employees, office establishment, furniture, building that facilitate operation of plant. These parts are more or less same and can be seen and counted, hence these are static. In contrast, daily receipt of milk, manufacturing of products per day, sale of products etc. keep on changing as per the need, hence these are dynamic.

Abstract systems are conceptual or non physical entities. These are an orderly arrangement of interdependent ideas or constructs which may or may not have any counterpart in real world. They may be as straight forward as formulas of relationships among sets of variables or models of an abstract conceptualization of physical situations. Model is representation of a real or planned system. For example set of instructions or procedure for manufacturing milk products (e.g. paneer, cheese, ice-cream etc.) is an example of abstract system. Steps involved in a procedure are an orderly arrangement of ideas to finally produce milk product. 

5.5.2  Deterministic and probabilistic system

Deterministic system is one in which occurrence of all events is perfectly predictable. In such systems, under given description of system state at a particular time of its operation, next state can be perfectly predicted. For example numerically controlled machine are deterministic in nature.

Probabilistic system is one in which occurrence of events cannot be perfectly predicted. Though behavior of such a system can be described in terms of probability, a certain degree of error is always attached to behavior prediction of the system. An example of such system is status of items in inventory, occurrences of a telephone call in a particular time period, average demand of milk product at a given point of time etc.

5.5.3  Open and closed system

Open systems are those systems which interact with its environment and have many interfaces with outer world. Thus these systems exchange information with the environment including random and undefined inputs. Open systems permit interaction across its boundaries; and receive inputs from and provide outputs. These systems are usually adaptive i.e. their interaction with environment is such that they change themselves according to situation which favour them to remain in existence for longer time. For example, information systems must adapt to the changing demands of users for its survival. A human being is also an example of open system. All organizations are generally open systems as they cannot work in isolation.

Closed systems are isolated from environmental influences i.e. they do not interact with its environment and do not adopt changes. Such systems are rare, but relatively closed systems are common. Systems that are relatively isolated from environment but not completely closed are termed as closed systems. A relatively closed system is one which controls its input and so is protected from environmental disturbances. For example a computer program is relatively closed system which processes predefined inputs in a predefined way. Closed or relatively closed systems are difficult to survive for a longer time since they do not interact with changing environment and will eventually die. 

5.5.4  Information system

Information about a subject helps in taking decision with higher confidence since it reduces uncertainty about a state or event. An information system is the basis for interaction between users at different level. An information system can be defined as a set of devices, procedures, and operating systems designed around user based criteria to produce information and communicate it to user for planning, control, and performance.

In order to work as an effective unit, an organization has to make use of information. An information system is often regarded as another subsystem. Information system provides information for decision and control and acts as linking mechanism between functional subsystems.  Major information systems are formal, informal, and computer based.

5.6  Illustration of Business of a Dairy Plant as a System

Organizations are complex systems that consist of interrelated and intertwine subsystems. Business of a dairy plant can be defined in system terms. The business set up of a dairy plant consists of various components like Milk procurement and billing, Processing of milk, Manufacturing of dairy products, Inventory of milk and milk products, Inventory of engineering parts, Marketing and Sale, Quality Control of dairy products, Manufacturing and handling losses, Accounting, HRD, R&D, etc.  All these components work together to enhance profit and produce good quality of milk products based on set procedures and rules of their interactions. It can be observed that each component (i.e. subsystem) stated above is a complete system within itself and these subsystems interact with each other to pass on necessary information for smooth functioning of each subsystem as well as the whole system. For example, marketing section determines the demand of a particular dairy product for next few days and this information is passed on to Production section to fulfill demand in the market. Changes in one part of system may yield anticipated and unanticipated consequences in other parts of the system. Thus the business of a dairy plant is a system which receives resources (capital, people, plant, milk, etc), process received milk and produces the milk products. Dairy plant interact with outside environment consumers demand, government agencies like pollution control board, income tax department, milk producers, etc., to make equilibrium in input and output.

5.7  System Development Approaches

Developing a successful information system for business application is a challenging task. System development process includes the activities like understanding, planning, designing, implementation and maintenance of systems. System development approaches have undergone reforms as per the changes in software development technology. Software technology has changed from modular to structure and now to object oriented technology. Basic goal in system development process is to produce high quality information system for solving business applications. It provides a framework that is used to structure, plan and control the process of developing a system. Various methods have been evolved and being practiced over the years. A few major methods are:

I.      System Development Life Cycle method (or traditional method))

II.      Structured Analysis Development method

III.      Waterfall method

IV.      Prototype method

V.      Spiral method

VI.      Object oriented Development method

Each of these methods has its own strengths and weaknesses. One method may not be suitable for all type of systems. It depends on technical nature of a system, organizational requirements, knowledge of developers etc. Basically all these methods follow either linear or iterative approach or combination of these two approaches for development of systems. In linear approach, above mentioned activities are followed in a sequence with or without overlapping of some activities to develop a system. In iterative approach, the activities may or not be repeated for improvement after getting users feedback.

5.7.1  System development life cycle

The most prevalent and important method for system development is System Development Life Cycle (SDLC) method. Though it is traditional method but still it holds good in any methodology or approach as it is generic term for system development. System development process has a life cycle just like a living system. Systems are conceived, designed, developed and maintained. Over a period, numbers of changes in the existing computer system are made to accommodate new requirements of users and technological developments that give a totally different look to the system which was conceived and developed in the beginning. This is a continuous process which shows that information systems are just like living systems which came into existence and after some time they die (i.e., replaced with new one).  System analysis and design are important factors of system development life cycle. For computer professionals, SDLC is a systematic method to develop a computer based system to solve a business or scientific problems in order to fulfill the needs of an organization or a customer. SDLC method helps to monitor the progress while the application development is in progress. This method monitors and controls system development beginning from fact gathering, designing, implementation and maintenance in cyclic way as a continuous process. There has been much criticism for this approach. However, other methods only supplement SDLC method rather than replace it. Different phases in SDLC are as follows:

·         Study and analysis phase

·         Systems design

·         System development

·         System implementation

·         System maintenance

System development and maintenance is a continuous process as long as the system exists as the organizational requirements keep on changing throughout the year. Business processes changes rapidly in globally competitive age, and most of the systems need to be replaced or significantly updated after few years of operation. The updated system looks like a new system different from original one. This completes life cycle of a system like living entities (from origin to death).  Fig. 5.2 shows all steps involved in SDLC method.

Cycle Diagram

Fig. 5.2 System development life cycle method

5.7.2  Structured analysis

Structured analysis is a traditional system development method which is time tested and easy to understand. This technique / methodology describe the system through a set of process models therefore; it is also known as process-centric method. System is viewed from perspective of data flowing through different processes. Function of a system is described by processes that transform data into useful information which leads to achieve the systems objectives. The system is decomposed into sub processes, sub processes into further sub processes and so on. This allows concentrating on the relevant part only by keeping other details aside. Process modeling identifies data flowing into a process, business rules that transform data to resulting output data. In addition to process modeling, structured analysis includes data organizations, database design and user interface design. Result of structured analysis is a set of related graphical diagrams, process descriptions, and data definitions. A variety of structured tools such as data flow diagram, decision table, decision tree, data dictionary, structured English are used to document the data items, data flow, logical complexities etc. All steps mentioned in SDLC are followed to develop a system in this method.

5.7.3  Waterfall method

This method follows SDLC approach for system development. System is divided into sequential phases and organized in linear order i.e. output of one phase becomes input of next phase. There may be some overlap and splash back between phases. Emphasis is given on planning, time schedules, target dates, budgets and implementation of an entire system at one time i.e. complete the system development and implementation at once. Tight schedule is maintained while developing a system in form of time table, documentation and approval of managers/ users at the end phases and before beginning the next phase. Fig. 5.3 shows all steps involved in Waterfall method.

Fig. 5.3 Waterfall method for system development (linear approach)

5.7.4  Prototyping method

This method is based on an iterative approach for system development. In this method, a prototype of the system i.e. a small working model of the system is developed instead of a complete system. Though, it is comprehensive system but does not include all requirements of users. This model is released to users at an early stage for trial and to understand the requirements before developing a complete system. This method is useful where users’ requirements are difficult to identify in the beginning and requirements may also change during system development process. The system is finally developed based on the advice and feedback of the users. This approach is centered towards user involvement in analysis as well as design phase to provide satisfactory system which reduces the chances of product rejection. The activities that are involved in SDLC are also taken care of in this approach but here the emphasis is on the involvement of user. The prototype model is based on the evolutionary method of system development as shown in fig. 5.4.

Fig. 5.4 Prototype model (iterative approach)

5.7.4.1  Reasons for developing a prototype system

·         High cost: System, involving high cost or high risk situation, will be most suited to prototyping approach as prototyping provides an opportunity to user for directly interacting in the process of system analysis and design. Consequently reduces cost of system development.

·         Information not well defined: Where information requirements are not well defined and the same gets identified and streamlined while working by the user in interactive mode, the prototyping provide a good opportunity to identify the system requirements in a better way.

·         Unknown information requirements: There may be a very unique situation when one has neither information nor experience of information requirements. The prototyping approach is a good process for giving a time to gain experience and identify information requirement.

5.7.4.2  Advantages

·         Users have opportunity to say about what they like the best and least features of the prototype model.

·         The chances of product rejection are less due to users’ involvements in system development process.

·         Requirements are identified in a better way following an iterative modification process until the users’ are satisfied.

5.7.5  Spiral method

This method is based on combination of linear and iterative approach for system development. A new element of risk analysis is added in this approach. The focus is on risk assessment and on minimizing system risk by breaking a system into smaller segments and providing more ease of change during development process as well as providing opportunity to evaluate risks and weigh consideration of system continuation throughout the life cycle. This method suggests that various activities involved in system development should be organized in spiral form. Each cycle of spiral consists of four stages namely planning, risk analysis, engineering and user evaluation. These stages are represented on four quadrants as shown in fig 5.5 given below. An angular dimension represents progress in the development process.

 

Fig. 5.5 Spiral method (combination of linear and iterative approach)

5.7.6  Object oriented analysis

Structured analysis treats processes and data as separate components, while Object Oriented Analysis (OOA) combines data and the processes that act on the data into things called objects. OOA method is used to model real world business processes and operations. In this method, the requirement of users are analyzed and understood from perspective of classes and objects found in the problem domain. Result is a set of software objects that represent people, things, transactions and events. Using object oriented programming language, a programmer transforms the objects into reusable code and components. An object is a member of a class, which is a collection of similar objects. Objects possess characteristics called properties, which it inherits from its class or possess on its own. This approach has following major phases:-

·      Object Oriented Analysis

·      Object Oriented Design

·      Object Oriented Testing

·      Implementation

5.8  Systems Analyst

A systems analyst is responsible for researching, planning and recommending software and system choices to meet an organization's business requirements. Task of a systems analyst is to identify needs and resource constraints and to translate these into a viable operation. A system analyst investigates, analyses, designs develops, installs, evaluates, and maintains an information system of an organization. To perform these tasks system analysts constantly interact with users and managers within and outside the organization. Systems analyst plays a vital role in analysis and design of a system or an application in any business/ scientific environment. Generally system analyst is supported by a team of IT department of the company.

A systems analyst studies the problems and needs of a business system to evaluate how business system and computer system can be used together to solve the problems and achieve higher profits in business. For studying and identifying the needs of an existing system or for developing a new system, an analyst has to perform the following tasks:

·         Collect and study the historical background of the organization.

·         Define business and system objectives.

·         Identify system requirements and their specifications keeping in view of future expansion and other business requirements.

·         Work out various alternative feasible solutions suiting to organizations resources;

·         Identify hardware and software requirements and their selection based on design recommended.

·         Design input and output procedures; data integrity rules, database, etc.

·         Develop complete system and testing procedure.

·         Implement, update, and maintain system till the system becomes workable solution in accordance with the system and business objectives.

To carry out the above mentioned activities, system analyst must have the following qualities and skills to play the role of investigator; change agent; system designer; IT expert; trainer and motivator etc.

5.8.1  Personal characteristics

·         Communication Skill

·         Quick assimilation and sharpness in understanding skills

·         Far sightedness and vision

·         Adaptability and Flexibility skills

·         Sound temperament, patience and rationality

·         Management skills

·         Leadership Quality

·         Training and Documentation capabilities

5.8.2  Technical skills

·         Application domain and IT Knowledge

·         Creativity

·         Project Management

·         Interdisciplinary interfaces

·         Technical Capability of questioning