System Analysis and Design
System Analysis and Design
Systems development is systematic process which includes phases such as planning, analysis,
design, deployment, and maintenance. Here, in this tutorial, we will primarily focus on −
Systems analysis
Systems design
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
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 −
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
The control element guides the system.
It is the decision–making subsystem that controls the pattern of activities governing
input, processing, and output.
The behavior of a computer System is controlled by the Operating System and software.
In order to keep system in balance, what and how much input is needed is determined by
Output Specifications.
Feedback
Feedback provides the control in a dynamic system.
Positive feedback is routine in nature that encourages the performance of the system.
Negative feedback is informational in nature that provides the controller with information
for action.
Environment
The environment is the “supersystem” within which an organization operates.
It is the source of external elements that strike on the system.
It determines how a system must function. For example, vendors and competitors of
organization’s environment, may provide constraints that affect the actual performance of
the business.
Boundaries and Interface
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.
Open or Closed Systems
An open system must interact with its environment. It receives inputs from and delivers
outputs to the outside of the system. For example, an information system which must
adapt to the changing environmental conditions.
A closed system does not interact with its environment. It is isolated from environmental
influences. A completely closed system is rare in reality.
Adaptive and Non Adaptive System
Adaptive System responds to the change in the environment in a way to improve their
performance and to survive. For example, human beings, animals.
Non Adaptive System is the system which does not respond to the environment. For
example, machines.
Permanent or Temporary System
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 and Manufactured System
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.
Deterministic or Probabilistic System
Deterministic system operates in a predictable manner and the interaction between
system components is known with certainty. For example, two molecules of hydrogen
and one molecule of oxygen makes water.
Probabilistic System shows uncertain behavior. The exact output is not known. For
example, Weather forecasting, mail delivery.
Social, Human-Machine, Machine System
Social System is made up of people. For example, social clubs, societies.
In Human-Machine System, both human and machines are involved to perform a
particular task. For example, Computer programming.
Machine System is where human interference is neglected. All the tasks are performed by
the machine. For example, an autonomous robot.
Man–Made Information Systems
It is an interconnected set of information resources to manage data for particular
organization, under Direct Management Control (DMC).
This system includes hardware, software, communication, data, and application for
producing information according to the need of an organization.
Man-made information systems are divided into three types −
Formal Information System − It is based on the flow of information in the form of
memos, instructions, etc., from top level to lower levels of management.
Informal Information System − This is employee based system which solves the day to
day work related problems.
Computer Based System − This system is directly dependent on the computer for
managing business applications. For example, automatic library system, railway
reservation system, banking system, etc.
Categories of Information
There are three categories of information related to managerial levels and the decision managers
make.
Strategic Information
This information is required by topmost management for long range planning policies for
next few years. For example, trends in revenues, financial investment, and human
resources, and population growth.
This type of information is achieved with the aid of Decision Support System (DSS).
Managerial Information
This type of Information is required by middle management for short and intermediate
range planning which is in terms of months. For example, sales analysis, cash flow
projection, and annual financial statements.
It is achieved with the aid of Management Information Systems (MIS).
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.
Information Systems
Fundamental Concepts of Information Systems
Information is an increment in knowledge: it contributes to the general framework of
concepts and facts that we know. Information relies on the context and the recipient's
general knowledge for its significance.
Data are only the raw facts, the material for obtaining information.
Information systems use data stored in computer databases to provide needed
information.
A database is an organized collection of interrelated data reflecting a major aspect of a
firm's activities.
1. Information systems capture data from the organization (internal data) and its environment
(external data).
2. They store the database items over an extensive period of time.
3. When specific information is needed, the appropriate data items are manipulated as necessary,
and the user receives the resulting information.
4. Depending on the type of information system, the information output may take the form a
query response, decision outcome, expert-system advice, transaction document, or a report.
Formal information systems rely on procedures (established and accepted by organizational
practice) for collecting, storing, manipulating, and accessing data in order to obtain information.
Formal systems do not have to be computerized, but today they usually are. Informal information
systems also exist within an organization (interpersonal networking, water cooler gossip, etc.).
Attributes of Quality Information
Quality information needs to possess several attributes. Notably, it has to be:
1. Timely Available when needed and not outdated when made available
2. Complete Includes all the user needs to know about the situation where the information will be
used
3. Concise Does not include elements unneeded by the user
4. Relevant Has direct bearing on the situation
5. Precise Offers quantitative information with a degree of exactness appropriate to the
underlying data
6. Form The level of detail, tabular versus graphic display, and quantitative versus qualitative
form are selected in accordance with the situation Internal and External Information
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.
Flow System Models
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.
Static System Models
They represent one pair of relationships such as activity–time or cost–quantity.
The Gantt chart, for example, gives a static picture of an activity-time relationship.
Dynamic System Models
Business organizations are dynamic systems. A dynamic model approximates the type of
organization or application that analysts deal with.
It shows an ongoing, constantly changing status of the system. It consists of −
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.
Software Process models specify the various stages of the process and the order in which they
are carried out.
There are various Software development models or methodologies. They are as follows:
1. Waterfall model
2. V model
3. Incremental model
4. RAD model
5. Agile model
6. Iterative model
7. Spiral model
Waterfall Model
The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each
phase must be completed fully before the next phase can begin. This type of model is basically
used for the for the project which is small and there are no uncertain requirements. At the end of
each phase, a review takes place to determine if the project is on the right path and whether or
not to continue or discard the project. In this model the testing starts only after the development
is complete. In waterfall model phases do not overlap.
Diagram of Waterfall-model:
Advantages of waterfall model:
This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
In this model phases are processed and completed one at a time. Phases do not overlap.
Waterfall model works well for smaller projects where requirements are very well
understood.
Disadvantages of waterfall model:
Once an application is in the testing stage, it is very difficult to go back and change
something that was not well-thought out in the concept stage.
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of
changing.
When to use the waterfall model:
This model is used only when the requirements are very well known, clear and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are available freely
The project is short.
Very less customer enter action is involved during the development of the product. Once the
product is ready then only it can be demoed to the end users. Once the product is developed and
if any failure occurs then the cost of fixing such issues are very high, because we need to update
everywhere from document till the logic.
RAD model
RAD model is Rapid Application Development model. It is a type of incremental model. In RAD
model the components or functions are developed in parallel as if they were mini projects. The
developments are time boxed, delivered and then assembled into a working prototype. This can
quickly give the customer something to see and use and to provide feedback regarding the
delivery and their requirements.
Diagram of RAD-Model:
Interpersonal Skills
Interface with users and programmer.
Facilitate groups and lead smaller teams.
Managing expectations.
Good understanding, communication, selling and teaching abilities.
Motivator having the confidence to solve queries.
Analytical Skills
System study and organizational knowledge
Problem identification, problem analysis, and problem solving
Sound commonsense
Ability to access trade-off
Curiosity to learn about new organization
Management Skills
Understand users jargon and practices.
Resource & project management.
Change & risk management.
Understand the management functions thoroughly.
Technical Skills
Knowledge of computers and software.
Keep abreast of modern development.
Know of system design tools.
Breadth knowledge about new technologies.
Structured Analysis
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 −
It is graphic which specifies the presentation of application.
It divides the processes so that it gives a clear picture of system flow.
It is logical rather than physical i.e., the elements of system do not depend on vendor or
hardware.
It is an approach that works from high-level overviews to lower-level details.
Structured Analysis Tools
During Structured Analysis, various tools and techniques are used for system development. They
are −
Data Flow Diagrams
Data Dictionary
Decision Trees
Decision Tables
Structured English
Pseudocode
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.
The following table shows the symbols used in designing a DFD and their significance −
Symbol Name Symbol Meaning
Square Source or Destination of Data
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.
Physical DFD Logical DFD
It provides low level details of hardware, software, It explains events of systems and data required by
files, and people. each event.
It depicts how the current system operates and It shows how business operates; not how the system
how a system will be implemented. can be implemented.
Context Diagram
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.
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
2 TITLE title 60
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 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.
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 −
CONDITIONS Rule 1 Rule 2 Rule 3 Rule 4
Advance
Y N N N
payment made
Purchase
amount = Rs - Y Y N
10,000/-
Regular
- Y N -
Customer
ACTIONS
Give 5%
X X - -
discount
Give no
- - X X
discount
Structured 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
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
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.
Entity
Weak Entity
Relationship
Identity Relationship
Attributes
Key Attributes
Multivalued
Composite Attribute
Derived Attributes
Total Participation of E2 in R
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.
Types of Files used in an Organization System
Following are the types of files used in an organization system −
Master file − It contains the current information for a system. For example, customer
file, student file, telephone directory.
Table file − It is a type of master file that changes infrequently and stored in a tabular
format. For example, storing Zipcode.
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.
Temporary file − It is created and used whenever needed by a system.
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.
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.
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
It can reduce system downtime, cut costs, and speed up maintenance tasks.
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.
It provides effective and efficient way of communication between technical and
nontechnical users about system.
It facilitates the training of new user so that he can easily understand the flow of system.
It helps the user to solve the problems such as troubleshooting and helps the manager to
take better final decisions of the organization system.
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 −
Program documentation
System documentation
Operations documentation
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.
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 −
A system overview that clearly describes all major system features, capabilities, and
limitations.
Description of source document content, preparation, processing, and, samples.
Overview of menu and data entry screen options, contents, and processing instructions.
Examples of reports that are produced regularly or available at the user’s request,
including samples.
Security and audit trail information.
Explanation of responsibility for specific input, output, or processing requirements.
Procedures for requesting changes and reporting problems.
Examples of exceptions and error situations.
Frequently asked questions (FAQs).
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.
It describes each program within the IS and the entire IS itself.
It describes the system’s functions, the way they are implemented, each program's
purpose within the entire IS with respect to the order of execution, information passed to
and from programs, and overall system flow.
It includes data dictionary entries, data flow diagrams, object models, screen layouts,
source documents, and the systems request that initiated the project.
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.
Design Strategies
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.
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.
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.
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
Critical interfaces are tested first.
It provide abstraction.
It allows multiple programmers to work simultaneously.
It allows code reuse.
It provides control and improves morale.
It makes identifying structure easier.
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.
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.
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.
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 −
They do not split essential processes into fragmented modules.
They do not gather together unrelated processes represented as processes on the DFD into
meaningless modules.
The best modules are those that are functionally cohesive. The worst modules are those that are
coincidentally cohesive.
The worst degree of cohesion
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 −
It should serve specific purpose effectively such as storing, recording, and retrieving the
information.
It ensures proper completion with accuracy.
It should be easy to fill and straightforward.
It should focus on user’s attention, consistency, and simplicity.
All these objectives are obtained using the knowledge of basic design principles
regarding −
o What are the inputs needed for the system?
o How end users respond to different elements of forms and screens.
Objectives for Input Design
The objectives of input design are −
To design data entry and input procedures
To reduce input volume
To design source documents for data capture or devise other data capture methods
To design input data records, data entry screens, user interface screens, etc.
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 −
Batch input method (Offline data input method)
Online data input method
Computer readable forms
Interactive data input
Input Integrity Controls
Input integrity controls include a number of methods to eliminate common input errors by end-
users. They also include checks on the value of individual fields; both for format and the
completeness of all inputs.
Audit trails for data entry and other system operations are created using transaction logs which
gives a record of all changes introduced in the database to provide security and means of
recovery in case of any failure.
Output Design
The design of output is the most important task of any system. During output design, developers
identify the type of outputs needed, and consider the necessary output controls and prototype
report layouts.
Objectives of Output Design
The objectives of input design are −
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.
Let us now go through various types of outputs −
External Outputs
Manufacturers create and design external outputs for printers. External outputs enable the system
to leave the trigger actions on the part of their recipients or confirm actions to their recipients.
Some of the external outputs are designed as turnaround outputs, which are implemented as a
form and re-enter the system as an input.
Internal outputs
Internal outputs are present inside the system, and used by end-users and managers. They support
the management in decision making and reporting.
There are three types of reports produced by management information −
Detailed Reports − They contain present information which has almost no filtering or
restriction generated to assist management planning and control.
Summary Reports − They contain trends and potential problems which are categorized
and summarized that are generated for managers who do not want details.
Exception Reports − They contain exceptions, filtered data to some condition or
standard before presenting it to the manager, as information.
Output Integrity Controls
Output integrity controls include routing codes to identify the receiving system, and verification
messages to confirm successful receipt of messages that are handled by network protocol.
Printed or screen-format reports should include a date/time for report printing and the data.
Multipage reports contain report title or description, and pagination. Pre-printed forms usually
include a version number and effective date.
Forms Design
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
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 the other on the back of a sheet of paper.
When pressure is applied, the two capsules interact and create an image.
Testing and Quality Assurance
The software system needs to be checked for its intended behavior and direction of progress at
each development stage to avoid duplication of efforts, time and cost overruns, and to assure
completion of the system within stipulated time.The software system needs to be checked for its
intended behavior and direction of progress at each development stage to avoid duplication of
efforts, time and cost overruns, and to assure completion of the system within stipulated time.
System testing and quality assurance come to aid for checking the system. It includes −
Product level quality (Testing)
Process level quality.
Let us go through them briefly −
Testing
Testing is the process or activity that checks the functionality and correctness of software
according to specified user requirements in order to improve the quality and reliability of system.
It is an expensive, time consuming, and critical approach in system development which requires
proper planning of overall testing process.
A successful test is one that finds the errors. It executes the program with explicit intention of
finding error, i.e., making the program fail. It is a process of evaluating system with an intention
of creating a strong system and mainly focuses on the weak areas of the system or software.
Characteristics of System Testing
System testing begins at the module level and proceeds towards the integration of the entire
software system. Different testing techniques are used at different times while testing the system.
It is conducted by the developer for small projects and by independent testing groups for large
projects.
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 −
Objectives of each test phase
Approaches and tools used for testing
Responsibilities and time required for each testing activity
Availability of tools, facilities, and test libraries
Procedures and standards required for planning and conducting the tests
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
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 −
Positive Functional Testing − It involves testing the system with valid inputs to verify
that the outputs produced are correct.
Negative Functional Testing − It involves testing the software with invalid inputs and
undesired operating conditions.
Rules for System Testing
To carry out system testing successfully, you need to follow the given rules −
Testing should be based on the requirements of user.
Before writing testing scripts, understand the business logic should be understood
thoroughly.
Test plan should be done as soon as possible.
Testing should be done by the third party.
It should be performed on static software.
Testing should be done for valid and invalid input conditions.
Testing should be reviewed and examined to reduce the costs.
Both static and dynamic testing should be conducted on the software.
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.
Purpose of QA is to provide confidence to the customers by constant delivery of product
according to specification.
Software quality Assurance (SQA) is a techniques that includes procedures and tools
applied by the software professionals to ensure that software meet the specified standard
for its intended use and performance.
The main aim of SQA is to provide proper and accurate visibility of software project and
its developed product to the administration.
It reviews and audits the software product and its activities throughout the life cycle of
system development.
Objectives of Quality Assurance
The objectives of conducting quality assurance are as follows −
To monitor the software development process and the final software developed.
To ensure whether the software project is implementing the standards and procedures set
by the management.
To notify groups and individuals about the SQA activities and results of these activities.
To ensure that the issues, which are not solved within the software are addressed by the
upper management.
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.
Direct New system is implemented and Forces users to make No fall back if
Cutover old system is replaced new system work problems arise with
Conversion completely. Immediate benefit from new system
new methods and Requires most careful
control. planning
File Conversion
It is a process of converting one file format into another. For example, file in WordPerfect format
can be converted into Microsoft Word.
For successful conversion, a conversion plan is required, which includes −
Knowledge of the target system and understanding of the present system
Teamwork
Automated methods, testing and parallel operations
Continuous support for correcting problems
Updating systems/user documentation, etc
Many popular applications support opening and saving to other file formats of the same type. For
example, Microsoft Word can open and save files in many other word processing formats.
Post-Implementation Evaluation Review (PIER)
PIER is a tool or standard approach for evaluating the outcome of the project and determine
whether the project is producing the expected benefits to the processes, products or services. It
enables the user to verify that the project or system has achieved its desired outcome within
specified time period and planned cost.
PIER ensures that the project has met its goals by evaluating the development and management
processes of the project.
Objectives of PIER
The objectives of having a PIER are as follows −
To determine the success of a project against the projected costs, benefits, and timelines.
To identify the opportunities to add additional value to the project.
To determine strengths and weaknesses of the project for future reference and appropriate
action.
To make recommendations on the future of the project by refining cost estimating
techniques.
The following staff members should be included in the review process −
Project team and Management
User staff
Strategic Management Staff
External users
System Maintenance / Enhancement
Maintenance means restoring something to its original conditions. Enhancement means adding,
modifying the code to support the changes in the user specification. System maintenance
conforms the system to its original requirements and enhancement adds to system capability by
incorporating new requirements.
Thus, maintenance changes the existing system, enhancement adds features to the existing
system, and development replaces the existing system. It is an important part of system
development that includes the activities which corrects errors in system design and
implementation, updates the documents, and tests the data.
Maintenance Types
System maintenance can be classified into three types −
Corrective Maintenance − Enables user to carry out the repairing and correcting
leftover problems.
Adaptive Maintenance − Enables user to replace the functions of the programs.
Perfective Maintenance − Enables user to modify or enhance the programs according to
the users’ requirements and changing needs.
Preventive Maintenance – Enables user to put measures in place to prevent any errors or
bugs.
System Audit
It is an investigation to review the performance of an operational system. The objectives of
conducting a system audit are as follows −
To compare actual and planned performance.
To verify that the stated objectives of system are still valid in current environment.
To evaluate the achievement of stated objectives.
To ensure the reliability of computer based financial and other information.
To ensure all records included while processing.
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 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
Take sample inputs and manually apply processing rules.
Compare outputs with computer outputs.
Auditing through the Computer
Establish audit trial which allows examining selected intermediate results.
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 −
Identification of the current environment problems
Identification of problem causes
Identification of alternative solutions
Evaluation and feasibility analysis of each solution
Selection and recommendation of most practical and appropriate solution
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.
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
Regular backup of databases daily/weekly depending on the time criticality and size.
Incremental back up at shorter intervals.
Backup copies kept in safe remote location particularly necessary for disaster recovery.
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
Physical locks and Biometric authentication. For example, finger print
ID cards or entry passes being checked by security staff.
Identification of all persons who read or modify data and logging it in a file.
Using Logical or Software Control
Password system.
Encrypting sensitive data/programs.
Training employees on data care/handling and security.
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 −
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.
Risk Analysis – Main Steps
As the risks or threats are changing and the potential loss are also changing, management of risk
should be performed on periodic basis by senior managers.
Risk management is a continuous process and it involves the following steps −
Identification of security measures.
Calculation of the cost of implementation of security measures.
Comparison of the cost of security measures with the loss and probability of threats.
Selection and implementation of security measures.
Review of the implementation of security measures.