User-Interface Design & Real-time Systems Design

bouncerarcheryΤεχνίτη Νοημοσύνη και Ρομποτική

14 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

52 εμφανίσεις

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”

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


TCS2411 Software Engineering

3

User Interface


The interface is the system for most users


Communication between the user and the
system


When interface is not easy, user may reject
system


Important to have more user
-
friendly interface
to improve usability


User training may help improve user’s
understanding and use of system

TCS2411 Software Engineering

4

Types of Interface


Natural Language Interface


TCS2411 Software Engineering

5

Types of Interface


Question and Answer Interface

TCS2411 Software Engineering

6

Types of Interface

TCS2411 Software Engineering

7

Types of Interface


Menus


Input/

Output

Forms


Command
-
Language Interface

User interface has two main components


* Presentation language

* Action language


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

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

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, expert


For unskilled users, user interface have to
be more robust and more help should be
available

TCS2411 Software Engineering

11

Types of Tasks


Communication tasks

-

information
transferred from producer to consumer


Dialogue tasks

-

user direct and control
interaction with the system


Cognitive 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

TCS2411 Software Engineering

12

General Interaction
Guidelines


Be consistent


Offer meaningful feedback


Ask for verification of any non
-
trivial
destructive action


Permit easy reversal of most actions


Reduce the amount of information to
memorise between actions


Seek efficiency in dialog, motion and
thought

TCS2411 Software Engineering

13

General Interaction
Guidelines
(Continued)


Forgive mistakes


Categorize 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

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 context


Produce meaningful error messages

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

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 input


Interaction should be flexible but also
tuned to the user’s preferred mode of
input

TCS2411 Software Engineering

17

Data Input Guidelines
(Continued)


Deactivate commands that are
inappropriate in the context of current
actions


Let user control the interactive flow


Provide help to assist with all input
actions


Elliminate “mickey mouse” input

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

TCS2411 Software Engineering

19

Real
-
time Systems
Interfaces

Sensors

Real
-
time

System

Control

device

environmental

data

control

instructions

TCS2411 Software Engineering

20

Examples of Real
-
time
Systems


Aircraft avionics


Manufacturing process control


Industrial instrumentation


Intelligent buildings


Anti
-
lock Braking System (ABS)

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

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

TCS2411 Software Engineering

23

Time
-
continuous Data
Flow

Monitor

and adjust

temperature

level

Monitored

temperature

Temperature

set
-
point

Corrected

value

Input ‘continuously’

Output ‘continuously’

TCS2411 Software Engineering

24

Extensions to Data Flow
Notation

Control

process

control store

control item

quasi
-
continuous data flow

Data 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

TCS2411 Software Engineering

25

Example of Data and
Control Flow

Monitor

fixture &

operator

interface

Robot

initiation

control

Process

robot

commands

Movement

alarm

Bit string

Operator commands

Start/stop

flag

Process

activate

Status of each

fixture

Position

commands

Operator


settings

Robot movement

record

robot command file

parts status buffer

TCS2411 Software Engineering

26

Dynamic Attributes


Interrupt handling and context switching


Response time


Data transfer rate and throughput


Resource allocation and priority handling


Task synchronization and intertask
communication

TCS2411 Software Engineering

27

Interrupt Handling and
Context Switching


Interrupts
-

external stimuli


System must respond to interrupts


Usually multiple interrupts
-

need to
prioritize and service most important ones


Many real
-
time operating systems make
dynamic calculations to monitor servicing of
interrupts, within given time constraints


Context switching
-

switch among tasks


Interrupt latency
-

time lag before interrupt

TCS2411 Software Engineering

28

Interrupt Handling
Routine


Save state of interrupted program


Determine nature of the interrupt


Service interrupt


Restore state of interrupted program


Return to interrupted program

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

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.

TCS2411 Software Engineering

31

Resource Allocation and
Priority Handling


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


Data often processed in parallel


Concurrency control

required
-

locking
and time stamping to ensure data
integrity


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

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

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

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