21
Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Chapter Extension 19

Alternative Development Techniques

© 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Page 2: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-2 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Study Questions

Why is rapid application development rapid? What is object-oriented development? What are the phases and principles of the

unified process? What is extreme about extreme

programming? How do development techniques compare?

Page 3: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-3 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Why Is Rapid Development Rapid?

RAD– Five phases:

Requirements, design, implementation, conversion,maintenance

– Design/implement/fix Breaks up design and implementation phases into smaller

chunks Uses computer assistance Incremental development

– Requirements less detailed because users actively involved

Page 4: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-4 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Martin’s RAD Process

Figure CE19-1

Page 5: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-5 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Rapid Application Design (RAD)

Characteristics– Design/implement/fix development process– Continuous user involvement throughout– Extensive use of prototypes– Joint application design– Use of CASE tools

Page 6: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-6 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Prototypes

Mock-up of aspect of system Vary in functionality and utility Some designed to be thrown away Help users evaluate requirements

– show actual data in context– Provide opportunity for users to test interfaces– Communication device between users and developers

Only a mock-up– May imply application is more complete than it actually is

Page 7: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-7 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Joint Application Design (JAD)

Teams conduct design activities Incorporates feedback and testing earlier in

development process Design meeting of short duration

– Goal is to keep scope small – Design completed in short period

Page 8: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-8 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Computer-Assisted Software/Systems Engineering

CASE tools– “Software” focuses on program development– “Systems” focuses on systems development– Uses computer systems for development– Have repository

Database containing documents, data, prototypes, code

– Many have code generators Programs that generate application code

Page 9: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-9 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Visual Development Tools

Used in RAD projects Improve developer productivity Creates skeleton code Developers add features and functions

Page 10: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-10 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

What Is Object-Oriented Development?

OOD– Programs developed through object-oriented

programming (OOP) Discipline for designing and writing computer programs Easier and cheaper to fix and adapt Business applications will have to integrate with non-

OOP programs

Unified Modeling Language– Diagramming techniques that facilitate OOP

development

Page 11: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-11 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

What Are the Phases and Principles of the Unified Process?

UP– Designed for use with UML– Five phases

InceptionSimilar to SDLC definition phase

ElaborationDevelopers construct and test framework

and architectureResults in working systemIterations driven by use casesSecurity addressed during this phase

Page 12: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-12 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Five Phases, continued

ConstructionDevelopers design, implement, and test

features and functions

Multiple iterations

Prepares system for deployment Transition

Similar to SDLC conversion phase Maintenance

Similar to SDLC maintenance phase

Page 13: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-13 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Phases of the Unified Process

Figure CE 19-6

Page 14: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-14 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

UP Principles

Figure CE 19-8

Page 15: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-15 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Sears Standardizes Development

Sears used a variety of different system development methodologies– Systems were inconsistent in quality and

timeliness

Sears created single, consistent, enterprise-wide development process– Backed by software development tools– Based on Rational Unified Process (RUP)

Page 16: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-16 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Security and Systems Development

Only authorized users can take authorized actions– Decide how users will be authenticated

IS authentication can be performed by operating system or network or perform own authentication

– Determine users groups Permissions defined for groups instead of individuals Easier to change as a group than for each individual

Page 17: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-17 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Security and Systems Development, continued

– List primary features and functions of system Direct result of systems design activity

– Determine restrictions and enforcement Allow users to attempt action and issue error message Disable features and functions that user cannot perform Only display actions that users are authorized to

perform

– Allocate permissions to user groups Computer programs cannot provide effective

controls by themselves

Page 18: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-18 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

What Is Extreme About Extreme Programming?

Extreme Programming (XP)– Emerging technique for developing computer

programs– Used for developing application programs– Extreme iterative development

Two-week development cycle Customer centric Just-in-time (JIT) design Paired programming

Page 19: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-19 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

How Do Development Techniques Compare?

SDLC and RAD address information systems– Used to develop organizational information

systems

OOD with UP and XP concerned with development of computer programs– Used by software development vendors

Page 20: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-20 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Comparison of Development Techniques

Figure CE 19-9

Page 21: Chapter Extension 19 Alternative Development Techniques © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

CE19-21 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke

Active Review

Why is rapid application development rapid? What is object-oriented development? What are the phases and principles of the

unified process? What is extreme about extreme

programming? How do development techniques compare?