Free Essay

Skills for Working Life

In:

Submitted By fuhrergopi
Words 4841
Pages 20
MDA and Analysis of Web Applications
Behzad Bordbar and Kyriakos Anastasakis
School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK {B.Bordbar,K.Anastasakis}@cs.bham.ac.uk

Abstract. Enterprise systems are mission critical. As a result, ensuring their correctness is of primary concern. This paper aids to the analysis of Web Applications, focusing on the aspects related to the interaction of business logic and Web browsers. The method adopted is based on the Model Driven Architecture. First, the Platform Independent Model of Web Applications is refined to create a new model called Abstract Description of Interaction (ADI). An ADI is a UML class diagram annotated with OCL statements to represent an abstraction of the interaction between the thin client and the business logic. Secondly, the ADI model is automatically transferred to an Alloy model and analysed using the Alloy Analyser.

1

Introduction

Over the past two decades Web Applications have become increasingly vital, affecting almost all aspects of our daily life such as banking, retail, information gathering, entertainment and learning. Such applications are mostly mission critical [1]. Hence, ensuring the correctness of the specification and implementation is a primary concern and has received considerable attention [2–4]. To analyse these systems, it is important to create a formal model. For example, [2] uses µ-calculus to represent the model, while [3] makes use of a variant of automata as the analyzable model. Stotts and Navon [4] present a model based on Petri nets. Our approach makes use of MDA [5–7] transformations to automatically create the analysable model. Unlike other approaches [2–4] we use a formalism [8], which is ideal [9] for the analysis of object oriented systems, such as web applications. This paper aids to the analysis of Web Applications [10]; software applications, which are accessed via Web browsers. In particular, we are interested in identifying bugs such as the Amazon bug [11] and the Orbitz bug [12], which are created as a result of the interaction between browsers and the business logic. Figure 1 sketches our approach. The MDA [5–7] emphasises the role of models by capturing high level abstraction of the system that is independent of any implementation platform, called Platform Independent Model (PIM). A PIM is then transformed to one or more Platform Specific Model (PSM) via an MDA tool. A PSM specifies the system in a particular implementation technology, platform and paradigm. There are already commercial [13] and non-commercial [14] MDA tools facilitating the

2

Fig. 1. Implementation and Analysis via MDA

implementation of a large part of the code on various choices of platform and programming languages. To analyse the model, the PIM has to be refined and abstracted to create a new PIM which we shall refer to as Abstract Description of Interaction (ADI). The ADI is a class diagram [15] with a set of OCL [16] constraints and pre and post condition expressions, that describes the interaction of the browser and the business logic in an abstract way. The ADI model can be translated to a model in Alloy [8] and analysed by the Alloy Analyser [17]. We have implemented the transformation from the UML to Alloy in a tool called UML2Alloy [18, 19]. The paper is organised as follows. Section 2 presents a brief introduction to MDA, Alloy and UML2Alloy. Section 3 sketches a method for the creation of the ADI. To demonstrate our approach, Sect. 4 analyses an example of an e-commerce system. Finally in Sect. 5 we sketch the related work and future direction, while Sect. 6 provides the conclusions of our work.

2

Preliminaries

Model Driven Architecture (MDA) [5–7] is a framework proposed by the Object Management Group [20]. Central to the MDA is the idea of model transformation, which maps models in a source language into a model expressed in a destination language. Models in the MDA are instances of metamodels. A metamodel is in effect a model that describes another model. The Meta Object Facility (MOF) [21] specifies the layered architecture that the MDA follows, where each model is an instance of its metamodel. As depicted by Fig. 2, an MDA transformation is defined from the source metamodel to the destination metamodel. Then every model, which is an instance of the corresponding metamodel, can be transformed to an instance of the destination metamodel. For example, to map a UML class diagram to Alloy, an MDA transformation that maps the metamodel of Class diagrams to the metamodel of the Alloy language is required. An MDA tool is a tool that implements a model transformation. In other words, it receives a description of the metamodels of the source and destination and a specifica-

3

tion of the model transformation rules and for every model that conforms to the source metamodel, it generates a corresponding model, which is an instance of the target metamodel.

Fig. 2. Model transformation in the MDA

2.1

Alloy

Alloy [8] is a textual modelling language based on first order predicate logic [22]. An Alloy model is made of a number of Signatures, which describe the entities in the model. Signatures are similar to classes in a UML Class diagram. For example a Signature can define Fields which are like Attributes of classes in UML class diagrams. There are also three major kinds of expressions in an Alloy model. A Fact is an expression that every instance of a model satisfies. Predicates and Functions are like functions in an object oriented programming language. They can be invoked from other parts of the model. Finally an assertion is a statement that the modeller wants to check for its validity. Alloy models are analysable and Alloy Analyzer [17], which is an implementation supporting the Alloy language, can present a counterexample if an assertion is violated. Alloy tackles the state explosion problem [23] by introducing scoped analysis. A scope is the maximum number of stages the Alloy Analyzer probes to ensure the validity of an assertion or to find the existence of counterexamples. If the Alloy Analyzer fails to come up with a counterexample, the assertion may be valid. The bigger the scope is, the more confident the modeller is that his model is correct. Further details on the Alloy language the interested reader is referred to [8]. 2.2 Analysis of UML Models via UML2Alloy

