tcs2411 software engineering1 user-interface design & real-time systems design “can the user...

34
TCS2411 Software Engineering 1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time system may be worse than no system at all”

Post on 19-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 1

User-Interface Design & Real-time Systems Design

“Can the user easily do what he wants to do?”

“An unresponsive real-time system may be worse than no system at all”

Page 2: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 2

Lecture Objectives

To understand the important aspects of user interface design

To discuss the guidelines for producing better user interface

To understand the major issues in designing real-time systems

To illustrate the design considerations for real-time systems

Page 3: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 3

User Interface

The interface is the system for most usersCommunication between the user and the

systemWhen interface is not easy, user may

reject systemImportant to have more user-friendly

interface to improve usabilityUser training may help improve user’s

understanding and use of system

Page 4: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 4

Types of Interface

Natural Language Interface

Page 5: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 5

Types of Interface

Question and Answer Interface

Page 6: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 6

Types of Interface

Page 7: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 7

Types of Interface

Menus Input/ Output FormsCommand-Language Interface

User interface has two main components * Presentation language* Action language

Page 8: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 8

Human Factors

It is important to understand the human factors

Better understanding of skills, behaviour and limitations can produce better and friendlier interface

The factors: Human Perception Human Skills Type of Task

Page 9: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 9

Human Perception

Visual - size, shape, color, orientation, movement, etc

When we look at an item, we are receiving info from all parts

The brain can efficiently process 7 chunks (items) at a time

So when designing a screen, these factors should be considered

Page 10: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 10

Human Skills

Understand the target user and the skill level of the user

Education level, e.g. clerk, manager, engineer or programmer

Computer skills - novice, average, expertFor unskilled users, user interface have

to be more robust and more help should be available

Page 11: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 11

Types of TasksCommunication tasks - information

transferred from producer to consumerDialogue tasks - user direct and control

interaction with the systemCognitive tasks - performed once

information is obtained; associated with system function

Control tasks - allow user to control info and cognition and order the process through which other generic tasks occur

Page 12: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 12

General Interaction Guidelines

Be consistentOffer meaningful feedbackAsk for verification of any non-trivial

destructive actionPermit easy reversal of most actionsReduce the amount of information to

memorise between actionsSeek efficiency in dialog, motion and

thought

Page 13: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 13

General Interaction Guidelines (Continued)

Forgive mistakesCategorize activities by function and

organise screen geography accordingly

Provide help facilities that are context sensitive

Use simple action verbs or short verb phrases to name commands

Page 14: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 14

Information Display Guidelines

Display only information that is relevant to the current context

Don’t bury the user with data, use a presentation format that enables rapid assimilation of information

Use consistent labels, standard abbreviations, and predictable colours

Allow user to maintain visual contextProduce meaningful error messages

Page 15: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 15

Information Display Guidelines (Continued)

Use upper and lower case, indentation, and text grouping to aid in understanding

Use windows to compartmentalize different types of information

Use ‘analog’ displays to represent information that is more easily assimilated with this form of representation

Consider available geography of the display screen and use it efficiently

Page 16: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 16

Data Input Guidelines

Minimize the number of input actions required of the user

Maintain consistency between information display and data input

Allow user to customize inputInteraction should be flexible but

also tuned to the user’s preferred mode of input

Page 17: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 17

Data Input Guidelines (Continued)

Deactivate commands that are inappropriate in the context of current actions

Let user control the interactive flowProvide help to assist with all input

actionsElliminate “mickey mouse” input

Page 18: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 18

Real-time Systems

Systems that are integrated with real-world devices

Generate action in response to external events

High speed data acquisition and control under severe time and reliability constraints

System performance is most important

Page 19: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 19

Real-time Systems Interfaces

Sensors

Real-timeSystem

Controldevice

environmentaldata control

instructions

Page 20: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 20

Examples of Real-time Systems

Aircraft avionicsManufacturing process controlIndustrial instrumentationIntelligent buildingsAnti-lock Braking System (ABS)

Page 21: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 21

Differences in Real-time System Development

Design of real-time system is resource constrained

Real-time systems are compact, yet complex

Real-time systems often work without the presence of a human user

Page 22: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 22

Demands of Real-time System

Information flow that is gathered or produced on a time-continuous basis

Control information passed throughout the system and associated control processing

Multiple instances of same transformation, sometimes encountered in multitasking situations

System states and the mechanism that cause transitions between states

Page 23: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 23

Time-continuous Data Flow

Monitor and adjust

temperature level

Monitoredtemperature

Temperatureset-point

Correctedvalue

Input ‘continuously’

Output ‘continuously’

Page 24: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 24

Extensions to Data Flow Notation

Controlprocess

control store

control item

quasi-continuous data flowData object that is input or output from a process on ‘continuous’ basis

Transformer of control or “events”; accepts control and input and produces control as output

Control item or event; takes on a Boolean or discrete value

Repository of control items that are to be stored for use by one or more processes

Page 25: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 25

Example of Data and Control Flow

Monitorfixture &operatorinterface

Robotinitiationcontrol

Processrobot

commands

Movementalarm

Bit string

Operator commands

Start/stop flag

Process activate

Status of eachfixture

Position commands

Operator settings

Robot movement record

robot command file

parts status buffer

Page 26: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 26

Dynamic Attributes

Interrupt handling and context switching

Response timeData transfer rate and throughputResource allocation and priority

handlingTask synchronization and intertask

communication

Page 27: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 27

Interrupt Handling and Context Switching

Interrupts - external stimuliSystem must respond to interruptsUsually multiple interrupts - need to

prioritize and service most important onesMany real-time operating systems make

dynamic calculations to monitor servicing of interrupts, within given time constraints

Context switching - switch among tasksInterrupt latency - time lag before interrupt

Page 28: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 28

Interrupt Handling Routine

Save state of interrupted programDetermine nature of the interruptService interruptRestore state of interrupted programReturn to interrupted program

Page 29: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 29

Response Time

Time within which a system must detect an internal or external event and respond with an action

Usually event detection and response generation are simple

Determining appropriate response may involve complex, time-consuming algorithms

Context switching and interrupt latency affects response time

Page 30: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 30

Data Transfer Rate and Throughput

Data Transfer Rate - how fast data move into or out of the system

Throughput - rate of output compared to rate of input (system efficiency)

Timing and capacity is usually given by vendors

However, overall system performance need to consider other factors e.g. device performance, buffer size, I/O device, etc.

Page 31: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 31

Resource Allocation and Priority Handling

Distributed databases are preferred in real-time systems because of multitasking

Data often processed in parallelConcurrency control required - locking

and time stamping to ensure data integrity

Real-time operating systems also manage resources such as memory and processors

Page 32: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 32

Task Synchronisation and Communication

Real-time multitasking systems must have mechanism to synchronize and communicate between tasks

Queuing semaphores - synchronization and signaling items that manage traffic

Mailboxes and Messaging systems - alternative to sending information between tasks

Page 33: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 33

Conclusion

Real-time system emphasized on performance and reliability

Fault tolerance and system restart is most critical

Often redundancy and backup is built into system design

Design requires additional consideration for size, efficiency and reliability

Page 34: TCS2411 Software Engineering1 User-Interface Design & Real-time Systems Design “Can the user easily do what he wants to do?” “An unresponsive real-time

TCS2411 Software Engineering 34

References

“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001

“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001