71 |
Evolução de componentes compartilhados por multiplas linhas de produto de software / Evolution of components shared by multiple software product linesAssis, Wendel Malta de 15 August 2018 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-15T07:02:41Z (GMT). No. of bitstreams: 1
Assis_WendelMaltade_M.pdf: 3475428 bytes, checksum: a93eaa26b089299962c102e6c3a037c5 (MD5)
Previous issue date: 2009 / Resumo: O uso de Linhas de Produto de Software é uma prática comum entre as empresas de software, tendo como objetivo promover o desenvolvimento de um conjunto de produtos de software relacionados através da reutilização de um núcleo comum de ativos de software. Dentre estas empresas, podemos mencionar a Motorola, cujo ambiente de desenvolvimento em que múltiplas linhas de produto são mantidas em paralelo serviu de motivação para este trabalho. Na prática, a complexidade de alguns tipos de negócios apoiados por linhas de produto implica em mudanças na forma como a adoção da abordagem é sugerida pela literatura. Em particular na Motorola, as linhas de produto são baseadas em componentes e a arquitetura da linha de produto possui diversos pontos de variação, onde variantes de componentes representando diversas alternativas de projeto podem ser escolhidas. Além disso, várias linhas de produto são mantidas em paralelo e os componentes e suas variantes podem ser compartilhados entre elas. Neste contexto, a evolução de componentes é uma tarefa complexa, pois a inclusão de novas características nas variantes dos componentes pode impactar não somente a arquitetura e os ativos de uma única linha de produto, mas também das diversas linhas que as utilizam. A principal contribuição deste trabalho é a documentação de uma família de padrões de evolução de componentes compartilhados por múltiplas linhas de produto de software. Além desta família de padrões, também é apresentado um processo para auxiliar na análise do padrão de evolução a ser adotado para implementar uma determinada requisição de mudança / Abstract: The Software Product Line approach is becoming widely used by software companies, whose goal is to promote the development of a set of related software products through the reuse of a common core of software assets. Among these companies, we can mention Motorola, whose development environment where multiple software product lines are maintained in parallel served as the motivation for this work. In practice, the complexity of some types of businesses supported by product lines involves changes in how the adoption of the approach is suggested by the literature. At Motorola, the product lines are based on components and the product line architecture has many variation points, where variants of components representing various design alternatives can be chosen. In addition, several product lines are maintained in parallel and the components and their variants can be shared among them. In this context, the evolution of components is a complex task, because the inclusion of new features in variants of the components can impact not only the architecture and assets in a single product line but also on many products lines that are using them. The main contribution of this work is the documentation of a family of component evolution patterns that are shared between multiple software product lines. Besides that, a process to assist in analyzing the evolution pattern to be taken to implement a specific change request is presented / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
|
72 |
Controlling Changes in Large-Scale Software DevelopmentÅsfält, Pär, Stüeken, Jan January 2007 (has links)
Changes to a software system are the result of changing requirements or defects during the development. Each change consumes resources for the analysis, decision making, implementation, and verification. Hence, having control over changes is crucial for software development projects to meet schedules, keep quality standards and budgets. Reuse of functionality helps to create new products based on already existing building blocks. Integrating mature components enables to create reliable systems. Software product lines provide means to develop several similar systems based on reuse. Often new products also need to be released frequently to fulfil the customer needs. Shortened lead time for the development then strengthens the importance of reuse. At the same time, limited budgets and competition on the market requires projects to utilize resources efficiently. Developing several releases in parallel enables an even distribution of tasks among different roles in a development organization. Both developing software based on a product line approach and parallel releases put requirements on how changes need to be controlled. In this thesis, software engineering literature is reviewed regarding the knowledge areas of software release management, software product lines and software configuration management. Beyond the most considerable research results also related case studies are presented to show how industry practices counter existing problems. The major part of the thesis is a case study conducted at Sony Ericsson Mobile Communications AB. The outcome of the thesis is an identification of challenges of controlling changes regarding parallel development and using software product lines based on available research results and industry case studies. It further provides a case of a software development organization which faces a high market-pace, uses a software product line approach, and develops several software releases in parallel on different sites around the world.
|
73 |
BESMART : a framework for shifting from BESpoke to MARkeT-driven requirements engineeringBergström, Jonas, Dahlqvist, Andreas January 2007 (has links)
Requirements Engineering has two main directions, Bespoke (product developed for one customer) and Market-Driven (several potential customers for the same product). These two are in some ways very much alike but in some aspects very different. Over the last couple of years the software development industry has tended to shift more and more to Market-Driven Requirements Engineering. This has brought attention to the challenges facing a Market-Driven development organization, without focusing on the actual shift from Bespoke development. Based on the differences and similarities between Bespoke and Market-Driven Requirements Engineering, this thesis presents a framework for shifting from the former to the latter. The framework (BESMART) involves three steps. Firstly, the organization assesses their potential to become more Market-Driven. Secondly they assess their current way of working to identify which areas that may need to be improved. Finally, BESMART provides multiple suggestions that address the identified improvement areas. The organization is then able to choose the one that best suits their needs. This also lets the organization choose a solution that they find feasible. The framework was used at a case organization during its development. This way it was ensured that the theoretical framework could actually be used in a real world setting. The practical use of BESMART resulted in some refinements aimed at making it more applicable in industry. Once the framework had been applied, it was evaluated by representatives from the case organization. The industry evaluation resulted in some improvement suggestions but showed that the framework was both useful and usable and provided an improvement plan that seemed promising enough to pilot in the organization.
|
74 |
Adopting Software Product Lines : Guidelines based on the Maturity of OrganizationsBjörklund, Marcus, Hjelmar, Jonas January 2010 (has links)
Software Product Lines (SPL) is a relatively new way of working in software development. A SPL is an enforced architecture and a collection of components common for more than one product within a domain. Development using SPL utilizes tools and techniques for creating software systems from a common set of core assets in order to satisfy a certain market. In this study we investigate how to proceed when transitioning to a SPL development approach by evaluating proposed and used adoption approaches, methods and frameworks. We performed a systematic literature review using three main sources; Compendex/Inspec, CiteSeerX and Google Scholar. The results are analyzed using a qualitative analysis technique called Recursive Abstraction where the results are iteratively summarized to extract the essence of the data. A manageable collection of frameworks, methods and approaches are summarized as a starting point for a reader who wants to dig deeper into the subject. A set of guidelines is suggested for companies who are considering a transition to SPL development. We also investigate the link between SPL and organization maturity, with a focus on the benefits of combining a SPL initiative with a CMMI initiative. We conclude that the transition process should not be taken lightly; in most cases it should be made in incremental steps. There is a fairly standard approach to adopt SPL and there are a few frameworks that are commonly accepted. However, we also conclude that most research areas of SPL development lacks in validation. Concerning the link between SPL and CMMI we identify some PA's that are more important when considering SPL development and a few others that may be harder to execute. We conclude that SPL benefits from process maturity and discipline as SPL development is process controlled and a lack in process discipline may cause corrosion of the SPL. A CMMI maturity level of Defined processes should be considered a prerequisite for a complete SPL practice. We could not find any indication that the organization maturity would benefit from SPL practices alone. Neither could we identify any drawbacks of having both an CMMI initiative and SPL transition initiative within the same organization.
|
75 |
Metrics for the Structural Assessment of Product Line Architecture / Metrics for the Structural Assessment of Product Line ArchitectureRahman, Asim January 2004 (has links)
The notion of maximizing software reuse among the family of products has gained considerable attention in the last decade. Lots of research has been done on designing and managing the commonalities and variabilities between the products. However, very few metrics have been developed to assist architects in designing product line architectures. The structure of the product line holds immense importance towards increasing the life span of the product line. Since many of the product line architecture design methodologies follow a component based approach, it seems logical to attempt to adapt the component based metrics to the product line domain. In this thesis, we attempt to derive metrics that quantify the structural quality of product line architecture. / +92-42-5727639
|
76 |
Testing in Software Product Lines / Testing in Software Product LinesOdia, Osaretin Edwin January 2007 (has links)
This thesis presents research aimed at investigating different activities involved in software product lines testing process and possible improvements towards achieving developing high quality software product lines at reduced cost and time. The research was performed using systematic review procedures of Kitchenham. The reviews carried out in this research covers several areas relating to software product lines testing. The reasons for performing a systematic review in this research are to; summarize the existing evidence covering testing in software product line context, to identify gaps in current research and to suggest areas for further research. The contribution of this thesis is research aimed at revealing the different activities, issues and challenges in software product lines testing. The research into the different activities in software product lines lead to the proposed SPLIT Model for software product lines testing. The model helps to clarify the steps and activities involved in the software product line testing process. It provides and easy to follow map for testers and managers in software product line development organizations. The results were mainly on how testing in software product lines can be improved upon, towards achieving software product line goals. The basic contribution is the proposed model for product line testing, investigation into, and possible improvement in, issues related to software product line testing activities. / The main purpose of the research as presented in this thesis is to present a clear picture of testing in the context of software product lines, which is quite different from testing in single product. The focus of this thesis is specifically the different steps and activities involved in software product lines testing and possible improvements in software product lines testing activities and issues towards achieving the goals of developing high quality software product lines at reduced cost and time. But, for software product lines to achieve its goals, there should be a comprehensive set of testing activities in software product lines development. The development activities from performing analyses and creating designs to integrating programs in software product line context, component testing and tools support for software product lines testing should be taken into consideration. / 0046762913149 eddy_odia2002@yahoo.co.uk
|
77 |
Analytics for Software Product PlanningSaha, Shishir Kumar, Mohymen, Mirza January 2013 (has links)
Context. Software product planning involves product lifecycle management, roadmapping, release planning and requirements engineering. Requirements are collected and used together with criteria to define short-term plans, release plans and long-term plans, roadmaps. The different stages of the product lifecycle determine whether a product is mainly evolved, extended, or simply maintained. When eliciting requirements and identifying criteria for software product planning, the product manager is confronted with statements about customer interests that do not correspond to their needs. Analytics summarize, filter, and transform measurements to obtain insights about what happened, how it happened, and why it happened. Analytics have been used for improving usability of software solutions, monitoring reliability of networks and for performance engineering. However, the concept of using analytics to determine the evolution of a software solution is unexplored. In a context where a misunderstanding of users’ need can easily lead the effective product design to failure, the support of analytics for software product planning can contribute to fostering the realization of which features of the product are useful for the users or customers. Objective. In observation of a lack of primary studies, the first step is to apply analytics of software product planning concept in the evolution of software solutions by having an understanding of the product usage measurement. For this reason, this research aims to understand relevant analytics of users’ interaction with SaaS applications. In addition, to identify an effective way to collect right analytics and measure feature usage with respect to page-based analytics and feature-based analytics to provide decision-support for software product planning. Methods. This research combines a literature review of the state-of-the-art to understand the research gap, related works and to find out relevant analytics for software product planning. A market research is conducted to compare the features of different analytics tools to identify an effective way to collect relevant analytics. Hence, a prototype analytics tool is developed to explore the way of measuring feature usage of a SaaS website to provide decision-support for software product planning. Finally, a software simulation is performed to understand the impact of page clutter, erroneous page presentation and feature spread with respect to page-based analytics and feature-based analytics. Results. The literature review reveals the studies which describe the related work on relevant categories of software analytics that are important for measuring software usage. A software-supported approach, developed from the feature comparison results of different analytics tools, ensures an effective way of collecting analytics for product planners. Moreover, the study results can be used to understand the impact of page clutter, erroneous page representation and feature spread with respect to page-based analytics and feature-based analytics. The study reveals that the page clutter, erroneous page presentation and feature spread exaggerate feature usage measurement with the page-based analytics, but not with the feature-based analytics. Conclusions. The research provided a wide set of evidence fostering the understanding of relevant analytics for software product planning. The results revealed the way of measuring the feature usage to SaaS product managers. Furthermore, feature usage measurement of SaaS websites can be recognized, which helps product managers to understand the impact of page clutter, erroneous page presentation and feature spread between page-based and feature-based analytics. Further case study can be performed to evaluate the solution proposals by tailoring the company needs. / +46739480254
|
78 |
Total Quality Maintenance (TQMain) A predictive and proactive maintenance concept for softwareWilliamsson, Ia January 2006 (has links)
This thesis describes an investigation of the possibility to apply a maintenance concept originally developed for the industry, on software maintenance. Today a large amount of software development models exist but not many of them treat maintenance as a part of the software life cycle. In most cases maintenance is depicted as an activity towards the end of the software life cycle. The high cost ascribed to software maintenance motivates for improvements. The maintenance concept TQMain proposed in this thesis distinguishes from other maintenance concepts by its use of preventive, predictive and proactive maintenance strategies. TQMain uses a common database to store real-time data from various departments and uses it for analyse and assessment to track the development of deviations in the condition of the production process and product quality at an early stage. A continuous cyclic improvement of the maintenance strategy is reached by comparing the data from the real-time measurements with data from the database. The ISO/IEC Software engineering – Product qualities is used as a source of empiric data to conclude that the correct quality characteristics are used for identifying software product quality and its characteristics and compare them with the characteristics of industrial product quality. The results presented are that in the conceptual outline of TQMain measures are obviously not the same as in software maintenance, but the aspect of product quality is common for both. The continuous cyclic improvement of the product quality that TQMain features together with the aspect of detecting potential failures before they occur would, judging from the conceptual outline of TQMain be applicable on software maintenance.
|
79 |
Modeling of Enterprise Portals with Domain-Specific LanguageWasilewski, Dominik January 2012 (has links)
Enterprise portals are comprehensive solutions that enable centralized access to information and employees. They also support the business processes taking place in companies. The diversity of functionality offered by enterprise portals is the source of the complexity of the manufacturing process of such applications. Domain-Specific Languages (DSL) are a novel approach to solving problems associated with the software development. By limiting the possibilities of expression to the concepts related to a specific area Domain-Specific Languages are more focused on solving specific problems. The subject of this thesis is DSL SharePoint – Domain-Specific Language which supports the production of enterprise portals on Microsoft SharePoint platform. Language was developed with respect to the newest achievements in area of building DSLs. By applying the language in the industry, it was possible to verify the hypothesis that its usage positively affects the quality of software products. To this end, the quality model was built, and products made with the support of language have been compared to those developed in the traditional manner.
|
80 |
Software Product Line Architectures: Reviewing the Literature and Identifying Bad SmellsAndrade, Hugo January 2013 (has links)
The Software Product Line (SPL) paradigm has proven to be an effective way to achieve large scale reuse in different domains. It takes advantage of common aspects between different products, while also considering product specific features. The architecture plays an important role in SPL engineering, by providing means to better understand and maintain the product-derivation environment. However, it is difficult to evolve such architecture because it is not always clear where and how to refactor. The contribution of this thesis is twofold. First, the current state of the art of software Product Line Architectures (PLAs) is investigated through a systematic mapping study. It provides an overview of the field through the analysis, and categorization of evidence. The study identifies gaps, trends and provides future directions for research. Furthermore, this thesis addresses the phenomenon of architectural bad smells in the context of SPLs. A case study provides an investigation on the implications of such structural properties in a variability-based environment. Prior to the search for smells, the architecture of a sample SPL in the text editor domain is recovered from the source code. / Software Product Line (SPL) paradigmet har bevisat sig vara ett effektivt sätt att uppnå storskalig återanvändning i olika domäner. Den drar nytta av gemensamma aspekter mellan olika produkter, och överväger samtidigt även produktspecifika egenskaper. Arkitekturen spelar en viktig roll i SPL tekniken, genom att tillhandahålla medel för att bättre förstå och underhålla "product-derivation" miljön. Det är dock svårt att vidareutveckla sådan arkitektur för att det inte alltid är tydligt var och hur den kan omstruktureras. Bidraget från denna avhandling är tvåfaldigt. För det första, den aktuella situationen för "software Product Line Architectures" (PLAs) undersöks genom en systematisk kartläggning. Den ger en översikt av fältet genom analys, och kategorisering av bevis. Studien identifierar luckor, trender och ger framtida riktlinjer för forskning. Vidare adresserar denna avhandling fenomenet arkitektoniska "bad smells" inom kontexten för SPLs. En fallstudie ger en utredning av implikationer av sådana strukturella egenskaper i en variabilitet-baserad miljö. Innan sökningen av "smells", är arkitekturen från en sampel SPL i textredigerar domänen återvunnen från källkoden.
|
Page generated in 0.0345 seconds