System Analysis and Designs Notes
System Analysis and Designs Notes
System Analysis and Designs Notes
FOR
DIPLOMA IN INFORMATION
COMMUNICATION TECHNOLOGY
AND
DIPLOMA IN INFORMATION SCIENCE
Module Two
WWW.TVETARENA.CO.KE
SYSTEM ANALYSIS AND DESIGN.
Systems development is systematic process which includes phases such as planning,
analysis, design, deployment, and maintenance.
Systems Analysis
It is a process of collecting and interpreting facts, identifying the problems, and
decomposition of a system into its components.
System analysis is conducted for the purpose of studying a system or its parts in
order to identify its objectives. It is a problem solving technique that improves the
system and ensures that all the components of the system work efficiently to
accomplish their purpose.
Analysis specifies what the system should do.
Systems Design
It is a process of planning a new business system or replacing an existing system by
defining its components or modules to satisfy the specific requirements. Before
planning, you need to understand the old system thoroughly and determine how
computers can best be used in order to operate efficiently.
System Design focuses on how to accomplish the objective of the system.
System Analysis and Design (SAD) mainly focuses on -Systems, Processes,
Technology
What is a System?
The word System is derived from Greek word Systema, which means an organized
relationship between any set of components to achieve some common cause or
objective.
A system is “an orderly grouping of interdependent components linked together
according to a plan to achieve a specific goal.”
Constraints of a System
WWW.TVETARENA.CO.KE
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.
Properties of a System:- A system has the following properties Organization
Organization implies structure and order. It is the arrangement of components
that helps to achieve predetermined objectives.
Interaction
It is defined by the manner in which the components operate with each other.
For example, in an organization, purchasing department must interact with
production department and payroll with personnel department.
Interdependence
Interdependence means how the components of a system depend on one
another. For proper functioning, the components are coordinated and linked
together according to a specified plan. The output of one subsystem is the
required by other subsystem as input.
Integration
Integration is concerned with how a system components are connected together.
It means that the parts of the system work together within the system even if each
part performs a unique function.
Central Objective
The objective of system must be central. It may be real or stated. It is not
uncommon for an organization to state an objective and operate to achieve
another.
The users must know the main objective of a computer application early in the
analysis for a successful design and conversion.
Elements of a System
The following diagram shows the elements of a system
WWW.TVETARENA.CO.KE
Outputs and Inputs
The main aim of a system is to produce an output which is useful for its user.
Inputs are the information that enters into the system for processing.
Output is the outcome of processing.
Processor(s)
The processor is the element of a system that involves the actual transformation
of input into output.
It is the operational component of a system. Processors may modify the input
either totally or partially, depending on the output specification.
As the output specifications change, so does the processing. In some cases, input
is also modified to enable the processor for handling the transformation.
Control
WWW.TVETARENA.CO.KE
Feedback
Environment
A system should be defined by its boundaries. Boundaries are the limits that
identify its components, processes, and interrelationship when it interfaces with
another system.
Each system has boundaries that determine its sphere of influence and control.
The knowledge of the boundaries of a given system is crucial in determining the
nature of its interface with other systems for successful design.
Types of Systems
The systems can be divided into the following types −
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.
WWW.TVETARENA.CO.KE
An open system must interact with its environment. It receives inputs from and
delivers output 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.
Permanent System persists for long time. For example, business policies.
Temporary System is made for specified time and after that they are
demolished. For example, A DJ system is set up for a program and it is
dissembled after the program.
Natural systems are created by the nature. For example, Solar system, seasonal
system.
Manufactured System is the man-made system. For example, Rockets, dams,
trains.
WWW.TVETARENA.CO.KE
Man-Made Information Systems
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.
A flow system model shows the orderly flow of the material, energy, and
information that hold the system together.
Program Evaluation and Review Technique (PERT), for example, is used to
abstract a real world system in model form.
WWW.TVETARENA.CO.KE
o Inputs that enter the system
o The processor through which transformation takes place
o The program(s) required for processing
o The output(s) that result from processing.
Categories of Information
There are three categories of information related to managerial levels and the
decision managers make.
Strategic Information
Managerial Information
WWW.TVETARENA.CO.KE
Operational information
This type of information is required by low management for daily and short
term planning to enforce day-to-day operational activities. For example,
keeping employee attendance records, overdue purchase orders, and current
stocks available.
It is achieved with the aid of Data Processing Systems (DPS)
requirements
design
implementation
testing
deployment
operations
maintenance
Phases of SDLC
Systems Development Life Cycle is a systematic approach which explicitly breaks
down the work into phases that are required to implement either new or
modified Information System.
WWW.TVETARENA.CO.KE
Feasibility Study or Planning
WWW.TVETARENA.CO.KE
A Software Requirement Specification (SRS) document, which specifies the
software, hardware, functional, and network requirements of the system is
prepared at the end of this phase.
System Design
Implementation
Maintenance/Support
Include all the activities such as phone support or physical on-site support for
users that is required
once the system is installing.
Implement the changes that software might undergo over a period of time, or
implement any new
requirements after the software is deployed at the customer location.
It also includes handling the residual errors and resolve any issues that may exist
in the system even after the testing phase.
Maintenance and support may be needed for a longer time for large systems
and for a short time for smaller systems.
WWW.TVETARENA.CO.KE
The following diagram shows the complete life cycle of the system during analysis
and design phase.
WWW.TVETARENA.CO.KE
Plan the periodicity for evaluation after it has been used for some time, and
modify the system as needed.
Interpersonal Skills
Analytical Skills
WWW.TVETARENA.CO.KE
Resource & project management.
Change & risk management.
Understand the management functions thoroughly.
Technical Skills
It is studying the current system and documenting its features for further
analysis.
It is at the heart of system analysis where analyst documenting and describing
system features using fact-finding techniques, prototyping, and computer assisted
tools.
Requirements Specifications
WWW.TVETARENA.CO.KE
Information Gathering Techniques
The main aim of fact finding techniques is to determine the information
requirements of an organization used by analysts to prepare a precise SRS
understood by user.
Ideal SRS Document should −
Questionnaires
This method is used by analyst to gather information about various issues of
system from large number of persons.
There are two types of questionnaires −
WWW.TVETARENA.CO.KE
1. Open-ended Questionnaires − It consists of questions that can be easily and
correctly interpreted. They can explore a problem and lead to a specific
direction of answer.
2. Closed-ended Questionnaires − It consists of questions that are used when the
systems analyst effectively lists all possible responses, which are mutually
exclusive.
Advantages of questionnaires
Observation
This is a method of gathering information by noticing and observing the people,
events, and objects. The analyst visits the organization to observe the working of
current system and understands the requirements of the system.
Advantages
WWW.TVETARENA.CO.KE
1. It is a direct method for gleaning information.
2. It is useful in situation where authenticity of data collected is in question or
when complexity of certain aspects of system prevents clear explanation by end-
users.
3. It produces more accurate and reliable data.
4. It produces all the aspect of documentation that are incomplete and outdated.
1. It saves time and cost by replacing months of traditional interviews and follow-
up meetings.
2. It is useful in organizational culture which supports joint problem solving.
3. Fosters formal relationships among multiple levels of employees.
4. It can lead to development of design creatively.
5. It Allows rapid development and improves ownership of information system.
Feasibility Study
Feasibility Study can be considered as preliminary investigation that helps the
management to take decision about whether study of system should be feasible
for development or not.
WWW.TVETARENA.CO.KE
It identifies the possibility of improving an existing system, developing a new
system, and produce refined estimates for further development of system.
It is used to obtain the outline of the problem and decide whether feasible or
appropriate solution exists or not.
The main objective of a feasibility study is to acquire problem scope instead of
solving the problem.
The output of a feasibility study is a formal system proposal act as decision
document which includes the complete nature and scope of the proposed
system.
Types of Feasibilities
Economic Feasibility
WWW.TVETARENA.CO.KE
1. It is evaluating the effectiveness of candidate system by using cost/benefit
analysis method.
2. It demonstrates the net benefit from the candidate system in terms of benefits
and costs to the organization.
3. The main aim of Economic Feasibility Analysis (EFS) is to estimate the economic
requirements of candidate system before investments funds are committed to
proposal.
4. It prefers the alternative which will maximize the net worth of organization by
earliest and highest return of funds along with lowest level of risk involved in
developing the candidate system.
Technical Feasibility
Operational Feasibility
Behavioral Feasibility
Schedule Feasibility
WWW.TVETARENA.CO.KE
It ensures that the project should be completed within given time constraint or
schedule.
It also verifies and validates whether the deadlines of project are reasonable or
not.
Analysts use various tools to understand and describe the information system. One
of the ways is using structured analysis.
What is Structured Analysis?
Structured Analysis is a development method that allows the analyst to
understand the system and its activities in a logical way.
It is a systematic approach, which uses graphical tools that analyze and refine the
objectives of an existing system and develop a new system specification which can
be easily understandable by user.
It has following attributes −
WWW.TVETARENA.CO.KE
Data Flow Diagrams (DFD) or Bubble Chart
It is a technique developed by Larry Constantine to express the requirements of
system in a graphical form.
It shows the flow of data between various functions of system and specifies how
the current system is implemented.
It is an initial stage of design phase that functionally divides the requirement
specifications down to the lowest level of detail.
Its graphical nature makes it a good communication tool between user and analyst
or analyst and system designer.
It gives an overview of what data a system processes, what transformations are
performed, what data are stored, what results are produced and where they flow.
Basic Elements of DFD
DFD is easy to understand and quite effective when the required design is not
clear and the user wants a notational language for communication. However, it
requires a large number of iterations for obtaining the most accurate and complete
solution.
WWW.TVETARENA.CO.KE
The following table shows the symbols used in designing a DFD and their
significance
Types of DFD
DFDs are of two types: Physical DFD and Logical DFD. The following table lists
the points that differentiate a physical DFD from a logical DFD.
Context Diagram
the flow of data between processes.
It explains events of systems and data required by each event.
It shows how business operates; not how the system can be implemented.
A context diagram helps in understanding the entire system by one DFD which
gives the overview of a
system. It starts with mentioning major processes with little details and then goes
onto giving more details of the processes with the top-down approach.
The context diagram of mess management is shown below.
WWW.TVETARENA.CO.KE
Data Dictionary
A data dictionary is a structured repository of data elements in the system. It stores
the descriptions of all DFD data elements that is, details and definitions of data
flows, data stores, data stored in data stores, and the processes.
A data dictionary improves the communication between the analyst and the user.
It plays an important role in building a database. Most DBMSs have a data
dictionary as a standard feature. For example, refer the following table −
Sr.No. Data Name Description No. of Characters
1 ISBN ISBN Number 10
2 TITLE title 60
3 SUB Book Subjects 80
4 ANAME Author Name 15
Decision Trees
Decision trees are a method for defining complex relationships by describing
decisions and avoiding the problems in communication. A decision tree is a
diagram that shows alternative actions and conditions within horizontal tree
framework. Thus, it depicts which conditions to consider first, second, and so on.
Decision trees depict the relationship of each condition and their permissible
actions. A square node
WWW.TVETARENA.CO.KE
indicates an action and a circle indicates a condition. It forces analysts to consider
the sequence of decisions and identifies the actual decision that must be made.
The major limitation of a decision tree is that it lacks information in its format to
describe what other
combinations of conditions you can take for testing. It is a single representation of
the relationships between conditions and actions.
For example, refer the following decision tree
Decision Tables
Decision tables are a method of describing the complex logical relationship in a
precise manner which is easily understandable.
It is useful in situations where the resulting actions depend on the occurrence of
one or several combinations of independent conditions.
WWW.TVETARENA.CO.KE
It is a matrix containing row or columns for defining a problem and the actions.
Components of a Decision Table
Condition Stub − It is in the upper left quadrant which lists all the condition to
be checked.
Action Stub − It is in the lower left quadrant which outlines all the action to be
carried out to meet such condition.
Condition Entry − It is in upper right quadrant which provides answers to
questions asked in condition stub quadrant.
Action Entry − It is in lower right quadrant which indicates the appropriate
action resulting from the answers to the conditions in the condition entry
quadrant.
The entries in decision table are given by Decision Rules which define the
relationships between combinations of conditions and courses of action. In rules
section,
Y shows the existence of a condition.
N represents the condition, which is not satisfied.
A blank – against action states it is to be ignored.
X (or a check mark will do) against action states it is to be carried out.
For example, refer the following table
WWW.TVETARENA.CO.KE
Structure English
Structure English is derived from structured programming language which gives
more understandable and precise description of process. It is based on procedural
logic that uses construction and imperative sentences designed to perform
operation for action.
It is best used when sequences and loops in a program must be considered and the
problem needs sequences of actions with decisions.
It does not have strict syntax rule. It expresses all logic in terms of sequential
decision structures and iterations.
For example, see the following sequence of actions −
if customer pays advance
then
Give 5% Discount
else
if purchase amount >=10,000
then
if the customer is a regular customer
then Give 5% Discount
else No Discount
end if
else No Discount
end if
end if
Pseudocode
A pseudocode does not conform to any programming language and expresses
logic in plain English.
It may specify the physical programming logic without actual coding during and
after the physical design.
It is used in conjunction with structured programming.
It replaces the flowcharts of a program.
Guidelines for Selecting Appropriate Tools
WWW.TVETARENA.CO.KE
Use the following guidelines for selecting the most appropriate tool that would
suit your requirements −
Use DFD at high or low level analysis for providing good system
documentations.
Use data dictionary to simplify the structure for meeting the data requirement of
the system.
Use structured English if there are many loops and actions are complex.
Use decision tables when there are a large number of conditions to check and
logic is complex.
Use decision trees when sequencing of conditions is important and if there are
few conditions to be tested.
System design is the phase that bridges the gap between problem domain and the
existing system in a manageable way. This phase focuses on the solution domain,
i.e. “how to implement?”
It is the phase where the SRS document is converted into a format that can be
implemented and decides how the system will operate.
In this phase, the complex activity of system development is divided into several
smaller sub-activities, which coordinate with each other to achieve the main
objective of system development
WWW.TVETARENA.CO.KE
Statement of work
Requirement determination plan
Current situation analysis
Proposed system requirements including a conceptual data model, modified
DFDs, and Metadata (data about data).
WWW.TVETARENA.CO.KE
Planning system implementation.
Devising a test and implementation plan, and specifying any new hardware and
software.
Updating costs, benefits, conversion dates, and system constraints.
Architectural Design
It is also known as high level design that focuses on the design of system
architecture. It describes the structure and behavior of the system. It defines the
structure and relationship between various modules of system development
process.
Detailed Design
It follows Architectural design and focuses on development of each module.
Conceptual Data Modeling
It is representation of organizational data which includes all the major entities and
relationship. System
analysts develop a conceptual data model for the current system that supports the
scope and requirement for the proposed system.
The main aim of conceptual data modeling is to capture as much meaning of data
as possible. Most organization today use conceptual data modeling using E-R
model which uses special notation to represent as much meaning about data as
possible.
Entity Relationship Model
It is a technique used in database design that helps describe the relationship
between various entities of an organization.
Terms used in E-R model
ENTITY − It specifies distinct real world items in an application. For example:
vendor, item, student, course, teachers, etc.
RELATIONSHIP − They are the meaningful dependencies between entities. For
example, vendor supplies items, teacher teaches courses, then supplies and course
are relationship.
ATTRIBUTES − It specifies the properties of relationships. For example, vendor
code, student name. Symbols used in E-R model and their respective meanings −
The following table shows the symbols used in E-R model and their significance
WWW.TVETARENA.CO.KE
WWW.TVETARENA.CO.KE
Three types of relationships can exist between two sets of data: one-to-one, one-
to-many, and many-to- many.
File Organization
It describes how records are stored within a file. There are four file organization
methods −
Serial − Records are stored in chronological order (in order as they are input or
occur). Examples − Recording of telephone charges, ATM transactions, Telephone
queues.
Sequential − Records are stored in order based on a key field which contains a
value that uniquely identifies a record. Examples − Phone directories.
Direct (relative) − Each record is stored based on a physical address or location on
the device.
WWW.TVETARENA.CO.KE
Address is calculated from the value stored in the record’s key field. Randomizing
routine or hashing algorithm does the conversion.
Indexed − Records can be processed both sequentially and non-sequentially using
indexes.
File Access
One can access a file using either Sequential Access or Random Access. File Access
methods allow computer programs read or write records in a file.
Sequential Access
Every record on the file is processed starting with the first record until End of File
(EOF) is reached. It is efficient when a large number of the records on the file
need to be accessed at any given time. Data stored on a tape (sequential access)
can be accessed only sequentially.
Direct (Random) Access
Records are located by knowing their physical locations or addresses on the device
rather than their positions relative to other records. Data stored on a CD device
(direct-access) can be accessed either sequentially or randomly.
WWW.TVETARENA.CO.KE
Types of Files used in an Organization System
Following are the types of files used in an organization system −
1. Master file − It contains the current information for a system. For example,
customer file, student file, telephone directory.
2. Table file − It is a type of master file that changes infrequently and stored in a
tabular format. For example, storing Zipcode.
3. Transaction file − It contains the day-to-day information generated from
business activities. It is used to update or process the master file. For example,
Addresses of the employees.
4. Temporary file − It is created and used whenever needed by a system.
5. Mirror file − They are the exact duplicates of other files. Help minimize the risk
of downtime in cases when the original becomes unusable. They must be modified
each time the original file is changed.
6. Log files − They contain copies of master and transaction records in order to
chronicle any changes that are made to the master file. It facilitates auditing and
provides mechanism for recovery in case of system failure.
7. Archive files − Backup files that contain historical versions of other files.
Documentation Control
Documentation is a process of recording the information for any reference or
operational purpose. It helps users, managers, and IT staff, who require it. It is
important that prepared document must be updated on regular basis to trace the
progress of the system easily.
After the implementation of system if the system is working improperly, then
documentation helps the administrator to understand the flow of data in the
system to correct the flaws and get the system working.
Programmers or systems analysts usually create program and system
documentation. Systems analysts usually are responsible for preparing
documentation to help users learn the system. In large companies, a technical
support team that includes technical writers might assist in the preparation of user
documentation and training materials.
Advantages
1. It can reduce system downtime, cut costs, and speed up maintenance tasks.
2. It provides the clear description of formal flow of present system and helps to
understand the type of input data and how the output can be produced.
WWW.TVETARENA.CO.KE
3. It provides effective and efficient way of communication between technical and
nontechnical users about system.
4. It facilitates the training of new user so that he can easily understand the flow
of system.
5. It helps the user to solve the problems such as troubleshooting and helps the
manager to take better final decisions of the organization system.
6. It provides better control to the internal or external working of the system.
Types of Documentations
When it comes to System Design, there are following four main documentations
−
1. Program documentation
2. System documentation
3. Operations documentation
4. User documentation
Program Documentation
It describes inputs, outputs, and processing logic for all the program modules.
The program documentation process starts in the system analysis phase and
continues during implementation.
This documentation guides programmers, who construct modules that are well
supported by internal and external comments and descriptions that can be
understood and maintained easily.
Operations Documentation
Operations documentation contains all the information needed for processing and
distributing online and printed output. Operations documentation should be clear,
concise, and available online if possible.
It includes the following information −
Program, systems analyst, programmer, and system identification.
Scheduling information for printed output, such as report, execution frequency,
and deadlines.
Input files, their source, output files, and their destinations.
E-mail and report distribution lists.
WWW.TVETARENA.CO.KE
Special forms required, including online forms.
Error and informational messages to operators and restart procedures.
Special instructions, such as security requirements.
User Documentation
It includes instructions and information to the users who will interact with the
system. For example, user manuals, help guides, and tutorials. User
documentation is valuable in training users and for reference purpose. It must be
clear, understandable, and readily accessible to users at all levels.
The users, system owners, analysts, and programmers, all put combined efforts to
develop a user’s guide. A user documentation should include −
1. A system overview that clearly describes all major system features, capabilities,
and limitations.
2. Description of source document content, preparation, processing, and, samples.
3. Overview of menu and data entry screen options, contents, and processing
instructions.
4. Examples of reports that are produced regularly or available at the user’s
request, including samples.
5. Security and audit trail information.
6. Explanation of responsibility for specific input, output, or processing
requirements.
7. Procedures for requesting changes and reporting problems.
8. Examples of exceptions and error situations.
9. Frequently asked questions (FAQs).
10. Explanation of how to get help and procedures for updating the user manual.
System Documentation
System documentation serves as the technical specifications for the IS and how the
objectives of the IS are accomplished. Users, managers and IS owners need never
reference system documentation. System documentation provides the basis for
understanding the technical aspects of the IS when modifications are made.
WWW.TVETARENA.CO.KE
Most of the system documentation is prepared during the system analysis and
system design phases.
During systems implementation, an analyst must review system documentation
to verify that it is complete, accurate, and up-to-date, and including any changes
made during the implementation process.
Top-Down Strategy
The top-down strategy uses the modular approach to develop the design of a
system. It is called so because it starts from the top or the highest-level module
and moves towards the lowest level modules.
In this technique, the highest-level module or main module for developing the
software is identified. The main module is divided into several smaller and simpler
submodules or segments based on the task
performed by each module. Then, each submodule is further subdivided into
several submodules of next lower level. This process of dividing each module into
several submodules continues until the lowest level modules, which cannot be
further subdivided, are not identified.
Comparision
Bottom-Up Strategy
Bottom-Up Strategy follows the modular approach to develop the design of the
system. It is called so because it starts from the bottom or the most basic level
modules and moves towards the highest level modules.
In this technique,
The modules at the most basic or the lowest level are identified.
WWW.TVETARENA.CO.KE
These modules are then grouped together based on the function performed by
each module to form the next higher-level modules.
Then, these modules are further combined to form the next higher-level
modules.
This process of grouping several simpler modules to form higher level modules
continues until the main module of system development process is achieved
Structured Design
Structured design is a data-flow based methodology that helps in identifying the
input and output of the
developing system. The main objective of structured design is to minimize the
complexity and increase the modularity of a program. Structured design also helps
in describing the functional aspects of the system.
In structured designing, the system specifications act as a basis for graphically
representing the flow of data and sequence of processes involved in a software
development with the help of DFDs. After developing the DFDs for the software
system, the next step is to develop the structure chart.
WWW.TVETARENA.CO.KE
Modularization
Structured design partitions the program into small and independent modules.
These are organized in top down manner with the details shown in bottom.
Thus, structured design uses an approach called Modularization or decomposition
to minimize the complexity and to manage the problem by subdividing it into
smaller segments.
Advantages
Structured Charts
Structured charts are a recommended tool for designing a modular, top down
systems which define the various modules of system development and the
relationship between each module. It shows the system module and their
relationship between them.
It consists of diagram consisting of rectangular boxes that represent the modules,
connecting arrows, or
lines.
WWW.TVETARENA.CO.KE
Control Module − It is a higher-level module that directs lower-level modules,
called subordinate modules.
Library Module − It is a reusable module and can be invoked from more than one
point in the chart
Transform-Centered Structured Charts − They are used when all the transactions
follow same path.
Transaction-Centered Structured Charts − They are used when all the
transactions do not follow the same path.
WWW.TVETARENA.CO.KE
the quality of the software design. A good quality software design is the one,
which minimizes the complexity and cost expenditure in software development.
The two important concepts related to the system development that help in
determining the complexity of a system are coupling and cohesion.
Coupling
Coupling is the measure of the independence of components. It defines the degree
of dependency of each module of system development on the other. In practice,
this means the stronger the coupling between the modules in a system, the more
difficult it is to implement and maintain the system.
Each module should have simple, clean interface with other modules, and that the
minimum number of data elements should be shared between modules.
High Coupling
These type of systems have interconnections with program units dependent on
each other. Changes to one subsystem leads to high impact on the other
subsystem.
Low Coupling
These type of systems are made up of components which are independent or
almost independent. A change in one subsystem does not affect any other
subsystem
WWW.TVETARENA.CO.KE
Coupling Measures
Content Coupling − When one component actually modifies another,then the
modified component is completely dependent on modifying one.
Common Coupling − When amount of coupling is reduced somewhat by
organizing system design so that data are accessible from a common data store.
Control Coupling − When one component passes parameters to control the
activity of another component.
Stamp Coupling − When data structures is used to pass information from one
component to another.
Data Coupling − When only data is passed then components are connected by
this coupling.
Cohesion
Cohesion is the measure of closeness of the relationship between its components.
It defines the amount of dependency of the components of a module on one
another. In practice, this means the systems designer must ensure that −
The best modules are those that are functionally cohesive. The worst modules are
those that are coincidentally cohesive.
The worst degree of cohesion
WWW.TVETARENA.CO.KE
Coincidental cohesion is found in a component whose parts are unrelated to
another.
Logical Cohesion − It is where several logically related functions or data elements
are placed in same component.
Temporal Cohesion − It is when a component that is used to initialize a system or
set variables performs several functions in sequence, but the functions are related
by timing involved.
Procedurally Cohesion − It is when functions are grouped together in a
component just to ensure this order
Sequential Cohesion − It is when the output from one part of a component is the
input to the next part of it.
Input Design
In an information system, input is the raw data that is processed to produce
output. During the input design, the developers must consider the input devices
such as PC, MICR, OMR, etc.
Therefore, the quality of system input determines the quality of system output.
Welldesigned input forms and screens have following properties −
WWW.TVETARENA.CO.KE
5. To use validation checks and develop effective input controls.
Data Input Methods
It is important to design appropriate data input methods to prevent errors while
entering data. These methods depend on whether the data is entered by
customers in forms manually and later entered by data entry operators, or data is
directly entered by users on the PCs.
A system should prevent user from making mistakes by −
Clear form design by leaving enough space for writing legibly.
Clear instructions to fill form.
Clear form design.
Reducing key strokes.
Immediate error feedback.
Some of the popular data input methods are −
WWW.TVETARENA.CO.KE
To develop output design that serves the intended purpose and eliminates the
production of unwanted output.
To develop the output design that meets the end users requirements.
To deliver the appropriate quantity of output.
To form the output in appropriate format and direct it to the right person.
To make the output available on time for making good decisions.
WWW.TVETARENA.CO.KE
Both forms and reports are the product of input and output design and are
business document consisting of specified data. The main difference is that forms
provide fields for data input but reports are purely used for reading. For example,
order forms, employment and credit application, etc.
During form designing, the designers should know −
o who will use them
o where would they be delivered
o the purpose of the form or report
During form design, automated design tools enhance the developer’s ability to
prototype forms and reports and present them to end users for evaluation.
Objectives of Good Form Design
A good form design is necessary to ensure the following −
To keep the screen simple by giving proper sequence, information, and clear
captions.
To meet the intended purpose by using appropriate forms.
To ensure the completion of form with accuracy.
To keep the forms attractive by using icons, inverse video, or blinking cursors
etc.
To facilitate navigation.
Types of Forms
Flat Forms
It is a single copy form prepared manually or by a machine and printed on a
paper. For additional copies of the original, carbon papers are inserted between
copies.
It is a simplest and inexpensive form to design, print, and reproduce, which uses
less volume.
Unit Set/Snap out Forms
These are papers with one-time carbons interleaved into unit sets for either
handwritten or machine use.
Carbons may be either blue or black, standard grade medium intensity. Generally,
blue carbons are best for handwritten forms while black carbons are best for
machine use.
Continuous strip/Fanfold Forms
WWW.TVETARENA.CO.KE
These are multiple unit forms joined in a continuous strip with perforations
between each pair of forms.
It is a less expensive method for large volume use.
No Carbon Required (NCR) Paper
They use carbonless papers which have two chemical coatings (capsules), one on
the face and to other on the back of a sheet of paper.
When pressure is applied, the two capsules interact and create an image.
WWW.TVETARENA.CO.KE
Stages of System Testing
The following stages are involved in testing −
Test Strategy
It is a statement that provides information about the various levels, methods,
tools, and techniques used for testing the system. It should satisfy all the needs of
an organization.
Test Plan
It provides a plan for testing the system and verifies that the system under testing
fulfils all the design and functional specifications. The test plan provides the
following information −
1. Objectives of each test phase
2. Approaches and tools used for testing
3. Responsibilities and time required for each testing activity
4. Availability of tools, facilities, and test libraries
5. Procedures and standards required for planning and conducting the tests
6. Factors responsible for successful completion of testing process
Test Case Design
Test cases are used to uncover as many errors as possible in the system.
A number of test cases are identified for each module of the system to be tested.
Each test case will specify how the implementation of a particular requirement or
design decision is to be tested and the criteria for the success of the test.
The test cases along with the test plan are documented as a part of a system
specification document or in a separate document called test specification or test
description.
Test Procedures
It consists of the steps that should be followed to execute each of the test cases.
These procedures are specified in a separate document called test procedure
specification. This document also specifies any special requirements and formats
for reporting the result of testing.
Test Result Documentation
WWW.TVETARENA.CO.KE
Test result file contains brief information about the total number of test cases
executed, the number of errors, and nature of errors. These results are then
assessed against criteria in the test specification to determine the overall outcome
of the test.
Types of Testing
Testing can be of various types and different types of tests are conducted
depending on the kind of bugs one seeks to discover −
Unit Testing
Also known as Program Testing, it is a type of testing where the analyst tests or
focuses on each program or module independently. It is carried out with the
intention of executing each statement of the module at least once.
In unit testing, accuracy of program cannot be assured and it is difficult to conduct
testing of various input combination in detail.
It identifies maximum errors in a program as compared to other testing
techniques.
Integration Testing
In Integration Testing, the analyst tests multiple module working together. It is
used to find discrepancies between the system and its original objective, current
specifications, and systems documentation.
Here the analysts are try to find areas where modules have been designed with
different specifications for data length, type, and data element name.
It verifies that file sizes are adequate and that indices have been built properly.
Functional Testing
Function testing determines whether the system is functioning correctly according
to its specifications and relevant standards documentation. Functional testing
typically starts with the implementation of the system, which is very critical for the
success of the system.
Functional testing is divided into two categories −
1. Positive Functional Testing − It involves testing the system with valid inputs to
verify that the outputs produced are correct.
2. Negative Functional Testing − It involves testing the software with invalid
inputs and undesired
operating conditions.
WWW.TVETARENA.CO.KE
Rules for System Testing
To carry out system testing successfully, you need to follow the given rules −
1. Testing should be based on the requirements of user.
2. Before writing testing scripts, understand the business logic should be
understood thoroughly.
3. Test plan should be done as soon as possible.
4. Testing should be done by the third party.
5. It should be performed on static software.
6. Testing should be done for valid and invalid input conditions.
7. Testing should be reviewed and examined to reduce the costs.
8. Both static and dynamic testing should be conducted on the software.
9. Documentation of test cases and test results should be done.
Quality Assurance
It is the review of system or software products and its documentation for
assurance that system meets the requirements and specifications.
WWW.TVETARENA.CO.KE
4. To ensure that the issues, which are not solved within the software are
addressed by the upper management.
5. To identify deficiencies in the product, process, or the standards, and fix
them.
Levels of Quality Assurance
There are several levels of QA and testing that need to be performed in order to
certify a software product.
Level 1 − Code Walk-through
At this level, offline software is examined or checked for any violations of the
official coding rules. In general, the emphasis is placed on examination of the
documentation and level of in-code comments.
Level 2 − Compilation and Linking
At this level, it is checked that the software can compile and link all official
platforms and operating systems.
Level 3 − Routine Running
At this level, it is checked that the software can run properly under a variety of
conditions such as certain number of events and small and large event sizes etc.
Level 4 − Performance test
At this final level, it is checked that the performance of the software satisfies the
previously specified performance level.
System Implementation and Maintenance
Implementation is a process of ensuring that the information system is
operational. It involves −
Constructing a new system from scratch
Constructing a new system from the existing one.
Implementation allows the users to take over its operation for use and evaluation.
It involves training the users to handle the system and plan for a smooth
conversion.
Training
The personnel in the system must know in detail what their roles will be, how
they can use the system, and what the system will or will not do. The success or
WWW.TVETARENA.CO.KE
failure of welldesigned and technically elegant systems can depend on the way
they are operated and used.
Training Systems Operators
Systems operators must be trained properly such that they can handle all possible
operations, both routine and extraordinary. The operators should be trained in
what common malfunctions may occur, how to recognize them, and what steps
to take when they come.
Training involves creating troubleshooting lists to identify possible problems and
remedies for them, as well as the names and telephone numbers of individuals to
contact when unexpected or unusual problems arise.
Training also involves familiarization with run procedures, which involves
working through the sequence of activities needed to use a new system.
User Training
1. End-user training is an important part of the computer-based information
system development, which must be provided to employees to enable them to do
their own problem solving.
2. User training involves how to operate the equipment, troubleshooting the
system problem, determining whether a problem that arose is caused by the
equipment or software.
3. Most user training deals with the operation of the system itself. The training
courses must be designed to help the user with fast mobilization for the
organization.
Training Guidelines
Establishing measurable objectives
Using appropriate training methods
Selecting suitable training sites
Employing understandable training materials
Training Methods
Instructor-led training
It involves both trainers and trainees, who have to meet at the same time, but not
necessarily at the same place. The training session could be one-on-one or
collaborative. It is of two types −
Virtual Classroom
WWW.TVETARENA.CO.KE
In this training, trainers must meet the trainees at the same time, but are not
required to be at the same place. The primary tools used here are: video
conferencing, text based Internet relay chat tools, or virtual reality packages, etc.
Normal Classroom
The trainers must meet the trainees at the same time and at the same place. They
primary tools used here are blackboard, overhead projectors, LCD projector, etc.
Self-Paced Training
It involves both trainers and trainees, who do not need to meet at the same place
or at the same time. The
trainees learn the skills themselves by accessing the courses at their own
convenience. It is of two types −
Multimedia Training
In this training, courses are presented in multimedia format and stored on CD-
ROM. It minimizes the cost in developing an in-house training course without
assistance from external programmers.
Web-based Training
In this training, courses are often presented in hyper media format and developed
to support internet and intranet. It provides just-in-time training for end users and
allow organization to tailor training requirements.
Conversion
It is a process of migrating from the old system to the new one. It provides
understandable and structured approach to improve the communication between
management and project team.
Conversion Plan
It contains description of all the activities that must occur during implementation
of the new system and put it into operation. It anticipates possible problems and
solutions to deal with them.
It includes the following activities −
1. Name all files for conversions.
2. Identifying the data requirements to develop new files during conversion.
3. Listing all the new documents and procedures that are required.
4. Identifying the controls to be used in each activity.
WWW.TVETARENA.CO.KE
5. Identifying the responsibility of person for each activity.
6. Verifying conversion schedules.
Conversion Methods
The four methods of conversion are −
1. Parallel Conversion
2. Direct Cutover Conversion
3. Pilot Approach
4. Phase-In Method
System Audit
It is an investigation to review the performance of an operational system. The
objectives of conducting a system audit are as follows −
1. To compare actual and planned performance.
2. To verify that the stated objectives of system are still valid in current
environment.
3. To evaluate the achievement of stated objectives.
4. To ensure the reliability of computer based financial and other information.
5. To ensure all records included while processing.
6. To ensure protection from frauds.
Audit of Computer System Usage
Data processing auditors audits the usage of computer system in order to control
it. The auditor need control data which is obtained by computer system itself.
The System Auditor
The role of auditor begins at the initial stage of system development so that
resulting system is secure. It
describes an idea of utilization of system that can be recorded which helps in load
planning and deciding on hardware and software specifications. It gives an
indication of wise use of the computer system and possible misuse of the system.
Audit Trial
An audit trial or audit log is a security record which is comprised of who has
accessed a computer system and what operations are performed during a given
WWW.TVETARENA.CO.KE
period of time. Audit trials are used to do detailed tracing of how data on the
system has changed.
It provides documentary evidence of various control techniques that a transaction
is subject to during its processing. Audit trials do not exist independently. They are
carried out as a part of accounting for recovering lost transactions.
Audit Methods
Auditing can be done in two different ways −
Auditing around the Computer
1. Take sample inputs and manually apply processing rules.
2. Compare outputs with computer outputs.
Auditing through the Computer
1. Establish audit trial which allows examining selected intermediate results.
2. Control totals provide intermediate checks.
Audit Considerations
Audit considerations examine the results of the analysis by using both the
narratives and models to identify the problems caused due to misplaced functions,
split processes or functions, broken data flows, missing data, redundant or
incomplete processing, and nonaddressed automation opportunities.
The activities under this phase are as follows −
1. Identification of the current environment problems
2. Identification of problem causes
3. Identification of alternative solutions
4. Evaluation and feasibility analysis of each solution
5. Selection and recommendation of most practical and appropriate solution
6. Project cost estimation and cost benefit analysis
Security
System security refers to protecting the system from theft, unauthorized access and
modifications, and accidental or unintentional damage. In computerized systems,
security involves protecting all the parts of computer system which includes data,
software, and hardware. Systems security includes system privacy and system
integrity.
WWW.TVETARENA.CO.KE
System privacy deals with protecting individuals systems from being accessed and
used without the permission/knowledge of the concerned individuals.
System integrity is concerned with the quality and reliability of raw as well as
processed data in the system.
Control Measures
There are variety of control measures which can be broadly classified as follows −
Backup
1. Regular backup of databases daily/weekly depending on the time criticality
and size.
2. Incremental back up at shorter intervals.
3. Backup copies kept in safe remote location particularly necessary for disaster
recovery.
4. Duplicate systems run and all transactions mirrored if it is a very critical
system and cannot tolerate any disruption before storing in disk.
Physical Access Control to Facilities
1. Password system.
2. Encrypting sensitive data/programs.
3. Training employees on data care/handling and security.
4. Antivirus software and Firewall protection while connected to internet.
Risk Analysis
A risk is the possibility of losing something of value. Risk analysis starts with
planning for secure system by identifying the vulnerability of system and impact of
this. The plan is then made to manage the risk and cope with disaster. It is done to
accesses the probability of possible disaster and their cost.
Risk analysis is a teamwork of experts with different backgrounds like chemicals,
human error, and process equipment.
The following steps are to be followed while conducting risk analysis −
WWW.TVETARENA.CO.KE
Identification of all the components of computer system.
Identification of all the threats and hazards that each of the components faces.
Quantify risks i.e. assessment of loss in the case threats become reality.
WWW.TVETARENA.CO.KE
design, adaption, and maintenance. It identifies the objects in problem domain,
classifying them in terms of data and behavior.
The OO model is beneficial in the following ways −
WWW.TVETARENA.CO.KE
It is a process of taking or selecting necessary method and attributes to specify the
object. It focuses on essential characteristics of an object relative to perspective of
user.
Relationships
All the classes in the system are related with each other. The objects do not exist in
isolation, they exist in relationship with other objects.
There are three types of object relationships −
1. Aggregation − It indicates relationship between a whole and its parts.
2. Association − In this, two classes are related or connected in some way such as
one class works with another to perform a task or one class acts upon other class.
3. Generalization − The child class is based on parent class. It indicates that two
classes are similar but
have some differences.
Inheritance
Inheritance is a great feature that allows to create sub-classes from an existing class
by inheriting the attributes and/or operations of existing classes.
Polymorphism and Dynamic Binding
Polymorphism is the ability to take on many different forms. It applies to both
objects and operations. A polymorphic object is one who true type hides within a
super or parent class.
In polymorphic operation, the operation may be carried out differently by
different classes of objects. It allows us to manipulate objects of different classes by
knowing only their common properties.
Unified Modeling Language (UML)
Object Oriented Approach
It works with Bottom-up approach.
Program is organized by having number of classes and objects.
Message passing is used. Reusability is possible.
Object oriented design programming done concurrently with other phases.
It is suitable for in-house development.
Not so clear transition from design to implementation.
WWW.TVETARENA.CO.KE
It is suitable for most business applications, game development projects, which are
expected to customize or extended.
Class diagram, sequence diagram, state chart diagram, and use cases all contribute.
In this approach, projects can be difficult to manage due to uncertain transitions
between phase.
UML is a visual language that lets you to model processes, software, and systems
to express the design of system architecture. It is a standard language for designing
and documenting a system in an object oriented manner that allow technical
architects to communicate with developer.
It is defined as set of specifications created and distributed by Object Management
Group. UML is extensible and scalable.
The objective of UML is to provide a common vocabulary of object-oriented
terms and diagramming techniques that is rich enough to model any systems
development project from analysis through implementation.
UML is made up of −
1. Diagrams − It is a pictorial representations of process, system, or some part of
it.
2. Notations − It consists of elements that work together in a diagram such as
connectors, symbols, notes, etc.
Example of UML Notation for class
WWW.TVETARENA.CO.KE
Operations Performed on Objects
The following operations are performed on the objects −
1. Constructor/Destructor − Creating new instances of a class and deleting existing
instances of a class. For example, adding a new employee.
2. Query − Accessing state without changing value, has no side effects. For
example, finding address of a particular employee.
3. Update − Changes value of one or more attributes & affect state of object For
example, changing the address of an employee.
Uses of UML
UML is quite useful for the following purposes −
WWW.TVETARENA.CO.KE
Static Models
Static models show the structural characteristics of a system, describe its system
structure, and emphasize on the parts that make up the system.
1. They are used to define class names, attributes, methods, signature, and
packages.
2. UML diagrams that represent static model include class diagram, object
diagram, and use case diagram.
Dynamic Models
Dynamic models show the behavioral characteristics of a system, i.e., how the
system behaves in response to external events.
Dynamic models identify the object needed and how they work together
through methods and messages.
They are used to design the logic and behavior of system.
UML diagrams represent dynamic model include sequence diagram,
communication diagram, state diagram, activity diagram.
WWW.TVETARENA.CO.KE
Object Oriented Systems Development Activities
Object-oriented systems development includes the following stages −
Object-oriented analysis
Object-oriented design
Prototyping
Implementation
Incremental testing
Object-Oriented Analysis
This phase concerns with determining the system requirements and to understand
the system requirements build a use-case model. A use-case is a scenario to
describe the interaction between user and computer system. This model represents
the user needs or user view of system.
It also includes identifying the classes and their relationships to the other classes in
the problem domain, that make up an application.
Object-Oriented Design
The objective of this phase is to design and refine the classes, attributes, methods,
and structures that are identified during the analysis phase, user interface, and data
access. This phase also identifies and defines the additional classes or objects that
support implementation of the requirement.
WWW.TVETARENA.CO.KE
Prototyping
Prototyping enables to fully understand how easy or difficult it will be to
implement some of the features of the system.
It can also give users a chance to comment on the usability and usefulness of the
design. It can further define a use-case and make use-case modeling much easier.
Implementation
It uses either Component-Based Development (CBD) or Rapid Application
Development (RAD).
Component-based development (CBD)
CODD is an industrialized approach to the software development process using
various range of technologies like CASE tools. Application development moves
from custom development to assembly of pre-built, pre-tested, reusable software
components that operate with each other. A CBD developer can assemble
components to construct a complete software system.
Rapid Application Development (RAD)
RAD is a set of tools and techniques that can be used to build an application faster
than typically possible with traditional methods. It does not replace SDLC but
complements it, since it focuses more on process description and can be combined
perfectly with the object oriented approach.
Its task is to build the application quickly and incrementally implement the user
requirements design through tools such as visual basic, power builder, etc.
Incremental Testing
Software development and all of its activities including testing are an iterative
process. Therefore, it can be a costly affair if we wait to test a product only after
its complete development. Here incremental testing comes into picture wherein
the product is tested during various stages of its development.
WWW.TVETARENA.CO.KE