首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
Software reuse is being pursued in an attempt to improve programmer productivity. The concept of reuse is to permit various work products of software development to be used on more than one project in order to amortize their development costs. Productivity is not the only advantage of reuse although it is the most widely publicized. By incorporating reusable components into a new product, the components bring with them whatever qualities they possess, and these can contribute to the quality of the new product. This suggests that reuse might be exploited for achieving quality as an entirely separate goal from improving productivity. If useful properties pertaining to quality could be shown to be present in products as a direct result of software development based on reuse, this might be a cost-;effective way of achieving those qualities irrespective of the productivity advantages. The adjective certified is sometimes used to describe components that have been tested in some way prior to entry into a library but the term certified is not formally defined in the reuse literature. In this paper, we address the issue of certifying reusable components. We advocate the development of software by reuse with the specific intent of establishing as many of the required properties in the final product as possible by depending upon properties present in the reusable components. For this goal to succeed, a precise definition of certification of reusable components is required and such a definition is presented. The benefits of the definition and the way in which it supports the goal are explored.  相似文献   

2.
从源程序中获取可重用构件—对象和类   总被引:1,自引:0,他引:1  
软件重用被广泛地认为是提高软件生产率和质量的关键。面向对象方法中的对象类是一种很好的可重用构件形式。为了快速获取和积累可重用构件,本文研究从源程序中获取对象类的问题,提出了一套较完整的从命令式语言程序中获取对象类的方法和规则。该方法能够从被分析的软件中提取尽可能多的可重用性较好的大粒度和小粒度的对象类。  相似文献   

3.
This paper discusses an approach called Draco to the construction of software systems from reusable software parts. In particular we are concerned with the reuse of analysis and design information in addition to programming language code. The goal of the work on Draco has been to increase the productivity of software specialists in the construction of similar systems. The particular approach we have taken is to organize reusable software components by problem area or domain. Statements of programs in these specialized domains are then optimized by source-to-source program transformations and refined into other domains. The problems of maintaining the representational consistency of the developing program and producing efficient practical programs are discussed. Some examples from a prototype system are also given.  相似文献   

4.
Nowadays, it is becoming more frequent for engineers to deal with problems and situations that require specific software and the commercially available applications may not result adequate. Because of this, the reuse of software components is becoming a normal practice for improving the productivity of the software programmers, and the quality of the products that they develop. The employment of reusable components presents a number of advantages, such as the reduction in time necessary to develop new software, or the simplification of many computational tasks.There are some proprietary software environments in the engineering domain that are practically de facto standards, since they offer a broad functionality, robustness and constant updating. Therefore, those environments could be ideal candidates to be reusable components when developing new software. An example of this is Matlab, which can be encapsulated, in order to use it as a true reusable component. This will provide the user with efficient tools for designing his/her own applications.Moreover, there is an increasing importance for any software to offer distributed services. To perform this task, it is fundamental to have at one’s disposal reusable components that support Internet-based distributed applications and services development.In the present work, a software component framework that effectively encapsulates Matlab is described. This software allows developers the reuse of Matlab, for both local and distributed applications. To address those issues the .NET technology was employed. The component framework developed can be integrated in the toolbars of software development environments supporting the .NET framework. This facilitates the construction of applications that can reuse the components, since the software developers can use and test them and change their properties in design-time.  相似文献   

5.
Henry  E. Faller  B. 《Software, IEEE》1995,12(5):47-53
For long-term software reuse strategies to work, companies must realize short-term successes. The authors' company improved its time-to-market, productivity and quality by pursuing reuse in two large industrial projects  相似文献   

6.
Reusing software: issues and research directions   总被引:2,自引:0,他引:2  
Software productivity has been steadily increasing over the past 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but software reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design and building with reusable software. Software reuse includes reusing both the products of previous software projects and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach, on one hand, to the generative or reusable processor (reusing processes), on the other. We discuss the implication of such approaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: (1) build more readily reusable software and (2) locate, evaluate, and tailor reusable software, the last being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and OO development for the first and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design), and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation  相似文献   

7.
Robinson  W.N. Woo  H.G. 《Software, IEEE》2004,21(5):60-67
In general, software reuse is defined as "the process of creating software systems from existing software". Software reuse does more than improve productivity in software development; it also increases the quality of the resulting software systems because it uses validated artifacts. However, requirements reuse lacks tool support. Techniques for retrieving, adapting, and consolidating reusable requirements have received relatively little attention in comparison with all the work on software reuse. The work in this area has not made sufficient progress to date to determine whether such approaches may be practical and may scale up. Our REUSER project seeks to address this tool gap by seamlessly assisting analysts as they reuse UML (Unified Modeling Language) artifacts. In particular, it automates artifact retrieval.  相似文献   

