Systems Analysis and the Systems Development Life Cycle

(Followed by Alternative methods of systems development)

Information is an organizational resource which must be managed as carefully as other resources. Costs are associated with information processing. It must be managed to take full advantage of its potential.

A System is a combination of resources working together to transform inputs into usable outputs.

An Information System (IS)

An information system is an arrangement of people, data, processes, interfaces, networks, and technology that interact to support and improve both day-to-day operations (data processing, transaction processing), as well as support the problem-solving and decision-making needs of management (information services, management information systems, executive support).

  • Hardware – allows data to be entered, stored and accessed as required
  • Software – the user interface allowing the user to interact with the system. It allows the user to enter data and generate documents as needed by the business. It also processes the data to provide output for user
  • Procedures – the guidelines, rules and instructions that tell people how to perform a task (eg supermarket checkout operator follows procedures for scanning items, dealing with items that fail to scan, totalling bills, accepting payment and giving change)
  • Processes - the way in which tasks are actually carried out
  • People – the users of the system
  • Interfaces - how users interact with other parts of the system (computers, people etc)

A computer application is a computer-based solution to one or more business problems or needs. One or more computer applications are typically contained within an information system.

Systems Analysis and Design is a systematic approach to identifying problems, opportunities, and objectives; analyzing the information flows in organizations; and designing computerized information systems to solve a problem. Systems Analysts act as outside consultants to businesses, as supporting experts within a business, and as change agents. Analysts are problem solvers, and require good communication skills.

A problem is an undesirable situation that prevents the organization from fully achieving its purpose, goals, and objectives. An opportunity is the chance to improve the organization even in the absence of specific problems. (Some might argue that any unexploited opportunity is, in reality, a problem.) A directive is a new requirement imposed by management, government, or some external influence. (Some might argue that a directive until it is fully complied with is, in reality, a problem.)

Systems development is the activity of developing a new information system to serve organisational needs or to revise an existing one to solve business problems or to avail of new opportunities

Problems/Opportunities

Some problems/opportunities are external to the organisation while others are internal

A competitor can deliver orders faster

Inventory costs are too high

Need to deal more efficiently with customer queries

World price of oil increases as a result of war in Middle East

One country imposes a trade embargo against another state

There are many different methods of developing information systems to solve business problems such as the Systems Development Life Cycle (SDLDC) often referred to as the waterfall method, Prototyping, Rapid Application Development (RAD), Outsourcing and others. We will look at some of these methods now. Each has its own set of advantages and disadvantages with regard to systems development.

The Systems Development Life Cycle (SDLC)

The diagram shows the Waterfall method which is not exactly the same as the SDLC methodology but quite similar.

The SDLS is a systematic approach to developing an IS. It is a methodology that uses a series of well defined steps, each step calling for a specific set of tasks that are completed before going on to the next step. A set of deliverables is required at the end of each phase before advancing to the next phase or step.

Steps in the SDLC

Preliminary Investigation (Problem Identification)

System Analysis

System Design

Development

Implementation

Maintenance

Step 1 – Preliminary Investigation

Usually initiated by a user or manager in response to a problem/opportunity

The information problems or needs are identified

Can current system be upgraded or does it need replacement?

Looks briefly at how processes are currently carried out within the organisation

Makes suggestions for new or improved system to serve user's needs

It looks at the costs/benefits of implementing changes

The outcome of this phase is a document know as the Problem Definition

Step 2 – Systems Analysis

This is an in-depth study of the problem after the project has got management approval. The objective here is fact-finding. Systems analysis stage describes what a system should do to meet information requirements.

In order to prepare the systems proposal in an effective way, systems analysts must use a systematic approach to identify hardware and software needs, identifying and forecasting costs and benefits, and choosing the most appropriate alternative. It involves:

Data Collection

  • Interviews, observation, questionnaires, review existing documentation and examine current workflows and procedures

Data Analysis

  • Use of System Flowcharts, Data Flow Diagrams, Decision Tables and other tools

Conduct Feasibility studies

  • Technical - machinery, equipment, expertise etc
  • Economic - cost v benefit of system
  • Operational - what difference is it going to make to the operation of our business?

Preparation of the System Specification/Proposal

The purpose of all this data gathering and analysis is to determine the System Requirements and put them in a formal document for management approval. If approved it will form the basis for the design of the new system

Stage 3 – System Design

The phase when the new system is actually planned. There are 2 phases

Preliminary Design

It looks at some of the major aspects such as:

Distributed system v centralised system

Make or buy decision – packaged v custom software

Outsource or develop internally

Detailed Design

Involves a logical design stage and physical design stage

Logical design - Describes the inputs, outputs, processing functions, procedures to be followed, data models and definitions and controls of the system. It describes WHAT the system will do but is not concerned with how it is done

Physical design- Translates the logical design into the technical specifications required such as specifications for hardware, programs, input/output media needed, manual procedures, site requirements etc. The physical design is concerned with HOW the system works to serve the users' needs

