Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 67

Modern Systems Analysis

and Design

Dr. Basma Mostafa


Assistant Prof.
Definition of Terms

• System
•It is a group of related and interacting components that work together
to achieve a desired purpose or a set of objectives. A system takes
input and performs data processing to give some desired outputs.
Basically, there are three major components in every system: input,
processing, and output.
• Information System
•An information system is an arrangement of people, data, processes,
interfaces, networks, and technology that interact to support and
improve both day-to-day operations in a business (sometimes called
data process), as well as support the problem-solving and decision-
making needs of management (sometimes called information service).
Definition of Terms (cont.)

• Systems Analysis
•System Analysis is the study of a business problem domain to
recommend improvements and specify the business requirements for
the solution.

• System design
System design is the specification or construction of a technical,
computer-based solution for the business requirements identified in a
systems analysis.
Processes, interfaces, networks,

• System Analysis and Design (SAD) mainly focuses on −

• Systems
• Processes
• Technology
• Purpose- A system has a set of objectives to fulfill.
• A system must give priority to the objectives of the
organization as compared to the objectives of a
subsystem.
• Examples of quantifiable objectives:
• Increase company productivity by 50% in the next
two years
• Reduce wastage of paper by 20%
Characteristics • Reduce the time taken to process 100 certificates to
one day
of a system • Subsystems- A system is made of several sub-systems.
A sub system is a part of a bigger system which
performs a specific function.
• Subsystems communicate with each other.
• They reduce system complexity and enhance
understanding of system functional requirements.

• A Boundary- A system has a boundary within which all


of its components are contained, and which establishes
the limits of a system, separating the system from other
systems. The boundary
f.Feedback - It monitors the output to check that it conforms to the expected goals and
objectives. Variations from the goals or outputs are fed back to the system in order to adjust the
system towards the set goals. Feedback may be positive or negative.

Negative Feedback
This is a system that works on the principle of trying to reduce the fluctuations around a set
standard. For example if there is credit limit of those customers who have outstanding debts, it
restricted them it is known as negative feedback since the action is taken opposite to deviation.

Positive Feedback
It is a system that attempts to increase a detected deviation. It helps the system to adjust but
acting in the same direction in which deviation has occurred e.g. If the demand for any product
increases and as a result, production is also increased, then it is positive feedback it helps to
increase the efficiency of the system.

Exercises
• Think of examples of systems that have positive and negative feedbacks

Constraints of a System
A system must have three basic constraints −
• A system must have some structure and behavior which is designed to achieve a predefined
objective.
• Interconnectivity and interdependence must exist among the system components.
• The objectives of the organization have a higher priority than the objectives of its subsystems.

For example, traffic management system, payroll system, automatic library system, human
resources information system.

Types of systems
a. Deterministic Systems (Mechanistic Systems)
These are the systems that function according to some predetermined procedure and have results
previous states, they can be described only in terms of probable behaviors. They have a lot of
uncertainty and include business and economic systems such as a bank giving services to
customers. E.g. share price

Example, the inventory systems, average stock, average demand, average replenishment
time may be predicted but exact values of those factors an instance may not be known.

c. Cybernetic system (Self Organizing/ Adaptive)


These are systems that have to adapt to their environments/ react to stimuli they learn from their
mistakes, so that they do not always react in the same way to a particular input. Examples are the
human body adapts to changes in temperature to keep the body warm or increase the heart beat
to cope with some external need, social systems, organizations, plants.

Physical or Abstract Systems


• Physical systems are tangible entities. We can touch and feel them.
• Physical System may be static or dynamic in nature. For example, desks and chairs are the physical
parts of computer center which are static. A programmed computer is a dynamic system in which
programs, data, and applications can change according to the user's needs.
• Abstract systems are non-physical entities or conceptual that may be formulas, representation or
model of a real system.

Open or Closed Systems


• An open system must interact with its environment. It receives inputs from and delivers outputs to the
outside of the system. For example, an information system which must adapt to the changing
environmental conditions.
• A closed system does not interact with its environment. It is isolated from environmental influences.
A completely closed system is rare in reality.

Adaptive and Non Adaptive System


• Adaptive System responds to the change in the environment in a way to improve their performance
and to survive. For example, human beings, animals.
• Probabilistic System shows uncertain behavior. The exact output is not known. For example, Weather
forecasting, mail delivery.

Social, Human-Machine, Machine System


• Social System is made up of people. For example, social clubs, societies.
• In Human-Machine System, both human and machines are involved to perform a particular task. For
example, Computer programming.
• Machine System is where human interference is neglected. All the tasks are performed by the
machine. For example, an autonomous robot.

Man–Made Information Systems


• It is an interconnected set of information resources to manage data for particular organization, under
Direct Management Control (DMC).
• This system includes hardware, software, communication, data, and application for producing
information according to the need of an organization.
Man-made information systems are divided into three types −
• Formal Information System − It is based on the flow of information in the form of memos,
instructions, etc., from top level to lower levels of management.
• Informal Information System − This is employee based system which solves the day to day work
related problems.
• Computer Based System − This system is directly dependent on the computer for managing business
applications. For example, automatic library system, railway reservation system, banking system, etc.

Systems Models
Schematic Models
• A schematic model is a 2-D chart that shows system elements and their linkages.
• Different arrows are used to show information flow, material flow, and information feedback.
o The processor through which transformation takes place

o The program(s) required for processing

o The output(s) that result from processing.

Classification of systems
a. Open system
These are systems which interact with the environment. Example: the biological and social
system. All business organizations are also open systems since they must have the capacity to
adopt in the future of changing competition, changing markets e.t.c. The major components
which together constitute the open system are:-

i. Input – This may take the form of money, materials energy, decisions, information e.t.c
ii. Process- This changes input into desirable output e.g. Changing data to information
iii. Output – This is the systems reason for its existence
iv. Sensor –stimuli, response to the effect of the environment.
v. Feedback – This is the systems way of monitoring the environment it operates in a way
which it permits adjustments to survive and maintain dynamic equilibrium.
vi. Standard – This allows control to be exercised allowing variances to be assessed and
action to be where necessary.
vii. Comparator – This is the means by which comparison is made between the standard and
actual performance or results.
viii. Effectors – Takes any action to correct any variance or deviation discovered by the
comparator.

b. Closed systems
A closed system is that which does not interact with its environment. The system is not
influenced by its environment. (It does not take in from or give to it.) The system behavior
occurs because of internal interaction and is more relevant to scientific than social systems. They
do not obtain modification from their environments. A computer program is a relatively closed
system because it accepts only previously defined outputs. In fact, no system can be a completely
closed system for a long time.
problem or opportunity on which you are focusing. In addition, different classes of systems may
require different methodology techniques, and tools for development. The following are some of
the classes of information systems.

a. Transaction Processing Systems (TPS)


TPS automate the handling or transaction, which can be thought of as simple, discrete events in
the life of an organization. Data about each transaction are captured. Transaction are verified and
accepted or rejected, and validated. Transactions may be moved from process to process in order
to handle all aspects of the business activity. The analysis and design of a TPS means focusing on
the firm’s current procedures for processing transactions, whether manual or automated.

The goal of TPS development is to improve transaction processing by speeding it up, using fewer
people, improving efficiency and accuracy integrating it with other organizational information
systems, or providing information not previously available.

Examples of TPS
• Order Entry
This is the TPS which processes customer orders. Orders may arrive by a variety of means: mail,
phone, fax etc. In cases of repeat orders, a trigger within the system will be the source.
• Inventory
An inventory system monitors the quantity of each product available for sale and helps ensure
that the proper amount of stock is maintained. All movement of goods in and out of the store or
warehouse will be recorded.
• Distribution
This involves ensuring the best mode of transport is selected to deliver goods to the customer on
time. Customs clearance, insurance and freight forwarding are the areas of concern here.
• Sales Invoicing
The main role of the sales invoicing system is to receive delivery information from the
Distribution System and to prepare invoices to be sent to the customer. Discounts are applied
where appropriate. In some systems, monthly statements of accounts are also prepared.
• Accounts Receivable
As the name implies, this TPS records the amount owed by customers and the payments made.
The data comes from the sales invoicing system.
b. Management Information System (MIS)
MIS takes the relatively raw data available through a TPS and converts them into a meaningful
aggregated form that managers need to conduct their responsibilities. It provides the
management with the report usually in predetermined, fixed format e.g. detailed Summary.

