System Analysis & Design
System Analysis & Design
SYSTEMS CONCEPTS
INTRODUCTION
What is a system?
A system is simply a set of components that interact to accomplish some objective. It can
consist of tools, suppliers, machines, procedures and people and requires orderly
management.
The two main types of systems are business systems and information systems.
Example: An information system for the subsystem that bills customers would probably
keep track of each customer’s name and address, recent sales to the customer, recent
payments from the customer and the total amount the customer owes.
Page 1 of 111
its competitors. Without accurate and timely information, it is difficult to make informed
decisions. The best information systems can actively contribute to business performance.
The concern of manages today is how information systems and the computers that are
part of them can add value by improving employee productivity, enhance customer
satisfaction, boost employee morale and increase profits.
Operational management
It deals with the day-to-day activities of the organization. These are the basic activities
that the organization must perform in order to remain in business. As such, the role of
managers at this level is supervisory. Examples of activities at this level are order
processing, inventory control, customer billing, production scheduling, etc.
Page 2 of 111
- Information is derived entirely from internal sources and is relevant in the short
term.
- The information is highly detailed (lowly summarized), for example, a report of
daily orders, daily bank deposits, daily list of patients, etc.
- Decisions associated with these activities cover a relatively narrow time frame
and are also delegated to the lowest possible level of the organization where they
can be made quickly and effectively.
- Information is purely based on quantitative data.
- Decisions made at this level tend to be recurring and as a result, the decision
making process becomes routine and structured. A structured decision is one that
is predictable and can be made following a well defined set of procedures, for
example in inventory control, clerks will check inventory.
However, before this planning can be done, a thorough understanding of the old
system is required how best computers can be used to make operations more
effective.
Analysis specifies what they should do while design states how to accomplish the
objectives.
• Greater formality of approach that would bring systems development nearer to the
scientific method or to an engineering discipline than had been common in IS
projects.
• More clarity of stated requirements by using graphical representation as well as
text.
• Less scope for ambiguity and misunderstanding.
• A greater focus on identifying and then satisfying business needs
• More trace ability, to enable a business requirements to be followed through
initial analysis, into the business level specification and finally into the technical
design.
• More flexible designs of system not unduly tied to specific technical platforms.
• Much more user involvement at all stages of development.
All the structured methods result from attempts to meet these requirements in one way or
another. As a result, there some features that are common to all structured methods and to
the structured approach in general.
Page 3 of 111
Focus on data structures
Most of the methods concentrate heavily on a thorough examination of the data
requirements of the proposed information system. The reasons for this concentration on
data are twofold:
• Processing requirements of the organisations can change often and may change
significantly, the underlying data is relatively stable; therefore the data provides the
soundest base for the development process.
• An inflexible data structure can act as a constraint on an organisation wishing to
change its system to match changing requirements. Evolving flexible data structure
early during development yields may benefit later on in the life of a system.
With a sound a flexible data structure in place, it is possible to amend the processing to
meet the changing needs of the organisation.
So, with a structured method, the developers will focus for much of the time on the
business requirements of the proposed system. They will look at the data needed to
support the system and at the kind of processing which the users will want to support
their business. Only once these things have been clearly established will they consider
how these features may be implemented.
Page 4 of 111
• Because technical issues are addressed relatively late in structured development
projects, much of the design will be suitable for implementation in a number of
environments. Should the users’ hardware or software policy change, it should be
possible to go back to the logical documentation and –re-develop from there for the
new platform.
• A system built using structured methods will have complete, rigorous and consistent
documentation, which will greatly help in maintaining and enhancing the system over
time.
• Using a recognised structured method means that the users are not tied to any one
developer. This means that one could, for instance commission one firm to carry out
the analysis and another to produce the design.
Page 5 of 111
SSADM is documented in a set of classic manuals which describe:
• The structure of an information system project, in terms of the modules, stages, steps
and tasks by which the work is tackled.
• A set of analysis and design techniques, to be applied at various stages of the project.
• A series of product definitions, including the quality control to be applied at each
stage.
• ‘Hooks’ so that the method can be coupled with structured approaches to project
management and to programming, mainly to Jackson Structured Programming (JSP)
Page 6 of 111
SSADM life cycle
USERS DEVELOPERS
TORs’ Information, Decisions
TERMS OF FEASIBILITY
REFERENCE STUDY
REVIEW OPTIONS Questions, Options
FEASIBILITY
REPORT
SELECTED
BUSINESS
SYSTEM
OPTIONS
Questions
ASSIST/CHECK REQUIREMENT
SPECIFICATION SPECIFICATION
Information, Decisions
REQUIREMENT
SPECIFICATION
Questions, Options
CHECK
LOGICAL LOGICAL
DESIGN DESIGN
Information, Decisions
SELECTED LOGICAL
TECHNICAL DESIGN
SYSTEM
OPTION
CHECK Designs
PHYSICAL PHYSICAL
DESIGN DESIGN
Review Responses
PHYSICAL
DESIGN
Page 7 of 111
THE SYSTEM ANALYST’S ROLE IN SYSTEM DEVELOPMENT
Formal duties of a System Analyst
a) Identify and define the problem area following discussion with the users and
management. The objectives of the project must be clearly studied and the terms of
reference agreed and written down.
b) Carry out a feasibility study to establish whether a full study of the problem would be
worth while. These findings will include a careful weighing of the costs and benefits
of any new system.
c) Carry out a detailed analysis of the proposed system by employing a variety of
analysis techniques. This results in the Set of Requirements.
d) With approval from the management, the analyst proceeds to design a computer
based information system to be documented in a design specification.
e) Guide programs as they write the system’s programs or recommend the type of
packaged software to buy.
f) Introduced the new system and prepare a detailed plan for implementation. This will
cover file conversion, training, method of changeover, documentation, etc.
g) Monitor the system during its early weeks of operation. Thereafter, period review will
be required and amendments done on the system when circumstances demand.
h) Prepare the documentation and plan for user training.
c) Must be able to work in a project team, both as a team member and as a team leader.
All team members must forget their egos i.e. they must put aside personal prejudices in
order to help the team as a whole function more effectively. As a team leader, the analyst
co-ordinates the efforts of programmers, estimators, testers and other analysts, as well as
resolves conflicts and monitors the results of the team effort. In order to do this, the
analyst must be a good manager.
Page 8 of 111
e) Must be a business generalist, maintaining a broad perspective at all times. A good
analyst needs to know as much about business systems as about computer systems, in
order to be able to link the two. He or she must be able to look at a system from multiple
points of view; as a programmer, as a manager, as a user and as a company financial
officer. For example, a programmer might insist that, for efficiency, she needs to use
assembler language to code a particular module. But the analyst having greater
knowledge of how hard an assembler routing will be to maintain in future, must convince
the programmer that perhaps in this case, programming efficiency is not the primary
concern.
c) The analyst must keep up with the latest development in the fast changing world of
computer hardware and software.
The analyst should know what is currently available in the market. This is to enable the
analyst recommend appropriate specific hardware and software. This does not mean that
the analyst needs to know every little technical detail about every product as long as he or
she knows where to go or with whom to talk to in order to get the information when it is
really needed.
d) Technology may change quickly but so does the typical business environment.
Analyst may talk of ‘freezing the specifications’ or not allowing any changes to the
requirements after the project has begun. Yet freezing the specifications is impossible
because the business organization cannot be frozen. New products are always being
developed, new government regulations are always being handed down and new reports
are always being needed. For example, no sooner are the specifications for the general
leader system almost done than the revenue authority decides that the income tax forms
will be radically changed, so the specifications for the new system must be changed too.
e) The analyst usually spends more time dealing with people rather than technology.
• The analyst works with individual personalities
People are more ambiguous than the process of analysis and design itself, and analysts
must solve more people-related problems than technology related ones. Every person in
the organization has his or her personal quirks, prejudices, likes and dislikes. One person
may fear a new system because he thinks it may make his job obsolete and put him out of
work. Another one might be afraid she won’t be able to learn the new system, thereby
Page 9 of 111
making a fool of herself, etc. Most people tend to prefer the status quo; its far less
threatening than something new and untried.
• Working with group dynamics
Any time people are put into groups; they tend to form political entities with different
goals and personality conflicts. Employees may align themselves against a supervisor
they don’t like or office mates may quarrel over who is doing the most work.
The analyst should be aware of the political situation, but should never get personally
involved in such politics because this can affect the implementation of a new system. For
example, the person afraid of making a fool of herself may be too shy to ask necessary
questions and might therefore be using the system incorrectly. A supervisor who distrusts
the computer might be passing that message on to his employees, who then do everything
they can to maker the new system fail. On the positive side, if the analyst gains the
support of key people in the organisation, their enthusiasm can often sway those who are
less eager.
- Problem Recognition
- Feasibility Study
- Analysis
- Design
- Construction
- Conversion
- Maintenance
The system development life cycle is a recognised sequence of tasks, decision points
and supporting documentation leading to the successful implementation of a system.
Problem Recognition
The birth of a new system occurs when managers or/and users realise that an
information system is needed for new business or that an information system for an
existing business no longer reflects the organisation’s functions. For example, a
business might have expanded considerably while its information system remained
the same, or perhaps the current information system does not offer functions that
management believes are necessary for the future growth of the business. In any case,
awareness of this inadequacy could come about as a result of a formal review of the
system or complaints from users.
If the difference between the business needs and what the information system can do
are sufficiently serious, management may decide to call in a systems analysts to
examine the problem in depth.
Page 10 of 111
Feasibility Study
The purpose of a feasibility study is to define the problem and to decide whether or
not a new system is feasible, spending a minimum amount of time and money in the
effort.
During a feasibility study, a systems analyst quickly studies the problem to assess its
magnitude and at the same time, attempts to resist (or at least identify) the scope of
the project. Since a change to one part of a system can quickly mushroom throughout
other areas of the company, it is critical to decide upfront exactly what will and what
will not be included in the current project.
The analyst lists precisely what is wrong with the current system as well as what will
be required of any new system. For example, he may indicate the current number of
records that the system is able to maintain. He may also list a set of reports that the
management may require but are not available within the current system.
- The analyst must determine if the needed system is technically, humanly
(socially) and economically feasible for the company.
- Technical questions are those that deal with equipment and software. For
example, can a system be developed using the organisation’s current computer
facilities? If the current facilities are not adequate, are the necessary hardware and
software technologies available in the market place?
- The analyst must decide whether the new system is humanly feasible given the
organization’s personnel. Some of the issuers to be tackled are. Are there enough
trained personnel to build and install the system? If so, is this really the way they
should spend their time? What do users think about the system? What is the
management’s option?
- The analyst next determines the system’s economic feasibility, roughly estimating
the time it will take to develop the system, the cost to build and maintain it, and
the benefits it will deliver.
After management has examined the cost-benefit analysis, it can choose either to
abort the project because it is not worth the cost or to proceed to the analysis phase.
Analysis
If the outcome of the feasibility study is positive, the project continues into the
analysis phase.
Page 11 of 111
Next, the analyst defines the requirements of a new system. The analyst uses fact-
finding techniques such as reading existing documentation, examining current
procedures and interviewing users and managers who deal with the system.
- From the existing documentation, the analyst can extract reference manuals,
listing of programs, organization charts and glossaries of error messages. These
items reveal to the analyst why the system was designed in the present structure as
well as its strengths and weaknesses.
- Examining the current procedures shows the system analyst how the system
actually works, which may or may not be the same as how it was intended to
work. Procedures can include anything from what is followed in deciding what
bills to pay, to how a clerk enters a vendor into the computer. Watching the users
at work may reveal the problems and the strong points of the system.
- Interviewing users and management allows an analyst to tap the expertise of the
people most involved in the system. These people provide valuable information
on what is currently working well and what is lacking in the present system as
well as what is needed from a new one. There may, however, be some users who
are uncertain of what a new system should do, or who are unable to conceptualize
and verbalize it. These people must be interviewed skilfully if the analyst is to
extract the needed data. This requires that the analyst must have the
communication skills. Without such skills, the analyst cannot expect to obtain the
co-operation that is so vital.
- After the necessary facts are gathered, they are used to complete the analyst’s
understanding of the current system and the ‘wish-list’ for the new one.
- Diagrams are made that document the current system. These diagrams are studied
as the analyst considers the functions of the new system. The analyst then
prepares another set of diagrams incorporating the new functions that users need
without specifying how those functions are to be performed.
- The analyst may use the facts that have been gathered to prepare a prototype,
which is an abbreviated version of the new system. A prototype may be developed
quickly using systems development tools such as fourth generation languages.
- The analyst can then show the prototype to users, letting them ‘play’ with it and
make suggestions. At this point, users can evaluate how close the prototype comes
to satisfy the ‘wish-list’. In some cases, the prototype may actually evolve into the
finished system. In others, the system may need to be rewritten using more
traditional programming tools, such as COBOL or PASCAL.
Design
Page 12 of 111
Early in the design phase, the analyst uses the management decisions from the
analysis phase to make final equipment decisions. Purchased hardware and software
must be ordered early in the design phase if it is to arrive on time for the construction
phase, which follows.
- Next, the analyst transforms the functional diagrams of the analysis phase into
hierarchical diagrams of the design phase. This transformation allows the analyst
to see exactly what programs are needed and how they are related to one another.
At the same time, the analyst evaluates the entire design for quality, using such
criteria as how completely each program achieves a unified function and how
straightforward the user interface is.
- The functional requirement detailed in the system specification is translated into
the plans for a series of computer programs that will perform the required
functions. The analyst decides on program structure, program interfaces and the
hierarchy, or order in which programs will be arranged. While the analysis phase
is concerned with what must be done, the design phase is concerned with how it
will be done.
- Analysts are also responsible for ensuring design. One of the primary tools is the
structured walkthrough, which is a group review of a program or design. Group
reviews can find errors that the program author may have missed. Users should be
involved in these group reviews since they are the people who understand exactly
how the new system should perform.
- When designing the programs, the analyst must also incorporate security
measure, into the system to guard against potential errors and computer crimes.
Security can include such safeguards such as requiring passwords for users,
keeping backup copies of all files and encoding of sensitive data.
- The analyst also designs the user interface, including all the input forms, output
reports and the formats of displays on terminal screens. Input forms must be
designed in such a way that it is difficult for the user to make a mistake and easy
for any data entry person to enter information into the computer. The primary
concerns when designing output reports are clarity and east use.
- The analyst designs the procedure to be used, specifying for example, exactly ho
an input transaction is entered into the system. The analyst also determines
staffing requirements, such as the data entry people needed and how many hours
the computer will be in operation each day.
- During design, a database designer plans a database i.e. data and file
requirements. The analyst works with the designer, clarifying the requirements
but as merely a consultant.
- The Design Specification is the primary output and documentation of the design
phase. When completed, it contains all the information the programs will need.
Construction
In the construction phase, the computer environment is prepared, the program
required for the new system are written and tested and the user documentation and
training material are developed. The output of this stage is a coded and tested ready
for conversion.
Page 13 of 111
- Early in the stage, the analyst must see the technicians prepare the computer
environment this can entail installing electrical lines and outlets, communications
lines, furniture, air conditioning etc. Finally, the computer hardware is installed
and tested, usually by the firm for which it was purchased.
- The programmers use the problem and design specifications as a guide for writing
the programs. The more accurate and complete the specifications are, the easier
the programmer’s task becomes and the better the programmers may have to
modify the purchased system at this time.
- The analyst helps to plan the testing process, although the actual testing is usually
done by programmers or a testing group. A rigorously chosen set of test data is
used to ascertain that the new system performs as intended and that it is free of
defects.
- The analyst supervises the writing of the user documentation and training
materials. Documentation can include user manuals, quick reference guides and
on-screen ‘help’ facilities. Users can be trained by instructors on a one-to-one or
group basis or by tutorial programs run on the computer. Thorough
documentation and training are critical if the new system is to be used correctly.
Conversion
During this phase, the company converts from the old system to the new one. The
analyst plans and supervises the conversion, the data entry staff enters any required
data, and finally the operation staff begins using the system on the specified data.
- In many instances, data file from the old system can be moved electronically to
the new system, using some type of software to direct the transfer. In other
situations, particularly if the old system is not computerized, data entry staff must
input the necessary data manually. There must be a way of ensuring that critical
data have been entered correctly.
- Conversion can be done gradually, with part of the new system one month, and
more of it the next month, or it can be done abruptly, by turning off the old
system and turning on the new one on the same day. The safest conversion is the
parallel operation, where both systems are in use simultaneously, for some
period of time. Both are given the same input data and the outputs are compared
to make certain that the new system parallel the old.
Maintenance
In the maintenance phase, system modifications are made after the system is
operational. Maintenance is necessary for two reasons:
• Defects in the system when it was delivered.
The system as delivered may have been specified incorrectly; perhaps
requirements were missed, or the programs as delivered had “bugs”
• Changing nature of the business environment.
A system must also continually evolve to keep pace with the changing business
environment. The business may also introduce a new product line that has
different information needs than existing products do. On the other hand, the
Page 14 of 111
management may ask for a new report that will greatly aid in decision making.
Whatever, the type of change, the information system must be able to adapt.
The programmers and testing team are responsible for incorporating any change
into the programs and testing the system to make sure problems have not been
introduced as a result of the change. After the change has been certified to be
defect-free, the revised system goes into operation.
Page 15 of 111
Some of these problems can be solved by alternative approaches to system
building such as prototyping.
In the case of system analysis, the ‘substance’ is the business system under investigation
and the parts are the various sub-systems which work together to support the business.
Before designing a computer system, which will satisfy the information requirements of a
company, it is important that the nature of the business and the way it currently operates
are well understood. The detailed examination will then provide the design teams with
the specific data they require to ensure that all the client’s requirements are fully met.
1. Understanding the current physical system. This will involve fact-finding activities
and the recording of information about how the current system operates. As part of
this process, the analyst will also be constructing models to show the data and the
processing within the system as well as documenting problems and requirements as
described by the users of the system. The users are required to review and agree the
analysis results.
2. The next stage requires the analyst to move away from the constraints, which
determine how the current system is physically implemented, and to put together a
clear picture of the logical functions carried out by the system. In other words, to state
exactly what the system is doing rather than how it is doing it. This view is described
as the current logical system. Again, the users are asked to review and agree the
logical system description.
3. The required/new logical system. The customer’s requirements for a new information
system must be mapped onto the current logical system. This will state what the new
Page 16 of 111
system will do. By discussing the requirements with users who specified them,
priorities can be assigned and a number of alternative version can be presented of the
required logical part of the system proposal.
4. The required physical system. This involves specifying in detail exactly how the
system will work. All the business requirements are transformed into a physical
design for implementation on a specific hardware and software platform. As the
issues dealt with here are mainly technical, user involvement will be less than during
earlier stages, but user approval must still be obtained to the final specification.
Structures systems analysis, which is based on the four-stage model described above, also
has associated with it the following principles
• Modelling
• Partitioning
• Iteration
• Documentation
• Review
Modelling refers to the use of graphics models, which are employed wherever possible, in
place of narrative text, to provide clean and unambiguous information about the system.
Partitioning describes a method of breaking the system down into a number of smaller
parts so that it can be more easily understood, so that work can be allocated to the
members of the project team. The system is first considered as a whole to establish the
system boundaries. Once these have been agreed with the users, the system is portioned
on a top-down basis.
Iteration: Since it is unlikely that the first representation of the current system and the
requirement for the new system will be completely accurate the first time, structured
systems analysis provides opportunities for revisiting and amending the models of the
system. If this iteration of the process of analysis is carried out in close consultation with
the users, it will ensure that our understanding of the existing system is correct and
agreed with client before development of the new system begins.
Page 17 of 111
permanent. Consistent and up-to-date documentation serves as a permanent record of all
aspects of the project. Without written documentation, it becomes difficult to train new
project team members, to verify the project is fulfilling its original goals and to determine
if it is on schedule.
Review: Using the diagrams of the finished system to uncover errors or misconceptions
before they are incorporated into the end product. This is because, it costs less to abandon
or change a system that exists only on paper. In contrast, finished system are expensive to
modify or even costly to throw away. The earlier in the project life cycle that the
problems are uncovered, the less expensive they are to repair. Therefore the validation
process must begin during the feasibility phase and must continue during each of the
phases that follow.
Page 18 of 111
THE FEASIBILITY STUDY
A feasibility study is a small-scale analysis and differs from a full analysis in the level of
detail. The results of the study helps the user to decide whether to proceed, amend or
postpone or cancel the project particularly when the project is large, complex and costly.
During the feasibility study, a number of structured techniques can be used to record the
finding in an effective way, and later to present data in a graphical form. At the end of the
study a report is prepared for the client.
Page 19 of 111
iii) Scrap the project as it is not feasible, that the resources could be better spent
elsewhere.
Interviewing
In this technique the analyst personally questions managers and users about the
current system and solicits their options about any new system.
Principle of interviewing
-The analyst must display a likeable character to the user. A user who dislikes an
analyst will almost certainly dislike the proposed system regardless of its merits.
Good user-analyst relationships can contribute to the success of new systems.
- The analyst must project an image of sincerity to the user. We must try to show
that we want the user to solve his or her problems. The best thing is to make a
sure involvement is critical in systems development today.
- During the interview, the analyst should never offer opinions, suggestions or
promises. An interview only a fact-finding session. Solutions are premature. Rash
promises may return to haunt the analyst by causing deep embarrassment. The
best thing is to make a sincere, but general promise.
- The analyst should not apply rigid approach to the interview, since the clients as
individuals have unique personality. A method or attitude that may work with one
client may fail dismally with another.
• He should obtain copies of all report that could be discussed during the interview
session.
Page 20 of 111
• Make an appointment at a convenient time and confirm the appointment with the
client before the interview.
• Define objectives, specifically what information needs to be obtained in order to
concentrate on those areas that are most important.
• The questions should be limited so that the interview takes one hour or less, since
any longer tires the client and the analyst too.
• The analyst should allow the user sufficient time to prepare so that he (analyst)
can have verifiable statistics rather than just estimates for some facts.
Page 21 of 111
- After posing a question, the analyst should listen to the answer. Rather than
listening carefully to the answer, picking up shadings of meaning and undertones
as well as the overt response, an analyst may instead be interpreting the answer to
suit some perceived notion or be thinking ahead to the next question. This may
lead to wrong deductions being made.
- The analyst should not accept superficial answers to questions. If he does not
understand the answer or he feels it is incomplete, he should probe for more
information.
- The analyst should also observe the non-verbal communication of the client, for
instance, does the client sit with open arms and uncrossed legs? If so this might
signify that the client is relaxed and open to ideas. On the other hand, a closed
posture and crossed legs could mean nervousness. Eye contact can also give clues
as to what the client is thinking.
- The analyst must avoid doing more talking than listening and asking leading
questions. The types of question depend largely on the objectives of the interview.
Appropriate questions may deal with system controls, current job practices,
analyses of work volumes, data that are available or not available to the client,
data sources, data timelines and accuracy and future information requirements.
- In addition to factual questions, the analyst should ask the client to evaluate and
criticise the current system and offer suggestions for the new one. The analyst
should also allow the client to raise any further points, which the analyst may
have missed.
Advantages of interviews
- They provide instant feedback.
- Closer contact between analyst and interviewee. Both can ask clarification for
questions and answers.
- Helps overcome the fears and resistance to change that may be felt by the
employees and to gain their trust.
- Most appropriate for senior executives, who will have views about what the new
system should achieve overall, and who will have particular information need, but
who are unlikely to be greatly involved in its day-to-day operation or concerned
about the detail of how it does what it does
Page 22 of 111
QUESTIONNAIRES
Sometimes the users are remote from the analyst. Indeed from the development of
products for an anticipated for an anticipated market, the user may not be accessible at
all. In these circumstances, questionnaires can be used to gather facts, attitudes and
suggestions about the system.
Questionnaires are inevitably limited in the information detail that can be collected when
compared with interviews. However, they are valuable in acquiring information from a
large sample of users.
Page 23 of 111
• Impose a deadline for the response and include a prepaid envelope for postal
respondents.
• Group questions by topics and structure the questionnaire so that the groups follow a
logical order as far as possible.
• Give instructions for answering questions, and if the reply set is known, then make
this explicit and ask the user to underline or circle their choice, e.g. please select one
of the following: novice/experienced/expert.
• Avoid biasing the answer in a question.
• Design the questions; a list of open and closed questions can be used, although it is
useful to restrict the scope of open questions so that the questionnaire focuses on the
area under investigation.
Advantages of questionnaires
• It is relatively cheap, particularly when there is a scattered group of users and
operators.
• It is free of interviewer distortion and error.
• It permits time to refer to document and documentation. Questions which concern
detailed factual data e.g. how many customers live in the Southwest? Are suited to
questionnaire collection.
• It may be possible to ask more personal and controversial questions particularly is the
response is to be anonymous.
Drawbacks
• Low response rates to the questionnaire may lead to unrepresentative responses being
analysed to draw incorrect conclusions.
• Lack of direct contact with the analyst may mean that questions are interpreted in
different ways. There is no opportunity to clarify ambiguities unless a follow-up-visit
or phone call is made.
• There is no possibility of the analyst observing the user staff work place or work
practices.
The major objective of this exercise is to determine how accurate the documentation is;
Has the organisation made any attempt to update it as its methods have changed?
Page 24 of 111
Therefore, the documentation’s age is a clue to reliability; the older it is, the less reliable
it
is likely to be.
Using this information, as assessment of the volatility of the information can be made and
the existing information can be questioned if it appears that some file data is merely
updated, often inaccurate or little used. All of the information collected by record
searching can be used to cross check information given by the users of the system. While
this does not imply that user opinion will be inaccurate, discrepancies can be evaluated
and the reasons for them discussed.
Where there is a large number of documents, statistical sampling can be used. This will
involve sampling randomly or systematically to provide the required quantitative or
qualitative information. This can be perfectly satisfactory if the analyst understands the
concepts behind statistical sampling, but is a very hazardous exercise for the untrained.
One particular misleading notion is to draw conclusions from the evidence of the sample.
When inspecting data flow through a system, we can collect documents which show how
this information is organised. Such documents might include reports, formal list,
organisation charts and forms. In order to understand the purpose of a document in an
organisation, the analyst must ask questions about how, where, why and when it is used.
This is called documentation analysis.
Observation
Here, the analyst observes in person the current procedures. This shows us how the
system really operates, as opposed to the theoretical procedures detailed in the system
documentation. In many cases, there is little resemblance between the two.
The following issues are pertinent if observation is to be employed for fact gathering:
- Before beginning, we should get permission from the person to be observed and
the supervisor.
- Planning our observation in order to take note of the cross sample of the variety
in a procedure such as when work volume is high, low or moderate and unusual
conditions, like what happens when there is a special order from a customer.
- An explanation to the people we are observing is also necessary. They need to
know that we are evaluating their personal job performance, but instead trying to
understand job procedure and incorporating them, changed or unchanged into the
new system. We should solicit the people we are observing for their opinions on
the current procedures. This is because they will be the people most affected by
the changes we might make.
- Observation should not interrupt or disrupt the activities in progress. By
observation, analysts change the environment that they observe. Their presence
makes the people they are watching to behave differently; being nervous and self-
conscious, people work more conscientiously than they normally would, or they
may panic and may do it more carelessly. For instance factory workers under
observation might follow safety regulations than they would otherwise ignore.
Page 25 of 111
- Participatory observation in which the analyst actually performs the activity in
question can be a valuable fact gathering technique. Learning by observation can
help one understand more thoroughly than passive observation can.
The analyst collects a considerable amount of information during the investigation phase,
which may include interviewing reports, observation records, sample documents,
completed questionnaires and a list problems and requirements. Some of these relate to
the current system, and some to the new system required by the client.
DFD Components
Entity
External entities represent the source of data that enter the system or the recipients of
data that leave the system. Examples are clerks who receive and enter the data into the
system or customers who receive the letters produced by the system.
Since the entities are not part of the system with which the DFD is about, we are not
concerned with the internal working of an entity, only the data it supplies or receives.
Symbol Customer
Page 26 of 111
e.g.
Data Store
Data stores represents stores of data within the system. Examples are computer files and
databases, or in a manual system, paper files in filing cabinets. They are drawn as open-
ended rectangle with a unique identifier, a box at the closed end and the name of the store
I the open section. Manual data stores are identified by the letter M followed by a number
and identifiers for computerised stores are prefixed by a D.
A data flow entering a data store indicates an Update (Add, Change, and Delete) to the
file, while a data store from a data store indicates a Read activity.
e.g.
Order
Data Flows
They represent the movement of data between other components, for example a report
produced by a process and sent to an external entity. They are shown as named arrows
connecting the other components of the diagram. Data flow are generally shown as one-
flow only.
e.g.
All flows must either begin or end at a process symbol. In logical DFDs, no two data
flows should have the same name. If two flows, separated by a process, appears to be
identical, then it is likely that the process that separated them is not transforming data in
any way and so should be discarded. Data flows moving out of stores do not necessarily
require names because the store name may be sufficient to describe them.
Processes
Processes are transformations, changing incoming data flows into outgoing data flows. In
other words, a process is work that must be done or a function that must be completed.
They are shown as larger rectangles with a numeric identifier in a box at the box at the
top left corner. The location where the process takes place is recorded in a box in the top
right corner and is only used in diagrams of the current physical system. The name of the
process is recorded in the remaining area at the bottom. Process names should be
unambiguous and should convey as meaning as possible without being too long. In
general, names should take the form of an imperative and its object e.g. ‘Open Account’.
Generalised verbs such as Process or Update are not usually helpful. The name of a
process tells its general function.
Symbol:
Page 27 of 111
e.g.
2 Sales Dept
Note: Compare
(I) A data flow is not permitted between (to or from) a data invoice
store and another
store or a data store and an external entity, only between a data store and
process.
(II) A data flow is not permitted between (to or from) an external entity and
another external entity or an external entity and a data store, only between an
external entity and a process.
(III) Data flows are permitted between processes and data stores and external
entities.
(IV) Note: A boundary is sometimes drawn around a DFD to show (perhaps
arbitrarily) the limits of the system, which is being charted.
DFD Hierarchies/levels
A system is rarely simple enough to be shown on a single DFD and so a hierarchical set
is produced. This consists of a top-level DFD in which the processes are major system
described in more detail by one or more associated lower-level DFDs. The process of
breaking down a higher – level (parent) DFD into its constituent lower-level (child)
DFDs is known as levelling.
Example:
Level 1 DFD for a library system
Membership
M1 New Details
Advertised Book Acquisition D2 Borrowers
Details
Membership Card
Page 28 of 111
D2 Borrower
C
Borrower Reservation
Book Retail
Reservation Card
Record Returns
Borrower
Details
A context diagram is similar to a top-level DFD but with the whole system shown as
‘black-box’. In other words, external entities and data flows in and out of the system are
drawn but no process or data stores are shown. They are used early in a project as a
means of describing and agreeing the scope or boundary of the system to be developed.
Page 29 of 111
Supplier Publication
Delivery Note
Order
Advertiser
Book Details
Supplier Details
Library System
Reservation Loan
Card Details
Member-
Book ship card
Recall
Borrower
Reservation Details
Borrower
Exercises
1. A purchasing department receives a purchase requisition from the stores. The
requisition is checked, and an individual requisition is returned to the stores for
correction. An order is made out using a file of approved suppliers, and sent to the
appropriate supplier. A copy order is filed. The requisition is filed.
When the goods are received, the invoice is compared with the order copy, and an invalid
invoice is returned to the supplier. Valid invoices are passed to the accounts department
for payment and fulfilled orders are filed.
Page 30 of 111
3. An electrical wholesale company stocks 20,000 different items and have 1,000
customer accounts. It receives average 150 orders per day with an average of 10
unique items per order.
Orders are taken by telephone, mail and fax in the administration department and over the
trade counter in the warehouse.
Copy 1 of the OPD (dispatch note) goes with the goods to the customer, Copy 2 goes to
the accounts department for invoice preparation and Copy 3 is returned to the sales
administration where the information is used to update stock records and then filed with
Copy 4 in the order file. Re-order levels are held on the stock record cards and sales
information inform the purchasing department when stocks fall below the re-order level.
If an item goes out of stock, the warehouse will inform the purchasing department who
will raise a purchase order, a copy of which is passed to the goods inwards area of the
warehouse.
Customer returns are inspected by the warehouse staff and return notes are raised and
passed to the accounts for credit notes to be issued.
Supplier deliveries are checked against copies of the purchase order in the goods inwards
area of the warehouse and a goods received note is raised. This is passed first to sales
administration to update their stock records and then to accounts department.
The company has already computerised its accounting system, i.e. Invoicing/Sales
ledger/Purchase ledger and Payroll and is now looking to computerise its order
processing and stock control activities.
You are required to design a computer system to cover the order processing and stock
control activities.
(i) Draw a context diagram showing the external inputs and outputs of the order
processing and stock control system.
(ii) Draw a Level 1 DFD of the current system, showing the processes, flows, stores
and the interfaces with existing other external entities.
Advantages of DFDs
(i) Simple to draw since they use only a set of four standard symbols.
(ii) They help substantiate the logic underlying the flow of the organisation
(iii) Identification of error (in structured walkthroughs).
(iv) They give an overview of the system as a guide to later fact finding.
Page 31 of 111
(v) They show in detail how the system works from overview to minute detail using
the levelling technique.
(vi) They demonstrate in overview terms how various solutions might appear.
ENTITY MODELLING
One of the commonly used diagrams in entity modelling is the Entity Relationship (ERD)
/Logical Data Structures.
Entity relationship models use 3 major abstractions to describe them. These are:
(i) Entities: These are classes of distinct things about which data is recorded in a
system. It is usually represented as a rectangle containing its name, written as a
singular noun.
(ii) Relationships: Meaningful interactions or associations between the entities e.g. an
entity department may be associated with an entity employee via a relationship
employs. They are shown as lines linking entities. They can be traversed in both
directions and so each end of the relationship is named in order to describe it from
the point of view of the entity at that end.
(iii) Attributes: These are the properties of the entities and relationships. A descriptive
value associated with an entity e.g. Employee Number, Employee Names might to
be attributes of the Employee entity.
One to One relationship is uncommon as it is usually found that two entities which are
linked in this way can be combined to form a single entity.
Page 32 of 111
For entity type A, there may be many members of entity B and for any B, there is only
one A associated with it.
e.g.
comprises
DEPARTMENT EMPLOYEE
Works in
RAW
PRODUCT MATERIAL
Note: Whenever the degree of a relationship is many to many, we must decompose the
relationship to One-to-many or Many-to-one. The decomposition process will create new
entity.
e.g.
BOOK BORROWER
BOOK BORROWER
LOAN
Relationships can also be classified in terms of their optionality is where the analyst
considers whether an entity occurrence at one end of a relationship can ever be present in
the system without the presence of a corresponding occurrence of the entity at the other
end of the relationship.
Page 33 of 111
e.g.
Responsible for
(a) Patient
Doctor
Registered
with
Responsible for
(b) Doctor Patient
Registered
with
Responsible for
© Doctor Patient
Registered
with
Page 34 of 111
Doctor Nurse Midwife
Appointment
An appointment may only be made with one doctor or one nurse or one midwife.
Doctor
Research Patient
Programme
A doctor may have responsibility either for one or more research programmes or for one
or more patients, but cannot have responsibility for both patient and research
programmes.
Page 35 of 111
of low-level managers working for them. This can be shown by identifying three entities,
senior manager, middle manager and lower manager or by a single entity called manager
which has a recursive relationship with itself.
Senior
Manager
Supervisor of
Reports to Supervisor of
Middle Middle
Manager Manager
Reports to
Supervisor of
Reports to
Lower
Manager
Representing attributes
Although E-R diagrams describe many of the important features of the logical model,
they do not show the attributes associated with each entity. This additional information
can be represented conveniently in form of a table.
Tables may be used to represent attributes associated with each entity type. Consider the
following entity relationship:
Ward Patient
Assigned to
WARD TABLE
WARD NAME WARD TYPE
LONGONOT ORTHOPAEDIC
Page 36 of 111
TANA CARDIAC
ELGON MENTAL
KIRINYAGA ORTHOPAEDIC
PATIENT TABLE
PATIENT_ NO PATIENT_ NAME WARD_ NAME
1294 JAMES ELGON
1201 MARY LONGONOT
1301 CAROL LONGONOT
1152 TED TANA
1350 SMITH KIRINYAGA
Types of attributes
Key attribute
This is an attribute that uniquely identifies each type e.g. Patient_No, COURSE_
CODE, STUD_ NO, WARD_NAME. It is also called a primary key.
Candidate keys- Is a set of all possible unique identifiers. Each entity type must have a
least one-candidate key. For a given entity type, we choose one of the candidate keys to
be the primary key. The remainders are called alternate keys.
Composite key- When the primary key is a combination of more than one key, we call the
combination a composite key.
Foreign key- An attribute in one table whose values are required to match those of the
primary key of a different table. Foreign keys are means of maintaining relationships
between entities in relational DBMS e.g. in the PATIENT table above, the Ward_Name
is a foreign key since it is the key since it is the key attribute of the WARD table.
Another way of representing attributes are underlined while the non-key attributes are
not.
DATA DICTIONARY
The Data Dictionary (DD) is a storehouse of data about data. It is the single place in the
system where one can go to learn more about any piece of data in the system.
The Data Dictionary defines templates for the data that the finished system itself will
eventually store. These templates tell the format, where and how data items are used and
any components that make up the data item. For instance, the data dictionary entry for
invoice number would not give specific invoice numbers, but it would instead state that
the invoice number is a numeric field, five digits long that is used within certain files in
the system.
A DD serves all phases of the System Development Life Cycle from analysis onwards. It
is not merely documentation that is haphazardly created at the end of the project; rather it
is a tool to be used from very beginning (of analysis). It may start out small, but it can
Page 37 of 111
expand at a high rate as a project progresses through design into programming.
Usually data is held about three of the four main components of the Data Flow Diagram;
the Store Process, and the Flow. It is also necessary to record information about the entity
descriptions that support the logical data structure and the attributes (data elements or
data items) contained in each description. Thus in a DD, it is necessary to hold entries
about data elements, data structures, data flows, data stores and processes. The structure
of the Data Dictionary for each of these will vary.
Basically, a data dictionary provides a method for looking up the items of data held in the
database, to establish the following:
• A list of the entity, attribute and relationship types.
• A list of the aliases
• A list of all processes which use data bout each entity type
• How to access the data in whatever manner is required
• What the data codes and symbols mean
• The origin of the data
• Possible range of the data
• Other comments
Description: A short description of the meaning of the data element. An example might
be included.
Aliases: Several departments may refer to the element by a different name or term.
This has to be explicitly recognised and may require a large amount of
detective work. Different employees in an examination system may be
using the terms “Unit” and “Module” to refer to the same data element.
This was can only be recognised through the analysis work required in the
compilation of the Data Dictionary.
Type: Usually Character, Numeric or alphabetical.
Page 38 of 111
Security: Who (or which level of employee) is allowed to modify, add or delete a
given data item. This will be important in the design of security features
such as passwords and audit checks.
Editing: This may concern the way in which data is produced from the system For
example, should a credit of £30 be shown as –30, +30,30CR or (30)
Comments: A final section in which to record special information about this data
element.
Example:
Where used
Page 39 of 111
ENTITY LIFE HISTORIES
An entity Life History is an analysis technique within SSADM that is concerned with
- Identifying events that cause change in stored data.
- Establishing the sequence of these events
- Defining valid states for entity occurrence.
A single event instance may cause more than one entity occurrence to change. The
changes within a single entity occurrence caused by an event is called an effect.
Page 40 of 111
• The elementary (leaf) nodes represent events, which have an effect on the life of an
entity occurrence of the entity type.
• The elementary nodes (effect) contain the name of the event.
The typical life of an entity starts with an event which triggers processing to create a new
entity occurrence. Once an entity occurrence has been created then an event can trigger
processing whose effect is to modify attribute values of that occurrence. At some later
time in the life of the entity occurrence an event will occur which will trigger processing
which have the effect of terminating the life of that occurrence. A terminating event
means that the occurrence is archived or transferred to another file for use by other
systems. The typical life of an entity illustrates the fundamental structure of an ELH.
Sequence
The sequence is fundamental to all ELSH. This structure is shown below. It shows the
chronology of events for a Course Attendance. Notification of Enrolment (create
occurrence event) always takes place before the Written Examination Result can be
notified. The Written Examination Result event occurs before the Notification of
Graduation (terminate occurrence event).
Course Attendance
Sequence of events
Selection
In the figure below, the small circles in the two Assessment events denotes that these are
alternate events. Thus an assessment event is either a notification of a written
Examination Result or a notification of an Oral Examination Result. The alternative
events are grouped under a selection node.
Page 41 of 111
Course Attendance
Iteration
The asterisk (*) in the figure below denotes that the event may affect an entity occurrence
zero or more times. Continuos Assessment Result may result before the Notification of
Graduation occurs.
Course Attendance
Continuous
Assessment Result
The figure below illustrates the iteration of a substance of the ELH. In this case, the
sequence of events notification of Written Examination Result and notification of Oral
Examination Result may not occur, may occur once, or may occur many times. Each
instance of the iterated sequence must be complete before the next sequence can begin.
Page 42 of 111
Course Attendance
Assessment
Written Oral
Examination Examination
Result Result
QUALITY IN SYSTEMS
A good system should:
- meet the needs of the user
- be cost effective.
- Be produced on time and within budget.
Quality Concepts
The term ‘quality’ means different things to different people, depending on their
perspective. To some, it means, ‘finding the error’ or ‘making sure it is correct’ and
involves checking the deliverable of a system. For others, it is about the process of
production and means ‘doing it right first time’, achieving the standard’ or getting the job
done in the best possible way’. All these definitions point to the fact that there are a
number of dimensions to the concept of quality.
Page 43 of 111
What are the implications of these ideas for software developers?
• There needs to be a greater investment of time and effort in the early stages of system
development, if the correcting at the end is to be reduced. Research has shown that
75% of software development cost are associated with testing, debugging and
maintaining software, and if this figure is analysed, over 80% of the testing,
debugging and maintenance cost can be traced back to problems introduced during
analysis. A more systematic approach to analysis could make a dramatic difference to
these figures, and this is the purpose of the structured methods.
• Their cost of correcting an error during implementation is many times greater than
the cost of putting it right during analysis. The use of reviews and walkthroughs at
every stage of development would help with the early detection of errors.
• By investing in the training and training and development of their staff, a company
will be raising the chances of doing the job right first time and also building the
client’s confidence.
• Management as an agent of change, must take the lead in making quality an intrinsic
part of the development process. Often software development project managers don’t
give the projects a chance to achieve this because they only focus on two issues: “Is
the project running according to budget?” and “Is it on schedule?” rather than first
asking the key question. “Are we meeting the customer’s needs?” Once this has been
addressed, the other questions about schedule and budget can then be asked.
Quality Management
To ensure the quality is maintained when developing software so that products and
services are delivered which conform to the customer’s requirement, three concepts are
important – quality control, quality assurance and quality management.
Quality Control is the task of ensuring that a product has been developed correctly – to
requirement and to standard – and that the procedure identified for its development is
effective and has been followed.
- It is done best by the person or team who did the work, but it should include an
independent contribution from a peer – someone who could have done the work,
but who didn’t. For instance, a complete system design document should be
reviewed, not just by the person who has written it, but also by an independent
person.
- It also covers the procedure and methods used for the work. These must be
identified beforehand, even if they are the usual ones, in a quality plan, and any
deviation from them must be explained and assessed.
- Records should be maintained on how quality control has been carried out, and to
indicate on the product or if this is not possible, on an associated record that this
has been done successfully.
Page 44 of 111
Quality Management is the establishment and maintenance of a quality system within
the organisation, the company, the division or the project and is usually the
responsibility of senior people in that areas.
Quality pyramid
QUALITY
MANAGEMENT
QUALITY ASSURANCE
QUALITY CONTROL
Standards
A QMS will specify the standards to be used for tasks carried out within the
organisation.
Page 45 of 111
- Making it easier for teams to work together
- Ensure that products developed will be compatible and contribute to producing
consistent maintainable system.
A quality manager will usually have a day-to-day responsibility for the QMS, although
this may not need to be a full-time role once the quality system is established and running
effectively.
The QMS is documented in a quality manual which also includes or refers to descriptions
of the methods and procedures used on work tasks. This manual also becomes a valuable
marketing and selling aid, as it provides evidence to the outside world of the means by
which a supplier achieves quality of work and product, and is part of the basis on which
the quality system can be assessed.
If testing is properly designed and planned, it can be very effective as locating defects.
However, testing has the following disadvantages:
• It can never be completely comprehensive.
• Checking every path through even a simple program can take a large amount of time.
• It is particularly difficult to trap defects introduced in the earliest stages of analysis
and design, or facilities that have been ‘lost’ between one stage of development and
the next. Such defects are the ones that cause the most concern.
• It can only be done in the later stages of development at it actually exercises code.
Various studies show that at the testing phase the cost of correction may be many times
greater than correction made before the coding begins.
Page 46 of 111
With the introduction of structured approaches to system development, each stage of the
project became a ‘milestone’, the deliverables of which had to be signed off by the
developer and the customer before the next stage began. This ensures that not only does
the system work when it finally goes live, but also that the client is in full agreement with
the interpretation of the requirements – from the earliest stage to final implementation. A
procedure for agreeing and signing off milestones which is part of many structured
methods is the structured walkthrough, while a more formal technique which is also used
on software development project is the Fagan inspection.
Structured Walkthrough
It is the review of products at the end of a stage in the development of a system by a
group or relevant and competent persons.
Structured walkthroughs are done at all stages of a project, from the models of the
analysis phase to design and onto the programs and documentation of the
implementation. Organisations that subject all systems to stringent walkthroughs can
reportedly reduce the program error.
Types of Walkthroughs
(i) Formal- It is a full review of the work done in one stage of the structured
development and involves the client.
(ii) Informal- It is internal to the development project and reviews each step of the
development within a stage. User involvement is optional.
Roles in a walkthrough
Presenter Is the person who has done all the work and is now submitting the relevant
documentation for quality assurance.
Secretary Is the person responsible for documenting the problems raised and then
reading them back at the end of the meeting so that priorities can be
assigned and follow-up action agreed.
Reviewer Is a person from the same project as the presenter.
A user representative mandatory for the formal agreement and signing off of a
development stage.
Page 47 of 111
An extra observer from another project, an optional role which can be useful in providing
objectivity.
Even though each team member has a primary function, all are equally accountable in
terms of examining the quality of the system and offering comments and criticism. The
responsibility of the team is to give an accurate appraisal/assessment, good or bad of the
product being reviewed. All criticism should be specific, indicating exactly where more
work is needed. The participants should identify defects, but should not attempt to correct
them, since correction is the responsibility of the author.
Preparation
- This should be done at least three days before the walkthrough meeting.
- The presenter prepares documentation on the product to be reviewed.
- Presenter passes documentation to chairperson who then distributes the
documentation and notifies the reviewer of the time and location of the
walkthrough meeting.
Meeting
- It should be kept short – preferably 60-90 minutes.
- Presenter walks the reviewer through the product. The prime purpose is to ensure
the product meets the requirement and conforms to the appropriate standards and
that any defects are identified. Additional benefits is to spread information,
knowledge, ideas and new approaches.
Follow-up Actions:
- Accept and sign off product.
- Recommend minor revision with no need for a further review.
- Recommend major revision and schedule another walkthrough to review the
revised product. In this case, the person creating the product will have a written
record of the identified problems produced by the secretary, and the actions
required. The necessary corrections are then made for resubmission in the next
walkthrough.
Page 48 of 111
Solutions to problems
It is the chairperson’s responsibility to avoid these problems by:
- Enforcing a time limit.
- Ensuring walkthrough standards are adhered to.
- Reminding attendees, before the meeting of the purpose of the walkthrough and
the importance of preparation.
- Careful selection of team members
- A checklist of specific topics for review should be available to keep a team on
track.
The outcome of the walkthrough is the walkthrough report prepared by the scribe. On
the first page; the summary, all participants must sign the report to show that they are in
agreement with it. This reinforces the ideas of shared responsibility for the quality of the
product. At the bottom of the summary page, the final verdict is given. The product is
accepted as it is or with minor revisions, or it is rejected. Rejection is broken down into
three categories; the product has so many flows that it must be completely rebuilt, the
product needs major revisions, or the review was incomplete and must be continued later.
Fagan Inspections
A Fagan inspection is a formal review technique developed by Michael Fagan, a British
Engineer who worked for IBM. It was based on established review methods, such as the
structured walkthrough, but was designed to eliminate the problems with walkthroughs.
The objectives of a Fagan inspection is to identify and correct as many defects as possible
early in the development process, so that the next stage can proceed with confidence, and
to minimise the number of defects in the final system so that maintenance costs are
reduced.
Page 49 of 111
MOVING FROM ANALYSIS TO DESIGN
In structured methodologies, a lot of emphasis is placed on the need to spend
considerable time and effort ensuring that analysis is rigorous so that the design process,
and later the implementation, will be straightforward. A key factor is the use of structured
techniques and they help in ‘bridging the gap’ between analysis and design.
In traditional approaches to system development, there was frequently a gap between the
information about the system document by the analyst, and the detailed technical task
which lay ahead for the designers. While the existing physical was described in detail,
usually in the form of a lengthy narrative, it still the designer, who had to produce designs
for files or databases, processes or interfaces and controls, with a lot of unanswered
questions. Analysis ends with a description of what the system must do, while design
must specify how this will be done by selecting one of the many possible ways of doing
it. The gap between the end of analysis and the beginning of design is shown below.
ANALYSIS DESIGN
All structured methodologies share the view that logical models must be integral to the
process of system development in order to ease the transition between analysis and
design, and also to enable intermediate views of the system to be discussed with the
users.
A logical model describes exactly what the system does rather than how it does it, by
ignoring the physical constraints, which determine how the current system is physically
implemented. A required logical model. The structured techniques during analysis which
provide this logical view include:
Page 50 of 111
• Data flow diagrams
Representing the processes, which manipulate the data as it, passes through the system.
• An entity model
Showing the relationship between the data items held within the system.
• A data dictionary
Providing an overall consistent definition of the data used by the organisation. This
definition can include the content of the data stores, data flows and processes shown on
the data flow diagrams, and the entities, which make up the entity model.
ANALYSIS
DESIGN
THE BRIDGE
These logical models provide a sound basis for the process of design and the designer
will use, amend and develop these models to create design documentation. For example,
data flow diagrams is the starting point for designing input to the system such as an order
form, outputs from the system such as a sales report and human computer interfaces such
as an on-line enquiry screen.
In this way the logical model support both the current system which is in operation. And
the new system being developed, and can be used to overcome the analysis/design gap by
providing a ‘bridge’ of techniques central to the process of analysis and design.
PROBLEM SPECIFICATION
By the end of the analysis phase, the analyst has accumulated a lot of separate
documents, from process descriptions to data models. At some point, these need to be
bundled together to from the problem specification, which will be used by designers and
programmers throughout the life of the project.
Page 51 of 111
• Table of Contents
A list of what the problem specification contains is a necessity.
Acceptance Criteria
The analyst has also to indicate what must be delivered by any new system. This is
detailed in the acceptance criteria. The acceptance criteria will later be referred to
when the analyst tries to prove to the users that the system meets the users’ stated
requirements. These criteria serve as a protection for the users, ensuring that the
requirements have been met.
In order to be effective, the acceptance criteria must be measurable. For instance, how
could we prove to the user that the system has managed to “improve collection of
overdue accounts”? Precisely what does “improve” mean? Can we measure it,
quantify it? Hardly. This requirement could be more clearly stated in this form:
“lower the percentage of bad debts from the current 10% of the accounts receivable to
36%. Reduce the average days overdue from the current 120 days to 90 days. Reduce
the average account balance from the current $5,400 to $3,500”. That these
requirements have been met can be verified to the users’ satisfaction.
Nevertheless, the analyst must keep in mind that the users’ expectations of what the
system can do for them will change as a project progress. One reason for this is that
the business environment cannot remain static until the system is complete. One
reason for this is that the business environment cannot remain static until the system
is completed. Another reason is that as the users become acquainted with the system,
they will gradually discover more ways in, which could help them if only those
functions could be incorporated. Analyst must work closely with the users so there is
some means of modifying the system and its acceptance criteria and its project
progress.
System models
Each proposed system model consists of DFDs (showing the evolution from the
current physical model to the new physical model), process specifications, data
models, and cost-benefit analysis.
Page 52 of 111
The chosen model is not put into problem specification. It should be accompanied by
management’ written authorisation to continue forward with this option and
documentation as to why management felt this was the best choice.
The rejected system models are included in an appendix to the problem specification,
where they will be out of the way yet available for reference. Analysts never throw
away anything on which they have expended a great deal of work; it might be needed
again. Perhaps two years from now the president of the company will decide to go
with that high-cost option that was currently rejected. If so it will be ready.
Data Dictionary
The data dictionary has been modified as the project have progressed, so it should be
in its finished form at this point.
Index
All key concepts and the terms should be included in the index.
No two projects are alike, and each will have peculiarities that need to be documented
at this stage. For example, a user may have a pet report that she absolutely has to see
designed at this point. Although report formats are not parts of conventional problems
specification, in the interest of user satisfaction, the format should go in.
This decision must be made at the end of the analysis phase, for much of the design
phase can be omitted if the decision is made to purchase. Once the requirements of
any new system have been specified, the analyst can then look at available software
packages to see which ones most closely fit the user’s needs, all without actually
‘designing’ that system.
Even though most analyst and programmers are more pleased in designing and
building a new system from scratch (since it is what they are trained for), it is
economically more feasible for a many businesses, especially smaller ones, to buy
rather than to build software. Commercial software has several
Page 53 of 111
Advantages.
Disadvantages
- Only rarely will it meet the needs of the users. Users may have to adapt their
procedures to the requirements of the software, or analysts may be obliged to
modify the software, (which can be expensive if not impossible).
- It may not be compatible with existing software applications in the organisation.
- Different applications from different vendors will mean that each application will
have a different user interface, making it difficult for users to use various types of
software.
- There may be no in-house expert on board from the first day the application goes
to use.
- They cannot be easily modified if the needs of the users change in the future.
When evaluating commercial software, an analyst might use a decision table format
to consider the following:
• How closely does the package with what is needed? Will it be necessary to
modify the programs, or the proposed system procedure, or both?
• How stable is the software vendor? Will the company still be I the business in a
year or two in case any problems arise?
• Does the vendor give prompt, courteous, and reliable support when problems
arise? A toll-free 24 – hour telephone line is a good omen, but test by calling with
a question to see what kind of response is given and how often the line is busy.
• Will the vendor be providing ongoing enhancements and upgrades to the
software? At what cost?
• Are source programs supplied so that the organisation can do its own
modifications?
• Is there a trial period during which the package can be returned for a full refund?
• How many other installations have used the software package? For how long? (A
vendor should supply a list of users’ names, but it is not always helpful to ask
those users for evaluation. The vendor would not likely be likely to give out the
names of dissatisfied customers. We could ask those users for second level-
Page 54 of 111
reference- other organisations they are using the package, but which the vendor
has failed to mention. There is where the skeletons can be uncovered.)
• How flexible is the software? Can it change along with the changing business
environment? Are there any growth limits on file size, number of transactions, or
embedded tables?
• Is the software user-friendly? With what other applications currently used by your
organisation does this application communicate? With what other applications
currently on the market (both from the vendor and others) does it communicate?
Do these various compatible application packages have similar user interfaces?
Only after collecting data on the various software packages available does the analyst
begin to worry about choosing hardware. The software is really what determines how
well the computer meets the user’s needs, so there is less anxiety connected with
choosing the hardware on which that software runs. There are a few constraints on
hardware selection which are much the same as many of those detailed for software;
stability of the vendor, existence of a trial period, satisfaction of the users, flexibility
and user-friendliness. In addition, machinery should be upwardly compatible,
meaning that the user organisation can easily upgrade to a larger or faster model in
the future without scrapping existing data or programs.
When shopping for hardware, the analyst sends out a Request for Proposal (RFP)
vendors that might be able to supply the necessary equipment. In return, interested
vendors return a proposal listing the specifications for their hardware and its cost.
Of course the organisation is always concerned with the comparative costs of the
various system solutions in both hardware and software selection. The costs and
benefit to the alternative solutions to a system problem need to be evaluated in depth
regardless of whether the solutions involve commercial or custom-programmed
software, or hardware from one of several vendors.
Page 55 of 111
CHAPTER THREE: SYSTEM DESIGN
Objectives of System Design
It is important, right at the start of the design process, for the designer, or design
team, to set clear objectives. The primary objective will always be to design a
system, which delivers the functions required by the client to support the
business objectives of their organisation. For example, the system may be required
to speed up the production of accurate invoices, so that the company’s cash flow can
be improved; or to provide up-to-date, detailed management information to improve
the managing director’s control over the business; or to help senior managers to make
strategic decisions. In other words, to be a quality product, a system must conform to
the customer’s requirements, and to be delivered in a way that meets their
expectations.
(iii) Portable
A client who has bought a software system may wish to change the hardware
on which the system runs. A good design is portable – in other words it is
capable of being transferred from one machine environment to another with
the minimum amount of effort to convert it.
(v) Reliable
Page 56 of 111
This objective is about designing systems which are secure against human
error, deliberate misuse or machine failure, and in which data will be stored
without corruption. While this is desirable in any computer system, for certain
systems in the areas of defence, process control or banking, it will be a key
design objective.
(vi) Secure
In order to protect the confidentiality of the data, particularly if it is
commercially sensitive, it may be important to build in methods to restrict
access to authorised users only, for example by introducing passwords.
(vii) Programmer-friendly
While the other objectives are mainly about delivering benefits to the client,
the designer must also consider how easy it will be for the programmers to
produce the code from the program specifications. By producing a
programmer-friendly design, both the costs of production and the risk of
building in errors are reduced.
(viii) Cost-effective
This includes a number of the other objectives, and is about designing a
system, which delivers the required functionality, ease of use, reliability,
security, etc. to the client in the most cost – effective way.
Design Constraints
In addition to time, which is always limited, and money-the available budget will limit
the options available to designers – there are a number of other constraints, which need to
be taken into consideration. These are:
• Resources
The availability of resources – particularly the technology to be used in delivering a
solution to the client.
Page 57 of 111
The knowledge and skills of the development team may limit a designer’s options, as
might the competence or ‘computer literacy’ of the potential users. Also, financial
considerations may be important here – ‘how much does it cost to employ two
trainees compared to the cost of employing one expert?’
Elements to be designed
i) System security and controls
ii) Human Computer interfaces; Outputs, Inputs, Dialogues, etc.
iii) Logical data: entity modelling and normalisation
iv) Files
v) Databases
vi) Physical data design
vii) Programs
viii) Choice of hardware
The layout of a screen and the consistency of the dialogue will be important to those
users who have to spend a lot of time sitting in front of terminals, and who will base their
evaluation of the whole system on these interfaces. If the method of entering data is
difficult, because of a poorly designed input form, for example, then the chances of
inaccurate data entering the system will be greatly increased, which will in turn affect the
value of the output produced. The time and efforts spent getting the design of forms,
screens and reports right will enable the designer meet the objective mentioned earlier of
making the system easy to use.
OUTPUT DESIGN
Having identified from logical model of the new system where the outputs will be, by
listing those data flows, which cross the system boundary as they leave the system, the
next stage in the process is to determine their content. Structured techniques play a useful
role here, because the designer can turn to the data dictionary to find the content of each
data flow, which represents an output. Considering an example from the DFD the output
is described as Stock Valuation Report. According to the data dictionary, the contents of
this data flow are as follows:
Page 58 of 111
Stock code 99999 5
Production description character 30
Unit cost 999.99 6
Quantity stock 99 2
Unit selling price 9999.99 7
Expected sales 999 3
A quality output is the one that meets the requirements of the end user, and which
presents the information in away which is clear, easy to read and visually attractive. In
order to decide on an appropriate method of presentation, and a suitable format, a number
of questions need to be asked:
The answers to these questions will help the designer make decisions about whether a
display or a printed copy of the output is required, the type of device needed to
produce the output required, and the layout of the information which best meet the
needs of the users.
OUTPUT TECHNOLOGY
Printing
Types of printers: impact where a hammer strikes an inked ribbon to produce a character,
and non-impact which work in a number of ways to produce a character on paper,
without making physical contact with it (photocopy technology).
Page 59 of 111
Impact printers; e.g. dot matrix, daisy wheel
Non-impact: laser, ink-jet.
While impact printers have traditionally been more commonly used in computer systems
because they are less expensive, new systems are increasingly using laser printers to
produce printed output because of the better print quality, the possibility of integrating
graphics and text and because the cost of technology is decreasing.
VDU output
It is appropriate where only a short-lived image rather than a printed document is
required. The display would be monochrome or colour. Colour monitors are now being
used more in developing system, and high-resolution graphics enable sophisticated
presentations of data to be displayed in the screen.
Presenting information
Three important principles apply whether the output is printed on paper or displayed on
the screen:
• The content should be kept simple. This is achieved by presenting only that
information which is needed by the user.
• The page or screen should not be cluttered and easy to read. The use of white space
on a printed page significantly improves its readability.
The information should be arranged logically on the page on screen in such a way that it
can be easily and quickly used and understood by the user. Every output screen or report
should include a main heading which identifies the purpose of the output and
subheadings which identifies the various sections within it.
Graphics can be effectively be used to present data in ways other than tables and low cost
technology is available to produce high-quality diagrams and charts. However, these
graphics need to be used with care if they are to be effective, and much will depend on
the designer’s judgement and the requirements of the users as described by the analyst.
Page 60 of 111
INPUT DESIGN
When designing input, the objective is to ensure that the data, which will be processed by
the system, is collected and entered into the system efficiently, according to the specified
requirements, and with the minimum of errors. In discussion with the client, the design
will choose a method of input, which is cost effective and acceptable to the end users.
The process of input design, like output design, which was described earlier, consists of
four stages.
• Firstly, identify the inputs into the system, by listing the data flows on the required
logical data flow diagram, which cross the system boundary on their way in.
• Then determining the content of these inputs by inspecting the data dictionary.
• Next choosing an appropriate input device to change the user’s data into a form, this
can be read and processed by the computer system.
• And finally completing the detailed design work involved in specifying forms, input
screens and any other data collection documents.
The first two steps are linked together, and involve the designer in looking at the data
flow diagram for the required logical system, and the data dictionary. If the data
dictionary for the system were to be inspected, the contents of the data flow, which
correspond to these inputs, could be determined. For example, the data items, which
make up the input called new customer details, are:
Customer number, customer type, sales region, discount code, name address, and delivery
instructions, while new product details contains the following data: Product number,
description, manufacture, origin, inventory group, product class, dispatch unit, re-order
level, discount prices, vat code and VAT rate. In this way the contents of each input can
be confirmed, as can information about the source, volume and the frequency of the
input.
The next stage is then to choose the appropriate technology for introducing the data
contained in each of these inputs into the system. There are a wide variety of different
ways of entering data, and the choice of the appropriate method will depend on a number
of factors, the two most important of which can be summarised in the following
questions:
• Which method will be most suitable to the needs of the users who have to enter the
data? While a keyboard will be appropriate in many situations, it may not be
appropriate to a checkout operator in the supermarket, where speed and accuracy are
important.
• Which method will be most suitable for the format and volume of the data to be
entered? If an educational institution has a large of multiple choice answer sheets
completed during examinations, and wishes to put these results onto the system, then
an optical mark reader – which can read the input directly from the students answer
sheets – would be the most suitable.
Whichever method is chosen; it will include some or all of the following steps:
1. The initial recording of significant data by the user;
2. The transcription of data into an input document
Page 61 of 111
3. The conversion of data from a ‘human-readable’ into a ‘computer-readable’ form;
4. Verification of this data conversion to pick up any errors;
5. The entry of the checked data onto the computer system;
6. The validation of the data by the system to ensure it is logically correct;
7. The correction of any errors highlighted by the data validation program.
As passing through all these steps makes data entry a costly process, the key guideline for
the designer is to make the process as simple as possible. If this can be done in a way
which minimises the cost to the user, minimises the chance of data transcription errors
occurring and minimises the delay in entering the data onto the system, then the designer
will once again be building quality into the system.
While there are a large number of different input devices, they can be grouped according
to the way in which data is entered: either by keyboard transcription from clerical
documents, by direct input onto the computer system via a peripheral device, by direct
entry through intelligent terminals or by speech or body movement.
DIALOGUE DESIGN
For most of computer systems, the main contact with the system is through an on-screen
dialogue and their perception of how ‘friendly’ the system is will depend on the
characteristics of this dialogue. Ambiguities and difficulties in the dialogue cause
problems in training and operation and lead to systems under performing.
For example, it is important that developers use style guides to ensure that screens which
are part of the same system, but which are designed or programmed by different
individuals, have a consistent layout. This area of systems design is important for the
developer who, in seeking to design an effective dialogue, will be concerned to ensure
that the conversation between the system and the user flows freely. This depends on
understanding the characteristics and requirements of the users, as well as the type
hardware and operating system available, and on having an appreciation of the principle
of screen design and the different ways in which the dialogue can be structured.
Screen Design
The quality of the screen can be a direct impact on the performance of the users of the
system, and the designer needs to consider the format as well as the content of the screens
on which the dialogue, or interaction, between the user and the system is based.
Screen features:
Text – Must be easily readable.
- Choose appropriate font and size for the character.
- Using lower and upper case letters can improve readability, rather than the
approach sometimes adopted in screen design of using all upper case.
- Evenly spaced text, with an unjustified right margin, is easier to read than right
justified text, which has spaces of varying sizes between the words.
Page 62 of 111
- The use of concise phrases, familiar vocabulary and appropriate abbreviations
make it easier for the reader to understand the text.
- The most visible sections of the screen is the upper left-hand corner, and it is a
good idea to locate important messages in this area.
Highlighting – can be used to make parts of the text stand out from the rest. There
are a number of different ways of doing this. The text can be
In UPPER CASE
Underlined
In bold typeface
Enclosed in a box
Or in a shadowed box
Or it can be larger than the rest.
In addition, because the medium is a VDU screen, rather than paper, other techniques can
be used to highlight the important information. It can be made to flash, to be brighter than
the surrounding text, or reverse video can be used- creating an effect rather like a
photographic negative, with white text on a black background.
Colour – Being in a different colour to the rest or being enclosed in a coloured box can
highlight text. Background colours can be changed or a design convention can be used in
which different types of information are displayed in different colours. The consistent use
of colour on screens within the same system is important, and the designer must be wary
of using too many colours or creating lurid combinations as these will work against the
effectiveness of the screen design. In addition, the designer must also be aware of
avoiding colour combinations, which could cause problems for those users who are
colour-blind.
Graphics – can be used to good effect for displaying information, especially trends in
numerical data. They can be coloured, solid, three-dimension or animated, and the
designer must decide on what is appropriate to the purpose. Another use of graphics is as
an integral part of the structure of the dialogue known as graphical user interface (GUI).
A key feature of GUI design is the use of small pictures called icons, which are used to
represent entities such as files, documents and disks. An icon should communicate
exactly what it represents to the user without the need for accompanying text. Where they
are used, each icon should be easily distinguished from any others, and used consistently
to represent the same thing.
Animation – although this is little used in screen design, it can be a power technique for
attracting the attention of the user, because the eye is always drawn to a moving object; to
mark the position of an object, for example, a blinking cursor can be used; or to
communicate a message, a clock with a moving hand, or an hourglass with moving sand,
indicate to the user that they have to wait while some processing is carried out by the
machine.
Page 63 of 111
Dialogue types
There are a number of different approaches, which can be taken when designing the
conversation or dialogue between the user and the computer system. Essentially a
dialogue consists of user responding to a prompt from the computer by providing input.
This input is processed by the computer and a response is output to the screen, which in
turn may prompt the user for the next input.
Menus are widely used in screen design because they require minimal effort, and skill, on
the part of the user. This in turn reduces the training requirement when preparing to
individuals to use the system. A common approach is to structure the menus
hierarchically in a ‘nest’: selecting an option on the first menu takes a user to a second
menu from which another option is chosen, and so on. This allows the number of
alternatives on any one screen to be kept to a minimum.
In some applications a menu is permanently displayed in a bar across the top of the
screen from which other menus can be pulled down as required. This is known as a pull-
down menu.
Questions and answer: This type of dialogue involves the system prompting the user by
asking a question, and then carrying out the processing associated with the user’s answer.
The question usually requires one of a limited number of answers, e.g. yes or no, which
eliminates errors and reduces the amount of validation of answers required.
Page 64 of 111
• Form-filling this is particularly appropriate for the user who has to enter information
into the system from a paper input form, and as closely as possible to minimise the
risk of errors. This type of dialogue is also called a template. The areas in which data
has to be entered will usually be highlighted in some way to stand out from the
background text-using colour shading or graphics for example.
When data has been entered, the cursor moves to the next input area. Form-full is useful
when a large amount of similar information has to be entered quickly into the system.
• Common language. This type of dialogue can appear very ‘unfriendly’ to the
inexperienced user as the prompts are usually very limited, and response by the user
has to be syntactically correct in order to be accepted by the system. However, it is a
very fast and efficient dialogue for the experienced user and short commands or
abbreviated forms of these commands will initiate specific processing. There is a
great deal of freedom to move around the application, as the user rather than the
system is structuring and ordering the conversation. The designer should ensure that
there is a visible output on screen to show that the user’s input has been accepted by
the system and should endeavour to make error and help messages in such a dialogue
as meaningful as possible.
Example:
Type Exit to return to menu
Page 65 of 111
C:\>A: DIR
WIMP INTERFACES
This is an increasingly common interface used in many applications. The WIMP interface
is so called because it incorporates:
Page 66 of 111
• The height of the VDU screen should be adjusted according to the user’s typing
proficiency, and the needs of the task.
• For those with touch typing skills, or whose work is purely to screen without
referencing written material, the top of the screen should be level with the eyes,
should be angled approximately 15-20 degrees to the horizontal.
• Users who are trained touch typists, and switch between screen, keyboard and
reference material, should be as close as possible to 90 degrees from the line of sight.
• Contrasts and brightness should be set to produce a display, which is comfortable to
use, and should be adjusted to take account of varying light conditions during the day.
• The screen should be positioned to avoid glare from either direct sunlight or artificial
light. Where possible blind should be used to shield the screen.
DOCUMENTATION DESIGN
• The software developer – who will depend on the documentation from previous life
cycle stages to guide continued development and maintenance.
• The manager- who will use documents from past projects to plan and understand
current projects.
• The user – who will use learn how to use the software from the documentation.
(i) Documentation should be complete i.e. All known pertinent information should be
given or stated somewhere.
(ii) Documentation should be consistent. Inconsistency will destroy the readers’
confidence in the documentation. The biggest challenge is not the consistency in
the original documentation but maintaining consistency through all the changes
the product may undergo.
(iii) Documentation has to be pitched at the right level for its intended audience. A
training manual cannot demand as much from its readers as a design
documentation can. Hence, we have to identify the audience, determine its
characteristics, background, and needs and plan accordingly. We should use
appropriate level of formality, and appropriate vocabulary in our presentation.
(iv) We need to select the right approach in presenting information so that it will be
readily understood. This includes a choice of format: text, technical manual
(workbook) tutorial, video or audiotape, on-line help package etc. Illustrations
and tables are very important, since they organise and present large amounts of
material for quick comprehension. Adjunct material like indices, exercise,
appendices, and glossaries must also be considered.
Page 67 of 111
Introduction
Data only has value to the organisation when it is accurate and properly controlled.
Business process change frequently but the underlying data is relatively stable and unless
the core business of an organisation changes, the data it uses will remain unchanged. For
example, the processes needed to control a warehouse stock is stored and retrieved by
forklift truck to being fully automated. In the new system, the incoming goods are
identified to the system by barcodes, the system decides where to store the item and it
controls cranes and automated goods vehicles to transport items from and to locations.
The core data, the item number and locations, remain unchanged, even though the
processing has changed dramatically.
During the 1960s, little attention was paid to data analysis and data design. Because no
thought was given to the fact that has a right to exist on its own, separately from any
processing that used it data came to be stored in the only system on its own, separately
from any processing that used it, data came to be stored in the system only when a
process required it. This also resulted in each user holding their own customised version
of the data. This means an increase of different names, sizes and formats for the same
data item. One piece of data could be held many times in different files in different
formats.
With the introduction of structured methods and database techniques greater attention
was paid to data analysis: a method which considers in its own right, independent of
processing limitations or hardware and software constraints. It also ensures that there is
only version of data, and any duplication is clearly agreed and controlled.
The resulting data model provides a complete picture of the data used by the
organisation.
DATA NORMALIZATION
Page 68 of 111
these inputs, every item that appears is listed. The analyst must then identify how these
data items relate to each other.
Normalisation stages
• First Normal Form
• Second Normal Form
• Third Normal Form
Advantages of normalisation
• It is a formal technique with each stage of normalisation process eliminating a
particular type of undesirable dependency, as well as each stage of normalisation
eliminationg a certain type of redundancy.
• It highlights constraints and dependencies in the data and helps in understanding the
nature of the data
• The 3NF produces well designed databases which provide a high degree of
independence.
Disadvantages:
• Demands a thorough understanding of the entities and their relationships.
• It is a complex process, particularly if the entities are many.
File Organisation
The two general methods of file organisation are sequential and random access. Records
in sequential files must be read and written in the sequence in which they are physically
stored in the files; that is the user must always start at the beginning of the file and work
to the end. With sequential files, users cannot jump to the middle even if they are looking
for just a single record. Sequential files reside on either tape or disk and are used only I
batch environments.
Page 70 of 111
Random access files, on the other hand, allow the user to get any record on key without
first reading the records preceding it. Random files must reside on disk and are required
for online environments.
There are tow basic types of random access; direct access and indexed sequential.
Direct access files allow for the fastest retrieval of a single record but sometimes they
waste space on disks and do not allow for easy access of the records in sequential order.
Indexed sequential files, on the other hand, are slightly slower to access, but they do not
waste quite so much space and they do allow for sequential access.
The trends in the last few years has been towards random access files (just as the trend is
towards on-line processing), but there will always be some applications where sequential
files are appropriate, particularly those with a large volume of transactions and infrequent
updating. Payroll data, for instance, usually needs updating only once a week or a month,
in time to produce paychecks. It is rarely necessary to know how many hours an
employee has accumulated as of the middle of the week. Therefore, sequential files might
be adequate for a payroll system.
The ‘father-son method involves taking a file and producing a new version, this resulting
in having two generations of the file, the father and son generations. The method is more
secure than in-situ because if the system fails the old version of the file should be
unharmed. Three generations of the file; grandfather, father and son are often created
before the oldest version is destroyed and the storage space re-used.
• Frequency of file accessing for enquiry or updating (Hit rate). How many records in
one file will have to be accessed in one process? If the hit rate is high, batch
processing of a sequential file may be the most efficient design.
• Volatility How often will records need to be inserted, amended or deleted. Some files,
for example library files may rarely change. An indexed file copes with high volatility
Page 71 of 111
better than sequential files since these have to be constantly re-organised to bring
records to overflow areas back into sequence. An index file need only its index
updated when records are added to the file.
• Response time Online and real time systems require fast response times. Fast
processing of records can also be important in large batch systems because of the
sheer number of the records involved. Where fast responses or fast processing times
are required, the speed of access to records can be the dominant factor for the file
design and this usually means direct access methods with key transformation.
• The file expected file size.
DATABASE DESIGN
A database can be defined as a structured organisation of data in such a way that there is
minimum duplication to provide consistency of the data and also provide access for many
users, independently of the programs that are used.
Advantages of databases
• Avoidance of unnecessary duplication of data.
• Multipurpose data-data can be used for several purposes.
• Stores data for the organisation as a whole, not just for individual departments. The
database concept encourages management to regard data as a resource that must be
properly managed, just like any other resource. The installation of a database
encourages management to analyse data, relationships between data items and how
data is used in different applications.
• Consistency:- Because data is held only once, it is easier to ensure that it is up to date
so that no department in an organisation uses out of date data, or data that is different
from the data used in other departments.
Disadvantages
• Problems of data security and data privacy because data is accessible by many users.
Strict controls for access and sharing must be used.
• Since there is only one set of data, it is essential that data should be accurate and free
of corruption.
• Since data is held only once but its use is widespread, there are potential problems of
recovery of data in the event of systems failure.
• Costs of creating and maintaining the database.
• Complexity:- It requires expert knowledge, particularly of the capabilities of the
DBMS software, setting up and controlling the database.
Page 72 of 111
Database structures/models
There are three database models.
In a customer database, for example, the hierarchical model might be used to show
customers and customer orders. An extract from a parts department database might be
structured as follows:
Parts
The biggest drawback to files organised in this structure is that the user is limited in the
number of ways he or she can look for the records; the file organisation makes it much
easier to search for certain items in the file records than for others. In the example above,
in order to access an order record, it is necessary to specify the customer to which it
belongs, which is straightforward. However, if we were required to obtain a listing of all
customers who have ordered a particular part number, this would require a search of each
customer record, which is a long and tedious process.
Network model
Whereas a hierarchical structure allows a one –to many relationships between data items,
a network database is a database in which the logical structure allows many-to-many
relationships, as follows:
Page 73 of 111
P2: Pin 2mm P4: Pin N9: Nuts B6: Bolt
Relational model
A relational model organises data elements in a series of two-dimensional tables
consisting of rows and columns. A row represents a record, and columns represent fields,
or a part of the record. In a relational data structure, the structure of the file is
independent of the actual data. The relationships between different entity types have been
determined at the outset, and are not embodied in the record themselves. A relational
database thus does not have to navigate through other data before reading the required
data. The normalisation process helps eliminate redundancies where records in any table
(relation) are identified using a key field.
CUSTOMER table
B100 JAMES
B102 MARY
B200 SMITH
PRODUCT table
B6 Bolt
P2 Pin
2mm
P4 Pin
4mm
N9 Nuts
ORDER table
B100 P4 2
B100 N9 1
B102 P4 4
B102 P2 1
B200 N9 3
B200 B6 1
Page 74 of 111
3. Each row is unique.
4. The sequence of columns is insignificant.
5. The sequence of rows in insignificant.
6. Each column has a unique name.
• Decision trees
• Structured English
• Decision tables
Processes comprise of step-by-step procedures and decisions that are made as the process
progress.
Decision Trees
People will often have different ways of saying the same thing. This can create
difficulties in communication during system studies (analysts and manager may
misunderstand each other’s comments or forget to discuss all the details). Decision tree
are a method of describing decisions, while avoiding difficulties in communication.
A decision tree is a graphical documentation tool that represents conditions and their
resulting actions.
Characteristics
A decision tree is a diagram that presents the conditions and actions sequentially and thus
shows which conditions to consider first, second and so on. It is also a method of
showing the relationship of each condition and its permissible actions. The diagram
resembles the branches on a tree, hence the name.
The root of the tree, on the left of the diagram, is the starting point of the decision
sequence. The particular branch to be followed depends on the conditions that exist and
the decision to be made. Progression from left to right is the result of making a series of
decisions. Following each decision point is the next set of decisions to be considered. The
right side of the tree lists the actions to be taken, depending on the sequence of conditions
that is followed.
Decision trees are beneficial to analysts in two ways;
(i) The need to describe conditions and actions forces analysts to formally identify
the actual decisions that must be made. It becomes difficult for them to overlook
an intergral step in the decision process, whether it depends on quantitative or on-
quantitative variables.
(ii) Decision trees also force analysts to consider the sequence of decisions. The
analyst can subsequently determine which conditions are relevant and their order
for certain actions to be taken.
Page 75 of 111
Structured English
Sequence structure
A sequence structure is a single step or action included in a process. It does not depend
on the existence of any condition and when encountered, it will always be taken. For
example, in an Accounts Payable processing system, the following sequence of five steps
would apply.
The steps are carried out in the order in which they occur.
Decision structures
Decision structures occur when two or more actions can be taken, depending on the value
for a specific condition. One must assess the condition and then make the decision to take
the stated actions or sets of actions, for that condition. Once the determination of the
condition is made, the actions are unconditional.
Through the use of IF/THEN/ELSE phrases, the structure points out alternatives in the
decision process quite clearly. From the invoice authorised example;
If invoice is signed
If goods not accepted
Rejected invoice
End if
If valid purchase order was prepared
Page 76 of 111
End If
If invoice is properly priced
Else
Reject invoice
End If
Then
Log invoice
Prepare payment voucher
End If
Iteration structures
In routine operating activities, it is common to find that certain activities are repeated
while a condition exists or until a condition occurs. Iteration instructions permit analysts
to describe these cases.
Decision Tables
A decision table is a two-dimensional matrix with one horizontal row for each condition
and each action and one vertical column for each combination of value and resulting
actions
Page 77 of 111
• Each vertical column of a decision table is called a rule and each rule symbolises one
combination of value. If constructed properly, the decision table has a rule to cover
every possible combination.
Rules are made of selectors symbolised by Y(Yes), N(No) and – (for redundant or
irrelevant rules).
Example 1
A student who passes the examinations and completes the course work and project
satisfactorily is awarded a pass. If the course work and the project are unsatisfactory, the
student is asked to resubmit the unsatisfactory work, as long as the exams have been
passed. A student who fails the examination is deemed to have failed the whole course
unless both the course work and the project are satisfactory, in which case the student is
allowed to re-sit the examinations.
Reduced
1 2 3 4 5 6 7 8
Exams passed Y Y Y Y N N N N
Course passed Y Y N N Y Y N N
Project passed Y N Y N Y N Y N
Pass X
Resubmit Course X X
Work
Re-sit X
Fail X X X
Resubmit Project X X
Page 78 of 111
Example 2
Candidates are accepted for employment if their qualifications and reference are
satisfactory. If they pass the interview and the qualifications or reference (but not both)
are unsatisfactory, a job for probationary period is offered. In all other circumstances the
candidates application is rejected.
Eliminate Redundancy
1 2 3 4 5 6 7 8
Qualifications Y Y Y Y N N N N
Satisfactory
Reference satisfactory Y Y N N Y Y N N
Passed the interview Y Y Y N Y N Y N
Employ X
Employ on probation X X
Reject X X X X X
CASE TOOLS
Definition
A CASE (Computer Aided Software Engineering) tool is a software package that
supports the construction and maintenance of logical system specification model. They
are often designed to support the rules and interaction of model defined in a specific
methodology. More sophisticated CASE packages permit software prototyping and code
generation.
CASE techniques aim to automate this document production process by ensuring the
automation of some of the analysis and design operation.
Although these tools may not completely automate the process of analysis and design,
they are certainly an improvement over the old ‘pencil-paper’ method.
Analysts’ workbenches
These are software tools which perform several analysis tasks such as:
• Create design diagrams (eg. DFDs on screen)
This enables the production of high quality documentation that can be easily updated.
Maintenance of complex models such as DFD and E-R models can be made easy by the
use of diagramming facilities with the use of a mouse as in most graphic packages.
Page 79 of 111
CASE toolkits come with a bank of pre-designed symbols including those used in DFDs
and flowcharts. They also offer a simple word-processing facility to assist in the
production of the material such as system specification and other reports to be produced.
• Checking adherence to design and development standards.
A CASE tool will not allow for rules to be broken such as linking a data store within a
DFDS to an external entity.
• Consistencies and relationships are correct.
• They help generate input and output documentation
• Data dictionaries
They can create a logical data dictionary for the items identified. Entries will be made for
entities, data flows, data stores, processes, external entities and individual data items. The
dictionary can easily be maintained, checked for consistency, cross-referenced and
analysed. For example, it will be produced to produce a listing of all data flows where a
particular data item is used.
Programmers Workbenches
They provide similar features to ensure consistency of coding during the later stages of
the design cycle as follows:
• There is a code generator facility t automate the production of code in a high level
language, from say, Structured English.
• Diagnosis aids enable subroutines or modules to be tested independently of other
programs.
• A library of subroutines is also provided. These can be incorporated into programs.
CASE Advantages
• They make the construction of various analysis and design logical elements such as
DFDS, E-R models easy.
• Integration of the separate elements. For example, an analyst looking at a diagram can
pull up a dictionary definition for a piece of data without exiting the dictionary
screen. By pointing to a file symbol, the analyst can display the data model for that
file. Such integration allows the software to do additional rechecking, such as
notifying the analyst when a data flow diagram contains a piece of data that hasn’t yet
been defined in the dictionary.
• Streamline development of analysis documentation. CASE allows developers to use
graphics like data flow diagrams that were previously cumbersome to draw and
revise, particularly for large projects. Data dictionaries with thousands of entries,
which were also impossible to maintain manually, can be maintained and made
available to analysts.
• Allow easy maintenance of specifications, which in turn means the specifications will
be more reliably updated. Specifications that are up-to-date provide a documentation
trail for later system maintenance efforts.
• Enforce rigorous standards for all developers and all projects. In effect, everyone is
talking the same language, which makes communication between developers more
efficient.
• Check specification for errors, omission, and inconsistencies.
Page 80 of 111
• Provide everyone on the project team with easy access to the very latest update of the
project specifications.
• Encourage iterative refinement, since the specifications are easier to change. As a
result, a higher-quality system (i.e. one that has fewer defects and missed
requirements) that better meets the needs of the users is developed. This has a net
effect of increasing productivity by decreasing correction efforts.
CASE Disadvantages
• CASE products can be expensive.
• CASE is still in its infancy, and most practitioners are often in the position of being
pioneers. Because the technology is not yet fully evolved, CASE software is often
large, inflexible, and temperamental.
• Today’s CASE products do not yet provide a fully integrated development
environment. The user must often piece together different tools from different
vendors in order to serve all phases of the system development life cycle.
• Users often expect CASE to be overnight cure for system development problems, but
instead there is usually a long period of learning before the tools can be effectively
used. As a result, positive results may not show up on the organisation’s income
statement. It takes time to reap the benefits of CASE.
• The installation and implementation of a CASE product requires a great deal of
control and monitoring on the part of the management. If the proper training and
motivation are not provided for the practitioners, CASE may be used a little more
productively.
Analysts must have a mastery of structured analysis and design techniques if they are to
exploit CASE. If analysts are expected to learn these structures technique at the same
time they are learning CASE, all time and cost estimates for the project should be inflated
to allow for an extended learning period.
PROTOTYPING
The prototype is a working version of an information system or part of the system, but is
meant to be only a preliminary model. Once operational, the prototype will be further
refined until it conforms precisely to users’ requirements. For many applications, a
prototype will be extended and enhanced many times before a final design is accepted.
Once the design has been finalised, the prototype can be polished to a finished production
system.
-Building a prototype during the analysis and design phases can clarify the users’
requirements and verify that the finished system will meet those requirements. A
prototype also gives users the opportunity to see what they have asked.
-Prototyping is user centred, that is the user and the analyst work closely together as the
prototype evolves through a process of iteration, or incremental refinements.
Page 81 of 111
Steps in Prototyping
(a) Identify user’s basic requirements- The system designer (usually an IS specialist)
captures the users basic requirements.
(b) Develop a working prototype- The systems designer creates a working prototype
quickly, most likely using the 4GL, CASE tools, etc. The prototype may only perform
the most important functions of the proposed system or it may consist of the proposed
system with restricted files.
(c) Use the prototype- The user is encouraged to work with the system to determine how
well the prototype meets his or her needs and to make suggestions for improving the
prototype.
(d) Revise and enhance the prototype- The system builder notes all changes requested by
the user and refines the prototype accordingly.
Advantages of prototyping
a) It is only suited for applications that are oriented to simple data manipulation and
decision support. However, systems that are based on batch processing or that rely on
heavy calculations and complex procedural logic are generally unsuitable for the
prototyping process.
b) Rapid prototyping can gloss over essential steps in system development. Basic
systems analysis and requirements analysis cannot be short-circuited. The appeal of
an easily and rapidly developed prototype may encourage the development team to
move too quickly towards a working model without capturing even a basic set of
requirements.
c) The final steps to convert the prototype into a polished system may not be carried out.
Once finished, the prototype often becomes part of the system. If the prototype works
reasonably well, management may not see the need for reprogramming and redesign.
Some of these hastily constructed system may be difficult to maintain and support in
a regular production environment. Prototypes may not be very technically efficient to
accommodate large quantities of data or a large number of users in a production
environment.
d) Prototyped system still need to be documented and tested, but often these steps are
shortchanged. Because prototypes are constructed so effortlessly, managers may
assume that testing can be handles by users on their own and any further testing
requirements can handled later. Because the system is so easily changed,
documentation may not be kept up to date.
Page 82 of 111
information system is developed and reduces the amount of design, testing, installation
and maintenance work as well.
(ii) Where information systems resources for in-house development are in short
supply. With trained and experienced systems professionals in limited supply,
many companies do not have staff that is either available or qualified to undertake
extensive in-house development projects. Under such circumstances, packages
may be the only way to enable a system to be developed. Most companies also
lack a budget to develop all their systems in house and consequently, the most
effective development strategy is likely to involve use of an application package.
(iii) When desktop microcomputer applications are being developed for end users.
Data processing by computer creates extra problems for controls because of its special
characteristics, which are that:
(i) Large volumes of data are concentrated into files that are physically very small.
(ii) Large volumes of data are processed without human intervention, and so without
humans knowing what is going on. This places greater reliance on the accuracy of
programs and of data and data on files.
(iii) It is easy to lose data on files. Equipment can malfunction, data files can become
corrupt and store meaningless data, data can get lost when files are copied, and
data files are susceptible to loss though theft, flood or fire.
(iv) Unauthorised people can gain access to data on files, and read confidential data or
tamper with the data. This is a particular problem with on-line systems because
access to a computer program and master file can be from any remote terminal. It
is even possible for ‘hackers’ to use their home computers to gain access to the
files and programs of other systems.
(v) Information on a computer file can be changed without leaving any physical trace
of the change.
Risk to data
Page 83 of 111
The dangers associated with information storage on a magnetic medium include the
following.
(vi) Physical security; Tapes or disks can be stolen, mislaid or damaged, or destroyed
by fire, flood or vandalism.
(vii) Environmental security; Tapes and disks are susceptible to magnetic fields, dust
and extremes of temperature and humidity.
(ix) Processing the wrong file; Since data in magnetic form, and not visible, the
wrong file could be read, or a file could be overwritten when its data is still
needed.
Types of controls
(i) Administrative controls which are designed to ensure the smooth running
operation of the system.
(ii) System development controls, which are designed to ensure that any new system
does not present new risks to the environment.
(iii) Application controls are built into operations and ensure that processed data is
accurate and complete.
Administrative controls
These are controls over data and data security that are achieved by administrative
measures.
They include:
(xi) Controls over personnel;
(xii) The segregation of duties
(xiii) Physical security
(xiv) Access controls
(xv) Protection against viruses and hacking
(xvi) Good office practice
(xvii) Back up and standby facilities
Personnel
Controls related to personnel, which were developed before the advent of computers,
include;
Page 84 of 111
(i) Job rotation, so that employees change at random interval, thus making it
uncertain that an individual will be able to set up a breach of security in the time
available.
(ii) Enforced vacations.
(iii) Access to information granted, not on the basis of rank in the management
hierarchy or precedent but on a need-to-know basis.
Duties may be segregated by ensuring that no member of staff on more than one of:
(i) Data capture and entry
(ii) Computer operations
(iii) Systems analysis and programming
An organisation chart and manuals which sets out clearly who does what, and what
practices are forbidden, should be forbidden.
Data processing staff should be properly trained in security and control measures and the
need for them.
Physical security
Physical security comprises two sorts of controls:
(i) Protection against disasters such as fire and floods
(ii) Protection against intruders gaining physical access to the system.
Fire is the most serious hazard to computer system. The destruction of data can be even
more costly than the destruction of hardware. A proper file safety plan is an essential
feature of security procedures, in order to prevent fires, detect and put out fires. Fire
safety includes:
Page 85 of 111
(i) Personnel (security guards)
(ii) Mechanical devices (such as keys, whose issue is recorded)
(iii) Electronic identification (such as card-swipe systems, where cards are passed
though readers).
Access controls
Access controls are controls designed to prevent unauthorised access to data files or
programs. Access controls which can be built into system’s software are:
(a) Passwords
(b) Encryption and authentication
Passwords
Passwords can be applied to data files, program files and parts of a program. The
computer does not allow a user access to the relevant facilities until he or she has typed
the appropriate password.
(a) One password may be required to read a file and another to write new data.
(b) The terminal user can be restricted to the use of certain files and programs.
Many password systems come with preset passwords. It is essential that there be changes
if the system is to be at all secure, since such common passwords may become widely
known to people in the industry.
Password ought to be effective in keeping out unauthorised users, but they are by no
means foolproof.
Page 86 of 111
(ii) Do not write the password down.
(iii) Change your password regularly.
(iv) Change and use your password discreetly.
(v) Do not use an obvious password. (Such as your name)
(vi) Change your password if you suspect that anyone else knows it.
Encryption is the only secure way to prevent eavesdropping (since eavesdroppers can
get round password controls, by tapping the line or by experimenting with various
likely passwords.) Encryption involves scrambling the data at on end of the line,
transmitting the scrambled data and unscrambling it at the receiver’s end of the line.
• Hacking
A hacker is a person who attempts to invade the privacy of a system. Hackers are
normally skilled programmers, and have been known to find out passwords with ease.
The fact that a lot of information can be transmitted over the public telephone
network has made it to trace individual hackers, who can therefore make repeated
attempts to invade systems. Hackers have in the past mainly been concerned to copy
information, but a recent trend has been their desire to corrupt it.
• Viruses
Computer viruses are currently the cause of much concern. A virus is a piece of
software which infects programs and data and which replicates itself. There are a
number of types of viruses.
A Trojan is a program that while visibility performing one function, secretly carries
out another. For example, a program could be running a computer game, while
simultaneously destroying a data file or program.
A logic bomb is a piece of code triggered by certain events. A program will behave
normally until a certain event occurs, for example disk utilisation reaches a certain
percentage. A logic bomb, by responding to such conditions, maximises damage, for
Page 87 of 111
example it will be triggered when a disk is nearly full or when a large number of
users is using the system.
A trap door is not itself a virus, but it is an undocumented entry point into a computer
system. It may not be found in design specifications, but may be put in by software
developers to enable them bypass access controls while working on a new piece of
software. Because it may not be documented, it may be forgotten and used at a later
date to insert a virus.
Viruses can spread via disks, but have been known to copy themselves over whole
networks.
Page 88 of 111
Standby hardware facilities
Hardware duplication will permit a system to function despite a hardware breakdown.
The provision for backup computers is costly, particularly where these systems have no
other function. Many organisations will use several smaller computer system and find
that a significant level of protection against system faults can be provided by shifting
operations to one of the systems still functioning. Where a organisation has only one
system to rely upon, this ready recourse to a back up facility is unavailable. In these
instances, one response would be to negotiate a maintenance contract which provides for
back up facilities.
(b) To ensure that each system under development has clear, specified objectives.
(c) To control the scheduling of development work. This can be achieved through
techniques such as critical path analysis.
(d) To ensure that suitable operational and administrative and controls are built into the
system design when it is being developed.
(e) To ensure that users acquire an understanding of the new system. The handover of the
computer system from the hardware and software experts to non technical staff must
be done in such a way that the computer users are able to learn as much about their
system as they need to know. Training of staff will be necessary, but there should also
be full, clear and non-technical documentation of the system.
(g) To ensure that systems and programs are maintained when the system becomes
operational.
(h) To ensure that proper and complete documentation of the system is created and
maintained.
Many of these controls will be provided by the systems development methodology used.
Controls over amendments to the system design is needed. Once development has started,
it is all too easy for the system designer or the user department managers to think of new
Page 89 of 111
features to add to the system or improvements that can be made, with the result that
amendments get written into the system as development progresses. Some amendments
may be desirable; others may not be worthwhile.
Controls should be exercised over amendments so that if any amendments are proposed
which were not included in the system specification, they must be authorised at a suitable
managerial level. The authorisation and details of the amendment should be included in
the amendments section of the system specification.
(a) Full planning of the file conversion, including staff to be used, records to be
converted (possibly via data preparation), controls to be set up and the date of
conversion.
(b) The establishment of a control group to follow up errors which may occur during the
conversion.
(c) Printing out master files after conversion and manually checking them back to the
original records.
(d) The reconciliation of accounting records to those kept under the old system.
(e) Division of responsibility among the conversion staff (additional staff may have to be
brought in to help with the conversion).
(f) Testing of the new master file using the test data and the control and documentation
of any changes necessary.
Documentation is needed for system and program specifications, and also for operator
instructions. The existence of standards for documentation:
(a) Establishers the need to document a system:
(b) Provides a standard format for document the system, which helps to ensure that
nothing is left out of the specification:
(c) Gives the people operating a system somewhere to look up and learn the system’s
operating requirements:
Page 90 of 111
Usefulness of documentation standards
• Communication of information about the system
People leave their job from time to time or are absent for one reason or another. Unless a
system is well documented in a standard way, or has been designed according to a
standard procedure, it might be difficult for a person’s stand-in or replacement to pickup
the job where his predecessors left out.
• Standards help people to learn the system. They are particularly helpful for staff
moving from one job to another because they will have some familiarity with the
format of the documentation standards e.g. if a computer operator moves from his job
in A Ltd to a new job in the computer center for B Ltd, he will be able to learn his
new job partly by referring to B LTD’s standard for computer operations. These
standards will be similar in format to the ones used in A Ltd and so the operator will
know how and where to look up information that he needs to know.
Documentation for a system includes user manuals, hardware and operating software
manuals System specification and program documentation. Documentation is a feature
for most systems analysis and designs methodologies.
Data processing standards should ensure that all the staff involved in the staff in the
computer system has proper instructions and that these have been fully documented. This
means that there must be:
(c) File library instructions, specifying how files should be labelled, safeguarded, issued
and if necessary, reconstructed.
Page 91 of 111
The system specification is a complete description of the whole system and must be kept
up to date as part of the system are changed or added to. Many of the problems in
computer installations because of inadequate documentation and controls must be set up
to ensure the updating procedures are always carried out.
Program specification
Program specifications or program documentation describe programs using charts, full
listings of the programs and details of test data and results.
(a) Systems set-up procedures. Including details for each application of the necessary file
handling and stationery requirements.
(b) Security procedures. Particular stress should place on the need to check that proper
authorisation have been given for processing operations and the need to restrict use of
the system to authorised operators.
(c) Reconstruction procedures. Precise instructions should be given for such matters as
file dumping and also recovery procedures to be adopted in the even of a systems
failure.
(d) System messages. A listing of all messages likely to appear on operators’ screen
should be given together with an indication of the responses, which they should
evoke.
(e) Operating systems manual. These are manuals that describe an operating system.
User manuals
User manuals or users documentation explain to users how to run a system, but do not
give unnecessary technical details such as program listings. Matters to be dealt with
include:
Page 92 of 111
(a) Acceptance testing: responsibilities for the preparation of test data and subsequently
checking the results.
(b) Input: responsibilities and procedures for the preparation of input including
requirements for the establishment of batch control total and for authorisation.
(c) Error reports; full explanation of the nature and form of error reports (such as reports
of items rejected by computer checks) and instructions as to the necessary action to be
taken.
(d) Master file amendment procedures: full explanations of the authorisation and
documentation required for master file amendments.
(e) Output: what is produced, what form it takes and what should be done with it.
Application controls
Errors in data processing can easily occur. Application controls are intended to detect
errors and ensure that they are corrected before proceeds further.
Input data can get lost, or it might contain errors. Human error is the greatest weakness in
computer systems. The extensiveness of the input controls will depend on the method of
processing input data (for example keyboard input or OCR document input) and the cost
of making an input error. If the consequence of input errors would be costly, the system
should include more extensive input controls than if the cost of input errors were
insignificant.
Data capture
Mistakes include:
(a) Writing an incorrect figure, such as 1243 pounds instead of swapping 1234 pounds:
swapping figures around by mistakes is referred to as a transposition error:
(b) Spelling mistakes, such as getting a customer’s name wrong:
(c) Measuring mistakes, such as timekeeper writing down an incorrect time for job
because he read his watch incorrectly.
Page 93 of 111
(d) Classifying mistakes such a cost accountant recording a direct labour cost as an
overhead item or an expenditure in administration as a production cost.
Error in data capture are difficult to spot once they have been made, because they are
often error on the source document. Checking can reduce them. One person’s work might
provide a check on the accuracy of another’s. For example, getting another person to add
up to the total amount of invoices received that day, from the invoices themselves could
check the recording of suppliers’ invoices. This total could then be checked against the
total for invoices recorded.
Another way of dealing with errors in data capture is to reduce the likelihood of error
arising in the first place by including as much pre-printed information on the data
recording documents as possible and by giving clear instructions about how the
documents should be filled in.
The use of turnaround documents and OCR, MICR, bar coding or in some applications
plastic cards with magnetic stripes containing some of the input data reduces the need for
manually prepared input data, and so reduces data capture errors.
Transcription
Transcription errors occur when data is copied from one form to another. For example, a
person might jot down some data on a piece of scrap paper, and then copy it incorrectly
onto a formal document later on.
Data preparation errors occur when the original capture data has to be transcripted into a
form that the computer can read such as a magnetic tape or magnetic disk. Errors arise
because the original data can be copied wrongly in the machine – readable form. These
errors are sometimes referred to as data conversion errors.
If input data must be prepared manually, controls can be applied to minimise the number
of errors.
(a) Staff who prepare data for input should be well trained and properly supervised.
(b) Data input documents should be in a format which helps the person preparing the data
to fill them properly.
(c) When data is input by keyboard the screen should be formatted so as to help the
keyboard operator to input the correct data. User-friendly software packages might
provide on screen prompts and formatted for input data.
If data must be converted from one form to another for input, for example from a paper
document onto disk the data could be keyed to check for the copying errors. However,
this is expensive.
The staff that prepares the data should be encouraged to look for errors.
Page 94 of 111
(a) If input is done by keyboard the input data will be shown on the VDU screen and a
visual check on the data can be made.
The input record will often have a key field identification code. For example, a sales
ledger file will consist of customer records, which each customer having a code would be
part of input data and the program might search for the customer record on the sales
ledger file, and display it on the VDU screen. The input operator could then check
visually that the correct customer record is being processed.
(b) If input is done in batches, the program might produce a listing of the input data,
which could be checked for accuracy. Printed listings of input data also provide an
audit trail in computerised accounting systems so that internal and external auditors
can follow transactions through the system later.
Data transmission
Errors in transmitting data involve the loss or corruption of data, which is sent to the
computer, by post, courier or telecommunications link from a remote terminal.
When data is input from a terminal user should be able to check that the data has been
input fully and accurately by obtaining a printout back from the computer of all accepted
data.
When data input is batched and physically dispatched to a computer center processing,
batch control checks can be applied to ensure that all the data that has been dispatched is
safely received at the computer center. These checks involve:
(a) The user department giving each batch a unique identification number.
(b) The identification numbers of all batches being written on a batch control document,
by the user department supervisor. This document will be sent to the computer center,
with a copy being retained by the user.
(c) The data control clerks in the computer center checking that the batches that are
received tally with the numbers on the batch control document.
Processing
Errors might occur or come to light during data processing, for three broad reasons.
(a) It may become apparent during processing, when it would not necessarily have been
apparent at the data capture stage, that there is something wrong with the transaction
data. An attempt should be made to locate these errors as soon as possible, to prevent
the computer from acting on invalid data. A data validation (or data vet) program is
used to check the input data for errors that can be spotted by computer logic.
(b) It may become apparent during processing that there is something wrong with the
master file record. Example would be:
Page 95 of 111
(i) Trying to record an invoice sent to customer number 234, when no such customer
account has been opened.
(ii) Trying to delete employees number 678 from the payroll when there is no such
employee in the payroll records.
(iii)Trying to open a new account for suppliers number 372 when there is already an
account for that supplier.
These are referred to as errors because they come to light when the master file is updated.
(c) There may be a programming error i.e. a flaw in the logic of computer program.
Validation checks
Some check on the validity of input data can be written into the system’s programs.
These data validation checks (or data vet checks) might be performed by a separate data
validation program in a batch processing system. Alternatively, any program can
incorporate validation checks on input data for example on data keyed from a terminal
into an on-line system.
Data validation
The data validation program or program which incorporate data validation routines, will
be the first program in each batch processing application. The program attempts to find
errors in the input record or batch to prevent them any further.
The checks, which can be made, are logical checks, which prevent some of the worst
types of error form getting through to be processed. Data validation does not provide a
comprehensive error check, however and some error on source document are likely to go
undetected. This emphasises the need for control over source document creation.
The main types of data validation checks are outlined below. Note that the same type of
check can be made on different fields of a record and not all types of check need appear
in a data validation program. However, a single program might carry out dozens of
validation checks on different records and fields.
(a) Range checks are designed to ensure that the data in a certain field lies within
predetermined limits. For example, in wages application, the program may contain
instructions to reject any clock card with ‘hour worked’ outside from the range from
20 to 80 hours and to print out a special report (for checking) on any clock card with
hours worked outside the range from 35 to 60 hours.
(b) Limit checks sometimes called credibility or reasonable checks are very similar to
range checks, but check that data is not below a certain value. In the previous
example the check of hours worked might be that the value in the record field does
not exceed 80 with a rage check, there is an upper bound but not both.
Page 96 of 111
(c) Existence checks are checks on record field to ensure that to the data is valid for that
field. For example:
(ii) Check that the stock code exists by looking up the stock code number of the record in
reference file.
(d) Format checks (picture checks) check that the record has the required data fields and
that each data field has data in the correct format. For example,
i) Check that the format is all numeric 9999 (here, four figures).
ii) Check that the format is all alphabetical AAAAA (here, five letters).
iii) Check that format is alphanumeric A999 (here, one letter followed by figures).
(e) Consistency checks check that the data in one field is consistent with data in other
field. For example, in a payroll system there might be a check that if the employee is
a Grade C worker, he or she belongs department 5, 6 or 9.
(f) Sequence checks check that records and batches are processed in the correct
sequence.
(i) A check can be made to ensure that all records have been processed. For example,
if a weekly processing run must include one record for each of the five working
days of the week, a completeness check can ensure that there are five input
records.
(ii) Completeness checks on individual fields would check that the item of data has
not been omitted from an input record.
(h) Check digits are numbers (or perhaps letters) added to a code to give it some special
mathematical property, which can be checked by the computer.
(i) Batch total checks. In a batch processing system, the number and/ or the total value of
the record processed by the computer from each batch, including rejected records,
should reconcile with the control total(s) in the batch control slip, which will also
have been input to the program.
When validation checks identify an error, there are a number of possible outcomes.
(a) The record concerned will probably be rejected and processed no further with perhaps
a message on screen. Rejection reports may be printed out at some stage during
processing.
(b) The record concerned may not be rejected, but an exception report might still be
output or the operator advised in some way on screen. This may happen, for example,
where a range or limit check is not satisfied. Just because a record is not within pre-
Page 97 of 111
set limits does not automatically mean that it is incorrect. If it is valid, then not
processing it would be a waste of time. However, administrative controls must ensure
that all exception reports are followed up.
(c) If an error is revealed by batch controls, the whole batch must be checked.
Output controls
There should be controls over outputs from computer processing.
(a) In a batch processing system, where data is batched and sent off to a computer center
there should be a check to make sure that the batches that were sent off have been
processed and returned.
(b) All input records that have been rejected by data validation checks and master file
update checks must be looked at to find out the reasons. Correct data should then be
prepared for re-input. Some errors might need immediate correction, such as those on
input records, which have been, rejected by data validation checks in a payroll
program for preparing salary payments to staff.
(c) Output should be correctly distributed and a log should be kept of the distributions
that have been made. In a computer center, this is the responsibility of the data
control staff. In an office, someone has to be responsible for dealing with output from
the printer.
(d) Output onto magnetic files should be properly labelled and stored.
File controls
Controls can be applied to ensure that:
(a) The correct files are used for processing.
(b) Data is not lost or corrupted
(c) If data is lost or corrupted, then it can be recreated.
(d) Unauthorised access to data is prevented.
In a large computer center, the administrative responsibility for the physical security
should be assigned to a member of staff.
Page 98 of 111
Checkpoints and recovery procedures
A checkpoint or restart program is a utility that intervenes at certain point (checkpoints)
during the running of a program and dumps the entire content of memory onto a storage
device.
Should anything turn out to be wrong with the running of the application program the
application program can be taken back to the checkpoint before the error occurred and
restarted with conditions exactly as they were before.
Control totals
A control total could be:
(a) The number of record on a file
(b) The total of the value of a particular field in all the records on a file for example the
total of debts outstanding in all the customer records on a sales ledger file.
(d) A harsh total. This is a total that has no meaning except as a total check; for example,
the total of customer account numbers.
Control totals are established into two different ways, for example by adding up the
account number after the most recent run, by taking the total after the previous run and
adjusting it for new account for accounts closed. Any different between the totals can be
investigated.
Database controls
Databases present a particular problem for computer security. Databases can often be
accessed by large numbers of people, and also there is a risk of alteration, unauthorised
disclosure or fraud.
Page 99 of 111
PROGRAM DESIGN
A ‘program’ has many synonyms: process, module, unit, routine, subroutine, macro, etc.
All of these are lines of code with a beginning and an end, they serve one purpose, such
as validate customer number, and have a well defined interface with the rest of the
system.
INTRODUCTION
Research has shown that 79% of organisations are currently performing post
implementation evaluation of some or most of their installed CBIS. It has been observed
that post implementation evaluation is performed only on a small fraction of the system
developed.
Research findings reveal that much of evaluation is performed and managed by the
members of the system development team. These are the people who have the most say in
determining evaluation criteria and evaluation methodology. Since the design ideals and
the values of the developers are instrumental in shaping the system design and the
systems development process, it is unlikely that an evaluation managed and performed by
the team will discover any basic flows in the process or the product design.
Evaluation of the system as they are developed and implemented may take place at the
completion of various stages of the SDLC. Formative evaluation produces information
that is fed back during development to help improve the product under development. It
serves the needs of those who are involved in the development process.
What is evaluated?
The criteria evaluated include:
(i) Accuracy of information
(ii) Timeliness and currency of information
(iii) Users satisfaction
(iv) Attitudes towards the system
(v) Internal controls
(vi) Projects schedule compliance
Testing
During the programming stage, each programmer or programming team will perform
their own program testing to the specifications laid out by the designers. The completed
programs are then passed to the designer for further testing, who will examine them and
approve their interfaces with the rest of the system.
After the required amendments are coded by the programmer, the programs and system
must be retested. This is because fixing of a fault can be a source of another fault in a
program.
Some timing aspects of the system can also be clarified during testing e.g.
Response times e.g. retrieval speed of a record
Processing time
Output schedules.
Optimisation
What if the system fails its acceptance test because it is too slow? What if, for
instance, it has a five-second-response time on a critical function for which a one
second response is required?
Prior to the testing stage, we would have had no reason to be concerned with the
efficiency of the program unless we were working with a system in which speed was
a requirement. After all, for a standard business application, it is futile to worry about
efficiency when we have not yet made sure that the system will even work. We
should wait until the system is complete, find the places where it is too slow, and then
perform optimisation, modifying it so that it is faster in those places where more
speed is required.
We try to optimise the parts of the system in which the change will give us the
greatest benefits. Maybe we have determined that optimising one small subroutine
that is used repeatedly within a slow program will speed up the entire program
considerably. Conversely, changing a statement that is executed only once will have
no appreciable effect.
Optimisation Techniques.
There are many ways to optimise a system, including the following:
• Acquire improved hardware in order to improve system performance. This might
be a cost-effective solution in that the hardware might be less expensive than the
cost of paying programmers to optimise the code.
• Use an optimising compiler
• Record in assembler language
• Improve input and output speed (Traditionally among the slowest of computer
task) by changing file access methods, increasing buffer and block size to
minimise accesses, or eliminating unnecessary accesses.
• Eliminate subroutine calls by replacing them with macros.
• Curtail the use of fourth –generation languages.
• Improve the algorithm of the module.
• Denormalise files. That is, combine files that are often accessed together, with
that access happening frequently.
If the analyst decide that the software needs optimisation, the organisation’s very best
programmers should be given the assignment, because optimisation is an extremely
delicate task. It is also the programmers, not the analysts, who should decide what is
the best way to attack the problem, although the analysts should retain the right to
veto any methods that have been shown to be especially difficult to maintain. In the
process of optimising a system, programmers may reduce its ease of maintainability.
If a COBOL routine is recorded in assembly language, for example, that routine will
become harder for the average programmer to maintain. It is for such reason that we
optimise only when we are forced to do so, and even then we try to limit the changes
to only those that are necessary.
File Conversion
The movement of data from one format to another may lead to both programming and
management tasks. If the files are currently held on a computer system, then it should
be possible to move the data from the present implementation to the target hardware
and software. However, a thorough investigation should be done on cost and
compatibility. Some routines may need to be written to modify the data after
conversion.
The task of organising the creation of files must be approached carefully. It may
require extra clerical resources. File conversion creates important technical and
operational requirements which have to be planned for by the designer.
Documentation
Documentation is a constant task in system development. The documentation during
system analysis and design prompts for action, not just a record of action.
b) User Documentation
- Reference documents rather than learning documents.
- Reflects the expertise and vocabulary of the variety of users involved in the
system.
- It should concentrate on the issues that concern users the most i.e. functions and
errors.
c) Operations Documentation
- Responsible for the day-to-day running of the system.
- It teaches the normal operating procedures and how to respond to errors.
Training
- It covers the retraining of current staff and the recruitment of new personnel. The
latter involves job specifications, advertising, salary advice and interviewing.
- For training to be effective, it must be clear what it is trying to achieve. The
training objective suggests ways of delivering that training e.g. lectures, tutorials,
case studies, practice etc.
Implementation Strategies
There are four possible strategies available.
i) Parallel running
- Old and new system are run simultaneously for an agreed period of time and
results from the two systems are compared. Once the user has complete
confidence in the new system, the old system is abandoned.
Disadvantages
- Large administrative overhead – double work
- Time consuming
Advantages
- Security – fall back
ii) Pilot running
Two possible exist.
a) Retrospective parallel running – Uses historical data and the output procedure is
compared with the known results.
iv) Direct changeover – Implement the new system completely and withdraw
without any sort of parallel running at all. It demands thorough testing and well
planned file creation and training strategies.
Advantages
- Quick and most complete.
Applicable where:
- There is little similarity between the old and the replacement system(s), cross
checking not possible.
- Cost of parallel running is so prohibitive that is cheaper to pay for the mistakes of
a direct changeover.
v) Phased changeover
Takes 2 possible forms
a) Where the organisation is divided into various divisions and the system is
implemented in phases.
b) Where the information system is divided into components and the components are
installed in stages.
Applicable where:
- Large projects
- Where distinct parts of the system are geographically dispersed.
INTRODUCTION
Research has shown that 79% or organizations are currently performing post
implementation evaluation of some or most of their installed CBIS. It has been observed
that post implementation evaluation is performed only on a small fraction of the systems
development.
Research findings reveal that much of evaluation is performed and managed by the
members of the systems development team. These are the people who have the most say
in determining evaluation criteria and evaluation methodology. Since the design ideals
and the values of the developers are instrumental in shaping the system design and the
system development team will discover any basic flows in the process or the product
design.
Evaluation of the systems as they are developed and implemented may take place at the
completion of various stages of the SDLC. Formative evaluation produces information
that is fed back during development to help improve the product under development. It
serves the needs of those who are involved in the development process.
What is evaluation?