Prototyping_J M Carey
Transcript of Prototyping_J M Carey
-
8/8/2019 Prototyping_J M Carey
1/27
1
Prototyping: alternative
systems development
methodology by J M Carey
Presented by Cynthia
JohnsonFebruary 7, 2007 EEL 6883
-
8/8/2019 Prototyping_J M Carey
2/27
2
What is Prototyping?
Prototyping is the process of quickly
building a model of the final software
system, which is used primarily as acommunication tool to assess and
meet the information needs of the
user? J M Carey
-
8/8/2019 Prototyping_J M Carey
3/27
-
8/8/2019 Prototyping_J M Carey
4/27
4
Why use prototyping?
Helps user clarify their needs
Less ambiguous than traditionalnarrative function specification
Improves team communication. Apicture is worth a 1000 words
Less emphasis on time consuming
documentationGenerally faster than traditionaldevelopment
-
8/8/2019 Prototyping_J M Carey
5/27
5
Why prototype?
The prototype provides a vehicle forsystems engineers to better understand theenvironment and the requirements problembeing addressed.
A prototype is a demonstration of what'sactually feasible with existing technology,and where the technical weak spots stillexist.
A prototype lets the developer meet earlierschedules for the production version.
A prototype allows for early customerinteraction.
-
8/8/2019 Prototyping_J M Carey
6/27
6
Prototyping Environments
Two major types of prototyping
environments mentioned.
Automated development environmentsPrototyping toolkits a collection of
unintegrated tools.
-
8/8/2019 Prototyping_J M Carey
7/27
7
Fourth and Fifth Generation
Software Languages
Often abbreviated 4GL, fourth-generation languages areprogramming languages which are
closer to human language thanprevious languages.
Most of todays 4GLs are database
languages. One example is FINDALL RECORDS WHERE NAME IS"SMITH"
-
8/8/2019 Prototyping_J M Carey
8/27
8
The generations of computer
languages
1st GenerationMachine Language
2nd Generation
Assembly Language3rd GenerationC, C++, FORTRAN, Java, Pascal, Ada
4th GenerationSQL, RPG-II
5th GenerationUsed for artificial intelligence and neuralnetworks primarily researchers
-
8/8/2019 Prototyping_J M Carey
9/27
9
Successful 4GL Languages
Database Query
SQL, Progress 4GL, Informix
Report GeneratorsBuildProfessional, PostScript
Data Manipulation and Reporting
Clarion, GraphTalkScreen Painters, GUI Developers
FourGen, Visual Basic
-
8/8/2019 Prototyping_J M Carey
10/27
10
Types of Prototyping
Type I Iterative
Type II - Throwaway
-
8/8/2019 Prototyping_J M Carey
11/27
11
Type I - Iterative
Uses the Prototype as the final
system after a series of iterative
upgrades
Generally uses a 4GL tool for
development
-
8/8/2019 Prototyping_J M Carey
12/27
12
Type II - Throwaway
Prototype is developed in 4GL or
toolkit
Final product based on prototype builtin 3GL language.
-
8/8/2019 Prototyping_J M Carey
13/27
13
Advantages of prototyping
Faster development time
Easier for end-users to learn to use
More end-user involvementEnhances user/analysts
communication
Requirements are easier todetermine.
-
8/8/2019 Prototyping_J M Carey
14/27
14
Disadvantages of prototyping
Undue user expectations
Inconsistencies between prototype
and final productFinal system inefficiencies
Lack of attention to good human
factors practice.Inattention to proper design and
analysis.
-
8/8/2019 Prototyping_J M Carey
15/27
15
When to prototype
A good prototyping candidate is
Dynamic
Transaction processing basedContains extensive user dialogs
Is small
Is well defined
Is online
is the business
-
8/8/2019 Prototyping_J M Carey
16/27
16
When not to prototype
A system with the following attributes
is not a good candidate
Is stableIs decision-support based
Is ill-defined
Makes little use of user dialogs
Is real-time
Has lots of number crunching
-
8/8/2019 Prototyping_J M Carey
17/27
17
Methodology
Following good methodology is key to
successful prototyping
Four phases of prototypedevelopment
Determine what to prototype
Build the prototype
Test the prototype
Use the prototype as a model
-
8/8/2019 Prototyping_J M Carey
18/27
18
Incorporating Human Factors
Prototyping does nothing to ensureuse of good human factors practices.
The issue of user friendly or usabilityhas become a huge determinant ofsystem success.
A system that works perfectly may be
rejected if difficult to useNote that this is not an issue thatapplies just to prototypes.
-
8/8/2019 Prototyping_J M Carey
19/27
19
Some good guidelines
Know your user
Use selection not entry
Make the system behave predictablyMake the system unobtrusive
Change displays as little as possible
Minimize keystrokes and mouse use
Use meaningful error messages
Allow for undo
-
8/8/2019 Prototyping_J M Carey
20/27
20
Case Study- NJ DMV
Price Waterhouse contracted to buildNew Jerseys DMV primaryinformation system.
They chose a new (at the time)4GLcalled Ideal from Applied DataResearch to develop the system
When delivered, the response timewas so slow that the backlog requiredthousands of hours of overtime
-
8/8/2019 Prototyping_J M Carey
21/27
21
What went wrong?
Ideal was new and untested.
Little time was spent training staff in
its useThe contract imposed bigger
penalties for late system than a non
performing one
They ignored consultants warnings
that Ideal was not the right tool.
-
8/8/2019 Prototyping_J M Carey
22/27
22
How did they fix it?
By converting 58 of 800 modules to
COBOL, system performance was
made acceptable.
Those 58 modules performed 85% of
the systems work.
-
8/8/2019 Prototyping_J M Carey
23/27
23
Case Study: Town and Country
Credit Line
Banking card system improvement
Hired consultants to help them
choose IEF (Information EngineeringFacility) from Texas Instruments
Used Iterative prototyping and
delivered a successful system
-
8/8/2019 Prototyping_J M Carey
24/27
24
What went right?
Tool was 5 years more advanced
than Ideal
They did a more extensive study ofavailable tools before choosing
Learned from others mistakes
-
8/8/2019 Prototyping_J M Carey
25/27
25
Summary
Prototyping is made possible by the
availability of4GLs and soon 5GL
Not all systems are good candidatesfor prototyping
For those that are, prototyping can
reduce development time and cost
Prototyping does not ensure good
human factors
-
8/8/2019 Prototyping_J M Carey
26/27
26
My opinion
Im not a big fan of type II prototyping.
Anything that gets thrown away seems
wasteful and end product may not match
prototype.Iterative prototyping is good for working out
incompletely defined user interfaces
Customer is usually happier when they
have up front involvement in final product.
-
8/8/2019 Prototyping_J M Carey
27/27
27
Additional References
http://www.webopedia.com/TERM/F/fourth_generation_language.html
http://en.wikipedia.org/wiki/4GL
Importance of SoftwarePrototyping by Larry Bernstein -Have Laptop - Will Travel,
http://www.dacs.dtic.mil/awareness/newsletters/technews2-1/prototyping.html