首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
This paper aims at identifying some of the key factors in adopting or running a company-wide software reuse program. Key factors are derived from empirical evidence of reuse practices, as emerged from a survey of projects for the introduction of reuse in European companies: 24 such projects performed from 1994 to 1997 were analyzed using structured interviews. The projects were undertaken in both large and small companies, working in a variety of business domains, and using both object-oriented and procedural development approaches. Most of them produce software with high commonality between applications, and have at least reasonably mature processes. Despite that apparent potential for success, around one-third of the projects failed. Three main causes of failure were not introducing reuse-specific processes, not modifying nonreuse processes, and not considering human factors. The root cause was a lack of commitment by top management, or nonawareness of the importance of those factors, often coupled with the belief that using the object-oriented approach or setting up a repository seamlessly is all that is necessary to achieve success in reuse. Conversely, successes were achieved when, given a potential for reuse because of commonality among applications, management committed to introducing reuse processes, modifying nonreuse processes, and addressing human factors  相似文献   

2.
The paper presents a failure modes model of parts-based software reuse, and shows how this model can be used to evaluate and improve software reuse processes. The model and the technique are illustrated using survey data about software reuse gathered from 113 people from 29 organizations  相似文献   

3.
ContextMore and more, small and medium-sized enterprises (SMEs) are using software to augment the functionality of their products and offerings. Variability management of software is becoming an interesting topic for SMEs with expanding portfolios and increasingly complex product structures. While the use of software product lines to resolve high variability is well known in larger organizations, there is less known about the practices in SMEs.ObjectiveThis paper presents results from a survey of software developing SMEs. The purpose of the paper is to provide a snapshot of the current awareness and practices of variability modeling in organizations that are developing software with the constraints present in SMEs.MethodA survey with questions regarding the variability practices was distributed to software developing organizations in a region of Sweden that has many SMEs. The response rate was 13% and 25 responses are used in this analysis.ResultsWe find that, although there are SMEs that develop implicit software product lines and have relatively sophisticated variability structures for their solution space, the structures of the problem space and the product space have room for improvement.ConclusionsThe answers in the survey indicate that SMEs are in situations where they can benefit from more structured variability management, but the awareness need to be raised. Even though the problem space similarity is high, there is little reuse and traceability activities performed. The existence of SMEs with qualified variability management and product line practices indicates that small organizations are capable to apply such practices.  相似文献   

4.
The study of storage and retrieval methods of software assets in software libraries gives rise to a number of paradoxes: While this subject has been under investigation for nearly two decades, it still remains an active area of research in software reuse and software engineering; this can be explained by the observation that new technologies (such as the internet, the world wide web, object-;oriented programming) keep opening new opportunities for better asset packaging, better library organizations, and larger scale libraries – thereby posing new technical challenges. Also, while many sophisticated solutions have been proposed to this problem, the state of the practice in software reuse is characterized by the use of ad-;hoc, low-;tech methods; this can be explained by the observation that most existing solutions are either too ineffective to be useful or too intractable to be usable. Finally, while it is difficult to imagine a successful software reuse program without a sophisticated, well-;tuned, systematic procedure for software component storage and retrieval, it seems many successful software reuse experiments rely on trivial methods of component storage and retrieval; this can be explained by the observation that, in the current state of the practice, software libraries are not the bottleneck of the software reuse process. This paper presents a survey of methods of storage and retrieval of software assets in software libraries. In addition to a review of existing research efforts, the paper makes two contributions. First, a definition of (presumably) orthogonal attributes of storage and retrieval methods; these attributes are used, in turn, to classify existing methods into six broad classes. Second, a definition of (presumably) orthogonal assessment criteria, which include technical, managerial and human factors; these criteria afford us an exhaustive and uniform basis for assessing and comparing individual methods and classes of methods.  相似文献   

5.
面向复用和基于构件的开发方法已经成为新的软件开发范例,许多企业也已经或计划引入这种新的软件开发方式。与一般的过程能力改进一样,这些企业也面临着如何评估自身当前软件复用能力从而制定下一步改进计划的问题。然而,当前流行的CMM/CMMI以及SPICE等过程标准都缺少面向复用和构件化开发过程的剪裁和定制,这在一定程度上阻碍了软件企业采用新的基于复用的开发方法。本文对软件复用能力评估和改进相关的工业实践和研究情况进行了总结,在此基础上提出了一种系统的软件复用能力评估框架。该框架为企业面向复用的开发过程提供了一种阶段式的评估框架,因此可以为企业面向复用能力的过程改进提供相应的指导和决策依据。本文还对软件复用能力评估框架的实施过程进行了探讨。  相似文献   

