Conference Paper

Commercial-Off-The-Shelf Software Development Framework

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

Budget and schedule savings are the driving factors for the adoption of commercial-off-the-shelf (COTS) software components by software development organizations. The reliance on COTS components has lead to component-based development (CBD) software systems and introduced changes to the software development process and hence software project management responsibilities and roles. This paper introduces a general framework discussion of essential management aspects for CBD, focusing on COTS. Particularly, stakeholders, requirements, component selection and architecture management issues are discussed from different angles. Some CBD management guidelines and best practices for these aspects are outlined in the conclusion. In addition, CBD management challenges are drawn along with some suggestions in the conclusion section.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... Wanyama and Far (2008) addressed the problem of COTS selection using reliability, maintainability, security, portability, compatibility, vendor ability, initial product price, initial hardware price, implementation costs, training costs, license conditions as selection criteria. Suleiman (2008) considered system integration interface, functionality aspects, COTS vendor maturity, conformity to system environment (consistency between system requirements, hardware, software application systems and COTS component infrastructure), budget, time, vendor support as selection criteria. Ibrahim et al. (2009) proposed the selection criteria for the COTS component such as usability, security, functionality, performance, recoverability and impact. ...
... ,Sassi et al. (2006),Mohamed et al. (2007), BasemSuleiman (2008),Kwong et al. (2010),Ibrahim et al. (2011),Gupta et al. (2013),Ravichandran et al. (2012),Wanyama and H. Far (2008),Ibrahim et al. (2009), Cortellssa et al. (2006), Tang et al. (2011), Iribrane and Vallecillo (2002.Technological Factors Closeness of Fit, Cohesion, Compatibility, Line of Code, POF on Demand, Technological Risk, No. of Invocations, Coupling Huan-Jyh Shyur (2006), Mohamed et al. (2007), Rao and Rajesh (2009), Kwong et al. (2010), Indumati et al. (2011), Wanyama and H. Far (2008), Ibrahim et al. (2009), Tang et al. (2011), Ravichandran et al. (2012), Gupta et al. (2012), Rao and Rajesh (2009). Domain and Architectural Factors Time Behavior, Resource Behavior, Ease of Implementation, Interface Complexity, Impact, Environment, Flexibility, Consistency, Completeness Gupta et al. (2013), Huan-Jyh Shyur (2006), Rao and Rajesh (2009), Wanyama and Homayoun (2005), Carvallo et al. (2006), Neubauer and Stummer (2007), Ravichandran et al. (2012), Ibrahim et al. (2011), Baharom et al. (2012), Yang et al. (2005), Kaur and Mann (2010). ...
Article
Full-text available
In today’s scenario,software has become an essential component in all kinds of systems. The size and the complexity of the software increases with a corresponding increase in its functionality,hence leads to the development of the modular software systems. Software developers emphasize on the concept of component based software engineering (CBSE) for the development of modular software systems. The CBSE concept consists of dividing the software into a number of modules; selecting Commercial Off-the-Shelf (COTS) for each module; and finally integrating the modules to develop the final software system. The selection of COTS for any module plays a vital role in software development. To address the problem of selection of COTS,a framework for ranking and selection of various COTS components for any software system based on expert opinion elicitation and fuzzy-based matrix methodology is proposed in this research paper. The selection problem is modeled as a multi-criteria decision making (MCDM) problem. The evaluation criteria are identified through extensive literature study and the COTS components are ranked based on these identified and selected evaluation criteria using the proposed methods according to the value of a permanent function of their criteria matrices. The methodology is explained through an example and is validated by comparing with an existing method.
Article
Full-text available
Component-based software development (CBSD) is a difficult method for creating complicated products or systems. In CBSD, multiple components are used to construct software or a product. A complex system or program can be created with CBSD quickly and with money while maintaining excellent quality and security. On the other hand, this research will persuade outsourced vendor companies to embrace CBSD approaches for component software development. We conducted a systemic literature review (SLR) to investigate the success factors that have a favorable impact on software outsourcing vendors’ organizations, and we selected 91 relevant research publications by creating a search string based on the study questions. This useful information was compiled using Google Scholar, IEEE Explore, MDPI, WILLEY Digital Library, and Elsevier. Furthermore, we completed all of the procedures in SLR for the full literature review, including the formulation of the SLR protocol, initial and final data collection, retrieval, assessment processes, and data synthesis. Among the ten (10) critical success factors we identified are a well-trained and skilled team, proper component selection, use of design standards, well-defined architecture, well-defined analysis and testing, well-defined integration, quality assurance, good organization of documentation, and well-organized security, and proper certification. Furthermore, the proposed SLR includes 46 best practices for these critical success factors, which could assist vendor organizations in enhancing critical success factors for CBOSD. According to our findings, the discovered success factors are similar and distinct across different periods, continents, databases, and approaches. The recommended SLR will also assist software vendor organizations in implementing the CBSD idea. We used the analytical hierarchy process (AHP) method to prioritize and analyze the success factors of component-based outsourcing software development and the result of different equations of the AHP approach to construct the pairwise comparison matrix. The largest eigenvalue was 3.096 and the CR value was 0.082, which is less than 0.1, and thus sufficient and acceptable.
Article
In this article, a deterministic model for the selection and ranking of commercial off-the-shelf (COTS) components is developed on the basis of fuzzy modified distance-based approach (FMDBA). The COTS selection and ranking problem is modeled as multicriteria decision making problem due to the involvement of multiple ranking criteria like functionality, reliability, compatibility, etc. FMDBA is the combination of the fuzzy set theory and the modified distance-based approach. To show the working of the developed ranking model, a case study of the e-payment system is demonstrated which aims on the selection and ranking of eight COTS components over four major categories of ranking criteria. FMDBA provides a comprehensive ranking of the components based on their calculated composite distance values. To depict the docility of FMDBA method, the results obtained are also compared with the existing decision-making methodologies.
Conference Paper
Full-text available
Perhaps the most common question asked by organizations new to constructing COTS-based systems is how to choose the right product. In particular, they want to know how, starting from system requirements, an efficient and effective set of criteria for COTS selection can be developed. This paper focuses on recommendations and techniques for transforming a set of requirements into a set of product evaluation criteria that capture the facts and standards by which the fitness of COTS products can be judged.
Article
Component interoperability has become an important concern as companies migrate legacy systems, integrate COTS products, and assemble modules from disparate sources into a single application. While middleware is available for this purpose, it often does not form a complete bridge between components and may be inflexible as the application evolves. What is needed is the explicit design information that will forecast a more accurate, evolvable, and less costly integration solution implementation.Emerging research has shown that interoperability problems can be traced to the software architecture of the components and integrated application. Furthermore, the solutions generated for these problems are guided by an implicit understanding of software architecture. Current technology does not fully identify what must be made explicit about software architecture to aid in comparison of the architectures and expectations of participating entities within the integrated application. Thus, there can be no relief in the expense or the duration of implementing long-term reliance on middleware. The overall goal of our research is to extract and make explicit the information needed to define and build this technology. This paper focuses on identifying, classifying, and organizing characteristics that help to define an architectural style by using abstraction and semantic nets. We illustrate the relationships between the characteristics and their relevance to interoperability via examples of integrated applications.
Conference Paper
This paper presents the twelve most significant lessons the CeBASE community has learned across a wide variety of projects, domains, and organi- zations about COTS-Based Systems (CBS) maintenance. Because many of the lessons identified are not intuitive, the source and implications of the lesson are discussed as well within the context of maintenance model for CBS.
Conference Paper
Many regard widespread development and reuse of software components as one of the next biggest phenomena for software. However, widespread reuse of a software component with poor quality may lead to disasters. Improper reuse of software components of good quality may also be disastrous. Testing and quality assurance is therefore critical for both software components and component-based software systems. This tutorial provides an in-depth look at the technical issues, challenges, managerial aspects, and needs in testing of components and systems. Moreover, this tutorial reports on the recent advances and research efforts in developing new solutions to solve those problems and meet those needs, from the perspectives of component-based software engineering. The tutorial will discuss the state-of-the-art practice, issues, and challenges, new solutions and research efforts in third-party component testing, component-based program validation, and test automation. The targeted audience includes technical managers, software testing engineers, quality assurance people, and development engineers who are working on component-based software projects. The tutorial will be useful for professionals, researchers, and students interested in understanding the general concepts and methods in component testing and component-based software validation. This tutorial assumes that participants have a general understanding of software engineering and software testing methods, and have some working experience in software development and validation.
Conference Paper
This paper summarizes the main achievements of a research whose main goal was to investigate the current state-of-art in the field of requirements engineering for COTS-based systems. For this purpose, we have reviewed the most relevant contributions in this field over the last 10 years have been consid- ered. After analyzing these research contributions, we defined a scenario com- posed by a number of punctual but relevant contributions and a number of meth- odological approaches coping with the requirements definitions for such systems. Finally, on the basis of this scenario, a Wish List of desirable features of a hypo- thetical approach has been defined and compared against the current situation. This list may act as an empirical means for evaluating new approaches addressing RE for COTS-based systems, and bases its foundations on the current needs pointed out by the major experts in this field.
Conference Paper
Maintaining large software systems based on Commercial Off-The-Shelf (COTS) components is a major cost driver for these systems. Maintenance includes activities from component replacement to trouble-shooting and configuration management. The maintenance costs for COTS based software systems can be reduced by building systems according to specific design criteria. This paper identifies the major activities of a system maintainer, describes the properties that can be designed into a system to facilitate these activities, and outlines a checklist of items that can be verified during a design or code review, or during the evaluation of a COTS components in order to guarantee these properties are built into the system. The verification is illustrated using a photo imaging system that is currently under development
Conference Paper
The rapidly growing demand for rapid and cost-effective development of large-scale, complex and highly maintainable software systems has introduced a major challenge for the software community. The new trend is to adopt the component-based software development approach to overcome the challenge. The component-based software development approach is based on the concept of developing software systems by selecting building blocks of a new system from off-the-shelf components and assembling the selected components within an approximate software architecture. Consequently, the component-based software development approach has great potential for reducing development time and cost. To build a component-based software system, an organization may select from off-the-shelf components developed by internal or external sources. The development of component-based software systems involves new major activities such as evaluation, selection, customization and integration of off-the-shelf components; and evaluation, selection and creation of software architectures. The focus of the paper is on the key aspects of the component-based software development approach and new opportunities and challenges associated with the approach. The paper describes the new major activities in the component-based systems life cycle, and discusses technical and nontechnical issues that need to be resolved for widespread adoption of this approach. The paper also presents several directions for future research in this area
Article
As we continue to move toward component-based software engineering, software development will become more like traditional manufacturing: developers will code less and design and integrate more. The author argues that to reap the benefits of component-based development: reduced time to market, more user choice, and lower costs, we must rethink our software maintenance strategies. He gives a wide-ranging overview of the maintenance challenges raised by component-based development
Article
For most software applications, the use of commercial off-the-shelf products has become an economic necessity. Gone are the days when upsized industry and government information technology organizations had the luxury of trying to develop-and, at greater expense, maintain their own database, network, and user-interface management infrastructure. Viable COTS products are climbing up the protocol stack, from infrastructure into applications solutions in such areas as office and management support, electronic commerce, finance, logistics, manufacturing, law and medicine. For small and large commercial companies, time-to-market pressures also exert a strong pressure toward COTS-based solutions. However, most organizations have also found that COTS gains are accompanied by frustrating COTS pains. The paper summarizes experience on the relative advantages and disadvantages of COTS solutions
Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvements
  • J Tain
Tain, J., Software Quality Engineering: Testing, Quality Assurance and Quantifiable Improvements, John Wiley Sons, Inc., New Jersey, 2005.
Software Project Management For Small to Medium Sized Projects
  • J R John