Evolutionary Development With Rapid Pro to Typing

18
Evolutionary Development Evolutionary Development and and Rapid Prototyping Rapid Prototyping By: Shelone Reid By: Shelone Reid Amanda Smith Amanda Smith

Transcript of Evolutionary Development With Rapid Pro to Typing

Page 1: Evolutionary Development With Rapid Pro to Typing

Evolutionary Evolutionary DevelopmentDevelopment

andand Rapid Prototyping Rapid Prototyping

By: Shelone ReidBy: Shelone ReidAmanda SmithAmanda Smith

Page 2: Evolutionary Development With Rapid Pro to Typing

OUTLINE OF OUR PRESENTATION

Evolutionary Development

Rapid Prototyping

Page 3: Evolutionary Development With Rapid Pro to Typing

DEFINITIONS DEFINITIONS

Software Development Software Development is the set of activities that ensures that the software produced meets the specifications required (meets the customers needsmeets the customers needs).

A Software Process Software Process is a set of activities and associated results which produce a software product.

A Software Process Model Software Process Model is an abstract representation of a process, it is a structured set of activities required to develop a software system. 

Page 4: Evolutionary Development With Rapid Pro to Typing

Important ActivitiesImportant Activities

The following are fundamental activities :

◦ SpecificationSpecification – defining the functionality of the software and the limitations on its operations.

◦ DevelopmentDevelopment – ensure that the software produced meets the specifications required.

◦ ValidationValidation – ensuring that the software is genuine in order for the client to give his or her acceptance to the software development.

◦ EvolutionEvolution – the software must be able to evolve as the client may decide to make minor or major changes or further the existing specification to improve the software being developed.

Page 5: Evolutionary Development With Rapid Pro to Typing

Types of Generic Software Types of Generic Software Process ModelsProcess Models

The waterfall model The waterfall model – This separate and distinct phases of specification and development.

Evolutionary development Evolutionary development – This is when the specification and development are infused.

Reuse-based development Reuse-based development - The system is assembled from existing components.

Page 6: Evolutionary Development With Rapid Pro to Typing

Evolutionary DevelopmentEvolutionary Development

Evolutionary development is an iterative and incremental approach to software development.  Instead of creating a comprehensive artifact, such as a requirements specification, that you review and accept before creating a comprehensive design model, you instead evolve the critical development artifacts over time in an iterative manner.  Instead of building and then delivering your system in a single “big bang” release you instead deliver it incrementally over time. 

Page 7: Evolutionary Development With Rapid Pro to Typing

Evolutionary Development ModelEvolutionary Development Model

Page 8: Evolutionary Development With Rapid Pro to Typing

Problems and ApplicabilityProblems and Applicability

Applicability Applicability ◦ For small or medium-size interactive systems ◦ For parts of large systems (e.g. the user interface) ◦ For short-lifetime systems

ProblemsProblems ◦ Lack of process visibility ◦ Systems are often poorly structured ◦ Special skills (e.g. in languages for rapid prototyping) may

be required

Page 9: Evolutionary Development With Rapid Pro to Typing

Advantages of evolutionary Advantages of evolutionary development model:development model:

This model is useful in exploratory programming (such as Artificial Intelligence applications) where it is difficult to frame thespecifications.

In case major problems are foreseen, the developer can stop thedevelopment after some iterations.

This model is very appropriate for research projects. For example, to develop software for automatic speech recognition, a small vocabulary can be taken and the system is developed. After achieving success, the vocabulary can be increased in stages. This approach is better than starting development of an unlimited vocabulary speech recognition system directly (and after two years, realizing that it is very difficult!).

Page 10: Evolutionary Development With Rapid Pro to Typing

Disadvantages of evolutionary Disadvantages of evolutionary development model:development model:

 Because the project is open-ended, no time frame can be set.

Project monitoring is difficult.Less visibility as compared to waterfall

model.

Page 11: Evolutionary Development With Rapid Pro to Typing

BACK

Page 12: Evolutionary Development With Rapid Pro to Typing

Rapid PrototypingRapid Prototyping

Rapid Prototyping (RP) is a process used to quickly fabricate a realistic model of a product’s user interface

Rapid Prototyping has also been referred to as solid free- form manufacturing, computer automated manufacturing, and

layered manufacturing.

Rapid Prototyping decreases development time by allowing corrections to a product to be made early in the process. By giving engineering, manufacturing, marketing, and purchasing a look at the product early in the design process, mistakes can be corrected and changes can be made while they are still inexpensive.  

But typically the RP material is not strong or accurate enough.

Page 13: Evolutionary Development With Rapid Pro to Typing

Reasons for Rapid PrototypingReasons for Rapid Prototyping

To decrease development time.

To decrease costly mistakes.

To minimize sustaining engineering changes.

To increase effective communication.

To extend product lifetime by adding necessary features and eliminating redundant features early in the design.

To increase effective communication.

Rapid Prototyping improves product development by enabling better communication in a concurrent engineering environment.

Page 14: Evolutionary Development With Rapid Pro to Typing

Process ComparisonsProcess Comparisons

Page 15: Evolutionary Development With Rapid Pro to Typing

Advantages of Rapid Advantages of Rapid PrototypingPrototyping

Saves time and money

Promotes consistency in user interface design

Allows early customer involvement

Shows progress to management in a concrete way Seeing is believing. Instead of telling management

Allows marketers and planners to ensure that customer needs are met

Page 16: Evolutionary Development With Rapid Pro to Typing

Disadvantages of Rapid Disadvantages of Rapid PrototypingPrototyping

User confusion of prototype and finished system

Excessive development time of the prototype

Usually does not produce reusable code

Slows development process if put under formal configuration control

Lacks an obvious stopping point

Page 17: Evolutionary Development With Rapid Pro to Typing

ReferenceReference

wgsrodney.yolasite.com

wikipedia.com

www.efunda.com/processes/rapid_prototyping/intro.cfm

Rob Abdul’s case study on Software Development Cycle

Trond Johansen (head of Project Management, FIRM) and Tom Gib

Lawrence J. Naijar

Page 18: Evolutionary Development With Rapid Pro to Typing

THE END