• No results found

Chapter 6: System Implementation and Empirical Evaluation

6.1 System Implementation

As described before, this research develops a new framework that supports the setting of SMART objectives and aims to provide constructive feedback to employees regarding their written objectives.

In this research, the developed system based on the proposed framework has been implemented using the Java programming language (Gosling, Joy, Steele, and Bracha, 2005). In particular, the JDK (Java Development Kit)12 (version 1.5) and NetBeans

IDE13 (version 6.8) open source software have been used for building the Java

application of the developed system.

The structure of the application developed for the system is a model view controller (MVC) (Reenskaug, 2003; Curry and Grace 2008). MVC is a pattern architecture for designing GUI. It simplifies the design of the interface and facilitates the interactions between the user and the system. Moreover, it supports the process of maintaining and testing the application. MVC consists of the following three main elements:

12 http://www.oracle.com/technetwork/java/archive-139210.html 13 http://www.netbeans.org/

A Model (Business Logic), which is concerned with representing, storing, managing and handling the data of the application domain.

A View (User Interface), which manages the display of data of the application.  A Controller (User Input), which interprets the user input events and converts

the user interactions into actions that must be performed or modified by the model.

The user interface for the implemented application has been developed by using Java Swing (Loy et al., 2002). Java Swing is a GUI toolkit for providing graphical user interfaces for Java applications, where its components are platform independent, since they are completely written in Java. Furthermore, the MySQL14 (version 5.5) open

source database tool has been used as backend of the application to save the past historical data of sales utilised in this study in a database in order to retrieve the required information of sales from this database. As described in Chapter 5, there are two datasets of sales which have been used in the experiments conducted by the WEKA implementation of the linear regression algorithm: PC sales data and mobile sales data. Thus, a database and two tables have been created using MySQL. The first table represents the sales table, and includes the sales data of PC and mobile phones, while the second table is the products table, and includes the product types (e.g. PC, mobile).

The interface of the developed application for the system can provide good interaction between the user and the system itself. For example, the implemented system allows a user such as an employee to type a set of objective sentences on the system interface. Then, the system parses these objective sentences and assesses whether they are SMART. In addition, it provides the employee with the feedback and guidance on the written objectives in order to help him/her in formulating good objectives. In particular, the implemented system enables the employee to type an objective in each sentence text box and enter a suggested value for each of the available items and staff in the background information text boxes for items and staff. After entering and submitting an objective, the application will scan the entered objective sentence and its words in order to assess whether the required features for writing SMART

objectives are met for the entered objective. The assessment process of the application for the required features of the SMART objectives is based on using and applying the rules induced by the applied machine learning method and the classification rules and equations generated by the utilised data mining techniques to check whether the objectives are SMART.

Therefore, the grammar rules for SMART objectives which have been learned by ILP are implemented and used in the application in order to assess whether an objective is “specific”, “measurable”, and “time related”. In more detail, the developed system will apply the grammar rules induced by ALEPH to check whether an employee has entered some particular linguistic data patterns that are supposed to be present in an objective in order to be “measurable”, “time-related”, and “specific”. These linguistic textual patterns represent the numerical measures that indicate the amounts of sales (i.e. percent or money), timescales (i.e. dates), and the target words that are commonly utilised in writing SMART objectives, where these target words are the action verbs that describe the action taken to achieve an objective and the common nouns that identify the objective domain.

To check whether an entered objective sentence includes the action verb and the common noun required to write SMART objectives, the API of RiTa WordNet15 is

used to perform this task by accessing the WordNet database files to retrieve the needed semantic information. RiTa provides a WordNet library for Java which supports access to the WordNet lexical database to return lexical and semantic information such as synonyms, antonyms, hypernyms, hyponyms and verb-groups.

In the developed application, some fields and methods in the RiTa WordNet have been chosen to check whether the words in an objective sentence represent nouns and verbs, where the field “RiWordnet.NOUN” has been used to identify a string from noun part-of-speech and the field “RiWordnet.VERB” has been also utilised to indicate a string from verb part-of-speech. Then, the method “isVerb” is used to check whether a word in an objective sentence represents a verb. Moreover, the method “isNoun” is utilised to check whether a word in the objective sentence is a noun.

Figure 9 presents an outline of some rules that are used in the application to check whether a word in an objective sentence represents a noun and whether it is one of the target words defined in a list of nouns or one of their synonyms based on WordNet.

Figure 9 An Outline of the Rules that Check If a Word in an Objective Represents a Noun

As shown in the above figure, in the case that a word in an objective represents a noun, the system will then check whether this noun is one of a set of nouns that have been defined in a created list of nouns, which includes some of the target common nouns (e.g. sales, purchases…). Otherwise, the system will check whether the noun in the objective sentence is one of the synonyms of the nouns defined in the created nouns list, by retrieving all the synonyms of the nouns in the list from WordNet in an array, then matching these synonyms with the noun in the given objective sentence. Here the method “getAllSynonyms” is used to return all the synonyms of a word. For example, if the noun in the objective sentence is “gross-sales”, while the noun “sales” is one of the nouns in the created nouns list, the “getAllSynonyms” method will return “gross-revenue” and “gross-sales” as the synonyms of the noun “sales”. Then, system will match the noun “gross-sales” which appears in the objective with the synonyms of the noun “sales” which are “gross-revenue” and “gross-sales”. Since the noun “gross-sales” in the objective sentence has been matched with one of the synonyms of the noun “sales”, then the system will return true. This means that the target word that represents the common noun has been correctly specified in the entered objective, where this noun indicates the objective domain (sales). Figure 10 presents an outline

