Ch 1 Intro to Systems Analysis and Design

Systems Analysis and Design With UML
2.0
An Object-Oriented Approach, Second Edition
Chapter 1: Introduction to Systems Analysis
and Design
Alan Dennis, Barbara Wixom, and David Tegarden
© 2005
John Wiley & Sons, Inc.
Slide 1
Copyright © 2005
John Wiley & Sons, Inc.
All rights reserved. Reproduction or translation of this
work beyond that permitted in Section 117 of the 1976
United States Copyright Act without the express written
permission of the copyright owner is unlawful.
Request for further information should be addressed to
the Permissions Department, John Wiley & Sons, Inc.
The purchaser may make back-up copies for his/her own
use only and not for redistribution or resale.
The Publisher assumes no responsibility for errors,
omissions, or damages, caused by the use of these
programs or from the use of the information contained
herein.
Slide 2
INTRODUCTION
Chapter 1
Slide 3
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.
Slide 4
Key Ideas
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.
Slide 5
THE SYSTEMS
DEVELOPMENT LIFE
CYCLE
Slide 6
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 7
Major Attributes of the
Lifecycle
The SDLC
The SDLC has a set of four
fundamental phases:




Slide 8
Planning
Analysis
Design
Implementation
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
Slide 9
Project Phases
Planning
Often called project initiation
Concept of the product is explored
and refined
Client’s general requirements are
elicited
Slide 10
Added by Dr. Stoecklin
Project Phases
Planning Tasks
Identifying business value
Analyze feasibility
Analyze risks
Develop work plan
Staff the project
Control and direct project
Slide 11
Added by Dr. Stoecklin
Project Phases
Analysis
Who uses the system, what
specifications are produced
Client’s requirements are analyzed
and presented in Software
Requirements Specification (SRS)
document
Software Project Management
Plan
Slide 12
Added by Dr. Stoecklin
Project Phases
Analysis Tasks
Analysis
Information gathering
Process modeling
Data modeling
Slide 13
Added by Dr. Stoecklin
Project Phases
Design
Describes “HOW the product does it”
Architectural design (high-level design)
 Product as a whole is broken down
into components, called modules
Detailed design (low-level design)
 Each module is designed
