187,630 research outputs found

    Developing reusable.NET software components

    Get PDF
    © 2014 The Science and Information (SAI) Organization. Software Development with reuse and for reuse is the foundation of CBSE (Component based software engineering) which allow faster development at lower cost and better usability. A reusable software component works as a plug and play device, which abstract the software complexity and increase performance. Software reuse guidelines have been addressing the issue of capturing best practices, for a long while software industry has collected the enormous wealth of knowledge, experience, domain expertise, design principals & heuristics, hypothesis, algorithms, and experimental results. However, there is no rock solid and mature software component development guidelines defined for the current technologies such as.NET. This paper presents reuse guidelines based framework (known as.NET Reuse Guider) for guidelines based component development for reuse in.NET family. We have demonstrated our approach by designing a binary component as part of development for reuse based on our own.NET Reuse Guider framework. This paper also provides a number reuse analysis and metrics and a prototype component guider tool which sits on top of the.NET architecture with built-in software development & reuse knowledge

    The Cost Of CMM Deployment In A Conventional IT Organization: A Field Study

    Get PDF
    Over the past decade the software industry has periodically tried to upgrade its business perform-ance by deploying strategic infrastructure frameworks based on expert models. Each of these schemes is aimed at organizing software work along the lines of commonly understood best prac-tice. Their goal is to optimally align the policies and practices of the IT function so that they di-rectly support and further the purposes and goals of the overall business operation (Lewis, 2001). Although there are no authoritative statistics, arguably one of the most popular approaches is the Software Engineering Institute’s (SEI) Capability Maturity Model (CMM v1.1) moreover it is certainly the framework of choice for the U.S. software industry. It was developed out of the research of Watts Humphrey and the Mitre Corporation and was first published by SEI in 1987 (Humphrey, 87a). Operationally, it is designed to advance the software organization’s processes through five stages, or levels, of increasingly effective performance ranging from Chaos (At the initial end) to Optimized (at the high end). The organization adds best practices at each level, which both underwrites improved performance at that particular stage, as well as leverages advancement to the next stage. The problem is that the “best practices” deployed by CMM are both generic and externally (from the company’s perspective) defined. Consequently they require a complicated and expensive implementation process to specifically tailor the model for each organizational situation.  Since the costs of this are concrete and in the near term and the benefits are (to some extent) intangible and long run, the practical question posed by most CEOs is… “Exactly how much will this cost me?” The lack of a definitive answer to that question has been a barrier to adoption, as well as a source of genuine concern among most business executives. So, there have been numerous studies aimed at determining precisely what the costs and benefits of CMM implementation are. These have been conducted primarily in large, or leading edge organizations (these are best summarized in McGibbon, 1999). However, because such businesses are materially different both in their products and their processes, they tend to start from a different point and they have different requirements than the average small IT shop. So the question remains, “what are the factors and exactly how involved and costly is it to implement CMM in a conventional IT setting?”  That is what we are attempting to answer with this research

    Recent Trends in Software Engineering Research As Seen Through Its Publications

    Get PDF
    This study provides some insight into the field of software engineering through analysis of its recent research publications. Data for this study are taken from the ACM\u27s Guide to Computing Literature (GUIDE) They include both the professionally assigned Computing Classification System (CCS) descriptors and the title text of each software engineering publication reviewed by the GUIDE from 1998 through 2001. The first part of this study provides a snapshot of software engineering by applying co-word analysis techniques to the data. This snapshot indicates recent themes or areas of interest, which, when compared with the results from earlier studies, reveal current trends in software engineering. Software engineering continues to have no central focus. Concepts like software development, process improvement, applications, parallelism, and user interfaces are persistent and, thus, help define the field, but they provide little guidance for researchers or developers of academic curricula. Of more interest and use are the specific themes illuminated by this study, which provide a clearer indication of the current interests of the field. Two prominent themes are the related issues of programming-in-the-large and best practices. Programming-in-the-large is the term often applied to large-scale and long-term software development, where project and people management, code reusability, performance measures, documentation, and software maintenance issues take on special importance. These issues began emerging in earlier periods, but seem to have risen to prominence during the current period. Another important discovery is the trend in software development toward using networking and the Internet. Many network- and Internet-related descriptors were added to the CCS in 1998. The prominent appearance and immediate use of these descriptors during this period indicate that this is a real trend and not just an aberration caused by their recent addition. The titles of the period reflect the prominent themes and trends. In addition to corroborating the keyword analysis, the title text confirms the relevance of the CCS and its most recent revision. By revealing current themes and trends in software engineering, this study provides some guidance to the developers of academic curricula and indicates directions for further research and study

    Product Development Practices for Meeting Financial Objectives

    Get PDF
    This paper reports product development practices that separate the most successful product development programs from the rest. A detailed understanding of best product development practices is important because product development is fundamental to corporate success (Clark & Fujimoto, 1991; Eisenhardt & Tabrizi, 1995; Eppinger & Chitkara, 2006). Teams from the Massachusetts Institute of Technology and McKinsey and Company have collaborated to investigate practices used for 112 product development projects at 57 firms in the medical device, industrial, and high-tech industries. Preliminary results suggest that certain practices are particularly important for influencing project outcomes. Our research is consistent with and contributes to best practices reported previously by the Product Development and Management Association (PDMA) (see Barczak, Griffin, & Kahn, 2009; Griffin & Page, 1996; Page, 1993). As this previous research has shown, best practices in product development evolve. For example, the 1990 PDMA study found that successful firms differentiated themselves from the rest by having well defined New Product Development (NPD) processes and new product strategies (Page, 1993). The second study, conducted in 1995, found that successful firms measured their product development efforts and outcomes, did qualitative market research, and used engineering design tools such as CAD (Griffin & Page, 1996). The third study, completed in 2003, found that successful firms put more emphasis on portfolio management, use a wide variety of software tools, have supporting organizational mechanisms and processes in place, and use formal processes for generating ideas (Barczak, Griffin, & Kahn, 2009). The findings presented here contribute additional understanding of practices that lead to successful product development. Researchers and practitioners often investigate product development from the perspectives of cost, schedule, and performance. There are many more ways to evaluate product development processes and outcomes (Cooper, 1979). Griffin and Page (1996) identified over 75 different product development metrics documented in the literature. Some researchers categorize these metrics into firm level, project level, or product level metrics (e.g. Montoya-Weiss & Calantone, 1994); others categorize them into financial and non-financial metrics (e.g. Hart, 1993). This paper presents our work on correlating product development practices with a broad set of financial metrics

    Methodology for Process Improvement Through Basic Components and Focusing on the Resistance to Change.

    Get PDF
    This paper describes a multi-model methodology that implements a smooth and continuous process improvement, depending on the organization's business goals and allowing users to establish their improvement implementation pace. The methodology focuses on basic process components known as ‘best practices’. Besides, it covers following the topics: knowledge management and change management. The methodology description and the results of a case study on project management process are included

    Benchmarking Blockchains: The case of XRP Ledger and Beyond

    Get PDF
    Blockchain and Distributed Ledger Technologies appear to be at a worldwide threshold of acceptance and adoption. Since their inception, several innovative projects have been proposing solutions to the blockchain trilemma, improving blockchain features and its technical limitations. However, the adoption of blockchain as a technology requires a comprehensive understanding and characterization of its technical aspects. The latter introduces an uncertainty for an organization to decide which blockchain protocol best meets its needs and demands. In general, there is a lack of proper testing and software engineering practices for assessing the usage of different blockchain protocols and understanding their performance. Toward that direction, this paper presents an architecture for a blockchain benchmarking framework that aims at the deployment and evaluation of different blockchain protocols. Moreover, we introduce a set of modules for testing and evaluating their behavior under different test-cases and scenarios. To illustrate the usefulness of the proposed architecture we demonstrate an instantiation with the deployment of a private XRPL Network. The experiments conducted in this work were focused on how XRPL behaves under heavy load

    Report on the Second Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE2)

    Get PDF
    This technical report records and discusses the Second Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE2). The report includes a description of the alternative, experimental submission and review process, two workshop keynote presentations, a series of lightning talks, a discussion on sustainability, and five discussions from the topic areas of exploring sustainability; software development experiences; credit & incentives; reproducibility & reuse & sharing; and code testing & code review. For each topic, the report includes a list of tangible actions that were proposed and that would lead to potential change. The workshop recognized that reliance on scientific software is pervasive in all areas of world-leading research today. The workshop participants then proceeded to explore different perspectives on the concept of sustainability. Key enablers and barriers of sustainable scientific software were identified from their experiences. In addition, recommendations with new requirements such as software credit files and software prize frameworks were outlined for improving practices in sustainable software engineering. There was also broad consensus that formal training in software development or engineering was rare among the practitioners. Significant strides need to be made in building a sense of community via training in software and technical practices, on increasing their size and scope, and on better integrating them directly into graduate education programs. Finally, journals can define and publish policies to improve reproducibility, whereas reviewers can insist that authors provide sufficient information and access to data and software to allow them reproduce the results in the paper. Hence a list of criteria is compiled for journals to provide to reviewers so as to make it easier to review software submitted for publication as a “Software Paper.
    corecore