Developing an MIS calls for a good understanding of managers use information in their jobs.
MIS often requires data from several transaction processing systems e.g. Customer order
processing, raw material purchasing and employee time keeping.

Decision Support Systems (DSS)


DSS are designed to help organizational decision makers make decisions. It provides guidance in
identifying problems, finding and evaluating alternative solutions, and selecting of comparing
alternatives.

Instead of providing summaries of data, as with a MIS, it provides an interactive environment in


which decision makers can quickly manipulate data and models of business operations.

A DSS is composed of a database (which may be extracted from TPS or MIS), mathematical or
graphical models of business processes, and a user interface that provides a way for the decision
maker, usually a non technical manager, to communicate with DSS.

A DSS may use both hard historical data as well as judgments (what if scenarios) about
alternative histories or possible futures. In many cases, the historical data came from a firm’s
data warehouse. One form of DSS, an executive information system, emphasizes the
unstructured capability for senior management to explore data starting at a high level of
aggregation and selectively drilling down into specific areas where more detailed understanding
of the business are required.

The System Analysis and Design for a DSS often concentrates on the three main DSS
components
- Database
updated into a DSS database.

g. Model Management- The Model Management subsystem contains the model base.
Models are software programs that support the user in a particular decision making
situation.

h. Expert Systems
ES attempt to codify and manipulate knowledge rather than information. It provides expert
advice by asking users a sequence of questions dependent on prior answers that lead to a
conclusion or recommendation. It simulates thinking for those with less knowledge. The focus on
developing on ES is acquiring the knowledge of the expert in the particular problem domain
knowledge engineers perform knowledge acquisition

Examples:- Physician Diagnostics


Tools: LISP, Prolog

In addition, many organizations recognize scientific (technical computing and office automation.
There are several other important systems concepts with which systems analysts need to be
familiar.

Components Of Information System

An Information system is a combination of hardware and software and telecommunication


networks that people build to collect, create and distribute useful data, typically in an
organisational, It defines the flow of information within the system. The objective of an
information system is to provide appropriate information to the user, to gather the data,
processing of the data and communicate information to the user of the system.
Components of the information system are as follows:

1. Computer Hardware:
Physical equipment used for input, output and processing. What hardware to use it depends upon
3. Procedures
3. Databases:
Data are the raw facts and figures that are unorganised that are and later processed to generate
information. Softwares are used for organising and serving data to the user, managing physical
storage of media and virtual resources. As the hardware can’t work without software the same as
software needs data for processing. Data are managed using Database management system.
Database software is used for efficient access for required data, and to manage knowledge bases.
4. Network:

• Networks resources refer to the telecommunication networks like the intranet,


extranet and the internet.
• These resources facilitate the flow of information in the organisation.

• Networks consists of both the physicals devises such as networks cards, routers,
hubs and cables and software such as operating systems, web servers, data servers and
application servers.

• Telecommunications networks consist of computers, communications


processors, and other devices interconnected by communications media and controlled
by software.
• Networks include communication media, and Network Support.
5. Human Resources:
It is associated with the manpower required to run and manage the system. People are the end
user of the information system, end-user use information produced for their own purpose, the
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
Systems Analyst
Systems analysis is the key individuals in the systems development project. The work of a
system analyst is to develop a new system and use information resources in n organization. He is
required to develop a new system that will operate effectively, efficiently and economically and
at the same time meet the user and management requirement.

Tasks of a system analyst


a. Investigate how the current system operates and its problems and advantages.
b. Analyze the performance of the current system with reference to the organization goals
and objectives
c. Conceptualize, develop and evaluate ideas on the proposed solutions to improve the
existing system
d. Identify user requirements and translates into additional system specifications
e. Design the new system that will meet the identified system requirements: program
structures, data and file structures
f. Quality control/management Implements he system and makes sure that it meets the
requirements of the user.

Role of a system analyst in an organization


a. Act as a catalyst between the user and their job performance. He examines the
opportunities and solutions and heir use in increasing user comfort, satisfaction and
performance
b. Adviser to management in the use of computers in monitoring and assessment of
performance and decision making processes.
c. Adviser to the user on the effective use of computer
d. Educator- Educate the users on their responsibility and their roles in the analysis and
design process
e. Salesman- Sells ideas and concepts to departmental heads and managers by convincing
them on the advantage of the new system
f. Communicator- He puts ideas across a wide range of people inside and outside the
organization and communicates to people of varied social backgrounds
g. Resolve conflicts- Arising from different people and departments inline with the
company’s goals and objectives
c. Good user rapport- Necessary in order to reduce hostility to change in the work
environment
d. Interpretation skills- Necessary to specify system and user requirements and in the
design of correct system
e. Analysis and design skills - Develop a model and translate ideas into a system using a
methodical approach and techniques to communicate with development team members,
users and the management
f. Team management skills - To plan and manage projects and project team
g. Imaginative and creative - Should be able to produce solutions that meet the user
requirements in a creative manner
h. Academic intelligence- Remove ambiguity in the system, resolve conflicts and produce
an agreed upon operation and problem solution
i. Communication Skills-This is the ability to communicate clearly and effectively with
others- users, information system professionals and management. Communication takes
many forms, from written (memos, reports) to verbal (phone calls, face to face
conversations) to visual (presentation slides, diagrams) oral communication and listening
skills are considered by many as most important Comm. Includes:-Interviewing and
listening, the use of questionnaires and written and oral communication. This
communication takes the following terms:-
i. Meeting Agenda
ii. Meeting Minutes
iii. Interview summaries
iv. Project schedules and descriptions
v. Memoranda requesting information, an interview, participation in a project
activity, or the status of the project.
vi. Request of proposal from contractors and vendors.

Constraints in Analyzing and designing software systems


When the project has been agreed upon and approved by management, the system analyst and
the development team could be faced with constraints in the management of the project. The
constraints may arise from the project requirements or from users of the system.

Project constraints
User Constraints
Constraints that may arise from the users are:
g. Conflicting needs- Conflicts in the work plan between different departments that may
cause conflict in terms of how the project should be done and priority in the organization.
Some departmental heads may have interests they wish to protect.
h. Resistance to change- People normally may not be willing to change their work
practices which has been routine practices or may result in an increase in the work load
i. Fear - The users may fear that computers will result in the loss of their jobs and therefore
become unwilling to cooperate with the analyst.

Underlying principle in system development


j. Get the owners and users involved- The analyst and his development team must make
time for owners and users; insist on their participation and seek agreement from them on
all decisions that may affect them. Owner and user involvement and education, minimize
problems of resisting change and helps to win acceptance of new ideas and technological
change.
k. Use a problem-solving approach- The classical problem-solving approach is as follows:
i. Study and understand the problem (opportunity and/or directive) and its
system context.
ii. Define the requirements of a suitable solution.
iii. Identify candidate solutions and select the “best” solution.
iv. Design and/or implement the solution.
v. Observe and evaluate the solution’s impact, and refine the solution
accordingly.
l. Establish phases and activities- The life cycle consists of four major phases: Systems
planning, Analysis, Design and Implementation. The phases are usually broken down into
activities and tasks that can be more easily managed and accomplished. The phases of a
project should be completed top to bottom, in defined sequence.

m. Establish standards for consistent development and documentation- Systems


development standards usually describe;
i. Activities
ii. Responsibilities
f. Don’t be afraid to cancel or revise scope- A significant advantage of the phased
approach to systems development is that it provides several opportunities to reevaluate
feasibility. At each checkpoint the analyst should consider:
i. Cancellation of the project if it is no longer feasible
ii. Re-evaluation of costs and schedule if project scope is to be increased
iii. Reduction of scope if the project budget and schedule are frozen, but not
sufficient to cover all project objectives

N.B. Project cancellation can have a negative impact especially after a contract has been signed
between the analyst and the client. Thus it should be avoided at all costs.

g. Divide and conquer- All systems are part of large systems called (super systems) and all
systems contain smaller systems called (subsystems). System analysts must be mindful
that any working sub systems interact with its super system. The analyst may need to
divide the system into its subsystems in order to easily conquer the problem and build the
large system. By dividing a large problem (system) into more easily managed pieces
(subsystems), the analyst can simplify the problem solving process.
h. Design systems for growth and change- Systems that are designed to meet only current
requirements are difficult to modify in response to new requirements. Entropy is a term
system scientists use to describe the natural and inevitable decay of all systems. After a
system is implemented, it enters the support phase of the life cycle. During the support
phase, the analyst encounters the need for changes that range from correcting simple
mistakes, redesigning the system to accommodate changing technologies and making
modifications to support changing user requirements. Many of these changes direct the
analyst and programmer to rework former phases of the life cycle. Eventually, the cost of
maintenance exceeds the costs of starting over.

THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)


