System Analysis and
Design-(SAD)
S. S, Kivaria,
M.Eng.Computer Sc. & Tech.
Steven
Introduction & Terminologies
Steven
Systems analysis defines the problems to be solved
and provides the architecture of the proposed
system.
The terms analysis and synthesis come from Greek
where they mean respectively "to take apart" and "to
put together".
Analysis is defined as the procedure by which we
break down an intellectual or substantial whole into
parts.
Synthesis is defined as the procedure by which we
combine separate elements or components in order
to form a coherent whole. Steven
Introduction cont…
System analysis is an explicit formal inquiry
carried out to help a decision maker identify a
better course of action and make a better
decision than he might otherwise have made.
Systems analysis is a problem-solving
technique that decomposes a system into its
component pieces for the purpose of studying
how well those component parts work and
interact to accomplish their purpose.
Steven
Introduction cont..
This is a process used in the design of new
systems. Systems analysis follows stages of
investigation, design and implementation.
Each stage should involve close
consultation with potential users, in the
various functional areas of the organisation,
to ensure that their information and
operational requirements are met.
When to use system analysis and
design
To correct problem in existing system
To improve existing system
Usher in a new system
Outside group may mandate change
Competition can lead to change
System Analysis Techniques
Logical data modeling
This is the process of identifying, modeling and documenting the data
requirements of the system being designed. The data are separated into
entities (things about which a business needs to record information)
and relationships (the associations between the entities).
Data Flow Modeling
This is the process of identifying, modeling and documenting how data
moves around an information system. Data Flow Modeling examines
processes (activities that transform data from one form to another),
data stores (the holding areas for data), external entities (what sends
data into a system or receives data from a system), and data flows
(routes by which data can flow).
Entity Behavior Modeling
This is the process of identifying, modeling and documenting the events
that affect each entity and the sequence in which these events occur.
Systems Development Tools and Techniques
Systems analysts must know how to use a variety
of techniques such as modeling, prototyping, and
computer-aided systems engineering tools to
plan, design, and implement information
systems.
Systems analysts work with these tools in a team
environment, where input from users, managers,
and IT staff contributes to the system design.
Systems Development Tools and Techniques
Modeling
Modeling produces a graphical representation of a concept or
process that system developers can analyze, test, and modify.
Modeling Used to describe and simplify an information system:
Business model or Requirements model
Describes the information that a system must provide.
Data model
Describes the data structure and design.
Object model
Describes objects, which combine data and processes.
Network model
Describes the design and protocols of telecommunication links
Process model
Describes the logic that programmers use to write code modules
Modeling techniques, including data flow diagrams and
entity relationship diagrams, and unified modeling
language diagrams.
Steven
Systems Development Tools and Techniques
Prototyping
Prototyping tests system concepts and provide an
opportunity to examine input, output, and user
interface before final decisions are made.
Early working version of an information system
Cons
Pros Important decisions
Speeds up the might be made too
development early, before business
process significantly or IT issues are
Users interact with thoroughly
Prototype very understood
quickly Initial Design
Users can identify decisions may be
needed changes poor
and refine real
requirements
Steven
Systems Development Tools and Techniques
Computer-Aided Systems Engineering (CASE)
Tools:
Is a technique that uses powerful software, called CASE
tools, to help systems analysts develop and maintain
information systems.
Framework for systems development and support a wide
variety of design methodologies
Steven
The Systems Analyst and
Information Systems Development
Steven
Key Ideas
Many failed systems were abandoned
because analysts tried to build wonderful
systems without understanding the
organization.
The primarily goal is to create value for
the organization.
Steven
The Systems Analyst
The systems analyst is a key person
analyzing the business, identifying
opportunities for improvement, and
designing information systems to
implement these ideas.
It is important to understand and develop
through practice the skills needed to
successfully design and implement new
information systems.
Steven
The Systems Analyst
The systems analyst assists and guides the
project team so the team develops the
right system in an effective way.
Systems analysts must understand how to
apply technology in order to solve
problems.
Systems analysts may also serve as change
agents who identify the organization
improvements needed, design systems to
implement those changes, and
train/motivate others to use the systems.
Steven
Systems Analyst Skills
Introduces change to the organization
and people
Leads a successful organization change
effort
Understands what to change and knows
how to change it
Steven
Must have technical skills, as well as,
business skills
Communicate effectively and give
presentations
Must be able to deal fairly, honestly, and
ethically with other project members,
managers, and systems users
Steven
Project Team Specialization
Business analyst
Systems analyst
Infrastructure analyst
Change management analyst
Project manager
Steven
Systems Analyst Specialization
The systems analyst focuses on the IS issues
surrounding the system.
Develops ideas and suggestions for ways IT
can improve business process, helps design
new business processes, helps design new
business process, designs the new information
system, and ensures that all IS standards are
maintained.
Steven
Business Analyst
Focuses on the business issues
surrounding the system
Identifies the business value that the
system will create
Develops ideas for improving the
business processes
Helps design new business processes and
policies
Steven
Infrastructure Analyst
Focuses on technical issues surrounding
the ways the system will interact with the
organization’s technical infrastructure
Ensures that the new information system
conforms to organization standards
Identifies infrastructure changes
Steven
Change Management Analyst
Focuses on the people and management issues
surrounding the system installation.
Ensures that adequate documentation and
support are available to users.
Provides user training.
Develops strategies to overcome resistance to
change.
Steven
Project Manager
Highly experienced systems analyst.
Ensures that the project is completed on
time and within budget.
Makes sure the system delivers the
expected vale to the organization.
Steven
The Systems Development Life Cycle
(SDLC)
3 - 25 Steven
System Project Overview
Scope Definition
Is the project worth looking at?
Problem Analysis
Is a new system worth building?
Requirements Analysis
What do the users need and want from the new
system?
Logical Design
What must the new system do?
Decision Analysis
What is the best solution?
Steven
Steven
Reasons for systems projects
Improved service
Better performance
More information
Stronger controls
Reduced cost
Steven
Factors that affect systems projects
Internal Factors External Factors
Strategic plan Technology
Top managers Supplier
User requests Customers
Information Technology
technology Competitors
department The economy
Existing systems
Government
Steven
Systems Development Life Cycle
Feasibility Study
Measure of Operational
how suitable feasibility
system
development
The
will be to the Technical
feasibility
four
feasibility
Schedule
(Time)
company
feasibility
tests
Economic
feasibility
(cost-benefit
analysis)
Steven
The SDLC…
The SDLC in system analysis and design aims
to produce a high quality system that meets
or exceeds customer expectations, reaches
completion within time and cost estimates,
works effectively and efficiently in the current
and planned Information Technology
infrastructure, and is inexpensive to maintain
and cost-effective to enhance.
Steven
The SDLC is composed of four fundamental
phases:
Planning
Analysis
Design
Implementation
Steven
Project Phases
Planning
Why build the system?
Analysis
Who, what, when, where will the system be?
Design
How will the system work?
Implementation
System delivery
Steven
Each of the phases include a set of steps,
which rely on techniques that produce specific
document files that provide understanding
about the project.
Steven
Processes and Deliverables
Process Product
Planning Project Plan
Analysis System Proposal
Design System
Specification
Implementation New System and
Maintenance Plan
Steven
To Understand the SDLC:
Each phase consists of steps that lead to
specific deliverables
The system evolves through gradual
refinement
Steven
Steven
Project Management
Steven
Phase 1. Planning
Steven
This phase is the fundamental process of
understanding why an information system
should be built.
The Planning phase will also determine how
the project team will go about building the
information system.
The Planning phase is composed of two
planning steps.
1 - 40 Steven
Planning Steps
During project initiation, the system’s
business value to the organization is identified
(How will it lower costs or increase revenues?)
During project management, the project
manager creates a work plan, staffs the project,
and puts techniques in place to help the project
team control and direct the project through the
entire SDLC.
1 - 41 Steven
Planning Steps cont..
1 - 42 Steven
Planning Activities
Review project requests
Prioritize project requests
Allocate resources
Identify project development team
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Control and direct project
Steven
Planning deliverables
1 - 44 Steven
Phase 2. Analysis
Steven
The analysis phase answers the questions of
who will use the system, what the system will do,
and where and when it will be used.
During this phase the project team investigates
any current system(s), identifies improvement
opportunities, and develops a concept for the
new system.
This phase has three analysis steps.
1 - 46 Steven
Analysis Steps
1. Analysis strategy: This is developed to guide the
projects team’s efforts. This includes an analysis of
the current system.
2. Requirements gathering: The analysis of this
information leads to the development of a
concept for a new system. This concept is used to
build a set of analysis models.
3. System proposal: The proposal is presented to
the project sponsor and other key individuals who
decide whether the project should continue to
1 - 47
move forward.
Steven
Analysis Steps Cont..
1 - 48 Steven
The system proposal is the initial deliverable
that describes what business requirements the
new system should meet.
The deliverable from this phase is both an
analysis and a high-level initial design for the
new system.
1 - 49 Steven
Analysis Activities
Conduct preliminary investigation.
Determine exact nature of problem or improvement and whether it is worth
pursuing.
Findings are presented in feasibility report (feasibility study)
Perform detailed analysis activities:
Study current system
Determine user requirements
Recommend solution
Analysis strategy
Gathering business requirements
Requirements definition
Process modeling
Data modeling
Steven
Analysis Deliverable
1 - 51 Steven
Analysis:
Requirements Analysis
Steven
Information Discovery –(ID)
The process of collecting information about
system problems, opportunities, solution
requirements, and priorities
Steven
ID-Cont..
Review and sampling of existing documentation,
reports, forms, databases, etc
Interview
Joint-application design (JAD) session
Joint requirement planning (JRP)
Research of relevant literature
Observation of the current system
Questionnaires and surveys
Steven
ID-Cont..
Joint requirements planning (JRP)
The use of facilitated workshops to bring together all of the
system owners, users, and analysts, and some systems
designer and builders to jointly perform systems analysis.
JRP is generally considered a part of a larger method called
joint application development (JAD), a more
comprehensive application of the JRP techniques to the
entire systems development process.
Steven
Benefits of JRP/JAD
Saves Time: It reduces the number of interviews needed
to gather the requirements and reduces discrepancies.
Everyone is in the room.
Saves Money: Fewer change requests, eliminates re
works.
Increased user buy in: users participation creates
ownership of the system.
Better Requirements Documentation:
Higher Customer Satisfaction: Customer knows at
what stage the product is. The system meets customer
needs.
Steven
Product Information Discovery-(PID)
References from vendor
Talk to current users of product
Product demonstrations
Trial version of software
Benchmark test measures performance
Steven
Phase 3. Design
Steven
In this phases it is decided how the system will
operate, in terms of the hardware, software, and
network infrastructure; the user interface, forms, and
reports that will be used; and the specific programs,
databases, and files that will be needed.
1 - 59 Steven
Design Steps
Design Strategy: This clarifies whether the system
will be developed by the company or outside the
company.
Architecture Design: This describes the hardware,
software, and network infrastructure that will be used.
Database and File Specifications: These
documents define what and where the data will be
stored.
Program Design: Defines what programs need to be
written and what they will do.
1 - 60 Steven
Design Steps Cont..
1 - 61 Steven
Design Activities
Assesses feasibility of each alternative solution
How system will be developed
Recommends the most feasible solution
Design selection
Architecture design
Interface design
Data storage design
Program design
Steven
Design Deliverable
1 - 63 Steven
Phase 4. Implementation
Steven
During this phase, the system is either developed
or purchased (in the case of packaged software).
This phase is usually the longest and most
expensive part of the process.
The phase has three steps.
1 - 65 Steven
Implementation Steps
System Construction: The system is built and
tested to make sure it performs as designed.
Installation: Prepare to support the installed
system.
Support Plan: Includes a post-implementation
review.
1 - 66 Steven
Implementation Steps Cont..
1 - 67 Steven
Implementation Activities
Construction
Program building Develop programs
Install and test new system
Program and system testing
Installation
Conversion strategy
Training plan
Convert to new system
Support plan
Steven
Implementation Deliverable
1 - 69 Steven
Phase 5. Support and Maintenance
Conduct post-implementation system review
Identify errors and enhancements
Monitor system performance
Steven
Analysis & Design:
Methodologies
Steven
Methodologies ..
waterfall approach,
CASE tools,
Prototype,
RAD/RSD,
JAD,
Object-oriented methodology.
Steven
Waterfall
Steven
Waterfall
A sequence of stages in which the output of each stage
becomes the input for the next.
In the waterfall model, it is possible to rework earlier
stages in the light of experience gained at a later stage.
Each stage is signed off and the next stage is proceeded
with. However the end user is rarely involved in the
development stage, even though they may well be
involved in signing off.
It is therefore critical that the analysts and the
programmers understand the end-users’ requirements.
This can be quite difficult with the waterfall model.
Steven
Waterfall Benefits
Misunderstandings are detected at early stages
Identifies systems requirements long before programming
begins
The user will notice any missing functions, incomplete or
inconsistent requirements.
Minimizes changes to requirements as project progresses.
Can be built quickly to demonstrate systems
It can be used for training before the system is finished
Steven
Waterfall Shortcoming
Design must be specified on paper before programming
begins
Long time between system proposal and delivery of new
system
The waterfall model has disadvantages, which can be
overcome using Prototyping, in which a model of the
system is developed in partnership with the end-user.
The features are worked out with the end user using a
prototype, and the end user can have a considerable
input into the development of a project.
Steven
Rapid Application Development (RAD)
Utilizes prototyping to delay producing system design
until after user requirements are clear
Phased development
A series of versions developed sequentially
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Steven
Phased Development
Steven
Prototyping
A small-scale, incomplete, but working sample of a
desired system.
Working model of proposed system
Building a scaled-down working version of the
system
Advantages:
Users are involved in design
Captures requirements in concrete form
Steven
Prototyping
Steven
Prototyping
Steven
Prototyping
Benefits
Users interact with prototype very quickly
Users can identify needed changes and refine real
requirements
Shortcoming
Tendency to do superficial analysis
Initial design decisions may be poor
Steven
Throwaway Prototyping
Steven
Throwaway Prototyping
Benefits
Risks are minimized
Important issues are understood before the real
system is built
Shortcoming
May take longer than prototyping
Steven
Joint Application Design (JAD)
Users, Managers and Analysts work together for
several days
System requirements are reviewed
Structured meetings
Steven
Steven
A process that ensures that:
1) the system has implemented ALL the requirements
in the specification;
2) All the implemented features correspond to the
requirements.
I.e. validation checks FEATURES.
Steven
Ensures that each function works correctly.
I.e. verification checks QUALITY.
Steven
Agile methodology
The integration of various approaches of systems analysis and design
for applications as deemed appropriate to the problem being solved
and the system being developed.
• Developed as a counter-rigor approach. Individuals are valued over
processes and tools (which means developers get all the goodies they
need/want).
• Informal communication is more important than written
documentation.
• Working code is more important than formal documentation /
specification.
• Collaboration with customer important.
• Response to change is immediate and requires no formal planning.
+ Good for homogeneous enthusiast-type groups with low cadre turn-
over.
- Poor for controlled environments.
Steven
Agile
Steven
Extreme Programming (XP) involves back-to-back edits of the code
by paired developers. Maximum creativity, minimum administration.
Crystal approach is based on the notion that the ‘higher quality’
people producer higher quality software. Frequent delivery is
important.
Scrum relies on 30-day “sprint” iterations. Multiple self-contained
team incrementally improve the product in parallel.
Adaptive Software Development is organized around delivering
product features. Re-doing is as important as doing. Change are
expected. Hardest problems are tackled first. Features dumped to meet
deadlines.
Steven
+ Control creativity.
+ Encourages communication & feedback on all stages of
development and among all team members (including
customers).
+ Minimizes administrative overhead.
+ Encourages simplicity, fast releases.
Steven
1.Planning: each user describes how the system should work and what value each
feature provides (user accounts are reconciled by developers in order to determine
what features are needed and testable).
2. Small releases: the goal is to deliver fast and provide increments on ongoing
basis.
3. Metaphor: common reference book and vision is adopted.
4. Simplicity is the key.
5. Tests are written first (functional specified by customer; unit tests written by
developers).
6. Refactoring of specs, code, design, etc.
7. Pair programming
8. Collective ownership (anybody can change anything)
9. Continuous availability (the system can be built anytime)
10. Sustainable development pace (no heroism!)
11. Customer availability (preferably on site!)
12. Coding standards are enforced.
Steven
-Test cases do not necessarily correspond to
requirements.
-It may be more important to take time and find out
what really needs to be done rather than quickly do
something that is not really needed.
-Refactoring degrades system architecture.
-Cannot be practiced in loose or geographically spread-
out environment.
Steven
Agile Benefits & Shortcoming
Benefits
Fast delivery of results
Works well in projects with undefined or changing
requirements
Shortcoming
Requires discipline
Works best in small projects
Requires much user input
Steven
Selecting the Appropriate Methodology
Clear user requirements
Familiarity with technology
Complexity of system
Reliability of system
Time schedule
Schedule visibility
Steven
SDLC Phases In Summary
Steven
SDLC- Strengths & Weakness
Strengths Weaknesses
Control. Increased development time.
Monitor large projects. Increased development cost.
Detailed steps. Systems must be defined up
Evaluate costs and completion front.
targets. Rigidity.
Documentation. Hard to estimate costs, project
Well defined user input. overruns.
Ease of maintenance. User input is sometimes limited.
Development and design
standards.
Tolerates changes in MIS
staffing. Steven
Steve