41 |
An integrated cost model for product line engineeringNóbrega, Jarley Palmeira 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:51:39Z (GMT). No. of bitstreams: 2
arquivo1682_1.pdf: 1782765 bytes, checksum: f72b8949fcd20828665cc0a45ca4034d (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Dentro da comunidade de desenvolvimento de software, o processo de reutilizar
artefatos ao invés de construí-los do zero normalmente conhecido como reuso
de software tem se mostrado uma maneira efetiva de evitar os problemas
associados ao estouro de orçamentos e cronogramas de projeto. Apesar do
imenso potencial, a adoção de reuso em larga escala ainda não prevalece dentro
das organizações. Entre os fatores que contribuem para isso, estão os
obstáculos econômicos enfrentados pelas empresas, com uma clara preocupação
sobre os custos para desenvolver software para e com reuso. Atualmente, as
decisões relacionadas com reuso são tratadas sob um ponto de vista econômico,
devido ao fato do desenvolvimento de software reutilizável ser considerado
pelas organizações como um investimento. Além disso, a adoção de linhas de
produto de software dentro desse contexto traz à tona alguns inibidores de
reuso, como por exemplo, a aplicação dos modelos de custo para reuso de forma
restrita, a falta de uma estratégia para a análise de investimentos, e o fato que
poucos modelos de custo possuem uma abordagem baseada na utilização de
cenários de reuso. Nesse contexto, esse trabalho apresenta um modelo
integrado de custo para engenharia de linhas de produto, com o objetivo de
auxiliar as organizações em seus processos de tomada de decisões na avaliação
de investimentos em reuso. Os fundamentos para o modelo foram baseados em
uma vasta pesquisa sobre modelos de custo para reuso e sua especialização para
linhas de produto de software. O modelo apresenta a definição de funções de
custo e benefícios, cenários de reuso e uma estratégia de investimento para
linhas de produto. Também é apresentado um modelo de simulação baseado na
técnica de Monte Carlo. Por último, um estudo de caso discute os resultados de dentro do contexto de um projeto real de desenvolvimento de software, onde o
modelo foi aplicado
|
42 |
Cores assets development in software product lines - towards a practical approach for the mobile game domainNascimento, Leandro Marques do 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:51:50Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Os mais almejados objetivos da engenharia de software são basicamente alta
produtividade, com alta qualidade a um baixo custo e uma possível forma de
atingi-los é estabelecer reuso de software o processo de criar sistemas de software
a partir de sistemas existentes ao invés de criar do início. Neste contexto,
uma abordagem que pode habilitar reuso na prática é Linha de Produto de Software
(LPS) um conjunto de sistemas de software que compartilham um conjunto
comum e gerenciado de funcionalidades que satisfazem uma necessidade
específica de um domínio, e que são desenvolvidas a partir de um conjunto de
artefatos reusáveis. Um domínio em particular onde a adoção de tal abordagem
pode trazer benefícios é o domínio de jogos móveis principalmente porque os jogos
precisam executar em diversos dispositivos e existe uma grande quantidade
de jogos do mesmo tipo sendo desenvolvidos com funcionalidades em comum.
Entretanto, as características do domínio de jogos móveis geralmente
criam barreiras para os processos de LPS na prática, tais como, restrições de
memória e de tamanho da aplicação e diferentes implementações de API feitas
por diferentes fabricantes. Além disso, os atuais processos de LPS ainda carecem
de detalhes em fases relacionadas à implementação de artefatos reusáveis,
dificultando a administração apropriada das características mencionadas.
Dessa forma, este trabalho objetiva definir uma abordagem prática para
implementação de artefatos reusáveis em uma LPS para o domínio de jogos móveis
com base nas boas práticas do estado da arte na área. Além disso, com a intenção
de avaliar a abordagem, um estudo experimental foi executado com três
jogos de plataforma para construir a LPS e um quarto jogo foi derivado dela
|
43 |
Extending the riple-design process with quality attribute variability realizationCavalcanti, Ricardo de Oliveira 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:58:11Z (GMT). No. of bitstreams: 2
arquivo3303_1.pdf: 1930482 bytes, checksum: 5203b90b2f2248bb0739907c03b9a717 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / Reúso de software é uma forma viável de obter ganhos de produtividade e melhoria no timeto-
market tão desejados pelas empresas. O reúso não sistemático (Ad hoc) pode ser
prejudicial, uma vez que a reutilização de artefatos de baixa qualidade pode diminuir a
qualidade dos produtos finais. O reúso sistemático através da adoção de Linhas de Produto de
Software (LPS) é uma boa alternativa para alcançar metas de qualidade e de redução de
custos. Essa abordagem se tornou uma solução efetiva para gerar vantagem competitiva para
as empresas.
Arquiteturas de linhas de produto devem se beneficiar das comunalidades entre os produtos e
possibilitar a variabilidade entre eles. Ao mesmo tempo, como uma arquitetura de software,
precisa atender requisitos de atributos de qualidade. O desafio de atender atributos de
qualidade em sistemas únicos (single systems) torna-se ainda mais complicada no contexto de
linhas de produto porque a variabilidade pode ocorrer também nos atributos de qualidade.
A variabilidade em atributos de qualidade é uma questão complexa. Entretanto, ela tem sido
negligenciada ou ignorada pela maioria dos pesquisadores, uma vez que as atenções têm se
mantido no alcance da variabilidade funcional. O foco deste trabalho é definir um processo
para o design de arquiteturas de linhas de produto de software que possa lidar de forma eficaz
com variabilidade em atributos de qualidade. O processo aprimora o RiPLE-Design com
atividades e guias para o design com variabilidade de atributos de qualidade. Por fim, um
estudo experimental é apresentado com o intuito de caracterizar e avaliar as melhorias
propostas ao processo
|
44 |
Using multiple case studies to understanding the product derivation process in industrial settingsSouza, Leandro Oliveira de 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:00:54Z (GMT). No. of bitstreams: 2
arquivo7075_1.pdf: 5003439 bytes, checksum: 070d65264679c7bfd03fc912be7cc61f (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / A indústria de software tem sido cada vez mais desafiada a melhorar suas praticas de
engenharia com o objetivo de oferecer produtos de forma mais rápida e confiável. Assim,
as práticas de desenvolvimento de software sofreram significativas mudanças nos últimos
anos, uma vez que novas e acessíveis estratégias tem sido aplicadas de forma a alcançar
tal desafio.
Neste contexto, Engenharia de Linhas de Produto de Software surgiu como uma
estratégia de engenharia de software destinada a fornecer à indústria oportunidades para
alcançar os objetivos de negócio acima mencionados. No entanto, para garantir o retorno
do investimento com uma abordagem de Linhas de Produto de Software, um processo de
derivação de produtos bem definido é muito importante. Sem esse processo, os produtos
podem ser instanciados de maneira não sistemática, aumentando o tempo e o custo de
produção.
Por outro lado, mesmo com esta relevância, quando comparado com a grande quantidade
de pesquisas em desenvolvimento sobre linhas de produtos, relativamente poucos
trabalhos tem sido dedicados ao processo de Derivação de Produtos. Alêm disso, ainda
existem poucos relatórios disponíveis sobre como as organizações de desenvolvimento
de software derivam seus produtos a partir de uma linha de produtos, e, em geral, os
existentes têm sido realizados como estudos informais, sem rigor científico suficiente,
tornando difícil a sua repetição e validação.
Assim, esta dissertação tem como objetivo obter uma melhor compreensão sobre como
derivação do produto é realizada e quais práticas são utilizadas na indústria. Reunimos
descobertas através de dois estudos de caso realizados na indústria. Alem disso, as
evidências obtidas a partir dos estudos de caso, foram comparados entre os casos através
da análise Cross-case, com o objetivo de identificar padrões entre eles. A definição do
estudo e relatório foram estruturados com base nas diretrizes consolidadas para estudos
empíricos de acordo com orientações bem definidas, o que permite a replicação dos
estudos e extensão
|
45 |
SPLMT-TE: a software product lines system test case toolLima Neto, Crescencio Rodrigues 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:01:17Z (GMT). No. of bitstreams: 2
arquivo7562_1.pdf: 3512712 bytes, checksum: d7dd3b157b1e7c89309ff683efdc8a2f (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Atualmente a decisão de trabalhar, ou não, com Linhas de Produtos de Software (LPS) se
tornou um requisito obrigatório para o planejamento estratégico das empresas que trabalham
com domínio específico. LPS possibilita que as organizações alcancem reduções
significativas nos custos de desenvolvimento e manutenção, melhorias quantitativas na
produtividade, qualidade e satisfação do cliente.
Por outro lado, os pontos negativos em adotar LPS são demanda extra de investimentos
para criar os artefatos reusáveis, fazer mudana¸s organizacionais, etc. Além disso, teste
é mais complicado e crítico em linhas de produtos do que em sistemas simples. Porém,
continua sendo a forma mais efetiva para garantia de qualidade em LPS.
Por isso, aprender a escolher as ferramentas certas para teste em LPS é um benefício
que contribui pra redução de alguns desses problemas enfrentados pelas empresas.
Apesar do crescente número de ferramentas disponíveis, teste em LPS ainda necessita
de ferramentas que apoiem o nível de teste de sistema, gerenciando a variabilidade dos
artefatos de teste.
Neste contexto, este trabalho apresenta uma ferramenta de teste de linhas de produtos
de software para construir testes de sistema a partir dos casos de uso que endereçam
desafios para teste em LPS identificados na revisão literária. A ferramenta foi desenvolvida
com o intuito de reduzir o esforço necessário para realizar as atividades de teste
no ambiente de LPS.
Além disso, esta dissertação apresenta um estudo exploratório sistemático que tem
como objetivo investigar o estado da arte em relação a ferramentas de teste, sintetizando as
evidências disponíveis e identificar lacunas entre as ferramentas, disponíveis na literatura.
Este trabalho também apresenta um estudo experimental controlado para avaliar a eficácia
da ferramenta proposta
|
46 |
Bellatrix : um ambiente para suporte arquitetural ao desenvolvimento baseado em componentes / Bellatrix : an environment for providing architectural support to component-based developmentTomita, Rodrigo Teruo 28 July 2006 (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-07T08:32:32Z (GMT). No. of bitstreams: 1
Tomita_RodrigoTeruo_M.pdf: 1541819 bytes, checksum: d7021974c65c2128adcf055870fd8c95 (MD5)
Previous issue date: 2006 / Resumo: O desenvolvimento baseado em componentes (DBC), que se baseia na construção de software através da integração planejada de componentes reutilizáveis, tem conquistado ampla aceitação para o desenvolvimento de sistemas de software. O desenvolvimento centrado na arquitetura de software _e complementar ao DBC, com a responsabilidade pela integração dos componentes de forma que atributos de qualidade, como confiabilidade e distribuição, desejados para o sistema final sejam obtidos. Assim, processos de DBC também devem ser centrados na arquitetura de software, possibilitando um maior grau de abstração, organização, manutenibilidade e reuso. Para possibilitar a automatização de tarefas e aumentar a produtividade no uso dos conceitos de arquitetura de software e DBC, são necessárias ferramentas que apóiem atividades de arquitetos e desenvolvedores de software. Os ambientes integrados de desenvolvimento existentes atualmente apóiam, em geral, a modelagem UML e a implementação de componentes e de sistemas orientados a objetos. Entretanto, eles não apóiam a prática de modelagem de arquiteturas de componentes e DBC. Ferramentas para modelagem de arquiteturas de software existentes não dão suporte ao mapeamento da arquitetura para código, possuem um foco específico na modelagem e não são apoiadas por um processo de desenvolvimento. Nesse trabalho é proposto o ambiente Bellatrix, um ambiente integrado de desenvolvimento que apóia o DBC com ênfase na arquitetura de software e estende o ambiente integrado de desenvolvimento Eclipse. O ambiente pode ser usado em conjunto com um processo de DBC e utiliza o COSMOS, um modelo de implementação de componentes que faz o mapeamento dos conceitos de arquiteturas de software para linguagens de programação orientadas a objetos. Este trabalho se concentra na especificação e projeto do ambiente Bellatrix, partindo de seus requisitos e protótipos de interface com usuário. Seus principais componentes foram especificados, bem como um modelo de implementação dos mesmos, integrando o modelo COSMOS ao ambiente Eclipse. Uma primeira implementação do ambiente contendo suas principais funcionalidades foi desenvolvida / Abstract: Component-based development (CBD), which is based on the assembly of software systems through planned integration of reusable components, is gaining wide acceptance for developing software systems. Software architecture centric development complements the CBD paradigm because it is responsible for the component integration, achieving the final system's desired quality requirements, such as dependability and distribution. Thus, CBD processes should also be software architecture centric, promoting a higher abstraction level, system organization, maintainability, and reuse. In order to allow tasks automation and increase the productivity in using software architecture and CBD concepts, tools that support architects and software developers are needed. Most of the existing integrated development environments support UML modeling, object-oriented and component implementation. However, many of them do not support the practice of component architecture and CBD modeling. Existing software architecture modeling tools lack the ability to translate the architecture to code, have a specific focus on modeling, and are not guided by a development process. In this work, we describe the Bellatrix environment, an integrated development environment that supports CBD with emphasis on software architecture and extends the Eclipse integrated development environment. The proposed environment can be guided by a CBD process and uses COSMOS, a component implementation model that materializes the elements of a software architecture using the concepts available in object-oriented programming languages. This work focuses on the general description of Bellatrix, starting from its requirements and user interface prototypes. Its main components has been specified, as well as an implementation model integrating the COSMOS model with the Eclipse environment. An initial version containing basic functionalities has been developed. / Mestrado / Sistemas de Informação / Mestre em Ciência da Computação
|
47 |
Uma infra-estrutura de suporte a evolução para repositorios de componentes / An infrastructure to support evolution in component repositoriesTizzei, Leonardo Pondian, 1980- 03 February 2007 (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-08T19:35:35Z (GMT). No. of bitstreams: 1
Tizzei_LeonardoPondian_M.pdf: 1173368 bytes, checksum: dd09b9de9a47db9f4f82b8f63dcf35a7 (MD5)
Previous issue date: 2007 / Resumo: No contexto do Desenvolvimento Baseado em Componentes(DBC), o elo de ligação entre desenvolvedores e consumidores de componentes de software são os repositórios de componentes, onde eles são adicionados por seus desenvolvedores e recuperados pelos integradores de sistemas. Considerando um cenário de evolução, onde componentes são modificados, são imprescindíveis modelos de evolução de componentes para definir uma abordagem sistemática de mudanças. Elas podem ocorrer, por exemplo, na especificação ou implementação de um componente e o repositório de componentes deve dar apoio à evolução uma vez que ela é parte inerente do processo de desenvolvimento de software. Contudo, assim como o software, modelos de evolução são modificados para acompanhar o desenvolvimento tecnológico e as necessidades de seus usuários. Além disso, diferentes produtores de componentes podem possuir modelos distintos. Este trabalho apresenta uma infra-estrutura de suporte à evolução em um repositório
de componentes, para apoiar serviços de DBC, como a conversão de componentes para outros modelos de implementação, extração de metainformação de código-fonte de componentes, evolução de componentes e verificação de modelos de implementação de componentes. No caso particular desta dissertação, o repositório de componentes escolhido é o Rigel, que foi estendido para dar suporte à evolução de componentes. O repositório Rigel oferece as condições necessárias para adoção de um modelo de evolução de componentes, através da utilização de um padrão de metadados de componentes chamado RAS. Ferramentas de software ajudam a aumentar a produtividade de desenvolvedores e evitar tarefas repetitivas. Além disso, atividades de modificação são sujeitas a erros humanos. Portanto, foram desenvolvidas quatro ferramentas para dar suporte ao modelo de evolução SACE e ao modelo de implementação de componentes COSMOS. As ferramentas foram construÍdas com base em um framework de componentes baseado em regras que usa um motor de inferência chamado Drools. Este framework de componentes externaliza as regras da aplicação, garatindo uma maior modificabilidade, característica que é essencial para que as ferramentas possam evoluir em conformidade com os modelos apóiam / Abstract: In the Component-Based Development (CBD), the link between software component developers and consumers are component repositories where software components are checkedin by their developers and checked-out by their systems integrators. Considering an evolution scenario, when components are modified, it is essential component evolution models in order to define a systematic approach to component changes. These modifications can occur, for instance, in the component specification and implementation, and component repositories should support these kind of evolutions. However, component evolution models
themselves can be modified to follow technological development and different user's needs. Furthermore, different component producers may also have distinct models. This work presents an infrastructure to support evolution in component repositories,
to support various CBD services, such as component conversion to other implementation models, extraction of metainformation from the source code of components, component evolution and check implementation models. Particularly, in this work, the component
reposítory chosen was Rigel (developed at IC-UNICAMP), which was extended to support component evolution. The Rigel repository provides necessary conditions to adopt a component evolution model, by using an extensibIe component metadata pattern called
RAS specification. Software tools heIp to increase developer's productivity and to avoid repetitive tasks. Furthermore, human modification activities are error prone. Therefore, we have developed four tools to support the SACE evolution model and the COSMOS component implementation model. These tools were developed using a rule-based framework which is based on an inference engine called Drools. This component framework is important to externalize the application rules, to guarante a greater modifiability, which is essential for the evolution of the tools in conformity with the models they support / Mestrado / Mestre em Ciência da Computação
|
48 |
Towards a Mobile Learning Software EcosystemPettersson, Oskar January 2011 (has links)
The ability to carry communication services around, combined with the ubiquitous presence of computing technology, affects everything we do from how we pay for things to how we expect to interact with public institutions such as schools. There are now plenty of systems that convey education by utilizing mobile devices. As an extension of technology moving towards ubiquity, there are efforts aiming to bring this to an educational use as well. Efforts in this direction are channelized in the field of mobile learning. The speed of technological development, and the possibilities it brings introduces a large number of challenges when implemented in educational settings. These challenges can be related to for example pedagogical aspects, tools, implementations and organizations. Recent developments including the notions of learning ecosystems, learning landscapes and organizations suggest that the domain of mobile learning can be negatively affected from the lack of a systematic reuse approach. This thesis pursues these challenges by investigating how systematic reuse can be promoted in mobile learning systems. A collection of five peer-reviewed publications that elaborates on the different stages of the research process pursuing the main research question forms the core of this thesis. This research process includes a survey stage, elaborating on different aspects related to reuse and mobile learning, an analysis stage that resulted in a descriptive model and several additional domain models; and finally a stage where the descriptive model is refined into a reference model for mobile learning ecosystems. The outcomes of these activities and the analysis of these results provide some fundamental building blocks regarding how to approach the challenge of reuse in mobile learning systems. The proposed reference model can be considered as the first step towards the creation of a common vocabulary that can be used to compare Software Ecosystems within the domain of mobile learning.
|
49 |
A consignment library of reusable software components for use over the World-Wide WebHicklin, R. Austin 20 January 2010 (has links)
This research project report discusses the development of a commercial,
consignment-based library (a) of reusable software components to be accessed using the
World-Wide Web. The research project consists of two parts: the development of a
prototype system that provides interface and information retrieval functionality for
such a system, and an analysis of the technical and business issues involved in making
the library operational as a commercial entity.
<p>The prototype system uses a hypertext browser and a query-based search
mechanism to access descriptions of reusable software components; these descriptions
are structured by a variation of a faceted classification system. The issues addressed
include the classification and description of reusable software components; methods of
retrieval, especially library browsing methods based on component classification; and
analysis of incentives for reuse. / Master of Science
|
50 |
Reuse in Self-Adaptive Software Systems: A Literature Review / Återanvändning i Självadaptiva Programvarusystem: En litteraturöversiktDirnfeld, Ruth January 2021 (has links)
Software engineers and researchers in the field are constantly developing new technologies to manage the complexity of current software systems. There is an increasing need for mechanisms that can deal with dynamics in the systems' environment, goals, and requirements. Self-adaptive software systems are a solution to manage the complexity caused by dynamics or runtime variations. Software reuse is a classical solution to deal with complexity and increase the quality of a system in a systematic and efficient way. Despite the large amount of research on self-adaptation, no systematic study has been found, which surveys and reports the application of reuse methods and techniques for the development of self-adaptive software systems. A systematic analysis of reuse methods and techniques for the development of self-adaptive systems is interesting as it provides useful insights for researchers and practitioners in the self-adaptive area. This study systematically reviews relevant research work published between the years 2000 and 2020 at eight well-known venues on self-adaptation and software engineering. By following the systematic literature review method, 97 studies were reviewed and 40 primary studies identified for addressing the research questions. The main objectives of the review are 1) to collect and analyse the reuse-based methods studied and applied for the design and development of self-adaptive software systems, 2) analyse the challenges in the application of reuse-based methods for the development of self-adaptive software systems. The review shows that most of the analysed studies support reuse with component-based software engineering. The primary studies propose different reuse-based methods to allow faster and simpler development of self-adaptive systems. Furthermore, the analysis shows that the reviewed studies report several challenges related to the configuration process, design, performance and uncertainty in the application of reuse methods for the development of self-adaptive systems.
|
Page generated in 0.0409 seconds