Output requirements– the forms, reports, screen outputs etc that are needed by users. What are the documents that the system requires to be processed?

Input requirements – origins of data, data flows, data processing and storage

Database design – models, data definitions, volume of data, file organisation

Controls - Security controls and backup procedures, input controls, processing controls, output controls and data validation procedures

The outcome this stage is a Design Specification, which will be presented to management with a costing for the system

Stage 4 – System Development

The system development project has been approved and work can start on developing it which involves:

Acquisition of hardware, ensuring it is compatible with existing hardware if any

Programming – develop, purchase or outsourcing the software

Testing the system – debugging which involves

  • Unit testing - each piece of the system should work
  • System testing - the system as a whole should work
  • Volume testing - the system should be able to cope with the required workload or volume of both data and users

Preparing documentation of the system, user manuals, procedures documents

Stage 5 – Implementation

System Conversion

The installation procedures to be followed to convert from the old to the new system

File conversion – this involves putting all the necessary data into the new system

System conversion – the changeover from the old to the new system

  • Method of conversion to be used - a choice must be made between

Direct approach

Parallel approach

Pilot approach

Phased approach

User Training

Users must be trained in using the new system

Stage 6 – Maintenance

An audit is done comparing the system’s performance with the original design specification

All systems should be evaluated from time to time to see if they are meeting the goals they are designed to meet

Many systems fail because of lack of user training, user resistance to change, fear and anxiety about the new system

Projects developed using the SDLC tend to take a long time to develop (anything from 18 months to 5 years)

Alternative Methods to the SDLC for Developing IS

The SDLC is not the only method of information systems development. Because of the long time it takes to develop some organisations choose other methods. In many business situations it is not possible to wait so long for a new infotrmation system as the business opportunity may be lost or the competitive advantage hoped to achieve may not materialise. A system developed using the SDLC method could take anything from 18 months to years to develop and implement.

Because of this newer, faster alternative methods have emerged to get an IS up and running

Prototyping

A small-scale model of the system is built quickly. Users try it out and provide feedback to the systems analyst. The prototype is revised until users feel that it is ready. Only then is the full system built. Typically, the time taken for a system built in this way is shorter, but it is more difficult to manage and cost. This is an iterative processes where there is constant revision of the specifications for the system until it meets user requirements. The advantages are that is is fast and the end result is more likely to meet requirements.

Outsourcing

Hiring an outside agency to built an IS for your company. Some companies would not have the resources to have its own IT department. Even if is has it might decide to buy in some of its IT requirements

Advantages

Company can hire expertise that it does not have in-house

Said to be useful when an organisation has fluctuating needs for IS support and therefore it would be too costly to employ a full time IT department to service the need

The company can benefit from economies of scale (the outsource agency might be able to use certain program code in a number of projects)

The outside agency is in the know about what other companies are doing (but this could be a disadvantage also as secrets are harder to keep)

Disadvantages

The organisation gives over control of the IS project to an outside organisation

More difficult to gain a competitive advantage through innovative IS if it does not come from within the organisation

The organisation will not have the same understanding of how the system works as if they had developed it themselves

Need good support system from the software developer

Need a trustworthy partner

Trade secrets harder to guard

Rapid Application Development (RAD)

RAD (rapid application development) is a concept that products can be developed faster and of higher quality through:

  • Gathering requirements using workshops or focus groups
  • Prototyping and early, reiterative user testing of designs
  • The re-use of software components
  • A rigidly paced schedule that defers design improvements to the next product version
  • Less formality in reviews and other team communication

Involves the used of powerful development software such as CASE, small specialised teams and highly trained personnel to develop the system more quickly.

Customising Packaged Software Solutions

There is a lot of pre-packaged software available from software vendors. This is designed to suit about 70-80% of most user needs. It is possible to adapt some of this to user's needs if the system does not require something very special. However, it might cost a lost to change the 20% that does not suit

Application Service Providers (ASP's)

An ASP is a business that provides computer-based services to customers over a network. This is basically a specialist ISP, that offers a low cost packaged solution via their own Web site to any business that has the network capability to avail of it.

An ASP might provide a single type of application such as credit card payment processing. Alternatively, an ASP might deliver a solution package for a specific customer type, such as a dental practice. Some ASP's might deliver large-scale enterprise solutions.

PayPal is an instance of the use of an ASP by many businesses to process payment over the internet. The volume of payments was one way to lower the unit cost of each transaction.

How it works - The application software stays on the vendor's system and the client uses XML and HTML to interact with the software over a network.

Advantages

No software integration issues between users, software costs for the application are spread over a number of clients and vendors have more application experience in software development

Disadvantages

  • Software customization not possible except for very large clients
  • The client may rely on the provider to provide a critical business function which is risky
  • Dependency on the ASP provider

Page -1-The Systems Development Life Cycle