Improving the Design - Multimedia University

Download Report

Transcript Improving the Design - Multimedia University

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
1
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
2
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
3
Types of Interface
Natural Language Interface
TCS2411 Software Engineering
4
Types of Interface
Question and Answer Interface
TCS2411 Software Engineering
5
Types of Interface
TCS2411 Software Engineering
6
Types of Interface
Menus
Input/ Output Forms
Command-Language Interface
User interface has two main components
* Presentation language
* Action language
TCS2411 Software Engineering
7
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
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
Real-time Systems
Systems that are integrated with realworld 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
18
Real-time Systems
Interfaces
Control
device
Sensors
environmental
data
control
instructions
Real-time
System
TCS2411 Software Engineering
19
Examples of Real-time
Systems
Aircraft avionics
Manufacturing process control
Industrial instrumentation
Intelligent buildings
Anti-lock Braking System (ABS)
TCS2411 Software Engineering
20
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
21
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
22
Time-continuous Data
Flow
Monitored
temperature
Input ‘continuously’
Output ‘continuously’
Monitor
and adjust
temperature
level
Corrected
value
Temperature
set-point
TCS2411 Software Engineering
23
Extensions to Data Flow
Notation
quasi-continuous data flow
Control
process
control item
control store
TCS2411 Software Engineering
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
24
Example of Data and
Control Flow
Status of each
fixture
Movement
alarm
parts status buffer
Bit string
Start/stop
flag
Monitor
fixture &
operator
interface
Operator commands
Robot
initiation
control
Operator
settings
Robot movement
record
Process
activate
Process
robot
commands
Position
commands
robot command file
TCS2411 Software Engineering
25
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
26
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
27
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
28
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
29
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
30
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
31
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
32
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
33
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
TCS2411 Software Engineering
34