19
SOFTWARE PROTOTYPING SOFTWARE PROTOTYPING Anil Kumar.Arikepudi

SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Embed Size (px)

Citation preview

Page 1: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

SOFTWARE PROTOTYPINGSOFTWARE PROTOTYPING

Anil Kumar.Arikepudi

Page 2: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

DEFNITIONDEFNITION

– A Software prototype is rapid development of a system.

– It is intended for the user requirements and not for the deign validation.

Page 3: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

OBJECTIVESOBJECTIVES

To describe the use of software prototypes.To discuss the process of prototypingTo discuss evolutionary, throw-away

prototyping techniques and about the tools and techniques available.

To know the advantages and disadvantages of prototyping

Page 4: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

WHY PROTYPING?WHY PROTYPING?

To reduce cost and to improve the quality of final product.

Useful for risk assessment and as a means for validation to end users.

To demonstrate the feasibility of the system early in the life cycle.

The principal use is to help customers and developers understand the requirements for

the system

Page 5: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Prototyping process

Page 6: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Phases of prototypingPhases of prototyping

1.Prototyping Plan:To gain further specification

requirements from the customer.Convey about the ideas to the

customers, what the developers believe will be vital aspects of the project.

Knowing the more risky aspects of the project, if any

Page 7: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Phases of prototyping Phases of prototyping (contd..)(contd..)

2.Outline definition This stage focuses in determining the level

of functionality of the prototype and documenting these decisions.

We can use a GUI with no functionality if our intention is only to demonstrate the intended design. Whereas if the goal is to get the customer to consider more functionality it may be necessary to implement large parts of the existing functionality

Page 8: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Phases of prototyping (contd…)Phases of prototyping (contd…)

3. Executable Prototype: This stage is the development of the

prototype; this will generally involve the use of some form of prototyping tool such as Visual Basic to allow the prototype to be constructed quickly.

The length of this stage will be greatly dependent on the required functionality of the prototype

Page 9: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Phases of prototyping (contd…)Phases of prototyping (contd…)

4.Evaluation report: At this point feedback will be gathered from both

management and the customer thus allowing the prototype to be evaluated. Three main events may happen after this stage

The customer will be happy with the prototype and the development of the actual system will continue.

The project will be deemed unfeasible and the project will not continue.

The customer lists more requirements and the Specification will be amended to include these changes

Page 10: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

FORMS OF PROTOTYPINGFORMS OF PROTOTYPING

1. Evolutionary prototyping Evolutionary prototype life cycle

considers to first deliver an initial fielded prototype ,subsequent modifications and enhancements result in delivery of further more mature prototypes.

Objective :- To deliver a working system to end-

users. The development starts with those requirements which are best understood.

Page 11: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Evolutionary prototypingEvolutionary prototyping

Page 12: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

2.Throw-away prototyping

Software developer develops a working prototype to clarify and define the specifications with the help of the customer. The prototype is not part of the final product, so it is not necessary to maintain, and its structure is also not important as it should not influence the final product

Objective :- To validate or derive the system

requirements. The prototyping process starts with those requirements

which are poorly understood

Page 13: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Throw-Away PrototypingThrow-Away Prototyping

Page 14: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Advantages of Evolutionary and Advantages of Evolutionary and Throw-Away prototypesThrow-Away prototypes1.Evolutionary prototype: The most needed functionality will be produced

first, thereby solving the user’s basic needs. This model establishes user engagement with the

system 2.Throw-Away Prototype: Unlike upfront specifications, these can be used to

allow the customer to further define the product as it is being developed.

The throw away prototypes can be written in a language other than what is used for the final system to speed up the process of creating the prototype

The prototype is not documented and it is not intended to be part of the final product

Page 15: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Disadvantages of Evolutionary and Disadvantages of Evolutionary and Throw-Away prototypesThrow-Away prototypes1.Evolutionary prototype: Existing management processes assume a waterfall

model of development Continual change tends to corrupt system structure so

long-term maintenance is expensive Specialist skills are required which may not be available

in all development teams 2.Throw-Away Prototype: Finding it difficult to turn away the prototypes as

prototypes are not part of the final product . Makes software maintenance very difficult and costly

Page 16: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Tools and techniques availableTools and techniques available1. Low-tech tools Word Power point Visio

2. High-Tech tools Visual basic Easy pilot

3. Fourth generation languages SQL MYSql Access

4. Evolutionary prototyping tools Smalltalk Lisp Xml PHP Java

Page 17: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Benefits of prototypingBenefits of prototyping

Misunderstandings between software users and developers are exposed

Missing services may be detected Confusing services may be identified A working system is available early in the

process The prototype may serve as a basis for

deriving a system specification Can give training to users before production-

quality system had been delivered.

Page 18: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

Disadvantages of prototypingDisadvantages of prototyping

Non-functional requirements such as those concerning reliability, robustness and safety cannot be adequately expressed in a prototype implementation.

The user may not use the prototype in the same way as an operational system.

Time spent on the prototype may take away from time spent solving other serious problems.

Developers may be forced to endlessly refine the specifications and create many prototypes as customers continually have more wants for the project as inspired by the prototype

Page 19: SOFTWARE PROTOTYPING Anil Kumar.Arikepudi. DEFNITION –A Software prototype is rapid development of a system. –It is intended for the user requirements

ReferencesReferences http://www.shu.ac.uk/schools/cms/rapid.software.prototypin

g/rapid.software.prototyping.html

http://www.dacs.dtic.mil/awareness/newsletters/technews2-1/dacsstc98.html

  http://

www.softwareprototypes.com/resources/pages/SP_About.html

  http://nas.cl.uh.edu/helm/swen5231/PROTO_HTML/ppfram

e.htm  http://woorisol.kyungpook.ac.kr/lab/prof/SoftEng/ch8.htm\   http://www.sei.cmu.edu/pub/documents/92.reports/pdf/tr13.

92.pdf