17 Chapter 16: Trends in System Development Systems Analysis and Design in a Changing World
17
Chapter 16: Trends in
System Development
Systems Analysis and Design in a Changing World
Systems Analysis and Design in a Changing World, 3rd Edition 2
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
Systems Analysis and Design in a Changing World, 3rd Edition 3
Cost of Change in Each Project Phase
Systems Analysis and Design in a Changing World, 3rd Edition 4
What is RAD?
Collection of development approaches, techniques, tools, and technologies
RAD proven to shorten development schedules
No universal RAD approach shortens every project schedule
No technique, tools or technology fits perfectly
Key is identifying overall development approach and matching set of techniques, tools, techniques most suitable to approach and specific project
Systems Analysis and Design in a Changing World, 3rd Edition 5
Rapid Application Development
RAD is overused and poorly understood
Software developers claim they do, but cannot precisely define
Equated with tools and techniques
Prototyping, fourth-generation programming languages, CASE tools
Object-oriented analysis, design, and development
Tool vendors and methodologies claim RAD
Competing and confusing claims
17
Systems Analysis and Design in a Changing World, 3rd Edition 7
Development Approach as a Function of Project Characteristics
Systems Analysis and Design in a Changing World, 3rd Edition 8
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
Systems Analysis and Design in a Changing World, 3rd Edition 9
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
Systems Analysis and Design in a Changing World, 3rd Edition 10
Prototyping Tool Requirements
Development speed
Flexibility and power
Techniques and capabilities
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
Systems Analysis and Design in a Changing World, 3rd Edition 11
Prototyping Tools
Simple
Access
Excel
Graphical
Visual Studio .NET
PowerBuilder
Oracle Forms
Systems Analysis and Design in a Changing World, 3rd Edition 12
Prototyping FPF Principle
Make it Functional
Make it Pretty
Make it Fast
Systems Analysis and Design in a Changing World, 3rd Edition 13
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
17
Systems Analysis and Design in a Changing World, 3rd Edition 14
The Spiral Life Cycle
Systems Analysis and Design in a Changing World, 3rd Edition 15
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
Systems Analysis and Design in a Changing World, 3rd Edition 16
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
17
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 23
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
Systems Analysis and Design in a Changing World, 3rd Edition 24
UP Phases and Objectives (Figure 16-2)
Systems Analysis and Design in a Changing World, 3rd Edition 25
The Unified Process Life Cycle (Figure 16-1)
Systems Analysis and Design in a Changing World, 3rd Edition 29
When to Use the Unified Process
Benefits and risks mirror spiral development
Major obstacles to adopt UP include:
Complex project management (compared to sequential development) required
Need to adopt OO models, tools, techniques throughout project
UP’s formal steps, well-defined roles, attention to model building and validation makes UP preferred approach for large-scale development
Systems Analysis and Design in a Changing World, 3rd Edition 30
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
Systems Analysis and Design in a Changing World, 3rd Edition 43
Components and the Development Life Cycle
Purchased components can form part or all of system
Components provide one model for designing and deploying systems
Component issues
Internally developed components
Object-oriented techniques
Designing components for reuse
17
Systems Analysis and Design in a Changing World, 3rd Edition 44
Activities Added to SDLC Phases when Components are Purchased