The Systems Development Life Cycle refers to the phases of development through which a
computer-based system passes.

In summary the phases are:


Methods of problem identification
a. Interview employees about their issues with the current system
b. Analyzing the total costs of the current system
c. Analyze key external factors that may point towards developing a new system
d. Analyze performance of the existing system

Once the problem has been identified and defined, it is presented in the project initiation
document which:
a. Gives a statement of the problem to be solved
b. Defines the goals and objectives of the project
c. Specifies the scope of the system
d. Specifies the constraints and risks of the project
e. Specifies the stakeholders
f. Understand the operation of the current system and its problems
g. Identify the possible requirements of the new system
h. Identify a range of possible solutions

After the problem and possible alternative solutions have been identified, it is necessary to find
out the viability of the project before committing too many resources. This is done in the
feasibility study stage.

2. FEASIBILITY STUDY
Using the project initiation document it is necessary to find out the viability of the project before
committing too many resources. This will be done by seeking alternative solutions. Rarely will
an organization have one possible solution. During this stage, alternative solutions are examined
and cost verse the benefits are compared, in order to see which would best suit the organization.
In order to arrive at a final decision, sometimes a trade off has to be made. For example fewer
functions for less funds

The purpose of the Feasibility Study is to investigate the project in sufficient depth to be able to
provide information that either justifies the development of the new system or shows why the
project should not continue.
c. Operational/Functional Feasibility-It addresses the question whether the new system
operations are acceptable to the users. This involves consultation with departments to find
out whether the solution satisfies the user objectives and can be integrated with the
current system. It also addresses the effect on:

i. General attitudes, skills and retraining of the current uses


ii. Job restructuring
iii. Organization restructuring

d. Social Feasibility- It addresses the needs of the user on how they will be affected by
computerization. It addresses issues such as:

i. Skills requirements for users


ii. Redefinition of user job specifications
iii. Staff motivation

e. Schedule Feasibility- This is the process of assessing the degrees to which the potential
time frame and completion dates for all major activities within a project meets
organizational deadlines and constraints for affecting change. Detailed activities may
only be feasible if resources are available when called for in the schedule.

f. Legal and Contractual Feasibility-This addresses whether the project meets all legal
and contractual laws.
i. Legal-Copyright or non disclosure infringements, labor laws, antitrust
legislation (which might limit the creation of systems to share data with
other organizations).
ii. Foreign trade regulations – Some countries limit access to employee data
by foreign corporations.
iii. Ownership of software for use of hardware or software.

g. Political Feasibility-The process of evaluation how key stakeholders within the


organization view the proposed system. Those not supporting the project may take steps
to block, disrupt, or change the intended focus of the system.
management, users and operators.
• Development plan i.e. a suggested project plan, and how it will be implemented.
•Costs and benefits i.e. a detailed analysis of the costs that will be incurred in developing,
installing and operating the system and the monetary value of the various types of benefits that
the new system will bring.
•Alternatives considered i.e. identification of the various alternatives that have been
considered , together with explanations of why they have been rejected in favour of the
recommended approach.
• Conclusions and recommendations: either:
(i) Proceed with the full detailed analysis
(ii) Review the terms of reference or the scope of the study before proceeding further
or making any judgement on feasibility
(iii) Scrap the project as it is not feasible, that the resources could be better spent
elsewhere.

3. SYSTEMS ANALYSIS
After the analyst has planned for the project the next phase is to analyze the system. It is
necessary to do a detailed analysis aimed at finding out WHAT is to be done to fulfill the need to
solve the problem. The question on HOW to solve the problem will be addressed in the Design
phase.

The main purpose of analysis is to determine the requirements of the new system and the user
requirements. It involves fact gathering and documentation of the user requirements and system
functional requirements. The people involved in the analysis process include the analyst, users
and operation managers.

System requirement determination


This is where user requirements are developed. The information is gathered from users on what
the system should do.

Deliverables and Outcome


• Information collected from observation of users, interview transcripts, questionnaire
• Policies, Systems, procedures
• How has the department established its current policies are they written down?
• Determine whether the department policies are consistent with its objectives.
• Determine whether the policies are understood by staff or communicated to staff.
• Determine how the management ensures that the policies are adhered to.

Organization Structure
• Establish organizational charts for the departments
• Establish whether responsibilities are clearly defined
• Establish whether the workload is efficiently shared among staff
• Establish whether the organization structure can be improved

Operations and Controls


• Rules governing how data are handled and processed
• Key events affecting data values and when these events occur
• Exceptional cases dealt with and how they’re dealt with.
• Determine whether the quality of work is adequate or whether it can be improved
• Determine whether the efficiency can be improved.

Personnel
• Staff recruitment procedures, working conditions
• Whether staff are used to full potential
• Systems and procedures for job specification, approvals
• Adequate system for staff training and development.

Equipment and the office


• General condition of office equipment
• File storage methods
• Office layout

Traditional Methods of Determining Requirements


The traditional methods of gathering data include:-
plan for the interview by determining before hand:

• What information to be obtained, purpose and content


• The people to be interviewed

Conducting an interview
The interview should have the following three parts:
a. Introduction- It is necessary to introduce the interview by giving the interviewee any
background information and clear explanation on the objectives, scope, and topics to be
covered in the interview.

b. Conducting the interview- The analyst should be in full control of the interview and
avoid barriers to communication or digressing from the topic by:

i. Proceed in an organized and controlled manner and use the estimated time for
each item.
ii. Give the participant opportunity to express themselves in a free and unrestricted
manner
iii. Observe the body language such as gestures, facial expressions that may convey
values and opinions
iv. Encourage the participants where necessary by nodding, smiling or keeping an
eye contact.
v. Maintain a free and friendly atmosphere

c. Concluding the interview-The interviewer should keep the agreed duration of time. The
interview should be concluded with a brief summary of the discussion. The analyst
should also write down minutes that can be used as a reference in the follow up meeting.

Interviewing skills
• Listening- This will encourage the person talking to volunteer information
• Questioning- Prepare the required information and type the questions required to obtain
information an also control the interview
b. Closed-ended questions – Questions that ask responded to choose from among a set of
specified responses such as:-
• True or false
• Multiple choice
• Rating a response – from bad to good
• Ranking items in order of importance

Advantages
• Takes less time
• More topics can be covered
• Work well when major answers to questions are known
• Unlike collecting the info-via questionnaire, you can see body language and voice tone as
an aid to interpreting the interviewee’s response
• You can include an “other” option to encourage interviewee to add unanticipated
responses.

Disadvantages
• Useful information that does not quite fit into the defined answer may be overlooked
• Interviews are a very effective way of communicating with people and obtaining
important information. However, interviews are very expensive and time consuming to
conduct.

2.Questionnaires-Used to collect similar data from a large number of people sometimes in


different locations. They are used when it is not possible to interview people due to time,
distance and cost.

Advantages
• Not very expensive to administer per respondent
• Information can be gathered from many people in a short time
• Less biased in interpretation of results

Guidelines when designing a questionnaire


