tcs2411 software engineering1 user-interface design & real-time systems design “can the user...
Post on 19-Dec-2015
218 views
TRANSCRIPT
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 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
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 FormsCommand-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, expertFor unskilled users, user interface have
to be more robust and more help should be available
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
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
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
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
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 inputInteraction 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 flowProvide help to assist with all input
actionsElliminate “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-timeSystem
Controldevice
environmentaldata control
instructions
TCS2411 Software Engineering 20
Examples of Real-time Systems
Aircraft avionicsManufacturing process controlIndustrial instrumentationIntelligent buildingsAnti-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
Monitoredtemperature
Temperatureset-point
Correctedvalue
Input ‘continuously’
Output ‘continuously’
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
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
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
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
TCS2411 Software Engineering 28
Interrupt Handling Routine
Save state of interrupted programDetermine nature of the interruptService interruptRestore state of interrupted programReturn 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 parallelConcurrency 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