Transcript Slide 1
CHAPTER 1: SYSTEMS
DEVELOPMENT ENVIRONMENT
Avimanyu Datta,
Department of Information Systems, College of Business, Washington
State University
Learning Objectives
Define information systems analysis and design.
Discuss the modern approach to systems
analysis and design that combines both process
and data views of systems.
Describe the role of the systems analyst in
information systems development.
1.2
Learning Objectives
(continued)
Describe three types of information systems:
Transaction Processing Systems (TPS)
Management Information Systems (MIS)
Decision Support Systems (DSS).
Describe the information systems
development life cycle (SDLC).
1.3
Learning Objectives
(continued)
Discuss alternatives to the systems
development life cycle, including a
description of the role of computer aided
software engineering (CASE) tools in systems
development.
1.4
Chapter Preview
Systems Analysis is a proven method to help
business utilize information to its fullest
capacity.
Systems Development Life Cycle (SDLC)
Central to Information Systems Development
1.5
What is Information Systems
Analysis and Design?
A method used by companies to create and
maintain systems that perform basic business
functions
Main goal is to improve employee efficiency
by applying software solutions to key
business tasks
1.6
A structured approach must be used in order
to ensure success
What is Information Systems
Analysis and Design? (continued)
Systems Analyst performs analysis and
design based upon:
Understanding of organization’s objectives,
structure and processes
Knowledge of how to exploit information
technology for advantage
1.7
Fig 1-1 illustrates the Systems Development
Life Cycle, a four-phased approach used
throughout this text.
1.8
Systems Analysis and Design:
Core Concepts
Major goal: to improve organizational
systems by developing or acquiring
application software and training employees
in its use
Application software, or a system, supports
organizational functions or processes.
1.9
Systems Analysis and Design:
Core Concepts (continued)
System: Turns data into information and
includes:
Hardware and system software
Documentation and training materials
Job roles associated with the system
Controls to prevent theft or fraud
The people who use the software to perform their jobs
Figure 1-2 illustrates all the components of a
system.
1.10
1.11
Software Engineering Process
A process used to create an information system
Consists of:
Methodologies
A sequence of step-by-step approaches that help develop the
information system
Techniques
Processes that the analyst follows to ensure thorough,
complete, and comprehensive analysis and design
Tools
Computer programs that aid in applying techniques
1.12
Copyright 2006 Prentice-Hall, Inc.
1.13
System
A system is an interrelated set of business
procedures used within one business unit
working together for a purpose.
A system has nine characteristics.
A system exists within an environment.
A boundary separates a system from its
environment.
1.14
Copyright 2006 Prentice-Hall, Inc.
Characteristics of a System
1.15
Components
Interrelated Components
Boundary
Purpose
Environment
Interfaces
Constraints
Input
Output
Important System Concepts
1.16
Decomposition
Modularity
Coupling
Cohesion
Important System Concepts
Decomposition
The process of breaking down a system into smaller
components
Allows the systems analyst to:
Break a system into small, manageable and understandable
subsystems
Focus on one area at a time, without interference from other
areas
Concentrate on component pertinent to one group of users
without confusing users with unnecessary details
Build different components at independent times and have the
help of different analysts
1.17
Important System Concepts
(continued)
Modularity
Process of dividing a system into modules of a
relatively uniform size
Modules simplify system design
Coupling
Subsystems that are dependent upon each other
are coupled
Cohesion
Extent to which a subsystem performs a single
function
1.18
A Modern Approach to Systems
Analysis and Design
Systems Integration
Allows hardware and software from different
vendors to work together
Enables procedural language systems to work
with visual programming systems
Visual programming environment uses
client/server model.
1.19
Your Role in Systems
Development
Study problems and needs of an organization
Determine best approach to improving
organization through use of:
People
Methods
Information technology
Help system users and managers define their
requirements for new or enhanced information
systems
1.20
Types of Information Systems
and Systems Development
Transaction Processing Systems (TPS)
Automate handling of data about business activities
(transactions)
Management Information Systems (MIS)
Converts raw data from transaction processing system
into meaningful form
For instance Last month’s sale
Decision Support Systems (DSS)
Designed to help decision makers
Provides interactive environment for decision making
1.21
Developing Information Systems and the
Systems Development Life Cycle
(continued)
Series of steps used to manage the phases of
development for an information system
Consists of four phases:
Planning and Selection
Analysis
Design
Implementation and Operation
Phases are not necessarily sequential.
Each phase has a specific outcome and
1.24
deliverable.
Individual companies use customized life cycle.
Systems Development
Lifecycle
Systems planning and selection
priorities of projects, detailed work plan for selected project, system
scope, business case
Systems analysis
current system description, recommendations, justification of chosen
alternative
Systems design
detailed specs. of all systems elements, acquisition plan for tech. etc.
Systems implementation & operations
code, documentation, training and support capabilities, etc.
Approaches to Development
Linear (e.g., waterfall)
Where the needs are reasonably well documented
Incremental (e.g., prototype model, Boehm’s
spiral model)
Used especially when there is a need to
demonstrate the feasibility of an idea; need to
develop the system quickly
Approaches to Development
Linear Waterfall SDLC
One phase begins when another completes,
little backtracking and looping
Characteristics of Waterfall
Model
Disciplined and systematic approach (provides a strong management
framework for planning developments and also for managing and
controlling them)
Milestones can be set and progress of the project can be measured
against them
Complete one phase before proceeding to the next one
Transition form one phase to another is accomplished by conducting a
formal review and generation of extensive documentation
Too much documentation, and too elaborate specs for some types of
systems
Problems
Approach
with
Waterfall
System requirements “locked in” after being
determined (can't change)
Limited user involvement (only in requirements
phase)
Too much focus on milestone deadlines of SDLC
phases to the detriment of sound development
practices
Approaches to Development:
Incremental Models
Prototyping
Building a working replica of a system (like a “mock
up)
Quick solution provided
Some informal requirements are received which is
transformed into a working model
Show results to customers and repeat the process
based on more requirements
Unlike the linear methods does not assume that the
requirements of the new system will have to be
identified completely in the beginning
Approaches to Development
Advantages of Prototyping:
Users are involved in design
Captures requirements in concrete form
1.31
Approaches to Development: CASE
Tools
Computer-Aided Software Engineering: Automated software tools
used by systems analysts to develop information systems
Software tools providing automated support for some portion of
the systems development process.
Can be used throughout SDLC
Project
dictionary/workbook:
specifications
Diagramming tools
system
description
and
Product and tool integration is provided through a repository
Example products: Oracle (Designer), Computer Associates
(Advantage Gen), and IBM (Rational Rose)
Approaches to Development: Joint
Application Design (JAD)
Structured process involving users, analysts, and
managers work together for several days in a series of
intensive workgroup sessions (meetings)
Users, Managers and Analysts work together for several
days
System requirements are reviewed
Structured meetings
Purpose: to specify or review system requirements
Approaches to Development: Rapid
Application Development (RAD)
Prototype constructed to determine client’s real needs;
then similar to waterfall
Utilizes prototyping to delay producing system design
until after user requirements are clear
Delay producing system design documents until user
requirements are clear
Looks at system being developed in isolation from other
systems
Iteration limited to design and development stages only
Used primarily by consulting firms.
Approaches to Development: Rapid
Application Development (RAD)
Methodology to decrease the time needed to design and implement
information systems.
Involves: prototyping, JAD, CASE tools, and code generators
Approaches to Development: Agile
Methodologies
Motivated by recognition of software development as
fluid, unpredictable, and dynamic
Three key principles; a focus on
Adaptive rather than predictive methodologies
(emphasize) people rather than roles
Self-adaptive processes
Approaches to Development: eXtreme
Programming
Short cycles, incremental development (planning) approach
Automated tests written by programmers and customers
Key emphases:
Two-person programming teams
Having customer on-site during the development process
Coding and testing operate together
Advantages:
More (and better) communication between developers
Higher level of productivity
Higher quality code
Reinforcement of the other practices in eXtreme Programming
Disadvantage: it is not for everyone and is not applicable to every
project
Approaches to Development: ObjectOriented Analysis and Design (OOAD)
Based on objects rather than data or processes
Object: a structure encapsulates (or packages) attributes and
methods that operate on those attributes.
An abstraction of a real-world thing in which data and processes
are placed together to model the structure and behavior of the
real-world object.
Approaches to Development
(continued): Participatory
Design
Participatory Design (PD)
Emphasizes role of the user
Entire user community can be involved in design
1.39
Copyright 2006 Prentice-Hall, Inc.