0% found this document useful (0 votes)
21 views12 pages

Object Oriented Design

It deals with the designing aspects of a software project to be developed. Here, the objects quote the already analyzed requirement. of current software project. In this case objects can be of two types i.e. solution object and problem objects. The problem objects refer to the expected problem of the system and solution objects intern signifies solution to these problem objects

Uploaded by

polelor663
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views12 pages

Object Oriented Design

It deals with the designing aspects of a software project to be developed. Here, the objects quote the already analyzed requirement. of current software project. In this case objects can be of two types i.e. solution object and problem objects. The problem objects refer to the expected problem of the system and solution objects intern signifies solution to these problem objects

Uploaded by

polelor663
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Analysis and

1.11 OBJECT-ORIENTED DESIGN Application


Design
It deals with the designing aspects of a software project to be developed. Here,
the objects quote the already analyzed requirement. of current software project.
In this case objects can be of two types i.e. solution object and problem objects.
The problem objects refer to the expected problem of the system and solution
objects intern signifies solution to these problem objects. But to generalize
design, the designers while implementing new objects, strives to transform the
problem objects to solution objects.

Following are essential steps required during the designing of a project using
object oriented designing concepts.

Step -1: Initially analyze the project completely. This includes defining its
context and various modes of usage of the given system.

Step - 2: It deals with the designing of the architecture of the system to be


developed.

Step - 3: Recognize the essential objects accommodating the system

Step - 4: Generate the equivalent design model.

Step - 5: End up the task by adhering suitable interfaces between objects.

While traversing through the above mentioned activities it can be analyzed that
each activity is related to its next higher activity.

As and when the major objects are recognized, they are adhered with interface
so as to make the architecture compatible. A further development of design
model (in step 4) brings maturity to the architecture. Hence, step 4 can also be
referred as "refinement of architecture". By looking into above mentioned
specification, one would refer that the designing aspects may often easy. But, it
is not true practically. Since a designer may get exposed to several critical
measures for which he may return back and restart the designing process again
or he may also postpone many of its activities if the implementation of above
steps, does not advances proper results. .

Example: Following is a layered architecture depicting the weather mapping


system developed by following above mentioned criteria.

Before sorting to the designing aspects of this system it is often important to


generalize the details of weather mapping system.

Weather Mapping System

Weather Mapping System is an effective system for generating weather reports.

29

/
/
Usually the data is essential in generating these reports which is collected from
Application
various sources such as
Development
Life Cycle
Satellite
.
Local Weather Reporting Stations

Weather Observes etc.,

Further this information is passed to a special area computer which accepts


them only after they had passed through validation procedures. Moreover, this
entire data is integrated and backed. Later, using suitable digital map data base,
various maps are developed through a special map printer.

Now, basing on this information the layered architecture for weather mapping
.. system can be developed as follows:

«subsystem»
Data Display Layer 4

I
«subsystem»
Layer 3
Data Storage

I
«subsystem» Layer 2
Data Processing

I I
«subsystem» Layer 1
Data Accumulation

Fig. 9: Diagram Depicting the Layered Architecture (Weather


Mapping System)

The icon « »refers to a package in UML notation. It generally describes


the behavioral aspects of a given system by including suitable name (narrating
the situation) inside each package. Each layer in the above architecture has its
own specification and importance.

Hence, the layers described above provide the information on every aspect of
weather mapping system.

For example

Layer 1: Describes the process of accumulation of data from different sources.

Layer 2: It describes the way the accumulated data is processed

30

/
/
Layer 3: Resorts to storage of data. Analysis and
Application
Layer 4: Gives the information on displaying data i.e. creation of maps etc. Design

Now, consider the diagram depicting various subsystems


with each system described in above architecture).
. (systems associated

Disp\ayMap Map Printer

«subsystem» -----,
I
Data Display I
I
I

Level 4
~~-.--.--~ Information
Map Storage
Storage
.. Data
Authentication Data
Integration
----------
----, «sub system»
I
I
Data Display
I
I
«subsystem» I

Data Processing I
r----l r----l Level 3
Weather Satellite
Level 2 Observer Imaging

r----l
Weather Data
Stations Gathering

«subsystem»
Data Accumulation

Level!

Fig. 10

The above figure describes all the essential subsystems of various systems
corresponding to weather mapping system. The details of weather mapping
system can be claimed form the box given above.

1.11.1 Design Models of Object-Oriented Design Process

Design models are those models which display the objects or object classes in a
system. It also shows the relationship between the entities in a system. Design
models are nothing but design and it forms a bridge between the requirements
of the system and the system implementation.

Conflicting requirements takes place in this model and to avoid that abstract is
produce which explore the relationships between them and the system
requirements. Along with the abstract, details also help the programmers to
make implementation decisions.

31

I I
This conflict is originated by developing models at different levels of detail.
Application
There are three close roles which has link:between them i.e., the requirements
Development
Life Cycle engineers, designers and programmer~. As the system is implemented specific
design decisions may be made .

If the role models are not close or the link:between them is indirect them more
detailed models may be required. The' design process has the most important
step i.e., to decide which design models are needed and the level of detail of
these models. This majorly depends upon the type of system that is being
developed. Two types of design models which are produced to describe an
object-oriented design are:

1. Static Models: Static models have the structure of the system which does
not change and these are described using object classes. Static model also
.. describes the relationships at this 'stage such as generations relationships,
uses/used by relationships and composition relationships. These all are
important and hence documented.

2. Dynamic Models: This model has the structure of the system which
changes and it shows communication between the system objects. These
interactions are documented and include the sequence of sequence requests
made by objects. It also document has state of the system related to these
object interactions.

(a) Subsystem Models

(b) Sequence Models

(c) State Machine Model

a) Subsystem Models: These models consists of association of various objects


