CSC 302
CSC 302
CSC 302
Systems Analysis
1
Copyright © 2023 by Distance Learning Centre, University of Ibadan, Ibadan
All rights reserved. No part of this publication may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, electronic, mechanical, photocopying,
recording or otherwise, without the prior permission of the copyright owner.
ISBN: 978-021-813-0
2
Vice-Chancellor’s Message
The global switch to Open and Distance Education (ODE) is gaining considerable
acceptance in Nigeria. The Distance Learning Centre, over three decades of its
existence, has consistently built a system that makes Distance Education a viable
alternative for the teeming populace of Nigeria, seeking emancipation through
University education. The Distance Learning mode of study is not second-rated at the
University of Ibadan. Therefore, the university is committed to providing access to
higher education for many deserving Nigerians, especially those who because of
sundry reasons do not have the luxury of full time education in face-to-face setting.
The changing demographics of relatively young people seeking admission into the
UIDLC, which is engendered by the admission gridlock occasioned by minimal
access to the face-to-face mode of study has also contributed to the University‘s poise
to give the Distance Learning Centre the full complement of support to make it a true
flag bearer of ODL solution in Nigeria. Younger candidates are now being given
access to leverage on the distance learning mode of study as an alternative to the face -
to-face mode of study.
5
One of the ways of ensuring that actual learning takes place is the production ODL
compliant course materials by writers who are specially trained in ODL course
delivery. They have made good efforts in providing up-to-date information,
knowledge and skills in the different disciplines and at the same time making them
user-friendly.
In addition to the provision of course materials in print and e -format, a lot of
Information Technology input has also gone into the deployment of the course
materials. Most of which can be downloaded from the UIDLC Learning Management
System (LMS) platform while some are also available as Open Educational Resources
(OERs). They are also available in audio format downloadable to mobile phones,
IPod, MP3 among other devices to allow learners listen to the audio study sessions.
We will continue in our efforts to provide and review course materials for our courses.
Nevertheless, to take advantage of these formats, learners will need to improve on
their digital competencies and develop requisite distance learning culture which
requires them to be self-paced and self-learning. These course materials afford
learners the opportunity to learn at their own individual pace, space and time.
I hereby urge you to put these course materials to the best use.
3
Foreword
In fulfilment of its mandate to emancipate Nigerians through widening access to
tertiary education, the University of Ibadan, Distance Learning Centre has been
making intentional efforts to reposition its distance education delivery for more
effectiveness. It aims at embracing a holistic and all-encompassing approach to the
delivery of its Open Distance Learning (ODL) programmes and making it more
seamless for its learners.
The administrative and academic framework and support given to our learners are
tailored toward a sustainable drive for effective continuous learning. Besides this, we
are committed to providing educational course materials for the use of our learners to
fulfil the ideals of distance education. Without up-to-date, learner-friendly and ODL
compliant course materials, there can be no basis to assert that the Centre is a provider
of distance learning education that conforms to global best practice. Therefore,
provision of appropriate course materials in multiple formats is at the forefront of the
UIDLC drive to be the flagship of distance Education in Nigeria.
From the foregoing, the Centre has made the provision for credible, learner-friendly
and interactive course materials for all its courses a priority. Authoring of, and review
of course materials are commissioned to a team of ODL experts who have been
trained in-house. Professional consultation is also done from time to time to ensure
that the outputs of these course materials are subjected to rigorous peer review so that
high standards are maintained. This approach not only emphasizes cognitive
knowledge, but also, skills which are at the core of education, even in an ICT age.
The development of the materials which is on-going also has input from experienced
editors and illustrators who have ensured that they are accurate and current. They are
specially written and graphics are deployed with the distance learner in mind. It is
important to note that, for a distance learner to excel, there is the need to read relevant
materials apart from this course materials. Therefore, adequate supplementary reading
materials, as well as other information are suggested in the course materials.
Learners are advised to seek the assistance of course facilitators, especially academic
advisors during their study of the course material, even before physical interactive
session which is designed for revision. Academic advisors will assist them in using
convenient technology application tools which include: Google Hang Out, YouTube,
Talk Fusion, etc. among others. It is also going to be of immense advantage if they
complete their assignments as and when due so as to have necessary feedbacks as
guide.
Nonetheless, a learner has the responsibility to develop requisite distance learning
culture which includes diligence, discipline and consistent self-study habit in order to
maximize this mode of study. They can also seek available administrative and
academic support made available by the Centre. This is why they are encouraged to
develop their computer skills by availing themselves the opportunity of basic
computer training which the Centre‘ provides.
4
Consequently, it is envisaged that the course materials would also be useful for the
students in the face-to-face mode of study. This underpins the parity of esteem policy
of the University of Ibadan where particularly, the same facilitators are engaged for
the two modes of study. Therefore, it is a delight to present these modules to both our
distance learners and the university students in the face-to-face mode. We are
confident that the materials will be of immense value to all.
Best wishes.
5
Course Development Team
Content Authoring Oladejo, Bolanle F. Ph.D
Content Editor Prof. Ayo Kehinde
Production Editors Prof. Omobola Adelore, O.F.W. Onifade Ph.D
Managing Editor Ogunmefun Oladele Abiodun
ODL Material Converter Arimi Kayode Ph.D
General Editor Prof. E.B. Omobowale
6
Table of Contents
Timeframe 10
Study skills 10
Need help? 11
Academic Support 11
Activities 12
Assignment 12
Assessments 12
About this Course 13
Study Session 1: Meaning and Fundamental Concepts of Systems 14
Expected duration: 1 week or 3 contact hours 14
Introduction 14
Learning Outcomes for Study Session 1 14
1.1 What is a System? 14
Now that you are able to have a good grasp of what a System is, let us learn its
characteristic in details. 15
1.2 Characteristics of a System 16
1.3. Important System Concepts 17
1.4. Types of Systems 20
1.5. Computer-Based Information Systems 25
1.6 Difference between Computers and Information Systems 28
Summary of Study Session 1 31
In Study Session 1, you have learned that: 31
Self- Assessment Questions (SAQs) for Study Session 1 31
Notes on the Self- Assessment Questions (SAQs) for Study Session 1 32
References 34
Study Session 2: Overview of Information System 35
Expected duration: 1 week or 3 contact hours 35
Introduction 35
Learning Outcomes for Study Session 2 35
Now that you are able to have a good understanding of information system, let us learn
types of information systems and their roles in an organization. 36
2.2 Types of Information Systems and their roles in an Organization 36
2.2.1 Transaction Processing Systems 37
Summary of Study Session 2 45
In Study Session 2, you have learned that: 45
Self- Assessment Questions (SAQs) for Study Session 2 46
7
Notes on the Self- Assessment Questions (SAQs) for Study Session 2 46
References 47
Study Session 3: System Development Methodology 48
Expected duration: 1 week or 3 contact hours 48
Introduction 48
Learning Outcomes for Study Session 3 48
Summary of Study Session 3 58
In Study Session 3, you have learned that: 58
Self- Assessment Questions (SAQs) for Study Session 3 58
Notes on the Self- Assessment Questions (SAQs) for Study Session 3 59
Reference 59
Study Session 4: System Development Life Cycle (SDLC) 60
Expected duration: 1 week or 3 contact hours 60
Introduction 60
Learning Outcomes for Study Session 4 60
Summary of Study Session 4 78
In Study Session 4, you have learned that: 78
Self- Assessment Questions (SAQs) for Study Session 4 78
Notes on the Self- Assessment Questions (SAQs) for Study Session 4 79
Expected duration: 1 week or 3 contact hours 81
Introduction 81
Learning Outcomes for Study Session 5 81
Summary of Study Session 5 121
In Study Session 5, you have learned that: 121
Self- Assessment Questions (SAQs) for Study Session 5 122
Notes on the Self- Assessment Questions (SAQs) for Study Session 5 122
References 123
Study Session 6: Modelling and Analysis of Information System 124
Expected duration: 1 week or 3 contact hours 124
Introduction 124
Learning Outcomes for Study Session 6 124
Summary of Study Session 6 135
In Study Session 6, you have learned that: 135
Self- Assessment Questions (SAQs) for Study Session 6 136
Notes on the Self- Assessment Questions (SAQs) for Study Session 6 136
References 137
Study Session 7: Modelling and Analysis of Information System-II 138
Expected duration: 1 week or 3 contact hours 138
8
Introduction 138
Learning Outcomes for Study Session 7 138
Summary of Study Session 7 159
In Study Session 7, you have learned that: 159
Self- Assessment Questions (SAQs) for Study Session 7 160
Notes on the Self- Assessment Questions (SAQs) for Study Session 7 160
References 161
Study Session 8: Data Modelling--I 162
Expected duration: 1 week or 3 contact hours 162
Introduction 162
Self- Assessment Questions (SAQs) for Study Session 8 178
Notes on the Self- Assessment Questions (SAQs) for Study Session 8 178
Study Session 9: Data Modelling--II 180
Expected duration: 1 week or 3 contact hours 180
Introduction 180
Summary of Study Session 9 191
In Study Session 9, you have learned that: 191
Self- Assessment Questions (SAQs) for Study Session 9 191
Notes on the Self- Assessment Questions (SAQs) for Study Session 9 192
9
Timeframe
This is a one semester course.
45 hours of formal study time is required.
How long?
Study skills
As an adult learner your approach to learning will be different
to that from your school days: you will choose what you want
to study, you will have professional and/or personal
motivation for doing so and you will most likely be fitting
your study activities around other professional or domestic
responsibilities.
Essentially you will be taking control of your learning
environment. As a consequence, you will need to consider
performance issues related to time management, goal setting,
stress management, etc. Perhaps you will also need to
reacquaint yourself in areas such as essay planning, coping
with exams and using the web as a learning resource.
Your most significant considerations will be time and space
i.e. the time you dedicate to your learning and the
environment in which you engage in that learning.
We recommend that you take time now—before starting your
self-study—to familiarize yourself with these issues. There are
a number of excellent web links & resources on the Course
CD. Go to ―Self-Study Skills‖ menu in course CD.
10
Need help?
You may contact any of the following units for information,
learning resources and library services.
11
Activities
This manual features ―Activities‖, which may present material
that is NOT extensively covered in the Study Sessions. You
will be provided with answers to every activity question.
Activities Therefore, your emphasis when working the activities should
be on understanding your answers. It is more important that
you understand why every answer is correct.
There are different forms of activities in this manual, ranging
from reading activities, case studies, discussion activities. The
use of activities is particularly based on learning outcomes
and nature of content. Some Study Sessions comes with
discussion topics. You may discuss the Study Sessions at
respective discussion boards on course website.
You may see dates for active discussion with tutor on course
schedule. This course schedule is available on the course
website.
Assignment
This manual also comes with tutor marked assignments
(TMA). Assignments are expected to be turned-in on course
website. You may also receive TMAs as part of online class
Assignment activities. Feedbacks to TMAs will be provided by your tutor
in not more than 2-week expected duration.
Schedule dates for submitting assignments and engaging in
course / class activities is available on the course website.
Kindly visit your course website often for updates.
Assessments
There are two basic forms of self - assessment in this course:
in-text questions (ITQs) and self - assessment questions
Assessments (SAQs). Feedbacks to the ITQs are placed immediately after
the questions, while the feedbacks to SAQs are at the back of
manual. You will receive your TMAs as part of online class
activities at the UI Mobile Class. Feedbacks to TMAs will be
provided by your tutor in not more than 2-week expected
duration.
Schedule dates for submitting assignments and engaging in
course / class activities is available on the course website.
Kindly visit your course website often for updates.
12
About this Course
CSC 302 (System Analysis) is a three [3] credit unit course dealing with the fundamental
concepts of the analysis and design of Computer Based Information Systems. Several
structured approaches to system analysis are explored in the course.
The study material provides in depth background information that is relevant for students to
understand and be able to develop information systems. The course contents are divided into
several units with the first unit expatiating on the fundamental concepts and meaning of
systems. Each session ends with some self assessment questions.
Structured System Analysis and Design is an important field in computing; its understanding
and know-how serve as a solid foundation for the development and deployment of reliable
computing resources. In the light of the above, the overall objectives of the course include:
Understanding of Systems concepts
Understanding of what systems requirements are and how they are gathered
Description of models and analysis of information systems
To model events that happen in systems
To describe the data information systems operate with
13
Study Session 1: Meaning and Fundamental Concepts of Systems
Introduction
You are familiar with the concept of a system because you learned some fundamental
concepts about it in your lower classes. In this session you will learn more on everything you
need to know about the concept of system analysis, design, its characteristics, and the
numerous types of systems in great detail. The term system is derived from the Greek word
systema, which indicates a well-organized interaction between working units or components.
The study units are divided session by session for easier comprehension, and each session has
a learning outcome and students‘ assessment questions that will assist you in measuring your
level of comprehension.
Learning Outcomes for Study Session 1
When you have studied this session, you should be able to:
1.1 Explain the meaning of System. (SAQ 1.1)
1.2 List the characteristics of a System (SAQ 1.2)
1.3 Describe the Important Concepts of a System: Decomposition, Modularity, Coupling
and Cohesion (SAQs 1.3)
1.4 State the Types of Systems and define computer-based information system (SAQ1.4).
1.5 Differentiate between Computers, Information Systems and information technology
(SAQ 1.5)
1.1 What is a System?
A set of interrelated, interconnected or interdependent elements that operates collectively to
accomplish some common purpose or goal, is called SYSTEM.‖ Understanding systems and
how they work is critical to understanding systems analysis and design.
A system exists because it is designed to achieve one or more objectives. Every day, we come
in contact with the transportation system, the telephone system, the accounting system, the
production system, and, for over two decades, the computer system. Similarly, we talk of the
business system and of the organization as a system consisting of interrelated departments
(subsystems) such as production, sales, personnel, and an information system. None of these
14
subsystems is of much use as a single, isolated unit. However, when these subsystems are
properly coordinated, the firm can function effectively and profitably.
In order to have a good understanding of what systems analysis and design is, it is imperative
to understand systems and how they work. There are more than a hundred definitions of the
word system, but most seem to have a common thread that suggests that a system is an
orderly grouping of interdependent components linked together according to a plan to achieve
a specific objective. The word component may refer to physical parts (engines, wings of
aircraft, car), managerial steps (planning, organizing and controlling), or a system in a multi
level structure. The component may be simple or complex, basic or advanced. They may be
single computer with a keyboard, memory, and printer or a series of intelligent terminals
linked to a mainframe computer. In either case, each component is part of the total system
and has to do its share of work for the system to achieve the intended goal. This orientation
requires an orderly grouping of the components for the design of a successful system.
A system can therefore be defined as an interrelated set of business procedures (or
components) used within one business unit, working together for some purpose. For example,
a system in the payroll department keeps track of cheques, whereas an inventory system
keeps track of supplies. The two systems are separate. A system has nine characteristics,
seven of which are shown in figure 1.1. A detailed explanation of each characteristic is given
below the figure, but from the figure you can see that a system exists within a larger world,
an environment. A boundary separates the system from its environment. The system takes
input from outside, processes it, and sends the resulting output back to its environment. The
arrows in the figure show this interaction between the system and the world outside of it.
ITQ/ITQ answer
o A system is an interrelated set of business procedures used within one business unit,
working together for some purpose. True/False:
True
Now that you are able to have a good grasp of what a System is, let us learn its characteristic
in details.
15
1.2 Characteristics of a System
16
also a set of elements operating together to achieve common goal. These elements
surrounds the system and often interacts with it i.e. system exists within an
environment. The environment is everything outside the system‘s boundary that
influences the system. For example, the environment of a university includes
prospective students, foundations and funding agencies, and the news media. Usually
the system interacts with its environment. A university interacts with prospective
students by having open houses and recruiting from local high schools. An
information system interacts with its environment by receiving data (raw facts) and
information (data processed in a useful format). Figure 1.2 shows how a university
can be seen as a system.
6. Interfaces: The points at which the system meets its environment are called interfaces;
an interface also occurs between subsystems.
7. Constraints: These are the limits (in terms of capacity, speed, or capabilities) a
system must face while carrying out its functions. These limits affect what the system
can do and how it can achieve its purpose within its environment. Some of these
constraints are imposed inside the system (e.g., a limited number of skilled personnel
available in the organization), and others are imposed by the environment (e.g., due
dates or government regulations).
8. Input: A system takes input from its environment in order to function. People, for
example, take in food, oxygen, and water from the environment as input.
9. Output: A system returns output to its environment as a result of its functioning and
thus achieves its purpose.
17
Figure 1.2: A University as a System
Several important systems concepts systems analysts need to know are as follow:
i. Decomposition
ii . Modularity
iii. Coupling
i v. Cohesion
Decomposition is the process of breaking down a system into its smaller component parts.
These components may themselves be systems (subsystems) and can be broken down into
their components as well. How does decomposition aid understanding of a system? It results
in smaller and less complex pieces that are easier to understand than larger, complicated
pieces.
Decomposing a system also allows us to focus on one particular part of a system, making it
easier to think of how to modify that one part independently of the entire system.
Decomposition is a technique that allows the systems analyst to:
a. Break a system into small, manageable, and understandable subsystems
b. Focus attention on one area (subsystem) at a time, without interference from other
areas
18
c. Concentrate on the part of the system pertinent to a particular group of users, without
confusing users with unnecessary details
d. Build different parts of the system at independent times and have the help of different
analysts
Modularity is a direct result of decomposition. It refers to dividing a system into chunks or
modules of a relatively uniform size. Modules can represent a system simply, making it easier
to understand and easier to redesign and rebuild. For example, each of the separate subsystem
modules for the MP3 player in Figure 1.3 shows how decomposition makes it easier to
understand the overall system.
Coupling means that subsystems are dependent on each other. Subsystems should be as
independent as possible. If one subsystem fails and other subsystems are highly dependent on
it, the others will either fail likewise or have problems functioning. Looking at Figure 1.3, we
would say the components of an MP3 player are tightly coupled. The best example is the
control system, made up of the printed circuit board and its chips. Every function the MP3
player can perform is enabled by the board and the chips. A failure in one part of the circuit
board would typically lead to replacing the entire board rather than attempting to isolate the
problem on the board and fix it. Even though repairing a circuit board in an MP3 player is
possible, it is typically not cost-effective; the cost of the labor expended to diagnose and fix
the problem may be worth more than the value of the circuit board itself. Conversely, in a
home stereo system, the components are loosely coupled because the subsystems, such as the
speakers, the amplifier, the receiver, and the CD player, are all physically separate and they
function independently. If the amplifier in a home stereo system fails, only the amplifier
needs to be repaired.
Cohesion is the extent to which a subsystem performs a single function. In the MP3 player
example, supplying power is a single function.
This brief discussion of systems should better prepare you to think about computer-based
information systems and how they are built. Many of the same principles that apply to
systems in general apply to information systems as well.
19
Figure 1.3: An MP3 player as a System with power supply, storage and control subsystems.
20
applications change as the user‘s demands or the priority of the information requested
changes.
Abstract systems (also known as conceptual systems or non-physical entities) are orderly
arrangement of concepts, ideas, of theories. For example – Theology is a system of orderly
arrangement of ideas about God and its relationship with Human. They may be as
straightforward as formulas of relationships among sets of variables or models – the abstract
conceptualization of physical situations. A model is a representation of a real or a planned
system. The use of models makes it easier for the analyst to visualize relationships in the
system under study. The objective is to point out the significant elements and the key
interrelationships of a complex system.
21
2. Entropy: When system is put in use it depreciates. The quantitative measure of
depreciation is called Entropy. If it is continue to exist in the system the system
terminates soon in future.
All dynamic systems tend to run down over time, resulting in entropy or loss of
energy. To offset the increase in entropy requires inputs of matter and energy to repair
the system and extend its termination. Open systems resist entropy by seeking new
inputs or modifying the processes to return to a steady state. This maintenance input is
called as Negative Entropy. Open system require more negative entropy than
relatively closed system.
3. Process, output and cycles: Open systems produce useful output and operate in
cycles, following a continuous flow path.
4. Differentiation: Open systems have a tendency toward an increasing specialization of
functions and a greater differentiation of their components. In business, the roles of
people and machines tend toward greater specialization and greater interaction. This
characteristic offers a compelling reason for the increasing value of the concept of
systems in the systems analyst‘s thinking.
5. Equifinality: means that the same or similar results can be achieved by using a
variety of different processes. For example, management can achieve the same results
by using different inputs or by using different processes with the same inputs.
Equifinality suggests that there is no one right way to accomplish important results in
an organization. In most systems, there is more of a consensus on goals than on paths
to reach the goals. However, closed systems have one right way to do things. For
example, in heavily bureaucratic organizations, a person must finish the necessary
procedures regardless of how useful an intended result will be for the organization –
the focus is on doing things right, rather than doing the right things.
Understanding system characteristics helps analysts to identify their role and relate their
activities to the attainment of the firm‘s objectives as they undertake a system project.
Analysts are themselves part of the organization. They have opportunities to adapt the
organization to changes through computerized application so that the system does not ―run
down.‖ A key to this process is information feedback from the prime user of the new system
as well as from top management.
The theme of the process of designing information systems borrows heavily from a general
knowledge of systems theory. The objective is to make a system more efficient by modifying
its goals or changing the outputs.
22
iii. Deterministic or Probabilistic Systems
A deterministic system is one in which the occurrence of all events is perfectly predictable. If
we get the description of the system state at a particular time, the next state can be easily
predicted. An example of such a system is a numerically controlled machine tool.
Probabilistic system is one in which the occurrence of events cannot be perfectly predicted.
An example of such a system is a warehouse and its contents.
iv. Man-made Information Systems
Ideally, information reduces uncertainty about a state or event. For example, information that
the wind is calm reduces the uncertainty that the boat trip will be pleasant. An information
system is the basis for interaction between the user and the analyst. It provides instruction,
commands and feedback. It determines the nature of the relationships among decision-
makers. In fact, it may be viewed as a decision centre for personnel at all levels. From this
basis, an information system may be defined as a set of devices, procedures and operating
systems designed around user based criteria to produce information and communicate it to
the user for planning, control and performance. In systems analysis, it is important to keep in
mind that considering an alternative system means improving one or more of these criteria.
Many practitioners fail to recognize that a business has several information systems; each is
designed for a purpose and works to accommodate data flow, communications, decision
making, control and effectiveness.
The major business information systems are:
i. Formal Information System
ii. Informal Information System and
iii. Computer-Based Information System.
23
Formal Organizational
positions
Chief Executive
Officer
Workers Workers
24
1.5. Computer-Based Information Systems
A computer-based information system (CBIS) is an information system that uses computer
technology to perform some or all of its intended tasks. This is a type of information system
that relies on the computer for handling business applications. Such a system can include as
little as a personal computer and software. Or it may include several thousand computers of
various sizes with hundreds of printers, plotters, and other devices, as well as communication
networks (wire-line and wireless) and databases. In most cases an information system also
includes people. The basic components of information systems are listed below. Note that not
every system includes all these components.
People Resources
• End users: (also called users or clients) are people who use an information system or the
information it produces. They can be accountants, salespersons, engineers, clerks,
customers, or managers. Most of us are information system end users.
• IS Specialists: people who actually develop and operate information systems. They include
systems analysts, programmers, testers, computer operators, and other managerial,
technical, and clerical IS personnel. Briefly, systems analysts design information systems
based on the information requirements of end users, programmers prepare computer
programs based on the specifications of systems analysts, and computer operators operate
large computer systems.
25
Hardware Resources
Machines: as computers and other equipment along with all data media, objects on
which data is recorded and saved.
Computer systems: consist of variety of interconnected peripheral devices. Examples
are microcomputer systems, midrange computer systems, and large computer systems.
Software Resources: Software Resources includes all sets of information processing
instructions. This generic concept of software includes not only the programs, which direct
and control computers but also the sets of information processing (procedures). Software
Resources includes:
• System software, such as an operating system
• Application software, which are programs that direct processing for a particular use of
computers by end users.
• Procedures, which are operating instructions for the people, who will use an information
system. Examples are instructions for filling out a paper form or using a particular
software package.
Data Resources
Data resources include data (which is raw material of information systems) and database.
Data can take many forms, including traditional alphanumeric data, composed of numbers
and alphabetical and other characters that describe business transactions and other events and
entities. Text data, consisting of sentences and paragraphs used in written communications;
image data, such as graphic shapes and figures; and audio data, the human voice and other
sounds, are also important forms of data.
The data resources of IS are typically organized into:
Processed and organized data-Databases.
Knowledge in a variety of forms such as facts, rules, and case examples about
successful business practices.
Data resources must meet the following criteria:
i. Comprehensiveness: means that all the data about the subject are actually present
in the database.
ii. Non-redundancy: means that each individual piece of data exists only once in the
database.
iii. Appropriate structure: means that the data are stored in such a way as to minimize
the cost of expected processing and storage.
26
Network Resources: Telecommunications networks like the Internet, intranets, and extranets
have become essential to the successful operations of all types of organizations and their
computer-based information systems. Telecommunications networks consist of computers,
communications processors, and other devices interconnected by communications media and
controlled by communications software. The concept of Network Resources emphasizes that
communications networks are a fundamental resource component of all information systems.
Network resources include communications media, and network support:
27
1.6 Difference between Computers and Information Systems
Computers provide effective and efficient ways of processing data, and they are a necessary
part of an information system. An IS, however, involves much more than just computers. The
successful application of an IS requires an understanding of the business and its environment
that is supported by the IS. In learning about information systems, it is therefore not sufficient
just to learn about computers. Computers are only one part of a complex system that must be
designed, operated, and maintained. A public transportation system in a city provides an
analogy. Buses are a necessary ingredient of the system, but more is needed. Designing the
bus routes, bus stops, different schedules, and so on requires considerable understanding of
customer demand, traffic patterns, city regulations, safety requirements, and the like.
Computers, like buses, are only one component in a complex system.
The term IT in its broadest sense used to describe an organization‘s collection of information
systems, their users, and the management that oversees them.
A major role of IT is being a facilitator of organizational activities and processes. That role
will become more important as time passes. Therefore, it is necessary that every manager and
professional staff member learn about IT not only in his or her specialized field, but also in
the entire organization and in inter-organizational settings as well.
Obviously, you will be more effective in your chosen career if you understand how
successful information systems are built, used, and managed. You also will be more effective
if you know how to recognize and avoid unsuccessful systems and failures. Also, in many
ways, having a comfort level with information technology will enable you, off the job and in
your private life, to take advantage of new IT products and systems as they are developed.
28
(Wouldn‘t you rather be the one explaining to friends how some new product works, than the
one asking about it?) Finally, you should learn about IT because being knowledgeable about
information technology can also increase employment opportunities. Even though
computerization eliminates some jobs, it also creates many more.
29
Take a look at figure 1.4; it describes the various patterns of authority,
communication and workflow in an organisation
Formal Organizational
positions
Chief Executive
Officer
Workers Workers
30
Box 1.1: Meaning and Fundamental Concepts of Systems
System is a set of interrelated, interconnected or interdependent elements that operates
collectively to accomplish some common purpose or goal.
It is important to note:
A system exists because it is designed to achieve one or more objectives.
A system is made up of components. A system component is either an
irreducible part or an aggregate of parts, also called a subsystem.
A system has characteristics which include system component, Interrelated
components, Boundary, Purpose: Environment, Interfaces, Constraints: Input:
and output
The study of systems concepts has three basic implications which are:
1. A system must be designed to achieve a predetermined objective.
2. Interrelationships and interdependence must exist among the components.
3. The objectives of the organization as a whole have a higher priority than the
objectives of its subsystems.
The term information system is also used interchangeably with information
technology
Also, note that the term IT means information technology, information technology in its
broadest sense used to describe an organization‘s collection of information systems,
their users, and the management that oversees them. However, it can be narrowly
defined as the technological side of an information system.
31
SAQ 1.1 (tests learning outcome 1.1)
Can you explain the meaning of a System?
SAQ 1.2 (tests learning outcome 1.2)
Can you list the characteristics of a System?
SAQ 1.3 (tests learning outcome 1.3)
Can you describe the following terms: modularity, coupling and cohesion?
SAQ 1.4 (tests learning outcome 1.4)
Can you State the Types of Systems and define computer based system?
Can you define computer-Based Information Systems?
SAQ 1.5 (tests learning outcome 1.5 & 1.6)
Can you differentiate between computers, information technology and Information Systems?
Notes on the Self-Assessment Questions (SAQs) for Study Session 1
SAQ 1.1: System is a set of interrelated, interconnected or interdependent elements that
operates collectively to accomplish some common purpose or goal
SAQ 1.2: The characteristic of a system are system components, Interrelated components,
Boundary, Purpose, Environment, Interfaces, Constraints, Input and output
SAQ 1.3: The concept of a system includes
1 Decomposition: This is a process of breaking down a system into its smaller
component parts. These components may themselves be systems (subsystems) and
can be broken down into their components as well. Decomposing a system also allows
us to focus on one particular part of a system, making it easier to think of how to
modify that one part independently of the entire system. Decomposition is a technique
that allows the systems analyst to:
32
3. Coupling: This is a situation in which subsystems are dependent on each other.
Subsystems should be as independent as possible. If one subsystem fails and other
subsystems are highly dependent on it, the others will either fail likewise or have problems
functioning.
4 Cohesion: This is the extent to which a subsystem performs a single function. In the MP3
player example, supplying power is a single function.
SAQ 1.4: System can be classified into the following group
i. Physical or Abstract Systems
ii. Open or Closed Systems
iii. Deterministic or Probabilistic Systems and
iv. Man-made Information Systems
A computer-based information system is an information system that uses computer
technology to perform some or all of its intended tasks. This is a type of
information system that relies on the computer for handling business applications.
SAQ 1.5 Computers provide effective and efficient ways of processing data, and they are a
necessary part of an information system while information system involves much
more than just computers. The successful application of an information system
requires an understanding of the business and its environment that is supported by
the information system. Information technology is the technological side of an
information system. This includes the hardware, software, databases, networks, and
other electronic devices, on the other hand, information system involves much
more than just computers. It requires an understanding of the business and its
environment that is supported by the IS
33
References
Alter, S. (1992): Information Systems: A Management Perspective. Redwood City, CA:
Benjamin/Cummings Publishing.
Alan Dennis, Barbara Haley Wixom, and Roberta M. Roth (2012): Systems analysis and
design. 5th edition, John Wiley & Sons, Inc.
Alexander Laszlo and Stanley Krippner (1998): Systems Theories: Their Origins,
Foundations, and Development. J.S. Jordan (Ed.), Systems Theories and A Priori Aspects of
Perception. Amsterdam: Elsevier Science, Ch. 3, pp. 47-74.
Dr. Jawahar Vetter and Prof. Dharminder Kumar. Overview of System Analysis & Design.
Lesson No: 1 Lesson
F.A. Wilson: Computer-Based Information Systems and Knowledge Management:
Contrasting the Objectivist and Subjectivist Perspectives. Information Systems Institute
University of Salford Salford England
Information Systems Concepts: Retrieved June 26, 2016 from http://www.wirc-
icai.org/material/1- information-system-concepts.pdf
Joseph S. Valacich, Joey F. George, and Jeffrey A. Hoffer. (2012): Essentials of Systems
Analysis and Design. 5th Edition, Prentice Hall.
Sprague, R. H., Jr. (1980): A Framework for the Development of Decision Support Systems.
MIS Quarterly 4(4):1-26.
34
Study Session 2: Overview of Information System
Introduction
You learned the definition of a system in Study Session One. You discovered that the term
system is derived from the Greek word systema, which indicates a well-organized
relationship among functional units or components. This session will be more concerned with
information systems.
Information system here is what we referred to as computer-based information system in the
previous chapter. Information systems have become the backbone of most organizations. In
almost every sector; banking, health care, government, manufacturing, education, business
etc, information systems play a prominent role by supporting the activities in those sectors.
Every day work, communication, information gathering, and decision making all rely on
information technology (IT). When we visit a travel agency to book a trip, a collection of
interconnected information systems is used for checking the availability of flights and hotels
and for booking them. When we make an electronic payment, we interact with the bank‘s
information system rather than with personnel of the bank. Modern supermarkets use IT to
track the stock based on incoming shipments and the sales that are recorded at cash registers.
Most companies and institutions rely heavily on their information systems. Organizations
such as banks, online travel agencies, tax authorities, and electronic bookshops can be seen as
IT companies given the central role of their information systems.
Learning Outcomes for Study Session 2
When you have studied this Unit, You should be able to explain:
2.1 Explain the meaning of Information System (SAQ 2.1).
2.2 List the different types of Information Systems (SAQ 2.2)
2.3 Define artificial intelligence (SAQ 2.3)
2.4 Explain the role of scientific and engineering computing system in the field of
engineering (SAQ 2.4).
35
2.1 Definition of Information Systems
Organizations offer products to customers to make money. These products can be goods or
services. In most organizations, huge volumes of data accumulate: data of products, data of
customers, data of employees, data of the delivery of products, and data of other sources.
These data therefore play an important role in contemporary organizations and must be
stored, managed, and processed, which is where information systems come into play.
Before we provide our definition of an information system, we first explain the term
―information,‖ which can mean any of the following:
1. The communication act of one agent—the term ―agent‖ may refer to any entity ranging
from a person or a software component to an organization—informing another agent (e.g., by
exchanging messages);
2. The knowledge or beliefs of agents as a part of their mental state; or
3. (Data) objects that represent knowledge or beliefs.
An information system is a software system that captures, transmits stores, retrieves,
manipulates, or displays information, thereby supporting people, organizations, or other
software systems. Information system deals with the organizational data, computer hardware,
software, network, people, and procedures.
36
determine which kind of system will best address the organizational problem or opportunity
on which you are focusing. In addition, different classes of systems may require different
methodologies, techniques, and tools for development.
Figure 2.1: Depiction of three classes of Information System: TPS, MIS and DSS
37
Figure 2.2: Transaction Processing System
When a transaction processing system processes an organization's transactions, each
transaction is available for recall later. More importantly to the organization, the number and
volume of transactions can be calculated for a given time period. For example, processing the
number of deposits per hour or per day at a bank branch allows the bank to more easily know
the cash flow and thus more effectively manage outflow of cash and request for funds into the
Automated Teller Machines. Transactions also provide the official record of business
activities, which drive other systems such as those which bill customers, pay vendors and
employees, and reorder inventory or raw materials or stocked goods. The analysis and design
of a TPS requires you to focus on the firm‘s current procedures for processing transactions.
How does the organization track, capture, process, and output data?
The goal of TPS development is to improve transaction processing by speeding it up, using
fewer people, improving efficiency and accuracy, integrating it with other organizational
information systems, or providing information not previously available.
38
Decision Support Systems are designed to help organizational decision makers make
decisions. Whereas an MIS produces a report, a DSS provides an interactive environment in
which decision makers can quickly manipulate data and models of business operations. A
DSS is characterized by less structured and predictable use. DSS software supports certain
decision-making activities (from problem finding to choosing a course of action). DSS
usually have three major components: a database, a model base, and a dialogue module.
Figure2.3 shows these components.
The database contains data (which may be extracted from a TPS or MIS) relevant to
the decision to be made.
The model base: It has decision models that relate to operational, tactical and strategic
decisions. In addition, the model base is able to link models together in order to solve
larger and more complex problems, particularly semi-structured problems.
The dialogue module (or user interface): is one of the more critical features of the
system, it is used to assist the decision maker in making more efficient and effective
use of the system. Both decision makers and non-technical managers, communicate
with the DSS through this component.
The database/model base management system is the bridge between database and model base
components. It has the ability to extract data from the database and pass it to the model base
and vice versa.
Lastly, for these systems to be effective in supporting management decision, the decision
maker must have the skills and knowledge on how to correctly use these systems to address
the unique problem situation at hand.
39
Strategic
Models
T
Finance Other
R Tactical
A Internal Database Model Base Models
N
S Production Data Management Management
A
C System System Operational
T Research
I Models
O
N
Personnel External
D Model
A Data Building
T Marketing
A Blocks and
User Subroutines
Others
Interface
Data Base Model Base
Decision
Maker
The systems analysis and design for a DSS often concentrates on the three major DSS
components; as with an MIS, a data orientation is most often used for understanding user
requirements. The systems analysis and design project will carefully document the
mathematical rules that define interrelationships among different data. These relationships are
used to predict future data or to find the best solutions to decision problems. Decision logic
must be carefully understood and documented. Also, because a decision maker typically
interacts with a DSS, the design of easy-to-use yet thorough user dialogues and screens is
important.
By running the data and possible decisions through one or more models, the decision maker
can compare possible solutions to the problem at hand. The DSS allows the manager to test
or propose different solutions and see what the results may be before committing to any
particular model.
The first decision support systems were designed to support individual decision makers.
When computing technology was more primitive and more difficult for non-technical people
to use, an intermediary often used the DSS for the manager. The intermediary was usually a
staff person who had the computer skills the manager lacked to work with the DSS. The
manager would then use the output to help decide which course of action to take. Due to early
40
technical limitations, each individual or specific DSS had to be designed and built one at a
time. Now, many decision support systems run on microcomputers. The models are relatively
easy to construct, change, and interpret using such software programs as electronic
spreadsheets. Tools like spreadsheets and fourth-generation language (4GLs) are called DSS
generators because they are general purpose tools that can be used to develop many specific
DSS with relative ease.
41
An ESS is relatively easy to manipulate and usually provides graphical presentations on
several different pre-defined topics.
In-text Question & Answer
o All the following are types of information systems: Transaction Processing Systems,
Management Information Systems, Decision Support Systems, Expert Systems.
True/False?
True.
42
chemistry properties. Computer-Aided Design (CAD) systems allow engineers to create
graphic simulations of the products they design. Engineers can then manipulate and observe
these simulations, allowing the engineers to see what a product will look like without having
to build the product first. Related to CAD is Computer-Aided Manufacturing (CAM) systems.
These systems help automate and control the manufacturing process in factories. Scientific
computing allows scientists in many fields to simulate everything from molecular movements
to global weather patterns, providing an understanding that would otherwise either not be
possible or be cost-prohibitive.
Another class of systems consists of Office Automation Systems. The term office automation
promises more than the term delivers, as the term conjures up images of offices organized
and run like automated factories. Office automation systems are usually quite basic and
include such tools as word processing and accounting information systems. Integrated office
systems that include electronic mail, calendaring features, and reminder files in addition to
word processing are also available. Electronic mail (e-mail) allows office workers to send
each other messages and files directly from their computers and is usually more convenient
than trying to reach someone by telephone. Calendaring features allow office workers to
coordinate their schedules, to reserve conference rooms, and to schedule meetings. Reminder
files provide a means for conveniently reminding ourselves of meetings and other
commitments. Office systems are rarely if ever developed in-house, but instead are purchased
or leased from hardware or software producers.
Computer-Aided Design
43
Activity 2.1: Feedback:
Decision Support Systems is helpful in guiding every business organisation in making
informed decision. A DSS provides an interactive environment in which decision makers can
quickly manipulate data and models for business operations.
Take a look at figure Figure2.3; it describes the various components: a database, a model
base, and a dialogue module.
Strategic
Models
T
Finance Other
R Tactical
A Internal Database Model Base Models
N
S Production Data Management Management
A
C System System Operational
T Research
I Models
O
N Personnel External
Model
D Data
A
Marketing Building
T
A
Blocks and
Others User Subroutines
Interface
Data Base Model Base
Decision
Maker
44
Box 2.1: Information Systems
An information system is a software system that captures, transmits stores, retrieves,
manipulates, or displays information, thereby supporting people, organizations, or
other software systems.
It is important to note that:
Information system deals with the organizational data, computer hardware,
software, network, people, and procedures.
Traditionally, organizations considered four types of information systems
which include: Transaction Processing Systems, Management Information
Systems, Expert Systems, and Decision Support Systems.
Decision support system is further broken down into those for individuals,
groups, and executives.
In general, there are two categories of information systems, Scientific (or
technical) Computing and Office Automation Systems, which are recognized in
many organizations.
Other categories of information system are scientific and office information
systems. These include
1. Scientific and Engineering Computing. These systems support engineers in the
design of new products or improvement of older ones. Their computer support
might require computer simulations or analytical models of physics or
chemistry properties. Computer-Aided Design (CAD) systems allow engineers
to create graphic simulations of the products they design.
2. Office Automation Systems. Office automation systems are usually quite basic
and include such tools as word processing and accounting information systems.
Integrated office systems that include electronic mail, calendaring features, and
reminder files in addition to word processing are also available.
Also, note that the term CAD means Computer-Aided Design. CAD systems allow
engineers to create graphic simulations of the products they design. On the other hand
CAM means Computer-Aided Manufacturing. CAM systems help automate and
control the manufacturing process in factories.
45
Self-Assessment Questions (SAQs) for Study Session 2
Now that you have completed this study session, you can assess how well you have achieved
its Learning Outcomes by answering these questions. You can check your answers with the
Notes on the Self-Assessment Questions at the end of this Module.
SAQ 2.1: Information system is a software system that captures, transmits stores, retrieves,
manipulates, or displays information, thereby supporting people, organizations, or
other software systems.
SAQ 2.4: The role of scientific and engineering computing systems in the field of
engineering is to support engineers in the design of new products or improvement of older
ones.
46
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design. 5th
edition, John Wiley & Sons, Inc.
Georgiana M. (n.d.): Decision support systems. Faculty of Computer Science for Business
Management, Romanian American University, Bucharest, Romania
Joseph S. V., Joey F. G, and Jeffrey A. H., (2012): Essentials of Systems Analysis and
Design. 5th Edition, Prentice Hall.
47
Study Session 3: System Development Methodology
Introduction
In Study Session One, you learned what a system is, and in Study Session Two, you learned
about the types of information systems utilized in various organizations. You discovered that
an information system is a software system that captures, transmits, stores, retrieves,
manipulates, or displays information, thereby assisting people, organizations, or other
software systems. You will learn system development methods in this session.
48
Methodology
A methodology provides a sequential approach of traversing the activities or tasks of
designing and developing a system. There can be multiple methodologies of developing a
system; but, there is only one systems development life cycle.
Example: You wish to fly from one place to another; however, you can go through various
routes to reach your destination. Going from one location to another is SDLC, and taking
various routes are methodologies.
The following is an example of Waterfall development methodology:
System Request
PHASE 1
Systems Planning
Pre liminary
Inve stigation Re port
PHASE 2
STOP Systems Analysis
STOP
Systems Design
PHASE 4
STOP Systems
Implementation
Stop Project
Development
Complete Functioning
Information System
PHASE 5
Systems Operation
& Support
O perational
Information System
Figure 3.1: The Phases and end-products of the systems development life cycle (SDLC)
49
There are several methodologies that are used to develop a system. All of these follow certain
phases of the system development life cycle. Considering the time requirement to develop a
system, these methodologies can be grouped into the following:
• Structured Design
• Rapid Application Development (RAD)
i. Waterfall Development: This is the original structured system design and development
methodology mentioned above. In this case, each phase of the SDLC flows downward in a
sequence like a waterfall as shown in figure 3.1. The key deliverables for each phase are
typically produced on paper (often as long documents) and are presented to the project
sponsor for approval.
Although it is possible to go backward in the SDLC (e.g., from design to analysis), it requires
substantial resources. Thus the activities of each phase are completed before moving to the
next phase.
ii. Parallel Development: The parallel development methodology attempts to address the
problem of long delays between the analysis phase and the delivery of the system. Instead of
doing the design and analysis in sequence, it performs a general design of the whole system
and then divides the project into a series of distinct sub-projects that can be designed and
implemented in parallel.
50
PLANNING
DESIGN
ANALYSIS
IMPLEMENTATION Sub-project A
DESIGN
DESIGN
IMPLEMENTATION Sub-project B
DESIGN IMPLEMENTATION
IMPLEMENTATION SYSTEM
Sub-project C
iii. Spiral Model: The "spiral model" is an iterative model for software development,
described by Barry Boehm. Each iteration basically follows the Waterfall Model, but
subsequent iterations build upon previous work. Barry Boehm devised the spiral model to
address the weaknesses of the waterfall model, especially its lack of resilience in the face of
change. The spiral model focuses on addressing risks incrementally by repeating the waterfall
model in a series of cycles or rounds:
Concept of Operation
System Requirements
System Product Design
Detailed Design
Code
Unit Test
Integration and Test
Acceptance Test
Implementation.
51
Figure 3.3: Spiral Model
It is called a "spiral" because the common illustrative diagram shows a long string of
waterfalls wrapping around a centre, emphasizing the aspect of continuous growth and
revisiting of previous work. The spiral model is an improvement on the waterfall model, as it
provides for multiple builds and provides several opportunities for customer involvement.
However, it is elaborate, difficult to manage, and does not keep all workers occupied during
all phases.
The spiral model is an approach to application development that focuses on minimizing risk.
Each transition around the spiral involves repeating the same four steps: (1) determine the
objectives, alternatives, and constraints of this iteration; (2) evaluate alternatives; identify and
resolve risks; (3) develop and verify deliverables from this iteration; and (4) plan the next
iteration.
iv. Iterative Model: The activities of phases for planning, analysis and design are repeated
until a solid system design is developed before developing the system.
52
PLANNING
ANALYSIS
DESIGN
IMPLEMENTATION
OPERATION & SUPPORT
Figure 3.4: An alternative model of the SDLC that shows the interaction of planning, analysis, design,
which leads to implementation and then to operation and support
53
RAD methodologies adjust the SDLC phases to get some part of the system developed
quickly and place into the hands of the users, so that users can better understand the system
and provide feedback for improvement of the system.
Two common methodologies of rapid application development are: phased development and
prototyping.
Phased Development: The phased development methodology breaks the overall system into
a series of versions that are developed sequentially. The analysis phase identifies the overall
system concept, and the project team, users, and system sponsors then categorize the
requirements into a series of versions. The most important and fundamental requirements are
bundled into the first version of the system. The analysis phase then leads into design and
implementation, but only with the set of requirements identified for version 1.
Once version 1 is implemented, work begins on version 2 and follows the steps, and so on.
Any additional requirement identified during testing of the older version is implemented in
the next version.
Phased development has the advantage of quickly getting a useful system into the hands of
the users.
ANALYSIS
PLANNING
DESIGN
ANALYSIS
IMPLEMENTATION
ANALYSIS
DESIGN
IMPLEMENTATION
ANALYSIS
System Version 1
DESIGN
System Version 2
IMPLEMENTATION
System Version 3
Figure 3.5: Phased Development
54
Prototyping: The prototyping methodology performs the analysis, design, and
implementation phases concurrently, and all three phases are performed repeatedly in a cycle
until the system is completed.
In this case, the users of the system are an active participant of the system development
process. With the basic requirements from the users, a quick analysis and design of the
system is performed, and a prototype of the system containing main features of the
requirements, are developed.
The prototype is handed to the users for testing and to provide comments; which are then
reanalyzed and redesigned, and a second prototype is developed. The process continues in a
cycle until the users and developers agree to a final system.
Prototyping methodology gives a system quickly to the users‘ hands, which they can
visualize from the very beginning instead of waiting at the end of the system development.
PLANNING
ANALYSIS
SYSTEM IMPLEMENTATION
DESIGN
PROTOTYPE
IMPLEMENTATION
SYSTEM
Figure 3.6: Prototyping
55
Now that you are able to describe system methodology, let us learn tools for rapid
applications development
Joint Application Design (JAD): In this approach, the sponsor company creates a task force
of users, managers, and IS professionals that works together to gather information, discuss
business needs, and define the new system requirements. This group usually meets over
periods of days or weeks.
Because of the wide range of user input, JAD produces the best possible definition of a new
system than a single analyst can provide.
In the design phase, CASE tools can be used to create entity-relationship diagrams and to
generate program codes in certain language such as Visual Basic. Visible Analyst, a CASE
tool from the Visible Systems Corporation can be used in the planning, analysis, design, and
code generation of a system development.
56
Activity 3.1 Rapid Application Development
Take a moment to reflect on what you have read so far. Based on your learning experience,
and knowing that RAD drastically raises the quality of finished systems while reducing the
time it takes to build them, note down common methodologies of rapid application
development?
ANALYSIS
PLANNING
ANALYSIS DESIGN
IMPLEMENTATION
ANALYSIS
DESIGN
IMPLEMENTATION
ANALYSIS
System Version 1
DESIGN
System Version 2
IMPLEMENTATION
System Version 3
Figure 3.5: Phased Development
For us to meaningfully learn about system there is a need to understand system development
methodology and its rapid application development. In other words the meaning and concept
of a system development are explained in Box 3.1
57
Box 3.1: Meaning of Systems development methodology
System development methodology is a standard process followed in an organization to
conduct all the steps necessary to analyze, design, implement, and maintain
information systems. It is important to note:
System development life cycle provides the guidelines for the steps or activities
that need to be performed to design and develop a system; however, it does not
prescribe the method of performing the phases or activities.
A methodology provides a sequential approach of traversing the activities or
tasks of designing and developing a system.
There can be multiple methodologies of developing a system; but, there is only
one systems development life cycle.
Methods use in developing a system is grouped into two, namely:
i. Structured Design
ii. Rapid Application Development (RAD)
Also, note that the term RAD refers to a development life cycle designed to give much
faster development and higher quality systems than the traditional life cycle.
The phased development methodology breaks the overall system into a series of
versions that are developed sequentially.
58
SAQ 3.1 (tests learning outcome 3.1)
Can you explain the methodology used to develop a system?
SAQ 3.2 (tests learning outcome 3.2)
Can you describe structure design?
SAQ 3.3 (tests learning outcome 3.3)
Can you differentiate between System development methodology and system development
life cycle?
SAQ 3.4 (tests learning outcome 3.4)
Can you state the tools for Rapid Application Development?
Reference
Introduction to Rapid Application Development. Retrieved on June 26, 2016 from
http://www.ftms.edu.my/images/Document/IMM006RAPIDAPPLICATION
DEVELOPMENT.pdf
59
Study Session 4: System Development Life Cycle (SDLC)
Introduction
You learned about system development approaches and a basic introduction to the system
development life cycle in the previous session. The system development life cycle (SDLC) is
a critical process that must be followed during the development of any system. This session
will teach you about the many actions required in the system development life cycle.
60
The series of steps used to mark the phases of development for an information system is
referred to as system development life cycle. It is a process by which systems analysts,
software engineers, and programmers build systems. The system development life cycle does
not exist by itself; it is in fact part of an overall product lifecycle.
Within the product life cycle, system will undergo maintenance to correct errors and to
comply with changes to requirements. The simplest overall form is where the product is just
software, but it can become much more complicated, with multiple software developments
each forming part of an overall system to comprise a product.
System development life cycle is a phased approach to analysis and design of a system,
which holds that systems are best developed through the use of a specific cycle of analyst and
user activities.
System analysis and design are the central phases of SDLC. In its simplest form, SDLC
consists of five phases:
Systems planning
Systems analysis
Systems design
Systems implementation
Systems operation and support
Each phase is divided into multiple steps or activities that need to be completed.
Note, a system analyst spends most of his or her time in analyzing and designing a system
before the programmers actually develop the system; although program coding takes about
three-fourth of the total time of the system development life cycle.
61
Project Initiation (System Request)
Preliminary Investigation/Feasibility Study (Feasibility Report)
Technical Feasibility
Economic Feasibility
Operational Feasibility Determine Business Requirements (Requirement Definition)
Project M anagement (Project Plan) Analyze Requirements
Data-Flow Diagrams; Data Dictionary
Entity-Relationship Diagram
System Proposal
PLANNING
ANALYSIS
Input Design
Output Design
Database/File Design
Program Design
DESIGN Architectural Design
Design Specification
Figure 4.1: Typical Phases and Activities of a Systems Development Life Cycle
The number and names of the SDLC phases varies from author to author, but the five phases
depicted in figure 4.1 above i.e. System Planning, System Analysis, System Design, System
Implementation and Operation and Support are common phases. The cycle typically flows
through numerous iterations. Some authors break the planning, design, and implementation
phases further. In some cases, systems maintenance is not strictly considered as part of the
SDLC. But in all cases, the following issues are addressed in developing a system:
i. Identify a project
ii. Determine end-user‘s requirements
iii. Analyze system needs
iv. Acquire computer hardware and software (if required)
v. Design the new system
vi. Construct the new system
vii. Install the new system
viii. Maintain and improve the system
62
In each phase of the SDLC, certain steps are performed to complete the phase. In a particular
project, all steps in a particular phase may not follow a logical path, but the steps are fitted
according to the need of the system. An important outcome of each phase of the SDLC is a
document. The document from one phase provides a structure for the development of the next
phase. At each phase the system gets more elaborate and refined.
System Planning
The systems planning phase is the fundamental process of understanding why an information
system should be built and it determines how the project team will go about building it. Here,
an organization‘s total information system needs are identified, analyzed, prioritized and
arranged. Thus the planning phase can be divided into two sub-phases: Project Identification
and Selection, and Project Initiation and Planning.
Project Identification and Selection:
In this phase, someone in an organization identifies that there is a need to improve an existing
system or a new system is needed to improve business operations. Most ideas come from
outside the IT department such as marketing, accounting, etc., and managers and other
personnel get involved to initiate a process.
The initiation of this phase comes as a system request document, which provides a brief
summary of a business need and explains how a new or improved system can increase
business value of the organization.
Project Initiation and Planning:
In this phase, an analyst from the IT department gets involved. His or her purpose is to
identify clearly the nature and scope of the problems, opportunities of improvement, and
define specific solutions. This requires preliminary investigation.
Activities in this phase include interviewing prospecting users and management,
summarizing the knowledge obtained, estimating the scope of the project, and documenting
the results.
The preliminary investigation is often called a feasibility study (or feasibility analysis) as the
information gathered by the analyst is analyzed in terms of economical feasibility, technical
feasibility, and operational feasibility of the project.
• Technical Feasibility: Is the solution technically practical? Does our staff have the technical
expertise to design and build this solution?
63
• Operational Feasibility: Will the solution fulfil the end-user‘s requirements? To what
degree? How will the solution change the end-users‘ work environment? How do end-users
feel about such a solution?
The output of the planning phase is a feasibility report that presents findings and
recommendations. It usually includes a problem definition, objective summary, and
preliminary cost-benefit analysis. The objective of this report is to determine whether the
project is feasible, i.e., whether to invest significant resources for further study or not.
The system request and the feasibility report are presented to an information systems
approval committee. If the committee approves the project, then the second step of the project
initiation occurs – project management.
During project management, the project manager creates a work plan, staffs the project, and
puts techniques in place to help him or her control and direct the project through the entire
system development life cycle.
The deliverable for project management is a project plan that describes the project team
member roles, deliverable phases, cost of each deliverable, timeline for each deliverable, and
so on.
Having a project plan at the beginning keeps the project under control in terms of time and
money. It also helps to stop the project at any step if the project runs over the budget or the
business policy of the sponsor-company changes over time.
SYSTEM ANALYSIS
Information systems analysis refers to a number of activities in the early stages of
information systems development. It can be referred to as a method used by companies to
create and maintain information systems that perform basic business functions such as
keeping track of customer names and addresses, processing orders, and paying employees.
The main purpose of systems analysis is to identify and document the requirements for an
information system to support and / or improve organizational activities. In this phase of
system development life cycle, the system analyst tries to understand the data and
information collected in the previous phase and defines requirements or needs of the new
system.
64
Some of the major tools used in structured system analysis include: Function diagram, Data
flow diagram, Data dictionary, Process specification, and Entity relationship diagram. The
systems analyst may collect further information from the users to obtain a clear picture of the
existing system and understand the requirements of the new system. He or she then analyzes
the requirements-an elaborate step termed as requirement analysis.
The most popular approach to requirement analysis is modelling. The analyst may use
process modelling tool (data flow diagrams) to chart the input, processing, and output of the
business functions in a structured graphical form. The analyst also uses data modelling tool
such as Entity-Relationship (E-R) diagrams. The analysis leads to the data dictionary
(definitions of the inputs, files, database, and outputs) and process descriptions for the new
system, but do so without expressing technical details. Essentially, the activities in this phase
focus on the general or logical design of the system (as opposed to physical design) to give an
overview of the system.
65
4.3 System Design
In a traditional SDLC environment, systems design usually started when the systems analysis
phase was done. Using the system requirements specification as a blueprint, developers
transformed the logical design into a working model that could be tested, reviewed by users,
and implemented. Today, the process is much more dynamic. In general, systems
development is faster, more flexible, and more user-oriented. The introduction of adaptive
methods such as agile development and extreme programming has changed the landscape
significantly. Depending on the project, system developers often blend traditional and
cutting-edge development methods, because what works in one situation might not work in
another.
Information systems design refers to the process of defining the software architecture,
components, modules, interfaces, and data for a software system to satisfy requirements
specified during systems analysis. In the design phase, a description of the recommended
solution is converted into logical and then physical system specifications. The design phase
decides how the system will operate, in terms of the hardware, software, and network
infrastructure; the user interface, forms, and reports that will be used; and the specific
programs, databases, and files that will be needed. Look and feel or blueprint of the system
on paper is developed in this phase. This phase introduces techniques for the design of
interfaces, menus, and databases, based on the requirement specification worked out during
the analysis phase. Any glitch in the design phase could be very expensive to solve in the
later stage of the software development. Several techniques are used for the design phase of
system development process; these include:
Information System Design and Optimization System (ISDOS)
Pseudo-code
Structured design (SD)
Jackson Design methodology (JDM)
Hierarchy Plus Input, Process, and Output (HIPO)
Structured Analysis and Design Technique (SADT)
Entity Relationship Model (E-R Model)
Data Structure Diagram (DSD)
CASE Method and
Semantic Data Model (SDM)
Systems design phase can be broken into two phases: logical design and physical design.
66
Logical Design
In the logical design phase, all functional features of the system chosen for development in
analysis are described independently of any computer platform. In this phase, the system
analyst uses the information collected earlier to develop a logical design of the information
system. The database structure is also defined here; and it identifies external entities and
relationships through entity-relationship (E-R) diagrams and normalization.
Physical Design
The logical specifications of the system from logical design are transformed into the
technology-specific details from which all programming and system construction can be
accomplished. This phase identifies the file and database structures, system structure,
program structure, and hardware and software necessary to implement the system. They
include:
• Database: Implementation of E-R diagram. Defines all tables in the database including field
names, field size, data type, keys, validation rules, and so on.
• Files: If the system requires any input or output file, their structures are defined. A file
definition includes information such as the record length, field names, field size, field
sequence, and so on.
• Data-Entry Forms: Data-entry forms are developed, which defines the relationships of data-
entry fields with the file or table-fields. The forms can also be used for displaying data. These
forms can be character-based or GUI-based. The analyst defines exactly how each form looks
on the computer screen.
• Menus: Menus are designed such that the forms and reports can be accessed and printed
according to the business need of the organization. It should also address the security
requirement of the organization.
• Reports: Reports are defined, which includes the relationships of the report-fields with the
table-fields, any calculations, layout, font type, font size, and so on.
• Systems and Programs: All programs and program modules corresponding to processes are
defined through a structured chart. To define the processes performed by a program, the
analyst may include data-flow diagrams, flow-charts, and pseudocodes that were used to
describe the processes in the analysis phase.
• Programming Languages: Identifies the languages that will be used to code the systems.
• Database System: Identifies the database software that will be used in the system.
• Hardware Platform: Identifies the computer hardware that will be used in various parts of
the system.
67
• Operating Systems: Operating systems that will be used in various parts of the system.
• Network Architecture: Identifies the network architecture of the system.
Although each project is different, design considerations usually involve users, data, and
system architecture.
USER CONSIDERATIONS: The most important goal is to make the system user
friendly. Here are some suggestions to keep in mind:
i. Carefully consider any point where users receive output or provide input- The user
interface must be easy to learn. Input processes should be easy to follow, intuitive, and
forgiving of errors. Output should be attractive and easy to understand, with an appropriate
level of detail.
ii. Anticipate future needs- Suppose that a parts inventory database contains a one character
field for category, such as electrical, mechanical, or hydraulic. The design works well, but
what if the company decides to break these overall groups down into more specific segments?
Why should there be a limitation of just one character? A better design would anticipate
possible expansion to two or more characters. For example, many people recall the concern
called the Y2K issue, when some older programs that used only two characters to store the
year might not adjust properly to the new century
iii. Provide flexibility- Suppose that a user wants a screen display of all customer balances
that exceed N5,000 in an accounts receivable system. How should you design that feature?
The program could be coded to check customer balances against a fixed value of 5000, which
is a simple solution for both the programmer and the user because no extra keystrokes are
required to produce the display.
68
However, that approach is inflexible. For instance, if a user later needs a list of customers
whose balances exceed N7,500 rather than N5,000, more programming would be needed. A
better approach might be to allow the user to enter the amount. For example, if a user wants
to display customers with balances of more than N7,500, he or she can enter that figure in a
parameter query. A parameter is a value that the user enters whenever the query is run,
which provides flexibility, enables users to access information easily, and costs less. A good
systems design can combine both approaches. For example, you could design the program to
accept a variable amount entered by the user, but start with a default value of 5000 that the
system displays automatically. Users can press the ENTER key to accept the default value, or
enter another value. Often the best design strategy is to come up with several alternatives, so
users can decide what will work best for them.
DATA CONSIDERATIONS: Data entry and storage are important in every system.
Here are some suggestions to keep in mind:
i. Enter data as soon as possible- For example, employees in the receiving department
should enter data about incoming shipments when the shipments arrive, and sales clerks
should enter data about new orders when they take the orders.
ii. Verify data as it is entered- The input design should specify a data type, such as
alphabetic, numeric, or alphanumeric, and a range of acceptable values for each data item. If
an incorrect value is entered, the system should recognize and flag it immediately. The
system also should allow corrections at any time. Some errors, for example, can be easily
corrected while the original source documents are at hand or the customer is on the phone.
Other errors may need further investigation, so users must be able to correct errors at a later
time.
iii. Use automated methods of data entry whenever possible - For example, receiving
department employees can use scanners to capture data about merchandise received.
Automated data entry methods, such as the RFID scanner, can reduce input errors and
improve employee productivity.
iv. Control data entry access and report all entries or changes to critical values - Dollar
fields and volume fields are critical data fields. Examples of critical volumes might include
the number of checks processed, the number of medical prescriptions dispensed, or the
number of insurance premium payments received. Reports that trace the data entry and
changes to critical data values are called audit trails and are essential in every system.
69
v. Log every instance of data entry and changes. For example, the system should record
when a customer‘s credit limit was established, by whom, and any other information
necessary to construct the history of a transaction.
vi. Enter data once. If input data for a payroll system also is needed for a human resources
system, you should design a program interface between the systems so data can be transferred
automatically. For example, an employee‘s date of birth should be entered only once, but the
data should be accessible by multiple systems or authorized users.
vii. Avoid data duplication. In an inventory database, vendor addresses should not be stored
with every part record. Otherwise, the address of a vendor who supplies 100 different parts
will be repeated 100 times. Additionally, if the vendor‘s address changes, all 100 parts
records must be updated. Data duplication also can produce inconsistencies. If the 100 stored
addresses for the vendor are not identical, how would a user know which version is correct?
In unit 7, you will learn about data modelling and a technique called normalization, which is
a set of rules that can help you identify and avoid inconsistencies in data design tasks
ARCHITECTURE CONSIDERATIONS:
In addition to the issues affecting users and data, you should consider the overall architecture.
Here are some suggestions to keep in mind:
i. Use a modular design- In a modular design; you create individual components, called
modules, which connect to a higher-level program or process. In a structured design, each
module represents a specific process, which is shown on a DFD and documented in a process
description. If you are using an object-oriented design, object classes are represented by code
modules.
ii. Design modules that perform a single function- Independent module provides greater
flexibility because they can be developed and tested individually, and then combined or
reused later in the development process. Modular design is especially important in designing
large-scale systems, because separate teams of analysts and programmers can work on
different areas and then integrate the results..
SYSTEM IMPLEMENTATION
During implementation, the information system is coded, tested, installed and supported in
the organization. This phase can be divided into two parts: systems development and systems
installation.
70
Systems Development
In this phase, the system analyst works with the programmers to develop the new system
(software and hardware) according to the definition of the functional specification. The
analyst works as a facilitator to the programmers and other system architects to explain any
part of the design that may not be clear from the document.
Constructing the new system is the most time-consuming part of the development life cycle.
If the functional specification defines all processes clearly, then the programming becomes a
systematic activity. A poor functional specification may require a lot of interaction time
between the analyst and programmers.
The development phase also involves program testing and control. As each input form, report
or process is developed, it is tested and kept aside until the whole system is integrated and
tested again.
During this phase, the analyst also works with the users to develop effective documents for
software. These might include procedure manual, online help, frequently asked questions,
―readme‖ files, training guide, and so on.
Systems Installation
Once the system is developed, the analyst helps implement the new system. In this phase, the
analyst works with the users to describe the functionality of the new system. He or she also
trains the users for the new system.
It may take several versions to install the final system. Any change or improvement
originated due to user interaction or demonstration should be reflected in the next version,
until the users are satisfied with the system.
71
• Hardware and software change: A system that uses older technology may be modified to
use the capabilities of newer technology.
Now that you are able to describe system development life cycle (SDLC), let us learn
Approaches to System Analysis and Design
In detail, SSADM sets out a cascade or waterfall view of systems development, in which
there are a series of steps, each of which leads to the next step. (This might be contrasted with
the rapid application development methodology - RAD, which pre-supposes a need to
conduct steps in parallel.). SSADM's steps, or stages, are:
Feasibility
Investigation of the current environment
Business systems options
Definition of requirements
72
Technical system options
Logical design
Physical design
For each stage, SSADM sets out a series of techniques and procedures, and conventions for
recording and communicating information pertaining to these- both in textual and
diagrammatic form. SSADM is a very comprehensive model, and a characteristic of the
method is that projects may use only those elements of SSADM appropriate to the project.
SSADM is supported by a number of CASE tool providers.
A physical model is often used in surveying the current system and designing the new system
while a logical model is used in analyzing system‘s requirements. This is a significant
advantage brought about by the Structural system analysis method.
Structural analysis together with prototype method gives ideas of the new system and helps
make best use of both methods.
Structured analysis is a set of techniques and graphical tools used by the analyst for applying
a systematic approach to systems analysis. The traditional approach for system analysis
focuses on cost/benefit and feasibility analyses, project management, hardware and software
selection, and personnel considerations. In contrast, structured analysis uses graphical tools
such as Data Flow diagram, data dictionary, structured English, Decision tree, and decision
tables. The outcome of structured analysis is a new document, called system specifications,
which provides the basis for design and implementation.
The structured specification consists of the DFDs that show the major decomposition of
system functions and their interfaces, the data dictionary documenting all interface flows and
data stores on the DFDs, and documentation of the intervals of DFDs through structured
English, decision trees, and decision tables.
73
Structured design is a data flow methodology. The graphical representation of data flow,
communication & defining the modules & their relationship with each is known as Structure
Chart. This method decomposes & modularizes the system so that the complexity &
manageability will come down. Thus reducing the intuitive reasoning & promotes the
maintainable provable systems.
On the other hand SSADM puts special emphasis on the analysis of the system and its
documentation. This causes the danger of over-analyzing, which can be very time and cost
consuming. Due to various types of description methods, checks of consistence cannot be
carried out. Especially with large systems, the outline diagram can become very unclear,
because all relevant data flows have to be included.
The objectives of Structured System Analysis and Design Methods are to:
Improve project management & control
Make more effective use of experienced and inexperienced development staff
Develop better quality systems
Make projects resilient to the loss of staff
Enable projects to be supported by computer-based tools such as computer-aided
software engineering Systems
Establish a framework for good communications between participants in a project
74
The use of object-oriented languages means that the systems analysis method must place an
equal emphasis on the data, and the processes using that data. Complete Systems Analysis
delivers a specification that readily translates to the correct classes. Unimportant information
gets filtered and only significant aspects of the system get modelled.
FALSE
75
form various stakeholders, at different stages when developing and deploying a software
system.
v. Requirements for Support Planning: The support provided after the deployment and
installation of any system is critical for ensuring its use for a long period of time. Such
support must be organized according to the different development stages, as support needs
may differ. For instance, the training and step-by-step guidance offered is important for end
users, while requirements for bug fixing and additional functionality is likely to be discussed
with more advanced stakeholder groups.
In the next study session, you will learn requirement analysis, in which the system analyst
determines the functional and non-functional needs for the new system throughout the
development process.
76
Take a look at sub-session 4.3; it describes the factors
For us to meaningfully learn about system analysis development there is a need to understand
system development life cycle and factor influences its installation. In other words the
meaning of a system development life cycle and factor influences its introduction are
explained in Box 4.1
Also, note that the term SDLC refers to as system development life cycle, and .
Systems design phase can be broken into two phases: logical design and physical
design.
Logical Design: in this phase, all functional features of the system chosen for
development in analysis are described independently of any computer platform.
In this phase, the system analyst uses the information collected earlier to
develop a logical design of the information system.
Physical Design phase the logical specifications of the system from logical
design are transformed into the technology-specific details from which all
programming and system construction can be accomplished. This phase
identifies the file and database structures, system structure, program structure,
and hardware and software necessary to implement the system.
77
Summary of Study Session 4
In Study Session 4, you have learned that:
System development life cycle (SDLC) is the series of steps used to mark the phases
of development of an information system.
SDLC is the process by which systems analysts, software engineers, and programmers
build systems.
System development life cycle consists of five phases: these are
i Systems planning
ii Systems analysis
iii Systems design,
iv Systems implementation and
v Systems operation and support.
Factor affecting SDLC model introduction includes
i. Requirements for goal setting
ii Requirements for skills,
iii Requirements for project managing,
iv Requirements for Assessing
v Usability and Requirements for Support Planning
78
Notes on the Self-Assessment Questions (SAQs) for Study Session 4
SAQ 4.1: System Development Life Cycle is the overall process of developing,
implementing, and retiring information systems through a series of multistep process.
SAQ 4.2: The five phases of System Development Life Cycle (SDLC) are;
i Systems planning
ii. Systems analysis
iii Systems design
iv Systems implementation
v Systems operation and support
SAQ 4.3: The two systems design phases are: Logical design and Physical design.
i. Logical Design: in this phase, all functional features of the system chosen for development
in analysis are described independently of any computer platform. In this phase, the system
analyst uses the information collected earlier to develop a logical design of the information
system.
ii. Physical Design phase the logical specifications of the system from logical design are
transformed into the technology-specific details from which all programming and system
construction can be accomplished. This phase identifies the file and database structures,
system structure, program structure, and hardware and software necessary to implement the
system.
SAQ 4.4: The objectives of Structured System Analysis and Design Methods are to:
i) Improve project management & control
ii) Make more effective use of experienced and inexperienced development staff
iii) Develop better quality systems
iv) Make projects resilient to the loss of staff
v) Enable projects to be supported by computer-based tools such as computer-aided
software engineering Systems
vi) Establish a framework for good communications between participants in a project
SAQ 4.5: Factors that necessitate the use of system development life cycle when developing
information system includes: i. Requirements for goal setting, ii. Requirements for skills, iii
Requirements for project managing, iv Requirements for Assessing Usability and v
Requirements for Support Planning
79
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Dr. Kevin P. Duffy, (2011): Structured Systems Analysis and Design. Sogeti University
Gary B. S., and Harry J. Rosenblatt (2012): Systems Analysis and Design (9th edition): Shelly
Cashman Series: Thomson Course Technology. USA.
Hyalij B., and Gondane P. S. (2010): System Analysis and Design Flexibility in the Approach
Based on the Product Definition. Maharashtra Institute of Technology Pune, India:
International Journal of Computer Applications (2010). Vol1-No.20
80
Study Session 5: Requirement Analysis
Introduction
In the last study session, you learned about the system analysis phase, and you know that the
system analyst determines the functional and non-functional requirements for the new
system. In this study session, you will be able to learn in depth about the system development
analysis phase, the concept of a requirement analysis, its purpose, and the structure of the
requirements. In addition, techniques for eliciting requirements, including interviews, JAD
sessions, questionnaires, document analysis, and observation, are described. Finally,
numerous requirements analysis strategies are also described to assist the analyst in
identifying requirements.
Learning Outcomes for Study Session 5
When you have studied this session, you should be able to:
5.1 Explain the term analysis phase of a system development (SAQ 5.1)
5.2 Define requirement (SAQs 5.2)
5.3 Enumerate the techniques that can be used to acquire information for a system (SAQ 5.3)
5.4 State the two group of requirement (SAQ 5.4)
5.5 List the three types of interview questions you know (SAQ 5.5)
5.6 State five criteria to consider for requirement gathering techniques (SAQ 5.6).
81
Understand the existing system (the as-is system).
Identify improvements.
Define requirements for the new system (the to-be system).
Sometimes the first step (i.e., understanding the as-is system) is skipped or not carried out
extensively. This happens when no current system exists, if the existing system and processes
are irrelevant to the future system, or if the project team is using a RAD or agile development
methodology in which the as-is system is not emphasized. Traditional methods such as
waterfall and parallel development (see Unit 3) typically allocate significant amount of time
to understanding the current system and identifying improvements before moving to capture
requirements for the proposed system. Newer RAD and agile methodologies, such as iterative
development and prototyping (see Unit 3), focus more exclusively on improvements and the
proposed system requirements, and they devote little time for investigating the current
system. However, it is useful to study the current situation whenever possible because the
insights gained from reviewing the existing system can be quite valuable to the project team.
A systems analyst needs strong critical thinking skills which is the ability to recognize
strengths and weaknesses and recast an idea in an improved form. These skills are needed in
order for the analyst to understand issues and develop new and improved business processes
that are supported by information system technologies. These skills are essential in
examining the results of requirements discovery and translating those requirements into a
concept for the new system.
As an example, let‘s say that a user states that the new system should ―eliminate inventory
stock-outs.‖ While this might be a worthy project goal, the analyst needs to think about it
critically in order to formulate the statement in terms of useful requirements. The analyst
could first have the users think about circumstances leading to stock-outs (e.g., supplier
orders are not placed in a timely way), and then describe the issues that lead to these
circumstances (e.g., on-hand inventory levels are updated only once a week; delays occur in
identifying the best supply source for the items; delays occur in receiving approval of the
supply order, etc.). By focusing on these issues, the team is in a better position to develop
new business processes that address these concerns. The new requirements will then be based
on the issues that truly need to be fixed. In this case, the requirements might include, in part:
The system shall update on-hand inventory levels twice per day.
The system shall produce an out-of-stock notification immediately when an item
quantity on hand reaches the item reorder point.
82
The system shall include a recommended supplier with every out-of-stock
notification.
The system shall produce a supply purchase order that is sent to the appropriate
manager for approval.
The system shall send an approved supply purchase order to the supplier via secure
electronic communication channel.
As this example illustrates, the analyst cannot realistically expect that the true requirements
for the new system are easily gathered following a few conversations with the stakeholders.
The analyst must be prepared to dig into the situation and discover requirements. This is not
often an easy process; this is where critical thinking is required.
A number of techniques and tools can be used by the analyst to facilitate this process of
gathering requirements. In this unit, we will describe those techniques and tools so that you
can learn how to use them during the analysis phase. We will also explain the essential role
that requirements play in defining the new system.
As mentioned above, the analyst also employs tools during this phase that are the subject of
complete chapters: use cases, process models (unit 6), and data models (unit 7).
The final deliverable of the analysis phase is the system proposal, which compiles the
detailed requirements definition statement, use cases, process models, and data model
together with a revised feasibility analysis and work plan. At the conclusion of the analysis
phase, the system proposal is presented to the approval committee, usually in the form of a
system walk-through. The goal of the walk-through is to explain the system in moderate
detail so that all the stakeholders (the users, managers, and key decision makers) clearly
understand it, can identify any needed modifications, and are able to make a decision about
whether the project should continue.
If approved, the system proposal components (requirements definition, use cases, process
models, and data model) are used as inputs to the steps in the design phase, which further
refine them and define in much more detail how the system will be built.
Many of the major design decisions for the new system are found in the analysis deliverables.
Therefore, it is important to remember that the deliverables from the analysis phase are really
the first step in the design of the new system.
83
To be candid, determining requirements is the single most critical aspect of the entire SDLC
because a system that does not provide the function(s) expected of it by its users would be
regarded as a failed system. Although many factors contribute to the failure of systems
development projects, failing to determine the correct requirements is a primary cause.
A 2008 study of Fortune 500 company software projects found just 37% of survey
respondents felt the project met users‘ needs. Therefore, analysts should devote considerable
attention to the activities carried out in the analysis phase. It is here that the major elements of
the system first begin to emerge. If the requirements are later found to be incorrect or
incomplete, significant rework may be needed, adding substantial time and cost to the project.
During requirements determination, the proposed system concept could still be easily altered
because substantial phases of the system development have not been done yet. As the system
moves through the subsequent SDLC phases (design and implementation), it becomes more
difficult to backtrack to requirements determination and make major changes because of all
of the rework that is involved. This is why the iterative approaches of many RAD and agile
methodologies are so effective, where small batches of requirements can be identified and
implemented in incremental stages, allowing the overall system to change and evolve over
time. Also, methodologies such as the V-model stress that tests for the system should be
defined at the same time that the requirements are being defined. That way, testing is not just
a last-minute, thrown-together process, but instead is based directly on the requirements of
the system as they are being defined.
Now that you are able to have a good understanding of analysis, let us learn its requirement
determination.
84
supported, confirmed, and clarified by the other activities of the analysis phase: creating use
cases, building process models, and building a data model. We first explain what a
requirement is and discuss the process of creating a requirements definition statement.
What Is a Requirement?
A requirement is simply a statement of what the system must do or what characteristics it
needs to have. During a systems development project, requirements will be created that
describe what the business needs (business requirements); what the users need to do (user
requirements); what the software should do (functional requirements); characteristics the
system should have (non-functional requirements); and how the system should be built
(system requirements). These categories of requirements reflect the purpose of the
requirements and the stage in the SDLC in which they are defined.
We have already discussed the creation of the systems request in the planning Phase (see Unit
4) of the SDLC. In the system request, there are statements that describe the reasons for
proposing the systems development project. These statements reflect the business
requirements that this system, will fulfil if built. These business requirements help define the
overall goals of the system and help clarify the contributions it will make to the
organization‘s success.
Examples of business requirements include: ―Increase market share‖; ―Shorten order
processing time‖; ―Reduce customer service costs‖; ―Lower inventory spoilage‖; ―Improve
responsiveness to customer service requests‖; and ―Provide account access to mobile
customers.‖
When the systems development project is complete, success will be measured by evaluating
whether the stated business requirements have actually been achieved; therefore, they provide
the overall direction for the project.
During the analysis phase, requirements are written from the perspective of the business, and
they focus on what the system needs to do in order to satisfy business user needs. A good
starting place is to concentrate on what the user actually needs to accomplish with the system
in order to fulfil a needed job or task. These user requirements describe tasks that the users
perform as an integral part of the business‘ operations, such as: ―Schedule a client
appointment‖; ―Place a new customer order‖; ―Re-order inventory‖; ―Determine available
credit‖; and ―Look up account balances.‖ Use cases (discussed in Unit 6) are tools used to
clarify the steps involved in performing these user tasks. By understanding what the user
85
needs to do in terms of tasks to perform, the analyst can then determine ways in which the
new system can support the users‘ needs.
Determining ways in which the new system can support user needs leads to statements of the
system‘s functional requirements. A functional requirement relates directly to a process the
system has to perform as a part of supporting a user task and/or information it needs to
provide as the user is performing a task. The International Institute of Business Analysis
(IIBA) defines functional requirements as ―the product capabilities, or things that a product
must do for its users.‖ Functional requirements begin to define how the system will support
the user in completing a task.
For example, assume the user requirement is ―Schedule a client appointment.‖ The functional
requirements associated with that task include:
i. Determine client availability
ii. Find available openings matching client availability
iii. Select desired appointment
iv. Record appointment, and
v. Confirm appointment.
Notice how these functional requirements expand upon the user‘s task to describe capabilities
and functions that the system will need to include, allowing the user to complete the task.
As the analyst works with the business users of the system to discover user and functional
requirements, the user may reveal processes that will be needed or information that will be
needed. For example, as shown in Table 5.1, the user may state ―The system must retain
customer order history for three years‖ (an information need). The analyst should probe for
the reasoning behind this statement, such as ―The system should allow registered customers
to review their own order history for the past three years‖ (a process need). Similarly, the user
may state ―The system should check incoming customer orders for inventory availability‖ (a
process need).
An alert analyst will recognize the related information need, ―The system should maintain
real-time inventory levels at all warehouses.‖ All of these requirements are necessary to fully
understand the system that is being developed.
Process models (Unit 6) are used to explain the relationship of functions/ processes to the
system users, how the functions/processes relate to each other, how data is entered and
produced by functions/processes, and how functions/processes create and use stored data.
Process models help clarify the software components that will be needed to accomplish the
functional requirements.
86
FUNCTIONAL
REQUIREMENT DESCRIPTION EXAMPLES
Process-Oriented A process the system i. The system must
must perform; a process allow registered
the system must do. customers to review
their own order
history for the past
three years.
ii. The system must
check incoming
customer orders for
inventory availability.
87
previous years
User requirements and functional requirements defined in the analysis phase will flow into
the design phase, where they evolve to become more technical, describing how the system
will be implemented. Requirements in the design phase reflect the developer‘s perspective,
and they usually are called system requirements. These requirements focus on describing how
to create the software product that will be produced from the project.
It is important to note that a requirement is a statement of what the system must do, and the
focus of requirements will change over time as the project moves from planning to analysis to
design to implementation. Requirements evolve from broad statements of overall business
needs from the system to detailed statements of the business capabilities that a system should
support to detailed technical statements of the way in which the capabilities will be
implemented in the new system.
The final category of requirements is non-functional requirements. The IIBA defines this
group of requirements as ―the quality attributes, design, and implementation constraints, and
external interfaces which a product must have.‖
Non-functional requirement describes a variety of system characteristics which are expected
as important behavioural properties that the system must have, such characteristics include
performance, security, operational, political, cultural, and usability features etc. For instance,
the ability to access the system through a mobile device would be considered a non-
functional requirement. Non-functional requirements are primarily used in the design phase
when decisions are made about the user interface, the hardware and software, and the
system‘s underlying architecture. Many of these requirements will be discovered during
conversations with users in the analysis phase. These characteristics do not describe business
processes or information, but they are very important in understanding what the final system
should be like. For example, the project team needs to know whether a system must be highly
secure, requires short response time, or has to reach a multilingual customer base etc. These
requirements will affect design decisions that will be made in the design phase, particularly
architecture design,
88
Table 5.2 lists different kinds of non-functional requirements and examples of each kind.
Security Who has authorized access a. Only direct managers can see
to the system under what personnel records of staff.
circumstance? b. Customers can see their order
history only during business
hours.
c. The system includes all
available, updated safe guards
from viruses, Trojan horses,
worms etc
Cultural and Political Cultural and political a. The system should be able to
factors and legal distinguish between the Nigeria
requirements that affect the currency (Naira) and currencies of
system. other nations.
b. Company policy is to buy
89
computers only from Toshiba.
c. Personal information is
protected in compliance with the
Data Protection Act.
Table 5.2: Non-Functional Requirements
90
Elicitation refers to gathering the requirements of the system from different stakeholders.
Boundaries, identification of stakeholders, goals and tasks performed are discovered in this
phase. There are various techniques for requirement elicitation that can be used to acquire
information for a system, they are broadly categorised as traditional and modern methods.
The traditional methods of requirement gathering are:
Interviews
Questionnaires
Observation
Document Analysis
While the modern methods include:
Joint Application Development (JAD)
Prototyping
91
In-text Question & Answer
o The modern methods of requirement gathering are --------- and --------
Joint Application Development (JAD) and Prototyping
Now that you are able to explain the process of a requirement gathering, let us learn the
Requirements Definition Statement
Functional Requirements
1. New Vehicle Management
1.1 The system will allow managers to view the current new vehicle
inventory.
1.2 The system will allow the new vehicle manager to place orders for
new vehicles.
1.3 The system will record the addition of new vehicles to inventory
when they are received from the manufacturers.
2. Performance
2.1 The system should support a sales staff of 20 salespeople
2.2 The system should be updated with pending offers on vehicles every 30
minutes.
3. Security
3.1 No salesperson can access any other salesperson‘s customer contacts.
3.2 Only the owner and sales manager may approve customers offers.
4.Figure
Cultural andSample
5.1: PoliticalRequirements Definition Statement
4.1 Company policy says that all computer equipment is purchased from
Toshiba. 92
4.2 Customer personal information is protected in compliance with the Data
Protection Act.
As shown in figure 5.1, it is common to number the requirements in a legal or outline format
so that each requirement is clearly identified. It is important that the requirements be
identified with unique numbers so that each requirement can be easily tracked through the
entire development process. For clarity, the requirements are typically grouped into
functional and non-functional groupings. Then, within each of those groups, they are
classified further by the type of requirement or by business area.
Sometimes, requirements are prioritized on the requirements definition statement. They can
be ranked as having ―high,‖ ―medium,‖ or ―low‖ importance in the new system, or they can
be labelled with the version of the system that will address the requirement (e.g., release 1,
release 2, release 3, etc). This practice is particularly important with RAD methodologies that
deliver requirements in batches by developing incremental versions of the system.
The most obvious purpose of the requirements definition is to provide a clear statement of
what the new system should do in order to achieve the system vision described in the system
request. The use cases, process models, and data models provide additional explanatory
content in different formats. A critically important purpose of the requirements definition,
however, is to define the scope of the system.
The document describes to the analysts exactly what the final system needs to do. In addition,
it serves to establish the users‘ expectations for the system. If and when discrepancies or
misunderstandings arise, the document serves as a resource for clarification.
Now that you are able to explain the process of a requirement gathering, let us learn the
Requirements Gathering Techniques.
93
well prepared for the requirement gathering process and make adequate use of all the types of
requirements gathering techniques.
5.5.1 Interviews
This is the most commonly used technique for gathering requirement. Generally, interviews
are conducted one on one (one interviewer and one interviewee), but sometimes, due to time
constraints, several people are interviewed at the same time. There are five basic steps to the
interview process:
Selecting Interviewees
Designing Interview questions
Preparing for the Interview
Conducting the Interview and
Post-Interview Follow-up.
People at different levels of the organization will have different viewpoints on the system, so
it is important to include both managers who manage the processes and staff who actually
perform the processes to gain both high-level and low-level perspectives on an issue. Also,
the kinds of interview subjects that you need may change over time. For example, at the start
of the project the analyst has a limited understanding of the current business process. It is
common to begin by interviewing one or two senior managers to get a strategic view and then
move to mid-level managers who can provide broad, overarching information about the
business process and the expected role of the system being developed. Once the analyst has a
good understanding of the big picture, lower-level managers and staff members can fill in the
exact details of how the process works. Like most other things about systems analysis, this is
an iterative process—starting with senior managers, moving to midlevel managers, then staff
94
members, back to mid-level managers, and so on, depending upon what information is
needed along the way.
Designing Interview Questions: There are three types of interview questions: closed-ended
questions, open-ended questions, and probing questions.
Open-ended questions are those that leave room for elaboration on the part of the
interviewee. They are similar in many ways to essay questions that you might find in an
exam. (See table 5.3 for examples.) Open-ended questions are designed to gather rich
information and give the interviewee more control over the information that is revealed
during the interview. Sometimes the subjects the interviewee chooses to discuss uncover
information that is just as important as the answer (e.g., if the interviewee talks only about
other departments when asked for problems, it may suggest that he or she is reluctant to
admit his or her own department‘s problems).
The third type of question is the probing question. Probing questions follow-up on what has
just been discussed in order for the interviewer to learn more, and they often are used when
the interviewer is unclear about an interviewee‘s answer.
They encourage the interviewee to expand on or to confirm information from a previous
response, and they are a signal that the interviewer is listening and interested in the topic
under discussion. Many beginning analysts are reluctant to use probing questions because
they are afraid that the interviewee might be offended at being challenged or because they
believe it shows that they didn‘t understand what the interviewee said. When done politely,
probing questions can be a powerful tool in requirements discovery.
In general, you should not ask questions about information that is readily available from other
sources. For example, rather than asking what information is used to perform to a task, it is
95
simpler to show the interviewee a form or report and ask what information on it is used. This
helps focus the interviewee on the task and saves time, because he or she does not need to
describe the information in detail.
Your interview questions should anticipate the type of information the interviewee is likely to
know. Managers are often somewhat removed from the details of daily business processes
and so might be unable to answer questions about them, whereas lower-level staff members
could readily respond. Conversely, lower-level employees may not be able to answer broad,
policy-oriented questions, while managers could. Since no one wants to appear ignorant,
avoid confounding your interviewees with questions outside their areas of knowledge.
Why?
Can you cite an example?
Can you explain that point in more
detail?
96
No type of question is better than another, and usually a combination of questions is used
during an interview. At the initial stage of an Information System development project the
current process can be unclear, so the interview process begins with unstructured interviews,
interviews that seek a broad and roughly defined set of information. In this case, the
interviewer has a general sense of the information needed, but few closed-ended questions to
ask. These are the most challenging interviews to conduct because they require the
interviewer to ask open-ended questions and probe for important information right from the
onset.
As the project progresses, the analyst comes to understand the business process much better,
and he or she needs very specific information about how business processes are performed .
At this time, the analyst conducts structured interviews in which specific sets of questions are
developed prior to the interviews. There usually are more closed-ended questions in a
structured interview than in the unstructured approach.
No matter what kind of interview is being conducted, interview questions must be organized
into a logical sequence so that the interview flows well.
There are two fundamental approaches to organizing the interview questions: top-down or
bottom-up; as depicted in figure 5.2. With the top-down interview, the interviewer starts with
broad, general issues and gradually works towards more specific ones. With the bottom-up
interview, the interviewer starts with very specific questions and moves to broad questions. In
practice, analysts mix the two approaches, starting with broad general issues, moving to
specific questions, and then back to general issues.
The top-down approach is an appropriate strategy for most interviews and it is certainly the
most common approach. The top-down approach enables the interviewee to become
accustomed to the topic before he or she needs to provide specifics. It also enables the
interviewer to understand the issues before moving to the details, because the interviewer
may not have sufficient information at the start of the interview to ask very specific
questions. Perhaps most importantly, the top-down approach enables the interviewee to raise
a set of big-picture issues before becoming enmeshed in details, so the interviewer is less
likely to miss important issues.
97
One case in which the bottom-up strategy may be preferred is when the analyst already has
gathered a lot of information about issues and just needs to fill in some holes with details. Or,
bottom-up may be appropriate if lower-level staff members feel threatened or are unable to
answer high-level questions. For example, ―How can we improve customer service?‖ may be
too broad a question for a customer service clerk, whereas a specific question is readily
answerable (e.g., ―How can we speed up customer returns?‖).
Top-Down
Medium-level:
How can we reduce the number of times that
moderately specific customers return items they‘ve ordered?
In all circumstances, all interviews should begin with non-controversial questions first and
then gradually move into more contentious issues after the interviewer has developed some
rapport with the interviewee.
Preparing for the Interview: It is important to have a good preparation before commencing
the interview. You should have a general interview plan which lists the questions that you
will ask in the appropriate order; anticipates possible answers and provides how you will
follow up with them; and identifies transitions between related topics. Confirm the areas in
which the interviewee has knowledge so you do not ask questions that he or she cannot
answer. Review the topic areas, the questions, and the interview plan, and clearly decide
which ones have the greatest priority in case you run out of time.
In general, structured interviews with closed-ended questions take more time to prepare than
unstructured interviews. However, using only unstructured interviews is very dangerous and
often counterproductive, because any information not gathered in the first interview would
98
have to be obtained by follow-up efforts, and most people do not like to be interviewed
repeatedly about the same issues.
Be sure to prepare the interviewee as well. When you schedule the interview, inform the
interviewee in advance about the reason for the interview and the areas you will be discussing
so that he or she has time to think about the issues and organize his or her thoughts. This is
particularly important when you are an outsider to the organization and for interviewing
lower-level employees who often are not asked for their opinions and who may be uncertain
about why you are interviewing them.
Conducting the Interview When you start the interview, the first goal is to build rapport
with the interviewee so that he or she trusts you and is willing to tell you the whole truth, not
just give the answers that he or she thinks you want. You should appear to be professional
and an unbiased, independent seeker of information.
The interview should start with an explanation of why you are there and why you have
chosen to interview the person, and then move into your planned interview questions.
It is critical to carefully record all the information that the interviewee provides.
A very good approach is to take careful notes i.e. write down everything the interviewee says,
even if it does not appear immediately relevant.
Don‘t be afraid to ask the person to slow down or to pause while you write, because this is a
clear indication that the interviewee‘s information is important to you. One potentially
controversial issue is whether or not to tape-record the interview. Recording ensures that you
do not miss important points, but it can be intimidating for the interviewee. Most
organizations have policies or generally accepted practices about the recording of interviews,
so find out what their policies are before you start an interview. If you are worried about
missing information and cannot record the interview on tape, then bring along a second
person to take detailed notes.
As the interview progresses, it is important that you understand the issues that are discussed.
If you do not understand something, be sure to ask. Don‘t be afraid to ask ―dumb questions,‖
because the only thing worse than appearing ―dumb‖ is to be ―dumb‖ by not understanding
something that you could have cleared up by questioning.
If you don‘t understand something during the interview, you certainly won‘t understand it
afterward. Try to recognize and define jargon, and be sure to clarify jargon you do not
understand. One good strategy to increase your understanding during an interview is to
periodically summarize the key points that the interviewee is communicating. This avoids
misunderstandings and also demonstrates that you are listening.
99
Finally, be sure to separate facts from opinion. The interviewee may say, for example, ―We
process too many credit card requests.‖ This is an opinion, and it is useful to follow this up
with a probing question requesting support for the statement (e.g., ―Oh, how many do you
process in a day?‖). It is helpful to check the facts because any differences between the facts
and the interviewee‘s opinions can point out key areas for improvement. Suppose that the
interviewee complains about a high or increasing number of errors, but the logs show that
errors have been decreasing. This suggests that errors are viewed as a very important problem
that should be addressed by the new system, even if they are declining.
As the interview draws to a close, be sure to give the interviewee time to ask questions or
provide information that he or she thinks is important but was not part of your interview plan.
In most cases, the interviewee will have no additional concerns or information, but in some
cases this will lead to unanticipated, but important information. Make sure that the interview
ends on time.
As a last step in the interview, briefly explain what will happen next. You don‘t want to
prematurely promise certain features in the new system or a specific delivery date, but you do
want to reassure the interviewee that his or her time was well spent and very helpful to the
project.
Inexperienced systems analysts may naively think that conducting an interview is as easy as
conversing with a friend. Unfortunately, this is almost never true.
Interviewees often are not able or willing to hand over the needed information in a neat,
organized fashion. In some cases, they may not want to share what they know at all. Analysts
should hone their interpersonal skills to improve their interviewing success.
Post-interview Follow-up: After the interview is over, the analyst needs to prepare an
interview report that describes the information from the interview (Figure 5.3).
The report contains interview notes, information that was collected over the course of the
interview and is summarized in a useful format. In general, the interview report should be
written within 48 hours of the interview, because the longer you wait, the more likely you are
to forget information.
100
Interview Notes Approved by: Danjuma Jude
Open Items:
Get current employees roster report from Folasade Olusola(Room 10)
Verify calculations used to determine vacation time with Folasade
Olusola
Schedule interview with Babatunde Ige(Room09) regarding the reasons
for data quality problems.
101
Often, the interview report is sent to the interviewee with a request to read it and inform the
analyst of clarifications or updates. Make sure the interviewee is convinced that you
genuinely want his or her corrections to the report. Usually, there are few changes, but the
need for any significant changes suggests that a second interview will be required. Never
distribute someone‘s information without prior approval.
The JAD group meets for several hours, several days, or several weeks until all of the issues
have been discussed and the needed information is collected. Most JAD sessions take place in
a specially prepared meeting room, away from the participants‘ offices, so that they are not
interrupted. The meeting room is usually arranged in a U shape so that all participants can
easily see each other (See Figure 5.4). At the front of the room (the open part of the ―U‖),
there is a whiteboard, flip chart and/or overhead projector for use by the facilitator, who leads
the discussion.
One problem with JAD is that it suffers from the traditional problems associated with groups:
Sometimes people are reluctant to challenge the opinions of others (particularly their boss), a
few people often dominate the discussion, and not everyone participates. In a 10-member
group, for example, if everyone participates equally, then each person can talk for only 6
102
minutes each hour and must listen for the remaining 54 minutes—not a very efficient way to
collect information.
Electronic JAD, or e-JAD, attempts to overcome these problems by the use of groupware. In
an e-JAD meeting room, each participant uses special software on a networked computer to
anonymously submit ideas, view all ideas generated by the group, and rate and rank ideas
through voting. The facilitator uses the electronic tools of the e-JAD system to guide the
group process, maintaining anonymity and enabling the group to focus on each idea‘s merits
and not the power or rank of the person who contributed the idea. In this way, all participants
can contribute at the same time, without fear of reprisal from people with differing opinions.
Initial research suggests that e-JAD can reduce the time required to run JAD sessions by
50%–80%.
103
Just like Interview, JAD also has five steps
Selecting Participants: Selecting JAD participants is done in the same basic way as
selecting interview participants. Participants are selected on the basis of information they can
contribute, to provide a broad mix of organizational levels, and to build political support for
the new system. The need for all JAD participants to be away from their offices at the same
time can be a major problem. The office may need to be closed or run with a skeleton staff
until the JAD sessions are complete.
Ideally, the participants who are released from regular duties to attend the JAD sessions
should be the very best people in that business unit. However, without strong management
support, JAD sessions can fail, because those selected to attend the JAD session are people
who are less likely to be missed (i.e., the least competent people).
The facilitator should be someone who is an expert in JAD or e-JAD techniques and, ideally,
someone who has experience with the business under discussion.
In many cases, the JAD facilitator is a consultant external to the organization because the
organization may not have a regular day-to-day need for JAD or e-JAD expertise. Developing
and maintaining this expertise in-house can be expensive.
Designing the JAD Session: JAD sessions can run from as little as a half day to several
weeks, depending upon the size and scope of the project. Most JAD sessions tend to last 5 to
10 days spread over a 3-week period. Most e-JAD sessions tend to last 1 to 4 days in a 1-
week period. JAD and e-JAD sessions usually move beyond the collection of information
into producing analysis deliverables. For example, the users and the analysts collectively can
create use cases, process models, or the requirements definition.
As with interviewing, JAD success depends upon a careful plan. JAD sessions usually are
designed and structured along the same principles as interviews. Most JAD sessions are
designed to collect specific information from users, and this requires the development of a set
of questions prior to the meeting. A difference between JAD and interviewing is that all JAD
sessions are structured—they must be carefully planned. In general, closed-ended questions
are seldom used, because they do not spark the open and frank discussion that is typical of
JAD. It is better to adopt the top-down approach in JAD sessions when gathering
information.
Typically, 30 minutes is allocated to each separate agenda item, and frequent breaks are
scheduled throughout the day because participants get tired easily.
104
Preparing for the JAD Session: As with interviewing, it is important to prepare the analysts
and participants for the JAD session. Because the sessions can go beyond the depth of a
typical interview and usually are conducted off-site, participants can be more concerned
about how to prepare. It is important that the participants understand what is expected of
them. If the goal of the JAD session, for example, is to develop an understanding of the
current system, then participants can bring procedure manuals and documents with them. If
the goal is to identify improvements for a system, then they can think about how they would
improve the system prior to the JAD session.
Conducting the JAD Session: Most JAD sessions try to follow a formal agenda, and most
have formal ground rules that define appropriate behaviour. Common ground rules include
following the schedule, respecting others‘ opinions, accepting disagreement, and ensuring
that only one person talks at a time.
The role of the JAD facilitator can be challenging. Many participants come to the JAD
session with strong feelings about the system being discussed. Channelling these feelings so
that the session moves forward in a positive direction and getting participants to recognize
and accept—but not necessarily agree on—opinions and situations different from their own
requires significant expertise in systems analysis and design, JAD, and interpersonal skills.
Few systems analysts attempt to facilitate JAD sessions without being trained in JAD
techniques, and most apprentices with a skilled JAD facilitator before they attempt to lead
their first session.
Second, the facilitator must help the group understand the technical terms and jargon that
surround the system development process and help the participants understand the specific
analysis techniques used. Participants are experts in their business area, but they probably are
105
not experts in systems analysis. The facilitator must therefore minimize the learning required
and teach participants how to effectively provide the right information.
Third, the facilitator records the group‘s input on a public display area, which can be a
whiteboard, flip chart, or computer display. He or she structures the information that the
group provides and helps the group recognize key issues and important solutions.
Under no circumstance should the facilitator insert his or her opinions into the discussion.
The facilitator must remain neutral at all times and simply help the group through the process.
The moment the facilitator offers an opinion on an issue, the group will no longer see him or
her as a neutral party, but rather as someone who could be attempting to sway the group into
some predetermined solution.
However, this does not mean that the facilitator should not try to help the group resolve
issues. For example, if two items appear to be the same to the facilitator, the facilitator should
not say, ―I think these may be similar.‖ Instead, the facilitator should ask, ―Are these
similar?‖ If the group decides that they are, the facilitator can combine them and move on.
However, if the group decides that they are not similar (despite what the facilitator believes),
the facilitator should accept the decision and move on. The group is always right, and the
facilitator has no opinion.
It is common for the JAD participants to make use of a number of tools during the JAD
session in order to fully define the new system. Use cases may be created to describe how the
users will interact with the new system. Prototypes may be created to more fully understand
the user interface or navigation through the system. Process models can be constructed to
understand the software that will be developed, while a data model can be used to describe
the data that will be captured and maintained. The facilitator and the analysts on the project
team should use every tool at their disposal to help the participants clarify and define their
needs for the new system.
106
5.5.3 Questionnaires
A questionnaire is a set of written questions for obtaining information from individuals.
Questionnaires often are used when there is a large number of people from whom information
and opinions are needed. Questionnaires are commonly used for systems intended for use
outside of the organization (e.g., by customers or vendors) or for systems with business users
spread across many geographic locations. Most people automatically think of paper when
they think of questionnaires, but today more questionnaires are being distributed in electronic
form, either via e-mail or on the Web. Electronic distribution can save a significant amount of
money, compared with distributing paper questionnaires.
Selecting Participants: As with interviews and JAD sessions, the first step is to select the
individuals to whom the questionnaire will be sent. However, it is not usual to select every
person who could provide useful information. The standard approach is to select a sample, or
subset, of people who are representative of the entire group. Sampling guidelines are not
within the scope of this text; however, they are discussed in most statistics books, so we will
not discuss them here.
The important point in selecting a sample, however, is to realize that not everyone who
receives a questionnaire will actually complete it. On average, only 30%–50% of paper and e-
mail questionnaires are returned. Response rates for Web-based questionnaires tend to be
significantly lower (often, only 5%–30%).
107
Questions should be relatively consistent in style so that the respondent does not have to read
instructions for each question before answering it. It is generally a good practice to group
related questions together to make them simpler to answer. Some experts suggest that
questionnaires should start with questions important to respondents, so that the questionnaire
immediately grabs their interest and induces them to answer it. Perhaps the most important
step is to have several colleagues review the questionnaire and then pre-test it with a few
people drawn from the groups to whom it will be sent. It is surprising how often seemingly
simple questions can be misunderstood.
108
5.5.4 Document Analysis
Project teams often use document analysis to understand the current system. Under ideal
circumstances, the project team that developed the existing system will have produced
documentation, which was then updated by all subsequent projects. In this case, the project
team can start by reviewing the documentation and examining the system itself.
Unfortunately, most systems are not well documented, because project teams fail to
document their projects along the way, and when the projects are over, there is no time to go
back and document. Therefore, there may not be much technical documentation about the
current system available, or it may not contain updated information about recent system
changes. However, there are many helpful documents that do exist in the organization: paper
reports, memorandums, policy manuals, user training manuals, organization charts, and
forms.
Problem reports filed by the system users can be another rich source of information about
issues with the existing system. But these documents (forms, reports, policy manuals,
organization charts) only tell part of the story. They represent the formal system that the
organization uses. Quite often, the ―real,‖ or informal system differs from the formal one, and
these differences, particularly large ones, give strong indications of what needs to be
changed. For example, forms or reports that are never used likely should be eliminated.
Likewise, boxes or questions on forms that are never filled in (or are used for other purposes)
should be rethought. See figure 5.5 for an example of how a document can be interpreted.
The most powerful indication that the system needs to be changed is when users create their
own forms or add additional information to existing ones. Such changes clearly demonstrate
the need for improvements to existing systems. Thus, it is useful to review both blank and
completed forms to identify these deviations.
Likewise, when users access multiple reports to satisfy their information needs, it is a clear
sign that new information or new information formats are needed.
5.5.5 Observation
Observation, the act of watching processes being performed, is a powerful tool to gain insight
into the current system. Observation enables the analyst to see the reality of a situation, rather
than listening to others describe it in interviews or JAD sessions.
Several research studies have shown that many managers really do not remember how they
work and how they allocate their time.
109
Observation is a good way to check the validity of information gathered from other sources
such as interviews and questionnaires. The goal is to keep a low profile, to not interrupt those
working, and to not influence those being observed. Nonetheless, it is important to
understand that what analysts observe may not be the normal day-to-day routine because
people tend to be extremely careful in their behaviour when they are being watched. Even
though normal practice may be to break formal organizational rules, the observer is unlikely
to see this. Thus, as an analyst, what you see may not be what you really want.
Blood Group: O+
110
In-text Question & Answer
o ----------------- is a set of written questions for obtaining information from individuals
A questionnaire
Now that you are able to explain the Requirements Gathering Techniques, let us learn the
criteria for selecting the appropriate requirements gathering techniques.
111
Interviews Joint Questionnaire Documen Observatio
Application s t Analysis n
Design
Type of Current, Current, Current, Current Current
Information Improvements Improvements Improvements
, Proposed , Proposed
Depth of High High Medium Low Low
Information
Breadth of Low Medium High High Low
Information
Integration Low High Low Low Low
of
Information
User Medium High Low Low Low
Involvemen
t
Cost Medium Low-Medium Low Low Low-
Medium
Table 5.4 Comparing Requirement Gathering Techniques
In contrast, document analysis and observation usually are most helpful for understanding the
current system, although they occasionally provide information about improvements.
Questionnaires are often used to gather information about the current system, as well as
general information about improvements.
Depth of Information: The depth of information refers to how rich and detailed the
information is that the technique usually produces and the extent to which the technique is
useful at obtaining not only facts and opinions, but also an understanding of why those facts
and opinions exist. Interviews and JAD sessions are very useful at providing a good depth of
rich and detailed information and helping the analyst to understand the reasons behind them.
At the other extreme, document analysis and observation are useful for obtaining facts, but
little beyond that. Questionnaires can provide a medium depth of information, soliciting both
facts and opinions with little understanding of why.
112
Breadth of Information: Breadth of information refers to the range of information and
information sources that can be easily collected by that technique. Questionnaires and
document analysis both are easily capable of soliciting a wide range of information from a
large number of information sources. In contrast, interviews and observation require the
analyst to visit each information source individually and, therefore, take more time. JAD
sessions are in the middle because many information sources are brought together at the same
time.
User Involvement: User involvement refers to the amount of time and energy the intended
users of the new system must devote to the analysis process. It is generally agreed that, as
users become more involved in the analysis process, the chance of success increases.
However, user involvement can have a significant cost, and not all users are willing to
contribute valuable time and energy. Questionnaires, document analysis, and observation
place the least burden on users, while JAD sessions require the greatest effort.
113
absent from their offices for significant periods, and they often involve highly paid
consultants. However, JAD sessions significantly reduce the time spent in information
integration and thus cost less in the long term.
Now that you are able to explain the Requirements Gathering Techniques, let us learn the
analysis strategies.
a. Problem Analysis
The most straightforward (and probably the most commonly used) requirements analysis
strategy is problem analysis. Problem analysis means asking the users and managers to
identify problems with the current system and to describe how to solve them in the proposed
system. Most users have a very good idea of the changes they would like to see, and most
will be quite vocal about suggesting them. Most changes tend to solve problems rather than
capitalize on opportunities, but this is possible, too. Improvements from problem analysis
tend to be small and incremental (e.g., add a field to store the customer‘s cell phone number;
provide a new report that currently does not exist).
This type of improvement often is very effective at improving a system‘s efficiency or ease
of use. However, it often provides only minor improvements in business value i.e. the new
system is eventually better than the old, but it may be hard to identify significant monetary
benefits from the new system.
114
b. Root Cause Analysis
The ideas produced by problem analysis tend to be solutions to problems. All solutions make
assumptions about the nature of the problem, assumptions that may or may not be valid.
Users and most people in general tend to jump quickly to solutions without fully considering
the nature of the problem. Sometimes the solutions are appropriate, but many times they
address a symptom of the problem, not the true problem or root cause itself. For example,
suppose that the users report that ―inventory stock-outs happen frequently.‖ Inventory stock-
outs are not good, of course, and one obvious way to reduce their occurrence is to increase
the quantity of items kept in stock. This action incurs costs, however, so it is worthwhile to
investigate the underlying cause of the frequent stock-outs instead of jumping to a quick-fix
solution. The solutions that users propose (or systems that analysts consider) may address
either symptoms or causes, but without careful analysis, it is difficult to tell which one.
Finding out later that you‘ve just spent millions of naira and have not fixed the underlying
problem is a horrible feeling!
Root cause analysis focuses on problems first rather than solutions. The analyst starts by
having the users generate a list of problems with the current system, then prioritizes the
problems in order of importance. Starting with the most important, the users and/or analysts
generate all possible root causes for the problem.
As shown in figure 5.6, the problem of ―too frequent stock-outs‖ has several potential root
causes (inaccurate on-hand counts; incorrect reorder points; lag in placing supplier orders).
Each possible root cause is investigated and additional root causes are identified. As figure
5.6 shows, it is sometimes useful to display the potential root causes in a tree-like hierarchy.
Ultimately, the investigation process reveals the true root cause or causes of the problem,
enabling the team to design the system to correct the problem with the right solution. The key
point in root cause analysis is to always challenge the obvious and dig into the problem
deeply enough that the true underlying cause(s) is revealed.
115
Frequent Inventory
stock-outs
c. Duration Analysis
Duration analysis requires a detailed examination of the amount of time it takes to perform
each process in the current system. The analysts begin by determining the total amount of
time it takes, on average, to perform a set of business processes for a typical input. They then
time each of the individual steps (or sub-processes) in the business process. The time to
complete the basic steps are then totalled and compared with the total for the overall process.
A significant difference between the two and the total time often can be 10 or even
100 times longer than the sum of the parts—indicates that this part of the process is badly in
need of a major overhaul.
For example, suppose that the analysts are working on a home mortgage system and discover
that, on average, it takes 30 days for the bank to approve a mortgage.
They then look at each of the basic steps in the process (e.g., data entry, credit check, title
search, appraisal, etc.) and find that the total amount of time actually spent on each mortgage
116
is about 8 hours. This is a strong indication that the overall process is badly broken, because
it takes 30 days to perform 1 day‘s work.
These problems likely occur because the process is badly fragmented. Many different people
must perform different activities before the process is complete. In the mortgage example, the
application probably sits on many peoples‘ desks for long periods of time before it is
processed. Processes in which many different people work on small parts of the inputs are
prime candidates for process integration or parallelization.
Process integration means changing the fundamental process so that fewer people work on
the input, which often requires changing the processes and retraining staff to perform a wider
range of duties. Process parallelization means changing the process so that all the individual
steps are performed at the same time. For example in the mortgage application example, there
is probably no reason that the credit check cannot be performed at the same time as the
appraisal and title check.
d. Activity-Based Costing
Activity-based costing is a similar analysis that examines the cost of each major process or
step in a business process rather than the time taken. The analysts identify the costs
associated with each of the basic functional steps or processes, identify the most costly
processes, and focus their improvement efforts on them.
Assigning costs is conceptually simple. You just examine the direct cost of labour and
materials for each input. Materials costs are easily assigned in a manufacturing process, while
labour costs are usually calculated on the basis of the amount of time spent on the input and
the hourly cost of the staff. However, as you may recall from a managerial accounting course,
there are indirect costs such as rent, depreciation, and so on that also can be included in
activity costs.
e. Informal Benchmarking
Benchmarking refers to studying how other organizations perform a business process in order
to learn how your organization can do something better. Benchmarking helps the
organization by introducing ideas that employees may never have considered, but that have
the potential to add value.
117
Informal benchmarking is fairly common for ―customer-facing‖ business processes (i.e.,
those processes that interact with the customer). With informal benchmarking, the managers
and analysts think about other organizations, or visit them as customers to watch how the
business process is performed. In many cases, the business studied may be a known leader in
the industry or simply a related firm.
For example, suppose that the team is developing a Web site for a car dealer. The project
sponsor, key managers, and key team members would likely visit the Websites of
competitors, those of others in the car industry (e.g., manufacturers, accessories suppliers),
and those of other industries that have won awards for their Websites.
f. Outcome Analysis
Outcome analysis focuses on understanding the fundamental outcomes that provide value to
customers. While these outcomes sound as though they should be obvious, they often aren‘t.
For example, suppose that you are an insurance company and one of your customers has just
had a car accident. What is the fundamental outcome from the customer‘s perspective?
Traditionally, insurance companies have answered this question by assuming that the
customer wants to receive the insurance payment quickly. To the customer, however, the
payment is only a means to the real outcome: a repaired car. The insurance company might
benefit by extending its view of the business process past its traditional boundaries to include,
not simply paying for repairs, but performing the repairs or contracting with an authorized
body shop to do them.
With this approach, the system analysts encourage the managers and project sponsor to
pretend that they are customers and to think carefully about what the organization‘s products
and services enable the customers to do—and what they could enable the customer to do.
g. Technology Analysis
Many major changes in business over the past decade have been enabled by new
technologies. Technology analysis therefore starts by having the analysts and managers
develop a list of important and interesting technologies. Then the group systematically
identifies how each and every technology could be applied to the business process and
identifies how the business would benefit.
For example, one useful technology might be the Internet. A manufacturer could develop an
extranet application for its suppliers. Rather than ordering parts for its products, the
118
manufacturer makes its production schedule available electronically to its suppliers, who ship
the needed parts so that they arrive at the plant just in time.
This saves significant costs because it eliminates the need for people to monitor the
production schedule and issue purchase orders.
h. Activity Elimination
Activity elimination is exactly what it sounds like. The analysts and managers work together
to identify how the organization could eliminate each and every activity in the business
process, how the function could operate without it, and what effects are likely to occur.
Initially, managers are reluctant to conclude that processes can be eliminated, but this is a
―force-fit‖ exercise in that they must eliminate each activity. In some cases the results are
silly; nonetheless, participants must address each and every activity in the business process.
For example, in a home mortgage approval process, the managers and analysts would start by
eliminating the first activity, entering the data into the mortgage company‘s computer. This
leads to one of two obvious possibilities:
(1) Eliminate the use of a computer system or (2) make someone else do the data entry (e.g.,
the customer, over the Web). They would then eliminate the next activity, the credit check.
Does it sound silly? After all, making sure the applicant has good credit is critical in issuing a
loan, isn‘t it? Not really. The real answer depends upon how many times the credit check
identifies bad applications. If all or almost all applicants have good credit and are seldom
turned down by a credit check, then the cost of the credit check may not be worth the benefit
of the few bad loans it prevents. Eliminating it may actually result in lower costs, even with
the cost of bad loans, unless the number of applicants with poor credit greatly increases.
Now that you are able to explain the Requirements analysis strategies, let us compare some
requirement analysis strategies.
119
5.6.2 Comparing Requirement Analysis Strategies
Each of the requirements analysis strategies discussed here has its own purpose. No one
technique is inherently better than the others. Remember that an organization will likely have
a wide range of projects in its portfolio; the requirements analysis strategy should be chosen
to fit the nature of the project. Problem analysis and root cause analysis tend to be most
useful in situations with a narrow focus where efficiency gains are sought. Duration analysis
and activity-based costing strategies help the team find the most ―broken‖ business processes
so that those processes can be redesigned and improved. Outcome analysis, technology
analysis, and informal benchmarking help the team think ―outside the box‖ and are very
useful when the team is trying to create completely new ways of accomplishing the business
processes.
In the study session 5, you learned about analysis and its requirement strategies. In the
following session 6, you will learn about information system modelling and analysis.
Take a look at sub-session 5.1; it describes in details the three basic steps involve in the
process of analysis.
120
For us to meaningfully learn about a system there is a need to understand its
requirement analysis. In other words the meaning of analysis and its strategies are
explained in Box 5.1
Box 5.1: Meaning of requirement analysis and its strategies
Analysis is referred to breaking a whole into its parts with the intent of
understanding the parts‘ nature, function, and interrelationships.
It is important to note:
The three basic process of analysis which are:
i Understanding the existing system (the as-is system).
ii Identifying improvements.
iii Defining requirements for the new system (the to-be system).
That, a requirement is simply a statement of what the system must do or
what characteristics does it need to have.
That the traditional methods of requirement gathering are:
i. Interviews
ii. Questionnaires
iii. Observation
iv. Document Analysis
Five JAD steps are: Selecting Participants, Designing the JAD Session,
Preparing for the JAD Session, Conducting the JAD Session, Post-JAD
Follow-up
121
Self-Assessment Questions (SAQs) for Study Session 5
Now that you have completed this study session, you can assess how well you have achieved
its Learning Outcomes by answering these questions. You can check your answers with the
Notes on the Self-Assessment Questions at the end of this Module.
SAQ 5.1: Analysis is referred to breaking a whole into its parts with the intent of
understanding the parts‘ nature, function, and interrelationships.
SAQ 5.2: A requirement is simply defined as a statement of what the system must do or
what characteristics does it need to have
SAQ 5.3: The various techniques that can be used to acquire information for a system are
broadly categorized as traditional and modern methods. The traditional methods of
requirement gathering are:
Interviews
Questionnaires
Observation
Document Analysis
122
While the modern methods include:
Joint Application Development (JAD)
Prototyping
SAQ 5.4: The requirements for analysis are grouped into functional and non-functional
groupings.
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Sacha M., Aybüke A., Ross J., and Barbara P., (2002): Requirements Engineering Process
Models in Practice. School of Information Systems, Technology and Management,
University of New South Wales.
123
Study Session 6: Modelling and Analysis of Information System
Introduction
In the previous study session, you learned the different types of requirements and the stage in
the SDLC at which they are defined. You have also learned about the SDLC's planning phase
(see study session 3 and 6). There are statements in the system request that indicate the
reasons for proposing the systems development project. This session teaches in depth what
you need to know about the concept of information system modelling and analysis.
124
process models, which are models that describe processes, without suggesting how they are
conducted. By focusing on logical processes first, analysts can focus on how the business
should run, without being distracted by implementation details. The physical details are
defined during the design phase when these logical models are refined into physical models,
which provide information that is needed to ultimately build the system.
125
Use case diagrams are considered for high level requirement analysis of a system. So when
the requirements of a system are analyzed, the functionalities are captured in use cases.
When requirements are documented using use cases, these use case are then valuable during
the next steps in the system development project, such as in the design and testing activities.
Also, it will be easier to write the user manual if requirements are documented by means of
use cases.
When we are planning to draw a use case diagram we should have the following items
identified:
Functionalities to be represented as a use case
Actors
Relationships among the use cases and actors.
Use case diagrams are drawn to capture the functional requirements of a system. So after
identifying the above items we have to follow the guidelines listed below in order to draw an
efficient use case diagram.
i. The name of a use case is very important. So the name should be chosen in such a
way so that it can identify the functionalities performed.
ii. Give a suitable name for actors.
iii. Show relationships and dependencies clearly in the diagram.
iv. Do not try to include all types of relationships. Because the main purpose of the
diagram is to identify requirements.
v. Use note whenever required to clarify some important points.
A use case model consists of use case diagrams depicted in UML and use case descriptions.
The UML model depicts the use case, actors, communication associations between actors and
use cases, and use case relationships, in particular the <<extends>> and <<includes>>
relationships. The default relationship between an actor and a use case is the
<<communication>>relationship, denoted by a line with a small circle. The UML notation
does not address the use case description, which is in many ways the most important part of
the use case model. The description includes the preconditions, postconditions, the
description of the main sequence of the use case and the description of alternative sequences.
Thus a use case describes several scenarios. The main scenario describes a successful
sequence of events, and the alternative scenarios describe a sequence of events that differ
from a typical usage of the system. A typical usage of the system may be less frequently
taken interactions or unsuccessful terminations that can be detected and resolved by the
application; alternative system outputs; or alternative ways of entering system input.
126
The UML notation for use case is shown thus:
Use case is a narration of the sequence of events (function) of an actor using a system. A use
case should correspond to one or more scenarios. The name of a use case should begin with a
verb in order to emphasize that it is a process e.g. Buy items, Enter an order, Reduce
inventory etc.
Actor is an entity external to the system that in some way participates in the use case.
An actor typically stimulates the system with input events or receives outputs from the
system or does both.
Primary Actor: an entity external to the system that uses system services in a direct manner.
Supporting Actor: an actor that provides services to the system being built.
Hardware, software applications, individual processes, can all be actors.
127
Identify the external events that a system must respond to, relate the events to actors and use
cases.
A common mistake in use case modelling is trying to represent individual steps as use cases,
for instance, printing a receipt. Rather than designating this as a use case, what should be
considered is why is the printing being done?
Let‘s consider the following use cases:
Log out
Handle payment
Negotiate contract with a supplier.
These use cases are at different levels i.e. High or low levels, an important question to ask
before using them as use cases is, are they all valid? To verify this, use the definition of
elementary business process we mentioned earlier in this section.
Now, let‘s analyse each of them:
Log out: A secondary goal, it is necessary to do something but not useful in itself.
Handle payment: A necessary EBP, hence a primary goal.
Negotiate contract: Most likely this is too high a level. It is composed of several EBPs and
hence must be broken down further.
128
Login
Make reservation
Reservation Clerk
Cancel reservation
129
In-text Question & Answer
o Can you list the three methods that can be used to identify cases for a system?
Actor Based, Event based, and Goal based
There are two other kinds of relationships between use cases (not between actors and use
cases) that you might find useful. These are the include relationship and the extend
relationship, both of which we will describe in this section.
130
Draw card
<<include>
>
View Info
<<include>
>
Player
Buy House
This scenario involves a player moving. However, sometimes a player has to deal with
―exceptional‖ situations – rather than just moving to a new property cell. Therefore, we can
extend the Move use case with the Go to Jail and the Go to Free Parking use case (and some
others) as shown in Figure 6.3. In this diagram the extend relationship is signified by writing
«extend» below a dotted line whose arrow points toward the use case that is being extended.
Move Go to Jail
<<extend>>
131
6.3.4 Include Versus extend
Frequently, system analyst and developers are confused as to whether to use the include
relationship or the extend relationship. Consider the following distinctions between the two:
• Use Case X includes Use Case Y:
This means that X has a multi-step subtask Y. In the course of doing X or a subtask of X, Y
will always be completed.
• Use Case X extends Use Case Y:
This means that Y performs a sub-task and X is a similar but more specialized way of
accomplishing that subtask (e.g. going to jail is a sub-task of Y; X provides an alternative
means of moving). X only happens in an exception situation. Y can complete without X ever
happening.
In general, the extend relationship makes use cases difficult to understand. It is suggested that
analysts and developers use this relationship sparingly.
A communication relationship
132
6.4 Process Modelling
Process modelling is a technique for organizing and documenting the structure and flow of
data through a system‘s processes and/or the logic, policies, and procedures to be
implemented by a system‘s processes. A process model graphically represents the processes
that capture, manipulate, store and distribute data between a system and its environment and
among system components. A system analysis process model consists of data flow diagrams
(DFDs); it describes business processes i.e. the activities that people do. Process models are
developed for the current system and/or the proposed system. In unit five, we discussed
requirement gathering, methods and approaches etc, these requirements can be well clarified
through process modelling. This section describes data flow diagramming, one of the most
commonly used process modelling techniques.
Data flow diagrams are constructed using only a few symbols, hence, they are easier to
understand than typical flowcharts; although there are certain similarities. A flowchart is
much less specific with regard to how pieces of data are broken down, combined, and moved
around the system than is a DFD. On the other hand, a flowchart is much more specific and
physical than a DFD with regard to how processing is performed. A data flow diagram is
more flexible and has a more general applicability than does a flowchart.
133
Modelling a system‘s process utilizes information gathered during requirements
determination and the structure of the data is also modelled in addition to the processes. The
deliverables and outcomes of these process modelling include:
i. Set of coherent, interrelated data flow diagrams
ii. Context data flow diagram (DFD): Scope of system
iii. DFDs of current system: Enables analysts to understand current system
iv. DFDs of new logical system: it is technology independent and it shows data flows,
structure and functional requirements of new system
v. Project dictionary and CASE repository.
In the next study session, we discuss modelling and information system in details.
Activity 6.1 Feedback: The following methods are used to identify system use cases:
i. Actor based: Identify the actors related to the system, identify the scenarios these actors
initiate or participate in.
ii. Event based: Identify the external events that a system must respond to, relate the events to
actors and use cases.
iii. Goal based: All actors in the system have goals, find user goals by preparing actor-goal
list, and define a use case for each goal.
134
Box 6.1: Modelling and data flow diagram (DFD)
DFD is graphical diagrams for specifying, constructing and visualizing the model of a
system.
A system analysis process model consists of data flow diagrams (DFDs); it describes
business processes i.e. the activities that people do.
i. Actor based
ii. Event based
iii. Goal based
There are several different kinds of relationships between actors and use cases.
A process model graphically represents the processes that capture, manipulate, store and
distribute data between a system and its environment and among system components.
135
Self-Assessment Questions (SAQs) for Study Session 6
Now that you have completed this study session, you can assess how well you have achieved
its Learning Outcomes by answering these questions. You can check your answers with the
Notes on the Self-Assessment Questions at the end of this Module.
SAQ 6.1: Logical process models can be described as models that describe processes,
without suggesting how they are conducted
SAQ 6.2: Use-case modelling is widely used in modern software development methods as
an approach for describing a system‘s requirements.
SAQ 6.3: The term ‗‘include relationship‘‘ signifies that one use case is included in
another‘s functionality
SAQ 6.4: The Process modelling is a technique for organizing and documenting the
structure and flow of data through a system‘s processes and / or the logic, policies,
and procedures to be implemented by a system‘s processes
SAQ 6.5: A data flow diagram (DFD) illustrates the movement of data between the external
entities, the processes and data stored within an information system, without
showing program logic or processing steps.
136
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Denise D., and Dr. Ken L. (n.d.): Analysis and Design for Process Support Systems using
Goal oriented Business Process Modelling. School of Computing & Mathematics, University
of Huddersfield, England
Dr. Kevin P. Duffy, (2011): Structured Systems Analysis and Design. Sogeti University
Hassan G., and Erika Mir O. (n.d.): The Role of Use Cases in Requirements and Analysis
Modelling. Department of Information and Software Engineering, George Mason University,
Fairfax, VA
Joseph S. V., Joey F. G, and Jeffrey A. H., (2012): Essentials of Systems Analysis and
Design. 5th Edition, Prentice Hall.
Professor Yong Tan (n.d.): Lecture 11: Process Modelling. IS 460 Notes
Rosziati I., and Siow Y. Y. (2010): Formalization of the Data Flow Diagram Rules for
Consistency Check. International Journal of Software Engineering & Applications (IJSEA),
Vol.1, No.4.
137
Study Session 7: Modelling and Analysis of Information System-
II
Introduction
In the previous study session, you learned the meaning of modelling and DFD. You have also
learned about the SDLC's planning phase (see study session 3 and 6). There are statements in
the system request that indicate the reasons for proposing the systems development project.
This session teaches in depth what you need to know about the concept of information system
modelling and analysis.
Learning Outcomes for Study Session 7
When you have studied this session, you should be able to:
7.1 Highlight the elements of data flow diagrams (SAQ 7.1)
7.2 Describe the decomposition of DFDs (SAQ 7.2)
7.3 List guidelines for drawing a context diagram (SAQ 7.3)
7.4 Explain how to Validate DFDs (SAQ 7.4)
7.5 Explain the concepts of modelling an Information System using use-case Diagrams (SAQ
7.5)
138
A composite data flow is a data flow that consists of other data flows.
A control flow represents a condition or non-data event that triggers a process. Control flows
are not frequently used on DFDs.
Although the DFD does not show the detailed contents of a data flow, that information is
included in the data dictionary. Data flow is represented with an arrow
Data Store
An external entity must be connected by a data flow to a process, and not directly to a data
store or to another external entity.
Often, any of the following could be an external agent in an information system:
139
Office, department, division inside the business but outside the system scope.
An external organization or agency.
Another business or another information system.
One of your system‘s end-users or managers
Alternatively, external entities are referred to as Source/Sink. Source/Sink depicts the origin
and/or destination of the data. They are drawn as a square symbol. The name of the
source/sink states what the external agent is, however, because they are external, many
characteristics are not of interest to us.
External Agent
A
Process
140
CONTEXT DIAGRAM
0
X Z
Information Entity B
Entity A
System
LEVEL 0 DFD
1
X Entity B
Entity A
Process T
Z
Y B
2 3
M
D1 Data Store N Process U Process V
A
N
141
LEVEL 1 DFD
for Process 2 2.1
B J
Process D
K H
2.2 2.3
G A
M Process E Process F
D1 Data Store N
N C Y
LEVEL 2 DFD
for Process 2.2 2.2.1
K G
Process K
2.2.2
H
Process L
2.2.3
N C
Process M
D1 Data Store
N
M
142
7.2.3 Level-N Diagrams
A DFD that is the result of n nested decompositions of a series of sub-processes from a
process on a level-0 diagram.
143
ORDER
WAREHOUS E
CUSTOMER PICKING
LIST
ORDER
REJECT
NOTICE
INVOICE
0 COMPLETED
ORDER
PAYMENT
ORDER
SYSTEM
CASH
RECEIPTS
BANK ENTRY
COMMISSION
DEPOSIT
ACCOUNTING
SALES REP BANK
FINAL SUBMITTED
STUDENT
GRADE WORK
RECORDS STUDENT
SYSTEM
Figure 6.5: Context Diagram DFD for an Order System
CLASS 0 GRADED
ROSTER WORK
GRADING
SYSTEM
GRADING GRADE
PARAMETERS REPORT
INSTRUCTOR
144
In-text Question & Answer
o --------------------- is a repetitive process of breaking the description or perspective of a
system down into finer and finer detail.
Functional decomposition
145
Level 0 Diagram
Level 0 diagrams are data flow diagrams (DFD) that represent a system‘s major processes,
data flows and data stores at a higher level. The purpose of the level 0 DFD is to show all the
major high-level processes of the system and how they are interrelated. All process models
have one and only one level 0 DFD.
A key principle in creating sets of DFDs is balancing. Balancing means ensuring that all
information presented in a DFD at one level is accurately represented in the next-level DFD.
This doesn‘t mean that the information is identical, but that it is shown appropriately
Level 1 Diagrams
Level 1 diagrams show:
i. All the processes that comprise a single process on the level 0 diagram
ii. How information moves from and to each of these processes
iii. Shows in more detail the content of higher level process
Level 1 diagram may not be needed for all level 0 processes.
Level 2 Diagrams
Level 2 diagrams show:
i. All processes that comprise a single process on the level 1 diagram
ii. How information moves from and to each of these processes
Level 2 diagrams may not be needed for all level 1 processes
Numbering each process correctly helps the user understand where the process fits into the
overall system.
146
7.3.1 Diverging and Converging Data Flows
A diverging data flow is one that splits into multiple data flows. It is useful for illustrating
data that starts out naturally as one flow, but needs to be routed to parallel processes.
It is also useful for illustrating multiple copies of the same output going to different
destinations.
A converging data flow on the other hand is the merger of multiple data flows into a single
packet. A converging data flow is useful for illustrating data from multiple sources that must
come back together for some subsequent processing
147
ii. A fork means that exactly the same data go from a common location to two or more
processes, data stores or sources/sinks.
iii. A join means that exactly the same data come from any two or more different processes,
data stores or sources / sinks to a common location
iv. A data flow cannot go directly back to the same process it leaves
v. A data flow to a data store means update
vi. A data flow from a data store means retrieve or use
vii. A data flow has a noun phrase label
148
CUSTOMER
KITCHEN
Food Ordering
Receipts Food Order
System
Management Reports
RESTAURANT
MANAGER
149
Receipt Food Order
1.0 KITCHEN
CUSTOMER
3.0
2.0 Inventory Data Update
Inventory
Update Goods File
Sold File
4.0
Produce
Management
Report
Management Reports
RESTAURANT
MANAGER
Figure 6.8: Four Separate Processes of the Temi‘s Food Ordering System
150
Four Additional Advanced Rules Due to Balancing DFDs
1. A composite data flow on one level can be split into component data flows at the next
level, but no new data can be added and all data in the composite must be accounted for in
one or more sub-flows.
2. The input to a process must be sufficient to produce the outputs (including data placed in
data stores) from the process. Thus all outputs can be produced, and all data in inputs move
somewhere, either to another process or to a data store outside the process or on a more
detailed DFD showing a decomposition of that process.
3. At the lowest level of DFDs, new data flows can be added to represent data that are
transmitted under exceptional conditions; these data flows typically represent error messages
or confirmation notices.
4. To avoid having data flow lines cross each other, you may repeat data store, source/sink on
a DFD. Use an additional symbol, like a double line on the middle vertical line of a data store
symbol, or a diagonal line of a sink/source square, to indicate repeated symbol.
Completeness: The concept of DFD completeness refers to whether your DFDs include all
of the components necessary for the system you are modelling.
If your DFD contains data flows that do not lead anywhere, or data stores, processes, or
external entities that are not connected to anything else, your DFD is not complete. Most
CASE tools have built-in facilities to help find incompleteness in your DFDs. When you
draw many DFDs for a system, it is not uncommon to make errors; either CASE-tool analysis
functions or walkthroughs with other analysts can help you identify such problems.
151
Not only must all necessary elements of a DFD be present, each of the components must be
fully described in the project dictionary. For most CASE tools, when you define a process,
data flow, source/sink, or data store on a DFD, an entry is automatically created in the tool‘s
repository for that element. You must then enter the repository and complete the element‘s
description. Different descriptive information can be kept about each of the four types of
elements on a DFD, and each CASE tool has different entry information. A data-flow
repository entry includes:
The label or name for the data flow as entered on DFDs
A short description defining the data flow
A list of other repository objects grouped into categories by type of object
The composition or list of data elements contained in the data flow
Notes supplementing the limited space for the description that go beyond defining the
data flow to explaining the context and nature of this repository object
A list of locations (the names of the DFDs) on which this data flow appears and the
names of the sources and destinations for the data flow on each of these DFDs.
Consistency: The concept of DFD consistency refers to whether the depiction of the system
shown at one level of a DFD is compatible with the depictions of the system shown at other
levels. A gross violation of consistency would be a level-1 diagram with no level-0 diagram.
Another example of inconsistency would be a data flow that appears on a higher-level DFD
but not on lower levels (a violation of balancing). Yet, another example is a data flow
attached to one object on a lower-level diagram but attached to another object at a higher
level. For example, a data flow named Payment, which serves as input to Process 1 on a
level-0 DFD, appears as input to Process 2.1 on alevel-1 diagram for Process 2.
You can use the analysis facilities of CASE tools to detect such inconsistencies across nested
(or decomposed) data-flow diagrams. For example, to avoid making DFD consistency errors
when you draw a DFD using a CASE tool, most tools will automatically place the inflows
and outflows of a process on the DFD you create when you inform the tool to decompose that
process. In manipulating the lower-level diagram, you could accidentally delete or change a
data flow, which would cause the diagrams to be out of balance; thus, a consistency check
facility with a CASE tool is quite helpful.
152
Timing: You may have noticed in some of the DFD examples we have presented that DFDs
do not do a good job of representing time. A given DFD provides no indication of whether a
data flow occurs constantly in real time, once per week, or once per month. No indication of
when a system would run is given either. For example, many large transaction-based systems
may run several large, computing-intensive jobs in batch mode at night, when demands on
the computer system are lighter. A DFD has no way of indicating such overnight batch
processing. When you draw DFDs, then, draw them as if the system you are modelling has
never started and will never stop.
Iterative Development: The first DFD you draw will rarely perfectly capture the system you
are modelling. You should count on drawing the same diagram over and over again, in an
iterative fashion. With each attempt, you will come closer to a good approximation of the
system or aspect of the system you are modelling. Iterative DFD development recognizes that
requirements determination and requirements structuring are interacting, not sequential, sub-
phases of the analysis phase of the SDLC. One rule of thumb is that it should take you about
three revisions for each DFD you draw. Fortunately, CASE tools make revising drawings a
lot easier than if you had to draw each revision with pencil and template.
Primitive DFDs: One of the more difficult decisions you need to make when drawing DFDs
is when to stop decomposing processes. One rule is to stop drawing when you have reached
the lowest logical level; however, it is not always easy to know what the lowest logical level
is. Other more concrete rules for when to stop decomposing are as stated in section 6.9
By the time you stop decomposing DFDs, a DFD can become quite detailed. Seemingly
simple actions, such as generating an invoice, may pull information from several entities and
may also return different results depending on the specific situation. For example, the final
form of an invoice may be based on the type of customer (which would determine such things
as discount rate), where the customer lives (which would determine such things as sales tax),
and how the goods are shipped (which would determine such things as the shipping and
handling charges). At the lowest-level DFD, called a primitive DFD, all of these conditions
would have to be met. Given the amount of detail required in a primitive DFD, perhaps you
can see why many experts believe analysts should not spend their time diagramming the
current physical information system completely: much of the detail will be discarded when
the current logical DFD is created.
153
Using these guidelines will help you create DFDs that are more than just mechanically
correct. Your data-flow diagrams will also be robust and accurate representations of the
information system you are modelling. Such primitive DFDs also facilitate consistency
checks with the documentation produced from other requirements structuring techniques, as
well as make it easy for you to transition to system design steps. Having mastered the skills
of drawing good DFDs, you can now use them to support the analysis process.
In general, syntax errors are easier to find and fix than are semantics errors, because there are
clear rules that can be used to identify them (e.g., a process must have a name). Most CASE
tools have syntax checkers that will detect errors within one page of a DFD in much the same
way that word processors have spelling checkers and grammar checkers. Finding syntax
errors that span several pages of a DFD (e.g., from a level 1 to a level 2 DFD) is slightly
more challenging, particularly for consistent viewpoint, decomposition, and balance. Some
CASE tools can detect balance errors, but that is about all. In most cases, analysts must
154
carefully and painstakingly review every process, external entity, data flow, and data store on
all DFDs by hand to make sure that they have a consistent viewpoint and that the
decomposition and balance are appropriate.
155
Creating the Level 0 Diagram
i. Combine the set of DFD fragments into one diagram
ii. Generally move from top to bottom, left to right
iii. Minimize crossed lines
iv. Iterate as needed. DFDs are often drawn many times before being finished, even with very
experienced systems analysts.
156
In the next study session, we review data modelling and discuss how the data that flow
through the processes are organized and presented in business organisation.
CONTEXT DIAGRAM
0
X Z
Information Entity B
Entity A
System
LEVEL 0 DFD
1
X Entity B
Entity A
Process T
Z
Y B
2 3
M
D1 Data Store N Process U Process V
A
N
157
LEVEL 1 DFD
for Process 2
2.1
B J
Process D
K H
2.2 2.3
G A
M Process E
D1 Data Store N Process F
C Y
N
LEVEL 2 DFD
for Process 2.2 2.2.1
K G
Process K
2.2.2
H
Process L
2.2.3
N C
Process M
D1 Data Store
N
M
158
Box 7.1: DFD elements and validation
The elements of data flow diagrams include i Data Flows & Control Flows; ii. Data
Store; iii. Source / Sink External Agents /Entities/ iv. Process Concept
A data flow represents an input of data to a process, or the output of data from a
process.
It is important to note that:
A composite data flow is a data flow that consists of other data flows.
A data store is an inventory of data which one or more processes need to use at
a later time.
A decomposition diagram or hierarchy chart shows the top-down, functional
decomposition of a system
Context diagram is a data flow diagram (DFD) of the scope of an
organizational system that shows the system boundaries, external entities that
interact with the system and the major information flows between the entities
and the system.
These general guidelines for drawing DFD include:
1. Completeness
2. Consistency
3. Timing considerations
4. The iterative nature of drawing DFDs
5. Drawing primitive DFDs
There are two fundamentally different types of problems that can occur in DFDs:
these are syntax errors and semantics errors.
3 A data flow diagram (DFD) illustrates the movement of data between the external
entities, the processes and data stored within an information system, without showing
program logic or processing steps.
159
4 These general guidelines for drawing DFD include:
1. Completeness
2. Consistency
3. Timing considerations
4. The iterative nature of drawing DFDs
5. Drawing primitive DFDs
160
3. Use unique names within each set of symbols.
4. Do not cross lines.
5. Provide a unique name and reference number for each process. The context
diagram contains process 0, the next level of detail inside process 0, you must create a
DFD named diagram 0
6. Reviewing models with users allows you to obtain their feedback and approval for
the logical design of
SAQ 7.4: You can validate DFDs by comparing them to the quality or violation rules listed
below. The rules for process, data store, source / sink, and data flow are quick
checklists for identifying the most common problems.
SAQ 7.5: Use-case diagram is a part of the Unified Modelling Language (UML) that are used
to explain and document the interaction that is required between the user and the
system to accomplish the user‘s task, while a data flow diagram (DFD) illustrates the
movement of data between the external entities, the processes and data stored within
an information system, without showing program logic or processing steps.
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Denise D., and Dr. Ken L. (n.d.): Analysis and Design for Process Support Systems using
Goal oriented Business Process Modelling. School of Computing & Mathematics, University
of Huddersfield, England
Dr. Kevin P. Duffy, (2011): Structured Systems Analysis and Design. Sogeti University
Hassan G., and Erika Mir O. (n.d.): The Role of Use Cases in Requirements and Analysis
Modelling. Department of Information and Software Engineering, George Mason University,
Fairfax, VA
Joseph S. V., Joey F. G, and Jeffrey A. H., (2012): Essentials of Systems Analysis and
Design. 5th Edition, Prentice Hall.
Professor Yong Tan (n.d.): Lecture 11: Process Modelling. IS 460 Notes
Rosziati I., and Siow Y. Y. (2010): Formalization of the Data Flow Diagram Rules for
Consistency Check. International Journal of Software Engineering & Applications (IJSEA),
Vol.1, No.4.
William Y. Arms (n.d.): CS 5150 Software Engineering: Requirements Analysis. Cornell
University of Computing and Information Science
161
Study Session 8: Data Modelling--I
Introduction
You learnt about the analysis phase in prior sessions, and you know that analysts construct
process models to reflect how the business system would operate. Simultaneously, you
discovered that analysts must comprehend the information used and generated by the
business system. This session will teach you more, particularly about data modelling. Data
modelling is most likely one of the most time-consuming and labour-intensive aspects of the
system development process. The data model's purpose is to ensure that all data items
required by the system are fully and accurately represented.
Our focus here is on creating a logical data model. Although there are several ways to model
data, we will present to you one of the most commonly used techniques: entity relationship
diagramming, a graphic drawing technique developed by Peter Chen that shows all the data
components of a business system.
162
Later, during the design phase, the data model is changed to reflect exactly how the data will
be stored in databases and files. This section describes entity relationship diagramming, one
of the most common data modelling techniques used in industry.
A data model is a formal way of representing the data that are used and created by a business
system; it illustrates people, places, or things about which information is captured and how
they are related to each other. The data model is drawn by an iterative process in which the
model becomes more detailed and less conceptual over time. During analysis, analysts draw a
logical data model, which shows the logical organization of data without indicating how data
are stored, created, or manipulated. Because this model is free of any implementation or
technical details, the analysts can focus more easily on matching the diagram to the real
business requirements of the system.
Data modelling is seen by many system developers as the most important aspect of
information system requirements statement. This view is due to the following reasons:
i. The characteristics of data captured during data modelling are crucial in the design of
databases, programs, computer screens, and printed reports.
ii. Data rather than processes are the most complex aspects of many modern information
systems.
iii. The characteristics about data e.g. format and relationships with other data are rather
permanent. Unlike what we have in process modelling- who receives which data, the format
of reports, and what reports are used- all these change constantly over time.
iv. Structural information about data is essential to generate programs automatically.
In the design phase, analysts draw a physical data model to reflect how the data will
physically be stored in databases and files. At this point, the analysts investigate ways to store
the data efficiently and to make the data easy to retrieve.
Project teams usually use CASE tools to draw data models. Some of the CASE tools are data
modelling packages, such as ERwin by Platinum Technology, that help analysts create and
maintain logical and physical data models; they have a wide array of capabilities to aid
modellers, and they can automatically generate many different kinds of databases from the
models that are created. Other CASE tools are Oracle Designer and Visible Analyst
Workbench, in which data modelling is one of many capabilities, and the tool can be used
163
with many different databases. A benefit of the full-service CASE tool is that it integrates the
data model information with other relevant parts of the project.
Data model
Now that you are able to explain data model, let us learn an entity relationship diagram
(ERD) which is a conceptual model used by a business system.
For example, let us consider a Transcript Request System. This information system is used to
carry out academic transcript issuing process in the records unit of the computing centre of a
University. We will use it for our discussion on how to read an entity relationship diagram.
The DFD for the transcript request process is shown in Figure7.1*. Although we can
understand how the system works simply by studying the data flow diagram, however, we
can only have little understanding of the detailed information that flows through the system.
For instance, what exactly is a ―New transcript request‖? What pieces of data are captured in
a ―Transcript collection authorization‖?
164
Supply matricNo, Course,
Name, Year of
D1 Student‘s Departmental
Admission&Graduation, and Records
Grade to indicate request for 2.1
transcript
Issues ‗Authority to
Pay‘
2.5
2.3
Submission of
photocopy of Receipt Confirmed Package the
Applicant of Confirms
the transcript request Transcript
request and
Transcript for delivery
processes the
transcript
D2 Transcript Request
Database of
Collected
Transcript collection authorization or Notice
Transcript
of transfer/delivery
Figure 7.1*: DFD for Transcript Request Process
165
Applicant data describe the graduates who is requesting for his academic transcript. The
Transcript Request data capture information about every transcript request event, and the
Transcript data describe the transcripts used for postgraduate admission processes by
graduates.
We can also see the specific facts that describe each of the three categories.
For example, a transcript is described by its ID number, name, description, and approval
status. We can also see what can be used to uniquely identify a transcript, a transcript request,
and a transcript applicant, by looking for the asterisks next to the data elements. A unique ID
has been created to identify every transcript applicant and every transcript. A transcript
request is uniquely identified by a combination of the transcript applicant ID, the transcript
ID, and the request date.
The lines connecting the three categories of information communicate the relationships that
the categories share. By reading the relationship lines, the analyst understands that a
transcript applicant (TA) makes transcript requests and transcript requests involve transcripts.
The ERD also communicates high-level business rules. Business rules are constraints or
guidelines that are followed during the operation of the system; they are rules such as ―A
payment can be cash, cheque, debit card, or credit card,‖ ―A sale is paid for by one or more
payments,‖ or ―A customer may place many orders.‖ Over the course of a workday, people
are constantly applying business rules to do their jobs, and they know the rules through
training or knowing where to look them up. If a situation arises where the rules are not
known, workers may have to refer to a policy guide or written procedure to determine the
proper business rules.
On a data model, business rules are communicated by the kinds of relationships that the
entities share. From the ERD, for example, we know from the ―crow‘s foot‖ placed on the
line closest to the Transcript Request that a TA may make many Transcript Requests. We can
see by the two bars placed on the line closest to the TA that a Transcript Request is made by
166
exactly one TA. Ultimately, the new system should support the business rules we just
described, and it should ensure that users don‘t violate the rules when performing the
processes of the system.
Therefore, in our example, the system should not permit a transcript request to be made that
does not involve a TA (i.e. application by proxy is not allowed). Similarly, the system should
not allow a transcript request to involve more than one TA.
Now that we‘ve seen an ERD, let‘s step back and learn the ERD basics and then describe the
syntax of the ERD, using the diagram in Figure 7.1
Entity: The entity is the basic building block for a data model. It is a person, place, event, or
thing about which data is collected—for example, an employee, an order, or a product. An
entity is depicted by a rectangle, and it is described by a singular noun spelt in capital letters.
All entities have a name, a short description that explains what they are, and an identifier that
is the way to locate information in the entity. In Figure 7.1, the entities are Transcript
Applicant, Transcript Request, and Transcript.
Entities represent something for which there exist multiple instances, or occurrences. For
example, in figure 7.3, Adekunle Olajide and Idowu Ige could be instances of the student
entity. We would expect the student entity to stand for all of the people whom we have
admission and have completed their registration processes, and each of them would be an
instance in the student entity. If there is just one instance, or occurrence, of a person, place,
event, or thing, then it should not be included as an entity in the data model. For example,
167
think a little more broadly about the transcript request information system. Figure 7.1 focuses
on just a small part of that information system.
We assumed that the computing centre of the institution receives more than one Transcript
Applicant, because we included a TA entity to capture specific facts about each.
Attributes are nouns that are listed within an entity. Usually, some form of the entity name is
appended to the beginning of each attribute to make it clear as to what entity the attribute
belongs (e.g., STUD_lastName, STUD_phoneNumber). Without doing this, you can get
confused by multiple entities that have the same attributes, e.g., a student and an employee in
the institution both can have an attribute called ―lastName.‖
STUD_lastName and STUD_lastName are much clearer ways to name attributes on the data
model.
One or more attributes can serve as the identifier i.e. the attribute(s) that can uniquely identify
one instance of an entity; the attributes that serve as the identifier are noted by an asterisk
next to the attribute name. If there are no students with the same last name, then last name
can be used as the identifier of the student entity. In this case, if we need to locate Idowu Ige,
the name Ige would be sufficient to identify the one instance of the Ige last name.
Suppose that we add a student named Temitope Ige. Now we have a problem: Using the
name Ige would not uniquely lead to one instance—it would lead to two (i.e., Idowu Ige and
Temitope Ige). You have three choices at this point, and all are acceptable solutions. First,
you can use a combination of multiple fields to serve as the identifier (last name and first
name). This is called a concatenated identifier because several fields are combined, or
concatenated, to uniquely identify an instance. Second, you can find a field that is unique for
each instance, like the student telephone number. Third, you can wait to assign an identifier
(like a randomly generated number that the system will create) until the design phase of the
SDLC; this is shown in figure 7.4 Many data modellers don‘t believe that randomly
generated identifiers belong on a logical data model, because they do not logically exist in the
business process.
168
IDEF1X Chen Crow‘s Foot
Relationship: Relationships are associations between entities, and they are shown by lines
that connect the entities together. Every relationship has a parent entity and a child entity, the
parent being the first entity in the relationship, and the child being the second.
Relationships should be clearly labelled with active verbs so that the connections between
entities can be understood. If one verb is given to each relationship, it is read in two
directions. For example, we could write the verb makes alongside the relationship for the TA
and Transcript Request entities, and this would be read as ―a TA makes a transcript request‖
and ―a transcript request is made by a TA.‖
In Figure 7.1, we have included words for both directions of the relationship line; the top
words are read from parent to child, and the bottom words are read from child to parent.
Notice that the TA entity is the parent entity in the TA-Transcript Request relationship. In
addition, some CASE tools require that every relationship name be unique on the ERD, so we
select unique descriptive verbs for each relationship.
169
Entity Example Instances
Adekunle Olajide
Student Idowu Ige
Chinyere Odiah
Danjuma Duru
Kelechi Samson
Cardinality: Relationships have two properties. First, a relationship has cardinality, which is
the ratio of parent instances to child instances. To determine the cardinality for a relationship,
we ask ourselves: ―How many instances of one entity are associated with an instance of the
other?‖ (Remember that an instance is one occurrence of an entity, such as TA Idowu Ige or
Transcript 001.) For example, a TA makes how many transcript requests? The cardinality for
binary relationships (i.e., relationships between two entities) is 1:1, 1:N, or M:N, and we will
discuss each in turn.
The 1:1 (read as ―one to one‖) relationship means that one instance of the parent entity is
associated with one instance of the child entity. There are no examples of 1:1 relationships in
Figure 7.1. So, imagine for a moment that, as a reward, a bank branch assigns a specific
reserved parking place to every employee who is honoured as an ―employee of the month.‖
One reserved parking place is assigned to each honoured employee, and each honoured
employee is assigned one reserved parking place. If we were to draw these two entities, we
170
would place a bar next to the Employee entity and a bar next to the Reserved Parking Place
entity. The cardinality is clearly 1:1 in this case, because each honoured employee is assigned
exactly one reserved parking place, and a reserved parking place is assigned to exactly one
employee.
More often, relationships are 1:N (read as ―one to many‖). In this kind of relationship, a
single instance of a parent entity is associated with many instances of a child entity; however,
the child entity instance is related to only one instance of the parent. For example, a TA
(parent entity) can make many Transcript Requests (child entity), but a particular Transcript
Request is made by only one TA, suggesting a 1:N relationship between TA and Transcript
Request. A character resembling a crow‘s foot is placed closest to the Transcript Request
entity to show the ―many‖ end of the relationship. The parent entity is always on the ―1‖ side
of the relationship; hence, a bar is placed next to the TA entity. Can you identify other 1:N
relationships in Figure 7.1? Identify the parent and child entities for each relationship.
171
Modality: Second, relationships have a modality of null or not null, which refers to whether
or not an instance of a child entity can exist without a related instance in the parent entity.
Basically, the modality of a relationship indicates whether the child-entity instance is
required to participate in the relationship. It forces you to ask questions such as; can you have
a Transcript Request without a Transcript? And can you have a Transcript without a
Transcript Request? Modality is depicted by placing a zero on the relationship line next to the
parent entity if nulls are allowed. A bar is placed on the relationship line next to the parent
entity if nulls are not allowed. In the two questions we just asked, the first answer is no: you
need a transcript to have a transcript request. You can, however, have a transcript without
having a transcript request for that transcript. The modality is ―not null,‖ or ―required,‖ for
the first relationship in figure7.1. Notice, however, that a zero has been placed on the
relationship line between Transcript and Transcript Request next to the Transcript Request
entity. This means that transcripts can exist in our system without requiring that a transcript
request exists. Said another way, instances of transcript requests are optional for a transcript.
The modality is ―null.‖
The information that is captured in the data dictionary is called metadata, which simply
means data about data. Metadata is anything that describes an entity, attribute, or relationship,
such as entity names, attribute descriptions, and relationship cardinality, and it is captured to
help designers better understand the system that they are building and to help users better
understand the system that they will use.
Metadata can describe an ERD element (like entity name) and also information that is helpful
to the project team (like the user contact, the analyst contact, and special notes).
172
Metadata are stored in the data dictionary so that they can be shared and accessed by
developers and users throughout the system development life cycle. The data dictionary
allows you to record the standard pieces of information about your elements in one place, and
it makes that information accessible to many parts of a project. For example, the data
attributes in a data model also appear on the process models as elements of data stores and
data flows, and on the user interface as fields on an input screen. When you make a change in
the data dictionary, the change ripples to the relevant parts of the project that are affected.
When metadata are complete, clear, and shareable, the information can be used to integrate
the different pieces of the analysis phase and ultimately lead to a much better design. It
becomes much more detailed as the project evolves through the system development life
cycle.
First, we will describe the three steps in creating ERDs, using the data model example from
figure 7.1. We will then discuss several advanced concepts of ERD‘s.
173
If the process models (e.g., DFDs) have been prepared, the easiest way to start is with them:
The data stores on the DFDs, the external entities, and the data flows indicate the kinds of
information that are captured and flow through the system.
The Transcript Request plays a key role in our transcript request system example, and so is
included as a data entity. In addition, the Transcript themselves will need to be described with
data, and so will also be included as a data entity. Finally, we will need to capture
information about the transcript applicants (TAs), since these individuals are the key actors in
the system.
Step 2: Add Attributes and Assign Identifiers: The information that describes each entity
becomes its attributes. It is likely that you identified a few attributes if you read the transcript
request system use case (which is expected to be the starting point of the analysis) and paid
attention to the information flows on their DFDs. For example, a TA has a name, a telephone
number and a transcript has an ID and description. On a real project, there are a number of
places you can go to figure out what attributes belong in your entity. For one, you can check
in the CASE tool—often, an analyst will describe a process model data flow in detail when
he or she enters the data flow into the CASE repository. For example, an analyst may create
an entry for the transcript request information data flow which lists all the data elements that
make up the transcript request information. The elements of the data flow should be added to
the ERD as attributes in your entities.
A second approach is to check the requirements definition. Often, there is a section under
functional requirements called data requirements. This section describes the data needs for
the system that were identified while requirements were gathered. A final approach to
identifying attributes is to use requirements gathering techniques. The most effective
techniques would be interviews (e.g., asking people who create and use reports about their
data needs) or document analysis (e.g., examining existing forms, reports, or input screens).
Once the attributes are identified, one or more of them will become the entity‘s identifier.
The identifier must be an attribute(s) that is able to uniquely identify a single instance of the
entity.
Step 3: Identify Relationships: The last step in creating ERDs is to determine how the
entities are related to each other. Lines are drawn between entities that have relationships,
each relationship is labelled, and cardinality and modality is assigned. The easiest approach is
to begin with one entity and determine all the entities with which it shares relationships. In
174
our example in figure 7.1, we can see that a TA makes transcript requests, and a transcript is
included in a transcript request.
When you find a relationship to include on the model, you need to determine its cardinality
and modality. For cardinality, ask how many instances of each entity participate in the
relationship. You know that a TA can make many transcript requests, but a specific transcript
request is made by only one TA. Therefore, we place a crow‘s foot next to the transcript
request entity and a single bar closest to the TA entity. This suggests that there is a 1:N
relationship in which the TA is the parent entity (the ―1‖) and the transcript request is the
child entity (the ―many‖).
A transcript can exist without a transcript request, so the modality is ―null‖; however, a
transcript request requires the existence of a transcript, so the modality is ―not null.‖
however, a transcript request requires the existence of a transcript, so the modality is ―not
null.‖
Remember that data modelling is an iterative process. Often, the assumptions you make and
the decisions you make change as you learn more about the business requirements and as
changes are made to the use cases and process models. But you have to start somewhere—so
do the best you can with the three steps we just described and keep iterating until you have a
model that works.
175
In-text Question & Answer
o List the basic steps in building an ERD
The basic steps in building an ERD are: i. Identify the entities; ii. Add the
appropriate attributes to each entity; iii. Draw relationships among entities to
show how they are associated with one another.
The Next activity is based on what you learned in this session about data modelling.
Take a look at figure 7.1; it describes the ERD steps for a transcript request
176
For us to meaningfully learn about data model--1 there is a need to understand some
fundamental steps of concepts of a model. In other words the meaning and concept of
a data modelling are explained in Box 7.1
177
6 Relationships are associations between entities, and they are shown by lines that
connect the entities together.
7 A CASE tool is used to help build entity relationship diagrams.
8 Metadata can describe an ERD element (such as entity name) as well as information
useful to the project team (like the user contact, the analyst contact, and special
notes).
9 Entities, attributes, and relationships are the ERD elements, each of which is
represented by a different graphic symbol.
SAQ 8.1: A data model is a formal way of representing the data that are used and created by
a business system; it illustrates people, places, or things about which information is
captured and how they are related to each other.
It is seen by many system developers as the most important aspect of information
system requirements statement.
SAQ 8.2: An entity relationship diagram (ERD) is a conceptual model which shows the
information that is created, stored, and used by a business system.
178
SAQ 8.3: The three basic elements in the data modelling language are: (i) entities, (ii)
attributes, and (iii) relationships.
SAQ 8.4: Metadata is anything that describes an entity, attribute, or relationship, such as
entity names, attribute descriptions, and relationship cardinality.
SAQ 8.5: The basic steps in building an ERD are:
i. Identify the entities
ii. Add the appropriate attributes to each entity
iii Draw relationships among entities to show how they are associated with one
another.
Relationships are defined as associations between entities, which are shown by
lines that connect the entities together.
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Jelena M., (2004): Lecture Notes on Information Resources Part - Introduction to Data
Modeling and MSAccess. Vilnius Gediminas Technical University
Joseph S. V., Joey F. G, and Jeffrey A. H., (2012): Essentials of Systems Analysis and
Design. 5th Edition, Prentice Hall.
Zheng J.G., (2010): CIS 3730- Designing and Managing Data. J. Mack Robinson College of
Business, Georgia State University.
179
Study Session 9: Data Modelling--II
Introduction
You learnt about the meaning and some basic concept of a model in previous session, and
you know that analysts construct process models to reflect how the business system would
operate. Simultaneously, you discovered that analysts must comprehend the information used
and generated by the business system. This session will teach you more, particularly about
data modelling. Our focus here is on creating a logical data model. You will learn more on
how to create an entity relationship diagram (ERD) and discuss some style guidelines. Then,
we will present a technique called normalization that helps analysts validate the data models
that they draw.
This session will also teach you how to organize, present the data that flows through the
processes, as well as how data models balance, or interrelate, with the process models.
180
Independent Entity: An independent entity is an entity that can exist without the help of
another entity, such as Transcript Applicant and Transcript. These entities all have identifiers
that were created from their own attributes. Attributes from other entities were not needed to
uniquely identify instances of these entities.
Independent entities are drawn as rectangles with a single border line.
When a relationship includes an independent child entity, it is called a non-identifying
relationship. This name is derived from the fact that parent entity attributes are not needed as
part of the child entity‘s identifier.
Dependent Entity: There are situations when a child entity requires attributes from the
parent entity to uniquely identify an instance. In these cases, the child entity is called a
dependent entity, and its identifier consists of at least one attribute from the parent entity.
A good example of a dependent entity is the Transcript Request entity shown in Figure 7.1. A
Transcript Request is made by a specific TA and includes a specific transcript. We include
the TA_ID and the Transcript_ID plus the request date to fully identify each Transcript
Request, Transcript Request is considered a dependent entity and is shown as a rectangle with
a double border line.
When relationships have a dependent child entity, they are called identifying relationships.
This name is derived from the fact that parent entity attributes are needed as part of the child
entity‘s identifier.
Intersection Entity A third kind of entity is the intersection entity. It exists in order to
capture some information about the relationship between two other entities. Typically,
intersection entities are added to a data model to store information about two entities sharing
an M:N relationship. These entities are also called Associative Entities. Think back to the
M:N relationship between TA and Transcript shown in figure 7.5. In that figure, one instance
of a TA could request many Transcripts, and a Transcript can be requested by many TAs. A
difficulty arises if we want to capture the date on which a particular transcript was requested
by a specific TA. We cannot put the date in the Transcript entity, because the Transcript is
requested by many TAs. We also cannot put the date in the TA entity, because there are many
Transcripts requested by the TA. Therefore, we need another entity that enables us to
associate a specific transcript with a specific TA on a specific date.
181
TRANSCRIPT APPLICANT requests TRANSCRIPT
*T A_ID *T RN_ID
T A_Name T RN_Name
T A_PhoneNumber T RN_Description
T A_Address
is requested by
T RN_ApprovalStatus
Step 1: Remove the M:N relationship line and insert a new entity in between the two existing
ones.
Step 2: Add two 1:N relationships to the model. The two original entities should serve as the
parent entities for each 1:N, and the new intersection entity becomes the child entity in both
relationships.
Step 3: Name the intersection entity.
Intersection entities are often named by a concatenation of the two entities that created it
(e.g., Transcript Request), making its meaning clear. Alternatively, the entity can be given
another appropriate name. Figure 7.6 shows the M:N TA-Transcript relationship and how it
was resolved with the use of an intersection entity. Are intersection entities dependent or
independent? Actually, it depends.
Sometimes an intersection entity has a logical identifier that can uniquely identify its
instances. For example, an intersection entity between a football team and a football pitch (a
182
Football team may train on many football pitches and a football pitch is trained on by many
football teams) may be called a training session. If training sessions have unique training
session Id, then the entity would be considered independent. In contrast, the Transcript
Request intersection entity in figure 7.6 requires the identifiers from both TA and Transcript
for an instance to be uniquely identified. Thus, Transcript Request is a dependent entity.
ITQ/ITQ answer
o Can you highlight the three steps involved in adding an intersection entity?
Step 1: Remove the M:N relationship line and insert a new entity in between the
two existing ones.
Step 2: Add two 1:N relationships to the model. The two original entities should
serve as the parent entities for each 1:N, and the new intersection entity becomes
the child entity in both relationships.
Step 3: Name the intersection entity.
183
There are no rules covering the layout of ERD components. They can be placed anywhere
you like on the page, although most systems analysts try to put the entities that are related to
each other together. If the model becomes too complex, the model can be broken down into
subject areas. Each subject area would contain related entities and relationships, and the
analyst can work with one group of entities at a time to make the modelling process less
confusing.
In general, data modelling can be quite tricky, mainly because the data model is heavily
based on interpretation; therefore, when business rules change, the relationships or other data
model components will have to be altered. Assumptions are an important part of data
modelling. It is important that we verify all assumptions about business rules so that our data
model is correct.
Therefore, when you carryout data modelling, don‘t become overwhelmed by details. Rather,
add components to the diagram slowly, knowing that they will be changed and rearranged
many times. Make assumptions along the way and then confirm these assumptions with the
business users. Work iteratively and constantly challenge the data model with business rules
and exceptions to see whether the diagram is communicating the business system
appropriately.
UNIVERSITY
*UNI_name hires
COUNTRY
contains LECTURER
UNI_enrollment
*COU_name *LEC_ID
UNI_ dateEstab
LEC_name
UNI_chancellor
LEC_ startdate
UNI_firstpresident
specializes
COURSE
*name
description
area
Figure 7.7: Data Modelling Guidelines Summary unit
184
The Guidelines summary for evaluating data model can be deduced from figure 7.7 as
follows:
i. Country has only one instance (i.e., Nigeria). This entity is not needed
ii. If lecturers are called ―Academic Staff,‖ then the ERD should contain an entity called
―Professor,‖ to remain consistent.
iii. Why are all these attributes being captured about the University? Will it be necessary to
store the chancellor and the first president of each university? If not, these attributes should
be removed from the ERD.
iv. The attributes in the course entity are poorly labelled; we have no way of knowing to
which entity they belong if they stand alone- it would be helpful to begin each attribute with
COURSE_. Also, what is ―area‖? A term like ―department‖ of ―field of interest‖ would be
more descriptive.
v. In entity lecturer, the name attribute should be broken down into first name and last name;
else, there would be no way to manipulate names in the system. For instance, there would no
way to sort by last name if it were combined with the first name.
vi. This model assumes that a lecturer can only work for one university- what about those
with joint appointments? An assumption should be stated on the model or in the
documentation so that this business rule can be confirmed.
ITQ/ITQ answer
o ER Design guidelines are rules that must be followed; rather, than they are for ―best
practices‖ True/False?
False
9.4 Normalization
Once you have created your ERD, there is a technique called normalization that can help you
validate the models that you have drawn. It is a process whereby a series of rules are applied
to a logical data model or a file to determine how well formed it is. Normalization rules help
analysts identify entities that are not represented correctly in a logical data model, or entities
that can be broken out from a file. The result of the normalization process is that the data
attributes are arranged to form stable, yet flexible, relations for the data model. Three
normalization rules are used to help analysts improve the quality of data models; these are
First Normal Form, Second Normal Form and Third Normal Form. These rules are applied
regularly in practice.
185
First Normal Form: A logical data model is in first normal form (1NF) if it does not
contain attributes that have repeating values for a single instance of an entity. Often, this
problem is called repeating attributes, or repeating groups. Every attribute in an entity should
have only one value per instance for the model to ―pass‖ 1NF.
Second Normal Form: Second normal form (2NF) requires first that the data model is in
1NF and second that the data model leads to entities containing attributes that are dependent
on the whole identifier. This means that the value of all attributes that serve as identifier can
determine the value for all of the other attributes for an instance in an entity. Sometimes, non-
identifier attributes are dependent on only part of the identifier (i.e., partial dependency), and
these attributes belong in another entity.
Third Normal Form: Third normal form (3NF) occurs when a model is in both 1NF and
2NF and when, in the resulting entities, none of the attributes is dependent on a non-identifier
attribute (i.e., transitive dependency).
Third normal form also addresses issues of derived, or calculated, attributes. By definition,
derived attributes can be calculated from other attributes and do not need to be stored in the
data model. As an example, a person‘s age would not be stored as an attribute if date of birth
were stored, because, by knowing the date of birth and current date, we can always calculate
the age.
186
what data are used and created by the processes and where those data are kept. These
components of the DFD need to balance with the ERD. In other words, the DFD data
components need to correspond with the ERD‘s data stores (i.e., entities) and the data
elements that comprise the data flows (i.e., attributes) depicted on the data model.
Many CASE tools offer the feature of identifying problems with balance between DFDs and
ERDs; however, it is a good idea to understand how to identify problems on your own. This
involves examining the data model you have created and comparing it with the process
models that have been created for the system.
Check your data model and see whether there are any entities you have created that do not
appear as data stores on your process models. If there are, you should add them to your
process models to reflect your decision to store information about that entity in your system.
Similarly, the bits of information that are contained in the data flows should match up to the
attributes found in entities in the data models. For example, if the customer information data
flow that goes from the customer entity to the purchase aggregate process were defined as
having customer name, e-mail address, and home address, then each of these pieces of
information should be recorded as attributes in the customer entity on the data model. We
must verify that all the data items included in the data stores and data flows in the process
model have been included somewhere as an entity attribute in the data model.
We need to ensure that the data model fully incorporates all the data identified in the process
model. If it does not, then the data model is incomplete. In addition, all the data elements in
the data model should appear as a part of a data store and data flow(s) in the process model. If
some data elements have been omitted from the process model, then we need to investigate
whether those data items are truly needed in the processing of the system. If they are needed,
they must be added to the process model data stores and data flows; otherwise, they should be
deleted from the data model as extraneous data items.
A useful tool to clearly depict the interrelationship between process and data models is the
CRUD matrix. The CRUD which means Create, Read, Update, Delete matrix is a table that
depicts how the system‘s processes use the data within the system. It is helpful to develop the
CRUD matrix on the basis of the logical process and data models and then revise it later in
the design phase. The matrix also provides important information for program specifications,
because it shows exactly how data are created and used by the major processes in the system.
187
To create a CRUD matrix, a table is drawn listing all the system processes along the top, and
all the data entities (and entity attributes) along the left-hand side of the table. Then, from the
information presented in the process model, the analyst fills in each cell with a C, R, U, D,
(or nothing) to describe the process‘s interaction with each data entity (and its attributes).
Figure 7.8 shows a portion of a data flow diagram and the CRUD matrix that can be derived
from it. As you can see, if a process reads information from a data store, but does not update
it, there should be a data flow coming out of the data store only. When a process updates a
data store in some way, there should be a data flow going from the process to the data store.
Attribute G-1 C R
Attribute G-2 C
Attribute G-3 C R
188
In-text Question & Answer
o The process model contains two data components, which are --------- and --------
The data flow and the data store.
Thinking carefully about the content of the data flows in the process models, you can identify
places where attributes may have been omitted from the data stores/entities. In addition, you
can verify that every attribute is created, read, updated, and deleted somewhere in the process
model. If it is not read by some process, then the attribute is probably not needed. If it is not
created or updated, the attribute probably needs to be added to a data flow(s) in the process
model.
The Next activity is based on what you learned in this session about data modelling.
189
UNIVERSITY
*UNI_name *LEC_ID
contains hires LECTURER
COUNTRY UNI_enrollment LEC_name
*COU_name UNI_ dateEstab LEC_ startdate
UNI_chancellor
UNI_firstpresident
specializes
COURSE
*name
description
area
unit
Figure 7.7: Data Modelling Guidelines Summary
For us to meaningfully learn about data modelling there is a need to understand the guidelines
involved. In other words the data modelling guidelines are explained in Box 9.1
190
Box 9.1: Advanced data modelling
There are three special types of entities in modelling.
These are independent entity, dependent entity and intersection entity
It is important to note that:
When a relationship includes an independent child entity, it is called a non-
identifying relationship.
Intersection entity exists in order to capture some information about the
relationship between two other entities.
When relationships have a dependent child entity, they are called identifying
relationships.
You can use a technique called normalization to validate that your models are
well formed.
Another option is to compare your ERD to your process models to ensure that
both models are balanced when validating ERD
Design guidelines are not rules that must be followed; rather, they are ―best
practices‖ that often lead to better quality diagrams.
Normalization rules help analysts identify entities that are not represented
correctly in a logical data model, or entities that can be broken out from a file
The requirements analysis techniques are used to determine how to draw both
the process models and data models.
The CASE repository is used to collect information that is stored and updated
throughout the entire analysis phase.
191
SAQ 9.1 (tests learning outcome 9.1)
Can you highlight three special types of entities?
SAQ 9.2 (tests learning outcome 9.2)
Can you define normalization?
SAQ 9.3 (tests learning outcome 9.3)
Can you state data model guidelines?
SAQ 9.4(tests learning outcome 9.4)
Can you describe how to validate entity relationship?
SAQ 9.5 (tests learning outcome 9.5)
Explain how to balancing Entity Relationship Diagrams with Data Flow Diagrams
SAQ 9.1: The three special types of entities are: i) Independent Entity,(ii) Dependent Entity:
(iii) Intersection Entity
SAQ 9.2: Normalisation is a process whereby a series of rules are applied to a logical data
model or a file to determine how well formed it is.
Normalization rules help analysts identify entities that are not represented
correctly in a logical data model, or entities that can be broken out from a file.
SAQ 9.3: The Guidelines for data model are as follows:
i. Country has only one instance (i.e., Nigeria). This entity is not needed
ii. If lecturers are called ―Academic Staff,‖ then the ERD should contain an entity
called ―Professor,‖ to remain consistent.
iii. Why are all these attributes being captured about the University? Will it be
necessary to store the chancellor and the first president of each university? If not,
these attributes should be removed from the ERD.
iv. The attributes in the course entity are poorly labelled; we have no way of knowing
to which entity they belong if they stand alone- it would be helpful to begin each
attribute with COURSE_. Also, what is ―area‖? A term like ―department‖ of ―field of
interest‖ would be more descriptive.
v. In entity lecturer, the name attribute should be broken down into first name and last
name; else, there would be no way to manipulate names in the system. For instance,
there would no way to sort by last name if it were combined with the first name.
192
vi. This model assumes that a lecturer can only work for one university- what about
those with joint appointments? An assumption should be stated on the model or in the
documentation so that this business rule can be confirmed.
SAQ 9.4: To validate the ERD, the ERD can be checked against your process models to
make sure that both models balance each other.
SAQ 9.5: Balancing entity relationship diagrams with data flow diagrams necessitates the use
of —the data flow and the data store. The goals of these are to show what data is
utilized and created by the processes, as well as where that data is stored. These
DFD components must be balanced with the ERD. To put it another way, the DFD
data components must correspond to the ERD's data stores (i.e., entities) and the
data pieces that form the data flows (i.e., attributes) as illustrated on the data
model.
References
Alan, D., Barbara H. W., and Roberta M. R. (2012): Systems analysis and design (5th
edition), John Wiley & Sons, Inc.
Jelena M., (2004): Lecture Notes on Information Resources Part - Introduction to Data
Modeling and MSAccess. Vilnius Gediminas Technical University
Joseph S. V., Joey F. G, and Jeffrey A. H., (2012): Essentials of Systems Analysis and
Design. 5th Edition, Prentice Hall.
Zheng J.G., (2010): CIS 3730- Designing and Managing Data. J. Mack Robinson College of
Business, Georgia State University.
193