Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 14

1

CHAPTER 3: INTRODUCTION TO INFORMATION SYSTEMS DEVELOPMENT

2.1 Systems Development


A lot of experience has been gained and tools, techniques and methods developed for analysis and
development of systems. There are good systems and bad systems defined by their quality. Quality is a
relative term that normally refers to the expectations of the customer and standards defined by an
organization.

A methodical approach to software development produces faster results, efficient programs and better
quality product. This suggests good project management that will plan, and control the team, cost, time
and quality of the product.

System development has been done using two broad approaches, namely:
a) Adhoc method:
Quick and dirty, ‘smart programmer’ but not maintainable.
b) Systematic approach:
To create a good and effective system.

Adhoc method
The adhoc method is sometimes called the “smart programmer”, who creates an application as
required within a short time. However, there is no systematic method or planning and does not
have proper documentation. It gives a program that is difficult to debug, difficult to maintain and
cannot be corrected by other people. The end result is that the software is abandoned and created
again. System development should be done by a team using specific formal methods that are
understood and corrections can be done using the standard documentation.

Systematic (formal)
Systematic methods use well known methods and techniques with proper documentation in order
to ensure the quality of the software product. They make use of project management to control the
project time, budget and quality.

Some of the limitation/drawbacks of using unstructured methods are:

a) Investment capital:
Normally much more than expected. If not properly set may be abandoned half way or if
completed may not be used at all.
b) Time scale:
Normally overshoots beyond the expected time thereby increasing the cost of project.
c) Expected benefits not realized/achieved:
Functions that do not address the expected needs of users especially if there was no adequate
consultation and agreement with the users.
d) Installation setbacks:
The software does not work as expected due to many errors and takes long to correct.
e) Maintenance:
Changes in the software to improve or add other functions may have high costs if the design was
not properly tested.
2

The problems associated with bad project planning and control may lead to the project being abandoned
after using a lot of resources. A good project strategy is to include users in the development cycle and
use systematic methods that will manage the project as planned within the constraints of budget, time
and resources.

2.2 Software development approaches


Methods used in software development may be categorized into several broad approaches sometimes
referred to as methodologies/paradigms.

A methodology may be described as a set of methods or a paradigm used in systems analysis and
design, and which have similar characteristics in different systems.

Some of the common methodologies or approaches are:

a) Structured methods:
Are process and data oriented models where the process is assumed to be stable. They offer a
range of techniques and tools to develop the new system within a given framework. They
emphasize more on processing rather than data. They have defined an overall structure which
ensures consistent and completeness of the project.
b) Information Engineering:
Are data centered models. Data is regarded as a resource in an organization. It adopts a strategic
approach by using an organization wide corporate data models and in integrated approach to
development of individual systems.
c) Soft systems:
Unlike the first two, which may be well-structured and defined this approach assumes that the
problem is normally ill-defined and considers both the social aspects and technical aspects. The
methods require more user participation especially in the analysis stage. The methods use
techniques such as of rich pictures to enhance understanding between user and analyst, which
was introduced by Peter Checkland.
d) Object oriented model:
Uses objects, which is a composite that comprise the data and the process.

Different approaches use different steps in breaking down the system and design. Each Approach also
provides supporting methods, techniques and tools to ensure the system is done in short time, cheap of
good quality.

2.21 Software development methods


A method defines the steps and tools used in the analysis and design process.
Methods provide ways of partitioning problem for analysis and construct abstract models to help the
user/designer to understand the system requirements.
A group of methods with similar characteristics is called a software development approach. The name
method is sometimes used to mean methodology and vise versa although the term methodology is wider
in scope than a method.

2.3 Structured methods.


Structured methods were developed in the 1970s and were organized around functional operations of a
system. They assume that the process or procedures in an organization are stable and the stored data is
used to support the processes.
3

Some characteristics of structured methods are:

 They are generic techniques that are process and data oriented.
 They follow a top-down function hierarchical decomposition
 They involve the user in review throughout the project
 Separates design into the logical and physical design
 Uses more diagrammatic and less text-based documentation
 Provides a mechanism for project planning, management and control
 Allows for quality control checkpoints.

