Projeto Final by Aira Tomaz 93 views
1. Explorando a Engenharia de Requisitos Orientada a Serviços: Uma Revisão Sistemática da Literatura Keith S. Souza, Marcelo Fantinato Escola de Artes, Ciências e Humanidades – Universidade de São Paulo !"#$%&'()*+,%$,+%-./012)34 Abstract. This paper presents the results of a systematic literature review on works published in the Service-oriented Requirements Engineering (SORE) area. Due to the dynamism that services-oriented environments have, because of their features of interoperability among heterogeneous environments, it is necessary the creation of new techniques in order to elicit, analyze, specify, negotiate, manage and verify requirements. The methodology of this systematic review classified the primary studies according to three main concepts: aspects related to electronic services, aspects related to traditional requirements engineering and emerging aspects related to SORE. The review identified 52 primary studies and classified them in these three concepts. The results point up the growth of the number of published works on SORE in recent years as well as evidences some research gaps and tendencies. Resumo. Este artigo apresenta os resultados de uma revisão sistemática da literatura sobre trabalhos publicados a respeito de engenharia de requisitos orientada a serviços (Service-oriented Requirements Engineering – SORE). Com o dinamismo que ambientes orientados a serviços trazem por suas características de interoperabilidade em ambientes heterogêneos, faz-se necessária a criação de novas formas de elicitar, analisar, especificar, negociar, gerenciar e verificar requisitos. A metodologia desta revisão sistemática classificou os estudos selecionados segundo três dimensões conceituais: aspectos de serviços eletrônicos, aspectos relacionados à engenharia de requisitos tradicional e aspectos emergentes de SORE. Foram identificados 52 estudos primários, classificados nessas três dimensões. Os resultados encontrados apontam para o crescimento de trabalhos em SORE nos últimos anos, além de evidenciar as lacunas e tendências de pesquisas. 1. Introdução Recentemente, as organizações tem vivenciado um ambiente de negócios altamente dinâmico, no qual as necessidades mudam com maior frequência devido à alta concorrência [Laudon e Laudon 2011]. Portanto, juntamente com as mudanças organizacionais, os sistemas de informação devem adequar-se rapidamente às diferentes realidades dentro da organização para continuarem agregando valor. O recente paradigma de Computação Orientada a Serviços (SOC – Service-oriented Computing) usa serviços como construtores básicos a fim de apoiar o desenvolvimento rápido, de baixo custo e de fácil composição de aplicações distribuídas mesmo que estas estejam em ambientes heterogêneos [Papazoglou et al. 2008]. A partir do paradigma SOC, a Arquitetura Orientada a Serviços (SOA – Service-oriented Architecture) surge como uma forma lógica de projetar sistemas sob o paradigma SOC, isso é, provendo serviços 272
2. distribuídos por meio de interfaces de descoberta e publicação de serviços [Papazoglou et al. 2008]. Dentro desse contexto, o desenvolvimento de serviços ocorre normalmente por meio de técnicas já existentes. No entanto, o desenvolvimento de novas técnicas de engenharia de software específicas para serviços torna-se necessário, visto que as atuais técnicas não consideram as particularidades de ambientes SOC [Bano e Ikram 2010]. A partir dessa necessidade, surgiu então uma disciplina que baseia-se no paradigma SOC, e une-se a engenharia de sistemas. Esta disciplina, conhecida como Engenharia de Sistemas Orientada a Serviços (SOSE – Service-oriented System Engineering), aponta para o desenvolvimento disciplinado, sistemático e quantificado de sistemas SOC [Gu e Lago 2009]. Considerando o paradigma SOC, a disciplina Engenharia de Requisitos Orientada a Serviços (SORE – Service-oriented Requirements Engineering) trata da definição de processos para captar os requisitos de serviços tanto do ponto de vista de consumidores de serviços quanto de fornecedores de serviços [Lamsweerde 2000]. Lamsweerde (2000) aponta para a necessidade de novas técnicas, metodologias e processos em engenharia de requisitos considerando ambientes SOC. Nas pesquisas elaboradas por Papazoglou et al. (2008) e Kontogiannis et al. (2007), a engenharia de software em ambientes SOC é colocada como um desafio ainda a ser resolvido. Gu e Lago (2009) indicaram o aumento do número de trabalhos publicados entre 2006 e 2009 que abordavam os desafios relacionados à engenharia de requisitos no paradigma SOC. Dentro desse contexto, este artigo apresenta uma Revisão Sistemática da Literatura (RSL) que elenca as pesquisas em SORE segundo três dimensões conceituais: serviços eletrônicos, engenharia de requisitos tradicional e SORE. Além disso, esta RSL apresenta uma discussão sobre as lacunas encontradas e, também, sobre a maturidade de SORE considerando o Hype Cycle [Gartner 2012] com o intuito de orientar a comunidade científica sobre as tendências acerca dessa área de pesquisa. Este artigo está estruturado como segue: a Seção 2 apresenta uma visão geral sobre conceitos relacionados a esta RSL; a Seção 3 aborda a metodologia usada na RSL; na Seção 4, a avaliação dos estudos primários incluídos é apresentada; os resultados são apresentados na Seção 5; na Seção 6, as ameaças à validade desta RSL são discutidas; e a conclusão é apresentada na Seção 7. 2. Visão Geral da Literatura em SORE Esta seção apresenta uma visão geral sobre os principais conceitos relacionados a esta RSL e os trabalhos que estão ligados a este estudo. 2.1. Conceitos Gerais Uma pesquisa financiada pela instituição Gartner [Altman 2011] afirma que, em 2015, 80% dos sistemas desenvolvidos por organizações de médio e grande porte serão composições de outros sistemas. Isso indica uma tendência de distribuição geral dos serviços de tecnologia da informação e sistemas de informação. Portanto, SOC e SOA aparecem para apoiar o desenvolvimento rápido, de baixo custo e de fácil composição de aplicações distribuídas, mesmo em ambientes heterogêneos [Bano e Ikram 2010]. A engenharia de requisitos tradicional pode ser dividida em seis fases distintas [Sommerville 2010]: elicitação, análise, especificação, gerenciamento, negociação e verificação de requisitos. Outros autores, ainda, classificam a engenharia de requisitos 273
3. segundo sua orientação, que pode ser baseada em [Jin, Liu e Jin 2008]: processos, ontologias, metas, domínios e agentes. No entanto, em geral, as abordagens de engenharia de requisitos tradicional não abrangem, em plenitude, as necessidades e particularidades de ambientes SOC, segundo Tsai et al. (2007). Portanto, SORE surge com o intuito de definir processos e metodologias considerando o desenvolvimento de aplicações baseadas em serviços. As abordagens em SORE devem considerar a captação de requisitos segundo duas perspectivas distintas: consumidor de serviços e fornecedor de serviços. Essas duas perspectivas requerem metodologias e processos de engenharia de requisitos distintas. Isso porque, na primeira perspectiva, o envolvimento dos stakeholders de uma área de negócios específica é necessária; enquanto que, na segunda perspectiva, o serviço é desenvolvido segundo os requisitos elicitados de um setor de negócios genérico podendo envolver stakeholders de diferentes organizações [Lamsweerde 2000]. Segundo Tsai et al. (2007), SORE deve considerar também o reúso dos artefatos de software e a evolução de requisitos em tempo de execução. 2.2. Trabalhos Relacionados A revisão da literatura - elaborada por Kontogiannis et al. (2007) - apontou uma agenda de pesquisa em SOA. Dentre outros tópicos, esse estudo caracterizou SORE como um dos tópicos a ser explorado pela comunidade científica nos anos seguintes. Já a pesquisa do tipo survey - elaborada por Papazoglou et al. (2008) - abordou o estado da arte e os principais desafios em SOC. Esse estudo apontou SOSE como um tópico inexplorado na época. Uma RSL foi conduzida por Gu e Lago (2009) acerca dos desafios listados na literatura sobre SOSE. Os autores desse estudo classificaram os desafios encontrados em tópicos e temas. Essas duas classificações cruzavam-se dando uma dimensão do estado da arte de SOSE. A RSL de Gu e Lago (2009) indicou que o número de artigos publicados que tratavam especificamente de desafios em SORE teve crescimento significativo comparado a outros entre os anos de 2006 até 2009. Os estudos mencionados não pontuam sistematicamente quais são as soluções em SORE propostas na literatura e quais os elementos que as diferem das soluções em engenharia de requisitos tradicional. Sendo assim, esses são os elementos diferenciais nessa RSL apresentada neste artigo. 3. Metodologia Uma RSL busca identificar, avaliar e interpretar todas as pesquisas disponíveis, chamados de estudos primários, segundo um conjunto de questões de pesquisa, um tópico ou um fenômeno de interesse [Kitchenham 2007]. Uma RSL difere de uma revisão da literatura simples ou de um survey por ser um estudo replicável, científico e transparente, evitando assim os vieses. As questões de pesquisa que direcionaram a extração de dados dos estudos primários e o protocolo elaborado para a condução desta RSL são descritos nas próximas subseções. 3.1. Questões de Pesquisa A seguir, são apresentadas as questões de pesquisa elaboradas para esta RSL: Q1: Quais tipos de trabalhos relacionados a SORE tem sido apresentados na literatura, incluindo: metodologias de apoio a SORE, técnicas de modelagem de requisitos, técnicas de reúso de artefatos de engenharia de requisitos e aspectos gerais em SORE? 274
4. Q2: Quais fases da engenharia de requisitos tradicional (elicitação, análise, especificação, negociação, gerenciamento e verificação), de acordo com Sommerville (2010), tem sido cobertas nas abordagens de SORE? Q3: As técnicas de engenharia de requisitos apresentadas nas abordagens de SORE podem ser classificadas segundo os tipos de orientação (processos, ontologias, metas, domínios e agentes) propostos por Jin, Liu e Jin (2008)? Q4: Quais perspectivas de serviços (fornecedor de serviço ou consumidor de serviço) tem sido consideradas pelas técnicas de engenharia de requisitos apresentadas nas abordagens de SORE? Q5: Os trabalhos que apresentam abordagens de SORE tem considerado a evolução de requisitos em tempo de execução citados por Tsai et al. (2008)? Q6: Qual o nível de maturidade da disciplina SORE na literatura acadêmica segundo a curva Hype Cycle do Gartner (2012)? 3.2. Protocolo da Revisão Sistemática da Literatura O protocolo usado nesta RSL, descrito a seguir, foi elaborado com base nas diretrizes apresentadas por Kitchenham (2007) bem como nas observações de Biolchini et al. (2005). Fontes de Dados: Com o intuito de abranger os estudos mais relevantes sobre SORE, considerou-se como fonte de dados duas bases indexadas: Scopus e ISI Web of Science. Estratégia de Busca: Baseado nas questões de pesquisa, a seguinte string de busca foi definida para ser aplicada às bases indexadas: ("service-oriented requirement engineering" OR "sore" OR "requirement engineering") AND ("service oriented" OR "service orientation" OR "web service*" OR "electronic service*" OR "e-service*"). Seleção de Estudos Primários: Muitos dos estudos buscados contém as palavras-chave definidas na estratégia de busca, entretanto, são irrelevantes para as questões de pesquisa desta RSL. Portanto, é necessário, a partir de critérios de inclusão e exclusão, definir quais destes estudos devem ser considerados para responder as questões de pesquisa. A Tabela 1 apresenta os critérios de inclusão e exclusão considerados nesta RSL. Extração de Dados: Para armazenar e organizar as referências dos estudos primários, a ferramenta MyEdnoteWeb foi usada. A extração de dados se consistiu em quatro etapas: (i) identificação dos estudos relevantes a partir da busca nas bases indexadas, chegando a 286 estudos candidatos; (ii) identificação dos estudos primários relevantes segundo os critérios de inclusão e de exclusão, filtrando para 48 estudos primários dos 286 iniciais; (iii) identificação de estudos primários indicados por especialistas, finalizando em 52 estudos primários identificados por esta RSL; e, (iv) identificação dos conceitos mencionados nas questões de pesquisa. As etapas mencionadas foram adaptadas das 275
5. propostas por Chen, Ali Babar e Ali (2009). Na primeira etapa, somente o resumo dos estudos primários foram revisados, enquanto que nas outras etapas os estudos foram lidos na íntegra. Tabela 1. Critérios de inclusão e exclusão Critérios de Inclusão Critérios de Exclusão CI.1: Foram incluídos apenas os estudos primários fortemente ligados aos termos buscados e ao escopo desta RSL; aqueles meramente mencionando os termos buscados não foram considerados nesta RSL. CI.2: Foram incluídos todos os estudos primários que abordam metodologias de apoio a SORE, técnicas de modelagem de requisitos, técnicas de reúso de artefatos de engenharia de requisitos e aspectos gerais em SORE CI.3: Foram incluídos os estudos primários adicionais indicados por especialistas, mesmo não selecionados pela string de busca, desde que respeitando os demais critérios de inclusão e de exclusão. CE.1: Foram excluídos todos os registros que não estavam disponíveis eletronicamente na web. CE.2: Foram excluídos todos os registros que não são considerados trabalhos científicos revisados por pares, incluindo: relatórios técnicos, livros, capítulos de livros, editoriais, prefácios, etc. CE.3: Foram excluídos todos os registros que não estavam escritos totalmente em inglês. CE.4: Foram excluídos os registros no contexto de engenharia de requisitos, mas cujo foco era exclusivamente sistemas complexos, chamados networked software, não tratando das particularidades de ambientes orientados a serviços. CE.5: Foram excluídos os registros no contexto de engenharia de requisitos, mas cujo foco era exclusivamente computação em nuvem e não o desenvolvimento de serviços eletrônicos. 4. Visão Geral dos Estudos Primários Identificados De acordo com a Figura 1, houve um aumento significativo nos trabalhos publicados em SORE de 2000 a 2012. Os mínimos globais ocorreram em 2001 e 2002 com nenhuma publicação. Em contrapartida, o máximo global deu-se em 2010 com 11 trabalhos, que correspondem a 21% do total de estudos primários selecionados. A Figura 1 também destaca uma queda nas publicações a partir de 2010, de 11 para 7 e 6 trabalhos nos anos de 2011 e 2012, respectivamente. Figura 1. Número de estudos primários por ano de publicação Na Figura 2 (à esquerda), é possível observar que o ciclo de trabalhos em SORE pode ter atingido seu nível máximo de expectativas exageradas em 2010, tendo atingido seu máximo global do período. É possível que o número de trabalhos em SORE esteja caminhando para um vale de desilusão, como exemplificado na Figura 2 (à direita). Quanto ao tipo de publicação, prevaleceram os trabalhos publicados em conferências, com 35 trabalhos, representando 67%. De 2009 a 2012 houve um aumento significativo de trabalhos em periódicos. De 2000 a 2008, eram apenas 3 trabalhos; já, no quadriênio 2009 a 2012, o número de trabalhos em periódicos passou para 7, correspondendo à 23% do total de estudos primários no período (vide Figura 1). 276
6. Figura 2. Hype Cycle: SORE (esquerda) e modelo genérico [Gartner 2012] (direita) A RSL de Gu e Lago (2009) aponta que a maturidade na pesquisa de alguns tópicos em SOSE serve de insumo para novas discussões em outros tópicos ainda não explorados. Problemas tecnológicos de interoperabilidade resolvidos pelas linguagens padrões de Serviços Web, bem como o desenvolvimento de ferramentas e novos modelos de arquitetura de serviços, facilitam o desenvolvimento de metodologias e técnicas de modelagem em SORE. Sendo assim, tal fato justifica o aumento quantitativo e qualitativos dos estudos publicados relacionados a SORE nos últimos anos. A Tabela 2 lista todos os estudos primários selecionados para esta RSL e identificadores que são usados ao longo da próxima seção. Os identificadores iniciados com C, P e W representam, respectivamente, publicações em conferência, periódico e workshop. As referências detalhadas de cada um dos estudos está disponível em: http://rslsore.sourceforge.net/. Tabela 2. Lista de estudos primários analisados por esta RSL ID - Referência C01 - [Verlaine, Jureta e Faulkner 2011a] C02 - [Verlaine, Jureta e Faulkner 2011b] C03 - [Zhang, Yin e Liu 2011] C04 - [Xiang et al. 2007] C05 - [Hu et al. 2010] C06 - [Wen et al. 2010] C07 - [Yale-Loehr et al. 2010] C08 - [Lee-Klenz, Sampaio e Wood-Harper 2010] C09 - [Liu, He e Zhang 2008] C10 - [Hu et al. 2009] C11 - [Liu, He e Zhang 2009] C12 - [Liegl et al. 2009] C13 - [Gordin, Kinderen e Wieringa 2008] C14 - [Adam e Doerr 2008] C15 - [Lim, Platon e Cox 2008] C16 - [Narendra e Ponnalagu 2007] C17 - [Henkel e Perjons 2011] C18 - [Jureta, Faulkner, Thiran e 2007a] C19 - [Alkkiomäki e Smolander 2007] C20 - [Mahbub e Spanoudakis 2004] C21 - [Tsai et al. 2007] C22 - [Robinson 2003] C23 - [Hartmann et al. 2006] C24 - [Raadt, Gordijn e Yu 2005] C25 - [Ning e Peng 2009] C26 - [Feng et al. 2008] C27 - [Driss et al. 2010] C28 - [Poigaj 2000] C29 - [Flores et al. 2010] C30 - [Jureta, Faulkner, Thiran e 2007b] C31 - [Vijayan e Raju 2011] C32 - [Tian et al. 2007] C33 - [Hussein et al. 2012] C34 - [Luthria et al. 2008] C35 - [Zhao, Cai e Jin 2010] P01 - [Adam et al. 2012] P02 - [Maiden 2006] P03 - [Wang et al. 2009] P04 - [Verlaine et al. 2012] P05 - [Pistore, Roveri e Busetta 2004] P06 - [Lee e Liu 2010] P07 - [He, Wang e Liang 2010] P08 - [Chen e He 2011] P09 - [Lichtenstein, Nguyen e Hunter 2005] P10 - [Liu e Feng 2012] W01 - [Franch et al. 2011] W02 - [Verlaine et al. 2010] W03 - [Wen, Liang e He 2010] W04 - [Gehlert, Bramsiepe e Pohl 2008] W05 - [Pimentel et al. 2012] W06 - [Eck e Wieringa 2003] W07 - [Ralyté 2012] 5. Resultados da Revisão Sistemática da Literatura Nesta seção são destacados os aspectos mais explorados pelos estudos primários identificados, as tendências de pesquisa e as lacunas a serem exploradas pela 277
7. comunidade científica em SORE em função das questões de pesquisa. Para as classificações apresentadas nesta seção, os estudos que não puderam ser classificados com certeza nos determinados tipos ao longo dos resultados nas questões de pesquisa foram devidamente referenciados com os termos nenhum ou outros. Q1: Quais tipos de trabalhos relacionados a SORE tem sido apresentados na literatura, incluindo: metodologias de apoio a SORE, técnicas de modelagem de requisitos, técnicas de reúso de artefatos de engenharia de requisitos e aspectos gerais em SORE? Dos 52 estudos primários selecionados, 48 apresentam abordagens em SORE. Dos quais, seis propõem metodologias de apoio a SORE enquanto 42 tratam de novas técnicas de modelagem de requisitos. O restante dos estudos destinam-se a discutir aspectos gerais relacionados a SORE. Esses trabalhos que discutem aspectos gerais tratam de questões e desafios em SORE. Já aqueles que tratam de metodologias de apoio a SORE procuram unir os aspectos de engenharia de requisitos tradicional e orientação a serviços, a fim de propor uma nova abordagem metodológica em SORE. Enquanto que aqueles que tratam de técnicas de modelagem de requisitos, diferentemente dos trabalhos em metodologia de apoio a SORE, propõem formas de modelagem para resolver problemas específicos dentro de SORE. A Figura 3 ilustra a distribuição desses trabalhos e suas categorias. De 2005 a 2008, os estudos em aspectos gerais em SORE foram explorados. De 2008 até 2012, os trabalhos que trazem abordagens metodológicas passam a ser apresentados na literatura. Já as técnicas de modelagem foram exploradas em todo o período, tendo sua maior concentração em 2010, sendo responsável pelo máximo global de todo o período com 10 publicações. Especificamente em relação às técnicas de reúso de artefatos de engenharia de requisitos, nenhum estudo foi encontrado. A Tabela 3 apresenta a classificação detalhada dos estudos primários segundo os tipos de trabalhos. Figura 3. Tipos de trabalhos distribuídos no período Em relação às técnicas de modelagem de requisitos, parte dos estudos primários apresentam técnicas baseadas em Role, Goal, Process and Service (RGPS). Esse metamodelo prevê papéis para as diversas entidades, metas a serem atingidas e processos de negócios – todos baseados em serviços. Foram identificados cinco trabalhos que propõem modelos para especificação de requisitos baseada em RGPS. Outros três estudos adotam o modelo i* para modelagem em SORE. Cinco trabalhos propõem extensões de técnicas em engenharia de requisitos tradicional, incluindo UML, Tropos e técnicas de modelagem de sistemas baseados em contexto. Sete estudos primários consideraram serviços web como implementação de serviços eletrônicos: BPEL4WS, WSCDL, WSLA e WSDL foram as linguagens citadas. 11 estudos 278
8. primários utilizam ontologias, incluindo OWL, WSMO, CORE e O-RGPS. A Tabela 4 apresenta a relação dessas técnicas em modelagem de requisitos e os estudos primários. Tabela 3. Tipos de trabalhos e seus estudos primários Tipo de Trabalho Estudos Primários Qtde Aspectos Gerais C14 C21 P02 P09 4 Metodologias C12 C13 C29 C31 P01 W07 6 Técnicas de Modelagem de Requisitos C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C15 C16 C17 C18 C19 C20 C22 C23 C24 C25 C26 C27 C28 C30 C32 C33 C34 C35 P03 P04 P05 P06 P07 P08 P10 W01 W02 W03 W04 W05 W06 42 Técnicas de Reúso de Artefatos Não foram encontrados estudos primários. 0 Tabela 4. Técnicas de modelagem e seus estudos primários Tópicos Estudos Primários Conceitos Gerais OWL-S C05 C25 C26 P08 Modelagem de Processos WSMO C01 C02 Ontologias CORE C01 C02 P04 O-RGPS C10 P07 W03 OWL C03 C35 P10 RGPS C03 C05 C10 P08 W03 Metas i* C24 W01 W05 e3 C24 Modelagem de Negócios WSDL C25 P04 W02 Serviços Web WSLA P04 WSCDL P03 BPLE4WS C20 P05 Sistemas baseados em Contexto C33 P10 Engenharia de Requisitos TradicionalTropos P05 UML C19 C33 Requisitos Semânticos C06 C07 C09 C35 W03 Serviços Semânticos Outros C04 C08 C11 C15 C16 C17 C18 C22 C23 C27 C28 C30 C32 C34 P06 W04 W06 Não foram encontrados estudos primários propondo abordagens que reusam os artefatos gerados durante as fases da engenharia de requisitos. Um dos estudos menciona a possibilidade de reúso da especificação de requisitos em sua abordagem [C10]. No entanto, ele não apresenta detalhes de como este reúso ocorre. Portanto, confirmando o fato mencionado em Tsai et al. (2007), o reúso de artefatos em SORE ainda é um ponto aberto na literatura. Q2: Quais fases da engenharia de requisitos tradicional (elicitação, análise, especificação, negociação, gerenciamento e verificação), de acordo com Sommerville (2010), tem sido cobertas nas abordagens de SORE? Não foram encontrados trabalhos com abordagens em SORE que abrangem as cinco fases da engenharia de requisitos tradicional ao mesmo tempo. Nove estudos primários abordam soluções que consideram as três primeiras fases (elicitação, análise e especificação). Apenas um estudo aborda quatro dessas fases: elicitação, análise, especificação e negociação. Um único estudo primário apresenta uma técnica de 279
9. modelagem de requisitos que abrange as três últimas fases: negociação, gerenciamento e verificação. A Tabela 5 apresenta as fases, os estudos primários e suas quantidades demonstrando que pouco esforço tem sido dedicado às fases de negociação e verificação. Em relação à fase de negociação, os dois estudos encontrados são dos anos 2011 e 2012, sugerindo que esta poderá ser uma das fases mais explorada nos próximos anos. Tabela 5. Fases da engenharia de requisitos tradicional e seus estudos primários Fases Estudos Primários Qtde Elicitação C01 C02 C04 C06 C10 C11 C12 C13 C14 C15 C25 C29 C31 C33 P01 P10 W03 W04 18 Análise C01 C02 C05 C06 C08 C09 C10 C11 C12 C14 C15 C16 C17 C24 C27 C28 C29 C31 P01 P07 P08 P10 W03 23 Especificação C01 C02 C05 C06 C07 C08 C12 C14 C15 C18 C19 C20 C23 C26 C27 C29 C30 C31 C35 P01 P03 P04 P05 P06 W02 W04 26 Negociação P01 W01 2 Gerenciamento C03 C08 C16 C18 C20 C22 C30 C32 C33 P03 P07 P10 W01 W03 W05 15 Verificação C20 C22 C34 P05 W01 5 Nenhum C21 P02 P09 W06 W07 5 Q3: As técnicas de engenharia de requisitos apresentadas nas abordagens de SORE podem ser classificadas segundo os tipos de orientação (processos, ontologias, metas, domínios e agentes) propostos por Jin, Liu e Jin (2008)? A Tabela 6 apresenta a distribuição dos estudos primários entre os tipos de orientação em suas abordagens. Há um equilíbrio entre o número de trabalhos que apresentam abordagens baseadas em processos, ontologias e metas (11, 12 e 12 trabalhos respectivamente). Em contrapartida, esses números caem para oito para àquelas abordagens baseadas em domínios. As publicações consideradas como outros usaram outras classificações. Portanto, diante dessa distribuição a classificação sugerida por Jin, Liu e Jin (2008) pode não ser abrangente para as abordagens em SORE. Tabela 6: Orientação das Abordagens em SORE e seus Estudos Primários. Orientação a Estudos Primários Qtde Processos C03 C06 C12 C17 C20 C29 C31 P01 P08 P10 P05 11 Ontologias C01 C02 C04 C05 C25 C26 C35 P04 P07 P08 W02 W03 12 Metas C03 C06 C08 C15 C22 C24 P06 P08 P10 W01 W04 W05 12 Domínio C09 C10 C11 C15 C35 P07 P08 P10 8 Agentes C24 1 Outros C07 C13 C14 C16 C18 C19 C21 C23 C27 C28 C30 C32 C33 C34 P02 P03 P09 W06 W07 19 Q4: Quais perspectivas de serviços (fornecedor de serviço ou consumidor de serviço) tem sido consideradas pelas técnicas de engenharia de requisitos apresentadas nas abordagens de SORE? 16 estudos primários selecionados apresentam abordagens que consideram SORE segundo a perspectiva de fornecedores de serviços. Dentre esses estudos, apenas três consideram somente abordagens segundo essa perspectiva. O restante dos estudos que apontam para a perspectiva de fornecedores de serviços e consumidores de serviços. 38 estudos primários selecionados abordam SORE segundo a perspectiva de consumidores 280
10. de serviços. Desses, 25 consideram tão somente a perspectiva de consumidores de serviços. A Tabela 7 lista as perspectivas e seus estudos primários. Tabela 7. Perspectivas das abordagens em SORE e seus estudos primários Perspectiva Estudos Primários Qtde Apenas Fornecedor P08 P10 P05 3 Apenas Consumidor C01 C03 C05 C06 C07 C08 C10 C11 C13 C15 C17 C18 C20 C28 C29 C30 C31 C33 C34 C35 P01 P04 W02 W03 W05 25 Ambos C02 C12 C14 C16 C21 C22 C25 C26 C27 P06 P07 W04 W07 13 Nenhum C04 C09 C19 C23 C24 C32 P02 P03 P09 W01 W06 11 Q5: Os trabalhos que apresentam abordagens de SORE tem considerado a evolução de requisitos em tempo de execução citados por Tsai et al. (2008)? 25% dos estudos primários selecionados consideram abordagens que tratam da evolução de requisitos e do monitoramento de serviços em tempo de execução. Quatro desses estudos abordam o monitoramento de serviços web [C20, C22, P03 e W01], enquanto que nove consideram técnicas de modelagem de requisitos para evolução e adaptação de requisitos em tempo de execução [C33, C03, C16, C18, C30, C32, P10, W05 e W07]. Q6: Qual o nível de maturidade da disciplina SORE na literatura acadêmica? Conforme mencionado na Seção 4, a curva de Hype Cycle [Gartner 2012] aplicada aos trabalhos selecionados indica queda no número de trabalhos nos últimos 2 anos. Esse fato pode indicar a diminuição nas expectativas dos pesquisadores sobre SORE, caminhando assim para um vale de desilusão. O vale da desilusão pode apontar para a maturidade na adoção de tecnologias. Sendo assim, é possível que em um futuro próximo, a pesquisa em SORE atinja seu nível de estabilização obtendo a maturidade. Ainda sobre a maturidade da área, um aspecto importante da pesquisa científica, especialmente em engenharia de software, tem sido pouco explorado em SORE. Esse aspecto seria a aplicação prática das abordagens apresentadas. Esta RSL revela que 19 dos 52 estudos primários selecionados abordam algum tipo de aplicação prática de suas abordagens, o que representa 37% do total. Desses 19 estudos, três apresentam ferramentas que implementam suas abordagens. Os outros 16, apresentam estudos de casos aplicados a domínios específicos. Não foram encontrados estudos que abordam a experimentação nas abordagens em SORE segundo seu uso entre engenheiros de requisitos que tenham discutido como essas técnicas de modelagem e metodologias de apoio a SORE poderiam contribuir para melhorar a elicitação, a análise e a especificação de requisitos em ambientes SOC. Comparações quantitativas entre as abordagens SORE ou mesmo com abordagens de engenharia de requisitos tradicional não foram exploradas. No entanto, a distribuição de trabalhos em SORE ao longo dos anos demonstra o aumento significativo de estudos primários que abordaram algum tipo de aplicação prática. De 2009 até 2012 foram publicados 14 estudos, o que representa 47% do total no período contra 23% do período anterior. Essa distribuição é um indicativo de que os pesquisadores em SORE tem-se interessado mais em aplicações práticas nos últimos anos, o que pode ser uma tendência nesta área de pesquisa. 6. Ameaças à Validade Segundo Perry, Porter e Votta, (2000), ameaças à validade são influências que podem limitar a habilidade de interpretar as conclusões provenientes dos dados extraídos. 281
11. Portanto, essas ameaças devem ser minimizadas. Neste trabalho, as ameaças foram analisadas segundo as taxonomias: validade de construção, validade interna e validade externa. Quanto à validade de construção, a elaboração da string de busca procurou ser o mais abrangente possível, possibilitando a captura dos trabalhos mais relevantes considerando as três principais dimensões trabalhadas nessa RSL. O uso de duas bases indexadas para a realização da busca não pode ser considerada uma ameaça à validade de construção, já que os trabalhos retornados vieram das principais bases de dados científicas da área, garantindo que os trabalhos retornados foram abrangentes o suficiente. Para evitar desentendimentos quanto aos conceitos usados, o planejamento e a condução foram executados pela dupla de autores. A fim de minimizar qualquer ameaça à validade interna, principalmente na seleção de estudos primários e extração de dados, os autores desse artigo conduziram essas duas atividades paralelamente e qualquer discordância foi discutida até chegar-se a um consenso. Apesar desse estudo ter considerado apenas trabalhos científicos como estudos primários, seus resultados podem ser generalizados tanto para a comunidade científica, quanto para a indústria, não havendo ameaças à validade externa. 7. Conclusão Esta RSL indicou um aumento significativo de trabalhos em SORE nos últimos anos. A curva Hype Cycle aplicada ao número de publicações em SORE mostrou que a comunidade científica pode estar em direção ao chamado vale da desilusão, no qual a expectativa com relação a uma determinada tecnologia cai. No entanto, esta queda pode ser benéfica para a disciplina como um todo, já que após o vale da desilusão, as expectativas estabilizam-se direcionando para o amadurecimento. Outro indicativo desse amadurecimento é o aumento na publicação em periódicos nos últimos anos. Quanto aos tipos de trabalhos, prevaleceram aqueles que abordavam de técnicas de modelagem de requisitos. Já os que abordavam aspectos gerais em SORE apareceram na literatura entre os anos de 2005 a 2008. As fases da engenharia de requisitos tradicional que mais tem sido exploradas pelas abordagens SORE são a elicitação, a análise e a especificação de requisitos. As fases de negociação e de verificação são as fases menos exploradas. Em relação ao tipo de orientação, as soluções apresentadas tem explorado mais as abordagens orientadas a processos, ontologias e metas. Pouco foi explorado nas abordagens orientadas a domínios e agentes. As abordagens em SORE tem considerado também a evolução de requisitos em tempo de execução segundo a monitoração de serviços e o gerenciamento de mudanças em tempo de execução. Algumas ferramentas e estudos de caso são apresentados nos estudos primários identificados nessa RSL. No entanto, os estudos de casos são bastante específicos e servem para exemplificar a aplicação da técnica apresentada. Não foram encontrados estudos que abordam a experimentação segundo a aplicação das técnicas em SORE entre engenheiros de requisitos com o intuito de avaliar sua eficiência e eficácia em ambientes SOC. Além disso, comparações quantitativas entre as soluções em SORE existentes, ou ainda comparações experimentais entre técnicas SORE e técnicas da engenharia de requisitos tradicional não foram mencionadas pelos estudos selecionados. Além disso, a reusabilidade de artefatos de engenharia de requisitos também não foi encontrada nos estudos primários. Esses pontos indicam uma lacuna de pesquisa e servem de insumo para os pesquisadores da área nos próximos anos. 282
12. Agradecimentos Este trabalho foi apoiado pela Fapesp (Fundo de Amparo à Pesquisa do Estado de São Paulo) e pela Rede Globo de Televisão São Paulo. Referências Altman, R., (2011). When development composite applications, manage contracts, not services, Gartner Research. Bano, M. e Ikram, N., (2010). Issues and challenges of Requirement Engineering in Service Oriented Software Development, In Proc. of 5th Int. Conf. on Software Engineering Advances, pages: 64-69. Biolchini, J., Mian, P. G., Natali, A. C. C. e Travassos, G. H. (2005). Systematic Review in Software Engineering, COPPE/UFRJ, RT-ES 679/05. Chen, L., Ali Babar, M. e Ali, N. (2009). Variability management in software product lines: a systematic review. In Proc. of the 13th Int. SW Product Line Conf., p. 81-90. Gartner Institute, (2012). Undersdanding Gartner's Hype Cycle, Gartner Research. Gu, Q. e Lago, P., (2009). Exploring service-oriented system engineering challenges: a systematic literature review, Service Oriented Comp. and Appl., v.3, pages: 171-188. Jin, Z., Liu, L., Jin, Y., (2008). Software Requirements Engineering: Principles and Method, Science Press, Beijing. Kitchenham, B. (2007). Guidelines for Performing Systematic Literature Reviews in Software Engineering, Keele University, EBSE Technical Report-2007-01. Kontogiannis, K., Lewis, G. A., Smith, D. B., Litoiu, M., Muller, H., Schuster, S., Stroulia, E. (2007).The landscape of service-oriented systems: a research perspective, In Proc. of Int. Workshop on System Development in SOA Environments, pages: 1. Lamsweerde, A. van, (2000). Requirements Engineering in the Year 00: A Research Perspective, In Proc. of 22nd Int. Conf. on Software Engineering, pages: 5-19. Laudon, K. C., Laudon, J. P., (2011). Sistemas de Informação Gerenciais, Pearson Education; 9ª Edição. Papazoglou, M. P., Traverso,P., Dustdar, S., Leymann, F. (2008). Service-oriented Computing: A Research Roadmap, Int. Journal of Cooperative Information Systems, v. 17, no. 2, pages: 223–255. Perry, D. E., Porter, A. A., Votta, L. G., (2000). Empirical studies of software engineering: A roadmap, In Proc. of the 22nd Int. Conf. on on Software Engineering, pages: 345–355. Sommerville, I., (2010). Software Engineering, Addison Wesley, 9th Edition. Tsai, W. T., Jin, Z., Wang, P., Wu, B. (2007). Requirement Engineering in Service- Oriented System Engineering, In Proc. of Int. Conf. on e-Business Engineering, pages: 661 – 668. Lista de Referências da RSL A lista de referências dos estudos primários selecionados nesta RSL está disponível no repositório: http://rslsore.sourceforge.net/ 283