lccm researh digest (august-september 2005)

Upload: misadministrator

Post on 07-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 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

    [email protected].

    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