Universidade Federal de Pernambuco
Centro de Informática
Mestrado em Ciências da Computação
UMA ANÁLISE PARA APOIO A
DEFINIÇÃO DE UM PROCESSO DE REUSO
DE REQUISITOS EM CLOUD COMPUTING
Carlos dos Santos Portela
[email protected]
Disciplina: IN1149 - Qualidade, Processos e Gestão de Software
Professores: Alexandre Vasconcelos e Cristine Gusmão
ESTRUTURA DO ARTIGO




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
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
2
INTRODUÇÃO
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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
Fonte: MEIRA, 2010
3
CLOUD COMPUTING
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]
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
4
CONTEXTO
 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).
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
5
PROPOSTA DO ARTIGO
 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
6
METODOLOGIA DE PESQUISA
 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
iii.
iv.
reconhecidos;
livros publicados por editores reconhecidos;
teses e dissertações.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
7
PORTAIS DE PERIÓDICOS
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
8
CONCEITOS ABORDADOS
“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]
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
9
CONCEITOS ABORDADOS
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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
10
QUESTÕES BASES
– 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?
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
11
PALAVRAS-CHAVE DE BUSCA
PALAVRAS-CHAVE
SINÔNIMOS
Não se aplica
Cloud Computing
Requirements
Quality Attributes, Architecture Requirements, NonFunctional
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”
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
12
RESULTADOS DA PESQUISA
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
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
13
35 TIPOS DE RNFS
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
14
ANÁLISE DOS RESULTADOS
• 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].
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
15
PROPOSTA DE REUTILIZAÇÃO
• 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;
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
16
ENGENHARIA DE DOMÍNIO
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
17
ENGENHARIA DE DOMÍNIO
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
18
METODOLOGIA FODA
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
19
ANÁLISE DE CONTEXTO
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
20
MODELAGEM DE DOMÍNIO
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
21
MODELAGEM ARQUITETURAL
• É 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).
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
22
PROCESSO DE REUSO
A fase de Engenharia de Requisitos diz respeito a fase já
estabelecida na organização, que deseja desenvolver com reuso.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
23
ENGENHARIA DE REUSO
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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
24
ANÁLISE DE CONTEXTO
Analista do
Domínio
Especialista
do Domínio
Glossário
Modelo de Contexto
(Diagrama de Contexto)
Revisão de Domínio
Modelar
Domínio
Solicitação de
Revisão
Elicitar
Conhecimento
Modelo de
Contexto
(Descrição)
Não
Modelar
Contexto
Modelo de Contexto
(Fontes de Informação)
Identificar
Fontes de
Informação
Sim
O Modelo é satisfatório?
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
25
MODELAGEM DE DOMÍNIO
Especialista
do Domínio
Analista do
Domínio
Cliente
Glossário
Analisar
Características
Elicitar
Conhecimento
Modelo de Domínio
(Características)
Não
Modelo de
Contexto
Modelar
Modelo de Domínio
Diagrama E-R
(Diagrama E-R)
Sim
O Modelo é satisfatório?
Aceitar Modelo
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
26
CONCLUSÕES
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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
27
TRABALHOS FUTUROS
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
28
REFERÊNCIAS
• 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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
29
REFERÊNCIAS
•
•
•
•
•
•
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.
UNIVERSIDADE FEDERAL
DE PERNAMBUCO
30
Download

UMA ANÁLISE PARA APOIO A DEFINIÇÃO DE UM PROCESSO DE