The UML is a family of languages that is prevailing in the modelling and specification of object oriented systems. The UML defines a number of diagrams [15], some of which depict the static structure of a system, while others the dynamic aspect. In this paper, we shall make use of UML class diagrams to model the

4

static structure of a system. We shall describe the behaviour of the system via OCL [16]. OCL is a textual language that adds formalism to UML diagrams. It can be used to define the behaviour of a model (with the use of preconditions and postconditions) or to express constraints (using invariants) on the elements of a UML model. Based on the MDA, we have developed a CASE tool called UML2Alloy for automating the translation of UML models to the corresponding Alloy models. Figure 3 depicts the sequence of steps involved in the transformation. The starting point is to create a UML model of the system in a UML CASE tool such as ArgoUML [24]. Most UML tools, including ArgoUML, can export the UML model to an XMI [25] format. XMI, which stands for XML Metadata Interchange is an OMG standard used by most UML tools to store, import and export UML models. UML2Alloy implements the transformation and generates an Alloy model from the XMI file. The Alloy model of the system can then be analysed with the Alloy Analyser [17]. For further details on UML2Alloy, we refer the reader to [18, 19].

Fig. 3. Process of Analysis of UML models via UML2Alloy

In the following Section we shall present a method of verifying Enterprise Web Applications with the help of UML2Alloy.

3

Analysis of the Interaction Between a Browser and Business Logic

A Web Application is a software application that is accessible via a thin client (web browser). Web Applications often consist multiple tiers; the presentation tier (web server), application tier (business logic) and resource management (data) tier. Web Applications render web pages, comprising of different kinds information (e.g. text, images, forms) and are accessed via web browsers. Web pages can be static (i.e. residing on a web server) or dynamic (i.e. modifiable as a result of the execution of various scripts and components at the client or the server). As a result models of Web Applications are very large and complex, involving numerous components. Consequently, to conduct any realistic analysis, it is crucial to get rid of the unrelated information and create an abstract model

5

capturing the interaction between the browser and the business logic. To do so, we shall introduce a new class model called Abstract Description of Interaction (ADI). The following sketches the steps involved in the creation of the ADI. 1. Browser class: A model of the browser with its related functionality, such as navigating between various pages using the back and forward buttons. The browser class is an abstract model of the browser. 2. Container class: Models the generic functionality of the web pages comprising of data that can be dynamically altered from the user interface. 3. BusinessLogic class: An abstraction of the part of the business logic that relates to browser and its data content. 4. Data class: Describing the abstraction of the data that is exchanged between the server and the browser usually as fields of forms of web pages. Figure 4 represents the interaction between the above classes inspired by the general form of Web Applications, in which: – A Browser displays a Container. – A Container can have a previous Container. To simplify we have not included a next Container. – A Browser interacts with the BusinessLogic. – A Container displays Data units – A BusinessLogic deals with a number of Data units.

+previous 0..1 Browser +display +data 0..* 0..* BusinessLogic Data +data Container

Fig. 4. A template for Abstract Description Interaction

The template of Fig. 4 and the steps sketched above can allow the modeller to probe the PIM and create the ADI. Platform Independent Models of Web Applications are large and complex. Hence, finding methods of a partial automation of the creation of the ADI is of paramount importance. Since the creation of the ADI involves the projection of the model and the deletion of unrelated model elements, we speculate that it might be possible to mark unrelated model elements on the PIM and refactor [26] the model to create the ADI, or a model near enough to the ADI. However that remains an area for future research. For now, to demonstrate examples of the creation of the ADI, we shall present a case study.

6

4

Analysis of an e-Commerce System: A Case Study

This case study is inspired by [27]. The class diagram of Fig. 5 represents a portion of the PIM of an internet bookstore system, extracted from [27, p. 120– 123], which describes how the model of the system can be created following a process called ICONIX. In ICONIX information which is presented in a browser is stereotyped as boundary. The information that belongs to the business logic is stereotyped as entity.

modify quantity

«boundary» Shopping Cart Page +deleteItem(in i : Item) +addItem(in i : Item) +displayCost() +onCheckout()

«entity» Shopping Cart +delteItem(in i : Item) +addItem(in i : Item)

«entity» Item -quantity -cost

«entity» Purchase Order -datePlaced -status

«boundary» Home +display() +onLogin()

Log In Customer

«entity» Order «boundary» Login Page +display() +onLogin() +freeze() +onReminderWord() -id -datePlaced -status

«entity» Book -title -price

Fig. 5. UML model of an online bookstore

