System Analysis and Design Tutorial
System Analysis and Design Tutorial
System Analysis and Design Tutorial
This tutorial provides a basic understanding of system characteristics, system design, and
its development processes. It is a good introductory guide that provides an overview of all
the concepts necessary to build a system.
Audience
This tutorial will help budding software professionals to understand how a system is
designed in a systematic and phased manner, starting from requirement analysis to
system implementation and maintenance.
Prerequisites
This tutorial is designed for absolute beginners and hence there are no prerequisites as
such, however it is assumed that the reader is familiar with the fundamentals of
computers.
All the content and graphics published in this e-book are the property of Tutorials Point (I)
Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute, or republish
any contents or a part of contents of this e-book in any manner without written consent
of the publisher.
We strive to update the contents of our website and tutorials as timely and as precisely as
possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt.
Ltd. provides no guarantee regarding the accuracy, timeliness, or completeness of our
website or its contents including this tutorial. If you discover any errors on our website or
in this tutorial, please notify us at [email protected]
i
Systems Analysis and Design
Table of Contents
About the Tutorial .................................................................................................................................. i
Audience ................................................................................................................................................ i
Prerequisites .......................................................................................................................................... i
Systems Models..................................................................................................................................... 6
3. SYSTEM PLANNING.............................................................................................................. 14
ii
Systems Analysis and Design
Types of Feasibilities............................................................................................................................ 18
4. STRUCTURED ANALYSIS.................................................................................................... 20
Pseudocode ......................................................................................................................................... 26
5. SYSTEM DESIGN.................................................................................................................... 28
6. DESIGN STRATEGIES........................................................................................................... 36
iii
Systems Analysis and Design
Testing ................................................................................................................................................. 46
Types of Testing................................................................................................................................... 47
Training ............................................................................................................................................... 50
Conversion .......................................................................................................................................... 51
Security ............................................................................................................................................... 56
iv
Systems Analysis and Design
v
Systems Analysis and Design
1. Systems Analysis and Design Overview
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.
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.
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.
Constraints of a System
A system must have three basic constraints:
1. A system must have some structure and behavior which is designed to achieve
a predefined objective.
1
Systems Analysis and Design
3. 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.
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.
2
Systems Analysis and Design
Elements of a System
The following diagram shows the elements of a system:
Inputs are the information that enters into the system for 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.
3
Systems Analysis and Design
Feedback
Feedback provides the control in a dynamic system.
Environment
The environment is the supersystem within which an organization operates.
It determines how a system must function. For example, vendors and competitors
of organizations environment, may provide constraints that affect the actual
performance of the business.
Each system has boundaries that determine its sphere of influence and control.
Types of Systems
The systems can be divided into the following types:
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.
A closed system does not interact with its environment. It is isolated from
environmental influences. A completely closed system is rare in reality.
4
Systems Analysis and Design
Non Adaptive System is the system which does not respond to the environment.
For example, machines.
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.
Probabilistic System shows uncertain behavior. The exact output is not known. For
example, Weather forecasting, mail delivery.
Machine System is where human interference is neglected. All the tasks are
performed by the machine. For example, an autonomous robot.
This system includes hardware, software, communication, data, and application for
producing information according to the need of an organization.
5
Systems Analysis and Design
Informal Information System: This is employee based system which solves the
day to day work related problems.
Computer Based System: This system is directly dependent on the computer for
managing business applications. For example, automatic library system, railway
reservation system, banking system, etc.
Systems Models
Schematic Models
A schematic model is a 2-D chart that shows system elements and their linkages.
Different arrows are used to show information flow, material flow, and information
feedback.
Program Evaluation and Review Technique (PERT), for example, is used to abstract
a real world system in model form.
6
Systems Analysis and Design
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.
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.
7
2. System Development Life Cycle
Systems Analysis and Design
An effective System Development Life Cycle (SDLC) should result in a high quality system
that meets customer expectations, reaches completion within time and cost evaluations,
and works effectively and efficiently in the current and planned Information Technology
infrastructure.
System Development Life Cycle (SDLC) is a conceptual model which includes policies and
procedures for developing or altering systems throughout their life cycles.
SDLC is used by analysts to develop an information system. SDLC includes the following
activities:
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.
8
Systems Analysis and Design
During this phase, threats, constraints, integration and security of system are
also considered.
A feasibility report for the entire project is created at the end of this phase.
Examine the information needs of end-user and enhances the system goal.
9
Systems Analysis and Design
System Design
Includes the design of application, network, databases, user interfaces, and system
interfaces.
Transform the SRS document into logical structure, which contains detailed and
complete set of specifications that can be implemented in a programming language.
Review the proposed design. Ensure that the final design must meet the
requirements stated in SRS document.
Finally, prepare a design document which will be used during next phases.
Implementation
Combine all the modules together into training environment that detects errors and
defects.
A test report which contains errors is prepared through test plan that includes test
related tasks such as test case generation, testing criteria, and resource allocation
for testing.
Integrate the information system into its environment and install the new system.
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.
10
Systems Analysis and Design
He pursues to match the objectives of information system with the organization goal.
Main Roles
Defining and understanding the requirement of user through various Fact finding
techniques.
Suggests many flexible alternative solutions, pick the best solution, and quantify
cost and benefits.
Draw certain specifications which are easily understood by users and programmer
in precise and detailed form.
11
Systems Analysis and Design
Plan the periodicity for evaluation after it has been used for some time, and modify
the system as needed.
Interpersonal Skills
Interface with users and programmer.
Facilitate groups and lead smaller teams.
Managing expectations.
Analytical Skills
System study and organizational knowledge
Problem identification, problem analysis, and problem solving
Sound commonsense
12
Systems Analysis and Design
Management Skills
Understand users jargon and practices.
Resource &project management
Technical Skills
Knowledge of computers and software
Keep abreast of modern development.
13
Systems Analysis and Design
3. System Planning
Requirements determination involves studying the existing system and gathering details
to find out what are the requirements, how it works, and where improvements should be
made.
Requirements Anticipation
It predicts the characteristics of system based on previous experience which include
certain problems or features and requirements for a new system.
Requirements Investigation
It is studying the current system and documenting its features for further analysis.
Requirements Specifications
It includes the analysis of data which determine the requirement specification,
description of features for new system, and specifying what information
requirements will be provided.
14
Systems Analysis and Design
Interviewing
Systems analyst collects information from individuals or groups by interviewing. The
analyst can be formal, legalistic, play politics, or be informal; as the success of an interview
depends on the skill of analyst as interviewer.
Advantages of Interviewing
This method is frequently the best source of gathering qualitative information.
It is useful for them, who do not communicate effectively in writing or who may
not have the time to complete questionnaire.
Questionnaires
This method is used by analyst to gather information about various issues of system from
large number of persons.
Advantages of questionnaires
It is very effective in surveying interests, attitudes, feelings, and beliefs of users
which are not co-located.
15
Systems Analysis and Design
It is useful to determine the overall opinion before giving any specific direction to
the system project.
It is appropriate for electing factual information and for statistical data collection
which can be emailed and sent by post.
Advantages
It helps user to gain some knowledge about the organization or operations by
themselves before they impose upon others.
It can provide a clear understanding about the transactions that are handled in the
organization, identifying input for processing, and evaluating performance.
It can help an analyst to understand the system in terms of the operations that
must be supported.
It describes the problem, its affected parts, and the proposed solution.
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
It is a direct method for gleaning information.
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.
It produces all the aspect of documentation that are incomplete and outdated
16
Systems Analysis and Design
Advantages of JAD
It saves time and cost by replacing months of traditional interviews and follow-up
meetings.
Advantages
It is more openly accessed with the availability of internet.
It act as forerunner to primary research and aligns the focus of primary research.
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.
It is used to obtain the outline of the problem and decide whether feasible or
appropriate solution exists or not.
17
Systems Analysis and Design
7. Rank the other alternatives and select the best candidate system.
Types of Feasibilities
Economic Feasibility
It is evaluating the effectiveness of candidate system by using cost/benefit analysis
method.
It demonstrates the net benefit from the candidate system in terms of benefits and
costs to the organization.
The main aim of Economic Feasibility Analysis (EFS) is to estimate the economic
requirements of candidate system before investments funds are committed to
proposal.
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.
18
Systems Analysis and Design
Technical Feasibility
It investigates the technical feasibility of each implementation alternative.
It ensures that the candidate system provides appropriate responses to what extent
it can support the technical enhancement.
Operational Feasibility
It determines whether the system is operating effectively once it is developed and
implemented.
It ensures that the management should support the proposed system and its
working feasible in the current organizational environment.
It analyzes whether the users will be affected and they accept the modified or new
business methods that affect the possible system benefits.
It also ensures that the computer resources and network architecture of candidate
system are workable.
Behavioral Feasibility
It evaluates and estimates the user attitude or behavior towards the development
of new system.
It helps in determining if the system requires special effort to educate, retrain,
transfer, and changes in employees job status on new ways of conducting
business.
Schedule Feasibility
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.
19
Systems Analysis and Design
4. Structured Analysis
Analysts use various tools to understand and describe the information system. One of the
ways is using structured analysis.
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 is logical rather than physical i.e., the elements of system do not depend on
vendor or hardware.
20
Systems Analysis and Design
It shows the flow of data between various functions of system and specifies how
the current system is implemented.
Its graphical nature makes it a good communication tool between user and analyst
or analyst and system designer.
21
Systems Analysis and Design
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.
It provides low level details of hardware, It explains events of systems and data
software, files, and people. required by each event.
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.
22
Systems Analysis and Design
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:
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.
23
Systems Analysis and Design
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.
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.
24
Systems Analysis and Design
It is a matrix containing row or columns for defining a problem and the actions.
Action stub: It is in the lower left quadrant which outlines all the action to be
carried out to meet such condition.
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,
X (or a check mark will do) against action states it is to be carried out.
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 discount - - X X
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.
25
Systems Analysis and Design
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.
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.
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.
26
Systems Analysis and Design
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.
27
5. System DesignSystems Analysis and 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.
Statement of work
Requirement determination plan
Current situation analysis
Proposed system requirements including a conceptual data model, modified DFDs,
and Metadata (data about data).
28
Systems Analysis and Design
A function hierarchy diagram or web page map that graphically describes the program
structure.
Logical Design
Logical design pertains to an abstract representation of the data flow, inputs, and outputs
of the system. It describes the inputs (sources), outputs (destinations), databases (data
stores), procedures (data flows) all in a format that meets the user requirements.
While preparing the logical design of a system, the system analyst specifies the user needs
at level of detail that virtually determines the information flow into and out of the system
and the required data sources. Data flow diagram, E-R diagram modeling are used.
Physical Design
Physical design relates to the actual input and output processes of the system. It focuses
on how data is entered into a system, verified, processed, and displayed as output.
It produces the working system by defining the design specification that specifies exactly
what the candidate system does. It is concerned with user interface design, process
design, and data design.
Specifying the input/output media, designing the database, and specifying backup
procedures.
Devising a test and implementation plan, and specifying any new hardware and
software.
Updating costs, benefits, conversion dates, and system constraints.
29
Systems Analysis and Design
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.
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.
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:
Symbol Meaning
Entity
Weak Entity
Relationship
Identity Relationship
30
Systems Analysis and Design
Attributes
Key Attributes
Multivalued
Composite Attribute
Derived Attributes
E1 R E2 Total Participation of E2 in R
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.
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
31
Systems Analysis and Design
Comparison
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
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.
32
Systems Analysis and Design
Mirror files: 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 file: 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.
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 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.
33
Systems Analysis and Design
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.
Scheduling information for printed output, such as report, execution frequency, and
deadlines.
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 users guide.
34
Systems Analysis and Design
A system overview that clearly describes all major system features, capabilities,
and limitations.
Overview of menu and data entry screen options, contents, and processing
instructions.
Examples of reports that are produced regularly or available at the users request,
including samples.
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 the systems 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.
35
6. Design Strategies
Systems Analysis and Design
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.
36
Systems Analysis and Design
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.
Modularization
Structured design partitions the program into small and independent modules. These are
organized in top down manner with the details shown in bottom.
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.
Library Module: It is a reusable module and can be invoked from more than one
point in the chart.
38
Systems Analysis and Design
To identify the number of readily identifiable functions and modules within each
function.
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.
39
Systems Analysis and Design
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
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.
40
Systems Analysis and Design
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.
Sequential Cohesion: It is when the output from one part of a component is the
input to the next part of it.
41
7. Input / Output & Forms Design
Systems Analysis and Design
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. Well-
designed input forms and screens have following properties:
All these objectives are obtained using the knowledge of basic design principles
regarding:
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.
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.
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 form the output in appropriate format and direct it to the right person.
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.
43
Systems Analysis and Design
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.
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.
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 design, automated design tools enhance the developers ability to
prototype forms and reports and present them to end users for evaluation.
To keep the screen simple by giving proper sequence, information, and clear
captions.
44
Systems Analysis and Design
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.
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.
When pressure is applied, the two capsules interact and create an image.
45
Systems Analysis and Design
8. 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.
System testing and quality assurance come to aid for checking the system. It includes:
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.
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:
46
Systems Analysis and Design
Procedures and standards required for planning and conducting the tests
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.
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.
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.
47
Systems Analysis and Design
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.
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.
Before writing testing scripts, understand the business logic should be understood
thoroughly.
Quality Assurance
It is the review of system or software products and its documentation for assurance that
system meets the requirements and specifications.
48
Systems Analysis and Design
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.
To monitor the software development process and the final software developed.
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.
49
9. System Implementation andSystems
Maintenance
Analysis and Design
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 failure of well-
designed and technically elegant systems can depend on the way they are operated and
used.
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
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.
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.
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
50
Systems Analysis and Design
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
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 Traing
In this training, courses are often presented in hyper media format and developed to
support internet and intranet. It provides justin-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.
51
Systems Analysis and Design
Listing all the new documents and procedures that are required.
Conversion Methods
The four methods of conversion are:
Parallel Conversion
Direct Cutover Conversion
Pilot Approach
Phase-In Method
Disadvantages
Method Description Advantages
Causes cost
Provides fallback when
Old and new overruns.
new system fails.
Parallel systems
Conversion are used New system may
Offers greatest
simultaneously. not get fair trail.
security and ultimately
testing of new system.
52
Systems Analysis and Design
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.
Teamwork
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.
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 determine strengths and weaknesses of the project for future reference and
appropriate action.
53
Systems Analysis and Design
User staff
External users
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.
54
10. System Security andSystems
Audit Analysis and Design
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 verify that the stated objectives of system are still valid in current environment.
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.
Audit Methods
Auditing can be done in two different ways:
55
Systems Analysis and Design
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 non-
addressed automation opportunities.
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.
56
Systems Analysis and Design
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.
Identification of all persons who read or modify data and logging it in a file.
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.
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.
57
Systems Analysis and Design
Comparison of the cost of security measures with the loss and probability of threats.
58
Systems Analysis and Design
11. Object-Oriented Approach
In the object-oriented approach, the focus is on capturing the structure and behavior of
information systems into small modules that combines both data and process. The main
aim of Object Oriented Design (OOD) is to improve the quality and productivity of system
analysis and design by making it more usable.
In analysis phase, OO models are used to fill the gap between problem and solution. It
performs well in situation where systems are undergoing continuous design, adaption, and
maintenance. It identifies the objects in problem domain, classifying them in terms of data
and behavior.
Objects An object is something that is exists within problem domain and can be identified by data
(attribute) or behavior. All tangible entities (student, patient) and some intangible
entities (bank account) are modeled as object.
Behavior It specifies what the object can do. It defines the operation
performed on objects.
Class A class encapsulates the data and its behavior. Objects with similar
meaning and purpose grouped together as class.
Methods Methods determine the behavior of a class. They are nothing more
than an action that an object can perform.
59
Systems Analysis and Design
Encapsulation
Encapsulation is a process of information hiding. It is simply the combination of process
and data into a single entity. Data of an object is hidden from the rest of the system and
available only through the services of the class. It allows improvement or modification of
methods used by objects without affecting other parts of a system.
Abstraction
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.
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.
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.
60
Systems Analysis and Design
It shows clear transition from design to Not so clear transition from design to
implementation. implementation.
61
Systems Analysis and Design
62
Systems Analysis and Design
Constructor/Destructor: Creating new instances of a class and deleting existing instances of a class.
For example, adding a new employee.
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:
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.
They are used to define class names, attributes, methods, signature, and packages.
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.
63
Systems Analysis and Design
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.
64
Systems Analysis and Design
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.
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).
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.
65