PROTOTYPING When “systems development” was essentially “programming” then it could be...
-
Upload
anissa-hancock -
Category
Documents
-
view
213 -
download
1
Transcript of PROTOTYPING When “systems development” was essentially “programming” then it could be...
![Page 1: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/1.jpg)
PROTOTYPING
When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes
• forward planning was not great• revisions of programmers’ designs were infrequent• usability wasn’t much considered• systems were generally simple – they automated only a few processes rather than tackling complex issues
![Page 2: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/2.jpg)
automation of Type I tasks - high volume, low complexity, routine operations within a business - eventually led to attempts to use computers in Type II tasks - complex, decision-making which required evaluation of a variety of data inputs and strategic outcomes.
the process of system development had also become computer-assisted as well
this led to the increased use of alternative approaches to the established structured, phased approached to systems development
PROTOTYPING
![Page 3: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/3.jpg)
Possible incorporation of Prototyping in the Conventional Approach to Systems Development
FEASIBILITY STUDY
REQUIREMENTS ANALYSIS
SYSTEMS ANALYSIS
SYSTEMS SPECIFICATION
IMPLEMENTATION
MAINTENANCE
REVIEW
economicsocialoperationaltechnical
interviewingobservationsquestionnairesrecord sampling
working methodsuser requirementscurrent system problems
prototype design
prototype development
prototype testing
prototype amendment
inputsoutputsprocessesfilessecurity
system meets requirements?new requirements?continue to function?
writing progstestingtraininginstallationchangeover
![Page 4: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/4.jpg)
increased emphasis on involving the user in the process of systems design and possibly the whole development process can be assisted by the use of PROTOTYPES: ...especially in the area of safety-
critical applications - like flying an airliner or monitoring a nuclear reactor...
where prototyping may be combined with formal notations to guarantee the correctness and reliability of software
PROTOTYPING
![Page 5: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/5.jpg)
Prototyping is a technique for building a quick and rough version of a desired system or parts of that system
Rapid Application Development by James Martin
PROTOTYPE
An original or model, after which anything is formed
The first thing, or being, of its kind
A pattern, exemplar, or archetypeWebsters 20th Century Dictionary
An approximation of a type that exhibits the essential features of the final version of that type
Avison & Fitzgerald p 76
PROTOTYPING
![Page 6: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/6.jpg)
Get an idea of what the system will offer
Provide feedback on whether the system is what is required
The main objectives of using prototypes is:
PROTOTYPING
![Page 7: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/7.jpg)
Prototyping helps to identify misunderstandings between users & software
developersthis may help detection of missing (not yet specified) user requirements
where the functions and detailed design of a system are not yet fully understood
and can be used to explore and solidify the functions and design
James Martin suggests a prototype is most useful when:
For this purpose, it is far more effective that reviewing paper specifications
“a prototype is worth ten thousand words”
PROTOTYPING
![Page 8: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/8.jpg)
• real• manipulatable• can be adjusted • can be modified
For this purpose, it is far more effective that reviewing paper specifications
It is also fundamentally different from a paper description:It is also fundamentally different from a paper description:
a prototype is:a prototype is:
PROTOTYPING
![Page 9: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/9.jpg)
users get a feel for what their system will be like. Its flaws are visible and tangible rather than buried in boring text
that the prototype must be part of the evolving system
In the RAD lifecycle the expressed intention is:
i.e. NOT disposed of, but worked on throughout
PROTOTYPING
![Page 10: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/10.jpg)
prototyping ought to be used in the development of all interactive systems
Martin suggests, that in particular:
when a prototype is reviewed seriously by end users, they almost always change something
It is worth noting that:
Prototyping does much to solve the problem of inadequate communication between the designers and users
PROTOTYPING
![Page 11: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/11.jpg)
“prototype” suggests an analogy with engineering, where prototyping is used extensively
There are, however, fundamental differences between the prototyping of software and the prototyping of machines
In engineering, a machine prototype usually takes longer to build and is more expensive than the ultimate product
a mass-production linemay be used
the prototype is needed for pre-testing the product
IN SOFTWARE THERE IS NO MANUFACTURING PRODUCTION LINE
PROTOTYPING
![Page 12: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/12.jpg)
Prototyping is practical only if the prototype can be built
quickly and cheaply
Therefore, a software prototype
is usually an incomplete or simplified version that has the essential functions of the working system but not the scale
or performance
James Martin asserts that:there are many pitfalls in prototyping
to avoid these, it is essential to incorporate prototyping in the development lifecycle where the procedural structures will aid avoidance of those pitfalls
PROTOTYPING
![Page 13: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/13.jpg)
JAD sessionsJAD sessions can make very good use of prototypes. The discussions become more tangible between developers and users when their interaction is bridged by use of a prototype
It can also be used in the Requirements Planning Phase
partial prototypes can help in checking the desirability of a system before committing funds
PROTOTYPINGJAD = JAD = Joint Application DesignJoint Application Design
![Page 14: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/14.jpg)
There is scope for user creativity to improve the system
Users are unsure of exactly what they want
The system changes a basic business operation
An end-user dialogue should be tried out with the users to see if it can be improved
The users do not understand all the impacts of the new system
The functions are subtle, and the users understand them better than the analysts
Prototyping is particularly valuable in the following situations:
PROTOTYPING
![Page 15: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/15.jpg)
Screens and reports should be checked with management to see if they can be made more useful or easy to use
The users have difficulty expressing all the system requirements
The prototype may act as a catalyst to elicit alternative ideas
The relative merits of alternative solutions need to be explored
Experimentation may be done to achieve better business practice
Prototyping is particularly valuable in the following situations (continued):
PROTOTYPING
![Page 16: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/16.jpg)
Prototyping should never be an excuse for casual work in which structured design is abandoned
always first build something simple
This starts a debate early in the evolution that may flush out misconceptions
The initial prototype is successively enhanced
With complex systems it is desirable to build the functionality first
then polish the human factoring
PROTOTYPING
![Page 17: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/17.jpg)
When the prototype is regarded as complete, there may still be much work to do in building the operational system
A list of missing features should be made:
Features for recovery from failures Features for fallbackSecurity features
Features of auditability
Features for ease of maintenanceMachine efficiency
Facilities for having multiple usersFacilities for high-volume usage with adequate response times
PROTOTYPING
![Page 18: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/18.jpg)
Larger database facilitiesNetworking facilities
A list of missing features should be made (continued):
Operation on a different machineDocumentation
A danger of prototyping is that the users, motivated to be excited about the prototype, acquire unfulfillable expectations
The advantage is that the prototype can be used to train users so they will be ready when the real system arrives
PROTOTYPING
![Page 19: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/19.jpg)
Users understand and react to prototypes far better than to paper specifications. Often, they fail to understand or miss important points in paper specs
Often it is quicker to build a prototype than to build paper specifications
Prototyping introduces early reality testing into a project. The users can see what is being built for them and critique it
Without, there is a substantial risk of building an inadequate system, wrong features or, at worst, a system the users will reject
It encourages users to contribute creative input into design process
When using or reviewing a prototype, users tend to be unbiased by existing systems
Benefits of Prototyping:
PROTOTYPING
![Page 20: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/20.jpg)
Prototyping enables errors and weaknesses to be caught before expensive design and programming are done
Prototypes, or partial prototypes, are of great help in JAD sessions
Prototypes can generate excitement and improve morale of the users and developers
Prototypes are valuable for communicating what is required to programmers
Prototypes provide users with early experience with the system and may be used as training tools
Prototyping can yield fast development by having the prototype evolve into the final system
Benefits Prototyping:
PROTOTYPING
![Page 21: PROTOTYPING When “systems development” was essentially “programming” then it could be considered that all systems were developed as prototypes forward.](https://reader034.fdocuments.in/reader034/viewer/2022050714/56649f055503460f94c198c2/html5/thumbnails/21.jpg)
Quick, casual design may replace well-structured design
The prototype encourages the users to change their minds about requirements. They may continually invent requirements so that the prototype constantly changes and does not converge quickly to an implementable form
The users’ expectations may become too high. They may think they can have the system immediately
There is a temptation to make the prototype the production system, without adequate consideration of security, auditability, fallback, recovery, maintainability, performance, networking or documentation
The user may take the prototype too literally; in fact, the implemented system will be different
The user may be too casual about the prototype and not take the time to identify its flaws
Dangers of Prototyping:
PROTOTYPING