There are many methods under category and there are no defined hard rules as to the limits of methods
as they keep on improving with time. Some of the common structured methods are:

a) Structured systems analysis and design methodology (SSADM)


b) Structured analysis, design and implementation of information systems (STRADIS)
c) Jackson system development (JSD) and the Jackson structured programming(JSP)
d) Yourdon systems method (YSM)

2.31 SSADM

One of the common structured methods used in development of software products is the SSADM.
Characteristics of the SSADM method. These are:

i) Hierarchical method:
Use a top-down view in the development cycle to get the overall development picture.
ii) Iterative:
Each step may be repeated when necessary according to the structured development life
cycle.
iii) System modeling:
The system is modeled using:
 Process modeling using data flow diagrams, DFDs.
 Data modeling using entity-relationship, E-R models
 Effect of time on the system data models using entity life history, ELH.
iv) Design:
Uses physical and logical design of the system
v) Documentation:
A set of full documentation that is produced as part of the analysis and design. This is very
important in the maintenance stage.

Each method uses a set of tools and techniques to make the development task easier and faster. Some of
these techniques are discussed in the next section.

2.32 Techniques
A methodology
Refers to all aspect of software development including people and management.
4

It defines what is to be done, how is to be done and who will do what in the entire development life
cycle of the software development.
A method is the set of tools and techniques used in development of a software product.
Techniques are set of tools for performing a particular job or function in the development stages of
method.
Method can therefore employ different sets of techniques used in the different stages are shown in table
2.1 below:

Table 2.1 Techniques used in SSADM


Structured methods-SSADM Techniques
Fact gathering analysis  Tree diagrams
 Record analysis
 Observation
 Questionnaires
 Interviewing
Project planning  Gantt/GASP charts
 Network diagrams
Process modeling  Flow charts
Physical modeling  Data flow diagrams (DFD)
Logical modeling  Logical data structures (LDS)
 Entity relationships (E-R) diagrams
 Bubble charts
Design  Data flow diagrams
Process modeling  Logical data structures
Data modeling  Elementary process diagrams
 Entity-relationship (E-R) diagrams
 JSP program structures
 Entity life history (ELH)
 State transition diagrams.

2.4 The software development life cycle models

The software development life cycle (SDLC) is the set of steps or activities in the development of a
software product. The software development can be implemented using several models. Some of which
are given below:

1. Waterfall or linear model


2. Prototyping
3. Evolutionary or spiral model
4. The V-shaped model

2.41The waterfall model


This is traditional method that assumes discrete sequential development stages and that one stage is
completed before the next stage of development. The output of one stage is the input of the next stage.
5

It is represented diagrammatically as shown in Figure below

Feasibility
study
Analysis

Design

Development
(coding)
Implementation
a) System without feedback

Maintenance
Feasibility
study

Analysis

Design

Development
(coding)

Implementation

Maintenance
b) System with feedback
Representation of Waterfall model

Feasibility analysis
Defines the identification of the problem to be solved and feasibility of the project within the constraints
of the company environment. The feasibility study is an initial preliminary study to determine whether
the project should be undertaken and the resources required.
6

Requirements specification
This gives a detailed specification of the project functional requirements and user requirements. This is
contained in the requirements specification document. These two steps may be described as contained
in analysis with three phases: Problem definitions, feasibility study and he detailed user requirements

Design
Design stages takes the requirements specifications to come up with in a convenient system that can be
given to programmers to code in a given language. The design phase defines the data input format,
processing requirements, storage and output requirements as well as the audit, security and control
procedures.
It gives process design details that are used by programmers in the implementation phase. The design
phase produces the requirements specification document

Implementation:
Involves the interpretation and translation of the design into codes. The code is then tested to make sure
it does what is intended.

Advantages:
i) Clearly defined methods and techniques
ii) Good documentation standards
iii) Deliverable at the end of each stage: Definite outputs at the end of each stage such as reports
and program code.
iv) Good project management and planning
v) Provides means of checking quality.

Disadvantages:
i. It takes too long to get results
ii. It depends on stable and correct requirements
iii. It is difficult to trace the path from requirements to code since there is little user
participation.
iv. It delays detection of errors until the end
v. Does not use software reuse and prototyping.

