System Analysis and Design - Overview
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.
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.
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.”
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.
System
Development Life Cycle
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.
Feasibility Study or Planning
·
Define the problem and
scope of existing system.
·
Overview the new system
and determine its objectives.
·
Confirm project
feasibility and produce the project Schedule.
·
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.
Analysis and Specification
·
Gather, analyze, and
validate the information.
·
Define the requirements
and prototypes for new system.
·
Evaluate the
alternatives and prioritize the requirements.
·
Examine the information
needs of end-user and enhances the system goal.
·
A Software Requirement
Specification (SRS) document, which specifies the software, hardware,
functional, and network requirements of the system is prepared at the end of
this phase.
System Design
·
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.
·
Create a contingency,
training, maintenance, and operation plan.
·
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
·
Implement the design
into source code through coding.
·
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.
Role of System Analyst
The system analyst is a person who is thoroughly
aware of the system and guides the system development project by giving proper
directions. He is an expert having technical and interpersonal skills to carry
out development tasks required at each phase.
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.
·
Prioritizing the
requirements by obtaining user consensus.
·
Gathering the facts or
information and acquires the opinions of users.
·
Maintains analysis and
evaluation to arrive at appropriate system which is more user friendly.
·
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.
·
Implemented the logical
design of system which must be modular.
·
Plan the periodicity for
evaluation after it has been used for some time, and modify the system as
needed.
Attributes of a Systems Analyst
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.
System Analysis & Design -
System Planning and Mutual Investigation
What is Requirements Determination?
A requirement is a vital feature of a new system
which may include processing or capturing of data, controlling the activities
of business, producing information and supporting the management.
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.
Major Activities in requirement Determination
Requirements
Anticipation
·
It predicts the
characteristics of system based on previous experience which include certain
problems or features and requirements for a new system.
·
It can lead to analysis
of areas that would otherwise go unnoticed by inexperienced analyst. But if
shortcuts are taken and bias is introduced in conducting the investigation,
then requirement Anticipation can be half-baked.
Requirements Investigation
·
It is studying the
current system and documenting its features for further analysis.
·
It is at the heart of
system analysis where analyst documenting and describing system features using
fact-finding techniques, prototyping, and computer assisted tools.
Requirements Specifications
·
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.
·
It includes analysis of
factual data, identification of essential requirements, and selection of
Requirement-fulfillment strategies.
Information Gathering Techniques
The main aim of fact finding techniques is to
determine the information requirements of an organization used by analysts to
prepare a precise SRS understood by user.
Ideal SRS Document should −
- be complete, Unambiguous, and Jargon-free.
- specify operational, tactical, and strategic
information requirements.
- solve possible disputes between users and analyst.
- use graphical aids which simplify understanding and
design.
There are various information gathering
techniques :
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.
It can be done in two ways −
·
Unstructured
Interview − The system
analyst conducts question-answer session to acquire basic information of the
system.
·
Structured
Interview − It has standard
questions which user need to respond in either close (objective) or open
(descriptive) format.
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.
·
Information can easily
be validated and cross checked immediately.
·
It can handle the
complex subjects.
·
It is easy to discover
key problem by seeking opinions.
·
It bridges the gaps in
the areas of misunderstandings and minimizes future problems.
Questionnaires
This method is used by analyst to gather
information about various issues of system from large number of persons.
There are two types of questionnaires −
·
Open-ended
Questionnaires − It consists of
questions that can be easily and correctly interpreted. They can explore a
problem and lead to a specific direction of answer.
·
Closed-ended
Questionnaires − It consists of
questions that are used when the systems analyst effectively lists all possible
responses, which are mutually exclusive.
Advantages of
questionnaires
·
It is very effective in
surveying interests, attitudes, feelings, and beliefs of users which are not
co-located.
·
It is useful in
situation to know what proportion of a given group approves or disapproves of a
particular feature of the proposed system.
·
It is useful to
determine the overall opinion before giving any specific direction to the
system project.
·
It is more reliable and
provides high confidentiality of honest responses.
·
It is appropriate for
electing factual information and for statistical data collection which can be
emailed and sent by post.
Review of Records, Procedures, and Forms
Review of existing records, procedures, and
forms helps to seek insight into a system which describes the current system
capabilities, its operations, or activities.
Advantages
·
It helps user to gain
some knowledge about the organization or operations by themselves before they
impose upon others.
·
It helps in documenting
current operations within short span of time as the procedure manuals and forms
describe the format and functions of present system.
·
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 more
accurate and reliable data.
·
It produces all the
aspect of documentation that are incomplete and outdated.
System
Analysis & Design - 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.
Inputs to System Design
System design takes the following inputs −
·
Statement of work
· Requirement
determination plan
· Current situation
analysis
· Proposed system
requirements including a conceptual data model, modified DFDs, and Metadata
(data about data).
Outputs for System Design
System design gives the following outputs −
·
Infrastructure and
organizational changes for the proposed system.
· A data schema, often a
relational schema.
· Metadata to define the
tables/files and columns/data-items.
· A function hierarchy
diagram or web page map that graphically describes the program structure.
· Actual or pseudocode for
each module in the program.
· A prototype for the
proposed system.
Types of System Design
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.
It consists of the following steps −
- Specifying the input/output media, designing the database, and specifying backup procedures.
- Planning system implementation.
- Devising a test and implementation plan, and specifying any new hardware and software.
- Updating costs, benefits, conversion dates, and system constraints.
Architectural Design
It is also known as high level design that
focuses on the design of system architecture. It describes the structure and
behavior of the system. It defines the structure and relationship between
various modules of system development process.
Detailed Design
It follows Architectural design and focuses on
development of each module.
By
Ms.J.SasiRekha
Assistant Professor of CA Dept