6.
软件重用研究与应用   总被引:12,自引:0,他引:12  
一、技术问题研究 九十年代,软件重用的潜力日益为人们所接受。软件重用的研究方向发生了根本性变化,人们不仅研究技术问题,而且开始研究非技术问题,如管理问题,资金问等等。 软件重用的研究状况如图1所示。 技术问题是软件重用研究的基础和核心,它涉及域分析和领域工程,软部件工程以及软部件可重用性等方面的研究。 1.领域分析和领域工(DA&DE) 领域分析(DA)是在软件开发过程中对应用领域信息进行收集、抽象和组织,识别和造出各种可重  相似文献   

7.
This doctoral study was initiated to explore the relative importance of organizational issues in software process improvement. It is based on a pilot case study, a multiple case study of twelve organizations, and a quantitative survey among 120 software organizations. The findings from the investigations suggest that the key to successful learning is a continuous and simultaneous dialectic interplay between the knowledge that the organization has established over time, and the knowing of the organization's members in their respective contexts. Also, the findings indicate that success depends critically on six organizational factors. Finally, the findings show that there are important differences between small and large software organizations, specifically in the ways in which they react to unstable and changing stimulus situations.  相似文献   

8.
软件开发环境(SDE)是一种集成式的软件系统,用以辅助软件开发到维护的全部(或大部分)阶段的工作。为了提高测试开发效率,集成电路测试软件的开发同样需要配备一个SDE。本文以软件重用为技术依据,建立了一个开放结构的面向数据的增量测试软件开发环境TESSDE,不仅实现了一般SDE的基本功能,而且因其结构的开放性,使得TESSDE有相当的功能扩充潜力。按照文中的集成规则,TESSDE集成了诸多软部件以节  相似文献   

9.
Software reuse is widely believed to be the most promising technology for significantly improving software quality and productivity. In this paper, we discuss software reuse from an empirical perspective. We examine factors that affect reuse, reuse measurement, and techniques for tailoring a reuse program to a given organization via a failure modes model.  相似文献   

10.
Requirements engineering is a discipline with numerous challenges to overcome. One of these challenges is the implementation of requirements reuse approaches. Although several theoretical proposals exist, little is known about the practices that are currently adopted in industry. Our goal is to contribute to the investigation of the state of the practice in the reuse of requirements, eliciting current practices from practitioners, and their opinions whenever appropriate. Besides reuse in general, we focus on requirement patterns as a particular strategy to reuse. We conducted an exploratory survey based on an online questionnaire. We received 71 responses from requirements engineers with industrial experience in the field, which were analyzed in order to derive observations. Although we found that a high majority of respondents declared some level of reuse in their projects (in particular, non-functional requirements were identified as the most similar and recurrent among projects), it is true that only a minority of them declared such reuse as a regular practice. Larger IT organizations and IT organizations with well-established software processes and methods present higher levels of reuse. Ignorance of reuse techniques and processes is the main reason preventing wider adoption. From the different existing reuse techniques, the simplest ones based on textual copy and subsequent tailoring of former requirements are the most adopted techniques. However, participants who apply reuse more often tend to use more elaborate techniques. Opinions of respondents about the use of requirement patterns show that they can be expected to mitigate problems related to the quality of the resulting requirements, such as lack of uniformity, inconsistency, or ambiguity. The main reasons behind the lack of adoption of requirement patterns by practitioners (in spite of the increasing research approaches proposed in the community) are related to the lack of a well-defined reuse method and involvement of requirement engineers. The results of our paper are interesting for practitioners since we highlight relevant observations from the survey participants’ experiences when deciding to implement requirements reuse practices. We also suggest future lines of research based on the needs pointed out in the results.  相似文献   

11.
Software reusability is widely believed to be a key to help overcome the ongoing software crisis by improving software productivity and quality. New computer technology and the demands of an advancing society require new and more complicated software. It is unrealistic to expect that every software system can be developed solely reusing existing software; however, software reusability has proven to be a way of enhancing software productivity and quality in different organizations. It is also believed that reuse of code segments alone does not significantly reduce software development effort.By creating reuse support information while software is being developed (when the software is best known to software developers), the reuse effort for both software development and maintenance can be potentially reduced.In this paper, five types of RSI are presented: Semantic Web, Horizontal Web, Vertical Web, Syntactic Web, and Alternative Web. We collectively call these five webs a Quintet Web. The Semantic Web enables software developers to locate a software segment. The Horizontal Web provides a means to reuse a block of soflware along with other types of software from other phases of a development process. The inter-phase integration of software can be performed through this Web. The Vertical Web identifies the vertical relationship of a software block to its operational environment. The Syntactic Web locates all statements in which a variable is used. The Alternative Web provides alternative software blocks that perform an identical operation.A prototype of the Quintet Web is presented.  相似文献   

