Managing Information Technology

(Frankie) #1
Chapter 8 • Basic Systems Concepts and Tools 351

Procedural Approach Object-Oriented Approach
Defining the Task A team of business managers prepares a
detailed design document specifying,
as precisely as possible, how the program
should do the task.

The O-O programmer searches a library
of objects (prewritten chunks of
software) looking for those that could
be used for the business task.

The Process Programmers divide up the design
and write thousands of lines of
code from scratch. If all goes well,
the pieces work together as planned
and the system fulfills the design
requirements.

Within days, a few objects have been put
together to create a bare-bones prototype.
The business user gets to “test-drive” the
prototype and provide feedback; by repeatedly
refining and retesting the prototype, the business
gets a system that fulfills the task.

Elapsed Time Months. Weeks.

FIGURE 8.20 The Promise of Object-Oriented Approaches (Based on Verity and Schwartz, 1991)

of the process of developing a new computer system using
procedural-oriented techniques.


Object-Oriented Techniques


An object orientation (O-O) to systems development
became common in the 1990s as the demand grew for
client/server applications, graphical interfaces, and
multimedia data. Objects can be used with any type of
data, including voice, pictures, music, and video. An
object approach is also well suited for applications in
which processes and data are “intimately related” or real-
time systems (Vessey and Glass, 1994). As described in
Chapter 2, common O-O programming languages include
C++, Java, and Visual Basic.
One of the primary advantages of an O-O approach
is the ability to reuse objects programmed by others (see
Figure 8.20). According to industry observers, successful
O-O approaches can produce big payoffs by enabling
businesses to quickly mock up prototype applications with
user-friendly GUI interfaces. Application maintenance is
also simplified.
Software objects are also a key concept behind the
sharing of software for an emerging type of network-
centric computing: Web services. A Web service enables
computer-to-computer sharing of software modules via
the Internet on an as-needed basis: A computer program
(which could be another Web service) “calls” a Web
service to perform a task and send back the result. This
type of “dynamic binding” occurs at the time of
execution and therefore greatly increases application
flexibility as well as reduces the costs of software
development: The computer program’s owner who uses
the service could pay the owner of the Web service on a


subscription basis or per use. Existing examples of Web
services include currency conversions (e.g., U.S. dollars
to euros), credit risk analysis, and location of a product
within a distribution channel. (For a discussion of the
software standards, communication protocols, and
development environments that enable Web services,
such as .NET by Microsoft Corp., see Chapter 2.)
Object-oriented techniqueshave not been adopted
at the original predicted levels for business applications.
Instead, organizations have taken a less aggressive
approach that requires less change in their practices, and
vendors have enhanced their non-object-oriented technolo-
gies and tools with object-oriented features. In addition,
some object-oriented core principles and techniques are
now commonly used to understand and represent systems
and system concepts during systems development and have
thus been integrated into what are essentially traditional
systems development approaches. We introduce the basics
of object orientation in the next section.

Core Object-Oriented Concepts
Anobjectis a person, place, or thing. However, a key
difference between an entity in data modeling and an object is
that data attributes as well as the methods (sometimes called
operations or behaviors) that can be executed with that data
are part of the object structure. The attributes of an object and
its methods are hiddeninside the object. This means that one
object does not need to know the details about the attributes
and methods of another object. Instead, objects communicate
with each other through messagesthat specify what should be
done, not how it should be done (see Figure 8.21).
Storing data and related operations together within
an object is a key principle of O-O approaches, referred
Free download pdf