• Much more effective use of your time
• Interviewing several people together allows them hear the opinions of other key people
and give then an opportunity to agree or disagree.
• Synergies also often occur – comments of one person may add more idea to another
person.

Disadvantages
• Difficult in scheduling it by finding a convenient time and place for everyone

4. Observation
This requires that the analyst observes the work process which helps to obtain more firsthand and
objective measures of employee interaction with Information System. In some cases, behavioral
measures will be a more accurate reflection of reality of what employees themselves believe. In
other cases, it will substantiate what the employees themselves have said. It is not always
possible in a real organizational setting. The method is not totally unbiased since observation can
cause people to change their normal operation behavior.

Advantages
• First hand information is obtained

Disadvantages
• Time consuming
• Only a limited number of people at a limited number of site can be observed
• Yields only a small segment of data from a variety of data sources.
• Cannot be continuous hence you only find a snapshot image of the person or task

5. Record (Document/ Procedure) Inspection & Analysis


Involves perusing through written records to obtain quantitative data, this may give information
on:
• Types of transaction
• Frequency of transaction
• Volume of data handled
Major roles are setting agenda, resolving conflicts and soliciting for ideas
2. Users – This are the people who interact with the system.
3. Manager – Provide insight into new organizational directions, motivations for and
organization impacts of system and support for requirements determined during the JAD
session.
4. Sponsor- can attend to learn from user and managers, He/ She not run or dominate the
process.
5. Scribe – takes notes on the proceedings of the sessions using a laptop or personal
Computer.
6. Information System staff e.g. programmer, database analysts who may attend to learn
from the discussion

The session should be in a room where participants sit around horseshoe shaped table, equipped
with, white boards, Laptops, a printer for making copies of what is discussed and other
audiovisual tools. The end result of a JAD session is a set of documents that detail the workings
of the current system related to the study of the new system.

Problems of JAD sessions


• No time for everyone to speak in a large group
• Some people dominate the meeting while others speak absolutely nothing.
• Some people are afraid to speak not for fear of being criticized.
• Most people are not willing to criticize or challenge their bosses in meeting.

2. Prototyping
Prototyping is the development of a scaled down system used to enhance the understanding of
the user and used to define the user interface requirements. Prototyping emerged because most
managers have a good idea of what they want in an information system, but they do not know
exactly what they want. Prototyping allows quick conversion of basic requirements into a
working, though limited, version of the desired Information System. This will then be viewed
and tested by users. It will enable the users to modify existing requirement and generate new
ones. The analyst can then redesign the proto-type to operate the suggested changes. This is an
iterative process.
interfaces.
• Phase 3: Refine the Prototype System- Users sit down at a terminal or PC and evaluate
portions and eventually all of the prototype system. The system is then expanded and
refined to meet the users’ total information needs.
• Phase 4: Develop operational system- The prototype system is custom coded.

Advantage of prototyping
• Because users have an active role in the development process, prototyping often leads to
greater user satisfaction with the final system.

Disadvantage of prototyping
• Because users gain experience during development in working with the system, it is
likely they will be reluctant to relinquish the prototype if they have become attached to it.
False expectations may arise, such as a rapid response time.
• A tendency to avoid creating formed documentation of system requirements.
• Prototypes may not be easy to visualize for initial users and difficult to adapt to other
users.
• Prototypes are often built as stand-alone systems, thus ignoring issues like sharing data
and interacting with other existing systems.

Prototyping is most useful for requirements determination when:


• User requirements are not clear or well understood which is the case for totally new
systems or systems that support decision making
• One or a few users and other stakeholders are involved with the system.
• Possible designs are complex and require concrete form to fully evaluate.
• Communication problems have existed in the past between user and analysts and they
want to be sure the requirements are specific.
• Tools and data are readily available to rapidly build working systems.

You can build a prototype with any computer languages or Development tool, but special
prototyping tools have been developed to simplify the process. A prototype can be developed to
simplify the process. A prototype can be developed with some (fourth generation tools) 4G, with
the query and screen and report design tools of a DBMS and with CASE tools.
d. Rapid Prototyping.-This is one method of achieving rapid applications development
(RAD). The fundamental principle of any RAD methodology is to delay producing a
detailed system design document until after user requirements are clear. RAD
methodologies emphasize on gaining user acceptance of the human system. Interface and
developing core capabilities as quickly as possible, sacrificing computer efficiency for
gains on human efficiency in rapidly building and rebuilding a working system

Stages of Requirement analysis


e.Requirement definition- Translates the data gathered in the analysis into a set of requirements
in a natural language. It must be clearly understood by the organizational managers, technician,
end users, analyst and his development team. Requirement definition defines what the problem
is using natural languages. For example software must provide means of recording the payment
of fees.

f.Requirement specification- Expands the requirement definition to give more details. For
example the fee paid by the user must be entered by the user and verified by the machine

Requirement specification document must satisfy the following criteria:


• Validity- The specification is valid for the required functions by the user
• Consistency- There is consistency in definitions and there are no conflicting requirements
• Completeness- Data definition has all necessary parts and functional requirements and
constraints
• Realistic- The specification can be achieved within the hardware and software constraints

Examples of requirement specification


• The system will be able to use a query to create a mail merged personal letter
The system must create an invoice in less than three seconds
• The system will be able to print a management report onto A4 paper portrait
layout

N.B. Statements such as “the system will generate reports very fast” are not measurable and
thus should not be used.
• Functionality-The system will be able to perform the functions intended by the user
adequately and avoid user frustration
• Accurate-The system should be able to produce acceptable levels of accuracy in
processing and performing requirements
• Acceptability- The system will be able to meet the user requirements and needs
• Usability- This refers to the user friendliness or ease of use in order to reduce human
discomfort due to effects like fatigue and effort in learning or using the software
• Flexibility-It is adoption of the software to change within the organization. Some of the
changes include growth of the organization. That will need additional functions, changes
in administrative structures and organization policy.
• Maintainability-Should be able to reduce the client’s maintenance costs.
• Portability- The ability to transfer the software from one computing environment to
another with minimum effort and cost. This is necessary due to rapid changes in
technology, which affect the organization

Design Constraints
• Time- The software should be as much as possible be produced within the expected time
duration
• Cost- The cost of the software should be within the expected budget. This may reduce
some of the options available in the software
• Resources- Refers to resources used in the software development and implementation,
especially the hardware and software
• Existing equipment- The software should as much as possible, consider the existing
hardware and software so that it can be able to send and receive data and messages from
the existing software and hardware
• Methods and standards- The procedures and the software development methods a well
as tools and standards of documentation in the organization may affect the software

Elements to design
a. Input design
b. Output design
c. User Interface design
d. Dialogue design
• Are most suitable to user needs
• Use appropriate format of data
• Most suitable for the volume and speed of data
• Will ensure accuracy of data

The process used to enter data may involve some or all of the following steps:
• Initial recording by the user
• Transcription of data into an input document
• Conversion of the human readable form to computer readable form
• Verification of data conversion to remove errors
• Entry of corrected data into the computer
• Validation of the data in order to ensure that the data is logically correct
• Correction of the errors noted by the system

Input Methods-The system and machine requirements involve the method of capturing data
from human sensible form to machine sensible form. There are four main methods of capturing
data from the source documents and converting them into suitable form for storage:

i.Source document conversion-The source document is assumed to be a filled form such as


application forms, order forms and invoices. The data is normally batched together and a clerk
enters the data into a computer using the keyboard as the input device. The type of device used
should enable the programmer or clerk to minimize data entry errors.

ii.Byproduct data capture- The method assumes that the data is entered directly into an
intermediate machine such as a cash register and afterwards transferred into the computer

iii.Direct data capture- It enters data from the source directly into the computer without data
conversion. Direct data capture may use peripheral devices or intelligent terminals.

iv.Online data capture- Data is entered directly in to a computer under program control. Each
type of data or transaction I entered one at a time.

b. Output design
layout. The design considers:
• Purpose of the data
• Frequency of output and expected speed of response
• Volume of data and action required
• Sequence of data
• Output medium
• Screen or page layout and size
• Most of the outputs are given inform of forms and report.

