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