License.

Size: px
Start display at page:

Download "License."

Transcription

1 License This document is licensed under the terms of the Creative Commons Attribution-Noncommercial 3.0 Germany license. You are allowed to to Share to copy, distribute, and transmit the document to Remix to adapt the document You are ought to respect the following conditions Attribution Noncommercial use Markus Knauß, December

2 Eclipse as a Tool for Program Understanding Markus Knauß Institute of Software Technology, Software Engineering Research Group Universität Stuttgart, Universitätsstraße 38, Stuttgart knauss@informatik.uni-stuttgart.de Abstract When developing Java programs, existing source code has to be understood again and again. This is necessary because a developer forgets about his own code, or the code was developed by a colleague, or a third party library is used. Therefore, the development environment (IDE) in daily use should support the process of program understanding. As Eclipse is probably the IDE most frequently used for Java program development, we posed the question whether, and to which degree, Eclipse supports the understanding of Java programs. In this paper, we describe questions that developers ask in order to understand a program. Eclipse was analyzed whether and to which degree it supports the generation of answers to these questions. Our contributions are an overview on studies about questions developers ask, a taxonomy to classify these questions, a list of questions asked to understand static relationships in a program, and an analysis of the abilities and possibilities of Eclipse to support program understanding. 1. Introduction During the development of a Java program, existing source code has to be understood. This is necessary because a developer forgets about his own code, works on unfamiliar code developed by colleagues, or uses a third-party library whose implementation is unknown. But not only during the development of Java programs, but also during maintenance source code has to be understood. When maintaining programs the body of unknown code is even larger. According to Corbi, about 50% of the time spent for maintaining software is spent for program understanding [Cor89]. We presume that the same ratio applies for program development; this seems to be valid especially in Agile Processes, where program understanding is a must for code reviews, collective code ownership, and refactoring. The integrated comprehension model of Mayrhauser and Vans [MV93a, MV95b] describes how a program is understood. When a developer has unfamiliar source code, studies show that the developer first builds a mental control flow abstraction of the source code. This abstraction is called a program model. The process to build this model is a systematic bottom-up one. When building this model a developer formulates hypotheses about the program. He tries to verify the hypotheses by asking questions about the code. A model that describes how questions are generated and answered using tools was developed by Sillito et al. [SMV06]. According to Sillito's model a developer first formulates a question. If the question can not be answered using a tool he divides it into sub-questions. All these questions are translated into tool questions. That questions can be answered by using a tool to deduce required information. The result sets returned from the tools must be analyzed to answer the original question. To efficiently support program understanding, the IDE in daily use should support the answer generation for these questions. Today, Eclipse is presumed to be the dominant IDE for Java program development [Gee05] and it is the major IDE used in research pro - jects 1. Therefore, we evaluated Eclipse whether, and to which degree, it supports program understanding by answering the questions a developer asks. In the next section we list questions asked by a developer in order to understand a program. Before listing the questions we describe the research method we used to deduce the questions and present a taxonomy, that we used to classify the questions. After listing the questions, we show how Eclipse supports answer generation to the questions. In the following section we discuss our results and theorize about how Eclipse 1 Searching for the terms software and eclipse or netbeans respectively yields 163 (IEEE) and 160 (ACM) results for eclipse and 7 (IEEE) and 3 (ACM) results for netbeans. The search was performed at 10/21/2008.

3 could support program understanding. In the end we present related work, conclude our article and give an outline of future work. 2. Questions Developers Ask To deduce the questions a developer asks in order to understand a program a meta study was carried out. It led to 59 questions that were classified and filtered using a taxonomy. This taxonomy was created to categorize the information sources a developer uses during program understanding to answer his questions about the program. As a result 23 questions were identified that a developer asks about static code attributes. The subsequent sections describe the steps in detail Research Method To deduce the questions a developer asks in order to understand a program, we did a meta study on articles about studies which analyzed the information requirements of a programmer during program understanding. The articles were found by analyzing the proceedings of the International Workshop on Program Comprehension (ICPC). At least three groups of authors remained that report on the topic. These authors are Mayrhauser and Vans [MV93a, MV93b, MV95a, MV97], Ko et al. [KAM05, Ko+06, KDV07], and Sillito et al. [SMV06]. The studies the authors reported on, the tasks to be done in the study, and the participants are listed in table 1. The authors analyzed a developer's information needs for program understanding by monitoring him at work. This was done by audio-taping a thinking-aloud session, taking handwritten notes, capturing or video- Table 1: Overview of studies on the information requirements of a developer during program understanding Task Participants Type of study Reference Understanding of a self selected piece of code in a 40-KLOC C program Self selected maintenance task on an at least 40-KLOC program. One session with a debugging task, another with a testing task Individual maintenance tasks on a 40-KLOC C program Understand, track down, and correct a reported bug in a 40- KLOC program Five maintenance tasks on a Java program (503 LOC, nine classes) within a 70-minute session Study 1: Correcting bugs or enhancing ArgoUML in a 45- minute session Study 2: Doing a change task on the participants own software in 30-minute session Monitoring of the daily work, eleven participants corrected bugs One maintenance engineer Audio-taped thinking aloud [MV93a] Professional maintenance programmers (the article reports on observations of two programmers) Nine professional maintenance programmers Four professional maintenance programmers Ten Java programmers that claimed that their skills are at least above average Study 1: Nine students doing pair programming in a laboratory setting Study 2: 16 programmers in an industrial setting Audio-taped thinking aloud Audio-taped thinking aloud Audio- and video-taped thinking aloud, subsequent record analysis Survey on programming expertise, screen capturing Study 1: Audio recording, screen capturing of IDE, interview after session Study 2: Thinking aloud, interview after session 17 developers Recording the work done using handwritten notes, crosscheck of the results with a survey among 42 other developers [MV93b] [MV95a] [MV97] [KAM05], [Ko+06] [SMV06] [KDV07]