Form- A business document that contains some predefined data and may include some areas
where additional data are to be filled. Most forms have a stylized format e.g. product order
forms, employment applications and class registration sheets. Forms are used to present collect
of information on a single item such as a customer, product or event .A form can be used for both
input and output.

Report-A business document containing only predefined data; it is a passive document used for
reading or viewing. A report typically contains data from many unrelated records or transactions
often a report has rows and columns of data, but a report may consist of any format.

c. Dialogue Design
Dialogue design is the process of designing the overall sequence that users follow to interact
with an information system. A dialogue is to sequence in which information is displayed to and
obtained from a user. As a designer, you should select, the most appropriate interaction method
and devices and to define the conditions under which information is displayed and obtained from
users. Most people use the keyboard for input and the screen for feedback from the computer
system to pride flexible and interactive dialogue. Screen dialogue forms a central feature in
design.

The main dialogue types between the user and the computer are:
• Menu driven commands- The computer provides the options in a menu for the user to
check the desired command
• Command language- The user types in commands to which the computer process tasks
• Templates/ form filling- The computer provides a form that can be used to enter data or
choice of possible commands to choose from.
c. Extension of user workspace-The computer interface should be an extension of the user
work environment by priding all the tools he requires to perform all the necessary tasks
without leaving the workbench. The workspace defines the tools and information
required to perform tasks by a user and the layout of information in an appropriate
manner, which simplifies the tasks being performed by the user. A good workspace
should provide the mental models, which simulates a perfect work environment.
A graphical design tool that represent solution to a problem. Its purpose is to show information
flow.

Uses of flowcharts
i. Communication tool- It is a convenient tool for communicating ideas and concepts. It
provides a concrete visual medium foe describing complex plans.

ii. Planning tool- It is a flexible tool when planning and designing a new system. It enables
designers to draw concisely, on paper the essences of the system and its flow line. It helps
to visualize the relationship and movement that will exist within a system, while still in
the planning stage.
iii. Provides an overview of a system- It gives a bird’s eye view of major steps and
processes

iv. Demonstrate relationships- It points out relationships that may not be readily obvious
from verbal description

v. Documents a system- It records graphically, formally and permanently the important


elements of a system. This facilitates making changes, revision and modification at a later
date.

Flow chart symbols


Manual operation
Direction symbol

Manual Input

Fial Product

Screen Display

Rules when using flowcharts


• Be consistent in using names and variables

• Flow lines should be drawn from top to bottom, right to left or left to right.

• You should not have crossing lines

• It is recommended that if it is necessary to break a flowchart, it should be the


Input/Output point by use of appropriate connector

Example 1
A bus company charges full fare on those aged 18 years and above. The rest pay half fare. Draw
a flowchart for this.
N
Age>=18

Print full fare Print half fare

Stop

Exercise
1. In a certain course, a student is admitted for a diploma course if he has a grade C+ and
above or is over 19years of age. Others start from foundation level. Draw a flowchart for
this.

2. To join the army in a certain country, it is required that one must be six Ft tall and must
have passed an entry exam with grade B and above. Draw a flow chart for this.

b. Decision Table
It is a design tool that graphically displays all possible conditions, decisions and related actions
(outcomes) in form of a matrix. The main objective of a decision table is to describe and display
more adequately the problematic logic in a decision.
Representation
Condition of a decision
Stub- Condition table
being tested Condition Entry-Possible outcome of the test
Action Stub- Possible action depending on Action Entry- What to be adopted for outcomes
condition of this rule

Example 1
From the narrative below, construct a decision table. If an ordinary customer’s order is >5,000
then he gets 10% discount. If his cumulative order is > 20,000 he gets an additional 15%
discount. If he is a special customer and his order is < 5,000 he gets 8% discount. No other
discount is available. The amount is in Kenya Shillings.

Solution
There are three conditions, we shall have 23 =8 Condition Entries. 3 represents the number of
condition stubs
Condition stub Condition Entries
Order>5,000 N Y N Y Y N N Y
Cumulative Order>20,000 Y N N N Y Y N Y
Special Order<5,000 N N Y Y N Y N Y
Action Stub Action Entries
Discount 15% * *
10% * *
8% *

Example 2
A technician support company writes a decision table to diagnose printer problems based upon
symptoms described over the phone from their clients. Fill in the condition entries and the action
entries

Conditions
Printer does not print
A red light is flashing
Actions Action Entries
Check the power cable * *
Check printer- Computer Cable *
Ensure printer software is installed * * * *
Check/ Replace Ink * * * *
Check for paper jam * *

Example 3
Use an extended entry decision table for the narrative below.
Mr. Matano is a teacher at Kleva Secondary school and wishes to use a decision table to grade
his students as follows:
Marks Grade
0-41 F
41-50 D
51-60 C
61-70 B
71-100 A
Solution 3
Conditions Condition Entries
C1:0-40 F
C2:41-50 D
C3:51-60 C
C4:61-70 B
C5:71-100 A
Action stub Action Entries
F F
D D
C C
B B
A A
N.B. C stands for condition

Advantages of Decision tables


replaced by actual values. See example 3 above.

c. Mixed Entry decision tables- A mixed entry decision tree uses both the limited and
extended decision tables in the same table. However the different table entries cannot be
entered in the same row or cell. It has both values and Y and N in the same table. See the
table below:
Condition stub Condition Entries
Good Payment Record Y N Y N
Order value >=10,000 <10,000 >=5,000 <5,000
Action stub Action Entries
Discount 20% 10% 0%
Free Gift * *
Exercise
1. Draw a decision table for the following problem: A product passes the quality check if it
has the right weight and passes the mechanical and electrical tests. If it fails either the
mechanical test or the electrical test it is sent back for repair. Any other case is rejected

3. Decision Trees
It is a charting method that is used to organize data and to systematically show all the possible
choices in a decision making process. They are similar to decision tables. Decision trees have
two main parts
• Decision point represented by nodes

• Choices represented by an arrow

Example 1
Credit is given to customers who make orders of at least ksh. 10,000 worth of goods and has
good payment record or have been customers for at least five years. Draw a decision tree for this.
Solution
N
Y Reject Offer
Y Good Record
Customer>5yrs
Reject Offer
N
N Good Record
Y Reject Offer

Reject Offer
N

4. Data Flow Diagrams (DFD)


DFD is a graphical tool for modeling processes and shows what is happening in a processing and
what documents are used. DFDs represent the organization in terms of processing functions or
departments. It uses data stored to create the outgoing data or information.

DFD Notation
They are many different notations that can be used to represent a DFD. For this class we will use
Gane and Sersm Symbols as shown below:
M1 Register
Data Store

Single external
entity Many external
entities

External Entity

Data Flow

Components used in DFDs


i.Process- A process transforms incoming data into an outgoing processed data. For example, it
uses personnel data to create pay slips and payment records. The process that transforms an
incoming data into an outgoing data may be a functional unit or a person such as a clerk. A
process is represented by a rectangle with a unique identification number, name and activity
performed by the process. Name is a singular noun such as clerk. The activity performed should
be described by an active verb such as create a pay slip, calculate tax, verify invoice, compute
average, grade results e.t.c. An adjective can be used to describe the processing activity if
necessary.

ii.Data store- A storage element for data. This can be a database, file, address list, mail list, cost
list, book catalogue, card index or student list. Data may be permanent such as price list or
temporary form as in the admission list before they are processed. A data store is represented by
an open ended rectangle and each has a unique label and name. The label identifies the type of
adjective where necessary. For example Order, Patient report e.t.c
Data flow can take place:
• Between two processes

• From data store to a process

• From a process to a data store

• From a source (external entity) to a process

•From a process to a sink (external entity)

Data cannot flow between:


• External entities

• Data store

Example 1
The purchasing department request for orders from specified suppliers, who in turn send an
invoice of the goods indicating the cost of goods. These are analyzed and some are accepted
while others rejected. Those that are accepted are given an order to deliver the goods. The goods
are delivered to the store department with an accompanying delivery note, which is signed by the
store department to indicate that the goods have been received. The signed delivery note is then
sent back to the purchasing department to complete the transaction. Draw a DFD for the
purchasing system narrated above.
Solution

