INTRODUCTION TO SYSTEM
ANALYSIS AND DESIGN
System Analysis and Design
(SAD),
Systems are created to solve problems.
the subject mainly deals with the
software development activities.
System Analysis
a process of collecting factual data,
understand the processes involved,
identifying problems and recommending
feasible suggestions for improving the system
functioning
This involves studying the business
processes, gathering operational data,
understand the information flow, finding out
bottlenecks and evolving solutions for
overcoming the weaknesses of the system so
as to achieve the organizational goals.
Major objectives of systems
analysis
To find answers for each business process:
What is being done?
How is it being done?
Who is doing it?
When is he doing it?
Why is it being done?
How can it be improved?
It attempts to give birth to a new efficient
system that satisfies the current needs of the
user and has scope for future growth within
the organizational constraints.
System Design
Based on the user requirements and the
detailed analysis of the existing system
System
A system is an interrelated set of
business procedures used within one
business unit working together for a
purpose
A system has nine characteristics
A system exists within an environment
A boundary separates a system from its
environment
Characteristics of a System
Components
Interrelated Components
Boundary
Purpose
Environment
Interfaces
Constraints
Input
Output
Important System Concepts
Decomposition
The process of breaking down a system into
smaller components
Allows the systems analyst to:
Break a system into small, manageable and
understandable subsystems
Focus on one area at a time, without interference from
other areas
Concentrate on component pertinent to one group of
users without confusing users with unnecessary details
Build different components at independent times and
have the help of different analysts
Important System Concepts
(continued)
Modularity
Process of dividing a system into modules
of a relatively uniform size
Modules simplify system design
Coupling
Subsystems that are dependent upon each
other are coupled
Cohesion
Extent to which a subsystem performs a
single function
Roles of the Systems Analyst
The analyst must be able to work with
people of all descriptions and be
experienced in working with computers.
Three primary roles:
Consultant
Supporting expert
Agent of change
Qualities of the Systems Analyst
Problem solver
Communicator
Strong personal and professional ethics
Self-disciplined and self-motivated
The Systems Development
Environment
Project Initiation
Projects are initiated for two broad
reasons:
Problems that lend themselves to systems
solutions
Opportunities for improvement through
Upgrading systems
Altering systems
Installing new systems
Project Selection
Five specific criteria for project selection
Backed by management
Timed appropriately for commitment of
resources
It moves the business toward attainment of
its goals
Practical
Important enough to be considered over
other projects
New Options for
Organizational Design
Flattening organizations
Separating work from location
Reorganizing/Redesigning work-flows
Increasing flexibility
Redefining organizational boundaries
Classic Management Pyramid
Top-level
Strategic
managers
Middle-level
managers Tactical
Low-level
managers Operational
Flattened Management
Pyramid
Top-level
Strategic
managers
Low and
Middle-level Tactical
managers
Workers Operational
Flattening Organizations &
Information Systems
Redesigned Work Flow For
Insurance Underwriting
Basic Concepts for Understanding Systems
System Outputs Serve as Feedback that
Compares Performance with Goals
Taking a Systems Perspective
Outputs from one
department serve as
inputs for another such
that subsystems are
interrelated.
A Modern Approach to
Systems Analysis and Design
Systems Integration
Allows hardware and software from
different vendors to work together
Enables procedural language systems to
work with visual programming systems
Visual programming environment uses
client/server model
Your Role in Systems
Development
Study problems and needs of an organization
Determine best approach to improving
organization through use of:
People
Methods
Information technology
Help system users and managers define their
requirements for new or enhanced
information systems
Systems Development Life
Cycle (SDLC)
Traditional methodology for developing,
maintaining, and replacing information
systems
The Seven Phases of the Systems
Development Life Cycle
Identifying Problems,
Opportunities, and Objectives
Activity:
Interviewing user management
Summarizing the knowledge obtained
Estimating the scope of the project
Documenting the results
Output:
Feasibility report containing problem definition and
objective summaries from which management can
make a decision on whether to proceed with the
proposed project
Determining Human Information
Requirements
Activity:
Interviewing
Sampling and investing hard data
Questionnaires
Observe the decision maker’s behavior and environment.
Prototyping
Learn the who, what, where, when, how, and why of the
current system.
Output:
The analyst understands how users accomplish their work
when interacting with a computer; and begin to know how
to make the new system more useful and usable. The
analyst should also know the business functions and have
complete information on the people, goals, data, and
procedure involved.
Analyzing System Needs
Activity:
Create data flow, activity, or sequence
diagrams.
Complete the data dictionary.
Analyze the structured decisions made.
Prepare and present the system proposal.
Output:
Recommendation on what, if anything,
should be done
Designing the Recommended
System
Activity:
Design procedures for data entry.
Design the human-computer interface.
Design system controls.
Design database and/or files.
Design backup procedures.
Output
Model of the actual system
Developing and Documenting
Software
Activity:
System analyst works with programmers to develop any
original software.
Works with users to develop effective documentation.
Programmers design, code, and remove syntactical errors
from computer programs.
Document software with help files, procedure manuals,
and Web sites with Frequently Asked Questions.
Output:
Computer programs
System documentation
Testing and Maintaining the
System
Activity:
Test the information system.
System maintenance.
Maintenance documentation.
Output:
Problems, if any
Updated programs
Documentation
Implementing and Evaluating the
System
Activity:
Train users.
Analyst plans smooth conversion from old
system to new system.
Review and evaluate system.
Output:
Trained personnel
Installed system
Some Researchers Estimate that the Amount of Time Spent
on Systems Maintenance May Be as Much as 60 Percent of
the Total Time Spent on Systems Projects
The Impact of Maintenance
Maintenance is performed for two
reasons:
Removing software errors
Enhancing existing software
Over time the cost of continued
maintenance will be greater than that of
creating an entirely new system. At that
point it becomes more feasible to
perform a new systems study.
Types of Information Systems
and Systems Development
Transaction Processing Systems (TPS)
Automate handling of data about business activities
(transactions)
Process orientation
Management Information Systems (MIS)
Converts raw data from transaction processing system into
meaningful form
Data orientation
Decision Support Systems (DSS)
Designed to help decision makers
Provides interactive environment for decision making
Involves data warehouses, executive information systems (EIS)
Database, model base, user dialogue
Types of Information Systems
and Systems Development (cont.)
Information Architecture and Information
Technology Infrastructure
New Technologies
New technologies are being integrated
into traditional systems
Ecommerce uses the Web to perform business
activities
Enterprise Resource Planning (ERP) has the
goal of integrating many different information
systems within the corporation
Wireless and handheld devices, including
mobile commerce (mcommerce)
Open source software
Traditional Waterfall SDLC
One phase begins
when another
completes, little
backtracking and
looping
Standard and Evolutionary Views
of SDLC
Problems with Waterfall
Approach
System requirements “locked in” after
being determined (can't change)
Limited user involvement (only in
requirements phase)
Too much focus on milestone deadlines
of SDLC phases to the detriment of
sound development practices
Alternatives to Traditional
Waterfall SDLC
Prototyping
CASE tools
Joint Application Design (JAD)
Rapid Application Development (RAD)
Agile Methodologies
eXtreme Programming
Prototyping
Iterative development process:
Requirements quickly converted to a working system
System is continually revised
Close collaboration between users and analysts
Joint Application Design (JAD)
Structured process involving users,
analysts, and managers
Several-day intensive workgroup
sessions
Purpose: to specify or review system
requirements
Rapid Application Development
(RAD)
Methodology to decrease design and implementation time
Involves: prototyping, JAD, CASE tools, and code
generators
Agile Methodologies
Motivated by recognition of software
development as fluid, unpredictable,
and dynamic
Three key principles
Adaptive rather than predictive
Emphasize people rather than roles
Self-adaptive processes
eXtreme Programming
Short, incremental development cycles
Automated tests
Two-person programming teams
Coding and testing operate together
Advantages:
Communication between developers
High level of productivity
High-quality code
Object-Oriented Analysis and
Design
Based on objects rather than data or
processes
Object: a structure encapsulating attributes
and behaviors of a real-world entity
Object class: a logical grouping of objects
sharing the same attributes and behaviors
Inheritance: hierarchical arrangement of
classes enable subclasses to inherit
properties of superclasses
Rational Unified Process (RUP) involves an iterative,
incremental approach to systems development