Output: Design document
Slide 14
Added by Dr. Stoecklin
Project Phases
Design Tasks
Physical design
Architectural design
Interface design
Database and file design
Program design
Slide 15
Added by Dr. Stoecklin
Project Phases
Implementation
Coding and testing of individual
software components
Combination and testing of software
components
Acceptance testing by client
Ends with the product being accepted
by the client and installed on the
client’s computer
Slide 16
Added by Dr. Stoecklin
Project Phases
Implementation Tasks
Construction
Installation
Slide 17
Added by Dr. Stoecklin
Processes and
Deliverables
Process
Planning
Analysis
Design
Implementation
Slide 18
Modified by Dr. Stoecklin
Product
Project Plan
System Requirements
Specifications
System
Design Specification
New System and
Maintenance Plan
SYSTEM DEVELOPMENT
Methodologies
Slide 19
What Is a Methodology?
A formalized approach or series
of steps
Writing code without a wellthought-out system request
may work for small programs,
but rarely works for large ones.
Slide 20
Structured Design
Projects move methodically
from one to the next step
Generally, a step is finished
before the next one begins
Slide 21
Waterfall Development
First documented process model for software development.
Method
Slide 22
Modified by Dr. Stoecklin
Pros and Cons of the
Waterfall Method
Pros
Identifies
requirements long
before programming
Begins
Enforces a disciplined approach
Implies testing inherent to each
phase.
Forces delivery of documents
needed in the development
process.
Easy to explain to customers.
Slide 23
Modified by Dr. Stoecklin
Cons
Design must be specified
on paper before
programming begins
Long time between system
proposal and delivery of new
system .
Real projects rarely follow
sequential flow.
Requirements difficult to
completely document up
front.
Code and Fix Model
Slide 24
Included by Dr. Stoecklin
RAD Development
Slide 25
Included by Dr. Stoecklin
Pros and Cons of the RAD
Method
Rapid prototype
working model functionally equivalent to a subset of the
product
Concentrates on experimenting with those parts of the customer’s
requirements that are poorly understood
Pros
delivers to customer what
customer really needs
Slide 26
Modified by Dr. Stoecklin
Included by Dr. Stoecklin
Cons
customer thinks product is
almost done
Spiral Development
Slide 27
Included by Dr. Stoecklin
Spiral Development
Slide 28
Included by Dr. Stoecklin
Pros and Cons of the
Spiral Method
Goal: minimizing risk of software development
each phase includes risk management to minimize and
control risk
Pros
emphasizes looking at alternatives
and constraints during risk analysis
Slide 29
Included by Dr. Stoecklin
Cons
intended exclusively
for internal
development of largescale software
risk analysis is timeconsuming
Incremental Development
Incremental Model
1)operational system
one currently being used by
the customer and users
2)development system
next version that is being
prepared to replace current
operational system
Refer to systems using
release numbers:
users use Release 1 while
developers are building
Release 2
Slide 30
Included by Dr. Stoecklin
Pros and Cons of the
Incremental Method
Pros
customers do not have to wait
until the entire system is
delivered to benefit from it
lower risk of overall project
failure
training can begin on early
versions
frequent releases allow
developers to fix problems
found in previous release
can grab market share early
Slide 31
Included by Dr. Stoecklin
Cons
customers and users
do beta testing
too many versions
may degenerate into
build-and-fix
Parallel Development
Slide 32
Alternatives to the SDLC
Agile Development
Phased Development
Prototyping
Throw-Away Prototyping
Unified Process
Slide 33
Rapid Application
Development (generic term)
Critical elements
CASE tools
JAD sessions
Fourth generation/visualization
programming languages
Code generators
Slide 34
Rapid Application
Development Categories
Phased development
A series of versions
Prototyping
System prototyping
Throw-away prototyping
Design prototyping
Agile Development
Extreme Development
Slide 35
Agile Development
A collection of new paradigms
characterized by
•Less emphasis on analysis and
design
•Earlier implementation (working
software is considered more
important than documentation)
•Responsiveness to change
•Close collaboration with the client
Slide 36
Included by Dr. Stoecklin
Extreme Programming
•Stories (features client wants)
•Estimate duration and cost of each story
•Select stories for next build
•Each build is divided into tasks
•Test cases for a task are drawn up first
•Pair programming
Slide 37
Included by Dr. Stoecklin
Microsoft Development
Microsoft’s life-cycle model
Steps:
Requirements analysis — interview
potential customers
Draw up specifications
Divide project into 3 or 4 builds
Each build is carried out by small
teams working in parallel
Slide 38
Included by Dr. Stoecklin
How Prototyping Works
Slide 39
Throwaway Prototyping
Slide 40
Selecting the Appropriate
Methodology
Clarity of User Requirements
Familiarity with Technology
System Complexity
System Reliability
Short Time Schedules
Schedule Visibility
Slide 41
Criteria for Selecting a
Methodology
Slide 42
Unified Process
•The leading object-oriented methodology
for the development of large-scale
software
•Basic Characteristics of the Unified
Process
Object-oriented
Use-case driven
Architecture centric
Iteration and incrementation
Slide 43
Included by Dr. Stoecklin
Project Team Roles and
Skills
Slide 44
Information Systems
Roles
Business analyst
System analyst
Infrastructure analyst
Change management analyst
Project manager
Slide 45
Project Team Roles
Slide 46
Summary -- Part 1
The Systems Development Lifecycle
consists of four stages: Planning,
Analysis, Design, and Implementation
The major development methodologies:
Structured design


the waterfall method
Parallel development
RAD development

Prototyping (regular and throwaway)
Agile development

Slide 47
XP streamline SDLC
Summary -- Part 2
There are five major team roles:
business analyst, systems analyst,
infrastructure analyst, change
management analyst and project
manager.
Slide 48