Chapter 1 The Systems Development Environment

33
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment

description

Chapter 1 The Systems Development Environment. Learning Objectives. Describe different types of information systems. Define information systems analysis and design. Describe the different types of information systems. Compare different methods to distribute information systems and data. - PowerPoint PPT Presentation

Transcript of Chapter 1 The Systems Development Environment

Page 1: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1

Chapter 1

The Systems Development Environment

Page 2: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 2

Learning Objectives1. Describe different types of information

systems. Define information systems analysis and design. Describe the different types of information systems.

2. Compare different methods to distribute information systems and data. Describe the different types of information systems. Explain the Systems Development Life Cycle

(SLDC).

Page 3: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 3

Learning Objectives

3. Explain the Systems Development Life Cycle (SLDC). Describe the Information Systems Development

Life Cycle (SDLC).

5. Classify different types of software development models. Explain Rapid Application Development (RAD)

and it constituent parts: prototyping, Joint Application Design (JAD), and Computer-Aided Software Engineering (CASE) tools.

Page 4: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 4

Learning Objectives

Describe the Agile Methodologies and eXtreme Programming.

Explain object-oriented analysis and design and the Rational Unified Process (RUP).

Page 5: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 5

Introduction

• Information Systems Analysis and Design Complex organizational process whereby computer-based

information systems are developed and maintained

• Application Software Computer software designed to support organizational

functions or processes

• Systems Analyst Organizational role most responsible for analysis and design

of information systems

Page 6: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 6

Introduction (cont.)

Page 7: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 7

A Modern Approach to Systems Analysis and Design

• 1950s: focus on efficient automation of existing processes• 1960s: advent of 3GL, faster and more reliable computers• 1970s: system development becomes more like an engineering

discipline• 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,

component-based applications

Page 8: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 8

Types of Information Systemsand Systems Development

• Transaction Processing Systems (TPS) Automate handling of data about business activities (transactions) Process orientation

• Management Information Systems (MIS) Converts raw data from transaction processing system into meaningful

form Data orientation

• Decision Support Systems (DSS) Designed to help decision makers Provides interactive environment for decision making Involves data warehouses, executive information systems (EIS) Database, model base, user dialogue

Page 9: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 9

Types of Information Systemsand Systems Development (cont.)

Page 10: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 10

Developing Information Systems and the SDLC

• System Development Methodology Standard process followed in an organization

consists of:• Analysis• Design• Implementation• Maintenance

Page 11: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 11

Systems Development Life Cycle (SDLC)

• It is the traditional methodology for developing, maintaining, and replacing information systems

• Has the following phases: Planning Analysis Design Implementation Maintenance

Page 12: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 12

Standard and Evolutionary Views of SDLC

Page 13: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 13

SDLC Planning Phase

Identify, analyze, prioritize, and arrange IS needs

Page 14: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 14

SDLC Analysis Phase

Study and structure system requirements

Page 15: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 15

SDLC Design Phase

Convert recommended solution to system specifications

Logical design: functional features described independently of computer platform

Physical design: logical specifications transformed to technology-specific details

Page 16: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 16

SDLC Implementation Phase

Code, test, install, and support the information system

Page 17: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 17

SDLC Maintenance Phase

Systematically repair and improve the information system

Page 18: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 18

Page 19: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 19

The Heart of the Systems Development Process

Current practice combines analysis, design, and implementation into a single iterative and parallel process of activities

Page 20: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 20

Traditional Waterfall SDLC

One phase begins when another completes, little backtracking and looping

Page 21: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 21

Problems with Waterfall Approach

• 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

Page 22: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 22

Alternatives to Traditional Waterfall SDLC

• Prototyping• CASE tools• Joint Application Design (JAD)• Rapid Application Development (RAD)• Agile Methodologies• eXtreme Programming

Page 23: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 23

Prototyping

Iterative development process: Requirements quickly converted to a working systemSystem is continually revisedCollaboration is closed between users and analysts

Page 24: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 24

CASE Tools

• Computer-Aided Software Engineering• Software tools providing automated support

for systems development• Project dictionary/workbook: system

description and specifications• Diagramming tools• Example products: Oracle Designer, Rational

Rose

Page 25: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 25

Joint Application Design (JAD)

• Structured process involving users, analysts, and managers

• Several-day intensive workgroup sessions• Purpose: to specify or review system

requirements

Page 26: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 26

Rapid Application Development (RAD)

• Methodology to decrease design and implementation time• Involves: prototyping, JAD, CASE tools, and code generators

Page 27: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 27

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

Page 28: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 28

eXtreme Programming

• Short, incremental development cycles• Automated tests• Two-person programming teams• Coding and testing operate together• Advantages:

Communication between developers High level of productivity High-quality code

Page 29: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 29

Object-Oriented Analysis and Design

• Based on objects rather than data or processes• Object: a structure encapsulating attributes and

behaviors of a real-world entity• Object class: a logical grouping of objects sharing the

same attributes and behaviors• Inheritance: hierarchical arrangement of classes

enable subclasses to inherit properties of superclasses

Page 30: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 30

Rational Unified Process (RUP) involves an iterative, incremental approach to systems development

Page 31: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 31

Summary• In this chapter you learned how to:

1. Describe different types of information systems.

Define information systems analysis and design. Describe the different types of information systems.

2. Compare different methods to distribute information systems and data.

Describe the different types of information systems. Explain the Systems Development Life Cycle (SLDC).

Page 32: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 32

Summary

3. Explain the Systems Development Life Cycle (SLDC). Describe the Information Systems Development

Life Cycle (SDLC).

5. Classify different types of software development models. Explain Rapid Application Development (RAD)

and it constituent parts: prototyping, Joint Application Design (JAD), and Computer-Aided Software Engineering (CASE) tools.

Page 33: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 1 Slide 33

Summary

Describe the Agile Methodologies and eXtreme Programming.

Explain object-oriented analysis and design and the Rational Unified Process (RUP).