Document details

Industrialização do processo de desenvolvimento de software: Software Product Lines

Author(s): Cal, Bruno Miguel Saraiva Duarte da

Date: 2011

Persistent ID: http://hdl.handle.net/10071/8241

Origin: Repositório ISCTE

Subject(s): Industrialização; Linhas de produto de software; Ciclo de vida de desenvolvimento de software; Engenharia de software; Gestão de projecto; Desenvolvimento orientado por modelos; Automatização de desenvolvimento; Industrialization; Software product line; Software development lifecycle; Software engineering; Project management; Model driven development; Software development automation


Description

Desde os primeiros tempos da engenharia de software, investigadores (e praticantes) dedicam-se à análise do processo de desenvolvimento de software, avaliando os seus problemas e possíveis soluções. Vários factores devem ser envolvidos nesta análise, todavia será certamente seguro afirmar que a falta de reutilização de desenvolvimento e a baixa produtividade do processo de construção de uma aplicação, são duas preocupações recorrentes cuja resolução não se tem mostrado simples. Na última década, este contexto tem motivado a comunidade de investigação a analisar o que designam por industrialização do processo de desenvolvimento de software. Esta vertente de investigação defende que várias técnicas industriais podem ser transpostas para o desenvolvimento de software e que a sua aplicação trará enormes benefícios à abordagem tradicional, nomeadamente, potenciará substanciais ganhos de produtividade, diminuição de custos e melhorias de qualidade dos sistemas desenvolvidos. As Software Product Lines são uma materialização desta perspectiva industrializada do processo de desenvolvimento. O fundamento principal desta orientação consiste numa mudança de paradigma de desenvolvimento que substitui o modelo tradicional, focado na construção de uma aplicação específica para um determinado cliente, para a construção de uma infra-estrutura de produção que suporte o desenvolvimento de um leque de sistemas (família de produtos) que sirvam um conjunto de clientes. Segundo os defensores deste novo paradigma, esta visão multi-sistema, permitirá uma reutilização massiva e sistemática de vários componentes entre os elementos da família de produtos, que servirá de base para a optimização do processo de desenvolvimento associada aos ganhos de produtividade, diminuição de custos e melhorias de qualidade pretendidos. Esta dissertação procura sistematizar os conceitos envolvidos nas Software Product Lines através de uma análise abrangente dos princípios teóricos subjacentes e da sua concretização prática através de técnicas e tecnologias existentes. Com base nesta sistematização de conhecimento, propomos um modelo de desenvolvimento baseado em famílias de produtos (SPLUP), cuja aplicabilidade demonstramos através da elaboração de um caso de estudo e construção de protótipo. Complementarmente, foram submetidos dois artigos científicos a conferências científicas (CENTERIS 2011 e CAPSI 2011) que sistematizam as principais conclusões e contribuições do nosso trabalho.

Since the early days of Software Engineering, researchers and practitioners have sought to improve the software development process. The lack of reuse and the low productivity rates are recurring concerns whose resolution has not proved to be simple. Over the last decade, the research community and industry have been studying the industrialization of the software development process. The ideas underlying this perspective are supported by the proposition that several industrial techniques should be compliant with software development, and that its implementation will bring substantial benefits to the traditional approach, namely, considerable productivity gains, costs reductions and quality improvements to the developed systems. Software Product Lines materialize this ―industrialized‖ version of the software development. The main baseline of this approach, consists on the shift from the present model, in which a system is built from a set of needs stated by a single customer, to a model that aims to the construction of a generic production platform that supports the development of a set (family) of systems that covers a related set of customers’ needs. According to the proponents of this theory, the multi-system approach will allow a massive and systematic component reutilization within the family members, which contributes to a considerable process optimization. This thesis attempts to organize the concepts related to Software Product Lines through a comprehensive analysis of the underlying theoretical principles and its practical implementation through existing techniques and technologies. Based on this knowledge, we propose a family-oriented development model (SPLUP), whose applicability is demonstrated by a case study and prototype development. In addition, two papers were submitted (CENTERIS 2011 and CAPSI 2011 conferences) to systematize the main conclusions and contributions of our work.

Document Type Master thesis
Language Portuguese
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents