Professional Documents
Culture Documents
Systems Analysis and Design Notes Complete Lecture Notes
Systems Analysis and Design Notes Complete Lecture Notes
and Design
• 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,
• 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.
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.
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
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.
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.
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
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.
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 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.
• 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.
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.
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.
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:
d. Social Feasibility- It addresses the needs of the user on how they will be affected by
computerization. It addresses issues such as:
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.
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.
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
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.
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.
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
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
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.
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.
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
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
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:
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
Manual Input
Fial Product
Screen Display
• Flow lines should be drawn from top to bottom, right to left or left to right.
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
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
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
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
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
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
• 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
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
Physical DFD
A member
Telephone D3 Telephone Book
Party data
3 Party D1 Party Data
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
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.
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.
• 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.
• 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.
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
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.
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.
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
d. Training
e. Maintenance
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)
c. User Manuals
• 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.
• Written policies lead to rigidity and undermine any attempts at innovation or adaptation
to change environment
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:
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.
• 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.
Purpose of Maintenance
• Improve security of data
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
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
• Code generation
• Testing
• Report generations
• To increase the speed with which systems are designed and developed
• To ease and improve the testing process through the use of automated checking
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.
• 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.
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.
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.
5] This model is suitable for long and 5] This model is not suitable for long
ongoing projects. and ongoing projects.