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.