2.42 Prototyping
Prototyping is the development of a scaled down system used to enhance the understanding of the user
used to define the user interface requirements. It can be incorporated in any of the methods. The stages
included in photocopying are shown in figure below. Some of the advantages of prototyping are:
 Early discovery of design problems.
 Estimation of production costs, manufacturing time and material requirements.
 Select machinery required for production.
 Testing to determine fit and durability.
 Receive feedback from customers and end users.
 Identify improvements.

Disadvantages

 Time-consuming. Timing is one of the most noticeable disadvantages of prototype model.


 Misconception regarding the arrival of the final product.
7

 Poor decision-making.
 Misunderstanding regarding the final version.
 High initial cost.
 Insufficient analysis.

Throw-away prototyping
At other, prototyping may be used to enhance user understanding and communication purposes, in
which case it is called throw-away prototyping.
Evolutionary prototyping
Prototyping can be used as part of the development of the system as in the evolutionary development,
called evolutionary prototyping.

Stages in prototyping.

Outline
problem

Specify

Develop no

Product versions Final product


Validate (i) ok yes

Stages of prototyping

2.43 The spiral or evolutionary model


This is an experimental approach to system development for an ill-defined system which is implemented
and tested gradually. It combines use of the waterfall and prototyping. It develops the whole project
8

starting from a small part. Once the part is understood, it is expanded using the knowledge gained. For
example, a payroll system may be tried on one department and assess its success.

It does not assume that the problem can be subdivided into distinct loosely coupled stages of
development. Each stage of development adds a new function and the experience gained is used to
refine the requirements for the next stage. The process continues until no further refinements are
necessary. The Boehm spiral model and a simplified version are shown in Fig. 4
Each cycle defines a stage similar to the linear model with the first being to define the requirements.
However each cycle has four stages.

i) Set the objective: Identify objectives to achieve, alternative means of achieving


the objectives, constraints and risks involved in each alternative.

ii) Evaluate risks: Use a strategy to find ways of reducing or resolving risks to
obtain the completed product.

iii) Develop the model: Develop suitable models, prototypes and stimulate their
functions and validate with user.

iv) Plan next stage: Review the decisions for the next stage of the product is not
complete such as requirements, development, testing and integration.
9

A fig showing a The spiral development model

The objectives determine the expected requirements such as functions, quality, performance level, and
time and safety aspects of the evolution of each stage prototype. Risks are possible problems that may
arise due to insufficient information on tools, resources and methods. The risks analysis determines the
most likely path to successful completion.

The V-shaped model

This is variation of the model and shows all the stages from initiation to the death or phasing out of the
software and is shown in Fig. 5.4. The left hand side shows the breakdown of the system from analysis,
design and programming down to the module level. The right hand side shows the assembly and testing.
The dotted line shows correspondence between the different stages and shows elements of quality
assurance, period of tendering and contracting and maintenance. In the bottom it shows the role of
project management.
10

Introduction - The Management of Systems Development - 1.29

The “V” Model


Project Init
Product
Requirements Definition Evolution Phaseout
Tested
Requirements Specification system Verified System

System Design System integration and test

Design Tested software Integrated Software

Detailed design Software integration and test


Tested
Module designs modules Debugged modules

Code and unit test

V0.2 Source: STARTS PM_S01.PPT © NCC Education Services Limited, 1998


A figure showing The V-shaped development model

Choosing project development cycle (model)

The choice of the development model depends on the nature of the problem whether it is structured, size
of the project and also the time taken as well as the technology involved.

Linear model: This well suited to projects that are;


i) Well understood
ii) Well structured
iii) Long projects but should be broken into subsystems;

We can predict the system behavior and development can proceed in well-defined steps.

Evolution model:
This well suited to projects that are:
i) Hard to understand and require experimentation
ii) Unstructured problems
iii) Short time projects that produces early results.
(iv) Requires user involvement and commitment.
11

Steps in structured software development

This section gives an overview of the activities undertaken in the software development life cycle using
the structured development approach. Structured analysis and design allows stage-by-stage development
and offers a quality process that improves quality of software product for the customer

