1 prototyping: alternative systems development methodology by j m carey presented by cynthia johnson...

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

Upload: jocelin-moore

Post on 28-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

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

1

Prototyping: alternative systems development methodology by J M Carey

Presented by Cynthia Johnson

February 7, 2007 EEL 6883

Page 2: 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

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

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

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

4

Why use prototyping?

Helps user clarify their needsLess ambiguous than traditional narrative function specificationImproves team communication. “A picture is worth a 1000 words”Less emphasis on time consuming documentationGenerally faster than traditional development

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

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.

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

6

Prototyping Environments

Two major types of prototyping environments mentioned.

Automated development environments

Prototyping toolkits – a collection of unintegrated tools.

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

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

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

8

The generations of computer languages

1st GenerationMachine Language

2nd GenerationAssembly Language

3rd GenerationC, C++, FORTRAN, Java, Pascal, Ada

4th GenerationSQL, RPG-II

5th GenerationUsed for artificial intelligence and neural networks – primarily researchers

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

9

Successful 4GL Languages

Database QuerySQL, Progress 4GL, Informix

Report GeneratorsBuildProfessional, PostScript

Data Manipulation and ReportingClarion, GraphTalk

Screen Painters, GUI DevelopersFourGen, Visual Basic

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

10

Types of Prototyping

Type I – Iterative

Type II - Throwaway

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

11

Type I - Iterative

Uses the Prototype as the final system after a series of iterative upgrades

Generally uses a 4GL tool for development

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

12

Type II - Throwaway

Prototype is developed in 4GL or toolkit

Final product based on prototype built in 3GL language.

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

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.

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

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.

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

15

When to prototype

A good prototyping candidate isDynamic

Transaction processing based

Contains extensive user dialogs

Is small

Is well defined

Is online

‘is’ the business

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

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

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

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

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

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 useNote that this is not an issue that applies just to prototypes.

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

19

Some good guidelines

Know your userUse selection not entryMake the system behave predictablyMake the system unobtrusiveChange displays as little as possibleMinimize keystrokes and mouse useUse meaningful error messagesAllow for “undo”

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

20

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 systemWhen delivered, the response time was so slow that the backlog required thousands of hours of overtime

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

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.

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

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.

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

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

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

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

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

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

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

26

My opinion

I’m 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.

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

27

Additional References

http://www.webopedia.com/TERM/F/fourth_generation_language.htmlhttp://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