Information Technology Reference
In-Depth Information
procedures could change the same piece of data. This complicates the tasks
of managing changes to data by procedures and testing to ensure that a new
procedure does not adversely impact existing procedures. In the procedural
programming world, developers have to understand the procedural code to
know whether it is affecting the target data. If the developer does not per-
form detailed due diligence, it is likely the developer might develop a proce-
dure that is very similar to one that already exists.
The advent of object-oriented programming represented the generational
change in the IT arena. In the object-oriented world, data and the code that
supports that data are encapsulated in an object. The use of an object as a
higher-level grouping of data and behavior implies that there is less risk of
similar methods or procedures that perform the same operations. It is easier
to manage the data and access to the data because all operations on the same
data are encapsulated in an object. The enhanced management of data and
operations on data promotes higher code reuse. In the object-oriented world,
the methods are contained in the object and they are easy for the developer
to find and use. Furthermore, if an object does not satisfy the needs of the
developer, he or she can create a new object from an existing object. The
new object would inherit all of the attributes and methods of the existing
object. The ability to inherit attributes and methods tremendously enhances
code reuse. It makes maintenance easier because changes in the parent object
propagate to the children.
In terms of design and modeling, object orientation is a more
realistic representation of the real world than procedural pro-
gramming. In real life, physical (e.g., car) and nonphysical (e.g.,
sales order) objects have attributes and behaviors. Attributes
are changed by behavior based on some trigger (i.e., event). Objects
can interact with each other such that one object's attribute might
be changed by its behavior to another object's behavior. An example
would be the customer placing a sales order. In this example, the
customer object performs an action that results in a sales order object.
The sales order object has attributes (i.e., customer name, address,
credit worthiness) that come from the customer object through the
interaction. Object-oriented analysis and design allow dynamic and
interactive modeling of objects that is hard to achieve with struc-
tured design methodology commonly associated with procedural
programming.
3.2.1 Advent of Component-Based Technologies
Components take code reuse to a higher level than objects. The con-
cept behind components is to create pluggable objects to ease software
 
Search WWH ::




Custom Search