151,998 research outputs found

    AUTOMATING OUTPUT SIZE AND REUSE METRICS IN A REPOSITORY-BASED COMPUTER AIDED SOFTWARE ENGINEERING (CASE) ENVIRONMENT

    Get PDF
    Measurement of software development productivity is needed in order to control software costs, but it is discouragingly labor-intensive and expensive. Computer aided software engineering (CASE) technologies -- especially repository-based, integrated CASE -- have the potential to support the automation of this measurement. In this paper, we discuss the development of automated analyzers for function point and software reuse measurement for object-based CASE. Both analyzers take advantage of the existence of a representation of the application system that is stored within an object repository, and that contains the necessary information about the application system. We also discuss metrics for software reuse measurement, including reuse leverage, reuse value and reuse classification, that are motivated by managerial requirements and the efforts, within industry and the IEEE, to standardize measurement. The functionality and the analytical capabilities of state-of-the-art automated software metrics analyzers are illustrated in the context of an investment banking industry application, that is similar to systems deployed at the New York City-based investment bank where these tools were developed and tested.Information Systems Working Papers Serie

    AUTOMATING OUTPUT SIZE AND REUSE METRICS IN A REPOSITORY-BASED COMPUTER AIDED SOFTWARE ENGINEERING (CASE) ENVIRONMENT

    Get PDF
    Measurement of software development productivity is needed in order to control software costs, but it is discouragingly labor-intensive and expensive. Computer aided software engineering (CASE) technologies -- especially repository-based, integrated CASE -- have the potential to support the automation of this measurement. In this paper, we discuss the development of automated analyzers for function point and software reuse measurement for object-based CASE. Both analyzers take advantage of the existence of a representation of the application system that is stored within an object repository, and that contains the necessary information about the application system. We also discuss metrics for software reuse measurement, including reuse leverage, reuse value and reuse classification, that are motivated by managerial requirements and the efforts, within industry and the IEEE, to standardize measurement. The functionality and the analytical capabilities of state-of-the-art automated software metrics analyzers are illustrated in the context of an investment banking industry application, that is similar to systems deployed at the New York City-based investment bank where these tools were developed and tested.Information Systems Working Papers Serie

    MONITORING THE SOFTWARE ASSET: REPOSITORY EVALUATION OF SOFTWARE REUSE

    Get PDF
    Traditionally, software management has focused primarily upon cost control. Today, with the emerging capabilities of computer aided software engineering (CASE) and corresponding changes in the development process, the opportunity exists to view software development as an activity that creates reusable software assets, rather than just expenses, for the corporation. With this opportunity comes the need to monitor software at the corporate level, as well as at that of the individual software development project. Integrated CASE environments can support such monitoring. In this paper we propose the use of a new approach called repository evaluation, and illustrate it in an analysis of the evolving repository-based software assets of two large firms that have implemented integrated CASE development tools. The analysis shows that these tools have supported high levels of software reuse, but it also suggests that there remains considerable unexploited reuse potential. Our findings indicate that organizational changes will be required before the full potential of the new technology can be realized.Information Systems Working Papers Serie

    ON THE NEED FOR TOOLS TO SUPPORT SEARCH IN SOFTWARE REUSE: A Perspective Paper Presented to Seer Technologies, Inc.

    Get PDF
    Software reuse in the presence of a repository and object-based CASE tool is likely to be "biased." Prior research (Banker, Kauffman and Zweig, 1991) showed that a developer will be: most likely to reuse her own objects; somewhat less likely to reuse objects developed by her project team members; and, even less likely to reuse objects stored in the repository, but developed elsewhere in the corporation. This paper characterizes this problem in terms of three familiarity biases: personal bias, project bias and time bias. In the presence of these biases it is appropriate to deploy tools that support the search for software reuse, so that they may be overcome. However, the tools that are chosen or created for this purpose must adequately treat the technical and cognitive fundamentals for individual developers, and recognize the organizational and economic perspectives of a firm that wishes to maximize the business value of its software development activities.Information Systems Working Papers Serie

    SUPPORTING SEARCH FOR REUSABLE SOFTWARE OBJECTS

    Get PDF
    Software reuse in the presence of a repository and object-based CASE tool is likely to be "biased" Prior research has shown that a developer will be: (1) most likely to reuse her own objects; (2) somewhat less likely to reuse objects developed by her project team members; and, (3) even less likely to reuse objects stored in the repository, but developed elsewhere in the corporation. These biases can result in sub-optimal levels of software reuse. In the presence of such biases it is appropriate to deploy tools that support the search for software reuse, so that developers find it easier to reuse software objects authored by developers other than themselves or project team members. However; the tools that are chosen or created for this purpose must adequately treat the technical and cognitive fundamentals of the problem for individual developers, and recognize the organizational and economic perspectives of a firm that wishes to maximize the business value of its software development activities. In this paper we present a two-stage descriptive model that represents the search process for reusable software objects. We evaluate appropriate technologies, propose a technical solution to the problem of searching for reusable objects, and demonstrate its feasibility via a prototype implementation. The technical tool combines an automated classifier and a hypertext system. We describe an architecture to automatically create hypertext networks based on the classification schema. We illustrate our architecture using a classification of software objects obtained through structured interviews with software developers.Information Systems Working Papers Serie

    Support for collaborative component-based software engineering

    Get PDF
    Collaborative system composition during design has been poorly supported by traditional CASE tools (which have usually concentrated on supporting individual projects) and almost exclusively focused on static composition. Little support for maintaining large distributed collections of heterogeneous software components across a number of projects has been developed. The CoDEEDS project addresses the collaborative determination, elaboration, and evolution of design spaces that describe both static and dynamic compositions of software components from sources such as component libraries, software service directories, and reuse repositories. The GENESIS project has focussed, in the development of OSCAR, on the creation and maintenance of large software artefact repositories. The most recent extensions are explicitly addressing the provision of cross-project global views of large software collections and historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR and CoDEEDS are widely adopted and steps to facilitate this are described. This book continues to provide a forum, which a recent book, Software Evolution with UML and XML, started, where expert insights are presented on the subject. In that book, initial efforts were made to link together three current phenomena: software evolution, UML, and XML. In this book, focus will be on the practical side of linking them, that is, how UML and XML and their related methods/tools can assist software evolution in practice. Considering that nowadays software starts evolving before it is delivered, an apparent feature for software evolution is that it happens over all stages and over all aspects. Therefore, all possible techniques should be explored. This book explores techniques based on UML/XML and a combination of them with other techniques (i.e., over all techniques from theory to tools). Software evolution happens at all stages. Chapters in this book describe that software evolution issues present at stages of software architecturing, modeling/specifying, assessing, coding, validating, design recovering, program understanding, and reusing. Software evolution happens in all aspects. Chapters in this book illustrate that software evolution issues are involved in Web application, embedded system, software repository, component-based development, object model, development environment, software metrics, UML use case diagram, system model, Legacy system, safety critical system, user interface, software reuse, evolution management, and variability modeling. Software evolution needs to be facilitated with all possible techniques. Chapters in this book demonstrate techniques, such as formal methods, program transformation, empirical study, tool development, standardisation, visualisation, to control system changes to meet organisational and business objectives in a cost-effective way. On the journey of the grand challenge posed by software evolution, the journey that we have to make, the contributory authors of this book have already made further advances

    A process model of maintenance with reuse: an investigation and an implementation abstract

    Get PDF
    Sixty to eighty per cent of the software life-cycle cost is spent on the software maintenance phase because software maintenance is usually more difficult than original development and legacy systems are generally large and complex. Software reuse has recently been considered as a best solution to enhance the productivity of a software development team and to reduce maintenance costs. In addition, Software Configuration Management (SCM) is a central part of software maintenance as it is associated with changing existing software and is a discipline for controlling these changes. Thus, both software reuse and SCM have been proposed for making a significant improvement in productivity, quality and cost. However, so far these two technologies have been investigated separately. In order for software reuse and SCM to produce effects by synergy, both approaches require to be introduced into a maintenance environment together. Since software reuse and SCM, and software reuse and software maintenance have many similarities in their activities, these disciplines can be integrated within a software maintenance environment. This research has therefore developed an integrated process model for 'Maintenance with Reuse (MwR)', that supports SCM for a reuse library which is actively maintained for use in a software maintenance environment. This thesis addresses an integrated process model called the MwR model and its prototype tool TERRA (Tool for Evolution of a Reusable and Reconfigurable Assets Library) that consist of a configuration management (CM) process, reuse process, maintenance process and administration of a reuse library. The MwR model and TERRA provide reusers and maintainers with many activities of these four processes such as classifying, storing, retrieving, evaluating, and propagating reusable components, including controlling changes to both reusable components and existing systems. The process model of an integrated approach has been developed and validated using Process Weaver. The TERRA tool has been implemented on the WWW so that the prototype can provide portability, traceability, integration with existing tools, and a distributed maintenance environment. The TERRA prototype has been tested and evaluated through a scenario based case study. Several scenarios based on real data have been created and used for the case study so that an organisation can apply the model and tool to its maintenance environment without many problems. The software maintenance community is facing serious problems with legacy systems, such as a ever increasing frequency of changes and backlogs, lack of integrated tools and methods, and lack of software maintenance support environments. The control and management of changes to the software components in a reuse repository are crucial to successful software development and maintenance. If the component is being used in multiple systems effects of uncontrolled change are more critical. However, reuse libraries and servers currently available have not been successful as they do not support further development or maintenance of the reusable components. In addition, most of them are not sophisticated since they have not been linked to a development/maintenance environment. The integrated model of MwR can overcome many problems that exist in software maintenance and reuse through introduction of SCM functionalities into a maintenance environment. Thus, the integration of these common activities will greatly contribute to enhancing the productivity and quality of software, and will additionally lead to reducing the costs and backlogs of changes within a maintenance environment

    SERVICE-BASED AUTOMATION OF SOFTWARE CONSTRUCTION ACTIVITIES

    Get PDF
    The reuse of software units, such as classes, components and services require professional knowledge to be performed. Today a multiplicity of different software unit technologies, supporting tools, and related activities used in reuse processes exist. Each of these relevant reuse elements may also include a high number of variations and may differ in the level and quality of necessary reuse knowledge. In such an environment of increasing variations and, therefore, an increasing need for knowledge, software engineers must obtain such knowledge to be able to perform software unit reuse activities. Today many different reuse activities exist for a software unit. Some typical knowledge intensive activities are: transformation, integration, and deployment. In addition to the problem of the amount of knowledge required for such activities, other difficulties also exist. The global industrial environment makes it challenging to identify sources of, and access to, knowledge. Typically, such sources (e.g., repositories) are made to search and retrieve information about software unitsand not about the required reuse activity knowledge for a special unit. Additionally, the knowledge has to be learned by inexperienced software engineers and, therefore, to be interpreted. This interpretation may lead to variations in the reuse result and can differ from the estimated result of the knowledge creator. This makes it difficult to exchange knowledge between software engineers or global teams. Additionally, the reuse results of reuse activities have to be repeatable and sustainable. In such a scenario, the knowledge about software reuse activities has to be exchanged without the above mentioned problems by an inexperienced software engineer. The literature shows a lack of techniques to store and subsequently distribute relevant reuse activity knowledge among software engineers. The central aim of this thesis is to enable inexperienced software engineers to use knowledge required to perform reuse activities without experiencing the aforementioned problems. The reuse activities: transformation, integration, and deployment, have been selected as the foundation for the research. Based on the construction level of handling a software unit, these activities are called Software Construction Activities (SCAcs) throughout the research. To achieve the aim, specialised software construction activity models have been created and combined with an abstract software unit model. As a result, different SCAc knowledge is described and combined with different software unit artefacts needed by the SCAcs. Additionally, the management (e.g., the execution of an SCAc) will be provided in a service-oriented environment. Because of the focus on reuse activities, an approach which avoids changing the knowledge level of software engineers and the abstraction view on software units and activities, the object of the investigation differs from other approaches which aim to solve the insufficient reuse activity knowledge problem. The research devised novel abstraction models to describe SCAcs as knowledge models related to the relevant information of software units. The models and the focused environment have been created using standard technologies. As a result, these were realised easily in a real world environment. Softwareengineers were able to perform single SCAcs without having previously acquired the necessary knowledge. The risk of failing reuse decreases because single activities can be performed. The analysis of the research results is based on a case study. An example of a reuse environmenthas been created and tested in a case study to prove the operational capability of the approach. The main result of the research is a proven concept enabling inexperienced software engineers to reuse software units by reusing SCAcs. The research shows the reduction in time for reuse and a decrease of learning effort is significant

    REPOSITORY EVALUATION OF SOFTWARE REUSE

    Get PDF
    The traditional unit of analysis and control for software managers is the software project, and subsequently the resulting application system. Today, with the emerging capabilities of computer-aided software engineering (CASE) and corresponding changes in the development process, productivity gains can be realized by reusing portions of the organization's inventory of existing application designs and code. With this opportunity, however, comes the need to monitor software reuse at the corporate level, as well as at the level of the individual software development project. Integrated CASE environments can support such monitoring. We illustrate the use and benefits of repository evaluation of software reuse through an analysis of the evolving repositories of two large firms that recently implemented integrated CASE development tools. The analysis shows that these tools have supported high levels of software reuse, but it also suggests that there remains considerable unexploited reuse potential. Our findings indicate that organizational changes will be required before the full potential of the new technology can be realized.Information Systems Working Papers Serie

    Repository Evaluation of Software Reuse: An Empirical Study

    Get PDF
    The traditional unit of analysis and control for software managers is the software project, and subsequently the resulting application system. Today, with the emerging capabilities of computer-aided software engineering (CASE) and corresponding changes in the development process, productivity gains can be realized by reusing portions of the organization's inventory of existing application designs and code. With this opportunity, however, comes the need to monitor software reuse at the corporate level, as well as at the level of the individual software development project. Integrated CASE environments can support such monitoring. We illustrate the use and benefits of repository evaluation of software reuse through an analysis of the evolving repositories of two large firms that recently implemented integrated CASE development tools. The analysis shows that these tools have supported high levels of software reuse, but it also suggests that there remains considerable unexploited reuse potential. Our findings indicate that organizational changes will be required before the full potential of the new technology can be realized.Information Systems Working Papers Serie
    • …
    corecore