Escolar Documentos
Profissional Documentos
Cultura Documentos
net/publication/267826189
Article
CITATIONS READS
2 177
3 authors:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Investigating the Identification of Technical Debt through Code Comment Analysis View project
All content following this page was uploaded by Guilherme Horta Travassos on 24 November 2014.
1. Introdução
A engenharia de software busca apoiar o desenvolvimento de sistemas de software dentro de
prazos, custos e níveis de qualidade previamente estabelecidos [Pfleeger 2007]. Entretanto,
de acordo com Kitchenham et al. (2004), a utilização de processos com qualidade por
engenheiros de software não é condição suficiente para a melhoria da qualidade no
desenvolvimento. Isto por que o desenvolvimento é dependente de tecnologias que muitas
vezes não apresentam evidências suficientes sobre potenciais benefícios, limitações, custo de
implantação e riscos associados. Para lidar com isto, Kitchenham et al. (2004) indicam que o
uso de evidência permitiria a caracterização de uma tecnologia antes de sua adoção em
projetos de software na indústria de forma que fosse possível determinar com níveis
razoáveis de segurança a viabilidade de sua utilização considerando cenários específicos de
uso.
Desta forma, minimizar os riscos na introdução de novas tecnologias na indústria
pode ser considerado um fator importante para a evolução da engenharia de software como
ciência. Neste contexto, Shull et al. (2001) propuseram uma abordagem para a introdução de
processos de software na indústria através dos quais novas tecnologias podem ser inseridas.
Tal abordagem apresenta uma série de questões que devem ser tratadas durante a avaliação
dos processos de software, assim como os tipos de estudos experimentais que contemplam
essas questões. Sua aplicação possibilita uma introdução gradativa da tecnologia em
aplicações industriais o que permite a realização de estudos intermediários e com diferentes
níveis de controle e, conseqüentemente, de abrangência de seus resultados.
Entretanto, esta metodologia não contempla a etapa da definição de uma tecnologia de
software. Ela parte do princípio de que já existe uma versão inicial da tecnologia a ser
avaliada. Neste sentido, Mafra et al. (2006) estenderam a metodologia proposta por Shull et
al. (2001) através da introdução de uma abordagem formal baseada em estudos secundários
para a identificação de evidência existente na literatura técnica como apoio à concepção de
novas tecnologias de software. Desta forma, através da condução de revisões sistemáticas,
seria possível identificar e caracterizar o grau de evidência experimental existente na área, e
como conseqüência, eventuais dificuldades e incertezas que povoam o processo de definição
de uma nova tecnologia poderiam ser minimizadas.
Embora o uso de estudos secundários (revisões sistemáticas) traga benefícios ao
desenvolvimento de novas tecnologias através da identificação das evidências geradas,
caracterizando assim o estado da arte em uma determinada área de pesquisa [Kitchenham et
al., 2004] [Mafra et al., 2006], ainda não permite capturar um questionamento importante a
respeito de tal evidência: “Qual a opinião de especialistas da área em relação às evidências
obtidas?”. A resposta para essa pergunta é um ponto essencial para a continuidade do
desenvolvimento de tal tecnologia. Para lidar com esta questão, a abordagem definida em
[Mafra et al., 2006] pode ser evoluída de duas formas a fim de se obter ao final um corpo de
conhecimento mais consolidado e abrangente para apoiar pesquisas em um campo de
conhecimento:
transformar a execução dos estudos secundários em um processo mais interativo onde,
ao término da análise da cada estudo, é feita uma avaliação sobre a necessidade de
refinamento e execução de uma revisão da literatura complementar;
utilizar estudos primários na avaliação do conhecimento, organizado através dos
resultados obtidos com a execução de estudos secundários, através da participação de
pesquisadores externos que atuam na mesma linha de pesquisa.
Neste contexto, este artigo apresenta uma abordagem definida a partir da proposta
presente em [Mafra et al., 2006] que faz uso de estudos secundários e primários no apoio à
concepção de novas tecnologias. Ao longo deste artigo, esta abordagem é apresentada e
exemplificada considerando seu apoio em duas áreas distintas da engenharia de software:
Computação Ubíqua (Ubicomp) e Testes Baseado em Modelo (TBM). A partir disso, são
discutidas as dificuldades, riscos e benefícios observados a partir da aplicação desta
abordagem nos cenários descritos.
Além desta introdução, este artigo possui mais 5 seções. Na seção 2 é apresentada a
abordagem baseada em estudos secundários e primários. Em seguida, são apresentados dois
relatos de experiência de sua aplicação no contexto de Ubicomp (seção 3) e TBM (seção 4).
A seção 5 apresenta as lições aprendidas com o uso da abordagem com foco em dificuldades,
riscos e benefícios. Por fim, a seção 6 apresenta as considerações finais deste trabalho.
Referências Bibliográficas
Biolchini, J., Mian, P.G., Natali, A.C.C., Travassos, G.H. (2005). “Systematic Review in Software
Engineering”. Technical Report ES 679/05. COPPE/UFRJ.
Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., and Khalil, M. (2007). Lessons from
applying the systematic literature review process within the software engineering domain. J. Syst.
Softw. 80, 4 (Apr. 2007), 571-583.
Dias-Neto, A.C.; Travassos, G.H.; (2008a), “Estratégia para Apoiar a Seleção de Abordagens de Teste
Baseado em Modelos para Projetos de Software”, No: VII SBQS, Florianópolis, SC, Junho.
Dias-Neto A.C., Travassos, G.H., (2008b); “Surveying on Model Based Testing Approaches
Characterization Attributes”, No: 2nd ESEM, Outubro, Kaiserslautern, Germany, 2008.
Dias-Neto A.C.; Subramanyan, R.; Vieira, M.; Travassos, G.H.; Shull, F. (2008), “Improving
Evidence about Software Technologies: A Look at Model-Based Testing”, IEEE Software, Vol.
25, Issues 3, pp 10-13, Maio.
Kitchenham, B., Dybå, T., Jorgensen, M. (2004), “Evidence-based Software Engineering”,
Proceedings of the 26th ICSE, Scotland, UK.
Mafra, S.N., Barcelos, R.F., Travassos, G.H. (2006), Aplicando uma Metodologia Baseada em
Evidência na Definição de Novas Tecnologias de Software. No: XX SBES, pp. 239-254.
Niemela, E., Latvakoski, J. (2004), “Survey of requirements and solutions for ubiquitous software”,
No: 3rd Int. Conf. on Mobile and Ubiquitous Multimedia, p.71-78, Oct. 27-29, College Park,
Maryland.
PFleeger, S. Software Engineering: Theory and Practice. Third Edition. Prentice Hall 2005.
Shull, F., Carver, J., Travassos, G. (2001) “An Empirical Methodology for Introducing Software
Processes”, No: Joint 8th ESEC and 9th ACM SIGSOFT FSE-9, pp. 288-296.
Sakamura, K. (2006) “Challenges in the Age of Ubiquitous Computing: A Case Study of T-Engine,
An Open Development Platform for Embedded Systems”. No: 28th ICSE, China. pp: 713-720.
Spínola, R.O., Silva, J.L.M., Travassos, G.H. (2007) “Checklist to Characterize Ubiquitous Software
Projects”. No: XXI SBES, João Pessoa, Brasil.
Spínola, R.O., Pinto, F.C.R., Travassos, G.H. (2008) “Supporting Requirements Definition and
Quality Assurance in Ubiquitous Software Project”. No: 3rd ISOLA, Tessalônica, Grécia.
Vegas, S.; Basili, V. (2005), “A Characterization Schema for Software Testing Techniques”,
Empirical Software Engineering, v.10 n.4, pp.437-466, Outubro.
Weiser, M. “The Computer for the 21st Century”. Scientific American 1991, pp. 94-104.