12.
Over the past several decades, numerous software technologies have been developed for overcoming the software crisis. Among these technologies, reuse has been recognized as one of the most important software technologies. Recently, it has gained substantial attention as a possible solution to the software crisis in Ada and other software communities. The purpose of this empirical study is to examine how organizations actually exploit reuse technologies and evaluates how reuse factors affect the rate of reuse in an organization. This study is an attempt to enhance the measurement of the rate of reuse and the effectiveness of reuse by establishing conceptual foundations in the literature for reuse and conducting an empirical investigation of organizations using Ada technology. This study differentiated software reuse into six criteria: domain, human, tool, organization, software metrics, and environment. The results of this study show that the rate of reuse significantly depends upon reuse capability, software development effort, object-oriented design capability, repository development effort, Ada technology capability, and domain capability  相似文献   

13.
A computer-based economy implies a computer-based education. Learning and teaching are optimized by the student, as well as for the professor, if instructional redundancy is captured for reuse. One of the fundamental problems, to be confronted in the construction of complex learning programs, is that of providing ever higher-level authoring languages. This paper shows how instructional reuse, as mediated by a random seeded crystal learning algorithm, can facilitate the evolution of complex learning frames. A natural language interface enables the sharing of large software projects across a team. Here, a knoqledge-based system acquires a capability to map natural language phrases onto object invocations. The natural language phrases are iteratively normalized through a transformative process, which utilizes band theory. A human-machine system is described, which entails the construction of a self-referential program editor. The presented concepts and arguments are codified with examples taken from information systems and flexible manufacturing. Learning is shown to be a consequence of randomization and reuse.  相似文献   

14.
ContextPrior research has focused heavily on explicit defect detection, such as formal testing and reviews. However, in reality, humans find software defects in various activities. Implicit defect detection activities, such as preparing a product demonstration or updating a user manual, are not designed for defect detection, yet through such activities defects are discovered. In addition, the type of documentation, and knowledge used, in defect detection is diverse.ObjectiveTo understand how defect detection is affected by the perspectives of responsibility, activity, knowledge, and document use. To provide illustrative numbers concerning the multidimensionality of defect detection in an industrial context.MethodThe data were collected with a survey on four software development organizations in three different companies. We designed the survey based on our prior extensive work with these companies.ResultsWe found that among our subjects (n = 105), implicit defect detection made a higher contribution than explicit defect detection in terms of found defects, 62% vs. 38%. We show that defect detection was performed by subjects in various roles supporting the earlier reports of testing being a cross-cutting activity in software development organizations. We found a low use of test cases (18%), but a high use of other documents in software defect detection, and furthermore, we found that personal knowledge was applied as an oracle in defect detection much more often than documented oracles. Finally, we recognize that contextual factors largely affect the transferability of our results, and we provide elaborate discussion about the most important contextual factors. Furthermore, we must be cautious as the results were obtained with a survey, and come from a small number of organizations.ConclusionsIn this paper, we show the large impact of implicit defect detection activities in four case organizations. Implicit defect detection has a large contribution to defect detection in practice, and can be viewed as an extremely low-cost way of detecting defects. Thus, harnessing and supporting it better may increase quality without increasing costs. For example, if an employee can update the user manual, and simultaneously detect defects from the software, then the defect detection part of this activity can be seen as cost-free. Additionally, further research is needed on how diverse types of useful documentation and knowledge can be utilized in defect detection.  相似文献   

15.
As IT expenditures have been growing over the last few years, organizations have started to scrutinize them more closely and some are deciding to outsource parts of their Information Systems (IS) operations. Unfortunately, there is a lack of research on the impact that the object of an outsourcing decision may have on the factors considered when making such a decision. The impact of organizational size and the firm's strategy has also not been conclusively established in the literature. This paper examines and compares the different supplier, internal, technology and cost factors considered when outsourcing Online Transaction Processing (OLTP) or Decision Support Systems (DSSs) (the object of a decision). It also examines the divergent decision factors for large, medium and small organizations, and the competitive strategy's impact on the factors that are considered. The paper is based on a study with samples from four large SAP Conferences and includes 1889 individuals working in organizations that use enterprise resource planning software. This research found that the object being outsourced, the firm's competitive strategies, and the organizational size are factors that significantly influence the outsourcing decision process. We found that the relative importance of decision factors for the outsourcing of OLTP is significantly different from those for a DSS and that, where the outsourcing object is of strategic importance, there is a closer attention to internal factors. Our findings confirm that outsourcing strategies are aligned with organizational strategies. For example, cost factors dominate in the outsourcing decision among organizations that employ a low-costs strategy as compared to those following a differentiation or niche strategy. Also, compared to firms pursuing other competitive strategies, for the outsourcing of DSS, differentiators place a significantly higher emphasis on supplier factors. Regarding the role of company size, we found significant differences in the importance given to supplier, internal, technology, and cost factors by organizations of different sizes. For example, compared to smaller organizations, larger organizations gave less importance to supplier and technology factors and more importance to cost factors.  相似文献   