Our aim is to analyse the interaction of the user, through the web browser, with the business logic of the the online bookstore system modelled by Fig. 5. According to the method described in the previous Section, we have to get rid of the classes that are not related to our aim (i.e. they do not contain any functionality that affects the items in the shopping cart). It is obvious from the model that those classes are the Home, the Login Page, the Book, Order and Purchase Order. Of course depending on the business logic of the system, the Purchase Order might affect the quantity of the items in the shopping cart (i.e. the shopping cart might be emptied after the user has purchased an item), but for reasons of simplicity we are not going to consider this case. Therefore we are now left with the Shopping Cart Page, the Shopping Cart and the Item classes. We now need to identify which of these classes are used for displaying information on the browser of the user and which for the business logic. However in our case study this is a trivial task as the classes that are used for displaying information to the user are stereotyped as boundary and the classes that are part of the business logic are stereotyped as entity. Therefore an abstraction of the specification of the functionality of the Shopping Cart Page will be used as the specification of the functionality of the Container. Similarly an abstraction of the specification of the functionality of the Shopping Cart will be used as the specification of the functionality of the ShoppingCart. The Items are the Data the browser exchanges with the business logic. However even from those classes we just need the functionality that changes the contents of the

7

shopping cart. Therefore we can safely get rid of some of the operations of those classes, such as the displayCost() and onCheckout() of the Shopping Cart Page class. Following this reasoning, which is just a practical application of the method described in the previous Section, we end up with the model of Fig. 6.

1 Browser

-previous Container

*

Item * +back() +forward() +addItem(in i : Item) +removeItem(in i : Item) *

SC

+addItem(in i : Item) +removeItem(in i : Item)

Fig. 6. Abstarct Description of Interaction: version 1

For practical reasons we had to refactor the model of Fig. 6. As OCL is a language used purely for the specification of systems, it does not allow the specification of an operation to “call” another operation that is not a query operation. A query operation is an operation that does not change the state of the system during its evaluation (e.g. an accessor to an attribute). [16, p. 5] This means that we are not allowed to “call” the addItem operation of the ShoppingCart from within the addItem opeartion of the Container, since the former changes the state of the system during its evaluation, by adding one item to the ShoppingCart. In order to overcome this constraint and for reasons of simplicity in the model, we have moved the specification of the functionality of the operations of the Container to the Browser class. We also consider a smooth communication channel between the browser and the web server. This enables us to also move the specification of the addItem and removeItem of the Shopping Cart to the loadItem and removeItem methods of the Browser respectively. This change to the ADI does not affect the model of the functionality of the system and the altered model that will be used for the analysis of the system is depicted in Fig. 7. The Browser is related to a Container, which represents the web page the Browser displays. We are only interested in the items the user can buy from the web page. In the model those items are depicted with the cHasItems relation. Those are the items in the shopping cart the user sees on his/her web browser. The Browser is also related with the SC, which is the shopping cart. The SC represents the information held on the server regarding the items the user has added in the shopping cart. The SC, like the Container, is related to zero or more Items.

8

+first Browser State +browser loadItem(in i : Item) : Boolean removeItem(in i : Item) : Boolean back() : Boolean +next +bl +cHasItems 0..* SC 0..* +scHasItems Item +display +previous 0..1 Container

Fig. 7. Abstarct Description of Interaction

The Browser is a class that represents the web browser the user uses to access the web site. The Browser class has three operations. The loadItem contains the specification that describes the functionality of the system when the user adds an item, i to the shopping cart. More specifically the loadItem operation adds the item to the collection of items the Container displays to the user as the shopping cart and also adds it to the collection of items of the shopping cart that the server holds for that session. It also causes a new Container to be displayed and the old Container is set to be the previous of the currently displayed Container. In principle this action adds the previously displayed web page to the web browser history. The removeItem similarly contains the specification for the functionality of the system when the user removes an item i from the shopping cart. The invocation of the removeItem opration removes the item from the shopping cart the browser displays, adds the page being displayed to the browser history and invokes a communication with the web server shopping cart informing it that the item has been removed. The back() operation specifies the functionality of the system, when the back button of the Browser is pressed. In particular it causes the previous Container to be displayed, if any exists. Figure 8 depicts the OCL specification of the back operation. It is important to note that the use of the back button in any web browser invokes the previous request sent to the server and also uses cached information locally. context Browser::back () pre: self.display.previous -> size > 0 post: self.display = self.display@pre.previous Fig. 8. Behaviour of “back” button via OCL

9

State is a reserved class in UML2Alloy. Like any other class, UML2Alloy transforms the UML class State to an Alloy signature with the same name. However if the State class exists in a model UML2Alloy makes use of the polymorphic ordering module distributed with the Alloy Analyzer, which provides support for ordered sets. This is the standard way to achieve process modelling in Alloy [28]. There is also an OCL expression related to the State class that depicts the initial state of the system. In that state the shopping cart of the Container of the Browser does not display any items and the information about the shopping cart that is held on the server does not have any items as well. The behaviour of the model is depicted by the OCL statement of Fig. 9. The statement defines that for all (∀) States s there exists (∃) at least one item i in the model so that the next State s’ can be produced from the previous if either the user adds an item to the shopping cart (the loadItem operation) or removes an item (the removeItem operation) , or the “back” button of the browser is pressed (the back() opeartion). In that case as explained before the interaction with the server does not cause the information about the shopping cart that is held on the server to change as depicted by the statement s.next.browser.bl = s.browser.bl. context State State.allInstances -> forAll(s:State | (s.browser.display.cHasItems -> exists( i:Item |( (s.next.browser = s.browser.loadItem(i)) or (s . next . browser = s . browser . removeItem( i ) ) or ((s.next.browser = s.browser.back()) and (s.next.browser.bl = s.browser.bl )))))) Fig. 9. A portion if the behaviour of the model in OCL

