We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAlec Summerfield
Modified about 1 year ago
1 Lecture 9: Software Organizations: Lexical-Syntax-Semantics, Seeheim Model, MVC Brad Myers Advanced User Interface Software © Brad Myers
2 Software Organizations Ways to organize code, rather than tools. "Models" Helps think about modularization and organization. Goal: separation of UI and rest of software = “semantics” © Brad Myers
3 Conceptual-Semantic-Syntactic-Lexical- Pragmatic Derived from compiler theory and language work. Mostly relevant to older, non-DM interfaces Pragmatic (as subdivided by Buxton) How the physical input devices work required "gestures" to make the input. Ergonomics skilled performance: "muscle memory" press down and hold, vs. click-click © Brad Myers
4 Conceptual-Semantic-Syntactic-Lexical- Pragmatic, cont. Lexical (as subdivided by Buxton) spelling and composition of tokens “add” vs. “append” vs. “^a” vs. Where items are placed on the display “Key-stroke” level analysis For input, is the design of the interaction techniques: how mouse and keyboard combined into menu, button, string, pick, etc. © Brad Myers
5 Conceptual-Semantic-Syntactic-Lexical- Pragmatic, cont. Syntactic sequence of inputs and outputs. For input, the sequence may be represented as a grammar: rules for combining tokens into a legal sentence For output, includes spatial and temporal factors Example: prefix vs. postfix © Brad Myers
6 Conceptual-Semantic-Syntactic-Lexical- Pragmatic, cont. Semantic functionality of the system; what can be expressed What information is needed for each operation on object What errors can occur Semantic vs. UI is key issue in UI tools but "semantic" is different than meaning in compilers "Semantic Feedback“ Depends on meaning of items Example: only appropriate items highlight during drag © Brad Myers
7 Conceptual-Semantic-Syntactic-Lexical- Pragmatic, cont. Conceptual (definition from Foley & Van Dam text, 1st edition) key application concepts that must be understood by user User model 1.Objects and classes of objects 2.Relationships among them 3.Operations on them Example: text editor objects = characters, files, paragraphs relationships = files contain paragraphs contain chars operations = insert, delete, etc. © Brad Myers
8 Seeheim Model Resulted from the 1st UI software tools workshop which took place in Seeheim, Germany. Nov 1-3, Logical model of a UIMS UIMS = User Interface Management System (old name for user interface software) All UI software must support these components, but are they separated? How interface? © Brad Myers
Seeheim Model Presentation Component External presentation of the user interface Generates the images Receives physical input events Lexical parsing Dialog Control Parsing of tokens into syntax Must maintain state to deal with parsing; modes. Application Interface Model defines interface between UIMS and the rest of the software "Semantic feedback" for checking validity of inputs Not explicit in UIMSs; fuzzy concept. Roughly like today's call-backs. © Brad Myers9
Card, Mackinlay, Robertson model Input device is a six-tuple: (M, In, S, R, Out, W) M is a manipulation operator (slide, rotary, force, distance) In is the input domain, S is the current state of the device, R is a resolution function that maps from the input domain set to the output domain set, Out is the output domain set, and W is a general purpose set of device properties that describe additional aspects of how a device works (perhaps using production systems). Composition operators – how inputs connected (x and y of mouse, buttons, output of one to input of another) © Brad Myers 10
Card, Mackinlay, Robertson Model, cont. © Brad Myers11
12 Model-View-Controller Invented in Smalltalk, about 1980 Idea: separate out presentation (View), user input handling (Controller) and "semantics" (Model) which does the work Fairly straightforward in principal, hard to carry through Never adequately explained (one article, hard to find) Goals program a new model, and then re-use existing views and controllers multiple, different kinds of views on same model © Brad Myers
13 MVC © Brad Myers
14 MVC Views closely associated with controllers. Each VC has one M; one M can have many VCs. VCs know about their model explicitly, but M doesn't know about views Changes in models broadcast to all "dependents" of a model using a standard protocol. © Brad Myers
15 MVC Model Simple as an integer for a counter; string for an editor Complex as a molecular simulator Views Everything graphical Layout, subviews, composites Controller Schedule interactions with other VCs A menu is a controller © Brad Myers
16 MVC Standard interaction cycle: User operates input device, controller notifies model to change, model broadcasts change notification to its dependent views, views update the screen. Views can query the model Problems: Views and controllers tightly coupled What is in each part? Complexities with views with parts, controllers with sub- controllers, models with sub-models... © Brad Myers
17 Model-View Since hard to separate view and controller Used by Andrew, InterViews Primary goal: support multiple views of same data. Simply switch views and see data differently Put into Model "part that needs to be saved to a file" but really need to save parts of the view © Brad Myers
18 Later Models of Software Organization “Arch” model Bass, R. Faneuf, R. Little, N. Mayer, B. Pellegrino, S. Reed, R. Seacord, S. Sheppard, and M. Szczur, “A metamodel for the runtime architecture of an interactive system: the UIMS tool developers workshop”, ACM SIGCHI Bulletin. 24 (1), 32– 37. Jan, Adds abstract interface for the functional core Logical interaction layer: widget libraries and user interface toolkits such as Motif or MFC. © Brad Myers
19 Later Models of Software Organization PAC-Amodeus Nigay, L. and Coutaz, J., Building User Interfaces: Organizing Software Agents. In: ESPRIT'91, Project Nr. 3066: AMODEUS (Assimilating Models of DEsigners, Users and Systems), pp. 707–719. or Tries to integrate MVC with Arch Peter Tandler’s Beach model For UbiComp – covered later © Brad Myers
20 Document Model Provided first by Smalltalk, MacApp Also MacOS, Windows, etc. Provide generic (empty) top-level classes that you subclass to implement the specific kind of application UI Frameworks Note: different from Web document object model (DOM) © Brad Myers
21 Other Models Producer – Consumer Like Unix pipes Client – Server X server Peer to peer Networking or OS multi-layer models Service Oriented Architecture (All of the “Design Patterns” in the “gang of four” book) “Domain-Driven Design” book Model-driven design (different use of “model”) Fitt’s law – model for evaluation © Brad Myers
1 Lecture 9: Software Organization: Lexical-Syntax- Semantics, Seeheim Model, MVC, Object-Oriented Programming for UIs Brad Myers Advanced User.
Chapter 8 implementation support. Implementation support programming tools –levels of services for programmers windowing systems –core support for separate.
1 Lecture 11: Formal Models and Design Spaces for Interaction Techniques Brad Myers A/05-499A: Interaction Techniques Spring, 2014 © Brad.
DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2 1.
Chapter 16 Graphical User Interfaces Bjarne Stroustrup
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
View-Based Application Development Lecture 1 1. Flows of Lecture 1 Before Lab Introduction to the Game to be developed in this workshop Comparison between.
Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
Executional Architecture Lecture Conceptual vs execution Conceptual Architecture Execution Architecture Component Connector Domain-level responsibilities.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Human Computer Interaction Implementation Support.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Editors And Debugging Systems Other System Software Text Editors Interactive Debugging Systems UNIT 5 S.Sharmili Priyadarsini.
Putting together a complete system Chapter 10. Overview Design a modest but complete system A collection of objects work together to solve a problem.
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
WINDOWS XP BACKNEXTEND 1-1 Microsoft®. WINDOWS XP BACKNEXTEND 1-2 Operating System Operating systems software –The operating system is a special type.
© 2005 by Prentice Hall 1 Chapter 1: The Database Environment Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
Implementation support z programming tools y levels of services for programmers z windowing systems y core support for separate and simultaneous user-system.
ANU comp2110 Software Design lecture 10 COMP2110 Software Design in 2004 lecture 10 Software Architecture 2 of 2 design lecture 5 of 6 Goal of this small.
1 Lesson 11 Presentation Graphics Computer Concepts BASICS 4 th Edition Wells.
ARCHITECTURAL SEPARATION (MVC, ARCH MODEL, SEEHEIM). Bakaev Ilkhom PROfessional network of Master’s degrees in Informatics as a Second Competence – PROMIS.
1 Chapter 10 Software Testing This chapter is extracted from Sommerville’s slides. Text book chapter 23 1.
COMPUTER INTERFACES 1. The term interface means the link between the computer and the user; it refers to the means by which the user interacts with the.
University of Toronto Department of Computer Science © Easterbrook Lecture 23: Software Architectures Ü Architectural Styles Pipe and filter
Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
Copyright © 2003 Pearson Education, Inc. Slide 8-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
Pasewark & Pasewark Microsoft Office Word: Basics 1 INTRODUCTION Lesson 1 – Microsoft Word Word Basics.
Chapter 12 cognitive models. Cognitive models goal and task hierarchies linguistic physical and device architectural.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 11Slide 1 Chapter 11 Distributed Systems Architectures.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Course Instructor: Aisha Azeem Architectural Design.
From Model-based to Model-driven Design of User Interfaces.
Chapter 19 Design Model for WebApps Design Issues for Web Engineering Design and WebApps Quality –Security Rebuff external attacks Exclude unauthorized.
Chapter 13 Review Questions Give a definition of architecture in an information systems context.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Microsoft Visual Basic 2012: Reloaded Fifth Edition Chapter One An Introduction to Visual Basic 2012.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Application Architectures IS301.
© 2017 SlidePlayer.com Inc. All rights reserved.