4 resultados para Software Engineering Environment
em DigitalCommons@University of Nebraska - Lincoln
Resumo:
Not long ago, most software was written by professional programmers, who could be presumed to have an interest in software engineering methodologies and in tools and techniques for improving software dependability. Today, however, a great deal of software is written not by professionals but by end-users, who create applications such as multimedia simulations, dynamic web pages, and spreadsheets. Applications such as these are often used to guide important decisions or aid in important tasks, and it is important that they be sufficiently dependable, but evidence shows that they frequently are not. For example, studies have shown that a large percentage of the spreadsheets created by end-users contain faults, and stories abound of spreadsheet faults that have led to multi-million dollar losses. Despite such evidence, until recently, relatively little research had been done to help end-users create more dependable software.
Resumo:
Not long ago, most software was written by professional programmers, who could be presumed to have an interest in software engineering methodologies and in tools and techniques for improving software dependability. Today, however, a great deal of software is written not by professionals but by end-users, who create applications such as multimedia simulations, dynamic web pages, and spreadsheets. Applications such as these are often used to guide important decisions or aid in important tasks, and it is important that they be sufficiently dependable, but evidence shows that they frequently are not. For example, studies have shown that a large percentage of the spreadsheets created by end-users contain faults. Despite such evidence, until recently, relatively little research had been done to help end-users create more dependable software. We have been working to address this problem by finding ways to provide at least some of the benefits of formal software engineering techniques to end-user programmers. In this talk, focusing on the spreadsheet application paradigm, I present several of our approaches, focusing on methodologies that utilize source-code-analysis techniques to help end-users build more dependable spreadsheets. Behind the scenes, our methodologies use static analyses such as dataflow analysis and slicing, together with dynamic analyses such as execution monitoring, to support user tasks such as validation and fault localization. I show how, to accommodate the user base of spreadsheet languages, an interface to these methodologies can be provided in a manner that does not require an understanding of the theory behind the analyses, yet supports the interactive, incremental process by which spreadsheets are created. Finally, I present empirical results gathered in the use of our methodologies that highlight several costs and benefits trade-offs, and many opportunities for future work.
Resumo:
We live and work in a world that is even more interconnected and interdependent than ever before. Engineers must now not only develop technical engineering competence, but must also develop additional skills and competencies including global competence to obtain success within a global engineering environment. The purpose of this study was to determine whether multinational companies considered global competence an important skill in mechanical engineering graduates when making hiring decisions. The study was an exploratory study that utilized an extensive literature review to identify eight global competencies for engineering success within a global environment and also included a survey instrument completed by Brigham Young University (BYU) mechanical engineering alumni in 48 states and 17 countries. The study focused on an evaluation of standard hiring technical engineering competencies with eight global competencies identified in the literature review. The study established that standard engineering technical competencies were the most important consideration when hiring mechanical engineers, but global competence was also considered important by a majority of all survey respondents with six of the eight global competencies rated important by 79 to 91% of respondents with an ability to communicate cross-culturally the highest-rated global competence. The importance of global competence in engineers when making hiring decisions, as considered by large companies who employed more than 10,000 employees or who had annual revenue exceeding $1 billion (US$) per year, was particularly strong. The majority of respondents (70%) indicated that companies were willing to provide training and experience to help engineers obtain success in a global engineering environment. In addition, a majority of respondents (59.9%) indicated that companies valued the efforts of higher educational engineering institutions to prepare engineers for success in a global environment with only 4.8% of respondents indicating that they did not value the efforts of higher education engineering institutions. However, only 27% of respondents agreed that colleges and universities were successful in this endeavor. Globalization is not a passing phenomenon, it is here to stay. Colleges and universities throughout the world need to recognize the importance of globalization and the interdependence and interconnectedness among the world’s population. Therefore, it is important to identify, develop, and provide opportunities for international collaboration and interaction among students and faculty throughout the world and to focus on developing global competence as an important outcome for engineering graduates.
Resumo:
Mashups are becoming increasingly popular as end users are able to easily access, manipulate, and compose data from several web sources. To support end users, communities are forming around mashup development environments that facilitate sharing code and knowledge. We have observed, however, that end user mashups tend to suffer from several deficiencies, such as inoperable components or references to invalid data sources, and that those deficiencies are often propagated through the rampant reuse in these end user communities. In this work, we identify and specify ten code smells indicative of deficiencies we observed in a sample of 8,051 pipe-like web mashups developed by thousands of end users in the popular Yahoo! Pipes environment. We show through an empirical study that end users generally prefer pipes that lack those smells, and then present eleven specialized refactorings that we designed to target and remove the smells. Our refactorings reduce the complexity of pipes, increase their abstraction, update broken sources of data and dated components, and standardize pipes to fit the community development patterns. Our assessment on the sample of mashups shows that smells are present in 81% of the pipes, and that the proposed refactorings can reduce that number to 16%, illustrating the potential of refactoring to support thousands of end users developing pipe-like mashups.