4.1

Produced Alloy Model

Figure 10 depicts the corresponding Alloy model for the OCL statement of Fig. 9. Naturally, forAll and exists of OCL are mapped to all and some. Moreover, the subsequent state of s, i.e. s.next, is mapped into the state s : ord/next(s). However, automated transformation from OCL to Alloy is far from trivial. In OCL, the invocation of an operation is through navigate to the class that owns the operation, and then “calling” the operation. In contrast, Alloy predicates and functions are visible to the whole model. Therefore, during the transformation all OCL statements that invoke operations from another class had to be tailored

10

so as to translate only the part that calls the operation. It can also be noted that more parameters have been added to the loadItem, removeItem and back() operations. This is the usual pattern of specifying pre and post conditions in the Alloy language. For further details regarding the transformation from OCL to Alloy, we refer the reader to [19]. all s: State ,s’:ord/next(s)| some i:Item | (loadItem(s.browser,s’.browser,i)) || (removeItem(s.browser,s’.browser,i)) || (back(s.browser,s’.browser) && (s’.browser.bl=s.browser . bl) ) Fig. 10. Alloy model of the behaviour

4.2

Results of the Analysis

A major requirement of the model depicted by Fig. 7 is to guarantee the integrity of the system by ensuring that the contents of the shopping cart and the list of items on the browser are identical. This can be expressed by the Alloy assertion of Fig. 11. Using Alloy Analyzer we can see that the assertion fails. In fact, setting all s: State | s.browser.display.cHasItems = s.browser.bl.scHasItems Fig. 11. Alloy assertion for checking shopping cart against the displayed items

the Alloy scope to three, results in a counterexample, which means, there is at least one instance in three evolutions of the system where the items listed in the browser window differs from the items in the shopping cart. Using Alloy Analyzer the modeller can see not only the instance that violates the assertion, but also all of the traces in the evolution of the system that lead to the violation of the assertion. That way it is easier to locate the inconsistency in the model. The steps to reproduce the bug according to our analysis are the following: Step 1 The shopping cart of the user is empty and the user browses the web site. Step 2 The user adds an item Item1 to the shopping cart. Step 3 The user decides that he does not want to buy Item1 after all, but instead of deleting it from the shopping cart he presses the “back” button to return to the previous shopping cart which is empty.

11

Comparing the result of our analysis with the motivating observation of the paper [11], we can notice that the bug can occur following a different trace from the one described in [11], but again it involves the use of the “back” button. To remove such bugs, [11] presents a set of solutions. Analysing such solutions is outside of the scope of the paper. However, our method can equally be used to conduct such analysis.

5

Related and Future Work

Because of the state explosion problem [23] and undecidability issues, it is not possible to analyse large systems, such as Enterprise Web Applications. A method to overcome this problem is to either partially analyse the system, focusing on different aspects of the system every time or to abstract the model that represents it. Using this approach we have decided to focus on the analysis of the ADI, an abstract view of the part of model of the system that depicts the interaction between the user and the business logic. Such analysis increases our confidence of the correct functionality of the system. We are currently working on methods of creating the ADI via semi-automated methods, using refactoring methods [26]. A highly promising direction is to adopt form-based approach [29]. Formcharts as a formalism developed for the modelling of form-oriented applications is ideal for capturing the interaction of the user interface with the business logic. As a result, it might be possible to use MDA transformations to create a suitable formchart from which the ADI can be inferred. However, this remains a subject for future work.

6

Conclusions

This paper aids to the analysis of Enterprise Web Applications. The method adopted draws on the Model Driven Architecture. The Platform Independent Model of systems can be used to create the ADI model, an abstraction of the interaction between the browser and the business logic of the system. In order to analyse the ADI, we apply a further MDA transformation and create a corresponding Alloy model. The paper demonstrates that analysing the ADI, it is possible to identify a group of bugs, such as the Amazon bug [11]. Finally the approach presented in the paper is explained via an example of an e-commerce system.

References
1. Fowler, K.: Mission-critical and safety-critical development. IEEE journal of Instrumentation & Measurement Magazine 7 (2004) 52– 59 2. de Alfaro, L.: Model checking the world wide web. In: Computer Aided Verification, 13th International Conference, CAV 2001, Paris, France, July 18-22, 2001, Proceedings. Volume 2102 of Lecture Notes in Computer Science. (2001) 337–349

