Prototyping: alternative systems development methodology by J M Carey - PowerPoint PPT Presentation

About This Presentation
Title:

Prototyping: alternative systems development methodology by J M Carey

Description:

Prototyping Environments Fourth and Fifth Generation Software Languages The generations of computer languages Successful 4GL Languages Types of Prototyping ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 28
Provided by: CynthiaJ5
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Prototyping: alternative systems development methodology by J M Carey


1
Prototyping alternative systems development
methodology by J M Carey
  • Presented by Cynthia Johnson
  • February 7, 2007 EEL 6883

2
What is Prototyping?
  • Prototyping is the process of quickly building
    a model of the final software system, which is
    used primarily as a communication tool to assess
    and meet the information needs of the user? J
    M Carey

3
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

4
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

5
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.

6
Prototyping Environments
  • Two major types of prototyping environments
    mentioned.
  • Automated development environments
  • Prototyping toolkits a collection of
    unintegrated tools.

7
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 todays 4GLs are database languages. One
    example is FIND ALL RECORDS WHERE NAME IS "SMITH"

8
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

9
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

10
Types of Prototyping
  • Type I Iterative
  • Type II - Throwaway

11
Type I - Iterative
  • Uses the Prototype as the final system after a
    series of iterative upgrades
  • Generally uses a 4GL tool for development

12
Type II - Throwaway
  • Prototype is developed in 4GL or toolkit
  • Final product based on prototype built in 3GL
    language.

13
Advantages of prototyping
  • Faster development time
  • Easier for end-users to learn to use
  • More end-user involvement
  • Enhances user/analysts communication
  • Requirements are easier to determine.

14
Disadvantages of prototyping
  • Undue user expectations
  • Inconsistencies between prototype and final
    product
  • Final system inefficiencies
  • Lack of attention to good human factors practice.
  • Inattention to proper design and analysis.

15
When to prototype
  • A good prototyping candidate is
  • Dynamic
  • Transaction processing based
  • Contains extensive user dialogs
  • Is small
  • Is well defined
  • Is online
  • is the business

16
When not to prototype
  • A system with the following attributes is not a
    good candidate
  • Is stable
  • Is decision-support based
  • Is ill-defined
  • Makes little use of user dialogs
  • Is real-time
  • Has lots of number crunching

17
Methodology
  • Following good methodology is key to successful
    prototyping
  • Four phases of prototype development
  • Determine what to prototype
  • Build the prototype
  • Test the prototype
  • Use the prototype as a model

18
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.

19
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

20
Case Study- NJ DMV
  • Price Waterhouse contracted to build New Jerseys
    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

21
What went wrong?
  • Ideal was new and untested.
  • Little time was spent training staff in its use
  • The contract imposed bigger penalties for late
    system than a non performing one
  • They ignored consultants warnings that Ideal was
    not the right tool.

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.

23
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

24
What went right?
  • Tool was 5 years more advanced than Ideal
  • They did a more extensive study of available
    tools before choosing
  • Learned from others mistakes

25
Summary
  • Prototyping is made possible by the availability
    of 4GLs and soon 5GL
  • Not all systems are good candidates for
    prototyping
  • For those that are, prototyping can reduce
    development time and cost
  • Prototyping does not ensure good human factors

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.

27
Additional References
  • http//www.webopedia.com/TERM/F/fourth_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/tec
    hnews2-1/prototyping.html
Write a Comment
User Comments (0)
About PowerShow.com