into an appropriate subsystem entity, where each of these subsystem entities
are rendered using a package icon i.e." "(It is an UML notation). The
subsystem models come under UML supported static model.

For example: Consider the following figure.

Fig. 11: Example figure Depicting the Subsystem Modeling

32

/
b) Sequence Models: Sequence models lay stress on time ordering of Analysis and
messages. These models come under the category of. dynamic models Application
Design
supported by UML. The current discussion of sequence models utilizes the
. services of sequence and collaboration diagrams ofUML. Sequence models are
usually, initiated by maintaining all the participating objects (objects which are
part of the diagram)at the top of the diagram in an horizontal fashion as usual,
the objects which begin or initiates the interaction are rendered first in the,
diagram .followed by the other participating objects. This sequence of
placements helps in maintaining the clarity of the model. Each object is
differentiated from other. objects using a suitable horizontal line which
represents the life time of the specific object. Finally, as it is a form of
interaction diagram, hence, facilities are provided to represent transmission of
messages between these objects, which are rendered on different kinds of
relationships. Following is a sequence diagram depicting the sequence of
interactions during a telephone call.

'.7 '. O~ots' .

I· ~hc-~);-'()~~
. i . 'I I I
I I I 1
I
I Offhook
UUVI.l
I
JIoo !
I
I
I
I
I .I I I
:
I
Dialnumber
)110
:
1
II :I
, I phoneBeU I I .
I I 1 .' JIoo I I
1
I
1
' I
:I .. O~ )110:
1
I I I I
I
I
I
I
!
.I Spea k I
I
I ,. I
.I I I
, I I
I , I
. . l.Jfet:i:me of
Exchange Object

Fig~ 12: Example Sequence Diagram Depicting the Sequence of Tasks


Performed during a Telephone Call

c) State Machine Model: State machine model includes different interactions


performed by a given object during its life time, these interactions can either be
in response to the external events or it may be self generated. Here, these
interactions are rendered as different states and arrows can be deployed to these
states to represent the responses of the object at each state. As state machine
model reefers to behavioral aspects of a given object. Hence, it can be claimed
in modeling dynamic aspects of a system. Before proceeding deep into the state
machine concepts one has to remember that state machine depicts the life time
behavior of single object, but in sequence diagram, life time behavior of
multiple objects are deployed.,

33

/
Following is an example of state machine model.
Application
Development
Life Cycle

Fig. 13: Example diagram Depicting the Modeling of State Machine

Following are few important components of state machine:

State

It specifies a particular instance or state in the entire life of an object. IN this


state, the given object either performs certain tasks, responds to any external
events or the object itself generates certain events.

Activity

It refers to certain process which is under execution within the diagram.

Events

It refers to occurrence of an instance at a given time and space.

1.11.2 Importance of Object Interface Specification

While dealing with designing process, interface specification plays a major


role. It is important in developing various constituent entities (say, object,
subsystems) simultaneously. Hence, once the interface is specified, it can be
implemented in the other object development. While dealing with inter face
specification, once has to remember that the interface should not include all the
details, rather it should be blocked from the objects which are deployed to
obtain the specification of an interface. While, implementing this strategy,
several changes can be applied to a given interface, without affecting the
objects dealing the various specifications of this interface. Also it results in
enhancement of maintainability of the design obtained. On the other hand,
reverse of this strategy should be applied while dealing with static design
model (i.e.,) in static design model displaying the essential characteristics
fetches the optimum way to featuring the objects.

34

