Session 9
Session 9
Session 9
Introduction
• Software design encompasses the set of principles, concepts, and
practices that lead to the development of a high-quality system or
product.
• Design principles establish an overriding philosophy that guides you in
the design work you must perform.
• The goal of design is to produce a model or representation that
exhibits firmness, commodity, and delight Software design changes
continually as new methods, better analysis.
• Architectural Design –
• The architectural design is the highest abstract version of the system. It
identifies the software as a system with many components interacting with each
other. At this level, the designers get the idea of proposed solution domain.
• High-level Design –
• The high-level design breaks the ‘single entity multiple component’ concept of
architectural design into less-abstracted view of sub-systems and modules and
depicts their interaction with each other.
• High-level design focuses on how the system along with all of its components
can be implemented in the form of modules. It recognizes modular structure of
each sub-system and their relation and interaction among each other.
• Detailed Design-
• Detailed design deals with the implementation part of what is seen as a system
and its sub-systems in the previous two designs. It is more detailed towards
modules and their implementations. It defines logical structure of each module
and their interfaces to communicate with other modules.
Modularization
• Keep the interface simple: The best interfaces are almost invisible to
the user. They avoid unnecessary elements and are clear in the
language they use on labels and in messaging.
• Create consistency and use common UI elements: By using common
elements in your UI, users feel more comfortable and are able to get
things done more quickly.
• Be purposeful in page layout: Careful placement of items can help
draw attention to the most important pieces of information and can
aid scanning and readability.
• Use typography to create hierarchy and clarity. Carefully consider
how you use typeface. Different sizes, fonts, and arrangement of the
text to help increase scalability, legibility and readability.
• Make sure that the system communicates what’s happening. Always
inform your users of location, actions, changes in state, or errors.
• Think about the defaults. By carefully thinking about and anticipating
the goals people bring to your site, you can create defaults that
reduce the burden on the user.
• Strategically use color and texture: You can direct attention toward or
redirect attention away from items using color, light, contrast, and
texture to your advantage.
Golden rules
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.
2. Reduce the user’s memory load :
• 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.
3. Make the interface consistent :
• 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 can navigate.
USER INTERFACE ANALYSIS AND DESIGN
• The analysis and design process for user interfaces is iterative and can be
represented using a spiral model
• the user interface analysis and design process begins at the interior of the spiral
and encompasses four distinct framework activities
(1) interface analysis and modeling,
(2) interface design,
(3) interface construction, and
(4) interface validation.
• Interface analysis focuses on the profile of the users who will interact with the
system. Skill level, business understanding, and general receptiveness to the new
system are recorded; and different user categories are defined. For each user
category, requirements are elicited.
• Once general requirements have been defined, a more detailed task analysis is
conducted. Those tasks that the user performs to accomplish the goals of the
system are identified, described, and elaborated (over a number of iterative
passes through the spiral)
• Finally, analysis of the user environment focuses on the physical work
environment. Among the questions to be asked are
• Where will the interface be located physically?
• Will the user be sitting, standing, or performing other tasks unrelated to the
interface?
• Does the interface hardware accommodate space, light, or noise constraints?
• Are there special human factors considerations driven by environmental
factors?
• The goal of interface design is to define a set of interface objects and
actions that enable a user to perform all defined tasks in a manner
that meets every usability goal defined for the system.
• Interface construction normally begins with the creation of a
prototype that enables usage scenarios to be evaluated. As the
iterative design process continues, a user interface tool kit may be
used to complete the construction of the interface.