18
Alternative Methodologies Ken Peffers UNLV March 2004

Alternative Methodologies Ken Peffers UNLV March 2004

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Alternative Methodologies

Ken PeffersUNLV

March 2004

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

Sourcing

• In House

• Outsource– development– development and operation– purchase service

Sourcing Considerations

• In House– Building IT capability critical to

competitiveness– Low cost in-house development

• Outsource– Operations critical to competitiveness– Lower costs– Access IT resources unavailable in-house