CMPD173 – System Analysis and Design
- Chapter 1-
The Systems Development
Environment
Learning Objectives
Define information systems analysis and design.
Describe the information systems development life cycle
(SDLC).
Explain Rapid Application Development (RAD) and
computer-aided software engineering (CASE) tools.
Describe Agile Methodologies and eXtreme
Programming.
Explain object-oriented analysis and design and the
Rational Unified Process (RUP).
Chapter 1 Copyright © 2014 Pearson Education 2
Introduction
Information Systems Analysis and Design
Complex organizational process
Used to develop and maintain computer-
based information systems
Used by a team of business and systems
professionals
Chapter 1 Copyright © 2014 Pearson Education 3
Introduction (Cont.)
FIGURE 1-1 An organizational approach to systems analysis and
design is driven by methodologies, techniques, and tools
Chapter 1 Copyright © 2014 Pearson Education 4
Introduction (Cont.)
Application Software
Computer software designed to support
organizational functions or processes
Systems Analyst
Organizational role most responsible for
analysis and design of information systems
Chapter 1 Copyright © 2014 Pearson Education 5
A Modern Approach to Systems
Analysis and Design
1950s: focus on efficient automation of existing
processes
1960s: advent of procedural third generation
languages (3GL) faster and more reliable
computers
1970s: system development becomes more like
an engineering discipline
Chapter 1 Copyright © 2014 Pearson Education 6
A Modern Approach to Systems
Analysis and Design (Cont.)
1980s: major breakthrough with 4GL, CASE tools,
object-oriented methods
1990s: focus on system integration, GUI
applications, client/server platforms, Internet
The new century: Web application development,
wireless PDAs and smart phones, component-
based applications, application service providers
(ASP)
Chapter 1 Copyright © 2014 Pearson Education 7
Developing Information Systems
System Development Methodology is a
standard process followed in an
organization to conduct all the steps
necessary to analyze, design, implement,
and maintain information systems.
Chapter 1 Copyright © 2014 Pearson Education 8
Systems Development Life
Cycle (SDLC)
Traditional methodology used to develop,
maintain, and replace information systems
Phases in SDLC:
Planning
Analysis
Design
Implementation
Maintenance
Chapter 1 Copyright © 2014 Pearson Education 9
Standard and Evolutionary Views
of SDLC
FIGURE 1-3 Evolutionary model
FIGURE 1-2
Systems development life cycle
Chapter 1 Copyright © 2014 Pearson Education 10
Systems Development Life Cycle
(SDLC) (Cont.)
Planning – an organization’s total
information system needs are identified,
analyzed, prioritized, and arranged
Analysis – system requirements are studied
and structured
Design – a description of the recommended
solution is converted into logical and then
physical system specifications
Chapter 1 Copyright © 2014 Pearson Education 11
Systems Development Life Cycle
(SDLC) (Cont.)
Logical design – all functional features of
the system chosen for development in
analysis are described independently of any
computer platform
Physical design – the logical specifications
of the system from logical design are
transformed into the technology-specific
details from which all programming and
system construction can be accomplished
Chapter 1 Copyright © 2014 Pearson Education 12
Systems Development Life Cycle
(SDLC) (Cont.)
Implementation – the information system
is coded, tested, installed and supported in
the organization
Maintenance – an information system is
systematically repaired and improved
Chapter 1 Copyright © 2014 Pearson Education 13
Chapter 1 Copyright © 2014 Pearson Education 14
The Heart of the Systems Development Process
FIGURE 1-8 FIGURE 1-9
Analysis–design–code–test loop The heart of systems development
Current practice combines analysis, design, and implementation
into a single iterative and parallel process of activities.
Chapter 1 Copyright © 2014 Pearson Education
Traditional Waterfall SDLC
One phase begins
when another
completes, with
little backtracking
and looping.
FIGURE 1-10
Traditional waterfall SDLC
Chapter 1 Copyright © 2014 Pearson Education 16
Problems with Waterfall Approach
Feedback ignored, milestones lock in
design specs even when conditions
change
Limited user involvement (only in
requirements phase)
Too much focus on milestone deadlines of
SDLC phases to the detriment of sound
development practices
Chapter 1 Copyright © 2014 Pearson Education 17
Different Approaches to Improving
Development
CASE Tools
Rapid Application Development (RAD)
Agile Methodologies
eXtreme Programming
Chapter 1 Copyright © 2014 Pearson Education 18
Computer-Aided Software
Engineering (CASE) Tools
Diagramming tools enable graphical
representation.
Computer displays and report generators
help prototype how systems “look and
feel”.
IBM’s Rational products are the best
known CASE tools.
Chapter 1 Copyright © 2014 Pearson Education 19
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
Analysis tools automatically check for
consistency in diagrams, forms, and
reports.
A central repository provides integrated
storage of diagrams, reports, and project
management specifications.
Chapter 1 Copyright © 2014 Pearson Education 20
Computer-Aided Software
Engineering (CASE) Tools (Cont.)
Documentation generators standardize
technical and user documentation.
Code generators enable automatic
generation of programs and database
code directly from design documents,
diagrams, forms, and reports.
Chapter 1 Copyright © 2014 Pearson Education 21
CASE Tools (Cont.)
FIGURE 1-11
Screen shot of ArgoUML,
an open source CASE tool
(Source: http://argouml.tigris.org/)
Chapter 1 Copyright © 2014 Pearson Education 22
CASE Tools (Cont.)
Chapter 1 Copyright © 2014 Pearson Education 23
Rapid Application Development
(RAD)
Decreases design and implementation
time
Involves: extensive user involvement,
prototyping, integrated CASE tools, code
generators
More focus on user interface and system
function, less on detailed business
analysis and system performance
Chapter 1 Copyright © 2014 Pearson Education 24
Rapid Application Development
(RAD) (Cont.)
FIGURE 1-12
RAD life cycle
Chapter 1 Copyright © 2014 Pearson Education 25
Agile Methodologies
Motivated by recognition of software
development as fluid, unpredictable, and
dynamic
Three key principles
Adaptive rather than predictive
Emphasize people rather than roles
Self-adaptive processes
Chapter 1 Copyright © 2014 Pearson Education 26
The Agile
Methodologies group
argues that software
development
methodologies
adapted from
engineering generally
do not fit with real-
world software
development.
Chapter 1 Copyright © 2014 Pearson Education 27
When to use Agile Methodologies
If your project involves:
Unpredictable or dynamic requirements
Responsible and motivated developers
Customers who understand the process and
will get involved
Chapter 1 Copyright © 2014 Pearson Education 28
Chapter 1 Copyright © 2014 Pearson Education 29
eXtreme Programming
Short, incremental development cycles
Automated tests
Two-person programming teams
Coding, testing, listening, designing
Chapter 1 Copyright © 2014 Pearson Education 30
eXtreme Programming (Cont.)
Coding and testing operate together
Advantages:
Communication between developers
High level of productivity
High-quality code
Chapter 1 Copyright © 2014 Pearson Education 31
Object-Oriented Analysis and
Design (OOAD)
Based on objects rather than data or
processes
Object: a structure encapsulating
attributes and behaviors of a real-world
entity
Chapter 1 Copyright © 2014 Pearson Education 32
Object-Oriented Analysis and
Design (OOAD) (Cont.)
Object class: a logical grouping of objects
sharing the same attributes and behaviors
Inheritance: hierarchical arrangement of
classes enable subclasses to inherit
properties of super classes
Chapter 1 Copyright © 2014 Pearson Education 33
Rational Unified Process (RUP)
An object-oriented systems development
methodology
Establishes four phase of development:
inception, elaboration, construction, and
transition
Each phase is organized into a number of
separate iterations.
Chapter 1 Copyright © 2014 Pearson Education 34
FIGURE 1-13
Phases of OOSAD-based development
Chapter 1 Copyright © 2014 Pearson Education 35
Our Approach to Systems
Development
The SDLC is an organizing and guiding
principle in this book.
We may construct artificial boundaries or
artificially separate activities and
processes for learning purposes.
Our intent is to help you understand all the
pieces and how to assemble them.
Chapter 1 Copyright © 2014 Pearson Education 36
Summary
In this chapter you learned how to:
Define information systems analysis and design.
Describe the information Systems Development Life
Cycle (SDLC).
Explain Rapid Application Development (RAD),
prototyping, Computer Aided Software Engineering
(CASE), and Service-Oriented Architecture (SOA).
Describe agile methodologies and eXtreme
programming.
Explain Object-Oriented Analysis and Design (OOAD)
and the Rational Unified Process (RUP).
Chapter 1 Copyright © 2014 Pearson Education 37