230 likes | 248 Views
This chapter examines the reasons for slow development, and explores different development approaches such as Rapid Application Development (RAD), prototyping, and the Unified Process. It discusses the benefits, risks, and when to use each approach.
E N D
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 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 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
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 Systems Analysis and Design in a Changing World, 3rd Edition
Development Approach as a Function of Project Characteristics 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 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 Systems Analysis and Design in a Changing World, 3rd Edition
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
Prototyping Tools • Simple • Access • Excel • Graphical • Visual Studio .NET • PowerBuilder • Oracle Forms Systems Analysis and Design in a Changing World, 3rd Edition
Prototyping FPF Principle • Make it Functional • Make it Pretty • Make it Fast Systems Analysis and Design in a Changing World, 3rd Edition
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
The Spiral Life Cycle Systems Analysis and Design in a Changing World, 3rd Edition
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
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 Systems Analysis and Design in a Changing World, 3rd Edition
Cumulative Cost Plotted Against Time Systems Analysis and Design in a Changing World, 3rd Edition
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
UP Phases and Objectives (Figure 16-2) Systems Analysis and Design in a Changing World, 3rd Edition
The Unified Process Life Cycle (Figure 16-1) Systems Analysis and Design in a Changing World, 3rd Edition
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
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
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 Systems Analysis and Design in a Changing World, 3rd Edition
Activities Added to SDLC Phases when Components are Purchased Systems Analysis and Design in a Changing World, 3rd Edition