Send Initial Order Purchasing system


Receive Invoice
Suppliers
Send confirmed order Purchasing goods
computer
systems
that might provide some of the overall systems processing. Data flows and data stores are often
labeled with the names of the actual physical media on which data flow or in which data are
stored. The physical DFD represent the activities and the interactions as they appear in the
system.

Logical DFD
Logical DFD avoids details and avoid limitations of the physical equipment. It does not show
how communication is done and by whom but indicates communication has been done. The
physical aspects of the system are removed as much as possible so that the current system is
reduced to data and the processes that transform them, regardless of actual physical form.

Example 1
The information technology department organizes an end of semester party. The message is
given to the members of staff by the secretary indicating the date, time, venue and amount to be
contributed by members. The members send their contributions to the secretary for the party.
Information to the members may be by E-Mail, telephone and letter if they are on leave.
Required:
• Draw a Logical DFD

• Draw a physical DFD 1 PARTY


D1 Party data
Solution: Logical DFD
A member
Invitation note
D2 Contact data

Physical DFD
A member
Telephone D3 Telephone Book

Party data
3 Party D1 Party Data

Email D4 Email List

Leveling in DFD
A process is modeled in levels starting from level 0 and going up to higher level, each giving
more details of the process and elaborating on DFD. Level 0 is the context diagram showing the
process and external entities. Each process could further be broken down into small sub
processes leading to Level 1. The last stage of the sub process cannot be described using the data
flow diagram. This is described using Elementary Process Description (EPD). The elementary
process description describes what is done by a process at the lowest level of detail that can be
implemented on a computer using a desirable programming language. This is described using
decision trees and decision tables.
More Details on Second Level

Data Dictionary (DD)


The DFD defines the relationship between the data flow, data store, processes and the various
inputs and outputs. What they do not define are the details of the data flow, data store and the
various processes. All the elements mentioned need to be recorded to make the system
description complete. All the elements are documented in the data dictionary (DD).

A data dictionary is a central depository of all the elements that are used in a system.

As the name suggests, it is a place where the System Analyst records all the elements of the
system: elements like data flows, data stores and processes. Just like the dictionary where you
look up the meaning of a word, its usage, spelling etc., the DD is the place where you find the
details of an element like for example, the numeric characters in data items, where the data item
is used, its initial value, data types, etc. The documenting of the DD is a complex process and
requires discipline from all members of the project team. The DD could either be a manual or an
automated system. we will look at only one aspect of the DD, i.e. the recording of data elements.
In recording the data elements, the DD will contain information like:
Aliases ITEM-NUMBER
Data Type Character
Length 5
Data Values 10000 - 99999
Used In Data-entry-proc Check-stk-no-
proc Update-master-proc

Definition of terms
• Methodology: Is a standard process followed in an organization to conduct all the steps
necessary to analyze design, and maintain information systems. A methodology refers to
all aspects of software development including people and management. It defines what is
to be done, how it is to be done and who will do what in the entire development life
cycle.

• Techniques: Are particular processes that you, as an analyst, will follow to help ensure
that your work is well through-out, complete and comprehensive to others on your project
team. A technique is a set of tools for performing a particular job or function in the
development stages of a method. Techniques provide support for a wide range of tasks
such as conducting thorough interviews, planning and managing activities.

• Tools: Are typically computer programs that make it easy and benefit from the techniques
and follow the methodology.

• Decomposition: This is breaking down the system into smaller, more manageable and
understandable components called the subsystem. This helps in focusing the attention on
one subsystem at a time without interference from other parts. Also permits different
parts of the system to be built at independent times and/ or by different people.

• Modularity: A direct result of decomposition. Refers to dividing a system up into chunks


or modules of a relatively uniform size
common methodologies or approaches are:

Structured methods- This is a process and data oriented model where the process is assumed to
be stable. They offer a range of techniques and tools to develop the new system within a given
framework. They emphasize more on data rather than processing. They have a defined and
overall structure which ensures consistent and completeness of the project.

Characteristics of structured methods


• They are generic techniques that are process and data oriented

• They follow a top down function hierarchical decomposition

• They involve the user in review throughout the project

• Uses more diagrammatic and less text based documentation

• Provides a mechanism for project planning, management and control

• Allow for quality control check points

Structured System Analysis and Design Methodology (SSADM)


Objective of SSADM
• Ensure that projects can successfully continue should a loss of staff occur without a
damaging effect on the project.

• Develop overall better quality systems

• Improve the way in which projects are controlled and managed

• Allow more effective use of experienced and inexperienced staff and their development

• Make it possible for projects to be supported by computer based tools e.g. computer-
identified in detail.

4. Logical System Specification – Technical systems options are created and the logical
design of the system created. This includes the design of update and enquiry processing.

5. Physical Design – The logical system specification and technical system specification is
used to design a physical database and set of program specifications.

Benefits of SSADM
• Timelines: Theoretically, SSADM allows one to plan, manage and control a project well.
These points are essential to deliver the product on time.

• Usability: Within SSADM special emphasis is put on the analysis of user needs.
Simultaneously, the systems model is developed and a comprehensive demand analysis is
carried out. Both are tried to see if they are well suited to each other.

• Respond to changes in the business environment: As in SSADM documentation of the


project’s progress is taken very seriously, issues like business objectives and business
needs are considered while the project is being developed. This offers the possibility to
tailor the planning of the project to the actual requirements of the business.

• Effective use of skills: SSADM does not require very special skills and can easily be
taught to the staff. Normally, common modeling and diagramming tools are used.
Commercial CASE tools are also offered in order to be able to set up SSADM easily.

• Better quality: SSADM reduces the error rate of Information System by defining a
certain quality level in the beginning and constantly checking the system.

• Improvement of productivity: By encouraging on-time delivery, meeting business


requirements, ensuring better quality, using human resources effectively as well as trying
to avoid bureaucracy, SSADM improves the overall productivity of the specific project
and the company.
Object oriented methods- Uses objects which is a composite element that comprises the data
and the process.

Object Oriented Analysis and Design (OOAD)


Most recent approach to system development and is getting more and more popular. OOAD is
often the process –oriented and data oriented approaches. The object oriented approach combines
data and process (methods) into single entities called objects. It is the technique that system
analysts use for object oriented analysis and design and their associated notations are
incorporated in a standard object oriented language called unified modeling languages (UML).

6. Development
Program specifications are given to programmers who code the program, test and debug.

a. Coding
Coding translates the design into the source code for the functional units in the design using a
suitable programming language and tools. Coding may be done using either human
programmers or software code generators. Coding contributes the highest proportion of the cost
of the project. After software coding is complete, the next step is testing the program and
validation of the program with the user. At this stage the testing development team must have
designed test plans while the users will check to see if the system is functioning as expected.

b. Testing
Testing attempts to detect possible errors that are in the program. Therefore the purpose of
testing is to identify or detect all possible errors in the program and thereby correct and prevent
future system malfunction.

Categories of testing
a. Unit testing
This addresses testing of functional units within a system as the main building block. The
programmer prepares test data and runs the program through all the valid test paths to reveal any
• Volume/ Soak testing- Ensures that all the system can handle the expected number of
users or transactions or processing speed.

• Regression testing- Ensures that the system corrections do not result in the same errors
and or other errors as the correction are being made

d. Acceptance testing
This is intended to prove to the user that the system meets the functional and user requirements
as agreed between the user and the system analyst. The system features are demonstrated to
prove that what the user requested has been done. The user then finally signs the acceptance
documents subject to the correction of errors that may exist. Tests included during acceptance
testing are Alpha Testing and Beta testing.

i.Alpha Testing- Simulated but typical data are used for system testing. The types of tests
performed during alpha testing include the following:-
• Security testing:- Verifies that protection machines built into the system will protect it
from improper penetration

• Stress Testing: - Tries to break the system eg. What happens when a record is written to
the database with incomplete information

