|
|
Symbols
Entity Relationship Diagram as a technical tool also has
predefined set of symbols. The purpose behind all
this is to have standardization in the use of technique in
varied situations. Some major symbols
commonly used are as under.
Primary key attributes are
underlined.
Dashed ellipses represent derived
attribute.
Double ellipses represents multivalued
attributes
EmpID
Lines link attributes to entity sets,
entity sets to relationship sets (also
represent roles)
Relationship (between two entities)
Attributes (of an entity)
Entity (a real world object)
117
ERD Example
The diagram shows a primary relationship is between two
entities, employee and the department. The
relationship is of an employee working in a department. The
figure also shows information available for
each of these entities.
Object Oriented Analysis and Design (OOAD)
The concept of object oriented analysis and design focuses on
problems in terms of classes and objects.
This concept combines aspects of both entity relationship
diagram and data flow diagrams. The object
oriented analysis and design tool has been devised to support
the object oriented languages, for example
C++ and Java. The roots of the concept of object orientation
evolved in late 60’s with the emergence of
first language “SIMULA 67” as the first object oriented
language. Object oriented methodologies do not
replace traditional approaches (such as data flow, process flow,
and state transition diagrams); they are
important new additions to the toolkit.
26.1 Why need Object-Orientation?
There are certain positive points which are becoming stronger
reasons for the increased use of this
technique.
•
Object orientation helps
in increasing abstraction and event-driven programming
•
The widespread use of
Graphical User Interface (GUI) encourages use of object orientation.
•
Software can be
developed on modular basis
1. Easier to maintain
2. Easier to upgrade
3. Easier to test
4. Easier to develop incrementally
•
Reusable Software – The
software developed using object oriented approach can be easily reused
due to independence/uniqueness of the objects i.e. an
independent accounting module built in
object oriented environment can be made a part of a complete ERP
solution without developing it
again from scratch for ERP.
26.2 Object Oriented Analysis
Phone
Name Dept. ID Dept. Name
Employees Works In Departments
Emp. ID
College Degree
Hire Date
No. of employees
118
The concept of analysis has been defined from different
perspectives in different approaches to system
development.
"The development activity consisting of the discovery, modeling,
specification and evaluation of
requirements,"
Donald Firesmith (Dictionary of Object Technology, 1995),
In OOAD analysis has been defined in a different manner
"The discovery, analysis and specification of requirements in
terms of objects with identity that encapsulate
properties and operations, message passing, classes,
inheritance, polymorphism and dynamic binding.”
Object oriented Design
The concept of design has been defined from different
perspectives in different approaches to system
development.
“Systems design is the process or art of defining the hardware
and software architecture, components,
modules, interfaces, and data for a computer system to satisfy
specified requirements.”
In OOAD analysis has been defined in a different manner.
According to Firesmith
“The design of an application in terms of objects, classes,
clusters, frameworks and their interactions is
called OOAD Analysis."
Basic Concepts
Following are the basic concepts related to this technique.
An object is defined as
“an abstraction of something in a problem domain, reflecting the
capabilities of the system to keep
information about it, interact with it, or both.”
Coad and Yourdon (1990)
An object is any abstraction that models a single concept.
Another Definition of object
“A concept, abstraction, or thing with crisp boundaries and
meaning of the problem at hand. Objects serve
two purposes. They promote understanding of the real world and
provide a practical basis for computer
implementation.”
Rumbaugh et al. (1991)
Components of object
According to Booch, there are three components of object.
Objects have state, behavior and identity.
•
Identity: Who is it?
Each object has unique identity.
•
Behavior: What can it
do?
What an object can do, how it can respond to events and stimuli.
119
•
State: What does it
know?
The condition of an object at any moment, affecting how it can
behave
Real-world objects share two characteristics: They all have
state and behavior.
For example,
•
Dogs have state (name,
color, breed, hungry) and behavior (barking, fetching, wagging tail).
•
Bicycles have state
(current gear, current pedal cadence, two wheels, number of gears) and behavior
(braking, accelerating, slowing down, changing gears).
Objects
–
Examples
Software objects are modeled after real-world objects in that
they too have state and behavior. We might
want to represent real-world dogs as software objects in an
animation program or a real-world bicycle as
software object in the program that controls an electronic
exercise bike.
Classes
A class is defined as
“The purpose of a class is to specify a classification of
objects and to specify the features that characterize
the structure and behavior of those objects.”
A class is any uniquely identified abstraction, that is, model
of a set of logically related objects that share the
same or similar characteristics. The purpose of a class is to
specify a classification of objects and to specify
the features that characterize the structure and behavior of
those objects.
An object is an instance of some class. All objects are
instances of some class. Instance also carries
connotations of the class to which the object belongs.
For example, computers are the domain/Class which can be divided
into following sub-classes:
•
Laptop computer
•
Desktop computer
•
Palmtop
In the sub-sub-class of laptops, we may identify various laptop
models or brands which may then have a
further division on a model-wise basis. |
|
|
|
|