Systems Analysis and Design
Systems Analysis and Design
AND
DESIGN
TABLE OF CONTENTS
TABLE OF CONTENTS 1
CHAPTER ONE 3
SYSTEM ANALYSIS AND DESIGN 3
1.0 Introduction 3
1.1 What Is a System 3
1.2 Types of System 6
1.3 A Formal Information System 8
1.4 An Informal Information System 9
1.5 Computer-Based Information System 9
1.6 Automated System 11
1.7 System Concepts 12
1.8 System Relations 12
1.9 Attributes Common to Most Systems 13
1.10 Why System Changes 13
CHAPTER TWO 15
SYSTEM ANALYSIS AND DESIGN 15
2.1 What Is System Analysis and Design 15
2.2 Objectives of System Analysis 15
2.3 Role of A Systems Analysist 16
2.4 Software Development Roles and Responsibilities 17
2.5 System Investigation 20
2.6 Software Crisis 21
CHAPTER THREE 23
SYSTEM DEVELOPMENT PROCESSES 23
3.1 Systems Development Life Cycle (SDLC) 23
3.2 Phases of Systems Development Life Cycle 24
CHAPTER FOUR 32
SYSTEMS DESIGN 32
4.1 Input Requirements 32
4.2 Output Requirements 32
4.3 Types of System Design 32
4.4 Conceptual Data Modelling 33
4.5 File Organization 36
1
CHAPTER FIVE 38
SYSTEM IMPLEMENTATION 38
5.1 System Conversion and Implementation 38
5.2 Operating Plan 41
5.3 Evaluation 41
5.4 System Maintenance 42
CHAPTER SIX 44
PROTOTYPING APPROACH TO SYSTEMS DEVELOPMEENT 44
6.1 Objectives of Prototyping 44
6.2 A Model to Prototyping Process 45
6.3 Applications That Are Good Prospects for Prototyping 47
CHAPTER SEVEN 48
SYSTEMS DEVELOPMENT METHODS 48
7.1 Structured Analysis and Design 48
7.2 Object-Oriented Analysis and Design 48
7.3 Function Oriented Design 49
7.4 Function Design 51
7.5 Software User Interface Design 53
CHAPTER EIGHT 60
STRUCTURED ANALYSIS & DESIGN TOOLS 60
8.1 Guidelines for Selecting Appropriate Tools That Will Suit Your Requirements 61
8.2 Flow Charts 61
8.2 Data Flow Diagram 62
8.3 Hipo Diagram 63
8.4 InputProcessOutput (IPO) 63
8.5 Decision Tables 64
8.6 Structured English 65
8.7 Pseudo-Code 66
8.8 Data Dictionary 66
8.9 Computer Assistant Software Engineering (Case) 68
8.10 Project Management Tools and Techniques 68
8.12 Gantt Chart 69
2
CHAPTER ONE
SYSTEMS ANALYSIS AND DESIGN
1.0 Introduction
System analyst and design refers to the process of examining a business situation with the intent of improving it
through better procedures and methods. Systems development can generally be thought of as having two major
components; Systems analysts and Systems design. System design is the process of planning a new system or
replace or complement an existing system. But before this planning can be done, we must thoroughly
understand the existing system and determine how computers can best be used to make its operations more
effective. Systems analysis, then, is the process of gathering and interpreting facts, diagnosing problems and
using the information to recommend improvements to the system. In brief, we can say that analysis specified
what the system should do. Design states how to accomplish the objectives.
3
1.1.2 Characteristics of a System
Based on the definition of a system, it is observed that following characteristics are present in all systems:
a) Organization: Organization implies structure and order. It is the arrangement of components that helps
to achieve objectives. In the design of a business system, for example, the hierarchical relation starting
with the president on top and leading downwards to the blue-collar workers represents an organization
structure. Likewise, a computer system is designed around an input device, a central processing unit, an
output device and one or more storage units. When these units are lined together, they work as a whole
system for generating information.
b) Interaction: Interaction refers to the procedure in which each component functions which each other
components of the system. In an organization, for example, purchasing must interact with production,
advertising with the sales and payroll with personnel. In a computer system also, the central processing
must interact with other units to solve a problem. In turn, the inter-relationship between these
components enables the computer to perform.
c) Interdependence: Interdependence means that component of the organization or computer system
depends on one another. They are coordinated and linked together in a planned way to achieve an
objective.
d) Integration: Integration is concerned with how a system is tied together. It is more than sharing a
physical part or locations. It means that parts of the system work together within the system even though
each part performs a unique function. Successful integration will typically produce a better result as a
whole rather than if each components works independently.
e) Central Objective: Central objective is the last characteristics of a system. Objectives must be real or
stated. Although a stated objective may be the real objective. It is quite common that organization may
set one objective and operate to achieve another. The important point is that users must be aware of the
central objective well in advance.
1.1.3 Elements of System
In most cases, systems analysts operate in a dynamic environment where change is a way of life. The
environment may be a business firm, a business application, or a computer system. To reconstruct a system, the
following key elements be must be considered:
control
Boundaries and
feedback
Environment interfaces
Figure 1.1: Elements of a system
4
a. Outputs and Inputs
A major objective of a system is to produce an output that has value to its user. Whatever the nature of the
output (good, services, or information), it must be in line with the expectations of the intended user. Inputs are
the elements (materials, human resources, and information) that enter the system for processing. Output is the
outcome of processing. A system feeds on the inputs to produce output in much the same way that a business
brings in human, financial, and material resources to produce goods and services. It is important to point out
here that determining the output is a first step in specifying the nature, amount and regularity of the input
needed to operate a system. For example, in systems analysis, the first concern is to determine the user’s
requirements of a proposed computer system – that is specification of the output that the computer is expected
to provide for meeting user requirements.
b. Processor(s)
The processor is the element in a system that involves the actual transformation of input into output. It is the
operational component of a system. Processors may modify the inputs totally or partially, depending on the
specifications of the output. This means that as the output specifications change so does the processing, in some
cases, input is also modified to enable the processor to handle the transformation.
c. Control
The control element guides the system. It is the decision – making subsystem that controls the pattern of
activities governing input, processing, and output. In an organizational context, management as a decision –
making body controls the inflow, handling and outflow of activities that affect the welfare of the business. In a
computer system, the operating system and the accompanying software influence the behavior of the system.
Output specifications determine what and how much input is needed to keep the system in balance.
In system analysis, knowing the attitudes of the individuals who controls the area for which a computer
is being considered can make the difference between the success and failure of the installation. Management
support is required for securing control and supporting the objective of the proposed change
d. Feedback
Control in a dynamic system is achieved by feedback. Feedback measures output against a standard in some
form of cybernetic procedure that includes communication and control. Output information is fed back to the
input and/or to the management(controller) for deliberation. After the output is compared against performance
standards, changes can result in the input or processing and consequently, the output.
Feedback may be positive or negative, routing or information. Positive feedback reinforces the
performance of the system. It is routine in nature. Negative feedback generally provides the control with
information for action. In systems analysis, feedback is important in different ways. During analysis, the user
may be told that the problem in a given application verify the initial concerns and justify the need for a change.
Another form of feedback comes after the system is implemented. The use informs the analyst about the
performance of the new installation. This feedback often results in enhancements to meet the user’s
requirements.
5
e. Environment
The environment is the “supra-system” within which an organization operates. It is the source of external
elements that impinge in the system. In fact, it often determines how a system must function. For example, the
organization’s environment, consisting of vendors, competitors, and others, may provide constraints and
consequently, influence the actual performance if the business.
f. Boundaries and interface
A system should be defined by its boundaries - the limits that identify its components, processes and
interrelationship when it interfaces with another system. For example, a teller system in a commercial bank is
restricted to the deposits, withdrawals and related activities of customers checking and savings accounts. It may
exclude mortgage foreclosures, trust activities, and the like.
Each system has boundaries that determine its sphere of influence and control. For example, in an
integrated banking - wide computer system design, a customer who has a mortgage and a checking account with
the same bank may write a check through the "teller system" to pay the premium that is later processed by the
"mortgage loan system." Recently, system design has been successful in allowing the automatic transfer of
funds from a bank account to pay bills and other obligations to creditors, regardless of distance or location. This
means that in systems analysis, knowledge of the boundaries of a given system is crucial in determining the
nature of its interface with other systems for successful design.
1.2 Types of System
There are different types of System; almost everything we come into contact with on a daily basis is either a
system or a component or (both). It is useful to organize the many different kinds of systems into useful
categories. Systems have been classified in different ways. Common classifications are:
(i) Physical or abstract systems
(ii) Open or closed systems
(iii) Deterministic or probabilistic systems
(iv) Adaptive and Non-Adaptive System
(v) Permanent or Temporary System
(vi) Natural and Manufactured System
(vii) Social, Human-Machine, Machine System
viii) Man-made/information systems.
1.2.1 Physical or Abstract Systems
Physical systems are tangible entities that may be static or dynamic in operation. Abstract systems are
conceptual or non-physical entities which may be as straightforward as formulas of relationships among sets of
variables or models - the abstract conceptualization of physical situations.
7
The producer: forms stable associations that endure for significant periods among,
matter-energy inputs to the system or outputs from its converter, the materials synthesized
being or growth, damage repair.
Other subsystems are; the matter-energy storage subsystem, the extruder, the motor, the supporter, the input
transducer, the internal transducer, the channel and net, the decoder, the associator, the memory, the decider and
the encoder.
As a system analyst, the customer or user expects that you have an idea of how these systems can be
computerized. Hence, you must know all the duties of a Systems Analyst to be able to build an effective and
efficient system. This can only be achieved after modelling its essential behaviour. As a result of cost,
convenience, security, maintainability, some information processing systems may not be automated.
It is generally believed that information reduces uncertainty about a state or event. For example, information
that the wind is calm reduces the uncertainty that a trip by boat will be enjoyable. An information system is the
basis for interaction between the user and the analyst. It determines the nature of 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 designed 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.
Many practitioners fail to recognize that a business has several information systems, each is designed for a
specific purpose. The major information systems are:
● Formal information systems
● Informal information systems
● Computer-based information systems.
MIS DSS
Application
DATA COMPUTER program
TPS OAS
Top
Management DSS
11
ii. On-line systems: they accept input directly from the area where it is created. In this type of system, the
outputs, results of computation are returned directly to where they are required e.g. surfing, instant messenger,
gaming on-line etc.
iii. Real-time systems: these are systems which controls an environment by receiving data, processing them,
and returning the results sufficiently quickly to affect the environment at that time. In real-time, there is no
noticeable delay e.g. banks, ATM, POS (Point of sale), radar system etc. In a live telecast of a cricket online,
this is real time as you get to see a wicket falling or a ball being bowled after a lag of a few seconds.
Most on-line system today are almost real time. Another example is a railway reservation system Where you get
immediate booking as soon as you press the button 'confirm; and thus it is an online system that is also real
time.
iv. Decision-support system: These computer systems do not make decisions on their own, but instead help
managers and other professional "knowledge workers" in an organization make intelligent, informed decisions
about various aspects of the operation. These systems are passive i.e. they are not used on a regular basis.
v. Knowledge-based system: These systems are design to produce programs that imitate human
performance in a wide variety of intelligent" tasks.
Questions
1. What is a system?
2. Differentiate between system design and system analysis
3. What is the basic difference between 'systems approach" and "systems analysis"?
4. Discuss the various characteristics of a system
5. With a labelled diagram, discuss the various elements of a system
6. What are the common types of systems?
7. What is a computer-based Information System?
14
CHAPTER TWO
SYSTEMS ANALYSIS AND DESIGN
2.1 What is Systems Analysis & Design?
The process of examining a (business) situation with the intent of improving it through better procedures and
methods.
System Analysis is the process of gathering and interpreting facts, diagnosing problems, and using the facts to
improve the system.
Systems Design is the process of planning a new system to replace or complement the old. Analysis
specifies what the system should do and design states how to achieve the objective.
Note: This examination should always be initiated by the people involved in the situation (or who will be
involved in a new situation). It is the job of the analyst to suggest solutions, but not make business decisions. (A
computer based solution is not necessarily the only one!).
What Systems Analysis is NOT
• Studying a business to decide which existing procedures should be handled by the computer and which
should be done by non-computer methods.
• Determining what changes should be made.
• Initiate new procedures and practices.
(e) Flexibility
Systems analysts must be flexible in their thinking since they often do not get their own way. Different factions
in an organization have conflicting needs and most systems are the result of compromise. The analysts' goal is
to produce the system that will be the best for his organization. This requires an open mind and flexibility in his
ideas.
1. Project Sponsor
Project Sponsors play a critical role in all projects, they have the bandwidth to take on the Project Sponsor role,
their day job and no other project role, therefore Project Sponsors are not Project Managers, Serum Masters or
Product Owners. The Project Sponsor is the person or group that provides direction and resources, including
financial resources for the software project. The Project Sponsor works with the project management team,
aiding with wider project matters such as scope clarification, progress, monitoring, and influencing others in
order to benefit the software project.
The Project Sponsor leads the project through the software supplier selection process until it is formally
authorised. For issues that are beyond the control of the Product Owner, the Project Sponsor serves as an
17
escalation path. The Project Sponsor may also be involved in other important issues such as authorising changes
in scope, phase-end reviews, and go/no-go decisions when the stakes of the project are particularly high.
Sponsors of projects tend to be senior management or director level executives.
2. Subject Matter Experts (SME)
A Subject Matter Expert (SME) or Domain Expert is a person who is an authority in a particular area or topic. A
Subject Matter Expert has superior (expert) knowledge of a discipline, technology, product, business process or
entire business area. The SME role and responsibilities in software development could be summarised as
follows:
i. they are normally the people from whom technical requirements are captured.
Subject Matter Experts are the accountants, finance controllers, salespeople, production managers and so on
who roll up their sleeves each day. They know their roles inside and out and are rarely technical.
However, their lack of technical knowledge is their strength, as they are not bogged down in technicalities and
instead are purely focused on business outcomes.
It is imperative that discussions are held with Subject Matter Experts at the same time as the software
product vision statement is being created. Feedback from this group of experts can save a lot of back and forth
down the line. However, given that Subject Matter Experts tend not to be technical, the right amount and type of
engagement are necessary so as not to overwhelm them. One of the ways to get them involved is to have them
contribute to the creation of early-stage wireframes and prototypes.
3. Product Owner
Product Owner is a software development role for a person who represents the business or end-users and is
responsible for working with the user group to determine what features will be in the product release. The
Product Owner is also responsible for the prioritised backlog and maximising the return on investment (ROI) of
the software project. Part of this role's/responsibility includes; documenting user stories or requirements for the
software project.
They act as the main point of contact for all decisions concerning the project and as such, need to be
empowered to perform their responsibilities without the need to seek too much prior authorisation from the
Project Sponsors. Appointing the right person to this role, with the appropriate delegated authority to progress
the project, is fundamental to the success of the project, especially if an agile methodology approach is
undertaken.
In particular, the Product Owner is responsible for:
iv. resolving any disputes either with the software development team or internally
18
Failure to have a Product Owner in place usually means that the software project will execute in fits and
starts whilst the software developers are on hold waiting for crucial feedback. A slowdown in the
momentum of a software project can have long-term consequences, not least of missed milestones and
deadlines.
It does not matter if you are using an agile methodology or the waterfall method, once deliverables are defined,
it is critical that the Project Manager starts to actively exercise change management. Change should not be
perceived as negative or something to be avoided. Change is inevitable and is acceptable in a software project
as long as it is managed. The impact of any change needs to be assessed, measured and communicated. The
major factors are typically timeline and budget. If the impact is deemed acceptable by the Project Sponsor, then
the change can be incorporated.
The Project Manager also oversees software testing, delivery and formal acceptance by the customer.
Then the Project Manager performs a project review with the software development team to document any
lessons learned from the software development process.
5. Technical Lead
The Technical Lead translates the business requirements into a technical solution. Because of this:
responsibility, it is beneficial to have the Technical Lead involved in the planning phase to hear the business
requirements from the customer's point of view and ask questions. The Technical Lead is the development team
leader and works with the developers to provide technical details and estimates for the proposed solution. This
information is used by the Project Manager to create the Statement of Work and the Work Breakdown Structure
documents for the software project. It is critical that the Technical Lead can effectively communicate the status
of the software project to the Project Manager so that issues or variances can be effectively addressed as soon as
possible.
The Technical Lead is also responsible for establishing and enforcing standards and practices with the software
development team.
6. Software Developers
19
The Software Developers (front-end and back-end) are responsible for using the technical requirements from
the Technical Lead to create cost and timeline estimates. The Software Developers are also responsible for
building the deliverables and communicating the status of the software project to the Technical Lead or Project
Manager. It is critical that the other team members effectively communicate the technical requirements to the
Software Developers to reduce project risk and provide the software project with the greatest chance of success.
7. Software Testers
The Software Testers ensure that the software solution meets the business requirements and that it is free of
bugs, errors and defects, in the test planning and preparation phases of the software testing, software testers
should review and contribute to test plans, as well as be analysing, reviewing and assessing technical
requirements and design specifications. Software Testers are involved in identifying test conditions and creating
test designs, test cases, test procedure specifications and test data, and may automate or help to automate the
tests.
Some of the software testers duties can include:
i. they often set up the test environments or assist system administration and network management staff in
doing so
ii. As test execution begins, the number of testers often increases, starting with the work required to
implement tests in the test environment
iii. Testers execute and log the tests, evaluate the results and document problems found
iv. They monitor the testing and the test environment, often using tools for this task, and often gather
performance metrics
v. Throughout the software testing life cycle, they review each other's work, including test specifications,
defect reports and test results
User- originated ideas also prompt initial investigations. For example, a bank's head teller has been noticing
long customer lines in the lobby. She wants to know whether they are due to the computer’s slow response to
inquiries, the new teller's limited training or just a sudden increase in bank business.
To what extent and how quickly a user- originated idea is converted to a feasibility study depend on several
factors:
The risks and potential returns.
Management's bias toward the user.
Financial costs, and the funds, available for system work.
Priorities of other projects in the firm.
The persuasive ability of the user.
21
It is useful and desirable to have some feel for the kinds of problems which the programmer and the user
face and collectively perceive as the software crisis.
Software crisis can be broadly classified in the following major areas:
Questions
1. Who are the people involved in Systems analysis and Design?
2. What is System Investigation and who are the people involved in system investigation?
3. What do you understand by software crisis?
22
4. Suppose a system memory requirement is more than the available memory size. Will you call it a software
problem although the crisis is with the hardware? Why?
5. Which is in your opinion the most difficult job of a systems analyst?
6. List three important attributes of a system analyst.
CHAPTER THREE
SYSTEMS DEVELOPMENT PROCESS
3.1 Systems Development Life Cycle (SDLC)
This is a structured, step-by-step approach to the development of complex systems. It is ar. organisational
process of developing and maintaining systems. It helps in establishing a system project plan, because it gives
overall list of processes and sub-processes required in developing a system.
System development, a process consisting of the two major steps of systems analysis and design, it starts
when management or sometimes system development personnel feel that a new system or an improvement in
the existing system is required. The systems development life cycle is classically thought of as the set of
activities that analysts, designers and users carry out to develop and implement an information system. The
systems development life cycle consists of the following phases:
3.1.1 Objections to the life cycle model
A major criticism of the life cycle model is the time-scale associated with its linear progression of activities. The
gap between specification and delivery is often so long that requirements change dramatically in time. This
leads to the delivery of systems that "were required two years ago".
3.1.2 Methodologies for Systems Development
There are many methodologies for the development of information systems: Systems Development Life Cycle
(SDLC). Data Structure-Oriented design, Object-Oriented design, Prototyping, among others. We shall,
however be concerned here primarily with SDLC.
System development should follow three general guidelines; namely:
Use phases comprises of as the software development life cycle
Involve users throughout the entire system development process. Users include anyone for whom the system is
been built. If the system is to be successful, the user accepts a new system easily, if they contribute to its design.
Develop standards. Standards are set of rules and procedures a company expects employees to accept and
follow. If the SDLC has standards defined, then everyone involved uses one term.
23
System
Study Phase
Feasibility
Study Phase
System
Analysis
System Design
System
Development
Phase
System
Implementation
and Evaluation
Problem Identification
During this phase, a feasibility study is conducted, here terms of reference laid down by management, is usually
conducted. The terms of reference (ToR) must include:
Project Planning
As a project manager, it is important to create a project plan which allows you to focus on those things that are
most important in the organisation. It has:
i. Non routine tasks,
ii. Distinct start/finish dates, and
iii. Resource constraints (time, money, people, equipment), that result in a distinct product.
In general a systems analysts needs to be SMART when planning. A plan should be; specific, measurable,
achievable, realistic and time bound.
25
During project planning, the systems analyst needs to identify:
• The activities that make up the project
• The order in which these activities must be done
• The timing of each activity
• The resources needed at each stage
The feasibility study is basically the test of the proposed system in the light of its workability. meeting user's
requirements, effective use of resources and of course, the cost effectiveness. The main goal of feasibility study
is not to solve the problem but to achieve the scope. It involves a short period of observation and interviews
during which the analysts conducts a rapid investigation and makes series of value judgements on the possible
scale of the system requirements and what it would do. During this study, the cost and benefits are estimated
with greater accuracy. Important views and opinions as well as "facts" are identified during this phase.
Types of Feasibility
The systems analyst has four distinct but inter-related types of feasibility to consider;
a. Organizational feasibility
b. Economic feasibility
c. Technical feasibility
d. Operational feasibility
(a) Organizational feasibility: the extent to which a proposed information system supports the objective of
the organization's strategic plan for information systems determines the organizational feasibility of the
project.
(b) Economic feasibility (Cost Justification): In this study, costs and returns are evaluated to know
whether returns justify the investment in the system project. The purpose of cost benefit analysis is to
measure the costs associated with the development of the new system and compare this to the benefits.
Tangible costs/benefits refer to items which can be measured in monetary terms whereas it is difficult to
put monetary value upon intangible costs/benefits.
(c) Technical feasibility is concerned with specifying equipment and software that will successfully
support the tasks required. It takes into consideration if reliable hardware and software, capable of
meeting the needs of the proposed system can be acquired or developed by the organizations in the
required time. The technical needs of systems vary but they include;
• The facility to produce outputs in a given time scale
• The ability to provide certain response times under certain conditions
• The facility to input a large number of documents in a limited time scale
• The ability to process a certain volume of transactions at a certain speed
• The facility to communicate data to different locations
26
(d) Operational feasibility: it involves the willingness and ability of the management, employees,
customers, suppliers, etc. to operate, use and support a proposed system. In other words, the test of
operational feasibility asks if the system will work when it is developed and installed. e.g. it analyzes the
inside operations on how a deemed process will work, be implemented, and how to deal with change
resistance and acceptance. Among issues examined are;
• What job changes will the system bring?
Feasibility Report
The output from feasibility study is the feasibility report and it may be the basis upon which a project may (or
may not) be initiated. It is a document that assesses potential solutions to the business problem or opportunity,
and determines which of these are viable for further analysis. The purpose of feasibility report is to present the
project parameters and define the potential solutions to the defined problem, need, or opportunity.
Primary issues organizations should consider when compiling feasibility reports include:
a. Business considerations
b. Functional requirements
c. Cost/benefit analysis
Fact finding is process of collection of data and information based on techniques which contain sampling of
existing documents, research, observation, questionnaires, interviews, prototyping and joint requirements
planning. System analyst uses suitable fact-finding techniques to develop and implement the current existing
system. Collecting required facts are very important to apply tools in System Development Life Cycle because
tools cannot be used efficiently and effectively without proper extracting from facts. Fact-finding techniques are
used in the early stage of System Development Life Cycle including system analysis phase, design and post
implementation review. Facts included in any information system can be tested based on three steps: data- facts
used to create useful information, process- functions to perform the objectives and interface- designs to interact
with users.
Some techniques that can be used to determine requirements are discussed below:
Requirement techniques
• Document review
• Observation of the work environment
• Interviews
• Questionnaires
• Research and Site visits
• Rapid Application Development (RAD)
• Joint Application Development (JAD)
• Prototyping
Document review
The first document the analyst should seek out is the organisations chart, the history of the project should be
traced by collecting and reviewing documents that describe the problem.
Interviews
Interviews are formal meetings where the analyst can obtain information about the operations of the present
system and requirement of any planned replacements. Successful interviewing is a skill that can be developed
through practice. The purpose of the interview will determine the balance of the discussion.
Types of Interviews
28
• Informal, conversational interview
• General interview guide approach
• Standardized, open-ended interview
• Closed, fixed-response interview
Advantages of Interview
i. It gives the analyst the opportunity to motivate the interviewee to respond freely and openly to questions
ii. Interviews allow the systems analyst to probe for more feedback from the interviewee
iii. Interviews give the analyst an opportunity to observe the interviewee's non verbal communication.
Disadvantages of Interview
і. It is time-consuming and an expensive fact-finding approach
ii. Success of interviews is highly dependent on the systems analyst's human relation skills.
Questionnaires
Questionnaires may be considered when it is impossible due to time constraint, distance or cost to interview all
the desired peopled involved in a system. It is a more structured and formal method of collecting data, but may
be the only viable option where there are a large number of dispersed users.
29
Joint Application Development (JAD)
This is an alternative to the one-to-one interview. A JAD session is a lengthy, structured, group worl meeting in
which users and IT professionals discuss an aspect of the project. The goal of JAD session: is to obtain group
agreement on an issue. E.g. the participants of the project try to identify problems associated with an existing
system.
Prototyping
Prototype: "an original or model on which something is patterned" and/or "a first full scale". Prototyping
Stresses the early delivery of an incomplete but working system and the use of prototypes may be valuable at
various stages of the life cycle.
Users have to specify their requirements in advance (unclear to a user how a system may help him,
either because the role of the computer is not understood, or because the information needed are unclear).
Difficult for most users to clearly envisage what they want and how they can use it until they are able to
experiment with a tangible system. So, a simple prototype designed to accommodate broad needs, together with
possibilities suggested by the designer using experience gained in other projects may be used to define
requirements more accurately.
Prototype: It is a live working system not just a paper based. Users can test its operation and explore its
facilities and so do not have to rely upon written descriptions. It is an iterative process.
30
Testing: Here, the system is put into use. This can be done in various ways. The new system can phase in,
according to application, location, and the old system gradually replaced. In some cases, it may be more cost-
effective to shut down the old system and implement the new system all at once
Documentation: These can be in form of reports to management, analysis and design aids, specifications and
charts. Documentation is an ongoing activity throughout the program development process. In addition to
compiling documentation that describe the data and logic of the programs a systems analyst must also arrange
for the preparation of a comprehensive user manual.
Questions
1. What is System Development Life Cycle (SDLC)?
2. What are the phases of SDLC?
3. Discuss the various types of feasibility.
4. What is a feasibility report?
5. What is prototyping
31
CHAPTER FOUR
SYSTEMS DESIGN
The purpose of systems design is to document exactly how a new system should work. In essence, this means
preparing a detailed set of specifications for the new system. The design must address the following aspects of
the proposed system, usually in this order:
ii. Physical Design: Physical design relates to the actual input and output processes of the system.
It focuses on how data is entered into a system, verified, processed, and displayed as output. It produces
the working system by defining the design specification that specifies exactly what the candidate system
does. It is concerned with user interface design, process design and data design.
Physical design consists of the following steps-
Specifying the input/output media, designing the database and specifying backup procedures.
Planning system implementation
Devising a test and implementation plan, and specifying any new hardware and software, updating costs,
benefits, conversion dates, and system constraints
iii. Architectural Design: It is also known as high level design that focuses on the design of system
architecture. It describes the structure and behavior of the system. It defines the structure and
relationship between various modules of system development process.
iv. Detailed Design: It follows Architectural design and focuses on development of each module
Table 4.1 shows the symbols used in E-R model and their significance
33
Table 4.1 E-R model and its significance
Symbol Meaning
Entity
Weak Entity
Relationship
Identity Relationship
Attributes
Key Attributes
34
Multivalued
Composite Attribute
Derived Attributes
E1 R E2 Total Participation of
E2 in R
36
i. Sequential Access: Every record on the file is processed starting with the first record until End of File
(EOF) is reached. It is efficient when a large number of the records on the file need to be accessed at any
given time. Data stored on a tape (sequential access) can be assessed only sequentially.
ii. Direct (Random) Access: Records are located by knowing their physical locations or addresses on the
device rather than their positions relative to other records. Data stored on a CD device (direct-access)
can be accessed either sequentially or randomly.
Questions
1. What are the input/output requirements for a new system?
2. What is file organization
3. Discuss the various methods for file organization
37
CHAPTER FIVE
SYSTEMS IMPLEMENTATION
5.1 System Conversion and Implementation
During system conversion and implementation phase of the system development process, the following
results are realized:
System and acceptance test
System conversion
Each of this result defines an activity that is to take place.
Train users
38
Users must be trained and provided with users manuals (documentation) before converting to a new system, this
manuals will guide them in using the new system.
5.1.3 Approaches to System Conversion
Conversion means switch on to a new system from an existing system. An organization's approach to system
conversion depends on its willingness to accept risk and the amount of time available for the conversion. The
way in which the changeover to the new system is planned and accomplished can have a major effect upon the
system performance and acceptance by its users.
There are four methods of handling a systems conversion. Each method should be considered in light of the
opportunities that it offers and problems that it may cause. However, some situations dictate the use of one
method over others, even though other methods may be more beneficial. In general, systems conversion should
be accomplished as quickly as possible.
Long conversion periods increase the possible frustration and difficulty of the task for all persons involved,
including both analysts and users.
39
system early. whether the project
Allows training and goes well (over
installation without enthusiasm) or not
unnecessary use of (resistance and lack of
resources fair trial).
Pilot Working version of system
conversion implemented in one part of the
organization. Based on
feedback, changes are made
and the system is installed in
rest of the organization by one
of the other methods
Parallel systems
The most secure method of converting from an old to new system is to run both systems in parallel.
Under this approach, users continue to operate the old system in the accustomed manner but they also begin
using the new system. This method is the safest conversion approach, since it guarantees that, should problems
such as errors in processing or inability to handle certain types of transactions arise in using the new system, the
organization can still fall back to the old system without loss of time, revenue, or service.
The disadvantages of the parallel systems approach are significant. First of all, the system costs double. since
there are two sets of systems costs. In some instances it is necessary to hire temporary personnel to assist in
operating both systems in parallel. Second, the fact that users know they can fall back to the old ways may be a
disadvantage if there is potential resistance to the change or if users prefer the old system. In other words, the
new system may not get a fair trial. All in all, the parallel method of systems conversion offers the most secure
implementation plan if things go wrong, but the costs and risks to a fair trail cannot be overlooked.
Phase - In Method
The phase-in method is used when it is not possible to install a new system throughout an organization all at
once. The conversion of files, training of personnel, or arrival of equipment may force the staging of the
implementation over a period of time. Ranging from weeks to months. Some users will begin to take advantage
of the new system before others.
For example, a medical system aimed at linking 10 or 15 different clinics to hospital may phase in over a year.
The work required to convert patient and insurance records on paper to files stored on magnetic disks requires 2
to 3 weeks for each clinic. A week of user training is also required for each clinic.
Therefore, the analysts may phase this system in one clinic at a time, allowing 3 to 4 weeks for each conversion.
It is conceivable in this system that the full conversion will be phased over one year.
Pilot Approach
When new systems also involved new techniques or drastic changes in organization performance, the pilot
approach is often preferred. In this method, a working version of the system is implemented in one part of the
organization, such as a single work area or department. The users in this area typically know that they are
piloting a new system and that changes can be made to improve the system.
When the system is deemed complete, it is installed throughout the organization, either all at once (direct
cutover method) or gradually (phase - in method). This approach has the advantage of providing a sound
proving ground before full implementation. However, if the implementation is not properly handled, users may
develop the impression that the system continues to have problems and that it cannot be relied on. For example,
40
they may feel that the difficulties they experienced for two or three weeks may in fact not be gone just because
the analysts claim they are.
The conversion plan should anticipate possible problems and ways to deal with them. Among the most
frequently occurring problems are missing documents, mixed data formats between current and new files, errors
in data translation, missing data or lost files, and situations that were overlooked during systems development.
The conversion manager must guard against the omission of steps in the conversion. A checklist will prevent
missed steps. Personnel absences must also be expected and adequate fallback plans specified.
Conversion timing is challenging, since there are so many aspects of the conversion, ranging from the
installation of equipment to the ordering of forms and supplies.
In case of financial software the balance brought forward should be checked for validation before
implementation of the new system.
41
5.3 Evaluation
System evaluation is usually carried out during and after system conversion to determine the performance of the
new system i.e. whether it fulfils all of the system requirements which were developed in the system design
phase. It is the duty of the systems analyst to ensure that the system is working as intended, if otherwise he must
discover the source of the deficiency and fix it as best as possible.
Post - Implementation
During the production stage of the system life cycle, the system will be modified many times to meet the
changing needs of the company. The following results are realized during the post-implementation phase of the
systems development process:
Post-implementation review
System maintenance
42
maintained can keep both viruses and malware away and keep your computer running in tip-top shape. Regular
maintenance can also ensure your antivirus software is up-to-date and working properly.
3. Speed up your computer: When our system gets clogged up with files and everything gets disorganized and
fragmented, the result is slow processing times. Computer maintenance technicians are experts at running speed
and optimization checks that can pinpoint issues and keep your computer running at an optimal speed.
4. Maximize your software efficiency: When your software package gets old, it can slow down your computer.
Due to the fact that this change happens gradually, your computer may get used to it and think that it is normal.
But, having regular scheduled maintenance on your computer will clean out any issues and have your software
running perfectly again.
5. Prevent data loss: When computer start running slowly or begins having occasion hiccups, it can require a
system reboot that can ultimately result in lost data. Keeping your computer maintained will lessen the
likelihood of these instances and keep your data safe and secure when you need to access it.
Questions
1. Compare the different conversion methods with each other.
2. Explain the operating plan.
3. To what extent training is important.
4. "Conversion is simple". Do you agree. Justify
43
CHAPTER SIX
PROTOTYPING APPROACH TO SYSTEM DEVELOPMENT
A prototype is a model of all or parts of a system, built to show users early in the design process how it will
appear. It is one way of ensuring full involvement in, and commitment to design by users. A simple example is a
prototype of a formatted screen output prepared using a graphic package, or a spreadsheet mode. This will
describe how the screen output would appear to the user. The user could make suggestions, which would be
incorporated into the next model.
A prototype empowers you to test the concept before you jump in to write even a single line of code.
That would save you thousands of naira, countless hours, and all the extra effort. Furthermore. using a prototype
software, the programmer can write an application program quickly, check with user's data to see whether the
prototype program design appears to meet the users' needs, otherwise, it can be amended. As many prototype
program as possible can be made for users to sample in order to obtain the one that satisfies the users needs. It is
at this point that the final version of the program is ready.
In an information system, most managers knows what they want but do not know exactly what they want. This
is a problem when it comes to information system. Prototyping enables users to be familiar with the new system
even before it is produced. This in turn will save cost and time. Before the 1980s prototype systems were very
expensive to build, it could cost as much as building a full scale information system, but today with the use of
fourth generation languages and application it is now cheaper to build prototype systems.
6.1 Objectives of Prototyping
1. To analyse the current situation
2. To identify information needs
3. To develop a scaled-down model of the proposed system, often called the target system.
Prototype systems enables users to work with the functional aspect of the proposed system long before the
system is implemented. Prototype systems are merely models which are tested and refined until the users are
confident that what they see is what they want. Incomplete or inaccurate user specifications can cause problem
when the system is fully implemented. Most users are inexperienced in system design to understand what a
proposed system will look like and how it will work. Project team build prototype system to enable users
understand what the system will look like when it is fully implemented. Just like prototype of manufactured
goods, software prototypes are also be created in varying degrees of sophistication.
44
1. Non-functional prototype systems
2. Partially functional prototype systems
3. Fully functional prototype systems
1. Non-functional prototype systems: It enables users the opportunity to experiment with a non-working
model of the system. This approach is called rapid prototyping, and it focuses on three aspects of the design
a. The user interface
b. Data entry display
c. System output
2. Partially functional prototype systems: A prototype system which is partially functional is developed.
Here, users, especially those at the operational level, can work with most of the basic features of the proposed
system during iterative practice session. Most partially functional prototype systems are created under the
premise that they will eventually be enhanced to the level of fully functional systems.
3. Fully functional prototype systems: These prototype systems are created so that users can experiment with
them. The focus here is functionality, therefore performance characteristics are ignored. This means that
efficiency of the system and the volume of work of the system can do is ignored. i.e. 10 transactions per minute
whereas the eventual system may need to handle up to 100 transactions per minute.
The users can provide meaningful feedback if they are familiar with the proposed system. Unlike the partially
functional approach, the fully functional approach is not intended to result in an operational system.
45
Step 3: Use of the prototype system to refine the user's requirements. In this stage, users have the opportunity of
using the prototype system where they can attest if the system meets their information needs or not. If problems
are found by the users in the first version, they are effected by the system designer. The users decides when
changes are necessary and thus controls the overall development time.
Step 4: Revise and Enhance the Prototype System: Based on the changes made by the users, the designer
implements these changes using the same principles in step 2. Speed in modifying the system and returning it to
the user is emphasized.
Identify Users
needs
Develop a
Prototype
Is it
Accepted?
Use the
Prototype
46
Disadvantages of Prototyping
Some of the potential pitfalls of proto typing are:
1. Insufficient analysis: The haste to deliver the prototype may produce shortcuts in problem definition,
alternative evaluation and documentation.
2. The users may get excited about the prototype that they have unrealistic expectations of the operational
system.
3. Excessive development time of the prototype: A key property of Prototyping is the fact that it is
supposed to be done quickly. If developers lose sight of this fact, they very well may try to develop a
prototype that is too complex.
4. Expense of implementing prototyping: the start up cost for building a development team focused on
prototyping is high.
5. The computer-human interface provided by certain prototyping tools may not reflect good design
techniques.
6.3 Applications that are Good Prospect for Prototyping
Prototyping works best for applications characterized by:
1. High risk: The problem is not well structured, there is a high rate of change over time and the data
requirements are uncertain.
2. Considerable user interaction: The system features online dialogue between the user and microcomputer
or terminal.
3. Large number of users: Agreement on design details is difficult to achieve without hands-on experience.
4. A need for quick delivery
3. An expected short use phase of the system
6. An innovative system: The system is on the cutting-edge, either in the way that it solves the problem or
in its use of hardware.
7. Unpredictable users behavior: The user does not have previous experience with such a system
8. Application that do not reflect these characteristics can be developed by following the traditional
SDLC.
Questions
1. What is prototyping?
2. What are the advantages and disadvantages of prototyping?
47
CHAPTER SEVEN
SYSTEMS DEVELOPMENT METHODS
There are various methods for developing computer-based information systems. Structured analysis is the most
popular method, but a newer strategy called object-oriented analysis and design also is used widely. Each
method offers many variations. Some organizations develop their own approaches or adopt methods offered by
software suppliers, CASE tool vendors, or consultants. Most IT experts agree that no single, best system
development strategy exists. Instead, a systems analyst should understand the alternative methodologies and
their strengths and weaknesses. Some System development methods are discussed below:
48
(0-0) components data and the process that act on the data into things called objects. System's analyst use 0-0 to
model real-world business process and operation. The result is a set of software objects that represent actual
people, things, transaction, and events. Using an O-O programming language, a programmer then writes the
code that creates the objects.
An object is a member of a class, which is a collection of similar objects. Objects possess characteristic called
properties, which the objects inherits from its class or possess on its own. Object oriented design works around
the entities and their characteristics instead of functions involved in the software system. This design strategies
focuses on entities and its characteristics. The whole concept of software solution revolves around the engaged
entities.
Design Process
The whole system is seen as how data flows in the system by means of data flow diagram.
DFD depicts how functions changes data and state of entire system.
The entire system is logically broken down into smaller units known as functions on the basis of their operation
in the system, each function is then described at large.
7.3.1 Software Design Strategies
There are two generic strategies for software designing:
Top Down Strategy and Bottom up Strategy
i. Top Down Strategy
The top-down strategy uses the modular approach to develop the design of a system. It is called so because it
starts from the top or the highest-level module and moves towards the lowest level modules.
In this technique, the highest-level module or main module for developing the software is identified The main
module is divided into several smaller and simpler submodules or segments based on the task performed by
each module. Then, each submodule is further subdivided into several submodules of next lower level. This
process of dividing each module into several submodules continues until the lowest level modules, which
cannot be further be subdivided, are not identified.
Top-down design is more suitable when the software solution needs to be designed from scratch and specific
details are unknown.
Level 1
Level 2
Sub Module Sub Module Sub Sub Sub Module Sub Module
11 12 Module 21 Module 22 31 32
50
Figure 7.1: Top Down Strategy
Level 1
Level 0
Main Module
System
DFD Data Dictionary Decision Tree
Identification
Decision Table
7.4.1 Modularization
Structured design partitions the program into small and independent modules. These are organized in top down
manner with the details shown in bottom. Thus, structured design uses an approach called Modularization or
decomposition to minimize the complexity and to manage the problem by subdividing it into smaller segments.
Advantages
• Critical interfaces are tested first.
• It provide abstraction.
• It allows multiple programmers to work simultaneously.
• It allows code reuse.
• It provides control and improves morale.
• It makes identifying structure easier.
Module 1
52
Library Module
Subordinate Module
53
A text-based command line interface can have the following elements:
Command Prompt: It is text-based notifier that is mostly shows the context in which the user is working. It is
generated by the software system.
Cursor: It is a small horizontal line or a vertical bar of the height of line, to represent position of character
while typing. Cursor is mostly found in blinking state. It moves as the user writes or deletes something
Command: A command is an executable instruction. It may have one or more parameters. Output on command
execution is shown inline on the screen. When output is produced, command prompt is displayed on the next
line.
54
consuming than that of CLI. With advancing technology, the programmers and designers create complex GUI
designs that work with more efficiency, accuracy and speed.
Graphical user interfaces are a method of user communication with an operating system.
Through the interface, the user gives the operating system commands. With a graphical user interface, rather
than typing commands, the user will select icons, buttons, bars or boxes to perform a task. Usually a mouse is
used to make the selection. Many people believe that graphical user interfaces are quick and easy to learn,
promote standardization of application program interfaces and reduce errors.
Graphical user interfaces (GUIs) were popularized by the success of Apple's Macintosh and Microsoft's
Windows. While the commercial success has been driven by applications such as word processing and
spreadsheets, the popularity of the interface is driving all applications to the interface.
Technology exists to create GUI-like applications for dumb terminals. Technology also exists to create true PC-
based GUls that work with host applications via cooperative processing. And most importantly, GUI technology
has become the user interface of choice for client/server applications. GUIs do not automatically make an
application better. Poorly designed GUls can negate the alleged advantages of consistent user interfaces.
Fortunately, GUI standards are evolving to guide system designers to create consistent interfaces. For example,
DOS/Windows and OS/2 Presentation Manager are based on a standard called Common User Access (CUA),
Properly designed GUIs simplify input, reduce keystrokes required, and provide interesting and useful
formatting options for outputs. Many businesses are mandating their use for all new systems.
GUI Elements
GUI provides a set of components to interact with software or hardware.
Every graphical component provides a way to work with the system. A GUI system has following elements such
as:
Window: An area where contents of application are displayed. Contents in a window can be displayed in the
form of icons or lists, if the window represents file structure. It is easier for a user to navigate in the file system
in an exploring window. Windows can be minimized, resized or maximized to the size of screen. They can be
moved anywhere on the screen. A window may contain another window of the same application, called child
window.
55
Tabs: If an application allows executing multiple instances of itself, they appear on the screen as separate
windows. Tabbed Document Interface has come up to open multiple documents in the same window. This
interface also helps in viewing preference panel in application. All modern web-browsers use this feature.
Menu: Menu is an array of standard commands, grouped together and placed at a visible place (usually top)
inside the application window. The menu can be programmed to appear or hide on mouse clicks.
Icon: An icon is small picture representing an associated application. When these icons are clicked or double
clicked, the application window is opened. Icon displays application and programs installed on a system in the
form of small pictures.
Cursor: Interacting devices such as mouse, touch pads, digital pen are represented in GUI as cursors. On screen
cursor follows the instructions from hardware in almost real-time. Cursors are also named pointers in GUI
systems. They are used to select menus, windows and other application features.
7.53 Application specific GUI components
A GUI of an application contains one or more of the listed GUI elements:
Application Window: Most application windows uses the constructs supplied by operating systems but many
use their own customer created windows to contain the contents of application.
Dialogue Box: It is a child window that contains message for the user and request for some action to be taken.
For Example: Application generate a dialogue to get confirmation from user to delete a file.
Text-Box: Provides an area for user to type and enter text-based data.
Buttons: They imitate real life buttons and are used to submit inputs to the software.
Radio-button: Displays available options for selection. Only one can be selected among all offered.
Check-box: Functions similar to list-box. When an option is selected, the box is marked as checked.
Multiple options represented by check boxes can be selected.
56
List-box: Provides list of available items for selection. More than one item can be selected.
GUI
Requirement GUI
Specification User Analysis
GUI GIU
Testing Task Analysis
GUI
Design &
Implementation
GUI Requirement Gathering: The designers may like to have list of all functional and non-functional
requirements of GUI. This can be taken from user and their existing software solution.
57
User Analysis: The designer studies who is going to use the software GUI. The target audience matters as the
design details change according to the knowledge and competency level of the user. If a user is technical and
well informed, advanced and complex GUI can be incorporated. For a novice user, more information is included
on how-to of software.
Task Analysis: Designers have to analyze what task is to be done by the software solution. Here in GUI, it does
not matter how it will be done. Tasks can be represented in hierarchical manner taking one major task and
dividing it further into smaller sub-tasks. Tasks provide goals for GUI presentation. Flow of information among
sub-tasks determines the flow of GUI contents in the software.
GUI Design & implementation: Designers after having information about requirements, tasks and user
environment, design the GUI and implements into code and embed the GUI with working or dummy software
in the background. It is then self-tested by the developers.
Testing: GUI testing can be done in various ways. Organization can have in-house inspection, direct
involvement of users and release of beta version are few of them. Testing may include usability, compatibility,
user acceptance etc.
Examples are; Mobile GUI, Computer GUI, Touch-Screen GUI etc. Here is a list of few tools which come
handy to build GUI:
FLUID
AppInventor (Android)
LucidChart
Wavemaker
Visual Studio
Form: A highly intuitive human-computer interaction method whereby data fields are formatted in manner
similar to paper based forms.
Object: A human computer interaction method where symbols are used to represent command of functions.
Natural language: A human-computer interaction method whereby inputs to and outputs from the computer
base application are in conventional speaking language such as English.
7.5.8 Fourth-generation languages
"Fourth-generation" languages are extremely sophisticated languages which enable end-users to perform
programming tasks with little or no professional programmer assistance or that enhance the productivity of
professional programmers. For example, very high-level programming languages, query languages, or
application generators have features that can be employed by end-users or less skilled programmers and can
dramatically increase application development productivity.
Questions
1. Discuss the different types of system development methods.
59
2. What are the important concepts of object oriented design?
3. What are the generic strategies for software design?
4. What is GUI, what are the GUI elements and GUI implementation tools?
5. What are the various methods of interacting with a system?
CHAPTER EIGHT
STRUCTURED ANALYSIS & DESIGN TOOLS
Structured analysis is a set of techniques and graphical tools that allow the analyst to develop a new kind of
system specifications that are easily understandable to the user. Analysts work primarily with their wits, pencil,
and paper. Most of them have no tools. The traditional approach focuses on cost/benefit and feasibility analysis,
project management, hardware and software selection and personnel considerations. In contrast, structured
analysis considers new goals and structured tools for analysis. The new goals specify the following:
1. Use graphics wherever possible to help communicate better with the user.
2. Differentiate between logical and physical systems.
3. Build a logical system model to familiarize the user with system characteristics and interrelationships before
implementation.
The structured tools focus on the listed earlier- essentially the date flow diagram data dictionary. structured
English, decision trees, and decision tables. The objective is to build a new document, called system
specifications. This document provides the basis for design and implementation. The system development life
cycle with structured analysis. The primary steps are:
Process 2.1: Study affected user areas, resulting in a physical DFD. The logical equivalent of the present system
results in a logical DFD.
Process 2.2: Remove the physical checkpoints and replace them with a logical equivalent, resulting in the
logical DFD.
Process 2.3: Model new logical system. So far, no consideration is given to modifying methods called for in the
feasibility report. This step incorporates the changes the begins to describe the candidate system. It is essentially
a paper model system to be installed.
Process 2.4: Establish man/ machine interface. This process modifies the logical DFD for the candidate system
and considers the hardware needed to implement the system. The combination results in the physical DFD of
the candidate system.
Process 2.5 and 2.6: Quantify costs and benefits and select hardware. The purpose of this step is to cost-justify
the system, leading to the selection of hardware for the candidate system. All that is left after this step is writing
the structured specification.
60
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 DDs
and documentation of the intervals of DFDs in a rigorous manner through structured English. decision trees, and
decision tables.
8.1 Guidelines for Selecting Appropriate Tools that will suit your requirements
● Use DFD at high or low level analysis for providing good system documentations.
● Use a data dictionary to simplify the structure for meeting the data requirement of the system.
● Use structured English if there are many loops and actions are complex.
● Use decision tables when there are a large number of conditions to check and logic is complex.
● Use decision trees when sequencing of conditions is important and if there are few conditions to be
tested. Decision trees are used to verify logic and in problems that involve a few complex decisions
resulting in a limited number of actions.
● Decision trees and decision tables are best suited for dealing with complex branching routines such as
calculating discounts or sales commissions or inventory control procedures.
Below are some structured analysis and design tools used by software designers:
8.2 Flow Charts
A flowchart is a pictorial/diagrammatic or geometric representation of an algorithm Some basic symbols of flow
charts are:
61
Connector
Process
Flow of Data
DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of components
Process
Data Flow
Entity
Data Store
Online
sales
Inventory Payment
Authentication Dispatch Item
Check 63 Process
Generate
Issue_Item Item_Missing
Invoice
Deduct
Inventory
Authentication
Example
Both parts of HIPO diagram, Hierarchical presentation and IPO Chart are used for structure design of software
program as well as documentation of the same.
8.5 Decision Tables
Decision tables are a method of describing the complex logical relationship in a precise manner which is easily
understandable. A Decision table represents conditions and the respective actions to be taken to address them, in
a structured tabular format. It is a powerful tool to debug and prevent errors. It helps group similar information
into a single table and then by combining tables it delivers easy and convenient decision-making.
64
Decision Tables should be verified by end-users and can lately be simplified by eliminating duplicate
rules and actions. It is useful in situations where the resulting actions depend on the occurrence of one or several
combinations of independent conditions. Decision table is a matrix containing rows or columns for defining a
problem and the actions.
8.5.1 Components of a Decision Table
Condition Stub: It is in the upper left quadrant which lists all the conditions to be checked.
Action Stub: It is in the lower left quadrant which outlines all the action to be carried out to meet such
condition.
Condition Entry: It is in upper right quadrant which provides answers to questions asked in condition
stub quadrant.
Action Entry: It is in the lower right quadrant which indicates the appropriate action resulting from the answers
to the conditions in the condition entry quadrant.
The entries in the decision table are given by Decision Rules which define the relationships between
combinations of conditions and courses of action. In rules section,
Y shows the existence of a condition.
N represents the condition, which is not satisfied.
A blank - against action states it is to be ignored.
X (or a check mark will do) against action states it is to be carried out.
Table 8.1 is an example of a Decision Table
Table 8.1: Decision Table
CONDITIONS Rule 1 Rule 2 Rule 3 Rule 4
Regular Costumer - Y N -
ACTIONS
Give 5% Discount X X - -
Give no Discount - - X X
65
Structured English is best used when sequences and loops in a program must be considered and the
problem needs sequences of actions with decisions. It does not have strict syntax rules. It expresses all logic in
terms of sequential decision structures and iterations.
The following are some tokens of structured programming.
IF- THEN-ELSE,
DO-WHILE-UNTIL
The code written in Structured English is more like day-to-day spoken English. It cannot be implemented
directly as a code of software. Structured English is independent of programming language. For example, see
the following sequence of actions -
66
{
increase a by b;
print a;
}
}
Student Information
Enrolment Number
Student name
First name
Second name
Last name
Sex
Student Address
Address 1
Address2
Etc.
67
(iii) Data Flows and Data Stores: Data flows are paths along which data travels and data stores are places
where data is stored until need. We can say that Data flows are Data structures in motion and Data stores
are Data structures at rest.
Data Structure
Data Element
68
CASE packages, allowing lower-CASE packages to generate program code from upper-CASE package
generated designs
Table 8.2: A PERT Chart table for the Analysis phase of a system project
LABEL ACTIVITY PREDECESSOR DURATION
A Conducts Interviews None 3
B Administers Questionnaires A 4
C Collect Company Reports None 4
D Analyze Data Flow B, C 8
E Introduce Prototype B, C 5
F Observe Reactions of Prototype E 3
G Perform Cost/Benefit Analysis D 2
H Prepare Proposal G 2
I Present Proposal H 2
20
A,3 B,4
10 30 50 60 70 80
69
C,4 D,8 G,3 H,2 I,2
E,5 40 F,3
70