8.
More and more organizations adopt software product lines to leverage extensive reuse and deliver a multitude of benefits such as increased quality and productivity and a decrease in cost and time-to-market of their software development. When compared to the vast amount of research on developing product lines, relatively little work has been dedicated to the actual use of product lines to derive individual products, i.e., the process of product derivation. Existing approaches to product derivation have been developed independently for different aims and purposes. While the definition of a general approach applicable to every domain may not be possible, it would be interesting for researchers and practitioners to know which activities are common in existing approaches, i.e., what are the key activities in product derivation. In this paper we report on how we compared two product derivation approaches developed by the authors in two different, independent research projects. Both approaches independently sought to identify product derivation activities, one through a process reference model and the other through a tool-supported derivation approach. Both approaches have been developed and validated in research industry collaborations with different companies. Through the comparison of the approaches we identify key product derivation activities. We illustrate the activities’ importance with examples from industry collaborations. To further validate the activities, we analyze three existing product derivation approaches for their support for these activities. The validation provides evidence that the identified activities are relevant to product derivation and we thus conclude that they should be considered (e.g., as a checklist) when developing or evaluating a product derivation approach.  相似文献   

9.
支持软件重用的程序设计语言   总被引:1,自引:1,他引:0  
本文提出一种支持软件重用的程序语言并给出了重用描述语言翻译器的工作原理。该语言是在宿主语言C++中加入“重用描述”成分和“装配语句”而形成的。该文件以软件重用库为依托,重用描述用于表达用户在程序中对部件的要求,重用描述语言翻译器则分析这些需求,自动在库中查找提出部件来适应用户。  相似文献   

10.
软件构件表示与检索形式化的研究与进展   总被引:2,自引:0,他引:2  
1 引言软件复用被认为是提高软件生产效率和软件质量较为现实的途径。尽管软件复用的思想已经提出了30多年,但软件复用的现状离人们最初的设想仍然相距甚远。阻碍大规模软件复用的技术与非技术因素很多,主要的技术因素有构件分类、构件表示、构件检索、构件更改及构件库的管理与维护等。其中,软件构件表示与检索是软件复用获得成功的重要前提。  相似文献   

11.
Software reuse is widely considered to be a way to increase the productivity and improve the quality and reliability of new software systems. Identifying, extracting and re-engineering software components that implement abstractions within existing systems is a promising cost-effective way to create reusable assets and re-engineer legacy systems. This paper summarizes our experiences with using computer-supported methods to develop a software architecture to support the re-engineering of the Janus Combat Simulation System. In this effort, we have developed an object-oriented architecture for the Janus Combat Simulation Subsystem, and validated the architecture with an executable prototype. In this paper, we propose methods to facilitate the reuse of the software components of the legacy systems by recovering the behavior of the systems using systematic methods, and illustrate their use in the context of the Janus System.  相似文献   

12.
Testing embedded-core-based system chips   总被引:3,自引:0,他引:3  
Zorian  Y. Marinissen  E.J. Dey  S. 《Computer》1999,32(6):52-60
Recently, designers have been embedding reusable modules to build on-chip systems that form rich libraries of predesigned, preverified building blocks. These embedded cores make it easier to import technology to a new system and differentiate the corresponding product by leveraging intellectual property advantages. Most importantly, design reuse shortens the time-to-market for new systems. The attributes that make system chips built with embedded IP cores an attractive methodology-design reuse, heterogeneity, reconfigurability, and customizability-also make testing and debugging these chips a complex challenge. The authors review the various alternatives for testing embedded cores and describe solutions and proposed standards that are expected to play a key role in developing the core based design paradigm  相似文献   

13.
在针对特定领域的软件复用中,产品导出是主要活动之一.产品导出指的是,开发人员基于领域中可复用的软件制品开发出所需的软件产品.在产品导出过程中,产品导出效率决定了软件复用的收益.在诸多影响产品导出效率的因素中,手工进行产品导出是拉低产品导出效率的主要因素之一,其最终会导致软件复用收益降低.为了提高产品的导出效率,相关研究提出了一些自动导出软件产品的方法.在这些方法中,一种普遍采用的指导思想是基于特征模型自动导出软件产品.在诸多使用该思想进行产品导出的方法中,各方法所使用的实现方式差异很大.为了给基于特征模型自动导出软件产品提供更好的支持,基于现有研究,提出了一个分类框架,并使用该框架对现有基于特征模型自动导出软件产品的方法进行了分类和比较.另外,还进一步指出了现有研究中的不足,并提出解决这些不足的设想.  相似文献   

