Integrating 3rd party components in software systems provides promising advantages but also risks due to disconnected evolution cycles. Deciding whether to migrate to a newer version of a 3rd party component integrated into selfimplemented code or to switch to a different one is challenging. Dedicated evolution support for 3rd party component scenarios is hence required. Existing approaches do not account for open source components which allow accessing and analyzing their source code and project information. The approach presented in this paper combines analyses for code dependency, code quality, and bug tracker information for a holistic view on the evolution with 3rd party components. We applied the approach in a case study on a communication middleware component for industrial devices used at ABB. We identified 7 methods potentially impacted by changes of 3rd party components despite the absence of interface changes. We further identified selfimplemented code that does not need any manual investigation after the 3rd party component evolution as well as a positive trend of code and bug tracker issues.
Software design patterns are proven solutions for recurring design problems. Decisions on the use of a pattern in a software design form a specific but important class of design decisions. However, despite their importance, these design decisions are often mistaken and rarely documented. In our survey, about 90% of the participants confirmed to have experienced such problems. Therefore, we propose an approach that supports the appropriate use of design patterns and documentation of such decisions. The main idea is to create a pattern catalogue, where a pattern (as part of its catalogue entry) is annotated with general questions on the appropriateness of the use of the pattern. The envisioned benefits of this approach are a more appropriate use of design patterns, and documented design decisions on the use of patterns with positive effects on evolution. In this paper, we present the enriched pattern catalogue, and results of a survey with 21 software engineers as a validation of some entries of the pattern catalogue.
Mashups constitute a new way to integrate existing services into applications. While a large amount of tools based on different approaches can be found, these tools do not explicitly consider non-functional requirements. Therefore, the created mashups are not appropriate to be used as enterprise applications ("enterprise mashups"). The paper describes an approach to integrate service quality prediction into the process of developing mashups. We developed a semi-automated prototype that supports the mashup development process with integrated design time quality prediction. The contributions of this paper are the following: (a) discussion of the requirements to service quality prediction for the enterprise mashups, (b) discussion of its benefits, and (c) proposal of the automated design time service quality prediction approach for the development of enterprise mashups. The implemented prototype, and service quality prediction benefits are demonstrated on a Customer Relationship Management (CRM) scenario
Although an intensive research attention has been paid to software evolution, there is no established approach which supports a software development and evolution round-trip between requirements, design decisions, architectural elements, and code. The ADVERT approach shall provide support for software evolution on an architectural level. AD-VERT is based on two core ideas: (1) Maintaining trace links between requirements, design decisions, and architecture elements, and (2) explicitly integrating software architecture information into the code. The expected benefits of the approach are: (1) Eased understanding of the relationship between requirements and design, and (2) assured compliance between architectural design and implementation. In this position paper we explain our envisioned approach and demonstrate it on a CoCoME-based example, which is a benchmark for component-based modelling approaches.
Abstract. With the introduction of services, software systems have become more flexible as new services can easily be composed from existing ones. Service composition frameworks offer corresponding functionality and hide the complexity of the underlying technologies from their users. However, possibilities for anticipating quality properties of composed services before their actual operation are limited so far. While existing approaches for model-based software quality prediction can be used by service composers for determining realizable Quality of Service (QoS) levels, integration of such techniques into composition frameworks is still missing. As a result, high effort and expert knowledge is required to build the system models required for prediction. In this paper, we present a novel service composition process that includes QoS prediction for composed services as an integral part. Furthermore, we describe how composition frameworks can be extended to support this process. With our approach, systematic consideration of service quality during the composition process is naturally achieved, without the need for detailed knowledge about the underlying prediction models. To evaluate our work and validate its applicability in different domains, we have integrated QoS prediction support according to our process in two composition frameworks -a large-scale SLA management framework and a service mashup platform.
Software system development typically starts from a requirement specification followed by stepwise refinement of available requirements while transferring them into the system architecture. However, the granularity and the amount of requirements to be elicited for a successful architectural design are not well understood. This paper proposes a process concept to support system development with the help of an architecture-centric approach for goal-driven requirements elicitation. The process focuses on multiple quality dimensions, such as performance, reliability and scalability, and at the same time shall reduce costs and risks through early decision evaluation. The main contribution of this paper is a novel process where not only requirements can drive architectural design, but also architectural design can selectively drive requirement elicitation with the help of hypotheses connected to the selected architectural solutions. The paper concludes with a discussion on its possible empirical validation.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
334 Leonard St
Brooklyn, NY 11211
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.