• Performs testing- Determines how the system performs on the range of possible
environments in which it may be used. e g. different h/ware configurations, networks,
operating systems, etc.

ii.Beta Testing- In which live data are used in the user’s real working environment. In beta
testing, subsets of the intended users run the system in their own environment using their own
data. The intent of the beta test is to determine whether the s/ware, documentation, technical
support, and training activities work as intended. In essence, beta testing can be viewed as a
rehearsal of the installation phase.

Levels of Correctness
much computer resources and is quite impossible to obtain.

At this stage, the documents generated are Test log, test plan, test data and test results (both
expected and actual)

Test Plan is required before testing starts. It serves as a guide to carry out the tests. During
preparation of the test plan, the objective must be to ensure that the component is tested
thoroughly.
The test plan should include:
• A description of the component being tested

• A description of the function of the component to be tested

•A description of the conditions under which the test will run,


(i.e. the values of any global variables)

• The test data to be used

Preferably the test plan should be drawn up during the design stage. This forces the designer to
consider the design more carefully. It is also easier to design the test data and the actual output at
this stage. The test plan describes how you intend to test your program, that is, which inputs you
plan to test it on and why those are good choices. The reason for documenting your testing is so
that
• It is clear what a program should produce

• Testing is repeatable

Test log is the result of running a set of tests which shows the results produced by the tests in the
test plan. The log should demonstrate that each test produced the output predicted by the test
plan.
which the control is transferred, is coded as a simple display statement. When the component is
executed, it only announces that it has been executed. Control is then returned to the calling
module. Dummy stubs are used to test the transfer of control from one component to another.
Once the calls are correctly executed, the dummy stubs are replaced with the actual codes. These
are then tested.

c. Debugging
Not all programs work the first time they are run/executed. The process of locating errors/ bugs
in a program and correcting them is known as debugging. The errors can refer to language
grammar rules (syntax) or word definition (semantics).

Debugging techniques
a. Dry running/ Desk checking- It involves going through the program yourself with some
values to see how the program actually works. This type of debugging is mainly static as
it involves review of requirements and design.

b. Structured walkthrough- It consists of a programmer describing the step by step logic


of his program to other programmers who assist in examining his design and program
code with the objective of finding potential problem areas.

c. Dynamic debugging- Involves the use of breakpoints. A breakpoint is a control lead way
to force a program to stop its execution so as to enable the programmer to see the
programs operations at a particular point in processing.

Types of programming errors


a. Syntax errors/ compilation errors- Occurs when a piece of code violates one or more
grammar rules of a language. It can be detected by both compiler and interpreter.

Examples
• Invalid data names.

• Undefined variables.
c. Logical errors- Occurs when a programmer follows incorrect steps. This is an error due to
misunderstanding of requirements or incorrect algorithms used, resulting in an incorrect result.
This type of error cannot be detected by both compiler and interpreter.

Example
Area = Length + Breadth
Which is supposed to be Area = Length * Breath

d. Semantic Errors- This type of errors occurs only due to misunderstanding of a syntax of the
meaning of a programming language.

Example
A=B+C*D
The syntax of the programming language will do ‘C * D’ first then add ‘B’ but the programmer
interprets it as ‘B + C’ first and then add ‘D’ later.

7. Implementation
By this time the system has been developed and tested. The system should be working correctly
and doing everything that was agreed during the design stage. The key events in this stage are:
a. Data/ File conversion

b. Documentation

c. System changeover / installation

d. Training

e. Maintenance

a. Data/ File conversion


File conversion translates the old system files to a suitable format that can be used by the new
system. This will depend on whether the system files were manual or computerized. If the old
files are in soft form, special translation programs should be used to speed up the file conversion
Qualities of good documentation
• Correctness- Should be accurate in everything

• Completeness- Should be exhaustive (covers everything important) so that the system is


entirely documented

• Conciseness- Should be precise enough for users

Types of documentations
• System documentation- Records information about the system’s design specifications,
its internal workings, and its functionality. It can further be divided into Internal
Documentation (Part of the program source code or is generated at compile time) and
external Documentation (Includes the outcome of structured diagramming techniques
such as Flow charts)

• User Documentation- Consists of written or other visual information about an


application system, how it works and how to use it.

Technical and user manuals


Refers to the manuals containing details of the system operations by the technical staff and users
these are:

a. Technical support or operations Manuals

b. System maintenance Manuals

c. User Manuals

a. Technical support or operations Manuals


Operational manuals provide full documentation on the operational procedures necessary in the
running of the system. The manuals give the technical specifications and causes of problems and
their possible solutions. They give details on:
• Procedure for authorization for change

• Documentation of change

• Testing of change

c. User Manuals
The user normally requires manuals which explain the step by step operations of the software
and the expected outcome of given input and the meaning of error messages. The manuals may
be in printed or online help. They assist the user in performing the intended tasks for the system
and provide reference on how to solve problems. The manual addresses the various stages of
operations of the system.

• Input- Procedure for data entry, sequence of input, authorization and dialogue

• Output- Different types of outputs from the system, how it is produced, and the output
equipments

• Error messages- Explanation of the types of errors and instructions on how to recover
from the error.

• File management- The type of files used and changing and saving files

Uses of documentation
• Communication tool- Documents such as flow charts enable the system analyst and
programmer to communicate with each other effectively. Graphic documentations
minimize the possibility of ambiguity.

• Facilitate troubleshooting- Helps in detection and correction of malfunction or error


conditions

• System maintenance- Through system documentation, it facilitates the revision,


changing or modification of an existing system.
• Makes employees do their work mechanically with little thinking

• Written policies lead to rigidity and undermine any attempts at innovation or adaptation
to change environment

c. System changeover/ installation


It is the process of transferring operations from the old system to the new system. This may
involve using new hardware and software, environment and tools.

Changeover/ Installation methods


a. Direct changeover
The old system is replaced by the new system immediately. In this changeover method, the old
system and all the data are entered and training is conducted and the new system immediately
replaces the old system. This mode of changeover is necessary when new tariffs and laws will
come into effect on a given date. The management must have complete confidence that the
system will work well. Such change should be done during low activity, holiday or weekends. It
is the cheapest changeover method and it takes the shortest time.

b. Parallel changeover
This is where the old and the new systems are running concurrently using the same inputs until
the management decides the old system can be turned off. Outputs are compared to help
determine whether the new system is performing as well as the old. This changeover should be
planned and should include:

• Time limit on parallel planning

• Detailed of what data should be cross checked

• Instructions on how to handle the error

c. Pilot / single location changeover


In this method, rather than converting all of the organization at once, the new system is tried in
installation to cover the whole new system. Different parts of the old and new systems are used
in co-operation until the whole new system is installed. It is particularly suitable for large
systems that may be dispersed geographically. For example a company having offices in different
parts of the country

d. Training
It refers to imparting knowledge and skills of how to use the new system effectively and be able
to achieve the expected level of performance. Successful training requires good trainers and well
defined training objectives. It is important to find good trainers and methods of training. The
trainer may be selected from software developer team or professional training company. Training
should target the various levels of users and suitable mode of training should be adopted for each
level of users.

The level of users may be grouped as:


• Senior managers and middle managers- This category can be trained using informal and
formal approach. These normally spend little time with the system. There main
contribution being decision making.

• End users-Require computer and system training in the following categories

• Basic literacy skills- Help the user to relate with the new system in terms of its hardware,
software care and maintenance

• System operation overview- This may be refresher course for the occasional user. The
training should include system operations, commands and procedures.

• On the job training- Training the users while operating the system

Methods of training
• Computer based training- The user goes through instructions by computer software. This
encourages the user to use technology and develop skills at own pace.
b. Determine appropriate training methods
Different levels of users may need slightly different trainings. To some extend their job will
determine what they need to know and their personalities, experiences and backgrounds
determine how they learn best.

Some users learn best by seeing, others by hearing and others by doing. Because it is not often
possible to customize training for an individual a combination of methods is often the best way
to proceed. That way most users are reached through one method or another. Methods for those
who learn by seeing include demonstration, exposure to training manuals. Those who learn by
hearing can listen to lectures, discussions and question and answer sessions. Those who learn
best by doing needs hand on experience with the equipment.

