Download - LCCM Researh Digest (August-September 2005)
-
8/4/2019 LCCM Researh Digest (August-September 2005)
1/12
ISSN 1656-8788Vol. 1 No. 3 TheOfficial Publication of the Research Center, La Consolacion College Manila August-Sept 2005
CUSTOMER SATISFACTION:
A FUNCTION OF ONES PERFORMANCE
RELATIVE TO THE CUSTOMERS
EXPECTATIONSMs. Natividad Pan ilinan
To make a difference in a customer-
oriented organization, we begin by reviewing howwe look at our customers. Are the customers
valuable to our organization? Are they vital toour success? If the answer is yes, not just the
administrators but the personnel more
importantly must develop a passion for satisfyingcustomers to exceed expectations. When the
attitude of serving is developed the behavior
becomes value-laden. The purpose of this paperis to show that service is ongoing a recurringissue, not- an incessant concern.
Frontline employees not only deliver the
goods in service based organizations. They defineit. Service quality must then be characterized tomake intangible service concrete.
The goal of service quality is very simple-
customer satisfaction.
Service quality focuses on satisfying
customers needs in the hundreds of little
moments of truth that make up the customers
perception. Satisfying these moments of truth,
one at a time, make customers comeback. High
levels of repeat customers lead to high levels of
profit. Many companies find 20 percent of their
customers provide over 80 percent of their
revenue. These are repeat customers. Customer
retention is at the heart of profitable companies
Frederick F. Reichheld, founder anddirector of Bain & Companys customer retentionpractice, looks for a better measure of quality. Hefound out that boosting customer retention by 2
percent can have the same effect on profits as
cutting costs by 10 percent? A similar studyrevealed that a 5 percent increase in retentionleads to significant boosts in profits.
____1www.ecommercetimes.com/images/rw5247/satisfaction-1.jpg)
How customer satisfaction leads to customer loyalty is well
represented.1
-
8/4/2019 LCCM Researh Digest (August-September 2005)
2/12
Industry Boost in
profits
Automotive service 81%
Auto/home insurance 84%
Bank branch deposits 85%
Professional publishing 85%
Credit cards 89%
Life insurance 90%
Corporate insurance brokers 93%
Advertising agencies 95%
Figure 1: Impact of retention on profits. What a 5percent increase in customer retention does to profits.
If customer service is the main goal, what are thecomponents of Total Quality Service (TQS)?According to Noriaki Kano, a Japanese Union of
Scientists and Engineers counselor said quality
must have the following key points:
Scientific means that managers use
data rather than gut-level intuition to makecomplex decisions. They study facts on qualitynot slogans and exhortations-to drive decisions
and use survey customers on their needs andlevels of satisfaction. Managers do not assumethey know their customers. Managers and teams
set service quality goals, monitor them, and usethe results to develop the planning process.
Results, rather than grandstanding, arerewarded.
Systematicmeans just that. Customer
surveys are sent out regularly rather thansomeone getting around to it. Systematicquestions are included to determine trends.
Feedback is used to set service quality goals andcreate innovations to meet needs. Solutions aremonitored to see whether they are working.
Team wide means that everyone is on
board. Service quality stretches from the top of
the organization to the bottom.
Why Measure Customer Needs and
Satisfaction?
Continuous improvement efforts in anorganization must be anchored in customer
satisfaction. If customer requirements will not bemeasured, the data that drives the whole qualityprocess, will disclose irrelevant efforts.
Customer Needs Assessment
A customer needs assessment tells whichspecific needs are or are not fulfilled by theproduct or service.
Customer needs cannot be easily assessed
by written surveys. A trained interviewer canhelp customers clearly define what specific needs
are met by the service or product. The main
tools for customer needs assessment center arethe following:
*Focus groups or interviews
*Customer advisory groups
*Observation
*Predictive measures of customer
satisfaction and dissatisfaction (qualitydata)
Customer focus and satisfaction
measurers asses whether the service or qualitymeets expectations. The formula for service
quality is:
Results expectations = Service quality.
Customers perception of service quality is
directly related to their experiences relative toexpectations. Customer focus and satisfaction
measurers are quite varied. They include bothsoft and hard measurers. Soft measures are
centered on center on customer perception.What people say and what they do may be
different. Soft measures help one understand
what customer think of the service or productrelative to competition. On the other hand,hard measures are behaviors and are measured
concrete figures like cash register receipts,
market share, revenues, and profits. Hardmeasures keep one informed of what they are
actually buying. Both are important tounderstand customers.
Soft measures for customer satisfactioninclude surveys and focus groups or interviews.
Maintaining consistency and providing flexibility,as previously illustrated, is difficult when buildingGUIs unless one adopts an orderly design
approach. Observation is encouraged. Hard
measures include customer retention levels,market share, number of referrals from othercustomers and revenue.
LCCM Research Digest 2
-
8/4/2019 LCCM Researh Digest (August-September 2005)
3/12
Limits of Benchmarking
In an effort to carry out total quality
management (TQM) many companies have usedbenchmarking or studying the best practices ofother organizations and using them as a guide for
improving their own practices.
Benchmarking has the potential tobecome an artificial ceiling for many companies.
If the competitive focus is external and theybenchmark another organization, it can artificially
limit the organizations success. It can however
be intimidated by failures. But for it tobenchmark another organization and the
competitive focus is internal, one can say, Lookwhat theyre able to accomplish.
THE NINE UNIVERSAL RULES OF BUSINESS
Rule #1: Every Employee Is a Salesperson
Everyone in the organization sells
something to someone. Bosses sell innovation toemployees; employees sell new ideas to bosses;
one employee sells a project to a fellowemployee; and everyone sells to customers.
Success in any job requires the skills of
successful sales people. Listen to anothersneeds, respond to those needs, and present thecase persuasively. This is what sales people do.
Rule #2: Not Everybody Believes Rule #1Many people have a negative bias toward
salespeople; they do not want to think ofthemselves in such a way.
How do employees view their role? Manyhave an operations mindset: Were paid to
push products through, not deal with customers.
They may even have a bad case ofprofessionalism mind set: Were paid as
professionals (accountants, engineers,
whatever). We dont sell anything to anyone. Weallow them to buy. Unfortunately, customers let
you sell to them.
Rule #3: Not Everyone Behaves Accordingto Rule #1
If you dont believe youre a salesperson,
and you dont believe that most people in the
organization are salespeople, youll feel no needto behave like one . You do your job and the
heck with the customer (even though, in reality,everything you do affects the customer either
directly or indirectly).
Employees who do not behaveappropriately may behave in ways that are
actually quite negative. Some have thetransaction mentality their primary concern is
expediting a transaction. The fact that acustomer is involved is irrelevant. Other
employees are what we call the Gotchas. Theseindividuals cant wait for another person to screw
up so they can say, Gotcha! Another type of
employee doesnt behave like a salespersonbecause he or she has a not my job mentality.
This employee practices the narrowest definitionof his or her job. Finally, there are the just-
enough the employees who dojust enough toget by. They do just enough to complete the
project. They never go the extra mile.
Is it a wonder that if employees have atransaction mentality, have a gotcha mindset,
believe that most of what happens in theorganization is not my job or do just enough,they will narrowly define their job so as not toinclude sales?
Rule #4: Every Employee Has a Customer
If every employee is a salesperson, thenevery employee must have some type of
customer to serve. This is easy to understand ifemployees work with the people we traditionally
define as customers: those who buy and use the
product, the people whose payments become theemployees paychecks. We call these people
external customers. If an employee has nocontact with an external customer, his role in the
organization involves providing services to othersin the organization. These employees are the
internal customers. The internal customers
deserve the same great treatment that one wouldnormally give an external customer. They depend
on the employee as much as the externalcustomer depends on the organization.
Here are some facts about serving internal
and external customers:
* Anything and everything you do to serve your
internal customer ripples outward, affecting howwell you serve the external customers.
LCCM Research Digest 3
-
8/4/2019 LCCM Researh Digest (August-September 2005)
4/12
*You can serve the external customers only to adegree that you serve the internal customers.
*Customer satisfaction mirrors employeesatisfaction.
*Happy employees create happy customers.
It is difficult to have satisfied customers
without satisfied employees. The way a person
feels on the inside about his job affects hisperformance.
Rule #5: Value Added Customer Service isnot a Spectator Sport
Everyone in the organization is involved in
value added customer service because it is aperformance oriented philosophy. Each is
accountable for creating a satisfied clientele.Every employee must actively participate for
there are no spectators in this sport onlyactive, enthusiastic participants.
Rule #6: Each Value Added Team Member
Affects Value
As a value added team member, onecontributes energy that either adds to the teams
momentum or serves as a drag to the team.
The following questions can challenge an
employee:
* Am I contributing to the progress or am I
pulling it down?
*Am I cost centered or profit centered?
Remember, theres no guarantee when
performance costs money. The security andfuture of the company are directly related to howmuch value you add.
Rule #7: We Is Greater than Me
If everyone is accountable for creatingsatisfied customers and everyone serves each
other, employees combined efforts create
synergy. What they accomplish together isgreater than the sum of the individual parts.Simply put, we is greater that me. If salespeople
promote the idea of My customer in the
organization, other employees feel no need totake care of your customer.
On the other had, if salespeople talkabout our customer, employees will be more
committed to serving the customer. Everyone in
the organization is moving toward a commongoal of serving the external customer eitherdirectly or indirectly by serving their internal
customers.
Rule #8: Value Is Personal, Perceptual, andPerformance Driven
Value means three things. First, it iswhatever the customer says it is. Value is
personal. Customers define value.
Second, customers determine value basedon what they perceive. Perceived value is the
gift wrap on the package the promise that
builds anticipation. And it is the customersperception of value that ultimately counts.
Performance affects the perceived value ofservice. The tone of voice, attitude ofhelpfulness, professional image, knowledge, andinitiative shape perceptions of value.
Third, if the perceived value makes
customers feel good about buying, performancevalue makes them feel good about owning and
using what you sell them. Performance value iscreated by the product or service on the
customer.
Rule #9: Nurture the Sense of Belonging
One of the most fundamental yetdominant needs of any individual is the sense of
belonging. People need to feel they belong
somewhere.
This applies to customers and fellowemployees. Do they feel that theyre part of the
organization? Do they feel like a vital member ofthe group? Do they enjoy a sense of belonging,
or they feel isolated or alienated? For every
customer and employee that organization fails toengage, embrace, or bring into the fold, theres
another organization out there that would love anopportunity to make them feel welcomed andimportant.Competitors would love for employeeor customer to feel a strong sense of identity
within their group.
LCCM Research Digest 4
-
8/4/2019 LCCM Researh Digest (August-September 2005)
5/12
It is the aim of the LCCM Research
Digest to be the sounding board of up to
date ideas and actions related to research
and classroom management and materialdelivery of the faculty in the different
schools of the College.
The LCCM Research Digest
encourages and welcomes condensed
versions or a short summary of research or
review essays, conference papers, lecture
notes, teaching guides, and other
classroom material /innovation for its
bimonthly publication.
Satisfied Employees Produce SatisfiedCustomers
When a firm provides value for itsemployees, it improves the value that willultimately deliver to its customers.
Satisfaction, respect, quality, and value are
all imperative. Employees who feel satisfied withtheir jobs and with their employer are more likelyto want that employer to succeed and will work
harder to ensure success. This often translates
into better relations among employees that aremore likely to deliver higher-quality service both
within the company and to external customers
than those who are not satisfied in their jobs.
For this reason, companies who wish to
deliver superior service and increased satisfactionamong customers must first focus on the quality
of service being delivered within the organization.This quality of service determines the satisfaction
and loyalty of the employee. To improve
satisfaction among employees, companies mustimprove the value the employee receives by
working for the company. This does notautomatically translate into higher wages or
better benefits packages, although these cannotbe ignored in the overall value proposition to the
employee. Improving internal service quality,communications, and the treatment of individual
employees will add value.
The way in which employees are treatedand the level of employee satisfaction that results
have an impact on customer satisfaction,
retention, referral rates and overall profitability.
Conclusion
Companies or institutions that would liketo implement a system that is focused on
building customer relationships must understand
that it will require internal changes change incorporate thinking, in culture and even in values.
Change total commitment beginning from the topmanagement all the way down to the employees
some of which never even get close to meetingor even taking a customer.
A relationshipbased approach to dealingwith customers makes considerable sense. It
provides a way for a company to set itself apart
from its competitors while developing links withcustomers that will see it reap the dividends for
many years to come.
R
References
Barnes, J. (2001). Secrets of Customer RelationshipManagement. United States. McGraw-Hill.pp. 42-43
Kessler, S. (1995). Total Quality Service. Milwaukee,Wisconsin. Quality Press.pp. 3-6.
Kotler, P. (2003). Marketing Management. UnitedStates. Pearson Education Asia Pte Ltd. pp 55.56.
Payne, S. (2000). Delivering Customer Service,
Wanchai, Hong Kong. Grolier International.pp. 11-18.
Reilly, T. (1996). Value-Added Customer Service,
Chicago, Illinois. Contemporary Books, Inc.pp. 11-21.
Ms.Natividad Pangilinan
Faculty
School of Business andAccountancy
LCCM Research Digest 5
-
8/4/2019 LCCM Researh Digest (August-September 2005)
6/12
The concept of objects in computing had been
noted around 1960s at MIT, and exhibited by an
application called Sketchpad by Ivan Sutherland
in 19631. When answering the question, How did
OOP start?, Filipinos can easily recall the answer,
it started from the Simula (simula in Filipinomeans beginning or start).
As a clear programming paradigm, Ole-
Johan Dahl and Kristen Nygaard of the Norwegian
Computing Center in Oslo presented OOP as
embodied in Simula 67, a programming language
designed for making simulations. Dr. Nygaards
team conceptualized Simula as traditional
programming methods proved to be inflexible for
their simulation project 2.
OOP as a Programming Philosophy
Just like procedural programming, OOP is
a philosophical approach to conceptualizingcomputer programs3. OOP is not just a set oftools or the use of a programming language,
particularly an OOP language, which outright
makes one program an object-oriented program.In fact it is possible to some degree to create
object-oriented programs using a structuredprogramming language like C4. On the other
hand, one might have used an OOP language tocreate a set of programs but have not, after all,
done it in true OOP sense. This is a common
misconception among programming students andpossibly among industry practitioners, that using
an OOP language is right away OOP.
Communication among Software Pieces as
Key Characteristic of OOP
One distinguishing characteristic of OOP isits fundamental use of communication among
running program components or program sets.
True OOP would always maximize the use ofthe communication
mechanism provided by OOP languages. This is
very natural since one of the intents of OOP is to
simulate how objects in the real world operate. Inthe real world, aside from the fact that objects
would not only have inherent characteristics and
functionalities, objects typically relate to otherobjects in many ways.
For example, some are members ofothers, or some would need others to function
completely. A table would have legs, a car wouldhave wheels, motor, etc. In the virtual world,
everything is just temporal data (although onemight question whether theres really a difference
between these two worldsthat is another topic),
and the only way to implement relations amongobjects is through object communications.However, more than the use of communication
among objects to simulate the real world, or justbecause OOP languages always providecommunication mechanisms, the concept of
communication among software pieces facilitates
flexible programming and code reuse.
Illustration of Communication among
Software Pieces as Key Characteristic ofOOP
To illustrate this, consider the simple user
interface as shown in Figure 1. Lets say that it is
composed of the buttons b1, b2, b3, and labelsl1, l2, and l3 with their respective texts. Theres
also a text area ta following the said buttons and
labels. The objects are arranged such that when
the button b1 is clicked, the text ofl1 disappears
but is displayed in the text area ta. The other
buttons and labels behave similarly. The clicking
of buttons may be done in any order but the
result is consistent. The pseudo codes in Figure 2
and class diagram in Figure 3 may describe a
typical solution that one may think of particularly
concerning the behavior of the buttons and labels.
REALIZING OBJECT-ORIENTED
PROGRAMMING BY OBSERVABLE-OBSERVER
APPROACH TO OBJECT COMMUNICATION
Mr. Ramiro Advincula
LCCM Research Digest 6
-
8/4/2019 LCCM Researh Digest (August-September 2005)
7/12
//import necessary packagesclass ui1 {
//declare class variables such as frame, panel, buttons, labels, and text area//define constructor//method for actions performed where an event may be an argument{
//if a button is clickedswitch(/* clicked button */){
case//clicked button is b1://set the text of ta to the text of l1//clear the text of l1break;
case//clicked button is b2://set the text of ta to the text of l2//clear the text of l2break;
case//clicked button is b1:
//set the text of ta to the text of l3//clear the text of l3
}}
}
Figure 2. Pseudo Codes of Initial Solution for ui1
Figure 1. A Simple User Interface ui1 ScreenShot
ui1
LabelButton TextArea
Figure 3. Class Diagram of Initial Solution for ui1
LCCM Research Digest 7
-
8/4/2019 LCCM Researh Digest (August-September 2005)
8/12
//import necessary packagesclass ButtonAndLabelUnit {
//declare class variables such a button and a label//define constructor
//method for actions performed where an event may be an argument{
//if the button is clicked{
//send message to ta to set its text to the text of the label//clear the text of the label
}}
}
//import necessary packagesclass ui1 {
//declare class variables such as frame, panel,//3 instances ofButtonAndLabelUnit, and a text area//establish the communication mechanism between the ButtonAndLabelUnit and//the text area//define constructor
}
At first glance, the solution appears to be
all right. This solution however exhibitsinflexibilityit would need encoding of additionallogical operationssome more case blocks would
be required, when the number of buttons and
labels is increased. Is this OOP? It is hardly or atleast not entirely. OOP approach would exhibitencapsulationattributes and behaviors are
packaged altogether leading to some degree of
autonomy. Rather than the encompassing ui1
class or its instance being responsible for
detecting clicking actions done to the buttons,and then clearing the text of the labels anddisplaying texts in the text area, a button and
label can be viewed as one object that can be
clicked, can tell the text area to display its labelstext, and can clear its labels text. This way, evenif some more buttons and labels were added,
there would be no need for additional codes.
Consider the solution described in Figure 4 andFigure 5.
Figure 4. Pseudo Codes for ui1, Another Solution
LCCM Research Digest 8
-
8/4/2019 LCCM Researh Digest (August-September 2005)
9/12
Note again that with this solution the logicalresponsibility of responding to button clicks and
clearing label texts were assigned to the unit
objects themselves, not anymore to theencompassing class. This makes it possible to
add more object units without the necessity of
adding or modifying codes with coherent logic.However, there is now a new requirement, a unitobject of Button And Label must be able to
communicate with the text area instance ta. This
is a common situation when enforcing OOP,which also highlights the necessity of object
communication.
Approaches to Communication among
Objects
Allowing objects to communicate with one
another may be done in many ways. These waysmay range from crude brute-force type to morerefined or high level mechanisms provided by theprogramming language.
Shared Text Files
Although not very much discussed in
many books for the reason that this method isvery inefficient, object communication can be
done using shared text files. A program maywrite data to a text file while another currently
running program may open the same file, accessthe data, and use it for its operations. Oneadvantage of this approach is that
synchronization of programs is not a problem.Since writing and reading to a secondary memory
do not mix, and most operating systems (OSs),would have good management of these
operations, the programmer does not need to
worry about whether the writer program is
already done before the reader program starts its
turn or vice versa. However, writing to andreading from a file in a secondary memory takes
relatively so much time, not to detail the length
of coding that may be needed to incorporate theoperation. Note also that if this is done, other filereading and writing operations on the same
storage medium maybe hampered.
Shared Database by a DatabaseManagement System (DBMS)
A better version of communication byshared text files is communication by usingshared database files maintained by some DBMS.
Although the sharing of data among programs is
also by means of a common file, a database filecreated and maintained by a DBMS allows the set
of tables in the file to be dynamically available.
The DBMS software may load the set of tablesinto the computers primary memory and make itavailable for client programs using queries. Since
DBMS software typically manages accesses to
databases, there is nothing to worry about thesynchronization of the programs reading and
writing operations. The only concern then for this
approach is the availability of the DBMS and the
formulation of Standard Query Language theprograms are visible to the other. Further
communications between the parent and child
programs can be done using the pipe () function6.
ui1
ButtonAndLabelUnit
TextArea
LabelButton
Figure 5. Class Diagram for ui1, Another Solution
LCCM Research Digest 9
-
8/4/2019 LCCM Researh Digest (August-September 2005)
10/12
Observable
addObserver( _:
Observer)
deleteObserver(
_:Observer)
setChanged()
notifyObservers
()
Observer
update(_:Observable
, _: Object)
Figure 6: The key methods of Observable class and
observer interface.
In OOP, declaring the variable as of class
scope can easily do sharing of variables. Thestatic keyword is used in Java for this purpose.Once a variable is declared as a static class
variable, changes to the variable made by the
instances of this class will be visible to others.However, this approach is limited to sharing ofvariables among instances of classes, not
independently running programs.
In both programming paradigms though,
sharing variables would pose synchronizationproblems that would require use of concurrency
mechanisms like mutual exclusion, semaphore,or some synchronization directives.
Language based mechanisms
OOP languages, building on basiccommunication mechanisms, further provides
high level approaches to communication amongobjects. Java for example has ready classesserving independently or in cooperation withothers as application programming interfaces
(APIs) for facilitating object communication.
Some examples are the streams, sockets, andremote method invocation (RMI) classes.Furthermore, Java provides the Observable class
that works in cooperation with Observer interface
for facilitating communication among objectsinvolved in graphical user interfaces (GUIs).
The Java Observable-Observer Approach toCommunication among Objects
This approach suggests that classes can begrouped into two according to their roles, one
group being those that are mostly data (theobservable), and the other group being thosethat are thepresenters (the observer) of data to
the user. Note that the reference of the terms
observable and observer is not from the usersbut from the programs view so that observer isnot the user but a component of the program
that monitors the changes of the observable. The
responsibilities of the observable and observercan be described as the following7:
- Each observable keeps track of the
observers that display the observablesinstance-variable values.
- Whenever an observable objectvariable value changes, all the related
observers are notified that a change
has occurred.- Each related observer, in response to a
change notification, checks the
observable objects variable values todetermine its own action.
As previously mentioned, Java supportsthis observable-observer pattern by providing theObservable class and the Observer interface from java.util package. The following nodes in Figure
6 present the key methods available in the saidclass and interface.
The following describes the key methods
available in Observable class:
- The addObserver() attaches observers,
or more precisely objects that
implement the Observer interface.- The deleteObserver() detaches
observers.
- The setChanged() establishes that anoteworthy change has occurred.
- The notifyObservers() announces to
related observers that a noteworthy
change has occurred since the last callof setChanged() method.
The Observer interface provides one key
method, the update () which can be used tochange the display of values in the GUI upon
receiving notification from the related Observable
object. When an observable object notifies anobserver, the observer receives a copy of the
observable object and an object type message asarguments to update ().
LCCM Research Digest 10
-
8/4/2019 LCCM Researh Digest (August-September 2005)
11/12
import java.awt.*;import java.awt.event.*;import java.util.*;
class ButtonAndLabelUnit extends Observable implements ActionListener {Panel unitPanel;Button unitButton;Label unitLabel;
ButtonAndLabelUnit(String buttonText, String labelText) {unitPanel = new Panel();unitButton = new Button(buttonText);unitButton.addActionListener(this);unitLabel = new Label(labelText);unitPanel.add(unitButton);unitPanel.add(unitLabel);
}
public void actionPerformed(ActionEvent e) {setChanged();notifyObservers();unitLabel.setText("");unitButton.setEnabled(false);
}}
class observerTA extends TextArea implements Observer {
observerTA(int h, int w) { super(h, w); }
public void update(Observable blu, Object m) {ButtonAndLabelUnit received = (ButtonAndLabelUnit) blu;setText(received.unitLabel.getText());
}}
class ui1 {String texts[] = {"I saw.", "I came.", "I conquered."};Frame uiFrame;
Panel uiPanel;ButtonAndLabelUnit blus[];observerTA oTA = new observerTA(5, 15);
ui1() {uiFrame = new Frame("ui1");uiPanel = new Panel();blus = new ButtonAndLabelUnit[3];for(int i=0; i
-
8/4/2019 LCCM Researh Digest (August-September 2005)
12/12
Mr. Ramiro AdvinculaArea Chair- IT Dept.School of IT and CS
Research Interest:
D-base programming
OOP
Contact Number:
736-02-31 loc. 37
LCCM Research Digest
is published by the Research Center
La Consolacion College Manila
S231 Gregor Mendel Science Center
8 Mendiola St., Manila
Vol. 1 No. 3 August -September 2005
Editorial Board
Sr. Imelda Mora, OSA
President
Mr. Geronimo Suliguin Jr.
Director-Research Center
Dr. Divina Edralin
Consultant
Carmela R. ClaudManaging Editor
For comments, suggestions and contribution, call (632)
736-02-35 loc. 21 or 313-05-09 or e-mail us at
Also visit http://www.lccm.edu.ph/research.
ISSN Number 1656 -8788
Applying Observable-Observer Pattern
Using the Observable-Observer pattern, we can
now complete the solution presented in Figure 6and Figure 7 for our illustrative user interfaceproblem. The ButtonAndLabelUnit can be
classified as an Observable while the text area ta
can be the Observer. Whenever theButtonAndLabelUnit is clicked, it notifies ta thatthere has been a change then it clears the text in
its label. The observer text area ta, on the other
hand, upon being notified thus receiving a copyof the observable object and an object type
message through its update method will be able
to display the text of the Bottom Label Unit.Figure 7 presents actual Java source codes forthis solution.
Conclusion
The illustration presented may be consideredrelatively trivial and other approaches that are
simpler and with shorter source codes may bethought of to achieve the same results, forexample declaring text area static thus setting itas a shared attribute for the buttons to
commonly manipulate. Nevertheless, itsufficiently demonstrates how Observable-Observer approach can be used for providing a
communication mechanism among objects and
lays out a fundamental exercise from whichsolutions to more complex programmingproblems may based. In the long road of OOP,
the Observable-Observer pattern will prove to be
very beneficial, as those who were there aheadhave found it. The Observable-Observer approach
simplifies communication among objects allowing
one to develop even robust distributedapplications.
As discussed and shown, communication among
objects is central to OOP. Using observable-observer contributes to, not only realizing OOPitself, but more idealistically to realizing it as
science and art.
References
1Wikipedia (2002). Object-oriented Programming
History. Free Software Foundation,Inc. Retrievedfromhttp://en.wikipedia.org/wiki/object-oriented_programming#History, on 25 August2005last modified 23 August 2005,.
2 Shelly G., \ Cashman T. and Starks J. ( 2001).The Object-OrientedApproach. Java Programming ConceptsCourse Technology.Thomson Learning.
Java in 21 Days
3Lemay L. and Cadenhead R. (1999). Teach Yourself Java2 in 21 Days,2/ed. Sams Publishing
4 Field P. (1998).Object oriented Programming in C.Retrieved fromhttp://www.accu.org/acornsig/public/articles/ppo
c.html.Last modified 19th
July 1998. on September2,2004.
5 Kelly A. and Pohl I. (1995). A Book on C, 3/ed.Benjamin Cummings Publishing Co., Inc.
6 Barret M. and Wagner C. (1996), C and UNIX Toolsfor Software Design, John Wiley & Sons, Inc.
7 Winston, P.H. and Narasimham, S. (1999). On ToJava, Patrick H. Winston by Addison Wesley
LCCM Research Digest 12