Chapter 1: Systems Development Environment

advertisement

CHAPTER 1: SYSTEMS

DEVELOPMENT ENVIRONMENT

Avimanyu Datta,

Department of Information Systems, College of Business, Washington

State University

1.2

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.3

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.4

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.5

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.6

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

 A structured approach must be used in order to ensure success

1.7

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

 Fig 1-1 illustrates the Systems Development

Life Cycle, a four-phased approach used throughout this text.

1.8

1.9

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.10

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.11

1.12

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

Copyright 2006 Prentice-Hall, Inc.

1.13

System

1.14

 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.

Copyright 2006 Prentice-Hall, Inc.

1.15

Characteristics of a System

Components

Interrelated Components

Boundary

Purpose

Environment

Interfaces

Constraints

Input

Output

1.16

Important System Concepts

Decomposition Modularity

Coupling Cohesion

1.17

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.18

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.19

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.20

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.21

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.24

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 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 “mockup)

 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

1.31

Approaches to Development

 Advantages of Prototyping:

 Users are involved in design

 Captures requirements in concrete form

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: system description and specifications

Diagramming tools

 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: Object-

Oriented 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.

1.39

Approaches to Development

(continued): Participatory

Design

 Participatory Design (PD)

 Emphasizes role of the user

 Entire user community can be involved in design

Copyright 2006 Prentice-Hall, Inc.

Download