Upload
rudolf-williams
View
217
Download
0
Embed Size (px)
Citation preview
SOFTWARE PROTOTYPINGSOFTWARE PROTOTYPING
Anil Kumar.Arikepudi
DEFNITIONDEFNITION
– A Software prototype is rapid development of a system.
– It is intended for the user requirements and not for the deign validation.
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
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
Prototyping process
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
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
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
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
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.
Evolutionary prototypingEvolutionary prototyping
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
Throw-Away PrototypingThrow-Away Prototyping
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
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
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
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.
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
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