首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
2.
The practice of measuring software is increasingly seen as a valuable tool in the overall development of high-quality software projects. Software measurement attempts to use known, quantifiable, objective, and subjective measures to compare and profile software projects and products. To compute these measures effectively, data that characterize the software project and product are needed. This paper covers aspects of data collection and software measurement as they have been applied by one particular organization, the Software Engineering Laboratory (SEL). The measurement results include the experiences and lessons learned through numerous experiments conducted by the SEL on nearly 60 flight dynamics software projects. These experiments have attempted to determine the effect of various software development technologies on overall software project quality and on specific measures such as productivity, reliability, and maintainability.  相似文献   

3.
Open Source Software (OSS) development challenges traditional software engineering practices. In particular, OSS projects are managed by a large number of volunteers, working freely on the tasks they choose to undertake. OSS projects also rarely rely on explicit system-level design, or on project plans or schedules. Moreover, OSS developers work in arbitrary locations and collaborate almost exclusively over the Internet, using simple tools such as email and software code tracking databases (e.g. CVS).All the characteristics above make OSS development akin to weaving a tapestry of heterogeneous components. The OSS design process relies on various types of actors: people with prescribed roles, but also elements coming from a variety of information spaces (such as email and software code). The objective of our research is to understand the specific hybrid weaving accomplished by the actors of this distributed, collective design process. This, in turn, challenges traditional methodologies used to understand distributed software engineering: OSS development is simply too “fibrous” to lend itself well to analysis under a single methodological lens.In this paper, we describe the methodological framework we articulated to analyze collaborative design in the Open Source world. Our framework focuses on the links between the heterogeneous components of a project’s hybrid network. We combine ethnography, text mining, and socio-technical network analysis and visualization to understand OSS development in its totality. This way, we are able to simultaneously consider the social, technical, and cognitive aspects of OSS development. We describe our methodology in detail, and discuss its implications for future research on distributed collective practices.The order of the co-authors names is not significant.  相似文献   

4.
 The discipline of Software Engineering is abstract and complex with all its endeavors being cast in a knowledge-intensive environment. It is not surprising that there have been a number of important initiatives that have attempted to address a burning need for solid development tools and comprehensive environments supporting an in-depth analysis. The objective of this study is to discuss a role of Computational Intelligence (CI) and visual computing being viewed as a sound methodological and algorithmic environment for knowledge-oriented Software Engineering. The CI itself is regarded as a synergistic consortium of granular computing (including fuzzy sets) promoting abstraction, neurocomputing supporting various learning schemes and evolutionary computing providing important faculties of global optimization. By its very nature, CI embraces a diversity of design paradigms; in particular it promotes a top-down approach (when exploiting fuzzy sets first and afterwards working in the neural network environment) or bottom-up style (where these two technologies are used in a reverse order). Visual computing is inherently associated with CI: it is human-centric where fuzzy sets make visualization activities feasible. Fuzzy sets are treated as a graphic means of accepting information from users. They are regarded as a vehicle used to visualize results in a linguistic manner. Software Engineering and CI are highly compatible: they are knowledge-intensive, human-oriented, and have to deal with various manifestations of the abstract world of software constructs and thought processes. This multifaceted conceptual compatibility is a prerequisite for the development of vital synergistic links that bring the technology of CI into Software Engineering. The symbiosis accrues considerable benefits for both technologies by posing new categories of challenging and highly stimulating problems. The facet of visual computing is essential in handling of software processes and software products. The intent of this study is to provide a general overview of this new development in Software Engineering. In particular, we highlight a number of selected and most visible trends occurring at the junction of CI and Software Engineering. Furthermore we discuss several specific applications of the technology of CI to software cost estimation, analysis of software measures and neural models of software quality. Support from the Natural Sciences and Engineering Research Council of Canada (NSERC) and the Alberta Software Engineering Research Consortium (ASERC) is gratefully acknowledged.  相似文献   

5.

Context

Studying work practices in the context of Global Software Development (GSD) projects entails multiple opportunities and challenges for the researchers. Understanding and tackling these challenges requires a careful and rigor application of research methods.