General Summary of the Systems Development Life Cycle (SLDC)


The term SDLC describes the stage a system moves through from conception until it’s discarded or
replaced. In the context information system projects, a distinction can be made between the project life
cycle and the SDLC. As a project has definite end, its unlikely that on going maintenance will be
included in the scope of a project but falls within our definition of the SDLC. There are seven stages in
the SDLC namely:-

(1) Identification of a problem or opportunity


(2) Feasibility study
(3) System’s Investigation
(4) System's Analysis
(5) System's Design
(6) System's Implementation
(7) System's review and maintenance
12

Problems Identification

Review and Maintenance Feasibility Study

Systems implementation Systems Investigation

Systems Design Systems Analysis

1. Identification of a Problem
This involves an analysis of the organizations' information requirements. Such an analysis should be
carried out in conjunction with users so that their actual requirements can be identified, rather than
their likely requirements. The need for a new or replacement system is identified by the users or as a
result of the strategic analysis of requirements.

2. Feasibility Study
This involves a review of the existing system and the identification of a range of possible alternative
solution. A feasible (technical, operational, economic, social) solution will be selected or a decision
not to proceed made.

3. System's Investigation
This is a fact-finding exercise, which investigates the existing system to assess its problems and
requirements and to obtain details of data volumes; response times and other key indicators. The
systems analyst or project team will proceed with a detailed fact finding exercise, using standard
market research techniques such as interviews and questionnaires.

4. System's Analysis
Once the workings of the existing system have been documented, they can be analyzed. This process
examines why current methods are used, what

Alternative might achieve the same or better results, what restricts the effectiveness of the system
and what performance criteria are required from a system. In this stage the information that has
been collected must be summarized; sorted and critically judged. This will help to identify any
13

problem, inefficiencies and “bottleneck” in the current system. The information will be recorded in a
series of a data flow diagram (DFDs) and
Entity - Relationship (ER) diagrams so that the system can be designed. All the factors recorded
have to be established in a format that allows critical evaluation. The format would normally
include:

a) Narrative: Costs, equipment main difficulties, coding, forms, document.


b) DFDs and organizational Charts: Communication lines, department. Outputs, main areas
bottlenecks tic.
c) Tables: Volumes of data processed and their frequencies
d) Documentation files: containing samples of documents forms occurring in each system etc.

5. System's Design
This is a technical phase, which considers both computerized and manual procedures addressing in
particular the following:

a) Data inputs, processes and outputs


b) File structures
c) Program specification for each program in the system
d) Test schedule for each program
e) A test schedule for the overall system
f) The method of implementation
g) A detailed time schedule for hardware and software acquisition
h) Operating instructions
i) Training schedule for users
j) System performance measurement

6. System's Implementation
This stage carries development through from design to operations. It's acquisition or writing of
software, program testing, file conversion or setup, acquisition and installation of hardware and
'going-live. Data files will be converted to the new format and the company will change over to the
new system.

7. Review and Maintenance


This is an ongoing process, which ensures the system meet the objective set during the feasibility
study, that its acceptable by users and that its performance is satisfactory. In reviewing, the systems
performance will be compared with earlier targets. Modifications will be required if the system does
not meet its requirement.
During maintenance, the system will be continually monitored to identify when problems occur. It
may require maintenance to adopt it to change in user requirements, to deal with any bugs in the
system and any shortfalls in performance

Exercise
1. Explain two reasons why it is necessary to use a methodical approach to systems analysis and
design.
2. Discuss each of the steps used in software development life cycle stating the advantages and
disadvantages f
14

(a) Water fall model


(b) The spiral model

3. Briefly discuss prototyping stating when and why it is necessary in a software development
method.
4. Discuss a typical inventory system of your own choice.
5. Discuss the steps in the SSADM method for development of software.
6. using your own words explain the following terms used in software development:
(a) Method
(b) Techniques
7. Explain why project management is necessary stage of software development. Stat the activities
undertaken in the project.
8. Project management takes place in every stage of the software development life cycle discuss
9. Differentiate between implementation and maintenance.

You might also like