View
217
Download
1
Tags:
Embed Size (px)
Citation preview
Limitations of SDLC
• Expensive development• Suited to in-house development• Works poorly if problem not well
structured• Length of time
Alternative methodologies
• Prototyping
• Spiral Model
• Rapid Application Development (RAD)
• Phased Development
• Packages
• Sourcing
Prototyping Use
• To determine requirements– users may not know what they want or have
trouble imagining what is possible
• To design user interface– in design phase
• To build the system
Prototyping
1. Define initial needs.
2. Create “quick and dirty” functionality.
3. User tests and comments.
4. Revise system
5. User tests and comments
If satisfactory, step 6, otherwise step 4.
6. Incorporate into requirements or produce production system.
Prototyping Technology
• Application development environment– Access, Visual Basic
• Screens only– Storyboarding
Prototyping outcome
• Prototype may become final version
• Prototype may be used to define requirements. May be prototyped in one language and final version produced in another
The Spiral Model
• To reduce project risk– Iterative prototypes– Each iteration moves the project further along
• Cycle 1—feasibility study– Risk analysis
• What can go wrong• How can the risk be managed
– Prototype– Operation concept– Life cycle plan
Spiral Model
• Cycle 2—systems analysis– Risk analysis– Prototype– Models– Software requirements– Requirements validation– Development plan
Spiral Model
• Cycle 3—design– Risk analysis– Prototype– Models– Software product design– Design validation and verification– Integration and test plan
Spiral Model
• Cycle 4—testing, integration, and acceptance– Risk analysis– Operational prototype– Models– Detailed design– Code– Unit test– Integration test– Acceptance test– Implementation
Rapid application development (RAD)
• Purpose: faster development and higher quality system
• Heavy user involvement in project front end
RAD steps
• Investigate problem & develop workable solution• Iterative steps with users:
– Use application development tool to develop prototype– Put prototype into operation– Refine and modify prototype– Approve acceptable version
• Complete system• Note: system developed with this method ought
not be too complex; consider incremental development
Phased Development
• SDLC, but– JAD sessions– Prototyping– Use of tools to speed development
• CASE
• Quick development environments, e.g., VB, Access,
Application Packages
• Generic application functions– Office automation
• Industry generic function– Medical practitioner appointment and
billing
• Custom developed application– written in 4th generation language
Package or Custom Development
• Package– economy– generic need
• Custom– unique need– performance requirements
• Customized package– tailor package to unique needs