1 / 19

UML & Prototyping

UML & Prototyping. What is a prototype?. A prototype is a small-scale model. 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 lump of wood (e.g. PalmPilot)

lanza
Download Presentation

UML & Prototyping

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML & Prototyping

  2. What is a prototype? • A prototype is a small-scalemodel. 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 lump of wood (e.g. PalmPilot) • a cardboard mock-up • a piece of software with limited functionality

  3. Why prototype? • Facilitates evaluation and feedback • Stakeholders can see, hold, interact with a prototype more easily than with a document • Team members can communicate more effectively • You can test out ideas for yourself • Encourages reflection • Prototypes answer questions, and support designers in choosing between alternatives

  4. What to prototype? • Work flow, task design • Screen layouts and information display • Difficult, controversial, critical areas • Prototypes Vs. Design

  5. Compromises in prototyping • All prototypes involve compromises • For software-based prototyping maybe there is a slow response? Low-fidelity icons? limited functionality? • Two common types of compromise • ‘horizontal’: provide a wide range of functions, but with little detail • ‘vertical’: provide a lot of detail for only a few functions

  6. Low-fidelity Prototyping • Uses a medium which is unlike the final medium, e.g. paper, cardboard • Intentionally rough and unfinished • Is quick, cheap and easily changed (?) • Encourages “high-level” criticism; problems with conceptual models and fundamental usability/functionality issues

  7. Low-fidelity prototype

  8. High-fidelity prototyping • Prototype looks and behaves like (subset of) the final system • Commonly used tools: Macromedia Director, Visual Basic, and Smalltalk. • Users may think they have a full system (problem!) • Get at details of design (layout, icons, colors etc)

  9. Low Fidelity to High Fidelity

  10. Prototype and Evaluation Early design Rough out on paper Low-fidelity (paper-based) Cognitive walkthrough Formative evaluation Action analysis Medium-fidelity Heuristic evaluation Functional prototype High-fidelity (computer-based) Empirical studies Late design

  11. What is UML? • UML is a collection of OO design and specification techniques with a standardized notation • Modeling is key, modeling helps structure and analyze requirements • Functional model • Models system functionality (example: use case diagrams) • Object Model • Models structure of system (example: class diagrams) • Dynamic Model • Models internal behavior/interaction of system components (example: Sequence diagrams, state machine diagrams)

  12. The purpose of UML diagrams • Models, and diagrams aimed at helping us think through problems, and document design decisions • UML offers a standardized set of diagrams, and a standardized set of notations, making communication more efficient • UML has a set of tools associated with it which help you: • Diagram (Visio, Dia) • Model transformation (ATL) • Code generation (BOUML, Codegen) • Reverse engineering (AgileJ, CodeLogic, Describe)

  13. UML Diagrams In UML 2 there are 13types of diagrams: • Structure diagrams • Class diagram • Component diagram • Composite structure diagram • Deployment diagram • Object diagram • Package diagram • Behavior diagrams • Activity diagram • State machine diagram • Use case diagram • Interaction diagrams • Communication diagram • Interaction overview diagram • Sequence diagram • UML timing diagram http://www.agilemodeling.com/essays/umlDiagrams.htm

  14. Use Case Diagrams Used to organize use-cases • Use cases. A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse. • Actors. An actor is a person, organization, or external system that plays a role in one or more interactions with your system. Actors are drawn as stick figures. • Associations.  Associations between actors and use cases are indicated in use case diagrams by solid lines. An association exists whenever an actor is involved with an interaction described by a use case.  www.agilemodeling.com

  15. Storyboards • Often used with scenarios, bringing more detail, and a chance to role play • It is a series of sketches showing how a user might progress through a task using the device

  16. Activity diagram Flow charts modeling logic of a single use case www.agilemodeling.com

  17. Class diagrams • A true classic – models domain & design • Shows classes, their relations, operations, and dependencies www.agilemodeling.com

  18. Sequence diagrams • Aimed at modeling logic, or flow in your system; who interacts with what, and when • Different levels • Actors • Components • Objects • Time ↓ • Actors → www.agilemodeling.com

  19. State Machine diagrams • Models possible states of objects as well as the flow/interaction of the system

More Related