prototyping_j m carey

Upload: mona-sed

Post on 09-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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