4 Information Sources Domain-specifi c Task-specifi c Program-specifi c Code Development Documentation Static Dynamic Figure 1: Taxonomy for information sources a developer relies on taping the programmer's screen, or by automatically recording the actions a programmer carried out. The monitoring usually resulted in large data sets describing the work the programmer did. From these data sets typical actions were derived and information needs for taking an action were identified. Using the information needs identified in the analyzed articles we deduced questions that a developer will ask to satisfy his information needs. Some authors already formulated developer questions that we could use. Duplicates in the deduced questions were eliminated. This resulted in a set of 59 questions A Taxonomy for the Information Needs of a Developer To organize and filter the questions we first classified them. Then we developed a taxonomy for the information sources a developer uses to answer questions in order to understand a program Classification. Classification was done along two dimensions. The first dimension is the abstraction level to which a question refers; this is either architecture, module, or statement. The second dimension is the type of the question as defined by Erdem et al. [EJM98]. A question is either used for verification (is), for identification (what), to get procedural knowledge (how), to gain knowledge about the motivation for an implementation (why), to get information about runtime characteristics (when), or to locate an item (where). Questions of type is, what, how, and where can be answered using the source code as the only information source. But for answering questions of types why and when additional information sources are needed. For instance, to answer a type when question traces of program executions are needed; to answer a type why question the design rationale is required Taxonomy. To gain further understanding of the information sources on which a developer relies, in order to understand a program, we developed a taxonomy for these information sources. The taxonomy is shown in figure 1. Categories that are of no interest for our analysis of Eclipse's support of program understanding were not pursued any further. Atomic categories in figure 1 are described below. Domain-specific: Any information that describes the domain in which the program is used. Task-specific: Any information about the task for which the program is used. Development: Information about the development process of the program. For instance, log entries from the configuration management. Documentation: Any additional documentation that is not part of the source code. For instance, the design documentation. Dynamic (Code): Information about the execution of the program such as execution traces. Static (Code): Any information that is available using only the source code. To analyze Eclipse's support of program understanding we evaluated only questions that can be answered using information from the static category. This is because, first we presume that a Java developer will use the Java perspective for reading the source code that does not show dynamic or development information and, second, additional documentation, such as specification or design documents, is out of scope of a standard Eclipse installation Questions Asked Filtering our questions by applying the taxonomy yielded 23 questions that a developer may ask about static source-code attributes to understand a program. The questions, a short description, their abstraction level, and their type are listed in table 2. As the analyzed articles were based on developers working on source code in different programming languages, we paraphrased the questions to use object-oriented Javaspecific terms.

5 Table 2: Questions about static code attributes for program understanding Question Abstraction Level Type What members are accessed by this method? Module What What methods are declared in this type? Module What What members are defined in this type? Module What What are the siblings of this type? Module What What types implement or extend this interface? Module What What members of this type are accessible? Module What What types are used (imported) by this type? Module What What are the commonalities between these types? Module What How are the files organized? Module How How do these types use each other? Module How Where is this type located in the type hierarchy? Module Where Where is this type defined? Module Where Where is this member declared? Module Where Where is this method defined? Module Where What objects, fields, or variables are modified by this statement? Statement What / What is the static type of the object that is returned by this method? Statement What What is statically related to this statement? Statement What What is the condition for this branch to be executed? Statement What / What is the condition for this exception to be thrown? Statement What / Where is a member used? Statement What Where in the code is a certain kind of text? Statement Where Where is this type referenced? Statement Where Where are instances of this type accessed? Statement Where Eclipse's support 3. Eclipse's Support for Program Understanding To analyze how Eclipse supports program understanding we evaluated how the deduced questions can be answered using tools built into the standard Eclipse distribution. Eclipse in Version (Ganymede, SR 1) for Java developers [Eclipse] without any additional plug-ins except the metrics plug-in [Metrics] was used for the evaluation. We presume that a Java developer will use the Java perspective by default. Based on the process for answering questions as described by Sillito et al. [SMV06] we quantified the degree of Eclipse's support for program understanding. The quantification was done by the number of steps to be made in order to answer a question. At best nothing has to be done because the information to answer the question is displayed in the Java perspective. In the worst case three steps have to be made. These steps are: 1) divide the question into sub-questions that can be answered using a tool provided by Eclipse, 2) use each tool and retrieve the needed information, and 3) integrate the results to answer the original question. The degrees of Eclipse's support we defined are listed below in ascending order. No support: The question at hand cannot be answered using the standard Eclipse distribution. Multiple tools needed: There is no single tool in Eclipse that can be used to answer the question at

6 hand. But by using multiple tools and integrating the results an answer can be derived. Result set has to be filtered: Eclipse provides a single tool that will answer the question at hand. But the result set returned by the tool must be filtered to get the correct answer. For instance, using the search tool will yield more results than needed. Tool available: A tool is provided with the Eclipse standard distribution that can be used to answer the question. No tool needed: The information needed to answer the question is displayed in the Java perspective. To quantify Eclipse's support for program understanding we tried to answer the questions on the birthday calendar application. The birthday calendar application is a little Java desktop application with a graphical user interface that is implemented using Swing components. We primarily use this application in the classroom to teach how to design a three-tier application and how to apply design patterns. The application consists of 23 classes, 1 interface, and a total of 1317 lines of code. How Eclipse supports program understanding by answering the deduced questions is shown in table 2. The mapping from the degree of support to the icon in the Eclipse's support column is: No support Multiple tools needed Result set has to be filtered Tool available No tool needed 4. Discussion In the subsequent sections we will discuss how Eclipse supports program understanding and how it should do. First we describe our results that are also documented in table 2. Then we theorize about how Eclipse should support program understanding How Eclipse Supports Program Understanding First of all, Eclipse does support program understanding. It does so by providing tools that deliver the required information to answer our deduced questions to a large extent. A typical Eclipse Java development perspective is shown in figure 2. In the subsequent dis Figure 2: A typical Eclipse Java development perspective

