Systems Analysis and Design Allen Dennis and Barbara Haley Text

advertisement
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
INTRODUCTION
Chapter 1
Slide 2
Slide 3
Introduction
The systems development life
cycle (SDLC) is the process of
understanding how an
information system (IS) can
support business needs,
designing the system, building
it, and delivering it to users.
Slide 4
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 5
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 6
Key Ideas
In many ways, building an information system is
similar to building a house:
•
•
•
•
First, the house starts with a basic idea.
Second, this idea is transformed into a simple drawing
that is shown to the customer and refined until the
customer agrees that the picture depicts what he or she
wants.
Third, a set of blueprints is designed that presents much
more detailed information about the house (e.g., the type
of water faucets, where the telephone jacks will be
placed).
Finally, the house is built following the blueprints—and
often with some changes directed by the customer as the
house is erected.
Slide 7
THE SYSTEMS
DEVELOPMENT LIFE
CYCLE
Slide 8
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
A “Simple” Process for Making Lunch
Slide 10
Planning
Identifying business value
Analyze feasibility
Develop work plan
Staff the project
Slide 11
Analysis
Analysis
Information gathering
Process modeling
Data modeling
Slide 12
Design
Physical design
Architectural design
Interface design
Database and file design
Program design
Slide 13
Implementation
Construction
Installation
Slide 14
Processes and
Deliverables
Process
Planning
Project Plan
Analysis
System Proposal
Design
Implementation
Slide 15
Product
System
Specification
New System and
Maintenance Plan
SYSTEM DEVELOPMENT
Methodologies
Slide 16
What Is a Methodology?
A formalized approach or series
of steps to implementing the
SDLC.
Writing code without a wellthought-out system request
may work for small programs,
but rarely works for large ones.
Slide 17
Structured Design
Dominant in the 1980s.
Projects
move
methodically
from one to the next step
Generally, a step is finished
before the next one begins
Slide 18
Waterfall Development
Method
Slide 19
Waterfall Development
Method
The key deliverables for each phase are typically very long.
Project sponsor have to approve phase before move to next
phase
Two key advantages
1- identifies system requirements long before programming
begins
2- it minimize changes to the requirements as the project
proceeds
Two disadvantages
1- design must be completely specified before
programming begins
2- a long time elapses between the completion of the
system proposal in system analysis phase and the delivery
of the system (usually months or years)
Slide 20
Parallel Development
Slide 21
Parallel Development
Parallel development attempts to address
the problem of long delays between the
analysis phase and the delivery of the
system
Perform general design
Divides the project of subproject
Once all subprojects are complete
Integration of the separate pieces
Slide 22
Parallel Development
Advantages
Reduce schedule time to deliver the system.
Thus, less chance of changes in the business
environment causing rework.
Disadvantages
Sometimes the subprojects are not completely
independent, and end of the project may
require significant integration efforts.
Slide 23
Alternatives to the SDLC
RAD-based methodologies attempt to
address both weaknesses of structured
design methodologies by adjusting the
SDLC phases to get some part of the
system developed quickly and into the
hands of the users.
So, the users can better understand the
system and suggest revisions that bring
the system closer to what is needed.
Slide 24
Alternatives to the SDLC
Rapid Application Development
(RAD)
Phased Development
Prototyping
Throw-Away Prototyping
Slide 25
Phased Development
Slide 26
Phased Development
A phased development–based methodology
breaks the overall system into a series of
versions that are developed sequentially.
Perform general analysis.
Once version 1 is implemented, work begins on
version 2.
This process continues until the system is
complete.
Phased development–based methodologies have
the advantage of quickly getting a useful
system into the hands of the users.
Slide 27
How Prototyping Works
Slide 28
Prototyping
A prototyping-based methodology performs the
analysis, design, and implementation phases
concurrently, and all three phases are
performed repeatedly in a cycle until the system
is completed.
The first prototype is usually the first part of the
system that
The key advantage of a prototyping is that it
very quickly provides a system for the users to
interact with.
Slide 29
Throwaway Prototyping
Slide 30
Throwaway Prototyping
Throwaway prototyping-based methodologies
are similar to prototyping-based methodologies
in that they include the development of
prototypes; however throwaway prototypes are
done at a different point in the SDLC.
A design prototype is not a working system.
The key advantage is that each of the
prototypes is used to minimize the risk
associated with the system by confirming that
important issues are understood before the real
system is built.
Slide 31
Selecting the Appropriate
Methodology
Clarity of User Requirements
Familiarity with Technology
System Complexity
System Reliability
Short Time Schedules
Schedule Visibility
Slide 32
Criteria for Selecting a
Methodology
Slide 33
Project Team Roles and
Skills
Slide 34
Information Systems
Roles
Business analyst
System analyst
Infrastructure analyst
Change management analyst
Project manager
Slide 35
Project Team Roles
Slide 36
EXERCISES
1) Suppose you were an analyst working for a
small company to develop an accounting
system. What type of methodology would you
use? Why?
2) Suppose you were an analyst developing a
new executive information system intended to
provide key strategic information from existing
corporate databases to senior executives to
help in their decision making. What type of
methodology would you use? Why?
Slide 37
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

Slide 38
Prototyping (regular and throwaway)
Summary -- Part 2
There are five major team roles:
business analyst, systems analyst,
infrastructure analyst, change
management analyst and project
manager.
Slide 39
Download