chapter 1 the systems development environment

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

Upload: cooper-delaney

Post on 30-Dec-2015

30 views

Category:

Documents


2 download

DESCRIPTION

Chapter 1 The Systems Development Environment. Learning Objectives. Classify different types of software development models. Explain the evolution of software development models. Identify the types of software development models. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 1  The Systems Development Environment

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 4 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 4 Slide 2

Learning Objectives

5. Classify different types of software development models. Explain the evolution of software development

models. Identify the types of software development

models. Identify the application areas for which software

development models are suitable.

Page 3: Chapter 1  The Systems Development Environment

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

Learning Objectives

Explain Rapid Application Development (RAD) and its constituent parts: prototyping, Joint Application Design (JAD), and Computer-Aided Software Engineering.

Describe the Agile Methodologies and eXtreme Programming.

Explain Object-Oriented Analysis and Design and the Rational Unified Process (RUP).

Page 4: Chapter 1  The Systems Development Environment

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

Systems Development Life Cycle (SDLC)

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

• Phases in SDLC: Planning Analysis Design Implementation Maintenance

Page 5: Chapter 1  The Systems Development Environment

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

Standard and Evolutionary Views of SDLC

Page 6: Chapter 1  The Systems Development Environment

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

The Heart of the Systems Development Process

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

Page 7: Chapter 1  The Systems Development Environment

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

Traditional Waterfall SDLC

One phase begins when another completes, little backtracking and looping

Page 8: Chapter 1  The Systems Development Environment

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

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 9: Chapter 1  The Systems Development Environment

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

Alternatives to Traditional Waterfall SDLC

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

Page 10: Chapter 1  The Systems Development Environment

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

Prototyping

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

Page 11: Chapter 1  The Systems Development Environment

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

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 12: Chapter 1  The Systems Development Environment

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

Joint Application Design (JAD)

• Structured process involving users, analysts, and managers

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

requirements

Page 13: Chapter 1  The Systems Development Environment

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

Rapid Application Development (RAD)

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

Page 14: Chapter 1  The Systems Development Environment

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

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 15: Chapter 1  The Systems Development Environment

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

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 16: Chapter 1  The Systems Development Environment

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

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 17: Chapter 1  The Systems Development Environment

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

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

Page 18: Chapter 1  The Systems Development Environment

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

Summary

In this chapter you learned how to:

5. Classify different types of software development models. Explain the evolution of software development

models. Identify the types of software development

models. Identify the application areas for which software

development models are suitable.

Page 19: Chapter 1  The Systems Development Environment

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

Explain Rapid Application Development (RAD) and its constituent parts: prototyping, Joint Application Design (JAD), and Computer-Aided Software Engineering.

Describe the Agile Methodologies and eXtreme Programming.

Explain Object-Oriented Analysis and Design and the Rational Unified Process (RUP).

Summary