7 cussion of the tools used, we reference Eclipse's tools displayed in figure 2 by the numbers added in the figure. References to these numbers are written in parentheses like (1). Questions which can be answered on the basis of the source code are obviously supported and do not require a tool. Examples are what objects, fields, or variables are modified by this statement or what is statically related to this statement. Two special cases are the questions what is the condition for this branch to be executed and what is the condition for this exception to be thrown. Answers to these questions can be given either by looking at the code, and therefore no tool is needed, or by browsing and searching for the condition. Eclipse provides no tool for finding a specific condition. Therefore, whether the information is handy to answer these questions depends on the distance between the condition and the line in the source code the developer currently reads. Frequently used Eclipse tools to answer the questions are the hierarchy view (1), the outline view (2), the call hierarchy view (3), the open declaration tool (4), and the package explorer (5). These tools can be used to answer questions such as what are the siblings of this type, what members of this type are accessible, where is a member used, or where is this member declared. A tool that usually returns more information than is needed is the search tool (6). For instance, when the question where in the code is a certain kind of text has to be answered, the search tool will deliver the re - quested information. But to decide which of the locations in the source code, where the text was found, is the correct one requires an analysis of the result set. The questions how do these types use each other and what is the type of the object that is returned by this method can only be answered by using multiple tools. For instance, when one is trying to answer the question for the type of a returned object he has to read through the source code, use the open declaration tool (4) at any return statement to reveal the declaration of the object, and there use the open declaration tool (4) again to open the object type. If the run-time type is a subtype of the declared type, the inheritance hierarchy tool (1) must also be used. Not supported by a tool are the questions what members are accessed by this method and what are the commonalities between these types. These questions can only be answered by reading the code and manually collecting the required information How Eclipse Should Support Program Understanding As shown in the preceding section, Eclipse does support program understanding by providing tools that supply information to answer questions about the source-code's static attributes. The deficiency of the provided tools in Eclipse is, in our opinion, that they are apart from the source code in separate views. If a developer uses a tool to gain this information, he has to leave the source code, get the information from the tools view, and then return to the code. This often leads to context-loss, and the developer has to delve into the source code over and over again. The good is that, in the majority of cases, the views are interlinked. This helps the developer to quickly regain the context he was working in. Static information about the source code is intangible. Therefore, a model of the information is needed to capture the information. This model has to be visualized in order to use the information. This visualization has to meet three requirements at least. 1. The model that is the basis for the visualization must provide information to answer the questions a developer asks in order to understand a program. 2. The visualization must employ techniques from the information visualization domain. This is necessary to visualize the information in an efficient way and to maintain the context the developer currently works in. 3. The way of using the visualization must support the process of program understanding. Especially the process for bottom-up program understanding. Currently we are exploring ways to meet these requirements in order to better support program understanding. 5. Related Work The body of knowledge in the program understanding domain is quite large. Also in the domain concentrating on tools to support program understanding. But no articles were found that analyzed the suitability of Eclipse for program understanding tasks. For the reader who wants to delve into the topic of program understanding, methods of program understanding, and tool support for program understanding, Storey's article is a good starting point [Sto05]. Related work that analyzed the information needs of a developer during program understanding was introduced in section 2. One article that was not incorporated in the meta study but that also lists information needs of a developer during program understanding, is

8 the article of Erdös and Sneed [ES98].They identified the developer's information needs based on their industrial experience. As result they defined seven questions that a developer has to answer to understand a program. Because these questions were redundant with the questions deduced from the work described in section 2 and that we analyzed only work was analyzed in the meta study that is based on monitoring developers Erdös and Sneed's article was not included. 6. Conclusion and Future Work In this article we presented an overview of studies that analyzed the information needs of a developer in order to understand a program. We developed a classification for questions about a program along two dimensions, the abstraction level and the type according to [EJM98]. Also, a taxonomy was developed for the information a developer relies on during program understanding. This taxonomy was used to identify questions that can be answered using only static sourcecode information. At the end 23 questions were identified that a developer asks in order to understand a program. Furthermore Eclipse was analyzed for the support it provides towards answering the identified questions. Our work presented here is a starting point for the development of tools that support program understanding. In our view the results are the requirements analysis for program-understanding tools, and especially those tools that extend Eclipse's support of the bottomup understanding process. Also, we see potential in further investigation and extension of our taxonomy for the information sources used during program understanding. Currently we are working on an information interchange model to capture the information required to answer the identified questions for program understanding. Based on this model a visualization is developed that will utilize information visualization techniques that exceed the views and editors of Eclipse and that, as a matter of course, will provide necessary information to answer the questions presented here. References [Cor89] T. A. Corbi, Program Understanding: Challenge for the 1990s, IBM Systems Journal, 28(2), 1989, pp [Eclipse] The Eclipse Platform, Version 3.4.1, (Oct ). [EJM98] A. Erdem, W. L. Johnson, and S. Marsella, Task- Oriented Software Understanding, In Proceedings of the 13 th International Conference on Automated Software Engineering, 1998, pp [ES98] K. Erdös and H. M. Sneed, Partial Comprehension of Complex Programs (Enough to Perform Maintenance), In Proceedings of the 6 th International Workshop on Program Comprehension, 1998, pp [Gee05] D. Geer, Eclipse Becomes the Dominant Java IDE, IEEE Computer, 38(7), 2005, pp [KAM05] A. J. Ko, H. H. Aung, and B. A. Myers, Eliciting Design Requirements for Maintenance-oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks, In Proceedings of the 27 th International Conference on Software Engineering, 2005, pp [Ko+06] A. J. Ko, B. A. Myers, M. J. Coblenz, and H. H. Aung, An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks, IEEE Transactions on Software Engineering, 32(12), 2006, pp [KDV07] A. J. Ko, R. DeLine, and G. Venolia, Information Needs in Collocated Software Development Teams, In Proceedings of the 29 th International Conference on Software Engineering, 2007, pp [Metrics] Eclipse Metrics Plugin, Version 1.3.6, (Oct ). [MV93a] A. von Mayrhauser and A. M. Vans, From Code Comprehension Models to Tool Capabilities, In Proceedings of the 5 th International Conference on Computing and Information, 1993, pp [MV93b] A. von Mayrhauser and A. M. Vans, From Program Comprehension to Tool Requirements for an Industrial Environment In Proceedings of the 2 nd Workshop on Program Comprehension, 1993, pp [MV95a] A. von Mayrhauser and A. M. Vans, Industrial Experience with an Integrated Code Comprehension Model, IEE Software Engineering Journal, 10(5), 1995, pp [MV95b] A. von Mayrhauser and A. M. Vans, Program Comprehension during Software Maintenance and Evolution, IEEE Computer, 28(8), 1995, pp [MV97] A. von Mayrhauser and A. M. Vans, Program Understanding Needs during Corrective Maintenance of Large Scale Software, In Proceedings of the 21 st International Computer Software and Applications Conference, 1997, pp [SMV06] J. Sillito, G. C. Murphy, and K. De Volder, Questions Programmers Ask during Software Evolution Tasks, In Proceedings of the ACM SIGSOFT Conference on the Foundations of Software Engineering, 2006, pp [Sto05] M.-A. Storey, Theories, Models and Tools in Program Comprehension: Past, Present and Future, In Proceedings of the 13 th International Workshop on Program Comprehension, 2005, pp

