17
Chapter 16: Trends in System Development
Systems Analysis and Design in a Changing World
Reasons for Slow Development
Rework
Using the wrong software Not meeting minimum quality standards
Shifting
requirements and project changes
Changes to design and construction
Improper
tools and techniques for project
Reduces quality, increases development time
Poor
Project Management
2
Systems Analysis and Design in a Changing World, 3rd Edition
Cost of Change in Each Project Phase
Systems Analysis and Design in a Changing World, 3rd Edition
What is RAD?
Collection
of development approaches, techniques, tools, and technologies
RAD
No
proven to shorten development schedules
universal RAD approach shortens every project schedule technique, tools or technology fits perfectly
No
Key
is identifying overall development approach and matching set of techniques, tools, techniques most suitable to approach and specific project
4
Systems Analysis and Design in a Changing World, 3rd Edition
Rapid Application Development
RAD
is overused and poorly understood
Software
developers claim they do, but cannot precisely define with tools and techniques
Equated
Prototyping, fourth-generation programming languages, CASE tools Object-oriented analysis, design, and development
Tool
vendors and methodologies claim RAD
and confusing claims
5
Competing
Systems Analysis and Design in a Changing World, 3rd Edition
Development Approach as a Function of Project Characteristics
17
Systems Analysis and Design in a Changing World, 3rd Edition
Prototyping Approach to Development
Discovery
prototype
Used in analysis or early design Uncover or refine system requirements Can be thrown away
Developmental
prototype
Not thrown away
Part of iterative development until final system complete
8
Systems Analysis and Design in a Changing World, 3rd Edition
When to Use a Prototyping Approach
When
to use:
Requirements cannot be fully specified outside of architectural or detailed design Technical feasibility unknown or uncertain Development tools powerful enough to create functional system
When
not to use:
System is non-interactive or internally complex
Strict security or performance requirements exist
9
Systems Analysis and Design in a Changing World, 3rd Edition
Prototyping Tool Requirements
Development Flexibility
speed
and power and capabilities
Techniques
WYSIWYG (what you see is what you get) Generation of complete programs, program skeletons, or database schemas from diagrams Rapid customization of software libraries or components Error-checking and debugging capabilities
10
Systems Analysis and Design in a Changing World, 3rd Edition
Prototyping Tools
Simple
Access Excel Graphical
Visual
Studio .NET
PowerBuilder Oracle
Forms
Systems Analysis and Design in a Changing World, 3rd Edition
11
Prototyping FPF Principle
Make
it Functional
Make
it Pretty
Make
it Fast
Systems Analysis and Design in a Changing World, 3rd Edition
12
Spiral Approach to Development
Iterative
development approach
Each iteration may include combination of planning, analysis, design, or development steps
More
radical departure from traditional development than prototyping development
Systems Analysis and Design in a Changing World, 3rd Edition
13
17
The Spiral Life Cycle
Systems Analysis and Design in a Changing World, 3rd Edition
14
Steps in the Spiral Development Approach
Criteria
for feature selection for each prototype
User priorities Uncertain requirements Function reuse
Implementation risk
Break
into categories
Must have, Should have, Nice to have Complete high priorities earlier to reduce risk
15
Systems Analysis and Design in a Changing World, 3rd Edition
Benefits and Risks of Spiral Development
Benefits
High parallelism High user involvement Gradual resource commitment
Frequent product delivery
Risks
Management difficulties and design complexity More potential for rework
16
Systems Analysis and Design in a Changing World, 3rd Edition
17
Cumulative Cost Plotted Against Time
Systems Analysis and Design in a Changing World, 3rd Edition
17
The Unified Process
Comprehensive
development approach
Originally developed by Jacobsen, Booch, and Rumbaugh in late 1990s Dominant approach for developing software with OO models and tools Adopts iteration from prototyping and spiral development approaches
Exclusive reliance on OO models, tools, and techniques
23
Systems Analysis and Design in a Changing World, 3rd Edition
UP Phases and Objectives (Figure 16-2)
Systems Analysis and Design in a Changing World, 3rd Edition
24
The Unified Process Life Cycle (Figure 16-1)
Systems Analysis and Design in a Changing World, 3rd Edition
25
When to Use the Unified Process
Benefits Major
and risks mirror spiral development
obstacles to adopt UP include:
Complex project management (compared to sequential development) required Need to adopt OO models, tools, techniques throughout project
UPs
formal steps, well-defined roles, attention to model building and validation makes UP preferred approach for large-scale development
29
Systems Analysis and Design in a Changing World, 3rd Edition
Rapid Development Techniques
Collection
of guidelines used to help an analyst complete system development activities or tasks
Risk management
Joint application design (JAD) Tool-based development Software reuse Object frameworks
30
Systems Analysis and Design in a Changing World, 3rd Edition
Components and the Development Life Cycle
Purchased
components can form part or all of
system
Components Component
provide one model for designing and deploying systems
issues
Internally developed components Object-oriented techniques Designing components for reuse
43
Systems Analysis and Design in a Changing World, 3rd Edition
17
Activities Added to SDLC Phases when Components are Purchased
Systems Analysis and Design in a Changing World, 3rd Edition
44