c. Training site
Training can take place in many different locations, some of which are more conducive to
learning than others. Large computer vendors provide off site locations training and on site
location training.

d. Training materials
In planning for the training of users system analyst must realize the importance of well prepared
training materials. These materials include, training manuals. Because users understanding
depend on them, training materials must be clearly written for the correct audience with
minimum jargons.

Persons who can train users: Vendors, System analysts, externally paid trainers, In-house
trainers and other system users

e Maintenance
Its purpose is to make the software product easy to use and change in order to meet new user and
functional requirements. It involves changes that correct existing errors and introduce flexibility
and adaptability in the software system in order to cope with changes in user procedures and
changes in organization structure, changes in volume processing and adaptation to new
technology.
Factors affecting the cost of Maintenance
• Number of latent defects (unknown) when it is installed. If there are no errors in
the system after it is installed, then maintenance cost will be relatively low.

• Number of Customers for a given system that a maintenance group must support.
The greater the number of customers, the greater the maintenance cost.

• Quality of system documentation- Without quality technical system


documentation, maintenance effort can increase exponentially.

• Quality of the maintenance personnel- highly skilled programmers are needed


because the maintenance programmer is typically not the original programmer
and must quickly understand and carefully change the software.

• Availability of software development tools can lower the cost of maintenance.

• Software structure- well structured programs make it much easier to understand


and fix errors

Purpose of Maintenance
• Improve security of data

• Enhance the program efficiency

• Accommodate user changing needs

• Adapt to changing environmental needs

• Correct minor errors

Types of maintenance
• Corrective maintenance – Refers to change or action in response to problems or errors.
It is intended to correct errors in the system that were not detected and helps to keep the
Automated Development Tools for Systems Development
a. Prototyping- Re-visit notes on prototyping

b. Computer Aided Software Engineering (CASE)


It is the use of computer technology to help improve application systems development. The
earliest CASE tools were used to create flowcharts and data flow diagrams. Later versions of
CASE allowed computer professionals to create complete and detailed specifications and to later
generate structured program code. The CASE software can then generate a detailed
documentation package for easy maintenance.

Features of CASE
CASE consists of a set of workstation-based software tools designed to support
application developers. The activities that most CASE tools include are:

• Draw Descriptive Diagrams- Diagramming tools provide the developer with the ability
to draw various types of diagrams like data flow diagram, flowcharts, etc. Making
modifications to diagrams is much faster with this tool.

• Data Dictionary- This is used to store and validate definitions of data items used in the
system. It also records the programs or tables where each data item is used.

• Design Display Screens- CASE is used to quickly create screen designs and to generate
the code based on this design. These can be reused in other applications. Screen intensity,
use of reverse letters and inclusion of underlining are all easily specified.

• Design Output Layouts- As with screen designs, CASE tools can also be used to design
report layouts. Consistency between reports can be achieved by starting with one
standard template.

Benefits of CASE

• Development time is shortened-With automated tools, the effort required to complete


each task is lessened. For example, instead of drawing data flow diagrams by hand, it can
design to code transformation is not fully automated, and results in much analyst and the
programmer effort anyway.

Functions of CASE TOOLS


• Consistency checking

• Code generation

• Testing

• Debugging or removing errors

• Report generations

Objectives of CASE TOOLS in Organization


• To improve the quality of the systems development

• To increase the speed with which systems are designed and developed

• To ease and improve the testing process through the use of automated checking

• To improve the integration of development activities via common methodologies

• To improve the quality and completeness of documentation

• To help standardize the development process

• To improve the management of the project

• To simplify program maintenance

• To promote reusability of modules and documentation


• Lack of methodology standards within organization, An organization that uses a
methodology not compatible with CASE tools will find it difficult to use CASE

• Lack of confidence in CASE products

Categories of CASE tools

Upper CASE- CASE tools designed to support the information, planning and the project
identification and selection, project initiation and planning, analysis, and design phases of the
systems development.

Lower CASE- CASE tools designed to support activities that occur across multiple phases of the
System Development Life Cycle (SDLC) e.g. Tools used to assist in on going activities such as
managing the project, developing time estimates for activities and creating documentation.

Over the years, the vendors of these CASE products have opened up their systems through the
use of standard databases and data conversion utilities to more easily shared information across
products and tools. An integrated and standard database called a repository is the common
method for providing product and tool integration.

The general types of case tools are:-

• Diagramming Tools-these enable the representation of the system process, data, and
control structures visually/graphically e.g. Data flow diagram (DFD) which is used to
model business process as information flows through an organization.

• Case Form and Report Generation Tools-these are the case tools that support the
creation of computer displays (forms) and reports in order to prototype how system will
look and feel to users.

• Case analysis Tools- these are case tools that enable automatic checking for incomplete,
inconsistent of incorrect specifications in diagrams, forms and reports.
deliveries of product, overshoot in the estimated budget and poor quality product.

Project Management Tools- A successful system is one that is completed within a reasonable
period of time. Project management tools help to evaluate whether the project is completed on
time and within budget.

a. Gantt Charts- The horizontal axis represents elapsed time and the vertical axis contains
a list of activities. A horizontal line connects the beginning and ending times for each
activity. The chart schedules the activities so that each begins after the end of all
preceding ones.

b. Network Diagrams- Widely used network technique include PERT (Program Evaluation
and Review Technique) and CPM (Critical Path Method). These two methods are used
for managing large projects.

In PERT arc represents an activity of the project and nodes signify the beginning or end of an
activity. The sequence of the arcs shows the sequence of the activities. A CPM networks is
similar, except that nodes represent activity. The major advantage of network techniques is
that they identify the critical path, which is the sequence of project activities that requires the
longest elapsed time. These are the activities determine the duration of the project. If any
activity on the critical path is delayed, the entire project is delayed.

Network diagrams are useful in managing system development projects because they enable
project manager to predict the effect of reallocating resources. The manager may transfer
resources from an activity with slack (free time) to one on the critical path.

The differences between the early start time (E) and the late start time (L) for an activity is its
slack. Crashing is often decreases the time required completing the project. Network
diagrams normally are implemented using computer software packages.

Team selection and management: - This involves management of people involved in the
development of software. It involves creation of task oriented groups, what resources will they
require, what support services will be required to ensure the deliverables and time constraints are
Roles in a walkthrough
Presenter /Author - Is the person who submits the relevant documentation for quality
assurance.

Chairperson - Is the person responsible for:


▪ Circulating the documentation prior to the meeting
▪ Choosing the time and the location
▪ Chairing the meeting
He must familiar with the appropriate standards.

Secretary - Is the person responsible for documenting the problems raised and then reading them
back at the end of the meeting so that priorities can be assigned and follow-up action agreed.

Reviewer(s) Is a person from the same project as the presenter, sometimes from another
independent project. Their work is to check that product being reviews meets criteria for its
acceptance.

Problems associated with Structured Walkthroughs


- Inadequate preparation by the reviewers
- Too much time spent discussing solutions rather than identifying defects
- Author being defensive about his work.
- Walkthrough taking too long
-The tendency of people to forget the important points in favour of arguing over the
inconsequential parts.
- The tendency to fix blame on others; attempt to discredit the work of another
member.

Solutions to problems
It is the chairperson’s responsibility to avoid these problems by:
- Enforcing a time limit
- Ensuring walkthrough standards are adhered to
-Reminding attendees, before the meeting of the purpose of the walkthrough and the
3] Process is complex. 3] Easy to understand.

4] The process may go indefinitely. 4] Stages are clearly defined.

5] This model is suitable for long and 5] This model is not suitable for long
ongoing projects. and ongoing projects.

6] Iterations are followed 6] Sequence is followed

7] Flexible with user requirements 7] Requirements once fixed cannot be


modified

8] Refinements are easily possible 8] Refinements are not so easy

9] Phases are repeated itself 9] Phases are processed and


completed one at a time.

You might also like