Towards Systematic Usability Verification

Towards Systematic Usability Verification Towards Systematic Usability Verification Max Möllers RWTH Aachen University 52056 Aachen, Germany max@cs.rwth-aachen.de Jonathan Diehl RWTH Aachen University 52056 Aachen, Germany diehl@cs.rwth-aachen.de

More information

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller

Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Joint Application Design & Function Point Analysis the Perfect Match By Sherry Ferrell & Roger Heller Introduction The old adage It s not what you know but when you know it that counts is certainly true

More information

Empirical Studies on the Security and Usability Impact of Immutability

Empirical Studies on the Security and Usability Impact of Immutability Empirical Studies on the Security and Usability Impact of Immutability Sam Weber (NYU), Michael Coblenz (CMU), Brad Myers (CMU), Jonathan Aldrich (CMU), Joshua Sunshine (CMU) Acknowledgements This research

More information

Visualization of Exception Handling Constructs to Support Program Understanding

Visualization of Exception Handling Constructs to Support Program Understanding Visualization of Exception Handling Constructs to Support Program Understanding Hina Shah Carsten Görg and Mary Jean Harrold Supported by NSF under CCR-0205422, CCF-0429117, CCF-0541049, and CCF-0725202,

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)

More information

Eclipse Plug-in to monitor the Programmer Behaviour

Eclipse Plug-in to monitor the Programmer Behaviour Eclipse Plug-in to monitor the Programmer Behaviour John McKeogh, Symantec, Dublin, Ireland. John_mckeogh@symantec.com Dr. Chris Exton. Department of Computer Science and Information Systems. University

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

Empirical Evaluation of Diagrams of the Run-Time Structure for Coding Tasks. Nariman Ammar Marwan Abi-Antoun Department of Computer Science

Empirical Evaluation of Diagrams of the Run-Time Structure for Coding Tasks. Nariman Ammar Marwan Abi-Antoun Department of Computer Science Empirical Evaluation of Diagrams of the Run-Time Structure for Coding Tasks Nariman Ammar Marwan Abi-Antoun Department of Computer Science Diagrams (can?) help developers with code modifications during

More information

Specifying Usability Features with Patterns and Templates

Specifying Usability Features with Patterns and Templates Specifying Usability Features with Patterns and Templates Holger Röder University of Stuttgart Institute of Software Technology Universitätsstraße 38, 70569 Stuttgart, Germany roeder@informatik.uni-stuttgart.de

More information

Programming. michael bernstein spring cs376.stanford.edu

Programming. michael bernstein spring cs376.stanford.edu Programming michael bernstein spring 2013 cs376.stanford.edu A Small Matter of Programming Software engineering is a highly complex task, a microcosm of many challenges in HCI Making software engineering

More information

Technical Writing Process An Overview

Technical Writing Process An Overview techitive press Technical Writing Process An Overview Tenneti C S techitive press Copyrights Author: Chakravarthy Srinivas Tenneti Book: Technical Writing Process: An Overview Techitive.com 2013 All rights

More information

NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference

NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference NaCIN An Eclipse Plug-In for Program Navigation-based Concern Inference Imran Majid and Martin P. Robillard School of Computer Science McGill University Montreal, QC, Canada {imajid, martin} @cs.mcgill.ca

More information

Experience-based Refactoring for Goal- oriented Software Quality Improvement

Experience-based Refactoring for Goal- oriented Software Quality Improvement Experience-based Refactoring for Goal- oriented Software Quality Improvement International Workshop on Software Quality (SOQUA 2004) Erfurt,, Germany, September 30, 2004 Fraunhofer IESE Institut Experimentelles

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

CSCI 8530 Advanced Operating Systems

CSCI 8530 Advanced Operating Systems CSCI 8530 Advanced Operating Systems Prof. Stanley Wileman Computer Science Department University of Nebraska at Omaha http://cs2.ist.unomaha.edu/~stanw Last update: 1/10/2017 Introductions and Expectations

More information

Web Design Course Syllabus and Course Outline

Web Design Course Syllabus and Course Outline Web Design Course Syllabus and Course Outline COURSE OVERVIEW AND GOALS In today's world, web pages are the most common medium for sharing ideas and information. Learning to design websites is an incredibly

More information

International Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017

International Journal of Computer Science Trends and Technology (IJCST) Volume 5 Issue 2, Mar Apr 2017 RESEARCH ARTICLE OPEN ACCESS Handling Anomalies in the System Design: A Unique Methodology and Solution Pratik Rajan Bhore [1], Dr. Shashank D. Joshi [2], Dr. Naveenkumar Jayakumar [3] Department of Computer

More information