Objective

We want to contribute to the understanding of the challenges of studying GSD by reflecting on several obstacles we had to deal with when conducting ethnographically-informed research on offshoring in German small to medium-sized enterprises.

Method

The material for this paper is based on reflections and field notes from two research projects: an exploratory ethnographic field study, and a study that was framed as a Business Ethnography. For the analysis, we took a Grounded Theory-oriented coding and analysis approach in order to identify issues and challenges documented in our research notes.

Results

We introduce the concept of Business Ethnography and discuss our experiences of adapting and implementing this action research concept for our study. We identify and discuss three primary issues: understanding complex global work practices from a local perspective, adapting to changing interests of the participants, and dealing with micro-political frictions between the cooperating sites.

Conclusions

We identify common interests between the researchers and the companies as a challenge and chance for studies on offshoring. Building on our experiences from the field, we argue for an active conceptualization of struggles and conflicts in the field as well as for extending the role of the ethnographer to that of a learning mediator.  相似文献   

6.
ContextThis systematic mapping review is set in a Global Software Engineering (GSE) context, characterized by a highly distributed environment in which project team members work separately in different countries. This geographic separation creates specific challenges associated with global communication, coordination and control.ObjectiveThe main goal of this study is to discover all the available communication and coordination tools that can support highly distributed teams, how these tools have been applied in GSE, and then to describe and classify the tools to allow both practitioners and researchers involved in GSE to make use of the available tool support in GSE.MethodWe performed a systematic mapping review through a search for studies that answered our research question, “Which software tools (commercial, free or research based) are available to support Global Software Engineering?” Applying a range of related search terms to key electronic databases, selected journals, and conferences and workshops enabled us to extract relevant papers. We then used a data extraction template to classify, extract and record important information about the GSD tools from each paper. This information was synthesized and presented as a general map of types of GSD tools, the tool’s main features and how each tool was validated in practice.ResultsThe main result is a list of 132 tools, which, according to the literature, have been, or are intended to be, used in global software projects. The classification of these tools includes lists of features for communication, coordination and control as well as how the tool has been validated in practice. We found that out the total of 132, the majority of tools were developed at research centers, and only a small percentage of tools (18.9%) are reported as having been tested outside the initial context in which they were developed.ConclusionThe most common features in the GSE tools included in this study are: team activity and social awareness, support for informal communication, Support for Distributed Knowledge Management and Interoperability with other tools. Finally, there is the need for an evaluation of these tools to verify their external validity, or usefulness in a wider global environment.  相似文献   

