Upload
jay-mc
View
127
Download
5
Tags:
Embed Size (px)
Citation preview
Evolutionary Evolutionary DevelopmentDevelopment
andand Rapid Prototyping Rapid Prototyping
By: Shelone ReidBy: Shelone ReidAmanda SmithAmanda Smith
OUTLINE OF OUR PRESENTATION
Evolutionary Development
Rapid Prototyping
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.
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.
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.
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.
Evolutionary Development ModelEvolutionary Development Model
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
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!).
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.
BACK
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.
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.
Process ComparisonsProcess Comparisons
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
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
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
THE END