14.
以工程量清单计价领域产品的开发为例,研究了重用开发技术在软件各开发阶段的应用,讨论了软件的领域重用和层次重用等方面的问题,实现了软件产品领域横向重用和软件开发过程中的纵向层次重用,提高了软件产品的可重用性、开发效率和质量。  相似文献   

15.
In software engineering there is a need for technologies that will significantly decrease effort in developing software products, increase quality of software products and decrease time-to-markets. The software development industry can be improved by utilizing and managing software reuse with an “empirically validated reference model” that can be customized for different kinds of software development enterprises. Our research thesis is that software development based on a software reuse reference model improves the competitive edge and time-to-market of many software development enterprises. The definition and study of such a model has been carried out using four steps. First, the reference model developed here is based on the existing software reuse concepts. Second, this reference model is an empirical study which uses both legacy studies and lessons learned studies. Third, the impact of the reference model on software development effort, quality, and time-to-market is empirically derived. Fourth, an initial set of successful cases, which are based on the software reuse reference model utilization, are identified. The main contribution of this paper is a reference model for the practice of software reuse. A secondary contribution is an initial set of cases from software development enterprises which are successful in the practice of reuse in terms of decreased effort, increased quality and a high correlation in their application of our software reuse reference model activities.  相似文献   

16.
龚晓庆  刘锋  葛玮  郝克刚 《计算机科学》2009,36(11):169-172
针对工作流管理系统在实际应用中面临的过程定义低效、复杂的问题,借鉴软件复用的思想,提出了一种生产线架构下的工作流过程定义复用方法.该方法建立在领域业务本体和工作流模板这两类可复用资产之上,尝试建立特定领域工作流过程定义的复用机制,以提高过程定义的效率.着重探讨了可复用资产的构建、描述和检索等问题.介绍了基于复用的工作流过程定义方法,并开发了相应的实用工具以验证该方法的有效性.  相似文献   

17.
Mili  A. Yacoub  S. Addy  E. Mili  H. 《Software, IEEE》1999,16(5):22-31
This article stems from a panel session at the 1997 Symposium on Software Reusability, and discusses open research issues, classified by goal and by approach. Software development cannot possibly become an engineering discipline so long as it has not perfected a technology for developing products from reusable assets in a routine manner, on an industrial scale. Software reuse cannot, in turn, achieve this status unless we make the following provisions: a sound scientific foundation that encompasses relevant design principles, widely acceptable engineering standards that compile these principles into working practical solutions, and coherent managerial standards that enable the deployment of these solutions under acceptable conditions of product quality and process maturity. Although successful software reuse experiments are increasingly common, success is not the norm, software reuse is not a matter of routine practice, the promises of software reuse remain for the most part unfulfilled, and a number of issues remain worthy of further research  相似文献   

18.
Reusing software through software product lines has been recognized as useful. To improve reuse efficiency, retrieving proper systems or subsystems from software product lines for reuse is an important issue. This paper proposes a technique to retrieve reusable software systems/subsystems from software product lines.  相似文献   

19.
《Software, IEEE》2008,25(3):60-66
Software product-line development lets organizations better optimize software development efficiency by building a shared set of assets for reuse in multiple products. This process introduces many challenges, not least of which is creating the initial set of reusable software assets. To accomplish this, organizations often establish a central software platform group. Such a group faces a serious problem: existing systems groups already have a large set of software components that they use to build their products. If companies are to successfully transition to product-line development, these systems groups must shift their investments from existing software components to the new reusable product-line assets. One way to encourage this is to create an internal open source software community that lets systems groups actively contribute their existing components to the platform. In OSS, a community works together to develop software. Because the software's users are part of the community, they can add the assets they need. Inner-source-software (ISS) development applies OSS within a limited environment that has a closed border (such as a company, a division, or a consortium). So, companies using the ISS approach essentially establish an OSS community within the confines of their organization.  相似文献   

20.
《Software, IEEE》1990,7(1):19-25
The author presents a high-level organizational paradigm for development and maintenance in which an organization can learn from development and maintenance tasks and then apply that paradigm to several maintenance process models. Associated with the paradigm is a mechanism for setting measurable goals, making it possible to evaluate the process and the product and learn from experience. He discusses three maintenance models: the quick-fix, the iterative-enhancement, and the full-reuse model. He establishes a framework for classifying reusable objects and selecting a model. He offers a scheme that categorizes three aspects of reuse: the reusable object, the reusable object's context, and the process of transforming that object. The author then discusses what he terms reuse enablers: an improvement paradigm that helps organizations evaluate, learn, and enhance their software processes and products; a reuse-oriented evolution environment that encourages and supports reuse; and automated support for the paradigm and environment as well as for measurement and evaluation  相似文献   

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

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