12 3. Haydar, M., Petrenko, A., Sahraoui, H.A.: Formal verification of web applications modeled by communicating automata. In: Proceeding of Formal Techniques for Networked and Distributed Systems - FORTE 2004, 24th IFIP WG 6.1 International Conference, Madrid Spain, September 27-30, 2004. Volume 3235 of Lecture Notes in Computer Science. (2004) 115–132 4. Stotts, D., Navon, J.: Model checking cobweb protocols for verification of html frames behavior. In: Model checking cobweb protocols for verification of HTML frames behavior. (2002) 182 –190 5. MDA: (Model Driven Architecture website: http://www.omg.org/mda) 6. Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley Publishing, Indianapolis, Indiana (2003) 7. Kleppe, A., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture - Practice and Promise. The Addison-Wesley Object Technology Series. Addison-Wesley (2003) 8. Jackson, D.: Alloy 3.0 Reference Manual (May 2004) Software Design Group, MIT Lab for Computer Science, http://alloy.mit.edu/beta/reference-manual.pdf. 9. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology (TOSEM) 11 (2002) 256–290 10. W3C: (W3C website: http://www.w3.org/) 11. Baresi, L., Denaro, G., Mainetti, L., Paolini, P.: Assertions to better specify the amazon bug. In: SEKE ’02: Proceedings of the 14th international conference on Software engineering and knowledge engineering, New York, NY, USA, ACM Press (2002) 585–592 12. Licata, D.R., Krishnamurthi, S.: Verifying interactive web progams. In: 19th IEEE International Conference on Automated Software Engineering (ASE 2004), Linz, Austria, IEEE Press (2004) 164–173 13. Interactive Objects: (Archstyler website: http://www.interactive-objects.com/) 14. AndroMDA: (AndorMDA website: http://www.andromda.org/) 15. Object Management Group: (Unified Modeling Language v 2.0 Superstructure Final Adopted Specification) Document id: ptc/03-08-02. http://www.omg.org/docs/ptc/03-08-02.pdf. 16. Object Management Group: (UML 2.0 OCL Final Adopted Specification) Document id: ptc/03-10-14. http://www.omg.org/cgi-bin/doc?ptc/2003-10-14. 17. Alloy Analyzer: (Alloy Analyzer website: http://alloy.mit.edu/) 18. UML2Alloy: (Uml2alloy website: http://www.cs.bham.ac.uk/∼bxb/UML2Alloy.php) 19. Bordbar, B., Anastasakis, K.: UML2Alloy: A tool for lightweight modelling of Discrete Event Systems. In Guimar˜es, N., Isa´ a ıas, P., eds.: IADIS International Conference in Applied Computing 2005. Volume 1., Algarve, Portugal, IADIS Press (2005) 209–216 20. Object Managemenet Group (OMG): (OMG website: http://www.omg.org) 21. Object Management Group: (Meta Object Facility (MOF) 2.0 Core Specification) Document Id: ptc/03-10-04. http://www.omg.org/cgi-bin/apps/do doc?ptc/03-1004.pdf [cited April 2005]. 22. Jackson, D.: Automating first-order relational logic. In: SIGSOFT ’00/FSE-8: Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering, New York, NY, USA, ACM Press (2000) 130–139 23. Valmari, A.: The state explosion problem. In: Lectures on Petri Nets I: Basic Models, Advances in Petri Nets, the volumes are based on the Advanced Course on Petri Nets. Volume 1492 of LNCS., London, UK, Springer-Verlag (1998) 429– 528

13 24. http://argouml.tigris.org/: (ArgoUML) 25. Object Management Group: UML 2.0 Diagram Interchange Final Adopted Specification (2003) Document Id:ptc/03-09-01. http://www.omg.org. 26. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: improving the design of existing code. Addison-Wesley, Boston, MA, USA (1999) 27. Rosenberg, D., Scott, K.: Applying Use Case Driven Object Modeling with UML: An annoted E-Commerce Example. Addison-Wesley Object Technology Series. Addison-Wesley (2001) 28. Wallace, C.: Using Alloy in process modelling. Information and Software Technology 45 (2003) 1031–1043 29. Draheim, D., Weber, G.: Form-Oriented Analysis: A New Methodology to Model Form-Based Applications. Springer-Verlag, Berlin, Germany (2005)

Similar Documents

Premium Essay

Accountant Essay

...Working as an accountant is more complex than simply crunching numbers. A successful accountant must possess a particular set of skills, both with handling massive amounts of money-related information and with navigating the sphere in which he works. This is because accountants can work in one of several fields, including working for the public, the government or major corporations. According to the IFAC, international federation of accountants, “the attitude and skills professional accountants require are grouped under five main headings: (a) Intellectual skills (b) Technical and functional skills (c) Personal skills (d) Interpersonal and communication skills and (e) Organizational and business management skills. Above all, an attitude of continual inquiry and life –long learning is essential. An attitude of accepting and seeking continual improvement, both of self and the profession will lead to life-long learning.” Intellectual skills enable a professional accountant to understand the determining forces in a given situation and to predict their effects. Other intellectual skills include the capacities for inquiry, abstract logical thinking, inductive and deductive reasoning and critical analysis. The ability to identify and solve unstructured problems in unfamiliar settings and to apply problem-solving skills in a consultative process is also an important intellectual skill to possess as an accountant. A professional accountant encompassing these traits will have the...

Words: 645 - Pages: 3

Premium Essay

Professional Development Plan

...Development Plan BJ McGhee James Reeves February 21, 2011 Counselor Becoming a counselor is what I want to pursue as my career. The necessary skills needed such as, improve qualify of clients life, develop and increase clients individual self-sufficiency skills, provide empowerment, develop coping and problem solving skills. Also, judgment, patience and acceptance, experience, education, social skills, genuineness/warmth and discretion are important skills I must possess in order to achieve my goal in becoming a counselor. However, in this transition of my life, I will have challenges that I face, but staying focus is where I draw my strength. Achieving my short term goal, which is to research my career and make a decision of the direction I want to go has been overwhelming. In the beginning, I was aiming toward school counselor and working with the adolescent. I felt that I can make a difference in their life, because of a profound experience I had in 2006; when my daughter graduate from high school. I always knew working with people was my passion, but the realization came when helping the Rhoer club with the adolescent young ladies to guide them and prepare them for their future. Further, many young adults are drawn to my spirit as a whole and I help many individual’s cope with their problems not knowing I already possess a skill with-in, but through my education at the University, I learned the proper way in handling situations and talking and listening to people. ...

Words: 867 - Pages: 4

Free Essay

Miss

...1. Introduction The purpose of this PDP module is helping people gain the personal, academic, reflective and professional skills. In this report, I am going to reflect on what I have learnt and I need to improve. In academic area my strongest skills are note-taking, referencing and information skills. However, in presentation skills, academic writing and learning skills are the area that I still need improving. In career-related skills, I am good at self-management, adaptability and team-working. On contrary, I still need to learn how to manage time efficiently, budgeting and communication well. 2. Academic skills Three strongest skills: * Note-making. By taking e-lesson from PDP, I know how to do note-making effectively last term and keep practice during this study period. In terms of me, I need to point out the key words from the messy information and then focus and re-organize the key words to the pattern that I am familiar with. Finally, I need to revise it and concise it times and times again to make a higher and more depth understanding of my notes. After I tried again and again, I realized that I can revise quiet easy by focusing on the main parts teacher referred in class. As note-making is pretty useful, I use it almost every day and now I can make notes quickly and precisely, which plays a vital part in my university study. * Referencing Referencing, this can be seen as a basis of academic writing (Neville, C. 2012). During term two periods, we had...

Words: 2299 - Pages: 10

Premium Essay

Career Planning

...Career planning is a lifelong process which includes getting a job, working on our skills, finding out our expectations from life and even retiring. There might always be possible changes in life because our long-term and short-term plans may not match. We cannot always control things from outside such as family, friends or health issues, but once we make a career plan, it lasts as far as possible. Career planning process should include these steps; First thing about career planning is finding out your skills. Skill is thing that we learned how to do. People have a lot of skills that they don't know about. Identifying our skills help to find us our ideal job. It includes finding out what is important for you in job and what kind of decision maker we are. Career planning is answer of the question "what are we doing after graduation?" after graduation most of people experiences the job search. Job hunting is an activity that a lot of us would just avoid as long as possible. We are aware that in today's world having a job became necessity of life. Even the best workers in the world cannot be through no fault in their lives. We always change our minds and we have may made wrong choices or the job that held such promise has turned to dust. At the end of the way, I want to be recognizing as a successful person who achieved all the goals she planned and left a positive impression in people's lives. I will have to work as hard as I can to get that recognition and I am willing to...

Words: 2441 - Pages: 10

Free Essay

Working Student

...INTRODUCTION Many students of HRM in Taguig City University work part-time Employment during school could improve grades if working promotes aspects that correspond with academic success, such as industriousness or time management skills, or instead reduce grades by reducing time and energy available for school work. Otherwise, working might be associated with academic performance, yet not directly influence it, if unobserved student differences influence both labor supply and grades. Unmotivated students might neither work for pay nor receive good grades because they put little effort into the labor market or school. In contrast, HRM students uninterested in academics might work long hours that would otherwise have been devoted to leisure. Students might misjudge the link between college achievement and future earnings when making labor supply decisions. If so, obtaining a consistent estimate of how such decisions affect academic performance is prospectively important for policy consideration. Some of HRM students in Taguig City University Students are more likely to work than they are to live on campus, to study full time, to attend a four-year college or university, or to apply for or receive financial aid. Students work regardless of the type of institution they attend, their age or family responsibilities, or even their family income or educational and living expenses. Most HRM students at Taguig City University face many challenges in their already busy everyday lives...

Words: 2898 - Pages: 12

Premium Essay

Personal Development

...Professional Development Plan Chapter 03 Highlighted on Interpersonal and transferable skills Chapter 04 Focus on Learning in a professional context Table of contents Executive summary 01 Table of contents 02 Chapter 01 03-09 1.1 Introduction on Personal and Professional Development 1.2 Self Assessment 1.3 Personal SWOT Analysis 1.4 Skill Audit 1.5 Personal Development Plan 1.6 Curriculum vitae Chapter 02 10 2.1 Evaluation on Personal Development Plan Chapter 03 11-13 3.1 Interpersonal and transferable skills 3.2 Time Management 3.3 Problem solving 3.4 Communication Chapter 04 14 4.1 Learning Bibliography 15 Chapter 01 1.1 Introduction on Personal and Professional Development Understanding skills, attitudes and knowledge is helpful to develop personal and professional career. According to the Guskey and Huberman (1995)Professional development is those processes and activities designed to enhance the professional knowledge, skills and attitudes of individuals in a working environment so that they might, in turn enhance the performance of the overall organization. This is an ongoing, systematic and intentional process. Knowledge, skills and attitudes enhancement will create confidence about themselves towards work on their future plan. And also it creates a better quality of our life physically, mentally and spiritually. 1.2 Self Assessment According...

Words: 2717 - Pages: 11

Premium Essay

Snowboarding

...By taking this class it also made me think about my values and skills. This class also helped me to consider what majors I could pick for the rest of my college career. One of the personal profiling tests I took was call the Choices Interest Profiler. The Choices Interest Profiler is a program that helps people discover their personal interest and it also gives you some possible occupation ideas that would match with you interests. My results of the Choices Interest Profiler were artistic, investigative, and social. The occupations the Choices Interest Profiler gave me were anthropologist and sociologist. I do not think my results were very accurate because I do not think I am an artistic or a social person. I think the investigative part was right because I like doing math and solving things so I think that would be under the category of investigative. The occupations the Choices Interest Profiler gave me don’t really interest me so I do not think the program did an accurate job of that either. I think the results you get from the Interest Profiler depend on a lot of things. I think the reason my results did not accurately reflect me could have been because of the was I was feeling the day I took the test, I could have been in a bad mood or something and I think that would have affected the way I answered some of the questions. Another thing we talked about throughout the course of this class was ideal working conditions. This was something I had never really thought about...

Words: 1901 - Pages: 8

Premium Essay

My Ideal Job Essay

...any professional experience. But I have skills that i have developed thought my life experiences.my strengths are my communication skills and my flexibility to adapt the situation. I am a good decision maker and make conscious effort to hear and consider opinions of others. I possess a quality of a good...

Words: 1817 - Pages: 8

Premium Essay

High Schoolers Are Too High Research Paper

...Many adults think teenagers are just being dramatic and bringing the problems onto themselves. Dan Jones says, “They really haven’t had the opportunity to struggle. Then when they come to college and bad things happen, they haven’t developed resiliency and self-soothing skills” (Adams). High schoolers have not been able to experience things on their own because they have always had their parents to run to, and when they do get out on their own they have no idea how to deal with the struggles. Resiliency and grit, along with the ability to communicate and advocate, are all crucial life skills. Yet, experts say, many teenagers lack them, and that’s hurting college-competition rates (Adams). Along with adolescents not experiencing life skills comes responsibility. Responsibility involves learning time management skills, coping skills, and organization. Having those three characteristics will teach you the life skills you need in adulthood and how to deal with “stress.” High schoolers are not really stressed out, they just have not experienced these skills and learned to deal with...

Words: 1282 - Pages: 6

Free Essay

Essay: Academic Qualifications Ensure Success in Life

...Academic qualifications ensure success in life. Do you agree or disagree? Too much emphasis is put on academic qualifications nowadays. It is said to be the sole determiner of success in life. In Malaysia, for instance, jobs are secured by only those who achieve well in their academic performance. In my point of view, academic qualification may be vital but it is not the only factor to ensure success in life of an individual as the ability and the willpower of oneself are also the determiners of success. Success cannot only be measured by academic qualification as the skill and ability of oneself should be considered as well. Skills can be categorized in many ways, for example, social skills, language skills, and computer skills. It is not guaranteed that an individual with the most A’s or perfect grades will get a job as some employers may employ workers based on their skills. This is because academic qualification is solely based on one’s performance in their respected schools, colleges or universities. It is not based on what they are yet to execute in the working environment. Hence, skills are far more important in determining a successful life in the future. Furthermore, the willpower of an individual is another secret to success in one’s life. When an individual is determined to achieve a certain goal or vision in their life, they will undeniably be victorious in their future. This does not matter whether they have a good academic qualification or not as not all...

Words: 411 - Pages: 2

Premium Essay

Yes God

...overview of the different industry segments. 1. Public Accounting – Tax & Audit 2. Private/Corporate Accounting 3. Forensic Accounting 4. Fund Accounting 5. Internal Auditing 6. Tax & Wealth Management Step #2: Review the general description of four main skill categories (highlighted in yellow) used in business today as defined by Career Leader including the sub-skills that comprise each category. |Interpersonal Effectiveness: Good at working with, and through, other people. Understand people and how to motivate them. A good team member, as well as team | |leader. Engender others' trust. A skillful negotiator. | • Ability to Compromise: Able to compromise when the situation calls for it. • Ability to Teach: Clear and patient when explaining things; a good teacher. • Comfort with Differences: Comfortable and effective in relating to people from many different backgrounds and cultures. • Empathy Skills: Can see things from other people's points of view. • Gaining Trust: Inspires other people's trust. • Listening Skills: Listens to other people in a way that they feel understood. • Openness to Criticism: Accepts critical feedback without getting defensive. • Respect for Others: Respectful of other people's points of view, as well...

Words: 1955 - Pages: 8

Premium Essay

Time Management Skills and Project Management Skillls

...Many skills developed, utalised, constructed and acquired within the educational stream of university are universally the main skills that are required to be successful within the working enviroment. When we are young adults, we often have parents or carers, to not only nurture and develop our skills and personality but also to prioritise our ideas and developments to ensure they are completed to the highest level. However, as many young adults make the transfer to higher education and move not only from their home life, but also from the continous support their parents provide for them on a continuous basis, the development of new skills are created and it is generally these skills that they take into the working world. Once attending university, not only is a person learning to find a balance between studying, attending or finding a job and enjoying leisure activities, but they are also discovering or developing skills they did not know they had. One of the most important skills that will be developed is that of time keeping and being able to prioritise activities and tasks effectively. Many students find it difficult to organise their social life along with the tasks of handing in assignments and getting into lectures on time, so the idea of list making and setting clear, achievable goals for themselves is a necessity. Dividing goals into key steps, helps the achiever of being able to carry out the task well, and also allows them to be able to reflect upon the their progress...

Words: 1476 - Pages: 6

Premium Essay

Past Present Future

...GEN/480 JUNE 27TH 2011 PEGGY BILLING Part I: Reflect on where you were in your personal and professional life when you started the University of Phoenix program Prior to my entry in to the University of Phoenix, I already had my Associate in Science and General Studies degree as a prelude in my pursuit for a Bachelor’s Degree in Management. I went through the General Studies program upon realizing that it would be better for me to rekindle my knowledge on liberal arts and science before pursuing a University of Phoenix program. As a woman, I know the value of competitive and in-depth learning especially at this period of globalization and economic uncertainties. Before entering the UOP, I was anxious on how to go by with the fast changing world and how to render an eclectic mix of marketing, business and ethics into working with patients with diverse needs and demands and demographics. At this period of uncertainty, it is highly recommended that I build first a foundation of knowledge concerning the art of doing business in the 21st century before entering UOP. I am a Patient Representative in the emergency room that is why education really plays a crucial role in my life not just for the improvement of my business but also for the betterment of my personal and career life. Personal growth and development have a tremendous impact on my career, daily life, relationships and work. This is why the role of learning should be given a high regard because it liberates...

Words: 1859 - Pages: 8

Premium Essay

Personal Business Plan

...Background 1 3. Personal Skills, Knowledge and Attitude 2 3.1 My SKA profile 2 3.2 Skill audit 3 3.3 SWOT analysis 3 4. Personal learning style 4 5. Team Engagement 5 6. Personal Actions Plan 6 7. Masters Learning Personal Reflection 8 8. Conclusion 9 REFERENCE 10 APPENDIX 1: PERSONAL SKILL AUDIT 11 APPENDIX 2: LEARNING STYLE QUESTIONAIRE 15 APPENDIX 3: TEAM ROLES PERSONAL INVENTORY: BELBIN 20 1. Introduction Personal development skill plays a significant role in individual’s life. Especially in current society, when studying and working environment become more competitive and tense. Additionally, employees in many big companies now have more power to contribute their ideas for decision making process (Charan, 1999). Therefore, it is very necessary for me to constantly develop my personal skills. As a student, there are many ways for me to enhance these skills such as: classrooms, clubs, student professional organizations, athletic teams, residence halls, the Clarion community, my home community, internship programs, summer jobs… (Humpfreys, 2004). However, just focusing on developing personal skills is not enough. Assessing and reviewing the development of each skill are also significant. In other words, I should have my own personal development plan which will help me to control my progress. The plan will help me review which achievement I have gained, as well as support me to set further goals for making continuous improvement in each skill area. In this paper...

Words: 2871 - Pages: 12

Premium Essay

Personal and Professional Development

...LO 1 1.1 Self-managed learning is a way that individuals organise themselves and find different ways in learning things whether in the community or at work. It is also about setting out the goals for the learning by evaluating the purpose for learning and ways to achieve those goals. People always learn new things, for example, the culture of different people, behaviour, personality, perceptions and so on. People can learn things from college, through friends, personal and other people’s experience, books to mention but few. It is therefore important to manage one’s learning as it has huge impacts in one’s life. Some of the positive impacts include: Self-managed learning gives people the opportunity to come up with their own strategy in learning. For instance, I have a goal to get a distinction on my assignment, so my strategy will be to research, reference and write well my work and submit it on time to achieve my goal. Self managed learning motivate people make their own training plan as well as motivate others to participate. Self - managed learning ensures people are effective and efficient in their work. Being in a 21 century where technology is advancing, people need to manage themselves to learn new things to keep up with advanced technology which will be beneficial in organisation where people work (Nordstrom, 1996-2014). There are different approaches to self-managed learning: • Research Individual can learn through research given by the university...

Words: 4321 - Pages: 18