Académique Documents
Professionnel Documents
Culture Documents
TABLE OF CONTENTS
OBJECTIVES ..................................................................................................................................... 18
By the end of this chapter you should be able to: .................................................................... 18
Discuss the objectives of IS development .................................................................................. 18
Identify the components of a business IS strategy ................................................................... 18
Identify the tasks involved in developing a business IS strategy ............................................ 18
Identify the competitive strategies used with information systems ........................................ 18
INTRODUCTION............................................................................................................................... 18
BUSINESS ANALYSIS ...................................................................................................................... 18
Levels of understanding ................................................................................................................. 18
Linkage of information systems to business objectives ............................................................... 18
STRATEGIC PLANNING................................................................................................................. 19
Developing A Business/Is Strategy .................................................................................................... 19
Investigating the Business Strategy ............................................................................................... 19
Components of a business strategy ................................................................................................ 19
Vision.................................................................................................................................................... 19
Mission ................................................................................................................................................. 19
Documenting business processes ................................................................................................... 21
Documenting the external business environment ........................................................................ 21
Examining and documenting the current information system provision .................................. 21
Determining the gap between business strategy and IT provision ............................................. 21
COMPETITIVE STRATEGIES USED WITH INFORMATION SYSTEMS......................... 22
4
Systems Analysis and Design Study Guide
OBJECTIVES
Define an information System and name the types of information systems (IS). applications
Identify different types of stakeholders who use or develop IS.
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 ad people and requires orderly management.
The two main types of systems are business systems and information systems.
However, the subsystems must be managed in an orderly fashion so as to accomplish the company‘s
goal/mission.
An information system exists only to serve the business system of which it is a component. It keeps
records and maintains the various facts and figures needed to run the business.
Information systems produce the information required by managers to make decisions about the firm
and therefore must satisfy the information needs so that accurate and timely decisions can be made.
5
Systems Analysis and Design Study Guide
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.
An information system consists of data, people, procedures and machinery (including, but not limited to
computers) as its building blocks.
Because information is critical, we need to be concerned about its function, management and
maintenance.
2
Systems Analysis and Design Study Guide
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.
- Information is derived entirely from 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
levels and reorder previously set amounts for items that have fallen below the reorder point. Executing
an operational level decision gives results that have a high degree of certainty
- The decisions have an immediate but short-term effect on the firm.
Tactical management
This is the middle level management. Managers at this level are concerned with how best to allocate and
control the firm‘s resources. The decisions are meant to implement the goals that the strategic
management has set, for example what credit should we give to each class of customers? Which supplier
should be our main source of raw materials? The decisions made at this level are not as routine and
structured as operational decisions.
The information required to make such decisions is derived from a more restricted range of sources
(though internal) and is relevant to both the short and the intermediate term. The information is also
relatively summarized. The information is also largely quantitative.
Strategic management
It is concerned with setting long-term goals of the firm and therefore the decisions will provide
guidelines on which the firm will run. For example, which strategy do we follow in competing against
other firms? Strategic decisions are highly complex and unstructured. They have a high degree of
uncertainty and as such, demand the most experience and a good sense of judgment on the part of the
managers.
The decisions made here have a long-term impact on the firm and it is difficult to reverse the impact of a
strategic decision. The decisions are directed towards such issues as:
(i) Strategic planning e.g. how the firm‘s growth should be financed and which markets should
be tackled first.
(ii) Allocation of scarce resources.
(iii) Policy formulation.
3
Systems Analysis and Design Study Guide
The information to make such decisions is derived from internal and external sources and is highly
summarized. The information may be prepared on demand or ad-hoc basis. It is both quantitative and
qualitative.
Expert Systems
They are used to provide specialist knowledge to decision makers; Used when decisions requiring
scarce expertise must be made. They use a knowledge base, decision rules (inference engine), a
knowledge acquisition program and an interface for user dialogue. The information produced includes
decisions and recommendations.
They are capable of making non-subjective decisions.
They can be used by senior managers, specialists and non-expert decision makers.
Systems Analysis and Design refers to one aspect of the process of creating or modifying an information
system in order to meet the needs and the goals of the given business system.
When a business decides that it has outgrown its current information system, it goes through the process
of analysis and design as it attempts to remedy the problem.
Analysis is the phase in which the requirements of a new information system are identified. It is a
process of gathering and interpreting facts, diagnosing problems and using the information to
recommend improvements to the system.
Design is the phase in which those requirements are used to create blueprints, or actual plans for the new
system. (The word system in this case refers to both business and information systems, since neither can
exist without the other).
Systems Analysis and Design is therefore a process of planning a new business system or one to replace
or complement an existing one.
However, before this planning can be done, a thorough understanding of the old system is required in
order to determine how best computers can be used to make operations more effective.
Analysis specifies what the system should do while design states how to accomplish the objectives.
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.
5
Systems Analysis and Design Study Guide
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 severe constraint on an organisation wishing to change
its systems 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.
6
Systems Analysis and Design Study Guide
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.
7
Systems Analysis and Design Study Guide
CASE tools are becoming more widely used in systems developments and some of the structured
methods become very difficult to use without some form of computerized support. The development of
CASE tools has not quite kept up with the development of the structured methods themselves.
8
Systems Analysis and Design Study Guide
USERS DEVELOPERS
TORs, Information, Decisions
FEASIBILITY
TERMS OF
STUDY
REFERENCE
REVIEW OPTIONS
Questions, Options
FEASIBILITY
REPORT
Information, Decisions
REQUIRMENT
ASSIST/CHECK ANALYSIS
ANALYSIS
SELECT OPTION
Questions, Options
SELECTED
BUSINESS
SYSTEM
OPTIONS
Questions
ASSIST/CHECK
SPECIFICATION REQUIREMENT
SPECIFICATION
Information, Decisions
REQUIREMENT
SPECIFICATION
Questions, Options
CHECK
LOGICAL
LOGICAL
DESIGN
DESIGN
Information, Decisions
SELECTED LOGICAL
TECHNICAL DESIGN
SYSTEM
OPTIONS
Designs
CHECK PHYSICAL
PHYSICAL DESIGN
DESIGN
Review responses
PHYSICAL
DESIGN
To program specifications,
coding, etc
9
Systems Analysis and Design Study Guide
(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) Introduce 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, periodic review will be required
and amendments done on the system when circumstances demand.
(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
10
Systems Analysis and Design Study Guide
deal of creativity. Without organisation, the analyst can easily become overwhelmed by the scope and
details of the problem. Without creativity, the analyst may be tempted to solve new problems with the
same old solutions.
(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 routine will be to maintain in future, must convince the
programmer that perhaps in this case, programming efficiency is not the primary concern.
(b) It is often difficult to choose the appropriate analysis and design tool.
Analysis and design involves choosing among the variety of tools available to the analyst. No single tool
is perfect for all projects. Each project has a different personality and needs to be tackled differently.
Therefore, it is up to the analyst to know what tools are available and choose among them intelligently .
(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.
Analysts 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 organisation 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 making a fool of herself, etc. Most people tend to prefer the status quo; its
far less threatening than something new and untried.
11
Systems Analysis and Design Study Guide
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 systems development life cycle is a recognized 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 realize that an information system is
needed for new business or that an information system for an existing business no longer reflects the
organization‘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 differences between the business needs and what the information system can do are sufficiently
serious, management may decide to call in a systems analyst to examine the problem in depth.
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 restrict (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.
12
Systems Analysis and Design Study Guide
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 organization‘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 issues 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 opinion?.
- 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.
Note: It is impossible to deliver exact estimates in a feasibility study, since the system has not been fully
specified and designed. After the estimates are prepared, the analyst must correlate the costs with the
benefits. Cost-benefit analysis is a procedure for evaluating costs to see if they are justified by the
benefits they 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.
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 systems 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 skillfully if the analyst is to extract the
13
Systems Analysis and Design Study Guide
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 satisfying 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
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 requirements detailed in the systems specification are 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 quality during 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 measures, 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 format of displays on terminal screens. Input forms must be designed in such a way that it is it
14
Systems Analysis and Design Study Guide
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 easy of use.
- The analyst designs the procedures to be used, specifying for example, exactly how 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 materials are developed. The
output of this stage is a coded and tested system ready for conversion.
- Early in the stage, the analyst must see the technicians prepare the computer environment properly.
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 programs will be. If software is to be purchased instead of being custom-programmed, the
programmers may have to modify the purchased system at this time.
- The analyst is not actively involved in programming but must be consulted if the programmers wish
to make changes to the system.
- 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 operations staff
begins using the system on the specified data.
- In many instances, data files 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
15
Systems Analysis and Design Study Guide
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 parallels 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 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 process of maintenance should be controlled by the analyst. When a manager or user suggests a
change to the system, regardless of the reason, the analyst prepares diagrams and estimates of its impact.
Then, the management or a change control board decides whether or not to implement the change. If the
verdict is positive, the analyst modifies all system documentation by merging the diagrams and
estimates into the existing problem and design specifications.
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.
16
Systems Analysis and Design Study Guide
common for users to sign off specification documents without fully comprehending their contents, only
to learn during programming and testing that the specifications are incomplete.
Some of these problems can be solved by alternative approaches to systems building such as
prototyping.
REVIEW QUESTIONS
17
Systems Analysis and Design Study Guide
OBJECTIVES
INTRODUCTION
Information systems are expensive to develop and maintain, so it is clear that businesses do not
commission them for the fun of it. The need of an information system must grow out of some perceived
business requirement and the justification for it must be expressed in business terms.
Often Information system projects do start with clear links back to business plans and strategies. System
developers often take the sketchiest of briefs and start to develop something they think meets the need
only to be surprised when the user refuses to accept it because it does not properly meet their specific
business requirements.
So, before starting to develop a new information system, before even beginning the analysis for that
system, the developers must investigate, document and agree with the users the nature of the business
need and the contribution that the information system is to make.
BUSINESS ANALYSIS
Levels of understanding
A proper analysis of system requirements requires that those carrying out the investigation have a
balance of skills and knowledge.
A broad based knowledge; of finance, accounting, marketing, production, distribution.
A more specific grasp of the important features of the particular business being studied. For
example, an analyst working for a chain of shops should have knowledge of the retail sector and be able
to discuss retailing matters knowledgably with the customer
A broad knowledge of the possibilities and limitation of information technology.
18
Systems Analysis and Design Study Guide
STRATEGIC PLANNING
Every organization faces hundreds of problems and opportunities for improvement. Because of scarce
resources and finite organizational capacity to accommodate change, one of the major challenges facing
managers is to decide which of several projects that address possible problems or opportunities should
be initiated – a process called strategic planning (a process of deciding which of several projects to
assign resources)
Typical statements which might emerge from an analysis of a business strategy are:
In the next five years, there will be growth in internet shopping. We intend to take advantage of this
by developing a series of internet sites which are dedicated to each of our core products.
There will be an increase of 8% of retirees with large quantities of disposable income over the next
five years. We intend to expand our leisure village concept in order to cater foe this potentially
profitable market segment.
Vision
It is the view that the top management has for the future of the company. It is generally expressed in
terms of what the company wants to become and wants to achieve. The vision for the company creates a
model that represents what the organisation will look like and what it will achieve in the future
environment in which it will operate.
Mission
This is the bottom line purpose of the organisation, in other words, why it exists. The mission gives
meaning and substance to the vision and provides legitimacy and purpose for the people who will have
19
Systems Analysis and Design Study Guide
to accomplish the vision. Thus, the organisation needs to set goals and objectives, establish a clear
strategy, gain consensus and commitment and successfully implement projects that help to achieve the
vision.
Goals
These are broad statements of the end results that the organisation intends to achieve in fulfilling its
mission.
Objectives
They are specific and tangible measures of the results that the organisation wants to achieve.
Strategies
These are statements of how to reach the vision and achieve the organization‘s objectives. The strategy
implemented by an organisation is bounded by resource limitation and the perceptions, imagination and
the boldness of its leadership. The difference between a successful and unsuccessful strategy is an
organisation lies in how well it addresses the realities of its environment; how well it uses what it has to
work with and how well it compensates for its limitations.
Business drivers
These are the forces for change that a company needs to respond to. These include drivers such as an
increased market share or a reduction of costs.
Example : Vision, mission, goals, objectives and strategies for Fortune100 Company.
Vision
We are a company strongly oriented t0o research – to search for a breakthrough and innovative
production. We are a company on the move – a company with the critical mass of financial strength of
scientific research, of marketing expertise, and of existing and future production to meet the global
challenges we face and to give us significant growth.
Mission
We are a company dedicated to enhancing life from pharmaceutical products we make and market, to
the consumer, health care, and the nutritional products we will continue to develop and sell.
Goals
- Achieve global prominence in our pharmaceutical, consumer, medical and nutritional business.
- Firmly establish the company as one of the major world‘s truly research – based companies with a
commitment to excellence in biomedical science that is recognized by the medical and scientific
community around the world.
Objectives
20
Systems Analysis and Design Study Guide
- Achieve better than 15% annual compounded increase in per share earnings, along with continuing
attention to gain improvement and increase or maintenance of market share.
- Achieve product leadership in our core business, both in the UK and in the key foreign markets.
Strategies
- Co-ordinate sales and marketing activities and the scope and quality of the combined
pharmaceutical research and development effort.
Improve efficiency in the administrative and manufacturing areas of the company throughout the world
to produce savings that will provide additional resources to invest in the company‘s future growth.
21
Systems Analysis and Design Study Guide
f. Subsystem
g. Interface
h. Performance standard
2. What is the impact of IS on our everyday activities? Where has the greatest impact been on
business?
3. In what ways has the use of IS become strategic to industrial growth?
4. What is meant by ―working smarter‖, and how is it encouraged through effective use of IS?
23
Systems Analysis and Design Study Guide
OBJECTIVES
In the case of systems 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 team 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.
24
Systems Analysis and Design Study Guide
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 system will do. By discussing the
requirements with users who specified them, priorities can be assigned and a number of alternative
versions 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 oparts 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
wit 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 requirements 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.
25
Systems Analysis and Design Study Guide
Documentation: Keeping a written record. It is hard to control a project that is recorded only in the
memories of the team members. Team members are not necessarily 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 systems 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.
During the feasibility study, a number of structured techniques can be used to record the findings 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.
Sampling
(The first four are the most popular and are discussed below).
Interviewing
In this technique the analyst personally questions managers and users about the current system and
solicits their opinions about any new system.
Principles 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 concept of user involvement is critical in systems development today.
- During the interview, the analyst should never offer opinions, suggestions or promises. An interview is
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 must always behave professionally. He must remain in control of himself; without
antagonizing the user or showing anger.
- The analyst should not apply a 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.
- The analyst needs to be aware of the environment in which he is working. A business has its own
politics and as such the analyst should avoid any involvement in such internal affairs.
The following points are important to remember as an analyst prepares for an interview with any user or
client.
He should obtain copies of all reports that could be discussed during the interview session.
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.
- The analyst sets the interview tone. A good first impression is likely to last and therefore the analyst
should strive to make each impression a good one.
- The analyst should explain the purposes of the interview; first that the client has the business
expertise that the analyst lacks and second that they must both work together to develop an effective
system. The intent of this introduction is to convince users that the system will be their system, not the
analyst’s system. This introduction can lay a good foundation for trust and cooperation. The client
should also be assured that any specific requests for confidentiality will be honored.
29
Systems Analysis and Design Study Guide
- The final stage in interviewing is analyzing the information collected to judge how accurate and
unbiased it is.
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 needs, 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.
QUESTIONNAIRES
Sometimes the user are remote from the analyst. Indeed from the development of products for an
anticipated for an anticipated market, the users may not be accessible at all. In these circumstances,
questionnaires can be used to gather facts, attitudes and some 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.
The adoption of questionnaires as a fact finding tool is not as straightforward as the inexperienced
systems analyst might assume. It is wise to give careful consideration to their employment/application
and design.
Test the wording and structure of the questionnaire and ask sample respondents to explain their
understanding of each question.
Decide how the results are to be analysed beforehand. A questionnaire can be set out in a way
which permits direct input of answers into a computer system, where results can be analysed with an
appropriate statistical package.
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 questions and 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 documents and documentation. Questions which concern detailed
factual data e.g. How many customers live in the South West? 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‘s work place or work practices.
The major objective of this exercise is to determine how accurate the documentation is ; has the
organization made any attempt to update it as its methods have changed. Therefore the documentation's
age is a clue to reliability; the older it is, the less reliable it is likely to be.
31
Systems Analysis and Design Study Guide
Using this information, as assessment of the volatility of the information can be made and the usefulness
of the existing information ca 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 cam 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 is
a very hazardous exercise for the untrained. One particular misleading notion is to draw conclusions
from a non-representative sample. Extra care should be taken in estimating volumes and data field sizes
from the evidence of the sample.
When inspecting the data flow through a system, we can collect documents which show how this
information is organized. Such documents might include reports, formal lists, organization charts and
forms. In order to understand the purpose of a document in an organization, the analyst must ask
questions about how, where, why and when it is used. This is called document 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 not
evaluating their personal job performance, but instead trying to understand job procedures 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.
- 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.
32
Systems Analysis and Design Study Guide
It is important for the analyst to record this information in an unambiguous, concise manner which will
be clear and accessible to others and which can be used by other analysts and designers involved in
developing the new system. Structured techniques were developed to help system developers to record
information in this way, using diagrams (or popularly known as models) and a limited amount of text.
Structured techniques are used to model the existing manual or computer system using information
gathered from users. These models are then modified and extended with new user requirements in order
to produce new models of the new, required system. The model of the required system is based on the
current system because there is usually a core set of processing which will still be required unless there
has been a drastic change in the way the enterprise operates. The data held by the existing system is
unlikely to change although in most cases new data will be required.
Data Flow diagrams and Entity models are two useful tools or techniques.
To create and edit these diagrams, the analyst will also have to make use of CASE tools and data
dictionaries.
DFD Components
Entity
External entities represent the sources 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 workings of an entity, only the data it supplies or receives.
Symbol:
Customer
e.g.
Data Store
Data stores represent 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 rectangles with a unique
33
Systems Analysis and Design Study Guide
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, 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 flows 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, appear to be identical, then it is likely that the
process that separates 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 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:
Compare
invoice
Note:
(i) A data flow is not permitted between (to or from) a data store and another data store or a data
store and an external entity, only between a data store and a 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.
34
Systems Analysis and Design Study Guide
(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-levels (child) DFDs is known as leveling.
Example:
Level 1 DFD for a library system
Reservation Card
Delivery note
4 Loans Counter
D1 Book
Catalogue
Membership
Details
M1 New
Acquisitions D2 Borrowers
Advertised Book File Membership
Details
Card
Publications
35
Systems Analysis and Design Study Guide
D2 Borrowers File
4 Lend Books
Borrower
Details
Loan
Details
Reservation
D4/1 Loans File
Book Retail
C
Borrower
Loan Retail
Reservation Card
Borrower Details
Book Details
D1 Books
catalogue
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 processes 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.
36
Systems Analysis and Design Study Guide
Supplier Publication
Delivery Note
Order Advertiser
Book Details
Supplier
Book Details
Library System
Loan
Details
Reserva-
tion card
Member-
ship Card
Book Borrower
Recall Details
Reservation
Borrower
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 data flow of the organization
(iii) Identification of error (in structured walkthroughs).
(iv) They give an overview of the system as a guide to later fact finding.
(v) They show in detail how the system works from overview to minute detail using the leveling
technique.
(vi) They demonstrate in overview terms how various solutions might appear.
37
Systems Analysis and Design Study Guide
ENTITY MODELLING
An entity model represents the network of relationships between classes of things which need to have
data recorded about them in the system. The term ‗entity‘ or ‗entity type‘ is used to describe a ‗class of
things‘. Having a drawn an entity model, it is possible to show how the system can use these
relationships by following them as paths for obtaining related pieces of data either for update or for
reporting and enquiry purposes
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.
e.g.
Works for
MANAGING
DIRECTOR COMPANY
employs
One – to- one relationships are uncommon as it is usually found that two entities which are linked in this
way can be combined to form a single entity.
e.g.
comprises COMPANY
DEPARTMENT EMPLOYEE
38
works in
Systems Analysis and Design Study Guide
e.g. Made of
PRODUCT RAW
MATERIAL
Part of
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 a new entity.
e.g.
BOOK BORROWER
BOOK BORROWER
LOAN
Relationships can also be classified in terms of their optionality. 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.
e.g.
a) responsible for
Doctor Patient
registered
with
39
Systems Analysis and Design Study Guide
b) responsible for
Doctor Patient
registered
with
c)
responsible for
Doctor Patient
registered
with
d)
responsible for
Doctor Patient
registered
with
Relationships can be described as exclusive. One type of exclusivity occurs if a detail entity has two (or
more) masters and an occurrence of the detail may only be linked to one of the masters but not both. The
other is the converse situation where a master may be linked to only one of two or more sets of details.
40
Systems Analysis and Design Study Guide
e.g.:
Appointment
An appointment may only be made with one doctor or one nurse or one midwife
Doctor
Patient
Research
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 patients and research programmes.
It is possible for entities to be related to themselves in what are called recursive relationships. That is,
individual occurrences of entities can be related to other occurrences of that entity. For example the
relationship between managers in a company. The senior manager has a number of middle managers
working for him, each of whom has a number 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.
41
Systems Analysis and Design Study Guide
Senior
Manager
Supervisor of
Reports to
Supervisor of
Middle
Manager Middle
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 Patients
Assigned to
WARD TABLE
WARD_NAME WARD_TYPE
LONGONOT ORTHOPAEDIC
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
42
Systems Analysis and Design Study Guide
Types of attributes
Key attribute
This is an attribute that uniquely identifies each entity 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 at 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 attribute of the
WARD table.
Another way of representing attributes is listing them alongside the relevant entity types.
e.g. WARD(Ward_name,Ward_type)
PATIENT(Patient_No, Patient_Name, Ward_name)
The key 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 Systems 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 the
very beginning (of analysis). It may start out small, but it can expand at a high rate as a project
progresses through design into programming.
A data dictionary may be manually compiled or it may be fully automated (The automated DD is
referred to as the Data Dictionary Software (DD), but for simplicity it is known as the Data Dictionary).
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.
43
Systems Analysis and Design Study Guide
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 values
Ownership 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.
Format: To prepare for Format Checks in the subsequent system design. A convention for
representing numbers by nines (9) and characters by Xs can be adopted.
Values: Discrete data elements have a meaning associated with each value. Listed below are some
examples from a payroll system.
O33 Arrears of Pay
701 Sickness Benefit
52 Maternity Pay
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 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.
44
Systems Analysis and Design Study Guide
Example:
Format 999-9999999-A
VALUES
Part A is a discrete value assigned 1. Part C is continuous within year
to identify this college. This is the 00000 - 99999
same for all students attending this
college. 2. Positive values only
Validation
1. Check college ID matches COLLNO
2. Check ENROLNO does not appear on X ENROL list
3. Use algorithm to validate checkletter
4. Check is < LASTENR
Editing
Where used
45
Systems Analysis and Design Study Guide
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.
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 will have the effect of terminating
46
Systems Analysis and Design Study Guide
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 structure is fundamental to all ELHS. 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.
Course Attendance
47
Systems Analysis and Design Study Guide
Iteration
The asterisk(*) in the figure below denotes that the event may affect an entity occurrence zero or more
times. Continous Assesment Result may have zero, one or many results before the Notification of
Graduation occurs.
Course Attendance
*
Continous
Assesment Result
The figure below illustrates the iteration of a substructure 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.
Course Attendance
*
Assesment
Written Oral
Examination Examination
Result Result
48
Systems Analysis and Design Study Guide
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 errors‘ or ‗making sure it is correct‘ and involves checking the deliverables 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.
Quality Management
To ensure that 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.
49
Systems Analysis and Design Study Guide
Quality Control is the task of ensuring that a product has been developed correctly – to requirements 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
completed 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 procedures 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.
Quality Assurance is the responsibility of a smaller group of people. Someone independent of the work
area or project checks that quality control has been performed, that it has been effective, and that the
products are complete and suitable for delivery or for further use by someone else within the project.
Quality Management is the establishment and maintenance of a quality system within the organization,
the company, the division or the project and is usually thee responsibility of senior people in that areas.
Quality pyramid
QUALITY
MANAGEMENT
QUALITY ASSURANCE
QUALITY CONTROL
The foundation of an organization‘s quality management system is a statement of its objectives and
policy for quality, which should, of course correspond to the type and scope of product or service being
offered. The must be a description of the responsibilities and the internal organization for the QMS, to
ensure that quality control and quality assurance practices are understood and are operated effectively. A
major reason for doing this is to allow an external customer to assess the supplier‘s attitude and
approach to quality, both before work is placed with the supplier, and throughout the progress of the
work. A QMS is a company‘s framework, within which all the work is performed, using only
procedures and methods which are defined, checked and visible.
Standards
A QMS will specify the standards to be used for tasks carried out within the organization.
50
Systems Analysis and Design Study Guide
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 a
correction made before the coding begins.
51
Systems Analysis and Design Study Guide
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 projects 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 of relevant
and competent persons.
The prime objective of a Structured Walkthrough (SWT) is to identify problems and initiate the
necessary corrective action.
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.
A user representative mandatory for the formal agreement and signing off of a development stage.
An extra observer from the same project.
An unbiased observer from another project, an optional role which can be useful in providing
objectivity.
52
Systems Analysis and Design Study Guide
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 criticisms. The responsibility of the
team is to give an accurate appraisal/assessment, good or bad of the product being reviewed. All
criticisms 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 reviewers 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.
Solutions to problems
It is the chairperson‘s responsibility to avoid these problems by:
53
Systems Analysis and Design Study Guide
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 idea 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.
An inspection can be defined as a formal examination of an item, against a previously produced item, by
a group of people led by an independent chairperson with the objectives of:
(i) Finding and recording defects, using standardized checklists and techniques;
(ii) Initiating rework as necessary, monitoring the rework,
(iii) Accepting the work, based on stated exit criteria;
(iv) Adding to and utilizing a base of historical defect data.
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.
54
Systems Analysis and Design Study Guide
ANALYSIS DESIGN
All structured methodologies share the view that logical models must be integral to the process of
systems 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 view is created by mapping the customer‘s requirements for a new information system onto the
current logical model. The structured techniques during analysis which provide this logical view
include:
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.
55
Systems Analysis and Design Study Guide
ANALYSIS
DESIGN
Data Flow Diagrams
P lanning of CONTROLS
A sking Entity Model
R ecording INTERFACES
Data Dictionary
I interpreting
DATA
S pecifying
PROCESSES
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 form the problem
specification, which will be used by designers and programmers throughout the life of the project.
Table of Contents
A list of what the problem specification contains is a necessity.
Acceptance Criteria
56
Systems Analysis and Design Study Guide
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 the 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 3%. 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 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. Analysts 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.
The chosen model is not put into problem specification. It should be accompanied by management‘
written authorization 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.
57
Systems Analysis and Design Study Guide
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 part of conventional problems specification, in the interest of user satisfaction, the
format should go in.
Even though most analysts 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 many businesses,
especially smaller ones, to buy rather than to build software. Commercial software have several
advantages.
- They are cheaper. The cost of development is distributed among many purchasers, rather than
being carried solely by one organization
- They are already debugged. If several organizations have been using the software for some time,
it is reasonably safe to assume most of the bugs have been found and fixed.
- They are available sooner.
- User personnel can bring up the new system in less time. Most organizations have other activities
on which the staff should be working, so this can be a critical consideration.
- Users can try out the product without investing a great deal of money.
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 organization
- Different applications from different vendors will mean that each application will have a
different user interface, making it difficult for users to use the 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 procedures, 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 organization can do its own modifications?
Is there a trial period during which the package can be returned for a full refund?
58
Systems Analysis and Design Study Guide
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 be likely to give out the names of dissatisfied customers. We could ask those users for second
level-references—other organizations 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 organization
does this application communicate? With what other applications currently on the market (both from this
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) to 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 of 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.
REVIEW QUESTIONS
1. A purchasing department receives a purchase requisition from the stores. The requisition is checked,
and an invalid 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 filed 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.
2. When an invoice is received from a supplier, it is checked against a file of authorized purchases. If
the invoice does not match an authorized purchase, then a querying letter is prepared and returned back
with the invoice to the supplier. If the invoice matches an authorized purchase, but is for an incorrect
amount, then a standard form is completed and returned together with invoice to the supplier. If the
invoice reconciles, a payment authorization is made out. A cheque is then prepared and sent to the
supplier, and the invoice and the authorization are filed.
59
Systems Analysis and Design Study Guide
3. An electrical wholesale company stocks 20,000 different items and have 1,000 customer accounts. It
receives an 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.
The order details are transferred to a 4-part ‗OPD‘ (Order/Picking/Dispatch) document set. The fourth
copy is retained in the administration department in a file and the remaining three copies are sent to the
warehouse for processing. The store-man assembles the delivery and amends the OPD set with any
alterations necessary due to the unavailability of stock.
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 computerized its accounting system, i.e. Invoicing/Sales ledger/Purchase
ledger and Payroll and is now looking to computerize 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.
60
Systems Analysis and Design Study Guide
OBJECTIVES
At the end of this chapter you should be able to
1. Discuss the objectives of Systems design.
2. Identify design constraints.
3. Discuss the principles of Human computer interface design.
4. Identify the steps in database design.
5. List and apply common process description tools.
6. Identify security considerations in an IS.
7. Identify the contents of a program design specification.
(iii) Maintainable
This is closely linked to the previous objective because it is about change. A good design is easy to
maintain and this reduces the client‘s maintenance costs, which usually represent a high proportion of
the total lifetime cost of the system.
(iv) 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 covert it.
61
Systems Analysis and Design Study Guide
(vi) Reliable
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.
(vii) 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.
(viii) 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.
(ix) 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 of resources – particularly the technology to be used in delivering a
solution to the client.
The client’s existing systems
A major constraint would be the need for a new system to interface with other systems – hardware,
software and manual – which already exist and will continue to be used by the client organisation.
Procedures and methods
The final design might also be constrained by internal or external procedures, methods or standards. For
example, it might be a company standard to develop systems is SSADM, the CASE tool to be used in
development might be specified, as might the programming language in which the system must be
coded.
Knowledge and skills
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 modeling and normalisation
(iv) Files
(v) Databases
62
Systems Analysis and Design Study Guide
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 tine and effort 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:
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:
63
Systems Analysis and Design Study Guide
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 would best meet the needs of the users.
OUTPUT TECHNOLOGY
Two methods exist:
Printing
VDU output
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).
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 systems, 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.
64
Systems Analysis and Design Study Guide
The page or screen should not be cluttered and easy to read. The use of whitespace 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 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.
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, which 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
summarized 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.
65
Systems Analysis and Design Study Guide
Which method will be most suitable for the format and volume of the data to be entered? if an
educational institution has a large number 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
3. The conversion of the 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 minimizes the cost to the
user, minimizes the chance of data transcription errors occurring and minimizes 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 principles 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.
66
Systems Analysis and Design Study Guide
- 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.
- The use of concise phrases, familiar vocabulary and appropriate abbreviations make it easier for
the reader to understand the text.
- The most visible section 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 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 colors can be changed or a design convention can be used in which different types of
information are displayed in different colors. The consistent use of colour on screens within the same
system is important, and the designer must be wary of using too many colors 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-dimensional or animated, and the designer must decided 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.
67
Systems Analysis and Design Study Guide
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.
When designing nested menus, it is important to build in shortcuts to allow experienced users to move
quickly through the system and avoid the frustration of having to go through several ,menu screen for
each transaction, and to allow an exit which doesn‘t involve traveling back through each of the previous
menus. The principals of good design should also be applied by keeping the menus simple, with an
upper limit of ten choices per screen; minimizing the number of levels of menus through which a user
has to navigate; and ensuring consistency in the way options are selected from each of the related
menus.
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.
Question 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.
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 color shading or graphics for example.
68
Systems Analysis and Design Study Guide
CommandVAT CODE
language. (----------)
This VAT RATE
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 endeavor to make error and help
messages in such a dialogue as meaningful as possible.
Example:
Type Exit to return to menu
C:\>A: DIR
69
Systems Analysis and Design Study Guide
WIMP INTERFACES
This is an increasingly common interface used in many applications. The WIMP interface is so called
because it incorporates:
70
Systems Analysis and Design Study Guide
DOCUMENTATION DESIGN
A software product is composed of code and documentation. Documentation includes a wide range of
technical and non-technical books, manuals, descriptions and diagrams. The production of effective
documents is sometimes overlooked. Documentation is aimed at three different audiences:
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 organize and present large
amounts of material for quick comprehension. Adjunct material like indices, exercises, appendices,
glossaries must also be considered.
During the 1960s, little attention was paid to data analysis and data design. Because no thought was
given to the fact that data has a right to exist 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 customized version of the data. This means an increase of different names, sizes and
71
Systems Analysis and Design Study Guide
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
Normalization is a process of removing duplication, and grouping related data to minimise
interdependence between data groups. The less interdependence that exists between data groups, the less
impact a data modification has, such as increasing the size of a data item. This approach to data analysis
allows the analyst to build a data model starting wit the attributes and subsequently grouping these
together to form entities.
The analyst then identifies the relationships between those entities. To take data through the full
normalisation process, you first need to access all data the organisation stores in the system. Typically,
this will be done by collecting one copy of every type of form and report. If there is an existing
computer system, screen printouts can also be used. From these inputs and outputs, 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
Example: An invoice
Invoice Total
Unnormalised data
INVOICE (Invoice_No, Date, Cust_Address, Del_Address, (Prod_Code, Prod_Desc, Qty, Unit_Price,
Amount), Inv_Total)
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 eliminating 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.
73
Systems Analysis and Design Study Guide
Random access files, on the other hand, allow the user to get any records on key without first reading the
records preceding it. Random files must reside on disk and are required for online environments.
There are two 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 trend 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, thus 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 better than sequential files
74
Systems Analysis and Design Study Guide
since these have to be constantly re-organized 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 response 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 expected file size
DATABASE DESIGN
Database systems
A database can be defined as a structured organization of data stored 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 organization 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 organization 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.
Hierarchical model
Many relationships are One-to-Many or Many-to-One. Such relationships can be expressed conveniently
in a hierarchy. Each data item is related to only one item above it in the hierarchy, but to any number of
items below it.
75
Systems Analysis and Design Study Guide
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
Sales
The biggest drawback to files organized in this structure is that the user is limited in the number of
ways he or she can look for the records; the file organization 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;
JAMES
B100 B102 B200 SMITH
JAMES MARY
themselves. A relational database thus does not have to navigate through other data before reading the
required data. The normalization 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
Decision trees
Structured English
Decision tables
Processes comprise of step-by-step procedures and decisions that are made as the processes 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
77
Systems Analysis and Design Study Guide
or forget to discuss all the details). Decision trees are a method for 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 integral 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.
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;
78
Systems Analysis and Design Study Guide
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 authorization example;
If invoice is signed
If goods not accepted
Reject invoice
End if
If valid purchase order was prepared
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.
79
Systems Analysis and Design Study Guide
Reject invoice
End If
Then
Log invoice
Prepare payment voucher
End If
End do
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 values and resulting actions
Each vertical column of a decision table is called a rule and each rule symbolizes one combination
of values. If constructed properly, the decision table has a rule to cover every possible combination.
Rules are made of selectors symbolized 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 examinations 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.
80
Systems Analysis and Design Study Guide
Reduced
1 2 3 4 5 6 7 8
Exams passed Y Y Y Y N N N N
Course work 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
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 models. They are often designed to
support the rules and interaction of models 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.
81
Systems Analysis and Design Study Guide
Analysts’ workbenches
These are software tools which perform several analysis tasks such as;
Create design diagrams (e.g. DFDs on screen)
This enables the production of high quality documentation that can be easily updated.
Maintenance of complex models such as DFDs 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.
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
CASE tools can verify that changes are consistent with each other and the 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 analyzed. 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 to automate the production of code in a high level language,
from say, Structured English.
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
84
Systems Analysis and Design Study Guide
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 specifications for errors, omissions, and inconsistencies.
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 an 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 techniques 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
Prototyping is the process of building an experimental system information system quickly and
inexpensively for evaluation and demonstration so that end users can better determine
information requirements.
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 finalized,
the prototype can be polished to a finished production system.
85
Systems Analysis and Design Study Guide
- 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 centered, that is the user and the analyst work closely together as the
prototype evolves through a process of iteration, or incremental refinements.
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) Heavy user involvement means a more complete, accurate and user friendly interface.
(b) It is likely to foster positive attitude on the part of the user.
(c) Prototyping often results in a development project that costs less and takes less time to build.
(d) A system that has been prototyped during information gathering is cheaper to maintain
because of reduced uncertainty; there are often fewer errors and omissions. A prototype that
evolves into a finished system is also often inexpensive to maintain because a system coded in
say, a fourth generation language is easier to modify than one coded in a third generation
language.
Disadvantages 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 systems 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 systems may be difficult to maintain and support in a regular production
86
Systems Analysis and Design Study Guide
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 systems 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 handled 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.
(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.
(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.
87
Systems Analysis and Design Study Guide
(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) Unauthorized 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.
Risks to data
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.
(x) Hardware or software corruption; Hardware or software faults may damage or destroy
the data on files.
Types of controls
(i) Administrative controls which are designed to ensure the smooth running operation of the
systems.
(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;
88
Systems Analysis and Design Study Guide
Personnel
Controls related to personnel, which were developed before the advent of computers, include;
(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.
(iii) Access to information granted, not on the basis of rank in the management hierarchy or
precedent but on a need-to-know basis.
(ii) To prevent fraud. It is easier for a person to commit fraud if he can input data, write
programs and operate the computer all by himself. By dividing up the work, it is made harder to
commit fraud or tamper with data, except in collusion with others.
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 flood;
(ii) Protection against intruders gaining physical access to the system.
89
Systems Analysis and Design Study Guide
Fire is the most serious hazard to computer systems. 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:
(b) Computer files should be kept locked in a safe place, such as fireproof safe.
(c) The physical conditions in which the hardware and files are kept should be suitable, that is
too hot, dump or dust.
(d) Measures should be taken to minimize the risks of fire. Waste paper should not be allowed to
pile up. Computer rooms should have smoke alarms and be fully equipped with fire
extinguishers.
Access controls
Access controls are controls designed to prevent unauthorized 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
90
Systems Analysis and Design Study Guide
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.
Passwords ought to be effective in keeping out unauthorized users, but they are by no means
foolproof.
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 hard to trace
individual hackers, who can therefore make repeated attempts to invade systems. Hackers have
91
Systems Analysis and Design Study Guide
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 visibly 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 utilization reaches a certain percentage. A logic
bomb, by responding to such conditions, maximizes damage, for 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.
92
Systems Analysis and Design Study Guide
(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.
93
Systems Analysis and Design Study Guide
(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 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 authorization 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 files using the test data and the control and documentation of
any changes necessary.
94
Systems Analysis and Design Study Guide
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
standards 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 design methodologies.
95
Systems Analysis and Design Study Guide
Data processing standards should ensure that all the staff involved in the computer system has
proper instructions and that these have been fully documented. This means that there must be:
(a) Operation instructions for each computer installation
(b) Operation instructions for each program
(c) File library instructions, specifying how files should be labeled, safeguarded, issued and
if necessary, reconstructed.
(d) Data conversion instruction for the data preparation staff
(e) Data control instructions for the control section
(f) User department instructions
Program specifications
Program specifications or program documentation describe programs using charts, full listings of
the programs and details of test data and results.
96
Systems Analysis and Design Study Guide
(d) System messages. A listing of all messages likely to appear on operators‘ screens
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:
(a) Acceptance testing: responsibilities for the preparation of test data and subsequently
checking the test results.
(b) Input: responsibilities and procedures for the preparation of input including
requirements for the establishment of batch control totals and for authorization;
(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 authorization 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 processing 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 key board 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.
97
Systems Analysis and Design Study Guide
Errors in data capture are difficult to spot once they have been made, because they are often
errors 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 errors 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 captured 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 minimize 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.
98
Systems Analysis and Design Study Guide
If data must be converted form 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.
(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
computerized 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, the 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
99
Systems Analysis and Design Study Guide
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. Examples would be:
(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 supplier 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 checks 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 incorporates 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 errors on source document are likely to go undetected. This
emphasizes 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.
100
Systems Analysis and Design Study Guide
(a) Range checks are designed to ensure that the data in a certain field lies within predetermined
limits. For example in a wages application, the program may contain instructions to reject any
clock card with ‗hours 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, or above 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.
(c) Existence checks are checks on record fields to ensure that to ensure that the data is valid for
that field. For example:
(i) Check that the record type is 1, 2 or 3
(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 alphabetic 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.
101
Systems Analysis and Design Study Guide
(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
records 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-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 output 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. Corrected 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 labeled 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
102
Systems Analysis and Design Study Guide
In a large computer center, the administrative responsibility for the physical security should be
assigned to a member of staff.
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 records on a file
(b) The total of the values 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.
(c) The number of records in a batch (batch control total)
(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.
103
Systems Analysis and Design Study Guide
Control totals are established into two different ways, for example by adding up the account
numbers after the most recent run, by taking the total after the previous run and adjusting it for
new accounts for accounts closed. Any difference 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.
It is possible to construct complicated password systems, and the DBMS can be programmed to
give limited views of its content to particular users. However there are problems in ensuring that
individuals do not circumvent the controls by means of inference. For example, an employee
database might forbid you to ask whether John is an employee in category A. However, if you
know there are only three employee categories, A, B, and C, and there is no prohibition on
asking about categories, B, and C, you can work out the members of category A by elimination.
Interference controls may make this difficult by limiting the number of queries, or by controlling
the overlap between questions.
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.
104
Systems Analysis and Design Study Guide
Smaller programs are easier to specify, test and modify because errors or the impacts of a
change are contained within fewer lines of code.
Programmers are more motivated to code in the areas of the system that interests them.
A large number of small programs makes rescheduling the work easier. If one programmer is
taking longer than estimated on a program, one of their later programs can be assigned to
someone else to write.
Processing outlined in any program design is one of three categories: processing sequence
decision or iteration. A processing sequence is a number of instructions that must be
programmed in the order detailed in the sequence. A decision indicates that there more than one
possible path through a program and that the path taken will depend on whether the decision
criteria are met. Iteration indicates that a section within the program will be executed zero, one
or mote times until the exit condition is met.
105
Systems Analysis and Design Study Guide
Data The input to the program and any output it generates is detailed here. It provides a data
–driven view of what the program does. The section also refers to the data dictionary to cover the
format and validation rules for all shared data used in the program.
Functional description This intermediate level of [process description may not be necessary
for small, simple programs but the default is to include it. It provides a ‗big picture‘ view of the
program‘s input, outputs and processing before going on to explain the detail. Data in this
description is referred to at the record level.
Detailed processing This section expands on the previous description to give a low-level
detailed view of the processing paths through the program but continues to focus on what has to
be done. Data is referred to at the data field level.
Errors and exception conditions this deals with anything other than the normal case, such
as events occurring out of sequence. It describes how the program will cope with these, lists any
error messages and identifies the destination of each message.
Operational considerations Information from this section may be incorporated into the user
manual later. It describes how the operator interacts with this program in the normal case and
how the operator can recover to a safe state or restart the program if anything should go wrong.
Subroutines Common routines used by the program are identified as are their input
parameters. Input parameters could again simply be referred to if they are denied in a higher-
level document. Calls to the system executive (i.e. manufacturer-supplied functions/procedures)
are also listed here. The reason for having a separate section on subroutines is so that if a
subroutine changes- let‘s say an extra parameter is added –the modifier need only check this
section rather than read through the whole document to find out whether this program must be
amended.
Messages this section identifies messages sent and received by the program. It lists the
message identifier and its purpose.
Print layouts detailed print layouts or screen layouts are included here. Sometimes the document
only includes a pro forma layout and the details are added by the programmer.
106
Systems Analysis and Design Study Guide
REVIEW QUESTIONS
1. What is the essential difference between systems analysis and systems design?
2. What are some of the model driven methodologies?
3. What are some of the benefits of prototyping?
4. What are the five high level tasks involved in conducting system design for a
development project to be built in-house?
5. What are the goals of interface design?
6. What is a RFC?
7. Prototyping has many strengths and weaknesses. Discuss.
8. Data security and privacy are increasingly important issues in modern IS. What are some
examples security and privacy issues we need to be aware of in developing and
maintaining a relational database system?
107
Systems Analysis and Design Study Guide
OBJECTIVES
Introduction
The handover between analysis, design and development is becoming more and more informal
especially with the accessibility of 4GLs and CASE tools to produce code. Artificial boundaries
between analysis, design and development are becoming increasingly irrelevant.
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.
108
Systems Analysis and Design Study Guide
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.
Any related problems may be solved by file restructuring or the use of faster programming
languages. Problems due to hardware not achieving what is claimed in the specification must be
taken up with the supplier.
c) System testing – Designed to ensure that the sub-systems work properly together. It should
pass through the following phases:
* Single run – Testing the system over a single pass of data.
* Cyclic tests – Testing the system over several cycles of processing to ensure it correctly deals
with end of period routines.
* Clerical tests – Tests all aspects of the interface between the user and the system.
c) User Acceptance Testing – This is the testing of the system by the user department, after the
system has passed the systems test. This test seeks to:
- Find out exactly what are the user demands of the system
- Find out whether any major changes in the system will be necessary
- Find out how the system responds to large volumes of data (as expected to be input by the
user) and at the same time use the tests as an opportunity to train staff in the new system, etc.
Optimization.
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
programs 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 optimization, modifying it so that it is faster in those
places where more speed is required.
109
Systems Analysis and Design Study Guide
We try to optimize the parts of the system in which the changes will give us the greatest benefits.
Maybe we have determined that optimizing 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.
We should be careful in attempts at optimization, since our actions may sometimes have the
opposite effect from what we intend. Recording in assembler language, for instance, will make a
program more efficient only if the programmer is good at writing efficient assembler code.
Optimization Techniques.
There are many ways to optimize 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 optimize the code.
Use an optimizing 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 minimize 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.
Denormalize files. That is, combine files that are often accessed together, with that
access happening frequently.
If the analysts decide that the software needs optimization, the organization‘s very best
programmers should be given the assignment, because optimization 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 optimizing 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 optimize 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 organizing 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.
110
Systems Analysis and Design Study Guide
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.
Implementation documentation
Three types of documentation are associated with implementation.
a) Training Documents
i) Easing the transition from the current system to successor.
ii) Providing detailed tuition in the operations of the proposed system.
Such documentation may use conventional media and methods i.e. handouts, lectures and tests –
in the traditional setting of a training course.
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.
b) 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.
In summary, the tasks of implementation require careful planning and co-ordination. Lack of this
will undo months of good system and programming work.
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
111
Systems Analysis and Design Study Guide
iii) 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 it is cheaper to pay for the mistakes of a direct
changeover.
Applicable where:
- Large projects
- Where distinct parts of the system are geographically dispersed.
REVIEW QUESTIONS
1. What are the tasks involved in the building and construction of databases?
2. Who are typically involved in the installation and testing of new software packages?
3. What are the four common conversion strategies?
4. What are some of the problems facing the following strategies?
a. Abrupt cut-over
b. Parallel conversion
5. What are the responsibilities of the systems analyst when training users?
112
Systems Analysis and Design Study Guide
OBJECTIVES
By the end of this chapter you should be able to:
Discuss the purpose for a post implementation evaluation.
List the benefits of post implementation evaluation.
INTRODUCTION
Research has shown that 79% of organizations are currently performing post implementation
evaluations 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 developed.
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 systems development process,
it is unlikely that an evaluation managed and performed by the 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 evaluated?
The criteria evaluated include:
i. Accuracy of information
ii. Timeliness and currency of information
iii. User satisfaction
iv. Attitudes towards the system
v. Internal controls
vi. Project schedule compliance
vii. Systems fit and impact upon the organization structure
113
Systems Analysis and Design Study Guide
114
Systems Analysis and Design Study Guide
OBJECTIVES
By the end of this chapter you should be able to:
Introduction
A project is a type of work (made up of several tasks) whose end product is a single item on a
large scale. Information systems, like many other projects involve a large number of people, long
periods of time and a large amount of money.
Project management and control is the integrated collection of techniques and procedures that
help in successful and timely completion of a project within the budget and time constraints.
Terms Of Reference
At the start of a project, a project initiation document may be drawn up setting out the terms of
reference for the project. The typical contents of a PID are:
(a) Outline of resources that will be used – staff, finance and technical resources.
(b) Business objectives – The business objectives should be clearly identified and must be the
first point of reference when progress is being reviewed to ensure that the original aim is not lost.
(c) Project objectives.
(d) The scope of the project (What is it intends to cover)
(e) Constraints i.e. maximum amounts to be spent, interim and final deadlines, etc.
(f) An analysis of risks inherent in the project and how they are to be avoided.
(g) A project plan (targets, activities, etc) and details of how to organize and manage the project.
(h) Purchasing and procurement policy e.g. specifying acceptable suppliers and delivery details.
(c) Management can use them for competitive advantage. A project failure or delay may result in
a permanent or temporary loss of that competitive advantage.
115
Systems Analysis and Design Study Guide
(d) They determine the risk nature of the firm and their failure threatens the very survival of the
origin.
Project Planning
Project planning is an attempt to develop accurate estimates for the time, costs, and expected
benefits and to adjust the estimates if they prove inaccurate. The project plan is the primary
documentation tool and all activities are executed according to this plan; Planning involves:
- Developing overall project targets of costs and timescale (e.g. analysis, programming, testing
design, testing).
- Identifying various activities in the project and putting them in the right and logical sequence
and their duration to manage the project.
- Developing the firm‘s procedures and structures necessary to manage the project.
- Estimating personnel resource requirement and training needed for certain members of the
project team.
- Drawing the network of activities.
- Have reporting structures and procedures.
Each project should be planned in great detail before any actual work on the project begins, and
the plan must continue to evolve as the system evolves.
The project plan includes separate, smaller plans for each of the following tasks or phases of the
project: analysis, design, coding, testing, documentation, training and conversion. Each of these
plans in turn consists of various components such as time and schedule estimates, cost estimates
benefit estimates, and cost-benefit analysis.
Project control
Project control as opposed to project planning is the ongoing process of monitoring the actual
plan to see whether it is meeting the objectives detailed in the project plan. We must continually
check if we are on schedule and under budget, since the sooner we detect problems the more
effectively we can deal with them. It is the taking of corrective actions when activities fall
behind schedule or more resources are needed to complete the project. It involves
- Rescheduling of activities or reallocation of resources
- Quality control over work done through the use of systems development standards
- Establishment of feedback procedures to aid control monitoring of the project e.g. timeliness,
keeping to budgets.
- Ensure proper communication between members involved in development of various project
segments.
- Analysing the effects of delay.
- Revising the network and setting up new schedules.
- Reporting to the steering committee or senior management on a regular basis as part of the
control procedures.
116
Systems Analysis and Design Study Guide
(i) Inadequate user involvement –The users should be allowed to educate analysts on
policies, requirements and applications.
(ii) Failure of two or more segments of the new system to fit together properly i.e. no system
integration. This is because different work groups of technical specialists fail to communicate
well during development.
(v) Project manager accepts an unrealistic deadline for having the system up and running.
For example, the user‘s idea of when the system would be needed is taken before sufficient
consideration is taken to the realism of the deadline.
(vii) Users changing their requirements - Users change their requirements, resulting in costly
changes to the systems. This is due to the fact that users needs were not known early enough.
117
Systems Analysis and Design Study Guide
Estimation Formulas
A specific set of formula will help us to develop our estimates, and those formulas need to be
broad enough that, with only minor variations, they will apply to all systems. DeMarco (1982)
suggests that there are system elements, called metrics (or function points by other experts) that
can be counted. When these metrics are given weighing factors, they can be used to predict the
money and time required to build a system. Although we will not go into complexities of
formulas here, we will briefly discuss the some of the metrics that are involved.
- The number of functional primitives is generally the primary metric used in developing
estimates, since it seems to be directly related to the size of the system. Different types of
functional primitives may be rated differently; for example, perhaps we should give a calculation
module a higher rating than a module that writes a report line.
- Secondary metrics used in the formulas include numbers of the following: decisions, data
stores, data elements, data repetitions, data choices, optional data items, and pointers between
data entities.
- We must also look at the system type, rating a real-time system, for example, much higher
overall than one that does only on-line inquiry. For a data strong system, such as one whose
primary purpose is inquiry against an existing database, we would probably give the metrics
relating to data heavier emphasis, whereas a function-strong system revolving around updates
would call for heavier weighting on the functional primitives.
- Factors beyond system characteristics also influence the estimates. Personnel characteristics
that impact the estimates include skills, experience, and turnover rate. The number of expected
system users, their computer experience, and their expectations of the system are also expected
system users, their computer experience, and their expectations of the system are also pertinent.
So too is the development environment.
To whatever estimate we arrive at by using the formulas we should always add a ―fudge factor‖.
There are so many elements beyond our control that is unrealistic to put absolute faith in a
precise calculation. An expectedly high inflation rate, for instance, can destroy a budget for a
long-term project, and a vendor who does not deliver equipment on time can put a project weeks
behind schedule. The ―fudge factor‖ we use should be fairly large since we might have multiple
catastrophes such as these. One way to incorporate ―a fudge factor‖ in our estimates is to apply
the standard business management technique that requires formulating an optimistic, a
pessimistic, and most likely estimate. We then use three figures to calculate an average weighted
toward the most likely estimate:
This takes into account unforeseen disasters as well as miracles, without skewing the estimate
too far either way.
118
Systems Analysis and Design Study Guide
High inflation rates, for example, can destroy the value of long-term estimates. (The rapid rise in
costs in the early 1970s caught many data processors off guard. They had assumed that the
inflation would remain at the same low rate that had prevailed for a number of years. As it
turned out, projects that had begun in a year of low inflation often had a life span that carried
them through one or two years of high inflation. As a result, the anticipated high cost of the last
years caused the projects to go over budget. Since at the time of the original estimates only a
crystal ball could have predicted with total accuracy the future economic climate, these
estimating problems were not really the fault of estimators. Nevertheless, had they documented
in the original estimate such assumptions as inflation rate, they could at least maintained their
credibility).
In addition, documentation of assumptions allows estimators to see exactly what went wrong so
that they can learn from their mistakes. Estimators should keep very detailed, measurable data on
how they developed their estimates and then how close they came, to enable them to refine their
techniques as the become more experienced.
119
Systems Analysis and Design Study Guide
Types of Estimates
There are three elements in which estimates must be developed: time, costs, and benefits.
Because they are interdependent, these three estimates must be developed together. For example,
creating an accurate estimate of the costs depends on knowing the scope of the expected benefits,
since smaller systems tends to be cheaper, Furthermore the time schedule cannot be estimated
without knowing the extent of available resources. For instance state-of-the-art development
tools, while they will undoubtedly increase the cost, may compress the schedule. Therefore, even
though we discuss these three estimates separately we must keep in mind the close relationship
among them.
Time Estimation
- Use verifiable milestones to partition the schedule
- Construct Gantt chart and PERT charts to graphically illustrate the schedule.
- Use a PERT chart rather than a Gantt chart whenever showing the dependencies between
tasks is important.
Time, in a systems analysis terms, is how long it will take, broken down into increments, to build
and install a new system. A time estimate such as ―six months to build and install‖ is of little
value since it gives us nothing, with which to check our progress along the way—we would not
know whether we were behind schedule until 5 months and 29 days are over. Therefore when
making time estimates, we break the project down into small chunks and then predict when each
chunk should be done. By breaking each into piece we are better able to determine exactly how
involved the project is and can therefore do a more accurate job of estimating.
Milestones
We mark the end of each of the project‘s chunks with a milestone. This is merely a significant
point in the development of the project, but it must be a measurable or verifiable point in time.
For instance, ―problem specification completed‖ is verifiable—it is either completed or not.
―Problem specification halfway completed‖ is not verifiable—who can tell what is ―halfway‖?
No one can determine what ―half‖ is exactly until there is a whole with which to compare it.
Unverifiable milestones are especially abused during the programming phase, since some
programmers like to measure their progress by ―weighing the code,‖ or counting the number of
pages of completed source code. This practice has several drawbacks. The number of lines of
code produced is not necessarily a meaningful indication of progress, since that code could be
from the less complex areas of the system or could be written but not yet tested. Furthermore,
120
Systems Analysis and Design Study Guide
since during the programming phase we do not yet know the number of lines in the completed
system, we cannot accurately gauge how far along we are.
A better way of measuring programming progress, based on the incremental method of testing, is
to count the number of finished, defect-free modules. Verifiable milestones might be ―vice
president modules completed,‖ followed by ―efferent modules completed‖. These milestones
could be broken down even further, with completion dates for small groups of modules within
the larger groups.
Scheduling Tools
Two graphical tools are useful in time charting; The Gantt chart and the PERT chart.
A Gantt chart shows exactly how long a given task is scheduled to take, as well as how long it
actually takes (See the figure below).
WEEKS
1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2
0 1 2 3 4 5 6 7 8 9 0
Feasibility
Analysis
Design
Coding
Testing
121
Systems Analysis and Design Study Guide
Key
= scheduled time
= actual time
Unfortunately, it does not show the precise dependencies between tasks. So although a Gantt
chart can be very useful for a broad view of a project‘s schedule, it does not tell us everything we
might need to know. For example, we can see from the figure above that the feasibility study
must be completed before the analysis phase can begin. We can also see that the coding and
testing phases overlap considerably, but we are not shown exactly which stages of the coding
must be finished before the testing begins. So, although a Gantt chart can be very useful for a
broad view of a project‘s schedule, it does no tell use everything we might need to know.
Note:
(d) Each activity in the network is represented by an arrowed vector.
The activity arrows are not necessarily drawn to scale
(e) Each activity starts and ends at an event (milestone) symbolized by a circle.
An event marks the end of an activity or activities and the beginning of others.
A D
B E
C F
122
Systems Analysis and Design Study Guide
(h) All nodes must be tied into the network, i.e. no nodes should dangle in the network.
e.g.
Dangling node
- Label the activities (usually alphabetically). Number your event nodes (usually in numeric
sequence).
(j) A network has only one entry (start event) and one exit (terminal event)
123
Systems Analysis and Design Study Guide
Illustration:
124
Systems Analysis and Design Study Guide
5 6
A C
0 0 7 8 12 12
5 2
G
1 4 4 6
B D
4 3 E H 3
5
3 F 5
5
4 4 9 9
Key
EST LCT
EST= (Earliest start time) at an event is the earliest time activities ahead of that event can start,
keeping in mind that ALL activities before the event must be complete. It is calculated in the
forward pass. We add up activity durations in each path leading to that event, then take the
largest. The first event has EST value 0. The EST in the last event gives us the project duration.
In the above figure the project duration is therefore 12 weeks.
LCT = (Latest start time) at an event is the latest that preceding activities can complete without
delaying any of the succeeding activities. It is calculated in the backward pass, starting from the
last event, whose LCT is set to the project duration (in the above case, 12). We subtract activity
durations in each path leading backwards to that event, then take the smallest.
The critical path is the sequence of activities that have the same EST and LCT values.
125
Systems Analysis and Design Study Guide
(iv) Compute the earliest start time (EST) and latest completion test (LCT) by use of forward
and backward pass method
(v) Identify the critical path and critical activities
On the other hand, we must not get so wrapped up in maintaining the PERT chart, modifying it
for every little schedule change throughout the life of the project, that the amount of actual
project work we do suffers. We must keep the charting tools in perspective, remembering that
they are only tools, not goals.
Although we can maintain a Gantt or PERT charts manually, it is much faster and easier to use
computerized graphics or, even better, a software package designed for project planning and
control, such as Microsoft Project. Such a package allows us to create multiple charts related to
one another, so that a change in one is automatically reflected in others.
Cost Estimation
Financial Cost estimation are derived by evaluating the resources that will be needed to develop
and operate a system. These resources include the necessary personnel, computer hardware, and
supplies, each of which can be translated to a dollar value.
Development costs, or start-up costs, are the resources that are expanded when creating the
system. Development costs encompass expenditure for the following:
Salaries (plus attendant taxes and benefits ) for analysts, designers, programmers estimators,
testers and all staff involved in the development effort.
Computer hardware - the initial purchase price, as well as transportation and installation
costs.
Software development tools - automated data dictionaries, fourth generation languages, test
data generators, and database conversion programs.
Production software - operating systems, utility programs and canned software packages.
Suppliers - papers, disk packs, tapes, etc.
Site preparation - installing special electrical systems, heating and air conditioning, and
physical security measures.
User training and documentation—breaks down into previously listed categories such as
salaries and supplies yet is important enough to warrant separate mention.
Parallel operation—also breaks down into other categories yet warrants separate listings.
126
Systems Analysis and Design Study Guide
Operating costs are the costs that occur on daily basis throughout the life of a system. They
include expenditures for the following:
Salaries (plus taxes and benefits) for data processing staff, as well as for any additional staff
hired elsewhere in the organization as a direct result of the new system.
Hardware and software—leasing fees or, incase of direct purchase, depreciation costs (since
each day an item looses value as an asset).
Repairs and maintenance—if not included in the part of leasing or purchase agreement for
hardware and software.
Supplies—paper, preprinted forms, additional disk pack and tapes, office supplies.
Utilities, rent of office space, and insurance,
Some of these operating expenses are variable costs; that is they will rise as the volume of work
increases. For example, higher volume of work usually results in an increase in the consumption
of paper. Such costs as hardware leasing fees or building rent fees are fixed costs, which are not
affected by the work volume.
In order to evaluate the costs of the new system more effectively, it is helpful to have the cost of
the old system in comparison. Although one would expect to be able to get those costs easily
enough for the general ledger, it does not always prove to be true. Some organizations do not
segregate information processing costs from other categories. In addition some of the costs of an
existing system are very difficult to quantify. Examples of such costs include the cost of
opportunities lost because management did not get timely reporting on the financial condition of
the business or the cost of time (and thus wages) wasted because an inefficient method of data
was used. Such costs are called intangible costs, while costs that are relatively easy to quantify
are termed as tangible costs.
Benefits Estimation
Benefits are the functions a system delivers. To identify potential benefits we must ask exactly
what the system will do that is not already done. Most benefits can be measured as either an
increase in revenues or a decrease in expenses.
As we try to identify the benefits, we must look at both the tangible and the intangible ones.
Tangible benefits are those that can be assigned a dollar value and that are tied directly to the
installation of the new system. Examples of the tangible benefits include the following:
Most efficient use of data processing personnel, thereby reducing payroll costs by
minimizing overtime, cutting down on staff, or avoiding hiring new staff in the near future.
Reduce supply costs from such improvements as replacing paper reports with screen
displays, replacing purchased cards with online data entry, or using on-line data entry instead of
paper source documents.
Provision of services never available such as new reports, analyses of trends, or end user
query of a database.
Improved ability to take advantage of offered discounts on account payable invoices because
of more efficient reporting method.
Ability to operate efficiently with a smaller inventory on and, resulting in lower insurance
rates, better utilization of storage space, and the opportunity of investing the liberated funds
elsewhere.
127
Systems Analysis and Design Study Guide
In order to assign a dollar value to a tangible benefit, we usually need to do some type of
calculations. For instance, suppose we estimate that a new system could eliminate 95 percent of
the accounts payable overtime pay for a company. Last year the company paid $5,000 in
overtime; following the trend of the past, we would expect that the figure to increase by 10
percent this year. Therefore, if the system were to go into operation on the first day of this year,
the calculation might look as follows:
Most tangible benefits can be quantified be looking at previous cost and comparing hem with
projected costs. Unfortunately, intangible benefits are not easily quantifiable. Intangible
benefits are those for which it is difficult or impossible to develop an exact dollar value, since
their positive impact on the organization is not directly measurable. Intangible benefits can
include the following:
Improved employee morale, with the attendant reduction in sick day and job related
accidents and the attendant increase in productivity.
Improved collection of accounts receivable because of better reporting methodology.
Fewer inventory shortages—which result in production rises and lost customer orders—
because of automatic reordering of parts.
Closer control and monitoring of investments, resulting in better investment decisions on the
part of management.
Higher sales as direct result of improved customer service.
Reduced risks, such as improved security on access to financial data.
In all cases benefits alone have little meaning? As stated earlier in this chapter, benefits must be
tied to associated costs and time estimates if we are to evaluate them accurately. To do so we
utilize several techniques, collectively termed cost-benefit analysis.
COST-BENEFIT ANALYSIS
After we develop the estimates and put them into a standard format such as a matrix, managers
must decide which benefits are worth associated time and costs.
Cost –benefit analysis is used to evaluate alternatives such as these. Cost-benefit analysis helps
us to find the optimum system, the one that delivers the most benefits for the money spent.
128
Systems Analysis and Design Study Guide
Cost benefit analysis is really the job of management. The job of the analyst is to develop and
present the pertinent figures. Of course, the analysts must have some understanding of the
process in order to be able to deliver all the necessary facts and figures. He must also understand
that developing a new system is in effect to an investment; the business invests money, time,
knowledge, and human resources in the project, in the hope of reaping some monetary benefits in
the future. The three most popular methods of evaluating the relative merits of proposed
projects are payback analysis; return on investment analysis, and net present value analysis.
Payback Analysis
In payback analysis, we are concerned with how soon the lifetime benefits of the system
surpass/better the lifetime cost. Suppose we look at a five-year projection in which we estimate
the costs incurred and the benefits received for each year of a proposed accounts payable system
(table below). Year 0 refers to the development year, and year 1 begins on the day of cutover. As
we can see, total lifetime benefits exceed total lifetime costs somewhere between the third and
the fourth year of operation. Examining the figures more closely, we can say that the payback
period for this option is approximately 3 years and 7 months. This may or may not be considered
a reasonable payback period; each organization will develop its own guidelines.
Although payback analysis can be first step in evaluating the alternative, it has two serious
drawbacks; first it does not take into account the time value of money. For instance, a dollar
saved today is more worth to us than one saved ten years from now, since today‘s dollar could be
drawing interest in a bank for us for the ten years. second, payback analysis does not consider
any benefits of the system that are accrued after the payback period. For instance an alternative
solution might produce the greatest benefits at the lowest cost a year after the payback period has
ended, a fact that is ignored by payback analysis.
129
Systems Analysis and Design Study Guide
In other words, it is the net benefit divided by how much it costs to reap those benefits. This
gives the rate of return (similar to interests on bank account) that the investment gives over its
lifetime.
Year 1
$1.00 + (1.00 x .05) = $1.05.
Year 2
$1.05 + (1.05 x .05) = $1.11.
Return on investment analysis has the same drawback as payback analysis in that it does not
consider the time value of money. In order to evaluate this time factor, we must use net present
value analysis.
If we perform net present value analysis for a proposed system we must bring all projected costs
and benefits back to today‘s dollars. By expressing all future costs and benefits in today‘s
dollars, we can easily compare projects that have different life spans.
130
Systems Analysis and Design Study Guide
The formula for calculating the present value for some future amount, whether that amount is a
cost or a benefit, is as follows:
= $1.00 x 1
1.10
= $1.00 x 0.909
= $0.91.
Continuing this example, suppose the $1.00 will occur 3 years in the future instead of one. The
formula will then look like this:
The following table shows the present value calculations for each of the costs and benefits, 14
percent having been assumed as the expected or desired rate of return. At the bottom, the total
costs are subtracted from the total benefits to obtain the net present value. If the net present value
is positive, the investment will deliver the desired rate of return and is therefore considered to be
a good investment. If the net present value is negative, the investment is a poor one. Te solution
with the highest positive net present value is considered to be the best investment.
131
Systems Analysis and Design Study Guide
Benefits , year 0 0
Alternatively, we might insert the figures into a spreadsheet program, since most such programs
contain functions to calculate present value automatically. Spreadsheet programs have the
additional benefit of allowing us to run ‗what if ‗simulations easily. For instance, what if we
lowered the initial development costs by $2,000? Or what if we instead raised the third year
benefits by $3,000. Which would more significantly affect the profitability of the project?
Project Control
- Conduct project reviews to detect problems as soon as possible.
- When slippage occurs, choose one of these options
Increase resources
Extend the deadline
Eliminate or postpone completion of the scheduled functions of the system.
- When asking for more time or resources, take ―no small slips‖.
132
Systems Analysis and Design Study Guide
- By means of a final project review, analyze both the quality of the completed system and the
proficiency of the project management.
Analysts must continue to monitor a project throughout its life span, since even the best of
estimates can be off, and as stated repeatedly in earlier chapters, the sooner a problem is detected
the easier and cheaper it us to correct.
We use the same tools for project control as we used for planning: time charting, cost and benefit
estimation, and cost benefit analysis. Additionally, structured walkthroughs monitor the quality
and the content of the finished project. As analysts, we must also hold regular project reviews on
a weekly, biweekly, or at least monthly schedule. In a project review the project itself, not the
finished product, is examined. We look at the estimates and compare them with what is actually
happening. Are we as far along as we expected to be? Are we staying under budget? Will we be
able to deliver the expected product? Is the project progressing smoothly? As always, the
comparison must be quantifiable, since ―guesstimates‖ tell us little of value.
Even though structured walkthroughs and project reviews measure different aspects of a system,
they are related. If the walkthroughs prove that a system has serious defects, whether the project
is on time or under budget is irrelevant. If the quality is consistently poor, the walkthroughs will
indicate to us that extra work will be required, and hence our estimates for resources, time and
scope of the finished product are unreliable.
When we discover a problem at any point, we must attempt to correct it immediately. If we are
one week behind schedule at the end of the month, we should try to make up that one week
during the following month. If we wait until we are twelve weeks behind ,at the end of the
twelve months, it will be almost impossible to get back on schedule. The same holds true for the
budget; the sooner we make adjustments for over expenditures, the better chance we have for
bringing the entire project in under budget.
Slippage
The process of falling behind schedule or going over budget is called slippage.
When we experience it, we have three options;
- Add more resources at the problem
- Extend the schedule or
- Trim the tasks.
133
Systems Analysis and Design Study Guide
Furthermore, when the task is not partitionable – that is, when it cannot be divided into discrete
chunks for different people to work on – it is futile to add more personnel. If it takes one person
eight hours to write a single non- partitionable subroutine, we cannot give it to eight people and
expect it to be done in 1 hour. It will still take eight hours since only one person can work on it at
a time.
REVIEW QUESTIONS
1. What is a project?
2. What are some of the common reasons for IS project failure?
3. What is the difference between scope creep and feature creep?
4. What are the basic project management functions?
5. What are the major activities in the project management cycle?
6. What are the factors to consider in estimating task durations?
7. What should project managers to manage changes that occur/or are requested during a
project?
8. Why is critical path analysis important?
134
Systems Analysis and Design Study Guide
OBJECTIVES
By the end of this chapter, the learner should be able to:
Identify current trends and applications of IS.
Identify capabilities of emerging IS.
Distinguish between centralized and decentralized systems.
The main purpose of end user computing is to increase individual productivity. End users include
managers, office staff, sales people, production workers, secretaries etc.
End user computing is a large and growing field and some of the applications are listed below:
(a) Decision support systems
(b) Expert systems
(c) Executive information systems
(d) Text handling and publishing
135
Systems Analysis and Design Study Guide
(iii) End user support: - end users are non-computer professionals and they need support from
information centers. The support comes in form of hardware or software education or training.
(iv) Security and privacy: - end-users should be taught how to protect privacy and how to
secure data and information systems.
(v) Cost justification: - every user has to justify the demand for IT resources.
(vi) Data definition and strategy: - although systems developed at end-user level are in principal
based mainly in ―local‖ data (data originating within a department concerned), this data may be
of interest to other departments and it is rare that a department uses no data at all from external
sources it is the responsibility of the system analyst to ensure that there is a maximum degree of
consistency and coherence between departmental systems in terms of data definition, duplication,
database design etc.
(i) Standards: - standards save time in development and maintenances as well as assuring
maximum levels of quality and consistency. It is therefore important that standards are used in
end- user computing. The problem is that many end users are not aware of standards relevant to
their own situations and so the analyst has a vital role to play.
(ii) Conformity with systems development strategy: - although end users may have
considerable freedom in the specifics of systems developed, the main systems principles applied
must for the sake of the organization as a whole fall within the overall systems development
strategy. If not, major long-term problems gradually set in such as incompatibility between data,
hardware and software. The systems development department should therefore define and
136
Systems Analysis and Design Study Guide
disseminate an overall systems development strategy, including hardware and software choice
and acquisition to end users and monitor its application.
(iii) Responsibility for maintenance: - most systems developed by end users need to be
modified in the course of time as needs evolve. It is therefore essential that the systems analyst
make end users aware of the demands of possible future maintenance at the time when the
systems are created.
(iv) Ergonomic and human factors: - a frequently overlooked aspect of systems design and
implementation is that of matching the systems work place. Familiarity with the ergonomic
principles concerning such factors as physical layout is essential knowledge for the systems
analyst, but so are the aspects related to work organization, avoidance of stress and software
ergonomics which are very important in ensuring the best conditions for working with the new
system.
(v) The information center: - in order to support end user computing many organizations have
implemented the concept of information center with the key functions of:
(ii) End users can also incur hidden costs – the employees may create support costs
elsewhere.
(iii) Different units may duplicate efforts by producing different separate systems that
essentially do the same thing
(iv) Development of localized systems and database may conflict with the organizational
goals for the increased data sharing among operating units (sub–optimization).
137
Systems Analysis and Design Study Guide
(v) Managers outside the IS or area generally have limited skills which make it difficult for
them to evaluate end user development activities.
(vi) In some cases, lack of competence may result in failed projects: -systems that do not
work at all. In other cases, systems that seem to function adequately may actually produce
inaccurate results/output that that leads to bad decisions.
(vii) End users often fail to produce adequate documentation for their systems, which can
create maintenance problems later especially if the developers have left the organization.
(viii) End users may not understand or be able to implement organizational standards for data
security as a result they may fail to safeguard confidential data of properly backup data and
programs.
Information Centers
These are support departments, which provide assistance to people within the organization who
use computers. They also provide help to users who wish to develop their own appllications.
(ii) To provide technical advice on existing and new hardware: -their capability limitations,
speed etc.
(iii) To show users how to deal with all types of software: -application packages operating
systems, programming languages etc.
(iv) To encourage good practice throughout the organization e.g. systems or programs
documentation, backup procedures, quality checks etc.
(v)To provide general IT training and specialized training on new development equipment,
software, etc.
(vi) To help avoid overlap and duplication of efforts among the units and users.
(vii) To provide assistance and guidance to users developing their own systems.
Distributed Processing
Distributed processing means that processing facility is made available at a no. of sites instead of
a single computer centre. We can have;-
A number of computers at different sites not linked to each other
A number of computers linked to a central mainframe
A network of computers linked to each other without a central mainframe
all the computers in the network belong to the same organization.
138
Systems Analysis and Design Study Guide
Advantages
Each computer can be used to process data like a decentralized system. In addition, a
computer at one location can also transfer data and processing jobs to and from computers at
their locations.
It allows greater flexibility in placing the computer at the location where it is needed.
Better computer facilities are easily available to end users i.e. users can use micro computer
systems for processing small jobs
However, for complex jobs, they can easily access large computer systems
It facilitates quick and better access to data and information especially where distance is a
major factor
Telecommunication cost can be lower when much of the local processing is handled by on
site micro computers rather than distance central mainframe computers
Disadvantages
There is lack of proper security controls for protecting the confidentiality and integrity of the
user. Programs and data that are stored on line and transmitted over network channel
It is relatively easy to tap data communication line
One technique used to protect security and privacy over data communication line is
encryption. Encryption device is a coding device placed on either end of the data
communication line putting a very complex code on the data
At the other end of data communication line another encryption device is used to decode the
signal into to a meaningful message
Due to lack of adequate computing/communication standards, it is hard to link different
manufacturers into a smoothly functioning network. This means that several good resources may
not be available to users of a network because of incompatibility.
Due to decentralization of resources at remote site, management from a central control point
becomes very difficult. This normally results in increased complexity, poor documentation and
non availability of computer communication specialists at the various sites for proper
maintenance of the system
Duplication of equipment
Centralisation
When an organization has established a single computer department to provide data processing
services, this department is often referred to as a centralized computer facility.
It is called centralized because it alone supplies data processing support to all other
departments in the company.
Advantages
Cost effectiveness. The cost effectiveness of computer hardware resources is increased
because equipment is not duplicated at different locations
Co-ordination and control. Processing activities are easier to co-ordinate and control in a
centralized facility
Standards. The ability to impose and enforce processing standards is easier in a centralized
facility.
139
Systems Analysis and Design Study Guide
Disadvantages
Lack of accountability. It is difficult to track and fairly allocate the costs of the computer
processing facility to the specific departments based on individual department use
Unfamiliarity. The computer specialists responsible for the design of computer application
software ends up being responsible for working in many areas of the company with which they
are unfamiliar. As a result, the specialist often take a lot of time to understand the processing
requirements of a new department
This problem often causes delays in a project and sometimes leads to misunderstandings in
other words, some of the software developed may fail to meet them on time
Delays. In many cases, the data processing staff in centralized computer facilities has so
many demands placed on their time that users have to wait for a long time.
140
Systems Analysis and Design Study Guide
REVISION QUESTIONS
1. A particular software application within the organization for which you work is giving cause
for concern due to the large number of errors occurring early in its operational life. You have
been asked to chair a meeting that will clearly state the problem and recommend appropriate
action. The Managing director then wishes you to give him a short verbal summary of the main
issues and back this up with a report.
(b) Given control of this project, how would you have avoided the problem in the first place?
2. You are the project manager charged with the task of carrying out a cost-benefit analysis
exercise on a proposed computer-based application.
What techniques would you make use to demonstrate the costs and benefits of your proposed
system?
3. You have been asked by you managing director to prepare a report on a project which is
considered to be in difficulties.
(a) Describe what you would expect to be the symptoms of a failing project.
(b) Identify the typical causes of project failure.
(c) Identify also the possible consequences of project failure.
(a) Discuss the following systems implementation issues;
Training
Documentation
System changeover
File conversion
5. Investigating and documenting the current business system is one of the stages of the Systems
Development Life Cycle.
(a) Briefly explain two reasons why it is important that the analyst should investigate and
document the current business system.
(b) Briefly describe three methods or models used in investigating and documenting the current
business system.
6. An important aspect of systems analysis is the ‗fact finding‘ stage of a systems investigation.
Depending on the circumstances and the system being studied, several different methods of fact
finding may be used;
141
Systems Analysis and Design Study Guide
(c ) Give an advantage and disadvantage for using each of the methods stated in (a) above.
7. A small trading company has decided to computerize its order, dispatch and invoicing
procedures. It intends to select an integrated package to fulfill all its requirements. The owner of
the company is concerned about the control and security procedures of the proposed application
and so is particularly looking at the password and audit trail features of each package.
(a) (i) What are passwords and what is their primary function?
(iii) Briefly explain to potential problems with passwords.
(iv) (iii) Explain how each of these potential problems could be overcome.
(b )Describe the operation, content and purpose of an audit trail software package, in particular
identifying attributes to be recorded.
8. (a) Explain what is meant by the terms physical and logical design. How the features of a
structured systems methodology could be applied to overcome the problems previously
experienced by the company.
(b) The promotion of the so called ‗End user computing‘ requires not only support from the
information center, but the provision of suitable software aids.
What is meant by the respective terms ‗end-user computing‘, ‗information center‘ and ‗software
aids‘.
9.
(a) What is entity modeling and why is it used?
An organisation has several subsidiary companies, which are not subsidiaries of any other
organisation. Some of the organisation‘s directors also directors of other organisations. Each
subsidiary has a number of employees, each of which works only for that subsidiary. Each
factory is allocated to one subsidiary only. Because of the nature of their work, some employees
work at more than one factory within a subsidiary.
Each factory makes a number of products, some of which for ease of distribution are made at
various factories within a subsidiary. Each product needs various raw materials, which are used
in several products. An individual customer buys any number of products.
142
Systems Analysis and Design Study Guide
Describe how the correctness and quality of these deliverables can be ascertained.
11. A small chain of department stores is located in and around major metropolitan area .It is
about to implement in all stores point of sales system with linkages to a large centralized
computer . The stores all currently use conventional cash registers. You have been asked to assist
in the conversion process to the new system
(a) Evaluate the various approaches available for the system changeover and
recommend a method
(b) Produce a check list in sequence of those activities to be carried out during Implementation.
(c) Suggest as to how the new system might be evaluated after a period of operational running.
12. Ace Machine Tools is a medium sized engineering company. The sales director proposes to
purchase a standalone computer and automate the sales department‘s quotation and customer
order processes. You believe that there may be further advantages to be gained by linking the
new software to the existing stock control and accounting software.
You have a choice of purchasing standard application packages and adapting them for use, or by
commissioning a software company to write a dedicated suite of programs for your company.
Compare and contrast the two approaches.
13. List five benefits claimed by carrying out a Post Implementation Review.
14. In assessing the viability of projects, one criteria used is the economic feasibility which
involves evaluating the costs and benefits of the application concerned.
(a) Benefits can be classified as being either TANGIBLE or INTANGIBLE. Explain the,
meaning of these two terms and give two examples of each which might be applicable to a
stock control system.
(b) Costs can be described as being CAPITAL or ONGOING. Again, explain these two terms
and provide examples of each.
143
Systems Analysis and Design Study Guide
(i) Identify and describe the critical requirements that you would consider if you had to make
the choice.
(10 marks)
(b) Detail the benefits that can be expected from the use of a structured methodology.
(10 marks)
Question 2.
(a) At which stages in project development should the systems analyst use data flow diagrams to
assist in the analysis and design of the system.
(10 marks)
(b) Identify and comment upon the benefits to be gained from the use of data flow diagrams as a
functional analysis tool.
(10 marks)
Question 3.
Investigating and documenting the current business system is one of the stages of the System
Development Life Cycle.
(a) Briefly explain two reasons why it is important that the analyst should investigate and
document the current business system.
(10 marks)
(b) Briefly describe three methods or models used in investigating and documenting the current
business systems.
(10 marks)
Question 4.
(a) There are two stages of computer software testing:
- Systems testing
- User Acceptance Testing
(b) Certain deliverables in the System Development Life Cycle cannot easily be tested because
they are in the form of written documentation. Specifically, those deliverables likely to result
from the analysis stage such as DFDs (Data Flow Diagrams) and ERMs (Entity Relationship
models).
Describe how the correctness and quality of these deliverables can ascertained.
(10 marks)
Question 5.
Increasingly in systems development, use is being made of CASE tools.
(a) Briefly describe what a CASE tool is.
144
Systems Analysis and Design Study Guide
(4 marks)
(b) Additionally, in systems development, the following issues are considered to be important:-
Producing and maintaining documentation
Adhering to development standards
Maintaining a logical data dictionary
Prototyping
With reference to the above four issues, explain what advantages a CASE tool offers the system
developer compared to systems development using manually produced and maintained diagrams,
standards and documents.
(16 marks)
Question 6.
(a) Briefly describe the stages involved in a systems development cycle, starting with the
original identification of the problem by management and ending with a report back on
successful (or otherwise) implementation.
(12 marks)
(b) List the various skills that the analyst would be expected to employ during this cycle.
( 4 marks)
(c) Indicate the MAJOR human problems likely to be encountered by the analyst.
( 4 marks)
Question 7.
A particular software application within the organisation for which you work is giving cause for
concern due to the large number of errors occurring early in its operational life. You have been
asked to chair a meeting that will clearly state the problem and recommend appropriate action.
The Managing Director then wishes you to give him a short verbal summary of the main issues
and back this up with a report.
Question 8.
(a) Monthly meetings are held to monitor the progress of a particular system development. At
one such meeting there is an item on the agenda regarding ‗actual/planned progress‘.
Suggest an approach you would use for capturing progress information and suggest a method of
reporting.
(10 marks)
(b) The starting point for many system developments is the production of a Project Initiation
Document (PID). This will contain the initial information required for analysts to start work on
an IT development. Discuss in general terms the kind of information you would wish to see in a
PID or EQUIVALENT DOCUMENT.
145
Systems Analysis and Design Study Guide
(10 marks)
146
Systems Analysis and Design Study Guide
SUGGESTED ANSWERS
QUESTION ONE
(a)
Use of diagrams - which are easier to assimilate than large quantities of text thus giving
easier means of communication. They are also less liable to ambiguity or omission.
Use of structured language - which helps reduce the complexity to terse, unambiguous
statements.
Concentration on business requirements - the separation of the logical and physical
components of the analysis and design process. This enables analysts and developers to focus on
the business requirements rather than consider, too soon, the technical details.
Analysis of current physical system - existing system is studied and documented. This means
that the models will cover all sorts of peculiarities which are purely the result of how the system
is implemented as distinct from what it is supposed to achieve.
Derivation of current logical system - by stripping away the physical aspects of the current
system, the analyst forms a picture of what the system does, which can be used as a basis for the
specification of the new improved system.
Specification of required logical system - further detailed analysis to ensure requirements are
clearly understood.
Specification of required physical system - only when all the business requirements have
been specified is the design converted into a physical design for implementation.
(b) Benefits
Concentration on system data aspects leads to a flexible data structure amenable to change.
Use of diagrams and structured language improves communication and reduces errors.
Errors and omissions spotted more easily due to rigorous cross checking
Systems are built on business requirements and so should deliver business benefit.
Since technical aspects are addressed late in development cycle, design should be suitable for
implementation in a variety of environments.
Using a recognized structured method means that users are not tied to any one
developer.
Question 2.
(a).
Before fact finding to outline the system as it appears to be
During and after fact finding to show the system as it is
During the physical to logical conversion to simplify the existing system
During the BSO (Business Systems Options) stage to present different methods of tackling
the problems
To enlarge upon the selected BSO
Checks at various stages such as the Entity/Data store cross-reference
To help identification of events and functions
To present to users during walkthroughs
147
Systems Analysis and Design Study Guide
To clarify procedures and show how redundant/duplicated processes and data stores might be
simplified or removed
To demonstrate in overview terms how various different solutions might appear. This is a
guide only and will need enlargement later
To show the detail of selected options and act as a guide for further development of the
design of function processing and the data structure
To provide essential details for development of catalogues and ELHs
To act as a communication tool which the non DP person can readily comprehend thus
ensuring quality control of systems proposals at many stages through the project development.
Question 3.
(a). Reasons for investigating and documenting the current business system might include:
Many of the processes and functions of the current system will be required in any successor -
it is important that proposed computer systems do not exactly mimic the operations of the current
system. However it is likely that fundamental processes performed in the current system will be
required in the future system. Consequently these functions must be understood and documented
so that they can eventually be implemented successfully in the new system.
To gain the confidence of users - users need to have confidence in the analysts developing
the required computer system. One way of building this confidence is for analysts to competently
investigate, document and model the current system. This allows them to show their competence
in part of the life cycle in which the user is very familiar with. In general users value analysts
who understand their business systems. Investigating and documenting their current system gives
the analyst an opportunity to demonstrate understanding.
Understanding the system‘s problems is essential for solving them - in some instances the
investigation of the system identifies problems and difficulties that can be resolved without
recourse to further system specification and development. There may be unnecessary bottlenecks
in the process, duplicated clerical procedures and unnecessary checks and balances. Resolving
these problems may lead to improved system performance regardless of whether the system is
eventually computerized.
Questionnaires
Where not practicable to conduct an interview it may be possible to send a questionnaire listing
questions about the current system. They can be tested prior to distribution and each user is
asked exactly the same question.
148
Systems Analysis and Design Study Guide
DFDs
They are simple models which can be used to graphically document the operation of the current
system. The processes of the current system may be modeled with a standard set of symbols.
These diagrams can be presented to the user who can agree them as a true representation of
current business process.
Decision tables
In some cases the user may have explained processes which lead to a variety of outcomes
dependent on conditions. This can be modeled using a decision table where actions and
conditions are linked through a comprehensive set of combinations. If the analyst identifies
outcomes for each of these conditions then they can be fairly confident that they have fully
analyzed and documented the problem.
Question 4.
(a). Systems Testing
Individual programs are usually tested by the programmers who wrote them and by their team
leader who has certain testing responsibilities. Once a program has passed program‘ or ‗unit
‗testing it is passed on for system testing. System testing is usually undertaken by a systems
analyst or project leader.
Systems‘ testing considers whether the individual units or programs fit together properly. In
doing such tests the analysts will wish to verify that the programs interact successfully - passing
data from one to the other-and correctly.
Systems testing will also usually consider the error trapping and reporting facilities of the
system. Consequently the tester will enter values that will cause the system to fail or undertake
procedures leading to sudden or unpredictable failure. The ester will also need to ensure that the
error reporting messages are correct and that appropriate messages are displayed. The tester may
also take responsibility for ensuring that the interface is consistent e.g. same function key used to
quit the system and where appropriate it conforms to agreed standards and conventions.
Finally system testing ensures that the system fulfills its functional requirements. It is the last
chance to do this prior to the release of the system out of the department to the user.
UAT will consider the functional characteristics of the system but it is unlikely to replicate the
detailed range and format checks undertaken in system testing. By this stage users should expect
error trapping to work successfully. In contrast user acceptance testing will focus on the usability
149
Systems Analysis and Design Study Guide
of the system checking that the natural flow of the business process is reflected in the way the
software works.
(b) Systems and UAT is usually undertaken for physical working deliverables –programs or
systems whose behavior can be executed or documented. For example a program to calculate
average prices can be tested to see if it performs the calculation correctly. This procedure is not
always possible for deliverables early in the SDLC - such as DFDs and LDSs. Consequently
these are usually reviewed in structured walkthroughs. A structured walkthrough is a formal
meeting where a product is presented and checked for its:
Functional accuracy. This is usually undertaken by the user at the walkthrough. Their role is
to confirm that a business process has been properly understood.
Technical accuracy and adherence to standards. A standards or audit representative is present
to ensure that the product meets the quality standards defined in the methodology. The
walkthrough may also be attended by the presenter or author of the product. Walkthroughs are
also appropriate for testing working deliverables such as programs and systems and so are useful
at all stages of the SDLC.
Question 5.
(a). CASE stands for computer aided software/system engineering. A CASE tool is a S/W
package that supports the construction and maintenance of logical system specification models.
Many CASE tools are designed for a specific methodology and so support the rules and
interaction of the models defined in that methodology. More sophisticated tools permit S/W
prototyping and code generation.
(b). Documentation - the graphical editing facilities provided by all CASE tools means that high
quality, easily read documents can be produced. Furthermore changes to those documents can
easily be made and charts and models re-printed. Such editing is particularly useful with
diagrammatic models, such as DFDs and entity relationship models. It is very difficult to
maintain manually produced versions of these diagrams.
Standards - these define how development will be carried out. Individual models have standard
rules of construction e.g. a data store cannot be linked directly to an external entity in a DFD.
However there is nothing to stop the designer making such a connection in a manually produced
version and it will not be picked up until assessed in a quality review. A CASE tool cannot
produce such a diagram because it is not allowed to and in this way the CASE tool ensures that
standard construction rules are adhered to.
Data dictionary - this stores information about the constituent parts of the logical data systems
specification. There will be logical data dictionary entries for dataflows, data stores etc. A
manually compiled example is difficult to maintain and analyse. A CASE tool will hold all this
information in a computerised data dictionary. Reports and analyses will be available. The
150
Systems Analysis and Design Study Guide
logical data dictionary will also support the consistency checks performed by the CASE tool,
cross referencing, for instance, the logical data stores of the DFD to the entities of the entity
relationship diagram.
Prototyping - this can be supported in one of two ways, through developing screens and output
prints for the input and output dataflows. Each dataflow is defined in its logical content in the
data dictionary. The CASE tool may allow these logical contents to be displayed on a
demonstration screen and to link these screens together using menus and other dialogue
structures. Thus the user sees a demonstration of the system through the CASE software. A
second possibility is for the CASE tool to offer program and data generation. Such tools convert
the process descriptions of the logical data dictionaries into programs and the data stores/entities
into files/databases. The user can then experiment with the S/W. Any changes in requirements
are made in the definition of the models and the system regenerated for further use. In this way
the models and actual system are always in harmony.
Question 6.
(a). Stages
These will vary slightly, dependent upon experience and methodology, but should encompass.
Project Initiation/definition
Feasibility
Analysis
Design
Implementation
Production
Post Implementation review
(b). Skills/techniques
Interviewing, observation, questioning, document search, sampling, estimating, DFD, LDS,
ELH, presenting skills, walkthroughs etc.
Question 7.
Consider first the implications of the assignment find out who can contribute towards
resolving this issue and bring them together in a constructive environment - hence need to
consult, confer and set up workshop
Organise an effective meeting - where, when, careful preparation, well structured info given
(possibly in advance) clear presentation of ideas
151
Systems Analysis and Design Study Guide
Investigate the problem and identify the solutions - again consultation, analysis
Make a brief presentation to him - know your audience, your purpose, your material and
location
Write an accurate and comprehensive report - why are you writing, what does the reader do
as a result, do prewriting, writing and rewriting, remember structure of report Each of these is a
system task in itself.
Question 8.
(a). Implicit in this question is the need to track progress against plan for any contracted staff and
to support same. Responsibility for capturing this information lies with the Project Manager and
requires each member of the project team to be responsible for recording their effort towards the
project to include holidays, sickness etc. The process commences with the first activity on the
project and ends when the final activity is complete.
152
Systems Analysis and Design Study Guide
(b). Contents of a PID (Project Initiation Document) will vary but should contain
Terms of reference
Project Plans
Aims and objectives
Controls
Risks
Business case
Quality plan...and policy
Assumptions
Constraints
Project organisation
Priorities
Scope and boundaries
153
Systems Analysis and Design Study Guide
REFERENCES
1. Bentley, J. L. (2007). systems Analysis and design methods. New Delhi: Tata
McGwaraw-Hill.
2. Rosenblatt, S. C. (2006). Systems Analysis and Design. Boston: Shelly Cashman
Series.
3. Senn, j. A. (1989). Analysis and design of Information Systems. McGRAW-HILL
PUBLISHING COMPANY.
154