[go: up one dir, main page]

0% found this document useful (0 votes)
118 views98 pages

SAD Notes

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 98

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

You might also like