16.
Program comprehension is a key activity throughout software maintenance and reuse. The knowledge acquired through comprehending programs can guide engineers to perform various kinds of software maintenance and reuse tasks. The effective comprehension strategy and the associated efficient approach, as well as the sophisticated tool support, are the indispensable elements for an entire solution to program comprehension to reduce the high costs of this nontrivial activity. This paper presents an objective-oriented comprehension strategy, contrasting to the traditional comprehensive understanding strategy in the literature. It is a kind of on-demand understanding for specific tasks and more effective in practice. In addition, using multiple information sources to understand programs is proposed with the corresponding framework. From these two points of views, we propose a feature-oriented program comprehension approach using requirement documentation. This approach aims at a specific category of feature-related software maintenance and reuse tasks. Case studies are conducted to evaluate the proposed solution. Results from the studied cases show that the experimental prototype provides more explicit advices for software engineers when performing these tasks.  相似文献   

17.
Software organizations have typically de-emphasized the importance of software testing. In an earlier study in 2004, our colleagues reported the results of an Alberta-wide regional survey of software testing techniques in practice. Five years after that first study, the authors felt it is time to replicate the survey and analyze what has changed and what not from 2004 to 2009. This study was conducted during the summer of 2009 by surveying software organizations in the Canadian province of Alberta. The survey results reveal important and interesting findings about software testing practices in Alberta, and point out what has changed from 2004 to 2009 and what not. Note that although our study is conducted in the province of Alberta, we have compared the results to few international similar studies, such as the ones conducted in the US, Turkey, Hong Kong and Australia, The study should thus be of interest to all testing professionals world-wide. Among the findings are the followings: (1) almost all companies perform unit and system testing with a slight increase since 2004, (2) automation of unit, integration and systems tests has increased sharply since 2004, (3) more organization are using observations and expert opinion to conduct usability testing, (4) the choices of test-case generation mechanisms have not changed much from 2004, (5) JUnit and IBM Rational tools are the most widely used test tools, (6) Alberta companies still face approximately the same defect-related economic issues as do companies in other jurisdictions, (7) Alberta software firms have improved their test automation capability since 2004, but there is still some room for improvement, and (8) compared to 2004, more companies are spending more effort on pre-release testing.  相似文献   

18.
This article compares the organization and practices for software reuse in integration‐oriented software product lines (SPLs) and open source software projects. The main observation is that both approaches are successful regarding large variability and reuse, but differ widely in their practices and organization. To capture practices in large open source projects, we describe an open compositional model, which reflects their more decentralized organization of software development. We capture key practices and organizational forms for this and validate these by comparing four case studies of this model. Two of these studies are based on published SPL case studies, for the other two we analyze the practices in two large and successful open source projects based on their published developer documentation. Our analysis highlights key differences between the practices in the two open source organizations and the more integrational practices used in the other two cases. Finally, we discuss which practices are successful in which environment and how the current practices can move towards more open, widely scoped and distributed software development. Copyright © 2010 John Wiley & Sons, Ltd.  相似文献   

19.
Three systems of differing complexity have been built which support the development of courseware libraries for reuse at three differing organizations. One system was developed for a handful of authors at a small company, one for a university team of about twenty-five people, and one for a company with about one hundred authors. The small company has not found the cost-benefit balances attractive enough to continue investment. The university team has published several products with its collaborative hypermedia system. The system for the large company includes extremely sophisticated library structures and coordination mechanisms but is a challenge for the new user to fully understand. As is often the case with reuse, the institutional commitment to courseware reuse and the ease of use of the tools are critical factors in success. Based on the experiences with the first three courseware reuse systems and the increased popularity of the World Wide Web, a new courseware reuse methodology has been implemented on the World Wide Web.  相似文献   

20.
This article reports strong correlations between reuse levels of software products across the life cycle and presents models of reuse levels across the life cycle. These models can be used to estimate reuse levels of one life cycle object given reuse levels of others, or to predict reuse levels of later life cycle objects given reuse levels of earlier ones. The models have been developed from survey data collected from 113 respondents from 29 organizations about their own and their organizations' levels of reuse of life cycle objects. Usage scenarios for the models are presented, as are methods for customizing and improving the models.  相似文献   

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

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