/
Whenever we discuss an object and interfaces, it is not true that each object Analysis and
should have a single interface or vice versa, rather, we may have design Application
Design
. consisting of single object implementing multiple interfaces, Moreover, if we
resort to object oriented program terminology (say Java) with respect to object
and interfaces, it refers to the declaration of tnterface as a separate entity, with
single or multiple objects implementing them. In this regard we can also say
that, if there are multiple objects implementing a single interface, then using
this single interface we can easily access all these objects. Here, the details of
interface are with single or multiple' objects. In designing of an interface object
system, UML, uses the same diagrammatic notation to an interface as that of
class (i.e.,). Rectangle with two partitions, with first partition including the
interface name along with "«interface»" so, as to differentiate it with other
classes. Also in next partition, operations are specified. While dealing with
representation of interfaces, one has to remember that, it does not include any
attributes section, as that of class.

For example: Diagrammatic representation "item Listener" interface is given


below.

__ <_<_I_nt_e_rf:_ac_e_>_>_--l}
itemListener Interface Name
L...

itemStateChanged() }. Operations

Fig. 14: Icon Used in UML to Represent Interface

The above specification of interface was using UML; now consider the
specification of interface using programming language say Java. Following is a
simple code representations interface in Java Programming Language.

Interface Name

Key Interface StackOpr


Word

{ Void push (int iteml);


Int pop (); } Parameter
Methods

Fig. 15: Code to Represent in Interface

It is often fruitful to program an interface since, it is the compiler which brings


up all the errors before hand and these can be easily rectified. No, matter even
though the complexity of interface increases.

35

/ I
Application 1.12 USER INTERFACE DESIGN
Development
Life Cycle As the name itself suggests user interface design provides an interface between
the user and the computer. Interface design revolves around three areas of
concern 1.e.,

1. The design of the interfaces between software components.

2. The design' of the interface between the software and, producers and
consumers of information which are non-human, and

3. The design of the interface between the user and the system.

Earlier the user use to face many interface problems but thanks, to the new
technology like GUl, Windows, Icons, etc., which have eliminate extreme
interface problems. But even after the new developments it· is difficult for a
user to have interface with the computer as they are difficult to use, hard to
learn, confusing and so .on. There as many such questions among which few are
: answered as part of user interface design.

The Golden Rule

There are three main Golden Rules given by "TheoMandel" which are to be
followed.

They are:

1. Place the user in control,

2. Reduce the user's memory load, and

3. Make the interface consistent.

These rules are nothing but the principles for a set of user interface design and
they guide application design action.

User interface design begins with the identification of user, task, and
environmental requirements. Once user tasks have been identified, user
scenarios are created and analyzed to define a set of interface objects and
actions.

These form the basis for the creation of screen layouts that depicts graphical
design and placement of icon, definition of descriptive screen text,
specification and specification of major menu items.

"Place the User in Control"

The above statement refers to one of three golden rules supplied by The
Mandel in order to achieve good interface design. A deep illustration on above·
mentioned statement is given below.

36

/
People who deal with the first phase of software development (i.e.,) Analysis and
. information gathering phase to prepare the customer requirement specification, Application
Design
often get astonished with certain peculiar requirement of the user.

For example: If windows based graphical iriterface is a resultant system to be


developed and if say certain customer specifies that the requires the system (to
be developed) to be well formed such that, the software implementing the
system should be capable enough to judge the user requirement even before he
attempts for it.

Though this statement looks quite contradicting but by analyzing it deeply we


may come out with many conclusions like:

- Every user intends comfort while he dealing with any of the graphical
interface,

- Moreover, the extent of comfort should be of high value that it should


completely satisfy the user as well as the environment, the system provides
should be understandable by normal human mentality (i.e.,) the system
should not resort any complex interfaces creating an environment hard to
be understood.

Hence, with above mentioned specifications, it can be realized that various


a
routines, procedures or certain limitations implemented by designer of system
are meant to favour the user. But these specifications some times are
implemented by the designers to make the implementation easy but at the same
time they turnout to be complex for the normal users operating the system.
Hence, by considering these consequences few principle have been deduced
favoring the users in order to maintain control.

These are as follows:

Principle - 1

"Allow user interaction to be interruptible and undo able"

Explanation: To analyze above mentioned principle, consider a situation


._where a user is working with multiple tasks. Hence, the system should be so
compatible to allow this user to switch between these tasks with the cost of not
losing the data. Also, the user should be capable enough to terminate or undo
.the executing tasks etc., switching between different tasks is referred as the
process of interrupting the current task and moving ahead with nest task.

. Principlle - 2

"Hide technical internals from the casual user".

Explan:ation: In this principle, stress is laid to keep away the user from the
technical details of the system. The user should view only the outputs of the

37

/
/
I
program, he. should not be made aware of the implementation details of the
Application
program (or) the operations of'various entities of the system, which are running
Development
Life Cycle collaborate to display the output.
~
Principle - 3

