Professional Documents
Culture Documents
Prototyping: Alternative Systems Development Methodology by J M Carey
Prototyping: Alternative Systems Development Methodology by J M Carey
systems development
methodology by J M Carey
Presented by Cynthia
Johnson
February 7, 2007 EEL 6883
1
What is Prototyping?
2
What is prototyping?
“Prototyping is the use of approximately
30% of the ultimate staff to build one or two
working versions of various aspects of a
system. It is not production code but it may
eventually become pre-production code or
it may be completely discarded. In the
prototyping effort, we are not concerned
with the maintainability of the code nor are
we concerned with formally documenting
it.” – Larry Bernstein
3
Why use prototyping?
Helps user clarify their needs
Less ambiguous than traditional
narrative function specification
Improves team communication. “A
picture is worth a 1000 words”
Less emphasis on time consuming
documentation
Generally faster than traditional
development
4
Why prototype?
The prototype provides a vehicle for
systems engineers to better understand the
environment and the requirements problem
being addressed.
A prototype is a demonstration of what's
actually feasible with existing technology,
and where the technical weak spots still
exist.
A prototype lets the developer meet earlier
schedules for the production version.
A prototype allows for early customer
interaction.
5
Prototyping Environments
6
Fourth and Fifth Generation
Software Languages
Often abbreviated 4GL, fourth-
generation languages are
programming languages which are
closer to human language than
previous languages.
Most of today’s 4GLs are database
languages. One example is FIND
ALL RECORDS WHERE NAME IS
"SMITH"
7
The generations of computer
languages
1st Generation
Machine Language
2nd Generation
Assembly Language
3rd Generation
C, C++, FORTRAN, Java, Pascal, Ada
4th Generation
SQL, RPG-II
5th Generation
Used for artificial intelligence and neural
networks – primarily researchers
8
Successful 4GL Languages
Database Query
SQL, Progress 4GL, Informix
Report Generators
BuildProfessional, PostScript
Data Manipulation and Reporting
Clarion, GraphTalk
Screen Painters, GUI Developers
FourGen, Visual Basic
9
Types of Prototyping
Type I – Iterative
Type II - Throwaway
10
Type I - Iterative
11
Type II - Throwaway
12
Advantages of prototyping
13
Disadvantages of prototyping
15
When not to prototype
16
Methodology
17
Incorporating Human Factors
Prototyping does nothing to ensure
use of good human factors practices.
The issue of “user friendly” or
usability has become a huge
determinant of system success.
A system that works perfectly may be
rejected if difficult to use
Note that this is not an issue that
applies just to prototypes.
18
Some good guidelines
Know your user
Use selection not entry
Make the system behave predictably
Make the system unobtrusive
Change displays as little as possible
Minimize keystrokes and mouse use
Use meaningful error messages
Allow for “undo”
19
Case Study- NJ DMV
Price Waterhouse contracted to build
New Jersey’s DMV primary
information system.
They chose a new (at the time)4GL
called Ideal from Applied Data
Research to develop the system
When delivered, the response time
was so slow that the backlog required
thousands of hours of overtime
20
What went wrong?
22
Case Study: Town and Country
Credit Line
Banking card system improvement
Hired consultants to help them
choose IEF (Information Engineering
Facility) from Texas Instruments
Used Iterative prototyping and
delivered a successful system
23
What went right?
24
Summary
26
Additional References
http://www.webopedia.com/TERM/F/f
ourth_generation_language.html
http://en.wikipedia.org/wiki/4GL
“Importance of Software
Prototyping” by Larry Bernstein -
Have Laptop - Will Travel,
http://www.dacs.dtic.mil/awareness
/newsletters/technews2-
1/prototyping.html
27