Java Learning Object Ontology

Java Learning Object Ontology Java Learning Object Ontology Ming-Che Lee, Ding Yen Ye & Tzone I Wang Laboratory of Intelligent Network Applications Department of Engineering Science National Chung Kung University Taiwan limingche@hotmail.com,

More information

Incremental Redocumentation with Hypertext

Incremental Redocumentation with Hypertext Copyright 1997 IEEE. Published in the Proceedings of Euromicro'97, March 17-19, 1997 in Berlin, Germany, ISBN 0-8186-7892-5. Personal use of this material is permitted. However, permission to reprint/republish

More information

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)

SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2) SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen

More information

Programming MICHAEL BERNSTEIN CS 376

Programming MICHAEL BERNSTEIN CS 376 Programming MICHAEL BERNSTEIN CS 376 Reminder: project faire II Wednesday A Small Matter of Programming Software engineering is a highly complex task, a microcosm of many challenges in HCI Making software

More information

Knowledge Generation in Java API Reference Documentation

Knowledge Generation in Java API Reference Documentation Knowledge Generation in Java API Reference Documentation Miss. Monali Metkar 1, Prof. S. M. Kamalapur 2 1 Department of Computer Engineering, PG Student, KKWIEER, Nashik, University of Pune, India 2 Department

More information

Usor: A Web Based Collection of User Oriented Methods

Usor: A Web Based Collection of User Oriented Methods CID-42, KTH, Stockholm, Sweden 1999 Report number: CID-42 ISSN number: ISSN 1403-073X Publication date: March 1999 E-mail of author: fredrikw@nada.kth.se URL of author: http://www.nada.kth.se/~fredrikw

More information

How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects?

How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects? How Often and What StackOverflow Posts Do Developers Reference in Their GitHub Projects? Saraj Singh Manes School of Computer Science Carleton University Ottawa, Canada sarajmanes@cmail.carleton.ca Olga

More information

Seminar Ausgewählte Beiträge zum Software Engineering. Tools for Capturing Micro-Process Data

Seminar Ausgewählte Beiträge zum Software Engineering. Tools for Capturing Micro-Process Data Sebastian Jekutsch, jekutsch @ inf.fu-berlin.de 1 / 36 Seminar Ausgewählte Beiträge zum Software Engineering Tools for Capturing Micro-Process Data Sebastian Jekutsch Freie Universität Berlin Institut

More information

Programming MICHAEL BERNSTEIN CS 376

Programming MICHAEL BERNSTEIN CS 376 Programming MICHAEL BERNSTEIN CS 376 Reminder: project fair II Monday after Thanksgiving A Small Matter of Programming Software engineering is a highly complex task, a microcosm of many challenges in HCI

More information

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements Journal of Software Engineering and Applications, 2016, 9, 112-127 Published Online April 2016 in SciRes. http://www.scirp.org/journal/jsea http://dx.doi.org/10.4236/jsea.2016.94010 The Analysis and Proposed

More information

GUIDELINES FOR MASTER OF SCIENCE INTERNSHIP THESIS

GUIDELINES FOR MASTER OF SCIENCE INTERNSHIP THESIS GUIDELINES FOR MASTER OF SCIENCE INTERNSHIP THESIS Dear Participant of the MScIS Program, If you have chosen to follow an internship, one of the requirements is to write a Thesis. This document gives you

More information

BNA s Intellectual Property Library

BNA s Intellectual Property Library e s U e d i u G r s BNA s Intellectual Property Library BNA Train in g and P roduct Suppor t Contact Training & Product Support BNA Training & Product Support is dedicated to helping you get the most value

More information

International Journal for Management Science And Technology (IJMST)

International Journal for Management Science And Technology (IJMST) Volume 4; Issue 03 Manuscript- 1 ISSN: 2320-8848 (Online) ISSN: 2321-0362 (Print) International Journal for Management Science And Technology (IJMST) GENERATION OF SOURCE CODE SUMMARY BY AUTOMATIC IDENTIFICATION

More information

LEVERAGING VISUAL STUDIO TEAM SYSTEM 2008 Course LTS08: Five days; Instructor-Led Course Syllabus

LEVERAGING VISUAL STUDIO TEAM SYSTEM 2008 Course LTS08: Five days; Instructor-Led Course Syllabus LEVERAGING VISUAL STUDIO TEAM SYSTEM 2008 Course LTS08: Five days; Instructor-Led Course Syllabus INTRODUCTION This five-day, instructor-led course provides students with the knowledge and skills to effectively

