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?
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
CE19-4 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
Martin’s RAD Process
Figure CE19-1
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
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
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
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
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
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
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
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
CE19-13 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
Phases of the Unified Process
Figure CE 19-6
CE19-14 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
UP Principles
Figure CE 19-8
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)
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
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
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
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
CE19-20 © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke
Comparison of Development Techniques
Figure CE 19-9
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?
Top Related