Implementation support

Slides:



Advertisements
Similar presentations
implementation support
Advertisements

Map of Human Computer Interaction
Chapter 10: Designing Databases
A component- and message-based architectural style for GUI software
Data Modeling and Database Design Chapter 1: Database Systems: Architecture and Components.
Database Systems: Design, Implementation, and Management Tenth Edition
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Lecture 12 implementation support. Today’s Lecture programming tools  levels of services for programmers windowing systems  core support for separate.
6/11/20151 Multiple Windows Strategies CIS 577 Bruce R. Maxim UM-Dearborn.
Soft. Eng. I, Fall 2006Dr Driss Kettani, from I. Sommerville1 CSC-3324: Chapter 6 Software Design Section 10.3 (except )
Introduction to Software Architecture. What is Software Architecture?  It is the body of methods and techniques that help us to manage the complexities.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
Chapter 13 Embedded Systems
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.
Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Human Computer Interaction Implementation Support.
1 Input/Output. 2 Principles of I/O Hardware Some typical device, network, and data base rates.
The Design Discipline.
Architectural separation (MVC, arch model, Seeheim).
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
An Introduction to Software Architecture
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 3 Programmer Support Gary Marsden ( ) July 2002.
Implementation support z programming tools y levels of services for programmers z windowing systems y core support for separate and simultaneous user-system.
1 Implementation support chapter 8 programming tools –levels of services for programmers windowing systems –core support for separate and simultaneous.
Processes Introduction to Operating Systems: Module 3.
X-WindowsP.K.K.Thambi The X Window System Module 5.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Object-Oriented Systems. Goals Object-Oriented Methodologies – The Rumbaugh et al. OMT – The Booch methodology – Jacobson's methodologies.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Department of CSE, KLU 1 Chapter 8 Implementation support.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
Introduction to UML.
Support for the Development of Interactive Systems
Database Development (8 May 2017).
In the name of God Computer Graphics.
Chapter 2: Database System Concepts and Architecture - Outline
Current Generation Hypervisor Type 1 Type 2.
Rumbaugh’s Objectmodeling Technique
Chapter 3: Windows7 Part 1.
Scenarios, Niches, Architectures
Service-centric Software Engineering
Chapter 20 Object-Oriented Analysis and Design
implementation support
Starting Design: Logical Architecture and UML Package Diagrams
Software models - Software Architecture Design Patterns
Analysis models and design models
Software Connectors.
CSE310 Human-Computer Interaction
An Introduction to Software Architecture
Map of Human Computer Interaction
Visual Modeling Using Rational Rose
Implementation support
implementation support
Software Architecture Lecture 7
implementation support
Software Architecture Lecture 7
Chapter 5 Architectural Design.
Design Yaodong Bi.
Software Architecture Lecture 7
Map of Human Computer Interaction
Chapter 6: Architectural Design
Software Architecture Lecture 6
Presentation transcript:

Implementation support programming tools levels of services for programmers windowing systems core support for separate and simultaneous user-system activity programming the application and control of dialogue interaction toolkits bring programming closer to level of user perception user interface management systems controls relationship between presentation and functionality

Introduction How does HCI affect of the programmer?   Advances in coding have elevated programming hardware specific  interaction-technique specific. Layers of development tools • windowing systems • interaction toolkits • user interface management systems

Elements of windowing systems Device independence programming the abstract terminal device drivers image models for output and (partially) input • pixels • Graphical Kernel System (GKS) • Programmers' Hierarchical Interface to Graphics (PHIGS) • PostScript Resource sharing achieving simultaneity of user tasks window system supports independent processes isolation of individual applications

The roles of a windowing system

Architectures of windowing systems 3 possible software architectures all assume device driver is separate differ in how multiple application management is implemented 1. each application manages all processes everyone worries about synchronization reduces portability of applications 2. management role within kernel of operating system applications tied to operating system 3. management role as separate application maximum portability

The client-server architecture

The X Window System architecture

The X Window System architecture (cont’d) pixel imaging model with some pointing mechanism X protocol defines server-client communication separate window manager client enforces policies for input/output: • how to change input focus • tiled vs. overlapping windows • inter-client data transfer

Programming the application - 1 read-evaluation loop

Programming the application - 2 notification-based

Using toolkits Interaction objects input and output intrinsically linked

User Interface Management Systems UIMS add another level above toolkits toolkits too difficult for non-programmers non-UIMS alternatives: UI development system (UIDS) UI development environment (UIDE) UIMS as a conceptual architecture separation between application semantics and presentation improves: portability, reusability multiple interfaces, customizability identifies roles (e.g., Seeheim): presentation component dialogue control application interface model

Implementation of UIMS Techniques for dialogue controller • menu networks • state transition diagrams • grammar notations • event languages • declarative languages • constraints • graphical specification   The drift of dialogue control internal control (e.g., read-evaluation loop) external control (independent of application semantics or presentation) presentation control (e.g., graphical specification)

Summary Levels of programming support tools Windowing systems device independence multiple tasks Paradigms for programming the application read-evaluation loop notification-based Toolkits programming interaction objects UIMS conceptual architectures for separation techniques for expressing dialogue