"Design for direct interaction with objects that appear on the screen".

Explanation: The interface should allow meaningful display of objects, such


that they should 'resemble the physical real world entities. Hence, the user, just
by viewing once should be able to identify the purpose of a given object.

For example: we often an icon displayed by the operating system, to refer to


an object which is responsible to control volume ofthe system.

.. Principle -4

"Provide for flexible interaction".

Explanation: The above principle specifies, that the user interface should
agree with the priority of interaction on the feasibility of the user.

For example: If a person is blind, then the system should supply feasibility by
allowing him to supply commands by means of using keyboards or voice
commands etc.

At the same time, it should be remembered that the provision of priority should
not be an alternative to the mode of interaction which suits best for given
application.

For example: It often turnout to be critical to use a keyboard to accomplish


sophisticated diagrams using "Auto Cad" Software.

Principle -5

"Define Interaction modes in a way that does not force the user into
unnecessary of undesired action".

Explanation: In an interface design, the designing of interaction mode is of


prime focus. The above principle lays stress on this aspect, since the user gets
frustrated if he/she remains too long or too short in it, hence, the user should
remain in this mode for a moderate period of time.

For example: Assume that the user is using the paint software and he needs to
draw a square on the monitor. This he can do it easily by selecting the square
from the list of shapes provided. The list of shapes should get deactivated as
soon as he selects and pastes the appropriate item on the monitor so that he can
switch on to another mode easily, without worrying much of shape mode.

38

I
Principle - 6 Analysis and
Application
"Streamline interaction as skills levels advance and allow the interaction Design
to be customized".

Explanation: The given principle favours to improve the design of the


interface, where the user intends to use a given series of action multiple times.
In this regard the concept of say, "Macros" can be used effectively.

"Reduce the User's Memory Load"

It is estimated that the best user interface design is that which makes the user to
apply very little of his intelligence. Hence, the above mentioned principle is
referred as one of the golden rules suggested by Mr. TheoMandel in favour of
designing the user interface design. According to him the interface should be so
.. interactive that, it should be capable. of storing certain valuable information
which is necessary and sufficient enough to make the user to recall the
procedures of interaction, thus allowing the user to apply very little of his
mental ability. Following are the certain principle suggested by Mr. Mandel in
this aspect.

Principle - 1

"Disclose information in a progressive fashion".

Explanation: This principle favours disclosing of information, belonging to a


given instance of an interface in a step by step manner. This means that, large
volume of information related to any instance of an interface should not be
directly provided to the user, rather, it should be initiated with a less volume of
information in first step, followed by increasing it next higher step.

Principle - 2

"Define Shortcuts that are intuitive".

Explanation: While designing a user interface short cuts should be preferred


to wider extent. This makes interaction very easy and in less time, since the
user need not worry of entire procedure, rather, just by remembering certain
shortcut values, he can make the work to be done.

For example: just by remembering shortcuts, "ALT+F+S", he can store a


given file easily of halting the given session by clicking the escape button,
using the mouse, clicking the file drop down list and then selecting the "store"
value which is cumbersome and time consuming process.

Principle - 3

"Establish meaningful defaults".

39

/
-. ,
Explanation: This is a direct principle, which specifies a default value to be
Application
included in every application of user interface. This is an important aspect,
Development
Life Cycle since a given interface can be used by !arge number of users (normal to
.
professional). But means should be provided to select from a set of values,
which are alternative to defaults and an "reset" option should also be included
which can switch to a default value. after remaining on the other alternative
values.

Principle ~ 4

"Reduce demand on short-term memory".

Explanation: The demand for short term memory rises only when a given user
is dealing with certain complex computations. If the interface includes certain
mechanisms to remember the previous interactions, this itself will take away
certain amount of memory. Hence, to check that the memory remains
available, then, instead of storing the previous interactions, this task can be
accomplished just by displaying certain "Visual Cues" which itself can be a
remainder to the user which he himself can recall his past interactions.

Principle - 5

"The visual layout of the interface should be based on a real world


metaphor".

Explanation: The above principle lays stress on the layout structure of the
interface. It says that the layout of an interface should resemble the real world
system terminology, referring which the interface has been built.

For example: If the interface represents the restaurant cash system, then it
should include the layout structure, as which is frequently observed at normal
restaurant's cash counter (i.e.,) the systems should include fields like total
amount, amount paid, amount returned etc.,

"Make the Interface Consistent":

This is one of the golden rules suggested by Mr. Mandel to achieve best user
interface design.

Following are the principles suggested by Mr. Mandel in favour of making the
interface design consistent.

Principle - 1

"Maintain consistency across family applications".

Explanation: Whenever we deal with a specific kind of task, the given set of
applications (associated with that task), should be implemented by following

40

/
/
I

You might also like