Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces.

Slides:



Advertisements
Similar presentations
implementation support
Advertisements

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.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
Chapter 13 Embedded Systems
Data Management I DBMS Relational Systems. Overview u Introduction u DBMS –components –types u Relational Model –characteristics –implementation u Physical.
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Implementation support IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
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.
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Human Computer Interaction Implementation Support.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is Concurrent Programming? Maram Bani Younes.
Chapter 3.1: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.
The Design Discipline.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Architectural separation (MVC, arch model, Seeheim).
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CSC271 Database Systems Lecture # 4.
An Introduction to Software Architecture
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
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.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
A language to describe software texture in abstract design models and implementation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
Introduction to Microsoft Windows 2000 Integrated support for client/server and peer-to-peer networks Increased reliability, availability, and scalability.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Processes Introduction to Operating Systems: Module 3.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Design CIS 4800 Kannan Mohan Department of CIS Zicklin School of Business, Baruch College Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2008 Course.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 system architecture 1 after designing to meet functional requirements, design the system.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
In the name of God Computer Graphics.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
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.
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.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Introduction. System Design Hardware/Software Platform Selection Software Architectures Database Design Human-Computer Interaction (HCI) Interface Object.
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Support for the Development of Interactive Systems
Database Development (8 May 2017).
In the name of God Computer Graphics.
Rumbaugh’s Objectmodeling Technique
Chapter 20 Object-Oriented Analysis and Design
implementation support
CSE310 Human-Computer Interaction
An Introduction to Software Architecture
Visual Modeling Using Rational Rose
Implementation support
implementation support
implementation support
Design Yaodong Bi.
Implementation support
Presentation transcript:

Implementation support CSCI324, IACT403, IACT 931, MCS9324 Human Computer Interfaces

Overview Programming tools provide levels of services for programmers Programming tools provide levels of services for programmers Windowing systems as core support for separate and simultaneous user-system threads Windowing systems as core support for separate and simultaneous user-system threads Programming the application and control of dialogue Programming the application and control of dialogue Interaction toolkits bring programming closer to level of user perception Interaction toolkits bring programming closer to level of user perception User interface management systems help to control relationship between presentation and functionality of objects User interface management systems help to control relationship between presentation and functionality of objects

Introduction Up to now, our concern has been slanted away from concerns of the actual programmer. Up to now, our concern has been slanted away from concerns of the actual programmer. Advances in coding have elevated programming from hardware-specific to interaction technique-specific. Advances in coding have elevated programming from hardware-specific to interaction technique-specific. Layers of development tools Layers of development tools windowing systems windowing systems interaction toolkits interaction toolkits user interface management systems user interface management systems

Elements of windowing systems Device independence Device independence programming the abstract terminal programming the abstract terminal device drivers device drivers image models for output and (partially) input image models for output and (partially) input pixels pixels Graphical Kernel System (GKS) Graphical Kernel System (GKS) Programmers' Hierarchical Interface to Graphics (PHIGS) Programmers' Hierarchical Interface to Graphics (PHIGS) PostScript PostScript

Elements of windowing systems Resource sharing Resource sharing achieving simultaneity of user tasks achieving simultaneity of user tasks window system supports independent processes window system supports independent processes isolation of individual applications isolation of individual applications

The roles of a windowing system

Architectures of windowing systems 3 possible software architectures 3 possible software architectures all assume device driver is separate differ in how multiple application management is implemented 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 client-server architecture

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

Programming the application 2 programming paradigms 2 programming paradigms 1. read-evaluation loop 1. read-evaluation loop repeat repeat read-event(myevent) read-event(myevent) case myevent.type case myevent.type type_1: type_1: do type_1 processing do type_1 processing type_2: type_2: do type_2 processing do type_2 processing type_n: type_n: do type_n processing do type_n processing end case end case end repeat end repeat

Programming the application 2. notification-based 2. notification-based

Using toolkits Interaction objects Interaction objects input and output intrinsically linked input and output intrinsically linked toolkits provide this level of abstraction toolkits provide this level of abstraction programming with interaction objects (or techniques, widgets, gadgets) programming with interaction objects (or techniques, widgets, gadgets) promote consistency and generalisability through similar look and feel promote consistency and generalisability through similar look and feel amenable to object-oriented programming amenable to object-oriented programming

User Interface Management Systems UIMS add another level above toolkits UIMS add another level above toolkits toolkits too difficult for non-programmers toolkits too difficult for non-programmers alternatively: alternatively: UI development system (UIDS) UI development system (UIDS) UI development environment (UIDE) UI development environment (UIDE)

User Interface Management Systems As a conceptual architecture As a conceptual architecture provides separation between application provides separation between application semantics and presentation, improving: semantics and presentation, improving: portability portability reusability reusability multiple interfaces multiple interfaces customisability customisability identifies roles (e.g., Seeheim) identifies roles (e.g., Seeheim) presentation component presentation component dialogue control dialogue control application interface model application interface model

Implementation of UIMS Techniques for dialogue controller Techniques for dialogue controller menu networks menu networks grammar notations grammar notations state transition diagrams state transition diagrams event languages event languages declarative languages declarative languages constraints constraints graphical specification graphical specification

Implementation of UIMS The drift of dialogue control The drift of dialogue control internal control (e.g., read-evaluation loop) internal control (e.g., read-evaluation loop) external control (independent of application semantics or presentation) external control (independent of application semantics or presentation) presentation control (e.g., graphical specification) presentation control (e.g., graphical specification)

Summary Levels of programming support tools Levels of programming support tools Windowing systems Windowing systems device independence device independence multiple tasks multiple tasks

Summary Paradigms for programming the application Paradigms for programming the application read-evaluation loop read-evaluation loop notification-based notification-based Toolkits Toolkits programming interaction objects programming interaction objects UIMS UIMS conceptual architectures for separation conceptual architectures for separation techniques for expressing dialogue techniques for expressing dialogue