Results 1 - 10
of
13
Notation and representation in collaborative object-oriented design: an observational study
- In SIGPLAN Notices, Volume 42 , Issue 10. ACM
, 2007
"... Software designers in the object-oriented paradigm can make use of modeling tools and standard notations such as UML. Nevertheless, casual observations from collocated design collaborations suggest that teams tend to use physical mediums to sketch a plethora of informal diagrams in varied representa ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Software designers in the object-oriented paradigm can make use of modeling tools and standard notations such as UML. Nevertheless, casual observations from collocated design collaborations suggest that teams tend to use physical mediums to sketch a plethora of informal diagrams in varied representations that often diverge from UML. To better understand such collaborations and support them with tools, we need to understand the origins, roles, uses, and implications of these alternate representations. To this end we conducted observational studies of collaborative design exercises, in which we focused on representation use. Our primary finding is that teams intentionally improvise representations and organize design information in response to ad-hoc needs, which arise from the evolution of the design, and which are difficult to meet with fixed standard notations. This behavior incurs orientation and grounding difficulties for which teams compensate by relying on memory, other communication mediums, and contextual cues. Without this additional information the artifacts are difficult to interpret and have limited documentation potential. Collaborative design tools and processes should therefore focus on preserving contextual information while permitting unconstrained mixing and improvising of notations.
Assessing the comprehension of UML class diagrams via eye tracking
- In 15th International Conference on Program Comprehension (ICPC 2007
, 2007
"... Eye-tracking equipment is used to assess how well a subject comprehends UML class diagrams. The results of a study are presented in which eye movements are captured in a non-obtrusive manner as users performed various comprehension tasks on UML class diagrams. The goal of the study is to identify sp ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
Eye-tracking equipment is used to assess how well a subject comprehends UML class diagrams. The results of a study are presented in which eye movements are captured in a non-obtrusive manner as users performed various comprehension tasks on UML class diagrams. The goal of the study is to identify specific characteristics of UML class diagrams, such as layout, color, and stereotype usage that are most effective for supporting a given task. Results indicate subjects have a variation in the eye movements (i.e., how the subjects navigate the diagram) depending on their UML expertise and software-design ability to solve the given task. Layouts with additional semantic information about the design were found to be most effective and the use of class stereotypes seems to play a substantial role in comprehension of these diagrams. 1.
Designing your next empirical study on program comprehension
- In Proc. Int. Conf. on Program Compr. (ICPC
"... The field of program comprehension is characterized by both the continuing development of new tools and techniques and the adaptation of existing techniques to address program comprehension needs for new software development and maintenance scenarios. The adoption of these techniques and tools in in ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
The field of program comprehension is characterized by both the continuing development of new tools and techniques and the adaptation of existing techniques to address program comprehension needs for new software development and maintenance scenarios. The adoption of these techniques and tools in industry requires proper experimentation to assess the advantages and disadvantages of each technique or tool and to let the practitioners choose the most suitable approach for a specific problem. The objective of this working session is to encourage researchers and practitioners working in the area of program comprehension to join forces to design and carry out studies related to program comprehension, including observational studies, controlled experiments, case studies, surveys, and contests, and to develop standards for describing and carrying out such studies in a way that facilitates replication of data and aggregation of the results of related studies.
The Impact of UML Documentation on Software Maintenance: An Experimental Evaluation
- IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2006
"... The Unified Modeling Language (UML) is becoming the de facto standard for software analysis and design modeling. However, there is still significant resistance to model-driven development in many software organizations because it is perceived to be expensive and not necessarily cost-effective. Henc ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
The Unified Modeling Language (UML) is becoming the de facto standard for software analysis and design modeling. However, there is still significant resistance to model-driven development in many software organizations because it is perceived to be expensive and not necessarily cost-effective. Hence, it is important to investigate the benefits obtained from modeling. As a first step in this direction, this paper reports on controlled experiments, spanning two locations, that investigate the impact of UML documentation on software maintenance. Results show that, for complex tasks and past a certain learning curve, the availability of UML documentation may result in significant improvements in the functional correctness of changes as well as the quality of their design. However, there does not seem to be any saving of time. For simpler tasks, the time needed to update the UML documentation may be substantial compared with the potential benefits, thus motivating the need for UML tools with better support for software maintenance.
An Empirical Study on the Comprehension of Stereotyped UML Class Diagram Layouts
- in Proceedings of 17th IEEE Intl. Conf. on Program Comprehension (ICPC
"... An empirical study is presented that investigates how stereotype based layouts impact the comprehension of UML class diagrams. This work continues a previous study using eye-tracking equipment by replicating it using an alternative method. Here instead, online questionnaires were used as a means of ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
An empirical study is presented that investigates how stereotype based layouts impact the comprehension of UML class diagrams. This work continues a previous study using eye-tracking equipment by replicating it using an alternative method. Here instead, online questionnaires were used as a means of collecting data. Subjects were given two types of tasks: one addressing UML syntax and the other addressing questions concerning software design. Three different layout strategies are compared. Along with general aesthetics, the layouts are primarily organized based on the class stereotypes of control, boundary, and entity. Besides the answers, a confidence value for each question was collected from the subjects to help validate the categorization of subjects. Results of the study are compared and contrasted to the eye-tracking study done with the same tasks and layouts. Results show a significant improvement in performance in both types of tasks with the multi-cluster stereotyped layouts. 1.
Using Acceptance Tests as a Support for Clarifying Requirements: a Series of Experiments
"... One of the main reasons for the failure of many software projects is the late discovery of a mismatch between the customers ’ expectations and the pieces of functionality implemented in the delivered system. At the root of such a mismatch is often a set of poorly defined, incomplete, under-specified ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
One of the main reasons for the failure of many software projects is the late discovery of a mismatch between the customers ’ expectations and the pieces of functionality implemented in the delivered system. At the root of such a mismatch is often a set of poorly defined, incomplete, under-specified, and inconsistent requirements. Test driven development has recently been proposed as a way to clarify requirements during the initial elicitation phase, by means of acceptance tests that specify the desired behavior of the system. The goal of the work reported in this paper is to empirically characterize the contribution of acceptance tests to the clarification of the requirements coming from the customer. We focused on Fit tables, a way to express acceptance tests, which can be automatically translated into executable test cases. We ran two experiments with students from University of Trento and Politecnico of Torino, to assess the impact of Fit tables on the clarity of requirements. We considered whether Fit tables actually improve requirement understanding and whether this requires any additional comprehension effort. Experimental results show that Fit helps in the understanding of requirements without requiring a significant additional effort.
The role of experience and ability in comprehension tasks supported by uml stereotypes
- In Proceedings of the International Conference on Software Engineering
, 2007
"... Proponents of design notations tailored for specific application domains or reference architectures, often available in the form of UML stereotypes, motivate them by improved understandability and modifiability. However, empirical studies that tested such claims report contradictory results, where t ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Proponents of design notations tailored for specific application domains or reference architectures, often available in the form of UML stereotypes, motivate them by improved understandability and modifiability. However, empirical studies that tested such claims report contradictory results, where the most intuitive notations are not always the best performing ones. This indicates the possible existence of relevant influencing factors, other than the design notation itself. In this work we report the results of a family of three experiments performed at different locations and with different subjects, in which we assessed the effectiveness of UML stereotypes for Web design in support to comprehension tasks. Replications with different subjects allowed us to investigate whether subjects ’ ability and experience play any role in the comprehension of stereotyped diagrams. We observed different behaviors of users with different degrees of ability and experience, which suggests alternative comprehension strategies of (and tool support for) different categories of users. 1.
Impact of the Visitor Pattern on Program Comprehension and Maintenance
"... In the software engineering literature, many works claim that the use of design patterns improves the comprehensibility of programs and, more generally, their maintainability. Yet, little work attempted to study the impact of design patterns on the developers ’ tasks of program comprehension and mod ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In the software engineering literature, many works claim that the use of design patterns improves the comprehensibility of programs and, more generally, their maintainability. Yet, little work attempted to study the impact of design patterns on the developers ’ tasks of program comprehension and modification. We design and perform an experiment to collect data on the impact of the Visitor pattern on comprehension and modification tasks with class diagrams. We use an eyetracker to register saccades and fixations, the latter representing the focus of the developers ’ attention. Collected data show that the Visitor pattern plays a role in maintenance tasks: class diagrams with its canonical representation requires less efforts from developers. comprehensibility. Bieman et al. [4] showed that classes playing certain roles in some design patterns are more change prone that others classes. Khomh and Guéhéneuc [21] performed an empirical study of the impact of the 23 design patterns from [10] on ten different quality characteristics and concluded that patterns do not necessarily promote reusability, expandability, and understandability, as advocated by Gamma et al. 1.
Guidelines on the use of Fit tables in Software Maintenance Tasks: Lessons Learned from 8 Experiments
"... Executable acceptance test case—in particular Fit (Framework for Integrated Test) tables—originally intended for the development phase proved useful in maintenance activities too. Empirical evidence suggests that Fit tables are useful in improving the comprehension of change requirements and the cor ..."
Abstract
- Add to MetaCart
Executable acceptance test case—in particular Fit (Framework for Integrated Test) tables—originally intended for the development phase proved useful in maintenance activities too. Empirical evidence suggests that Fit tables are useful in improving the comprehension of change requirements and the correctness of the maintained code. Stemming from eight experiments formerly performed by the authors, this paper presents a set of lessons learned and guidelines useful for project managers on the use of Fit tables in maintenance tasks. Specifically, the paper discusses the use of Fit tables in maintenance tasks considering a set of dimensions, ranging from maintainers ’ experience to the nature of application being maintained and to the kind of benefits introduced by Fit tables. Benefits of Fit tables, such as improving the code correctness and comprehension, increase with developers experience and complex requirements but decrease with Web-based applications and when programmers work in pairs.
Noname manuscript No. (will be inserted by the editor) An Empirical Study on the Efficiency of Different Design Pattern Representations in UML Class Diagrams
"... Abstract Design patterns are recognized in the software engineering community as useful solutions to recurring design problems that improve the quality of programs. They are more and more used by developers in the design and implementation of their programs. Therefore, the visualization of the desig ..."
Abstract
- Add to MetaCart
Abstract Design patterns are recognized in the software engineering community as useful solutions to recurring design problems that improve the quality of programs. They are more and more used by developers in the design and implementation of their programs. Therefore, the visualization of the design patterns used in a program could be useful to efficiently understand how it works. Currently, a common representation to visualize design patterns is the UML collaboration notation. Previous work noticed some limitations in the UML representation and proposed new representations to tackle these limitations. However, none of these pieces of work conducted empirical studies to compare their new representations with the UML representation. We designed and conducted an empirical study to collect data on the performance of developers on basic tasks related to design pattern comprehension (i.e., identifying composition, role, participation) to evaluate the impact of three visual representations and to compare them with the UML one. We used eye-trackers to measure the developers ’ effort during the execution of the study. Collected data and their analyses show that stereotype-enhanced UML diagrams are more efficient for identifying composition and role than the UML collaboration notation. The UML representation and the pattern-enhanced class diagrams are more efficient for locating the classes participating in a design pattern (i.e., identifying participation). Keywords Eye-tracking ⋅ Design Patterns ⋅ Visualization ⋅ Empirical study ⋅ UML

