Object Oriented Design
Object Oriented Design
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.
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. .
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
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
Hence, the layers described above provide the information on every aspect of
weather mapping system.
For example
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
«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.
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.
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.
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
33
/
Following is an example of state machine model.
Application
Development
Life Cycle
State
Activity
Events
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.
__ <_<_I_nt_e_rf:_ac_e_>_>_--l}
itemListener Interface Name
L...
itemStateChanged() }. Operations
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
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.,
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.
There are three main Golden Rules given by "TheoMandel" which are to be
followed.
They are:
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.
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.
- Every user intends comfort while he dealing with any of the graphical
interface,
Principle - 1
. Principlle - 2
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".
.. Principle -4
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.
Principle -5
"Define Interaction modes in a way that does not force the user into
unnecessary of undesired action".
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".
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
Principle - 2
Principle - 3
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
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
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.,
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
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