You are on page 1of 17

UNIT -4 (User Interface Design)

The user interface is the front-end application view to which the user interacts to use
the software. The software becomes more popular if its user interface is:
• Attractive
• Simple to use
• Responsive in a short time
• Clear to understand
• Consistent on all interface screens

Types of User Interface


Command Line Interface: The Command Line Interface provides a command
prompt, where the user types the command and feeds it to the system. The user needs
to remember the syntax of the command and its use.
Example :Ubuntu OS
Graphical User Interface: Graphical User Interface provides a simple interactive
interface to interact with the system.
GUI can be a combination of both hardware and software. Using GUI, the user
interprets the software.
Example: Window OS
User Interface Design Process
The analysis and design process of a user interface is iterative and can
be represented by a spiral model.
1.User, task, environmental analysis, and modeling: Initially, the focus
is based on the profile of users who will interact with the system, i.e.
understanding, skill and knowledge, type of user.
2. Interface Design: The goal of this phase is to define the set of
interface objects and actions i.e. Control mechanisms that enable the user
to perform desired tasks.
Indicate how these control mechanisms affect the system.
3.Interface construction and implementation: The implementation
activity begins with the creation of prototype (model) that enables usage
scenarios to be
evaluated.
4. Interface Validation: This phase focuses on testing the interface. The
interface should be in such a way that it should be able to perform tasks
correctly and it should be
Golden Rules:
3 type of golden rule for user interface
1. Place the user in control
2. Reduce the user’s memory load
3. Make the interface consistent

1.Place the user in control


Define the interaction modes in such a way that does not force the
user into unnecessary or undesired actions:
The user should be able to easily enter and exit the mode with little or no
effort.
Provide for flexible interaction:
Different people will use different interaction mechanisms, some might
use keyboard commands, some might use mouse, some might use touch
screen, etc, Hence all interaction mechanisms should be provided.
Allow user interaction to be interruptible and undoable:
When a user is doing a sequence of actions the user must be able to
interrupt the sequence to do some other work without losing the work
that had been done. The user should also be able to do undo operation.

Streamline interaction as skill level advances and allow the


interaction to be customized:
Advanced or highly skilled user should be provided a chance to
customize the interface as user wants which allows different interaction
mechanisms so that user doesn’t feel bored while using the same
interaction mechanism.
Hide technical internals from casual users:
The user should not be aware of the internal technical details of the
system. He should interact with the interface just to do his work.
Design for direct interaction with objects that appear on screen:
The user should be able to use the objects and manipulate the objects
that are present on the screen to perform a necessary task. By this, the
user feels easy to control over the screen.
Reduce the User’s Memory Load

Reduce demand on short-term memory: When users are involved in


some complex tasks the demand on short-term memory is significant.
So the interface should be designed in such a way to reduce the
remembering of previously done actions, given inputs and results.

Establish meaningful defaults: Always an initial set of defaults should


be provided to the average user, if a user needs to add some new features
then he should be able to add the required features.

Define shortcuts that are intuitive: Mnemonics should be used by the


user. Mnemonics means the keyboard shortcuts to do some action on the
screen.
The visual layout of the interface should be based on a real-world
metaphor: Anything you represent on a screen if it is a metaphor for a
real-world entity then users would easily understand.
Make the Interface Consistent
Allow the user to put the current task into a meaningful
context: Many interfaces have dozens of screens. So it is important to
provide indicators consistently so that the user know about the doing
work.
The user should also know from which page has navigated to the current
page and from the current page where it can navigate.
Maintain consistency across a family of applications: in The
development of some set of applications all should follow and
implement the same design, rules so that consistency is maintained
among applications.
If past interactive models have created user expectations do not make
changes unless there is a compelling reason.
Quality
means “Performance upon expectations” and “fit for functions.”

A product is said to be of good quality if it satisfies the customer


requirements in terms of performance, grade, durability, appearance and
intended use/purpose, etc.
Software quality
Software Quality shows how good and reliable a product is.
Quality Factors
Portability: A software is claimed to be transportable, if it may be simply
created to figure in several package environments, in several machines,
with alternative code merchandise, etc.
Usability: A software has smart usability if completely different classes of
users (i.e. knowledgeable and novice users) will simply invoke the
functions of the merchandise.
Reusability: A software has smart reusability if completely different
modules of the merchandise will simply be reused to develop new
merchandise.
Correctness: Software is correct if completely different needs as laid out in
the SRS document are properly enforced.
Maintainability: A software is reparable, if errors may be simply corrected
as and once they show up, new functions may be simply added to the
merchandise, and therefore the functionalities of the merchandise may be
simply changed, etc
Reliability: Software is more reliable if it has fewer failures. Since software
engineers do not deliberately plan for their software to fail, reliability
Efficiency. The more efficient software is, the less it uses of CPU-time,
memory, disk space, network bandwidth, and other resources.
Web App Interface Design
Web app interface design is a stage of software development that focuses
on the user interface (UI) and user experience (UX).
It has five main components: User interface, Usability, Content,
Creativity, Accessibility.
The goal of mobile user interface design is to make interactions with the
app as easy

Application Interface design: The set of features an application provides


so that user may supply input to and receive output from the
program.

Design for Web App encompasses technical and non Technical activates
that include establishing the look and feel of the web app,creating
aesthetic layout(graphical layout) of the user interface,planing for
navigation that occur within the webapp.
Objective of Webapp interface:
1.Establish a consistent window into the content and functionality
provided by the interface.
2.Guide the user through a series of interactions with the Webapp.
3.Organize the navigation option and content available to the user

Here are some other guidelines for designing web and mobile app
interfaces:

1. Make everything a user may need easily accessible


2. Give a few options for contacting you
3. Approach the design with utmost clarity
4. Use recognition instead of recall
5. Choose stable ways of interaction
User interface in Web Application Design Process
During software engineering process, the critical stage is system
implementation. At this stage the executable version of the software is
created.
Common implementation issues:
1. Reuse
2. Configuration Management
3. Host-target development
1. Reuse: Making use of existing code during the software development is
called reuse .

Object level : At this level of reuse , instead of writing the code, the ready
objects from the library are directly used.

Component level: At this level the components can be reused. The


components are basically the collection of objects and object classes that can
be reused on the application software.
Reuse Cost:
 The time spent in looking for software to reuse and analyzing it to
check whether the identified software meets the requirements or not.
 The cost also gets increased when integrating reusable software
elements with each other and with the new code being developed for
your system.
Configuration management

Definition: The process of managing the changes in the software


system is called configuration management.

The aim of configuration management is to support system integration


process so that all developers can access the project code and
documents in controlled way.
Configuration management activities
Version management: by version management, it is possible to keep track of
all the versions and corresponding changes made in those versions.

System integration: System integration helps the developers to define what


versions of components are used to create each version of a system.

Problem tracking: During this configuration management activity support is


provided to report bugs and other problems.

Host Target Development:


Host is the machine on which the software is developed

Target is the machine on which the software is run.

Most of the software development is host target development. The host


target development is a kind of software development in which the software
is developed on one computer and is run on another.

You might also like