+ All Categories
Home > Documents > Prototyping.ppt

Prototyping.ppt

Date post: 28-Sep-2015
Category:
Upload: pallati-sujendra
View: 213 times
Download: 1 times
Share this document with a friend
Popular Tags:
37
Prototyping JTB October 2004 1 Prototyping is a technique for building a quick and rough version of a desired system or parts of a system In interaction design it can be (among other things): a series of screen sketches a storyboard, i.e. a cartoon-like series of scenes a PowerPoint slide show a video simulating the use of a system a cardboard mock-up a piece of software with limited functionality written in the target language or in another language
Transcript
  • Prototyping JTB October 2004*

    Prototyping is a technique for building a quick and rough version of a desired system or parts of a system

    In interaction design it can be (among other things):a series of screen sketches a storyboard, i.e. a cartoon-like series of scenes a PowerPoint slide show a video simulating the use of a system a cardboard mock-up a piece of software with limited functionality written in the target language or in another language

    Prototyping JTB October 2004

  • Allows users to try out the system and detect problems or flawsPrototypes are very useful when the information requirements are not fully understoodPrototype can be used to explore and solidify the functions and design

  • Prototyping is the rapid development of a systemIn the past, the developed system was normally thought of as inferior in some way to the required system so further development was requiredNow, the boundary between prototyping and normal system development is blurred and many systems are developed using an evolutionary approach.*

  • The principal use is to help customers and developers understand the requirements for the systemRequirements elicitation. Users can experiment with a prototype to see how the system supports their workRequirements validation. The prototype can reveal errors and omissions in the requirementsPrototyping can be considered as a risk reduction activity which reduces requirements risks*

  • Prototyping JTB October 2004*Menu BarScroll BarSecondary MenuOpening Contents

    Prototyping JTB October 2004

  • Prototyping JTB October 2004*

    Prototyping JTB October 2004

  • Prototyping JTB October 2004*Pulldown menu

    Prototyping JTB October 2004

  • *

  • Improved system usabilityCloser match to the system neededImproved design qualityImproved maintainabilityReduced overall development effort*

  • *

  • Evolutionary prototypingAn approach to system development where an initial prototype is produced and refined through a number of stages to the final system

    The objective of evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood.

    *

  • Must be used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systemsBased on techniques which allow rapid system iterationsVerification is impossible as there is no specification. Validation means demonstrating the adequacy of the system.*

  • *

  • Accelerated delivery of the systemRapid delivery and deployment are sometimes more important than functionality or long-term software maintainabilityUser engagement with the systemNot only is the system more likely to meet user requirements, they are more likely to commit to the use of the system*

  • Specification, design and implementation are inter-twinedThe system is developed as a series of increments that are delivered to the customerTechniques for rapid system development are used, such as CASE tools and 4GLsUser interfaces are usually developed using a GUI development toolkit*

  • Management problemsExisting management processes assume a waterfall model of developmentSpecialist skills are required which may not be available in all development teamsMaintenance problemsContinual change tends to corrupt system structure so long-term maintenance is expensiveContractual problems*

  • Throw-away prototypingA prototype which is usually a practical implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process

    The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood.*

  • Used to reduce requirements riskThe prototype is developed from an initial specification, delivered for experiment then discardedThe throw-away prototype should not be considered as a final systemSome system characteristics may have been left outThere is no specification for long-term maintenanceThe system will be poorly structured and difficult to maintain*

  • *

  • *Aims to collect information on requirements and the adequacy of possible designsRecognises that requirements are likely to be inaccurate when first specifiedThe emphasis is on evaluating the design before discarding it

  • *Final product is built as separate components one at a timeThere is one overall design for the systemIt is partitioned into independent and smaller componentsFinal product is released as a series of products Eg : General student details data module the students assessment profile module

  • Smalltalk, Java, Delphi (Boland)Object-oriented, interactiveLISP, SchemeList-based, interactivePerl, Python, Tcl/tkString processing, scripting language, graphical toolkitsVisual BasicHTML+Javascript, HTML+JavaWeb browser as graphical display

    *

  • Domain specific languages for business systems based around a database management systemNormally include a database query language, a screen generator, a report generator and a spreadsheet. May be integrated with a CASE toolsetThe language + environment is sometimes known as a fourth-generation language (4GL)Cost-effective for small- to medium-sized business systems*

  • *

  • Application level developmentEntire application systems are integrated with the prototype so that their functionality can be sharedFor example, if text preparation is required, a standard word processor can be usedE.g., Microsofts OLE (Object Linking and Embedding)Component level developmentIndividual components are integrated within a standard framework to implement the systemFramework can be a scripting language or an integration framework such as CORBA (Common Object Request Broker Architecture)*

  • Users understand and react to prototypes far better than with paper specificationsUsually quicker to build prototype than paper specs.Reality testing is introduced into project at early stage.Prototyping can help avoid systems with inadequate or wrong features.It encourages creative input from usersIt enables errors and weaknesses to be caught before expensive design and programming are done.

  • Quick, rough design may replace well-thoughout designPrototype may encourage users to change minds about requirements--prototype may never converge!Users expectations may be too highUsers may not want to go from prototype to production system--may want to keep prototypeUser may not work hard enough to identify flaws in prototype

  • A prototype can be used to give end-users a concrete impression of the systems capabilitiesPrototyping is becoming increasingly used for system development where rapid development is essentialThrow-away prototyping is used to understand the system requirementsIn evolutionary prototyping, the system is developed by evolving an initial version to the final version*

  • Rapid development of prototypes is essential. This may require leaving out functionality or relaxing non-functional constraintsPrototyping techniques include the use of very high-level languages, database programming and prototype construction from reusable componentsPrototyping is essential for parts of the system such as the user interface which cannot be effectively pre-specified. Users must be involved in prototype evaluation*

  • Outsourcing - the strategic use of outside resources to perform activities traditionally handled by internal staff and resources Dave Griffiths

    Why Outsource?Provide services that are scalable, secure, and efficient, while improving overall service and reducing costs

  • Major outsourcing in the manufacturing industryAssociated loss of blue-collar jobs in many industrial sectors

    Work outsourcing primarily to East Asian countries of Taiwan, China, South Korea, and Malaysia

    Reasons:Low costs of manufacturing Availability of skilled laborPromotion of business friendly environment Existence of production and supply networks in those countries

  • Outsourcing of White Collar JobsSoftware sector was first to goOther non-manufacturing sectors telecommunications, retail trade, finance, banking and insurance

    What caused this major burst of outsourcing in the late 1990s?Creation and quick distribution of the internetTransnational networks set up by immigrants in the U.S. Liberalization of emerging market economies

  • Traditional role - reaction to problemReduction and control of costsAvoid large capital investment costs Insufficient resources available Modern role business strategyAllows company to focus on their core competenciesKeeping up with cutting-edge technologyCreating value for the organization and its customers Building partnerships

  • system integration data network mainframe data center voice network, internet/intranet maintenance/repair applications development e-commerce end-user support system

    Software Engineering 6/e, Chapter 8

  • Program initiation Opinions and ideas shared to form draft contract

    Program implementationTransferring staff Service Level Agreement (SLA) Establish communications between partners Actual transfer of the service Establish management procedures

    Contract agreement

    Contract fulfillment

    Software Engineering 6/e, Chapter 8

  • Loss of ControlIncreased cash outflowConfidentiality and security Selection of supplier Too dependent on service provider Loss of staff or moral problemsTime consuming Provider may not understand business environmentProvider slow to react to changes in strategy

    Software Engineering 6/e, Chapter 8

    **I put in the ruler only to show the scale, of course.*This is a paper prototype, but the students used the computer to create a few elements of it. What looks like glare in the title graphic is actually their choice of a kind of gradient effect.