More information

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives Software Engineering 1 SOFTWARE ENGINEERING For the undergraduate curriculum in Software Engineering (http:// www.se.iastate.edu) leading to the degree Bachelor of Science. This curriculum is accredited

More information

John Graham Eclipse Data Tools Platform (DTP) Project PMC Chair

John Graham Eclipse Data Tools Platform (DTP) Project PMC Chair DTP in Your Language John Graham Eclipse Data Tools Platform (DTP) Project PMC Chair 2007 by Sybase, Inc.; made available under the EPL v1.0 10-Oct-07 Eclipse Summit Europe Overview DTP 1.5 (Europa) summary

More information

University of Karlsruhe (TH)

University of Karlsruhe (TH) University of Karlsruhe (TH) Research University founded 1825 Technical Briefing Session Multicore Software Engineering @ ICSE 2009 Transactional Memory versus Locks - A Comparative Case Study Victor Pankratius

More information

INF 111 / CSE 121. Homework 3: Code Reading

INF 111 / CSE 121. Homework 3: Code Reading Homework 3: Code Reading Laboratory Date: Thursday, July 2, 2009 Take Home Due: Monday, July 2, 2009 Name : Student Number : Laboratory Time : Instructions for the Laboratory Objectives Open a project

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

Maintainability and Agile development. Author: Mika Mäntylä

Maintainability and Agile development. Author: Mika Mäntylä Maintainability and Agile development Author: Mika Mäntylä ISO 9126 Software Quality Characteristics Are the required functions available in the software? How easy is it to

More information

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation

Perfect Timing. Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Perfect Timing Alejandra Pardo : Manager Andrew Emrazian : Testing Brant Nielsen : Design Eric Budd : Documentation Problem & Solution College students do their best to plan out their daily tasks, but

More information

Eclipse Support for Using Eli and Teaching Programming Languages

Eclipse Support for Using Eli and Teaching Programming Languages Electronic Notes in Theoretical Computer Science 141 (2005) 189 194 www.elsevier.com/locate/entcs Eclipse Support for Using Eli and Teaching Programming Languages Anthony M. Sloane 1,2 Department of Computing

More information

A comparison of computer science and software engineering programmes in English universities

A comparison of computer science and software engineering programmes in English universities A comparison of computer science and software engineering programmes in English universities Meziane, F and Vadera, S Title Authors Type URL Published Date 2004 A comparison of computer science and software

More information

AP Computer Science A Syllabus

AP Computer Science A Syllabus This syllabus #1829769v1 was reviewed and approved by the College Board in Nov, 2016.. AP Computer Science A Syllabus Last updated November, 2016 Course Overview This AP Computer Science A class uses the

More information

Re-visiting Tourism Information Search Process: From Smartphone Users Perspective

Re-visiting Tourism Information Search Process: From Smartphone Users Perspective Re-visiting Tourism Information Search Process: From Smartphone Users Perspective Chaang-Iuan Ho a Yu-Lan Yuan b Yu-Chun Lin c Ming-Chih Chen d a Department of Leisure Services Management Chaoyang University

More information

Oracle Application Express Workshop I Ed 2

Oracle Application Express Workshop I Ed 2 Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle Application Express Workshop I Ed 2 Duration: 5 Days What you will learn This Oracle Application Express Workshop I Ed 2

More information

Financial Planning Institute of Southern Africa SETTING THE STANDARD. Continuous Professional Development (Cpd) Policy

Financial Planning Institute of Southern Africa SETTING THE STANDARD. Continuous Professional Development (Cpd) Policy FPI FPI Financial Planning Institute of Southern Africa SETTING THE STANDARD Continuous Professional Development (Cpd) Policy Table of Contents Definitions 3-4 Introduction 4 Primary Responsibility 5 Mandatory

More information

Comparing Two Program Contents with Computing Curricula 2005 Knowledge Areas

Comparing Two Program Contents with Computing Curricula 2005 Knowledge Areas Comparing Two Program Contents with Computing Curricula 2005 Knowledge Areas Azad Ali, Indiana University of Pennsylvania azad.ali@iup.edu Frederick G. Kohun, Robert Morris University kohun@rmu.edu David

More information

Ch1 organizing information from the shelf to the web

Ch1 organizing information from the shelf to the web Ch1 organizing information from the shelf to the web Introduction Information services in today word Think for a minute about what you do when you are in need of information.!! Information organization

More information

Guide for the international tekom certification examinations

Guide for the international tekom certification examinations Guide for the international tekom certification examinations 1 Obtaining the tekom-certificate First Level 1.1 The tekom-certificate First Level at a glance The tekom-certificate First Level is the first

More information

Redesign Workshop: Involving Software Developers Actively in Usability Engineering

Redesign Workshop: Involving Software Developers Actively in Usability Engineering Redesign Workshop: Involving Software Developers Actively in Usability Engineering Nis Bornoe nis@cs.aau.dk Jane Billestrup jane@cs.aau.dk Jesper Lumbye Andersen TC Electronic Aarhus, Denmark jesperla@tcelectronic.com

More information

TopicViewer: Evaluating Remodularizations Using Semantic Clustering

TopicViewer: Evaluating Remodularizations Using Semantic Clustering TopicViewer: Evaluating Remodularizations Using Semantic Clustering Gustavo Jansen de S. Santos 1, Katyusco de F. Santos 2, Marco Tulio Valente 1, Dalton D. S. Guerrero 3, Nicolas Anquetil 4 1 Federal

More information

3. UML Class Diagrams Page 1 of 15

3. UML Class Diagrams Page 1 of 15 3. UML Class Diagrams Page 1 of 15 The UML Class Diagram: Part 1 In the last article, we saw what use cases were, and how to identify and create use cases. Taking the series ahead, in this article, we

More information

IBM C Rational Functional Tester for Java. Download Full Version :

IBM C Rational Functional Tester for Java. Download Full Version : IBM C2140-842 Rational Functional Tester for Java Download Full Version : http://killexams.com/pass4sure/exam-detail/c2140-842 QUESTION: 44 Which statement is true about the Time Delayed method when you

More information

Supporting Software History Exploration

Supporting Software History Exploration Supporting Software History Exploration Alexander W. J. Bradley Gail C. Murphy Department of Computer Science University of British Columbia {awjb, murphy}@cs.ubc.ca ABSTRACT Software developers often

More information

Progress in Spoken Programming

Progress in Spoken Programming Progress in Spoken Programming Benjamin M. Gordon George F. Luger Department of Computer Science University of New Mexico Abstract The dominant paradigm for programming a computer today is text entry via

More information

Supporting Program Comprehension in Agile with Links to User Stories

Supporting Program Comprehension in Agile with Links to User Stories Supporting Program Comprehension in Agile with Links to User Stories Sukanya Ratanotayanon Department of Informatics University of California, Irvine Irvine, USA sratanot@uci.edu Susan Elliott Sim Department

More information

BBK3253 Knowledge Management Prepared by Dr Khairul Anuar

BBK3253 Knowledge Management Prepared by Dr Khairul Anuar BBK3253 Knowledge Management Prepared by Dr Khairul Anuar L7: Developing and Managing Knowledge Repositories www.notes638.wordpress.com 1. Describe the key features of an effective knowledge repository

More information

EXAM PREPARATION GUIDE

EXAM PREPARATION GUIDE When Recognition Matters EXAM PREPARATION GUIDE PECB Certified Management System Auditor www.pecb.com The objective of the PECB Certified Management System Auditor examination is to ensure that the candidates

More information

AP Computer Science AB

AP Computer Science AB AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory

More information

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework

EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework EMF Metrics: Specification and Calculation of Model Metrics within the Eclipse Modeling Framework Thorsten Arendt a, Pawel Stepien a, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

5 th International Symposium 2015 IntSym 2015, SEUSL

5 th International Symposium 2015 IntSym 2015, SEUSL THE IMPACT OF INTERNATIONAL COMPUTER DRIVING LICENSE (ICDL) TRAINING ON CLASSROOM COMPUTER USE BY SECONDARY SCHOOL TEACHERS (SPECIAL REFERENCE ON BADULLA DISTRICT) J.D.Careemdeen 1 and P.K.J.E. Nonis 2

More information

Website:

Website: Chapter - 1: CONTENTS OF ISO 9001:2015 CERTIFIED INTERNAL AUDITOR TRAINING E-LEARNING COURSE Sr. No. The entire e-learning course has 6 main parts as below Lectures Details No. of slides 1. Session 1 :

More information

Privacy Protection in Personalized Web Search with User Profile

Privacy Protection in Personalized Web Search with User Profile Privacy Protection in Personalized Web Search with User Profile Prateek C. Shukla 1,Tekchand D. Patil 2, Yogeshwar J. Shirsath 3,Dnyaneshwar N. Rasal 4 1,2,3,4, (I.T. Dept.,B.V.C.O.E.&R.I. Anjaneri,university.Pune,

More information

A Study of Bad Smells in Code

A Study of Bad Smells in Code International Journal for Science and Emerging ISSN No. (Online):2250-3641 Technologies with Latest Trends 7(1): 16-20 (2013) ISSN No. (Print): 2277-8136 A Study of Bad Smells in Code Gurpreet Singh* and

More information

USER EXPERIENCE DESIGN (UXD)

USER EXPERIENCE DESIGN (UXD) Kent State University Catalog 2018-2019 1 USER EXPERIENCE DESIGN (UXD) UXD 20001 INTRODUCTION TO USER EXPERIENCE DESIGN 3 Credit Students explore the context within which User Experience Design exists

More information

Generating and Using Results

Generating and Using Results Background Generating and Using Results from Usability Evaluations Kasper Hornbæk University of Copenhagen www.kasperhornbaek.dk Associate professor in the Human computer Interaction group at Copenhagen

More information

Querying Source Code with Natural Language

Querying Source Code with Natural Language Querying Source Code with Natural Language Markus Kimmig, Martin Monperrus, Mira Mezini To cite this version: Markus Kimmig, Martin Monperrus, Mira Mezini. Querying Source Code with Natural Language. 26th

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies

A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies A Case Study on the Similarity Between Source Code and Bug Reports Vocabularies Diego Cavalcanti 1, Dalton Guerrero 1, Jorge Figueiredo 1 1 Software Practices Laboratory (SPLab) Federal University of Campina

More information

Rodale. Upper East Side

Rodale. Upper East Side Rodale Upper East Side Meet Rodale Native American, 29, PHX Level of trust in news? The best you can expect is 60% : Believes reporter s perspective, motive, and experience all drive credibility, as well

More information

Integrating User Evaluation into Software Development Environments

Integrating User Evaluation into Software Development Environments Integrating User Evaluation into Software Development Environments Yael Dubinsky, Tiziana Catarci, Shah Rukh Humayoun, and Stephen Kimani Dipartimento di Informatica e Sistemistica Università di Roma "La

More information

Integrating decision management with UML modeling concepts and tools

Integrating decision management with UML modeling concepts and tools Downloaded from orbit.dtu.dk on: Dec 17, 2017 Integrating decision management with UML modeling concepts and tools Könemann, Patrick Published in: Joint Working IEEE/IFIP Conference on Software Architecture,

More information

Introduction. Goal of This Book

Introduction. Goal of This Book xxviii Introduction The Cisco Networking Academy is a comprehensive e-learning program that provides students with Internet technology skills. A Networking Academy delivers web-based content, online assessment,

More information

Web Evaluation Report Guidelines

Web Evaluation Report Guidelines Web Evaluation Report Guidelines Graduate Students: You are required to conduct a usability test for your final project in this course. Please review the project description and the evaluation rubric on

More information

A User Study on Features Supporting Subjective Relevance for Information Retrieval Interfaces

A User Study on Features Supporting Subjective Relevance for Information Retrieval Interfaces A user study on features supporting subjective relevance for information retrieval interfaces Lee, S.S., Theng, Y.L, Goh, H.L.D., & Foo, S. (2006). Proc. 9th International Conference of Asian Digital Libraries

More information

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018 OVERVIEW... 2 SUMMARY OF MILESTONE III DELIVERABLES... 2 1. Blog Update #3 - Low-fidelity Prototyping & Cognitive Walkthrough,

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

TECHNOLOGY & TOPICS FOR EDUCATORS - SUMMER 2018 EDMS 350/ (CRN: 58047/58050) MONDAY/WEDNESDAY: 6:00 p.m. - 9:45 p.m.

TECHNOLOGY & TOPICS FOR EDUCATORS - SUMMER 2018 EDMS 350/ (CRN: 58047/58050) MONDAY/WEDNESDAY: 6:00 p.m. - 9:45 p.m. XAVIER UNIVERSITY Textbook: Secondary School Teaching, By Kellough & Kellough. TECHNOLOGY & TOPICS FOR EDUCATORS - SUMMER 2018 EDMS 350/550-81 (CRN: 58047/58050) MONDAY/WEDNESDAY: 6:00 p.m. - 9:45 p.m.

More information

Designing Usable Apps

Designing Usable Apps This is a free sample excerpt from the book: Designing Usable Apps An agile approach to User Experience design Author: Kevin Matz 264 pages (softcover edition) Print edition ISBN: 978-0-9869109-0-6 E-book

More information

Getting the Most from Eclipse

Getting the Most from Eclipse Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract

More information

Detection of Web-Site Usability Problems: Empirical Comparison of Two Testing Methods

Detection of Web-Site Usability Problems: Empirical Comparison of Two Testing Methods Detection of Web-Site Usability Problems: Empirical Comparison of Two Testing Methods Mikael B. Skov and Jan Stage Department of Computer Science Aalborg University Fredrik Bajers Vej 7 9220 Aalborg East,

More information

EVALUATION OF THE USABILITY OF EDUCATIONAL WEB MEDIA: A CASE STUDY OF GROU.PS

EVALUATION OF THE USABILITY OF EDUCATIONAL WEB MEDIA: A CASE STUDY OF GROU.PS EVALUATION OF THE USABILITY OF EDUCATIONAL WEB MEDIA: A CASE STUDY OF GROU.PS Turgay Baş, Hakan Tüzün Hacettepe University (TURKEY) turgaybas@hacettepe.edu.tr, htuzun@hacettepe.edu.tr Abstract In this

More information

Practical Experiments with KivaNS: A virtual Laboratory for Simulating IP Routing in Computer Networks Subjects

Practical Experiments with KivaNS: A virtual Laboratory for Simulating IP Routing in Computer Networks Subjects Practical Experiments with KivaNS: A virtual Laboratory for Simulating IP Routing in Computer Networks Subjects F. A. Candelas Herías * and P. Gil Vázquez AUROVA, Department of Physics, Systems Engineering

More information

Introduction to Programming

Introduction to Programming Introduction to Programming Course ISI-1329 - Three Days - Instructor-Led Introduction This three-day, instructor-led course introduces students to computer programming. Students will learn the fundamental

More information

Exam Requirements v4.1

Exam Requirements v4.1 COBIT Foundation Exam Exam Requirements v4.1 The purpose of this document is to provide information to those interested in participating in the COBIT Foundation Exam. The document provides information

More information

IBM MANY EYES USABILITY STUDY

IBM MANY EYES USABILITY STUDY IBM MANY EYES USABILITY STUDY Team Six: Rod Myers Dane Petersen Jay Steele Joe Wilkerson December 2, 2008 I543 Interaction Design Methods Fall 2008 Dr. Shaowen Bardzell EXECUTIVE SUMMARY We asked three

More information

BPM optimization Part 1: Introduction to BPM code optimization

BPM optimization Part 1: Introduction to BPM code optimization BPM optimization Part 1: Introduction to BPM code optimization XPDL source code tuning 4/12/2012 IBM Lukasz Osuszek Abstract: This article describes how optimization techniques characteristic of source

More information

THE STATE OF IT TRANSFORMATION FOR RETAIL

THE STATE OF IT TRANSFORMATION FOR RETAIL THE STATE OF IT TRANSFORMATION FOR RETAIL An Analysis by Dell EMC and VMware Dell EMC and VMware are helping IT groups at retail organizations transform to business-focused service providers. The State

More information

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics.

Topic 3 Unified Modeling Language UML. Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics. Topic 3 Unified Modeling Language UML Objective: Student will use UML to represent relationshiops between objects, its structure and dynamics. Contents: 1. Structure diagrams 2. Behavior diagrams What

More information

Objectives: On completion of this project the student should be able to:

Objectives: On completion of this project the student should be able to: ENGI-0655/5232 Software Construction and Evolution Project 1 Reverse Engineering Refactoring & Object Oriented Design Due date November 10, 2009-4:00 pm 1. Aims The aim of this project is to give you more

More information

Users are always RIGHT! Usability and Eyetracking to improve web sites

Users are always RIGHT! Usability and Eyetracking to improve web sites Users are always RIGHT! Usability and Eyetracking to improve web sites Laura Ruel, Hugh Morton Distinguished Associate Professor School of Media and Journalism University of North Carolina at Chapel Hill

More information

EXAM PREPARATION GUIDE

EXAM PREPARATION GUIDE When Recognition Matters EXAM PREPARATION GUIDE PECB Certified ISO 9001 Lead Auditor www.pecb.com The objective of the PECB Certified ISO 9001 Lead Auditor examination is to ensure that the candidate possesses

More information

Visualizing the evolution of software using softchange

Visualizing the evolution of software using softchange Visualizing the evolution of software using softchange Daniel M. German, Abram Hindle and Norman Jordan Software Engineering Group Department of Computer Science University of Victoria dmgerman,abez,njordan

More information

Employing Query Technologies for Crosscutting Concern Comprehension

Employing Query Technologies for Crosscutting Concern Comprehension Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software

More information

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES 5 THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES THIS E-BOOK IS DIVIDED INTO 5 PARTS: 1. WHY YOU NEED TO KNOW YOUR READER 2. A USER MANUAL OR A USER GUIDE WHAT S THE DIFFERENCE?

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

A Meta-Model for Fact Extraction from Delphi Source Code

A Meta-Model for Fact Extraction from Delphi Source Code Electronic Notes in Theoretical Computer Science 94 (2004) 9 28 www.elsevier.com/locate/entcs A Meta-Model for Fact Extraction from Delphi Source Code Jens Knodel and G. Calderon-Meza 2 Fraunhofer Institute

More information

An approach to quantifying the run-time behaviour of Java GUI applications

An approach to quantifying the run-time behaviour of Java GUI applications An approach to quantifying the run-time behaviour of Java GUI applications Aine Mitchell, James F. Power Abstract This paper outlines a new technique for collecting dynamic trace information from Java

More information

UNIT 2 TOPICS IN COMPUTER SCIENCE. Exploring Computer Science 2

UNIT 2 TOPICS IN COMPUTER SCIENCE. Exploring Computer Science 2 UNIT 2 TOPICS IN COMPUTER SCIENCE Exploring Computer Science 2 ACM - ASSOCIATION FOR COMPUTING MACHINERY The Association for Computing Machinery (ACM) is a U.S.-based international learned society for

More information