Ufpe reuso de requesitos em cloud computing__artigo rnf cloud
1. UMA ANÁLISE PARA APOIO A
DEFINIÇÃO DE UM PROCESSO DE
REUSO DE REQUISITOS EM CLOUD
COMPUTING
Carlos dos Santos Portela
csp3@cin.ufpe.br
Universidade Federal de Pernambuco
Centro de Informática
Mestrado em Ciências da Computação
Disciplina: IN1149 - Qualidade, Processos e Gestão de Software
Professores: Alexandre Vasconcelos e Cristine Gusmão
2. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Introdução
Metodologia de Pesquisa
Resultados da Pesquisa
Proposta de Reutilização de RNFs
– Metodologia Feature-Oriented Domain Analysis
– Processo de Reuso
Conclusões e Trabalhos Futuros
Referências
2
ESTRUTURA DO ARTIGO
3. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
INTRODUÇÃO
3
Fonte: MEIRA, 2010
o dilúvio informacional
em 2010, a quantidade de
informação gerada no planeta
será duas vezes maior do que o
armazenamento disponível
para guardá-la.
e a escala do gráfico está em
exabytes [são dezoito zeros] e
os valores envolvidos já estão
na casa dos milhares de
exabytes [ou zettabytes].
todas as conversas telefônicas
do planeta; todas as imagens
de todas as câmeras; mais
todos os livros digitados; etc.
4. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Cloud Computing é baseado em uma coleção
de muitos antigos e alguns novos conceitos em
diversos campos de pesquisa como SOA,
computação distribuída e grid, bem como a
virtualização.
[Youseff et al., 2010]
4
CLOUD COMPUTING
5. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Computação na Nuvem está se tornando uma das
mais importantes temáticas de pesquisa em
Engenharia de Software;
Vários estudos estão sendo realizados para analisar
os impactos deste novo paradigma;
Porém, há poucos trabalhos disponíveis que
analisam os impactos deste no processo de
desenvolvimento de software;
De acordo com Breitman (2010), um bom ponto de
partida seria analisar os impactos deste novo
paradigma nos requisitos (RNFs).
5
CONTEXTO
6. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Se os RNFs não forem tratados de maneira
adequada, uma série de problemas em potencial
podem vim a ocorrer [Mairiza, 2007];
E no contexto de Computação na Nuvem, a
negligenciação destes RNFs é ainda mais crítica pois
pode afetar seriamente a qualidade do serviço;
– Implicar em eventuais penalidades previstas em SLA
Objetivo da pesquisa apresentada neste artigo é:
– Relatar uma revisão da literatura disponível sobre requisitos
em Computação na Nuvem;
– Propor uma Processo de Reuso de Requisitos para
Computação na Nuvem.
6
PROPOSTA DO ARTIGO
7. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
A pesquisa foi realizada em 14 fontes de
informações publicadas nos últimos cinco
anos;
A maioria das fontes pesquisadas são:
i. artigos publicados em periódicos internacionais;
ii.artigos publicados em periódicos nacionais
reconhecidos;
iii.livros publicados por editores reconhecidos;
iv.teses e dissertações.
METODOLOGIA DE PESQUISA
7
9. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
“Nuvens são grandes repositórios de recursos
virtualizados (hardware, plataformas de
desenvolvimento e/ou serviços), facilmente
acessíveis. Estes recursos podem ser
reconfigurados dinamicamente de modo a se
ajustar a cargas variadas, otimizando a utilização
destes mesmos recursos. Este repositório de
recursos é tipicamente explorado utilizando-se um
modelo do tipo pagamento-por-uso, onde os
fornecedores de infra-estrutura oferecem garantias
no formato de SLAs customizadas.” [Vaquero et al.,
2008]
CONCEITOS ABORDADOS
9
10. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Requisitos Não-Funcionais podem ser
definidos sob duas perspectivas diferentes
[Mairiza et al., 2007]:
(1) RNFs como os requisitos que descrevem as
propriedades, características ou limitações que um
sistema de software deve apresentar; e
(2) RNFs como os requisitos que descrevem os
atributos de qualidade que o produto de software
deve ter.
CONCEITOS ABORDADOS
10
11. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
– Qual a quantidade de publicações
disponíveis sobre requisitos e Computação
na Nuvem?
– Quais os principais requisitos de um
ambiente de Computação na Nuvem?
– Qual a definição e atributos destes requisitos
de Computação na Nuvem?
QUESTÕES BASES
11
12. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
PALAVRAS-CHAVE DE BUSCA
12
PALAVRAS-CHAVE SINÔNIMOS
Cloud Computing
Não se aplica
Requirements
Quality Attributes, Architecture Requirements, Non-
Functional Requirements, Development
Constraints, Business Rules
COMBINAÇÕES
“Requirements Cloud Computing” OR “Architecture Requirements Cloud
Computing” OR “Quality Attributes Cloud Computing” OR “Non-Functional
Requirements Cloud Computing” OR “Development Constraints Cloud
Computing” OR “Business Rules Cloud Computing”
13. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
RESULTADOS DA PESQUISA
13
TIPOS DE LITERATURA
NÚMERO DE
LITERATURA
Artigos publicados em períodicos
internacionais
7
Artigos publicados em períodicos nacionais 2
Livros publicados por editores
reconhecidos
4
Teses e dissertações 1
15. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Estes RNFs podem ser categorizados: SLAs,
Arquitetura, Serviços, etc;
• Confiabilidade, Disponibilidade e
Escalabilidade são os 3 principais tipos de
RNFs em Cloud Computing;
• Alguns tipos de RNFs também são
reconhecidos como atributos de outros RNFs
[Mairiza et al., 2007].
ANÁLISE DOS RESULTADOS
15
16. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• De acordo com Pimentel (2008), o
reuso de software é o reuso de tudo
associado a um projeto de software,
inclusive conhecimento;
• No contexto de requisitos, reuso é um
processo onde se faz o uso sistemático
de documentos de requisitos visando
reduzir o esforço dentro do ciclo de
vida do software;
PROPOSTA DE REUTILIZAÇÃO
16
17. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Os softwares desenvolvidos para as nuvens
são caracterizados por uma alta
modularidade e configurabilidade,
apresentando requisitos bastante comuns
entre as aplicações;
• Propõe-se um processo que promova a
reutilização de requisitos com base na
Engenharia de Domínio.
ENGENHARIA DE DOMÍNIO
17
18. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Como entrada do processo de Análise de
Domínio, temos informações obtidas na
literatura, em artefatos de sistemas já
existentes, em pesquisas de mercado, em
requisitos de sistemas e em especialistas;
• Como resultado final, temos o modelo de
domínio, que pode compreender sua
taxonomia, seus padrões, seus modelos
funcionais e sua linguagem.
ENGENHARIA DE DOMÍNIO
18
19. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• A metodologia FODA – Feature-Oriented
Domain Analysis [Kang, 1990] se originou de
um estudo de diferentes abordagens de
Análise de Domínio, e provê o reuso não só
de requisitos como também de arquitetura;
• Para atender este objetivo, FODA se divide
em três fases: Análise de Contexto,
Modelagem de Domínio e Modelagem de
Arquitetura.
METODOLOGIA FODA
19
20. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Define-se o escopo do domínio a ser
explorado;
• Analisa-se os relacionamentos entre o
domínio e elementos externos, e as
possíveis variações são avaliadas;
• O resultado final desta fase é o
documento de modelo de contexto,
que define as fronteiras do domínio.
ANÁLISE DE CONTEXTO
20
21. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Identifica-se as similaridades e as diferenças
que caracterizam as aplicações do domínio.
– Análise de características: nesta atividade se identifica
as características dos sistemas que são visíveis ao
consumidor ou usuário final;
– Modelagem entidade-relacional: nesta atividade se
identifica e define o conhecimento de domínio que é
essencial para a implementação de aplicações nesse
domínio;
– Análise funcional: nesta atividade se identifica as
funcionalidades em comum e diferenças funcionais
das aplicações do domínio.
MODELAGEM DE DOMÍNIO
21
22. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• É gerado um modelo de arquitetura, a
partir do qual um projeto detalhado e a
construção de componentes podem
ser feitos;
• A arquitetura é dividida em camadas,
visando facilitar o reuso;
• O escopo deste trabalho não abrange
a definição de arquitetura (está fase
não será adotada na proposta).
MODELAGEM ARQUITETURAL
22
23. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
PROCESSO DE REUSO
23
A fase de Engenharia de Requisitos diz respeito a fase já
estabelecida na organização, que deseja desenvolver com reuso.
24. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
ENGENHARIA DE REUSO
24
A fase de Engenharia de Reuso compreende o desenvolvimento para
reuso, e deve ser executada antes da primeira execução da fase de
Engenharia de Requisitos.
27. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Espera-se contribuir para a comunidade de
pesquisa em ES de três maneiras:
(1)para melhorar a compreensão sobre a abordagem
de RNFs em Computação na Nuvem;
(2)para uxiliar desenvolvedores a conhecer e lidar de
maneira adequada com os RNFs em projetos de
softwares de Computação na Nuvem; e
(3)espera-se que os principais RNFs em ambientes de
Computação na Nuvem, apresentados neste trabalho
possam auxiliar desenvolvedores na constituição de
seus repositórios de reuso.
CONCLUSÕES
27
28. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Dissertação de mestrado, que
pretende definir um Processo e um
repositório de RNFs para Reuso em
projetos de Computação na Nuvem;
• Validação em um Estudo de Caso;
• Análise detalhada dos impactos desse
novo paradigma na atual Engenharia
de Requisitos.
TRABALHOS FUTUROS
28
29. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Baca, S. (2010) “Cloud Computing: What It Is and What It Can Do for
You”. Global Knowledge Training LLC.
• Breitman, K. (2010) “Computação na Nuvem”, Em: Atualizações em
Informática 2010, Editado por Wagner Meira Jr. e André C. P. L. de
Carvalho & PUC-Rio, Rio de Janeiro; Sociedade Brasileira de
Computação, Porto Alegre.
• CAPES (2010). Documento de Área – Ciência da Computação.
Disponível em
http://www.capes.gov.br/images/stories/download/avaliacao/COMPUT
ACAO_05mar10.pdf. Último acesso em 20/10/2010.
• Kang, K. (1990). Feature-Oriented Domain Analysis (FODA). Software
Engineering Institute, Carnegie Mellon University, Pittsburgh, EUA.
• Kolisco, L. (2009) “SLA in Cloud Computing”. Disponível em
http://blogs.sun.com/lkolisko/entry/slas_in_cloud_computing. Último
acesso em 19/10/2010.
REFERÊNCIAS
29
30. UNIVERSIDADE FEDERAL
DE PERNAMBUCO
• Lee, J. Y., Lee, J. W., Cheun, D. W., Kim, S. D. (2009) “A Quality Model for
Evaluating Software-as-a-Service in Cloud Computing”. Seventh ACIS
International Conference on Software Engineering Research, Management and
Applications.
• Mairiza, D., Zowghi, D., Nurmuliani, N. (2007) “An Investigation into the Notion
of Non-Functional Requiriments”. University of Technology Sydney, Australia.
• Motahari-Nezhad, R. H., Stephenson, B., Singhal, S. (2009) “Outsourcing
Business to Cloud Computing Services: Opportunities and Challenges”. IEEE
Internet Computing, Special Issue on Cloud Computing.
• OMG (2005) “OMG Middleware Specifications”. Software Process Engineering
Metamodel, v1.1.
• Pimentel, J. H. C. (2008) “Adequação de um Processo de Reuso de Requisitos
a uma Empresa Desenvolvedora de Software”. Trabalho de Graduação,
CIn/UFPE, Recife, Brasil.
• Silveira, M. C. S. P. (2006) “A Reutilização de Requisitos no Desenvolvimento e
Adaptação de Produtos de Software”. Dissertação de Doutorado, Faculdade de
Engenharia – Universidade do Porto, Portugal.
REFERÊNCIAS
30