7.
It has been a decade since Michael Jackson introduced problem frames to the software engineering community. Since then, he has published further work addressing problem frames as well as presenting several keynote addresses. Other authors have researched problem frames, have written about their experiences and have expressed their opinions. It was not until 2004 that an opportunity presented itself for researchers in the field to gather as a community. The first International Workshop on Advances and Applications of Problem Frames (IWAAPF'04) was held at the International Conference on Software Engineering in Edinburgh on 24th May 2004. This event attracted over 30 participants: Jackson delivered a keynote address, researchers presented their work and an expert panel discussed the challenges of problem frames.Featuring in this special issue are two extended papers from the workshop, an invited contribution from Jackson in which he positions problem frames in the context of the software engineering discipline, and this article, where we provide a review of the literature.  相似文献   

8.
Gumm  D.C. 《Software, IEEE》2006,23(5):45-51
Distribution in software development projects is a complex phenomenon with many dimensions. In addition to the obvious physical dimension entailed by geographically dispersed project personnel and resources, projects must contend with organizational distribution among various company departments, for example, as well as temporal and stakeholder distributions. A review of the literature on globally distributed software development projects produced a preliminary taxonomy based on a dimensional analysis of distribution. Developers can use this taxonomy to identify and visualize their project's distribution dimensions and scopes. A real-world case study of the taxonomy's use illuminates its value, as well as common challenges and possible solutions to distribution problems.This article is part of a special issue on Global Software Development.  相似文献   

9.
Domain specific techniques take advantage of the commonalities among applications developed within a certain domain. They are known to improve quality and productivity by incorporating domain knowledge and previous project experiences and promote reuse. This paper describes six domain specific software engineering techniques for developing multimedia applications within the digital library domain. We provide examples of each technique from several projects in which they were used, how the techniques are used within general software engineering practice (in particular, MBASE), how the techniques address some of the particular challenges multimedia software engineering, and the positive impacts we have measured resulting from their use within a graduate level software engineering course.  相似文献   

10.
The software industry is adopting the DevOps paradigm to an increasingly frequent extent. In addition, the trend of developing software in a distributed manner greatly increased as a result of the COVID-19 pandemic, which forced team members from software companies to work remotely. We present the results of a Systematic Mapping Study (SMS) of how DevOps has been applied in distributed and global settings that adopts Global Software Development (GSD). The results were obtained from analysing 27 papers. The main conclusions obtained after carrying our SMS show that adopting DevOps in such settings by implementing certain practices brings several advantages to software companies, even though there are difficulties to be confronted when adopting DevOps in global and distributed contexts. Moreover, we (1) proposed definition of DevOps in distributed and global settings, (2) mapped the challenges detected with a list of well-known GSD risks and (3) mapped the benefits that can be obtained from applying certain practices identified and the challenges that should be overcame to obtain such benefits.  相似文献   

11.
ContextThe context of this paper is Global Software Development (GSD) which is a current trend concerning the development of software in a distributed manner throughout different countries. This paradigm has several advantages, but unfortunately there are a number of challenges that hinder projects’ successful development.ObjectiveThe main goal of this paper is to discover which factors affect the success of GSD projects and how these are ranked by researchers and practitioners.MethodThis paper analyses the relevant success factors reported in literature. These were collected by conducting a literature review, as a result of which 39 GSD success factors were selected. Q-methodology was then followed to conduct a survey from which the opinions of 21 experts in GSD were collected.ResultsThe data indicated that the best ranked GSD success factors are staff motivation, skilled human resources and the identification of roles and responsibilities. The lowest scores were, surprisingly, language barriers, time zone differences between sites, cultural differences and geographical distance which, to date, have frequently been considered by researchers as the most influential factors in GSD. This study additionally shows the results according to the different points of view of the respondents involved and the context of the projects.ConclusionThis study indicates that there are different points of view as regards which issues are most important to success when setting up a GSD project. For instance, some experts prefer a knowledge focus, while others prefer a project management approach in which the most important issues are those related to management (risks, coordination) and so on.The results obtained have also shown that the challenges of GSD are changing, since the critical issues were initially related to the various types of distances (geographical, temporal, socio-cultural, language). However, there is now a greater concern for the team members’ features and skills.  相似文献   

12.
Surviving global software development   总被引:1,自引:0,他引:1  
Ebert  C. De Neve  P. 《Software, IEEE》2001,18(2):62-69
Software development involves teamwork and a lot of communication. It seems rational to put all your engineers in one place, encourage them to share objectives, and let the project run. Why use distributed sites when it's easier to work in one location without the overhead of remote communication and planning? How is it possible to survive (and succeed with) globally dispersed projects? Working in a global context has its advantages, but it also has drawbacks. On the plus side, you gain time-zone effectiveness and reduced cost in various countries. However, working on a globally distributed project means operating costs for planning and managing people, along with language and cultural barriers. It also creates jealousy as the more expensive engineers (who are afraid of losing their jobs) are forced to train their much cheaper counterparts. In this case study, we try to summarize experiences and share best practices from projects of different types and sizes that involve several locations on different continents and in many cultures  相似文献   

13.
An experience in collaborative software engineering education   总被引:1,自引:0,他引:1  
Favela  J. Pena-Mora  F. 《Software, IEEE》2001,18(2):47-53
Large-scale software development requires the interaction of specialists from different fields who must communicate their decisions and coordinate their activities. As global software development becomes mainstream, software engineers face new challenges for which they have received little or no training. To help a new generation of software developers better understand the industry's globalization and familiarize them with distributed, collaborative development, we designed a course entitled the Distributed Software Engineering Laboratory. In the class, pairs of students from different countries work as a virtual organization overseeing the whole software development process. We describe the lessons we have learned in this course and propose a framework useful in dealing with some of the difficulties participants face  相似文献   

14.
Global teams are an important work structure in software development projects. Managing such complex global software projects presents many challenges to traditional leadership wisdom, in particular, how, why and when the leaders should delegate responsibility and authority. Delegation is considered an important leadership component to motivate and grow subordinates. Cultural differences, skill level disparity and potential competition between different software development sites creates a management context which is much different from where traditional leadership theories were developed. This study investigates leader delegation behaviors in global software teams and explores the reasons and impact of delegation strategies on global team performance. Semi-structured interviews and a survey was used to collect data from global software team managers and members from four countries of a Fortune 100 IT service company. The results of this study include in-depth analysis of hows and whys of leader delegation in global teams and a theoretical model for analyzing global team leader delegation occurrence and effects.  相似文献   

15.
16.
Object-oriented (OO) technology has been heralded as a solution to the problems of software engineering. The claims are that OO technology promotes understandability, extensibility, evolvabilty, reusability, and maintainability of systems and that OO systems are easy to understand and use. However, this technology has not been as successful as expected. An analysis of experiences and empirical studies reveals that the problem is not the technology per se but that the technology provides no support to software developers in performing the processes the technology requires. We present a cognitive model of software development that details the challenges software developers face in using OO technology. The model focuses on three aspects of software development—evolution, reuse and redesign, and domain orientation. We motivate this model with a variety of firsthand experiences and use it to assess current OO technology. Further, we present tools and evaluations that substantiate parts of this model. The model and tools indicate directions for future software development environment, looking beyond the technological possibilities of OO languages and beyond the context of individual developers and projects.  相似文献   

17.
The concept of "New Engineering" has put forward new challenges to the talents cultivation of universities. Due to some problems of the traditional Software Engineering curriculum, e.g. separated design at undergraduate-level and graduate-level courses, poor curriculum structure, lacking of industry characteristics. This paper proposes an integrated undergraduate-graduate education curriculum for Software Engineering Major, which is based on Software Engineering specialty knowledge system (C-SWEBOK) and focuses on the current national strategic demands. Additionally, the curriculum combines with the University's transportation characteristics, and fuses the discipline of Software Engineering and Intelligent Transportation. The multi-level curriculum designed in this paper is with reasonable structure, complete system, progressive content, and salient feature, which provides the strong support for cultivating high-qualified software talents in line with national strategies and industry needs.  相似文献   

18.
We select candidates for process change on the basis of quantified Software Engineering Laboratory (SEL) experiences and clearly defined goals for the software. After we select the changes, we provide training and formulate experiment plans. We then apply the new process to one or more production projects and take detailed measurements. We assess process success by comparing these measures with the continually evolving baseline. Based upon the results of the analysis, we adopt, discard, or revise the process  相似文献   

19.
Damian  D. Moitra  D. 《Software, IEEE》2006,23(5):17-19
Global software development efforts have increased in recent years, and such development seems to have become a business necessity for various reasons, including cost, availability of resources, and the need to locate development closer to customers. However, there's still much to learn about global software development before the discipline becomes mature. This special issue aims to assess the gap between the state of the art and the state of the practice. It presents five articles that cover various aspects of global software development, including knowledge management strategies, distributed software development, requirements engineering, distributed requirements, and managing offshore collaboration. A Point/Counterpoint department discusses whether global software development is indeed a business necessity.This article is part of a special issue on Global Software Development.  相似文献   

20.
The difficulties of building generic reliability models for software   总被引:1,自引:0,他引:1  
The Software Engineering research community have spent considerable effort in developing models to predict the behaviour of software. A number of these models have been derived based on the pre and post behaviour of the development of software products, but when these models are applied to other products, the results are often disappointing. This appears to differentiate Software from other engineering disciplines that often depend on generic predictive models to verify the correctness of their products. This short paper discusses why other engineering disciplines have managed to create generalized models, the challenges faced by the Software industry to build these models, and the change we have made to our process in Microsoft to address some of these challenges.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号