sad-lecture-01
sad-lecture-01
Chapter 1:
Introduction to Systems
Analysis and Design
Slide 2
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.
Quality is satisfaction of
requirements, not ‘goodness’
Slide 3
Key Ideas
The systems analyst is a key person
analyzing the business,
identifying opportunities for
improvement, and
designing information systems (IS) to
implement these ideas.
It is important to understand and
develop through practice the skills
needed to successfully design and
implement new IS.
Slide 4
THE SYSTEMS
DEVELOPMENT LIFE
CYCLE (SDLC)
Slide 5
Major Attributes of the
Lifecycle
The project
Moves systematically through phases
where
each phase has a standard set of outputs
Produces project deliverables
Uses deliverables in implementation
Results in actual information system
Uses gradual refinement
Slide 6
4 Main Project Phases
Planning
Why build the system?
Analysis
What, when, where will the system be?
Design
How will the system work?
Implementation
System construction & delivery
Slide 7
Planning
Identifying business value (is it
worth doing?)
Analyze feasibility (is it
possible?)
Develop work plan (when?)
Staff the project (who?)
Control and direct project
Slide 8
Analysis
Analysis (what do we want?
Who will use the system?)
Information gathering
Process modelling (what
happens?)
Data modelling (… and to
what?)
Slide 9
Design
Design strategy
Architectural design
Interface design (HCI)
Database and file design
Program design (what will the
programs do?)
Slide 10
Implementation
Construction (Programming,
testing, validation etc)
Installation (including
migration, change
management)
Slide 11
Processes and
Deliverables
Process Product
Design System
Specification
Slide 12
SYSTEM DEVELOPMENT
Methodologies
Slide 13
What Is a Methodology?
Slide 14
System Development
Methodologies
1. Structured Design
2. Rapid Application
Development
3. Agile Development
Slide 15
1. STRUCTURED DESIGN
Projects move methodically
from one to the next step
Generally, a step is finished
before the next one begins
Slide 16
Waterfall Development
Method
Slide 17
Pros and Cons of the
Waterfall Method
Pros Cons
Slide 18
Parallel Development
Slide 19
2. RAPID APPLICATION
DEVELOPMENT (RAD)
Critical elements
CASE tools
JAD sessions
Fourth generation/visualization
programming languages
Code generators
Slide 20
Rapid Application
Development Categories
Phased development
a series of versions, later combined
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Slide 21
Phased Development
Slide 22
How Prototyping Works
Slide 23
Throwaway Prototyping
Slide 24
3. AGILE DEVELOPMENT
Simple iterative application
development
Slide 25
Extreme Programming (XP)
Key principles
Continuous testing
Simple coding by pairs of developers
Close interactions with end users
Testing & Efficient Coding Practices
Integrative testing environment
Requires…
Stable and experienced teams
Small groups of developers (<=10)
Slide 26
Extreme Programming (XP)
Slide 27
Selecting the Appropriate
Methodology
Clarity of User Requirements
Familiarity with the Technology
System Complexity
System Reliability
Length of Time Schedules
Time Schedule Visibility
Slide 28
Criteria for Selecting a
Methodology
Slide 29
Project Team Roles and
Skills
Slide 30
Project Team Roles
Business analyst (business value)
Systems analyst (IS issues)
Infrastructure analyst (technical issues –
how the system will interact with the
organization’s hardware, software,
networks, databases)
Change management analyst (people
and management issues)
Project manager (budget, time, planning,
managing)
Slide 31
Summary
The Systems Development Life Cycle (SDLC)
consists of four stages: Planning, Analysis,
Design, and Implementation
The Major Development Methodologies:
Structured Design
Waterfall Method
Parallel Development
Rapid Application Development (RAD)
Phased Development
Prototyping (system prototyping)
Throwaway Prototyping (design prototyping)
Agile development
eXtreme Programming
Slide 32
Summary -- Part 2
Project Team Roles
There are five major team roles: business
analyst
systems analyst
infrastructure analyst
change management analyst
project manager.
Slide 33