Nothing Special   »   [go: up one dir, main page]

S-W ENG Module 3

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

MODULE 3

OBJECT MODELING USING UML

OVERVIEW OF UML
● UML stands for Unified Modeling Language.
● It is a pictorial language for specifying, visualizing, constructing and documenting
software blueprints. Some UML diagrams can also be converted into code in
various programming languages using a number of tools.
● Although UML is generally used to model software systems, it is not limited within
this boundary. It is also used to model non-software systems as well. For
example, the process flow in a manufacturing unit, etc.

UML DIAGRAMS
● UML Diagrams are used to model software solutions, application structures,
system behavior and business processes.
● They help in planning out new features before any programming takes place.
● It facilitates communication between technical and non-technical audiences more
easily.
● There are 14 types of UML diagrams including class , deployment,use case,
structured,statechart etc.
OBJECT ORIENTED SOFTWARE
DEVELOPMENT
DESIGN PATTERNS
● Design patterns are commonly accepted solutions to some problems that recur
during designing different applications.
● Design patterns are nowadays being used extensively and have been found to
make the design process efficient.
● Use of patterns reduces the number of design iterations, and at the same time
improves the quality of the final design solution

PROS AND CONS OF DESIGN PATTERNS


● Design patterns provide a common vocabulary that helps to improve
communication among the developers.
● Use of design patterns help designers to produce designs that are flexible,
efficient, and easily maintainable.
● Design patterns reduce the number of design iterations, and help improve the
designer productivity.
● Design patterns do not directly lead to code reuse. (CONS)
● At present no methodology is available that can be used to select the right design
pattern at the right point during a design exercise. (CONS)

OOD GOODNESS CRITERIA


The following are some of the accepted criteria for judging the goodness of a design:
● Coupling: Excessive coupling between objects is detrimental to modular design
and prevents reuse. The number of messages between two objects or among a
group of objects should be minimum.
● Cohesion: Cohesion in the design should be high.
In OOD, we are concerned about cohesion at three levels:
1) Cohesiveness of the individual methods: Cohesiveness of each individual
method in a class is desirable. This requires that each method should
perform only a certain well-defined function.
2) Cohesiveness of the data and methods within a class: The classes in a
hierarchy should be coherent.
3) Cohesiveness of an entire class hierarchy: Cohesiveness of methods
within a class is desirable since it promotes encapsulation of the objects.

USER INTERFACE DESIGN


CHARACTERISTICS OF A GOOD USER
INTERFACE
● Speed of learning:
A good user interface should not require its users to memorize commands. Neither
should the user be asked to remember information from one screen to another while
performing various tasks using the interface
● Speed of use:
Speed of use of a user interface is determined by the time and user effort necessary to
initiate and execute different commands.
The most frequently used commands should have the smallest length or be available at
the top of a menu to minimize the mouse movements necessary to issue commands
● Aesthetic and attractive:
An attractive user interface catches user attention and fancy. In this respect,
graphics-based user interfaces have a definite advantage over text-based interfaces
● Feedback:
A good user interface must provide feedback to various user actions. Especially, if any
user request takes more than a few seconds to process, the user should be informed
about the state of the processing of his request. In the absence of any response from the
computer for a long time, a novice user might even start recovery/shutdown procedures
in panic.
BASIC CONCEPTS OF USER GUIDANCE AND
ON-LINE HELP
● On-line help system:
A good online help system should keep track of what a user is doing while
invoking the help system and provide the output message in a context-dependent
way. Also, the help messages should be tailored to the user’s experience level.

● Guidance messages:
A good guidance system should have different levels of sophistication for
different categories of users regarding the user’s next actions he might pursue,
the current status of the system etc.

● Error messages:
Error messages are generated by a system either when the user commits some
error or when some errors encountered by the system during processing

TYPES OF USER INTERFACES


Broadly speaking, user interfaces can be classified into the following three categories:
● Command language-based interfaces:
➔ A command language-based interface is based on designing a command
language which the user can use to issue the commands. The user is
expected to frame the appropriate commands in the language and type
them appropriately whenever required.

➔ Command language-based interfaces allow fast interaction with the


computer and simplify the input of complex commands.

➔ However,command language-based interfaces are difficult to learn and


require the user to memorize the set of primitive commands.
● Menu-based Interface:
➔ A menu-based interface is based on recognition of the command names,
rather than recollection. Humans are much better at recognizing
something than recollecting it.
➔ Further, in a menu-based interface the typing effort is minimal as most
interactions are carried out through menu selections using a pointing
device.
➔ However, experienced users find a menu-based user interface to be
slower than a command language-based interface because an
experienced user can type fast and can get speed advantage.

● Direct Manipulation Interfaces


Direct manipulation interfaces present the interface to the user in the form of
visual models.
For this reason, direct manipulation interfaces are sometimes called iconic
interfaces.

COMPONENT-BASED GUI DEVELOPMENT


The types of GUI based interfaces are:
● WINDOW SYSTEM
A window system can generate displays through a set of windows.

➔ Window:
A window can be considered to be a virtual screen, in the sense that it
provides an interface to the user for carrying out independent activities.
A window can be divided into two parts—client part, and non-client part.
The client area makes up the whole of the window, except for the borders
and scroll bars.
The non-client-part of the window determines the look and feel of the
window.
➔ Window Management System :
A window management system is primarily a resource manager. It keeps
track of the screen area resource and allocates it to the different windows
that seek to use the screen.

A WMS consists of two parts :


1) Window Manager:
Window manager is the component of WMS with which the end
user interacts to do various window-related operations such as
window repositioning, window resizing, iconification, etc.
● COMPONENT BASED
A development style based on widgets is called component-based (or
widget-based ) GUI development style.
One of the most important reasons to use widgets as building blocks is because
they help users learn an interface fast.

You might also like