of some rules that are used in the application to check whether a word in an objective sentence represents a verb and whether it is one of the target words defined in a list of verbs or one of their synonyms based on WordNet.

Figure 10 An Outline of the Rules that Check If a Word in an Objective Represents a Verb

As shown it the above figure, in the case that the word in the objective sentence represents a verb, the system will then check whether this verb is one of a set of verbs that have been defined in a created list of verbs, where this list contains some of the target action verbs (e.g. increase, maximise, achieve, gain,…). Otherwise, the system will verify whether the verb in the objective sentence is one of the synonyms of the verbs defined in the created verbs list, by retrieving all the synonyms of the verbs in the list from WordNet in an array, then matching these synonyms with the verb in the entered objective sentence.

The linear regression algorithm has been implemented in Java for the developed application in order to ensure whether an objective is “achievable”. Thus, the system retrieves the data of product sales from the stored tables in the created database, in order to compute the linear regression and the least squares equations and then predict the product sales for the proposed year in a given objective. The prediction interval equation has been also implemented in Java to estimate the correct range of sales for a specific product within a given year. The implemented system will then compare the suggested amount of product sales in the objective with the predicted interval of

product sales for a given year to check whether it is possible to accomplish the proposed amount of product sales within the given year in the objective sentence.

The rules induced by the JRIP rule induction algorithm are stored in an input data file. These rules are used by the application to validate the attributes: product, date, items, and staff with the provided data in the objective sentence (product and date) and the background information (items and staff) in order to classify whether an objective is “realistic”.

If all the conditions (specific, measurable, time-related, achievable, and realistic) are met for an objective, the system will then display the result of assessing this objective on the system interface, and inform the employee that he/she has entered a SMART objective. Otherwise the system will provide guidance and feedback messages to inform the employee what is missing or incorrect.

Figure 11 presents a snapshot of the system interface which includes a set of examples of objective sentences taken from the constructed corpus for this research and the results of assessing these objectives using the developed system. Additionally, the system interface presents some feedback messages regarding the written objectives.

Figure 11 A Snapshot of the System Interface (1)

In the above interface, the large text boxes are set for entering the objective sentences, while the small text boxes are specified for entering the background information such as the quantity of items and staff. In addition, the button “add” in the interface is for adding a new objective sentence in a new text box. The button “submit” is for sending the entered objectives and background information to be processed by the system. The button “reset” is for clearing up the entered text in the text boxes. As shown in the above figure, the system has parsed each objective sentence with the background information to indicate whether the entered objective represents a SMART objective. For example, the result of assessing the first objective sentence (“To increase PC gross-sales by at least £18.999 by 2008.”) is SMART, since this objective has met all the requirements of the SMART criteria. The second objective sentence (“By the following year, mobile sales will boost to £819.”) is also considered SMART. On the other hand, the result of evaluating the third objective sentence (“The corporation will attain £3000 sales for mobile by 2008.”) is not SMART, since this objective is not

“achievable”. The reason identified for this is that the proposed amount of sales (£3000) in the given objective is not between the predicted range of the product (mobile) sales for the proposed year (2008). A feedback message appears to the employee for illustrating why the objective is not SMART and indicates the correct range of mobile sales for year 2008, which is from £735.001 to £989.398 (in Millions). The result of appraising the fourth objective sentence (“By 2009, the company will enlarge the size of mobile sales.”) is not SMART, since this objective is not “measurable”, not “specific” and not “achievable”. The reason identified for this is that the sales amount which represents the numerical measure is missing in the objective sentence, where the “measurable” criterion requires stating a measure (sales amount) in the objective sentence for measuring the achievement of the objective outcomes. Furthermore, the “specific” criterion necessitates stating a well-defined objective sentence by specifying clearly what is to be achieved, and this implies stating some linguistic data patterns (target words and a measure) including a numeric indicator (sales amount) in the objective sentence. The “achievable” criterion involves specifying a measure (sales amount) in the objective sentence in order to compare it with the proposed date in the same objective sentence and then check whether it is possible to achieve this measure within the given date. For the fourth objective, a feedback message appears to the employee, explaining why this objective is not SMART. The system asks the employee to specify a value for the sales in the objective sentence. The fifth objective (“The organisation intends to implement a new strategy plan in order to increase the gross-sales of mobile by twelve percent in the coming two years.”) and the sixth objective (“By October next year, PC sales will maximise by 10%.”) are considered to be SMART. On the other hand, the seventh objective sentence (“The sales of mobile will grow by 8% in the coming year.”) is not considered SMART, since this objective is not “realistic”. The reason identified for this is that the entered value of the available resources (the number of items which has been specified as ‘50’ in the background information text box) is not suitable to achieve the proposed sales amount (eight percent) during the suggested date (“coming year” which indicates here the year 2008) in the objective sentence. A feedback message appears to the employee for clarifying why the objective is not SMART. The system asks the employee to suggest a correct value for the items in the background information text box between the range [501 and 550].

The presented snapshot of the system interface has therefore demonstrated how the developed system for this research could help an employee to set SMART objectives and could support providing feedback to the employee regarding the written objectives.