Escolar Documentos
Profissional Documentos
Cultura Documentos
de Requisitos
Créditos
Centro Universitário Senac São Paulo – Educação Superior a Distância
Diretor Regional Juliana Quitério Lopez Salvaia
Luiz Francisco de Assis Salgado Jussara Cristina Cubbo
Superintendente Universitário Kamila Harumi Sakurai Simões
e de Desenvolvimento Katya Martinez Almeida
Luiz Carlos Dourado Lilian Brito Santos
Luciana Marcheze Miguel
Reitor Mariana Valeria Gulin Melcon
Sidney Zaganin Latorre Mônica Maria Penalber de Menezes
Diretor de Graduação Mônica Rodrigues dos Santos
Eduardo Mazzaferro Ehlers Nathália Barros de Souza Santos
Rivia Lima Garcia
Diretor de Pós-Graduação e Extensão Sueli Brianezi Carvalho
Daniel Garcia Correa Thiago Martins Navarro
Gerentes de Desenvolvimento Wallace Roberto Bernardo
Claudio Luiz de Souza Silva Equipe de Qualidade
Luciana Bon Duarte Ana Paula Pigossi Papalia
Roland Anton Zottele Josivaldo Petronilo da Silva
Sandra Regina Mattos Abreu de Freitas Katia Aparecida Nascimento Passos
Coordenadora de Desenvolvimento Coordenador Multimídia e Audiovisual
Tecnologias Aplicadas à Educação Ricardo Regis Untem
Regina Helena Ribeiro
Equipe de Design Audiovisual
Coordenador de Operação Adriana Mitsue Matsuda
Educação a Distância Caio Souza Santos
Alcir Vilela Junior Camila Lazaresko Madrid
Professor Autor Carlos Eduardo Toshiaki Kokubo
Diego Martins Polla de Moraes Christian Ratajczyk Puig
Danilo Dos Santos Netto
Revisor Técnico Hugo Naoto Takizawa Ferreira
João Carlos Neto Inácio de Assis Bento Nehme
Técnico de Desenvolvimento Karina de Morais Vaz Bonna
Ozeas Vieira Marcela Burgarelli Corrente
Marcio Rodrigo dos Reis
Coordenadoras Pedagógicas Renan Ferreira Alves
Ariádiny Carolina Brasileiro Silva Renata Mendes Ribeiro
Izabella Saadi Cerutti Leal Reis Thalita de Cassia Mendasoli Gavetti
Nivia Pereira Maseri de Moraes Thamires Lopes de Castro
Otacília da Paz Pereira Vandré Luiz dos Santos
Equipe de Design Educacional Victor Giriotas Marçon
Alexsandra Cristiane Santos da Silva William Mordoch
Ana Claudia Neif Sanches Yasuraoka Equipe de Design Multimídia
Angélica Lúcia Kanô Alexandre Lemes da Silva
Anny Frida Silva Paula Cristiane Marinho de Souza
Cristina Yurie Takahashi Emília Correa Abreu
Diogo Maxwell Santos Felizardo
Fernando Eduardo Castro da Silva
Flaviana Neri
Francisco Shoiti Tanaka Mayra Aoki Aniya
Gizele Laranjeira de Oliveira Sepulvida Michel Iuiti Navarro Moreno
Hágara Rosa da Cunha Araújo Renan Carlos Nunes De Souza
Janandrea Nelci do Espirito Santo Rodrigo Benites Gonçalves da Silva
Jackeline Duarte Kodaira Wagner Ferri
João Francisco Correia de Souza
Gestão de Requisitos
Aula 01
Engenharia de Requisitos
Objetivos Específicos
• Compreender os valores e fundamentos da engenharia de requisitos.
Temas
Introdução
1 Engenharia de requisitos
2 Habilidades de um engenheiro de requisitos
3 Tipos de requisitos
4 Requisitos e modelos de processos
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
O objetivo desta aula é que o aluno possa compreender os valores e fundamentos da
engenharia de requisitos. Para percorrer este caminho, iremos apresentar inicialmente os
conceitos de “requisitos”, “stakeholders” e “engenharia de requisitos”.
1 Engenharia de requisitos
A engenharia de requisitos é a uma das fases mais importantes da engenharia de software.
É necessário considerar que todas as etapas posteriores da construção de um software se
basearão nos requisitos definidos nessa fase. Erros no processo de requisitos resultarão em
falhas sucessivas em todas as fases posteriores do projeto de software (KERR, 2015).
Para criar sistemas, todas as informações relevantes para o projeto devem ser fornecidas
pelos stakeholders, ou seja, os envolvidos no processo. Stakeholders são pessoas ou
organizações que têm influência (direta ou indireta) nos requisitos de um sistema (POHL;
RUPP, 2011).
Vale ressaltar que a maioria das pessoas que fornecerão as informações e os requisitos
para a criação de um programa nunca participou de um projeto de desenvolvimento de
software. São advogados, administradores, contadores, professores, médicos, ou seja,
profissionais das mais diversas áreas de atuação que serão envolvidos em uma fase
essencial do desenvolvimento de um projeto, trazendo as necessidades do mundo real
que se pretende resolver através do uso do software (SOMMERVILLE, 2011). Por isso,
é muito importante que o engenheiro de requisitos tenha capacidade analítica para
compreender quais são as condições necessárias para que o projeto se desenvolva de
maneira satisfatória.
Os requisitos não são de uma única pessoa ou área da organização. Eles tipicamente
são uma combinação emaranhada de necessidades de várias pessoas e de diferentes níveis
organizacionais que estão vinculados a um processo de trabalho. Outro fator preponderante
são as normas organizacionais e os requisitos legais que podem estar vinculados a essas
necessidades (POHL; RUPP, 2011).
A maioria das falhas de projetos de software está ligada à falta de requisitos ou à falha
nos requisitos definidos. Um fator corriqueiro que ocasiona tais erros é que os stakeholders
não informam detalhes que consideram óbvios, por fazer parte do seu dia a dia de trabalho,
mas que são totalmente desconhecidos para o engenheiro de requisitos. Para minimizar esses
problemas, a equipe de projeto deve deixar claras a importância e a função dos processos
de engenharia de requisitos. Os stakeholders devem ser envolvidos de forma plena, pois,
através da participação mais ativa nos processos de requisitos, a chance de sucesso aumenta
(KERTZNER, 2012).
O workshop fará com que a engenharia de requisitos seja entendida pelos envolvidos
no projeto, e a chance de sucesso aumentará consideravelmente. Isso também fará com
que haja uma proximidade com os stakeholders, e eles provavelmente confiarão mais
no trabalho do engenheiro de requisitos após esse contato inicial (KERTZNER, 2012).
Um fator comum na maioria dos projetos atuais é que o levantamento de requisitos está
vinculado a mudanças nos processos em vigor e também à implementação de um processo
de negócio que será viável somente se a solicitação demandada estiver funcionando. A
troca de uma solução já existente por outra nova quase sempre é problemática, pois os
requisitos fornecidos podem ser vinculados à solução atual com vícios antigos e, além disso,
os stakeholders podem se manter avessos à substituição. Já no caso da implantação de um
projeto que depende de uma ferramenta computacional para ser executado, o desafio é
delimitar as necessidades de uma situação que ainda não existe. Os stakeholders devem ser
treinados para terem capacidade de abstração e, assim, permitirem a discussão das soluções
com o engenheiro de requisitos.
O engenheiro de requisitos deve ser o elo entre o mundo dos negócios (que não conhece
as possibilidades que a tecnologia pode oferecer) e o mundo da tecnologia (que não conhece
o mundo dos negócios). É o interlocutor entre o usuário e a equipe técnica. Deve falar a
linguagem desses dois grupos de modo a ter condições de interpretar o domínio de negócios
que envolve as necessidades dos usuários e saber como transmiti-las à equipe técnica de
desenvolvimento (POHL; RUPP, 2011).
01 Raciocínio analítico
O engenheiro de requisitos deve ter capacidade de compreender assuntos complexos que lhe sejam desconhecidos
e de lidar com problemas e relacionamentos complexos. Em muitos casos, os stakeholders discutem situações
problemáticas sobre as quais eles mesmos têm dúvidas e/ou estão confusos. Nesses casos, o raciocínio analítico
do engenheiro de requisitos deve levá-los a analisar a situação sob a ótica de diferentes cenários até se chegar a
uma extração mais exata das necessidades reais.
02 Empatia
Trata-se da capacidade de se colocar no lugar do outro. O engenheiro de requisitos deve fazer esse exercício no
intuito de compreender os motivos pelos quais o stakeholder está demonstrando determinada necessidade. Esse
exercício também ajuda a entender se as necessidades apresentadas são essenciais ou fazem parte de um
conjunto de desejos supérfluos.
03 Comunicação
A capacidade comunicativa do engenheiro de requisitos é essencial para que ele saiba ouvir os envolvidos, retome
um assunto quando mal explicado e faça perguntas para que o interlocutor elucide uma determinada necessidade
com outro ponto de vista para confirmar as informações compreendidas.
04 Resolução de conflitos
As divergências de opiniões entre os stakeholders são comuns. Temos conflitos hierárquicos, ideológicos e até
mesmo políticos, portanto, o analista de requisitos deve estar preparado para utilizar técnicas de resolução de
conflitos.
05 Moderação
O analista de requisitos deve conduzir eventos em que seja necessária a moderação de diferentes opiniões,
liderando as discussões, agindo como mediador.
06 Autoconfiança
Considerando a importância do papel do analista de requisitos como centralizador de informações, ele deve estar
ciente de suas funções e ser autoconfiante, com capacidade para defender seu ponto de vista sem levar a situação
para o lado pessoal.
07 Persuasão
O analista de requisitos deve utilizar seu poder de persuasão para convencer os envolvidos dos requisitos
identificados, criar um senso comum e facilitar definições.
3 Tipos de requisitos
Os requisitos de software são divididos em duas categorias: funcionais e não funcionais.
Os requisitos funcionais têm ligação com o que o software deve fazer. Já os não funcionais
estão vinculados a características de qualidade e arquiteturais do software. A seguir, veremos
o detalhamento de cada um desses tipos.
Requisitos funcionais
Fazendo uma analogia com a construção civil, podem-se citar como exemplo os seguintes
requisitos funcionais para a construção de uma residência:
• O sistema deve calcular a média de consumo para cada veículo e para cada modelo;
O International Institute of Business Analysis (IIBA, 2011) define que os requisitos não
funcionais estão relacionados ao ambiente no qual o software deve permanecer operante.
Para o IEEE (2014), os requisitos não funcionais atuam para restringir as soluções.
Essas restrições podem envolver requisitos de desempenho, requisitos de manutenção,
requisitos de segurança, requisitos de confiabilidade, requisitos de segurança, requisitos
de interoperabilidade e outros tipos que estejam ligados à solução como um todo, e não
a uma funcionalidade específica. Os requisitos não funcionais também são chamados de
requisitos de qualidade.
Os requisitos não funcionais tendem a ter uma importância maior em relação aos
requisitos funcionais (KERR, 2015), pois um usuário geralmente tem condições de contornar
uma falha em um requisito funcional, mas não dispõe de meios para operar o sistema caso
um requisito não funcional que suporta o software esteja indisponível. Por exemplo: se um
relatório de faturamento (requisito funcional) não for impresso devido à ocorrência de uma
falha, o usuário provavelmente poderá obter as informações através de outra funcionalidade,
por exemplo, realizando um print screen da tela para apresentar as informações ao seu gestor.
Já no caso de um requisito não funcional que, por exemplo, determine o funcionamento do
software vinculado a um Sistema de Gerenciamento de Banco de Dados (SGDB), se o SGDB
estiver indisponível, o usuário não terá a possibilidade de realizar nenhuma ação.
Propriedade Medida
Transações processadas/segundo
Velocidade Tempo de resposta do usuário/evento
Tempo de atualização da tela
Megabytes
Tamanho
Número de chips de memória ROM
Tempo de treinamento
Facilidade de uso
Número de frames de ajuda
Tempo médio para falha
Probabilidade de indisponibilidade
Confiabilidade
Taxa de ocorrência de falhas
Disponibilidade
Tempo de reinício após falha
Robustez Percentual de eventos que causam falha
Probabilidade de corrupção de dados em caso de falha
Percentual de declarações dependentes no sistema-alvo
Portabilidade
Número de sistemas-alvo
Fazendo uma analogia com a construção civil novamente, podem-se citar como exemplo
de requisitos não funcionais para a construção de uma residência:
• As paredes externas devem ser resistentes à chuva e ao vento, sem permitir que a
umidade se infiltre;
Agora que entendemos que os requisitos não funcionais estão ligados a questões gerais,
de confiabilidade e de características gerais da residência, veremos exemplos de requisitos
não funcionais de um sistema. Por exemplo, para um sistema de controle de frotas, são
exemplos de requisitos não funcionais:
• Deve ter disponibilidade de uso 24 horas por dia, nos sete dias da semana;
• Deve possuir uma página de ajuda para cada funcionalidade, com acesso sensível ao
contexto.
A Figura 1, a seguir, apresenta o formato que o modelo de processo cascata propõe. Esse
modelo não prevê alternativa se, durante as fases posteriores à fase de requisitos, forem
detectadas necessidades de modificação nos requisitos previamente acordados. A principal
Análise
de requisitos
∠
Projeto
do sistema
∠
Projeto
do programa
∠
Codificação
∠
Teste de unidades
e integração
∠
Teste
do sistema
∠
Teste
de aceitação
∠
Operação
e manutenção
Para Pressman (2011), o modelo cascata pode ser aplicado com sucesso em adaptações
ou aperfeiçoamentos pontuais em um software, por exemplo, uma adaptação originada de
uma exigência legal, que tem requisitos bem definidos e relativamente estáveis. No entanto,
tal modelo geralmente falha pelos seguintes motivos:
• Projetos do “mundo real” raramente seguem o fluxo sequencial e rígido que o modelo
cascata propõe;
• Dispor de todas as necessidades em uma fase inicial de projeto é algo impossível para
a maioria dos stakeholders, fora a incerteza natural que faz parte também de grande
parte dos projetos;
Incremento nº n
Funcionalidade e recursos do software
A B C D Entrega no
E
n-ésimo incremento
Incremento nº 2
A B C D Entrega do
E
2º incremento
Incremento nº 1
A B C D Entrega do
E
1º incremento
Cronograma do projeto
• A entrega de partes funcionais faz com que os stakeholders possam utilizar o software
mesmo sem toda a funcionalidade concluída, o que não é possível no modelo cascata.
Os métodos ágeis são baseados no Manifesto Ágil, que contém 12 princípios. Os que têm
maior relação com requisitos são:
Fica para reflexão um ponto de vista que Pressman (2011, p. 85) expõe, sobre a relação
engenharia de software versus metodologias ágeis: “Você não tem de escolher entre agilidade
ou engenharia de software. Em vez disso, defina uma abordagem de engenharia de software
que seja ágil”.
Você acha que é possível obter as melhores práticas da engenharia de software tradicional
e dos métodos ágeis para chegar a um resultado satisfatório da engenharia de requisitos do seu
projeto e da entrega do seu software?
Considerações finais
Nesta aula, tivemos a oportunidade de conhecer os fundamentos da engenharia de
requisitos e como ela se vincula aos principais modelos de processo de desenvolvimento de
software.
Referências
BECK, K. et al. Manifesto para o desenvolvimento ágil de software. Disponível em: <http://
www.manifestoagil.com.br>. Acesso em: 26 jul. 2015.
IEEE. Guide to the software engineering body of knowledge: SWEBOK®. 3. ed. Washington:
IEEE Computer Society, 2014.
IIBA. Um guia para o corpo de conhecimento de análise de negócios: guia BABOK®. 2. ed.
Toronto: IIBA, 2011.
KERTZNER, H. The changing role of stakeholder involvement in projects: the quest for better
metrics. In: Project perspectives 2012. Viena: IPMA, 2012. Disponível em: <http://ipma.ch/
assets/re-perspectives_2012.pdf>. Acesso em: 23 ago. 2015.
PFLEEGER, S. L. Engenharia de software: teoria e prática. 2. ed. São Paulo: Prentice Hall, 2004.
POHL, K.; RUPP, C. Requirements engineering fundamentals: a study guide for the certified
professional for requirements engineering exam: foundation level. Santa Bárbara, Estados
Unidos: Rocky Nook, 2011.
SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
Objetivos Específicos
• Conhecer meios para realizar o planejamento e o monitoramento da análise
de negócios.
Temas
Introdução
1 Análise das partes interessadas
2 Planejamento da comunicação da análise de negócios
3 Planejamento do gerenciamento de requisitos
4 Gerenciamento do desempenho da análise de negócios
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
Esta aula tem como objetivo apresentar uma série de tarefas que o Business Analysis
Body of Knowledge (BABOK®) indica como mecanismos que permitem o planejamento e o
monitoramento da análise de negócios.
Começaremos a aula com o estudo da análise das partes interessadas, que é dividida
nas seguintes tarefas: identificação das partes interessadas, gerenciamento das partes
interessadas e elaboração de mapas das partes interessadas.
Convido você, aluno, a imergir neste importante tema, para que ao final desta aula você
seja capaz de identificar os conceitos e a importância das tarefas aqui estudadas, e tenha
condições de aplicá-los em um projeto de desenvolvimento de software.
Para Pohl e Rupp (2011), a não consideração de partes interessadas pode fazer com que
requisitos importantes sejam ignorados, ocorrendo solicitações de novos requisitos já na fase
de implantação. Para minimizar essas falhas, os autores sugerem que as listas de requisitos das
partes interessadas sejam atualizadas periodicamente, ou seja, que o processo seja contínuo.
O IIBA (2011) complementa o tema ao alertar que, em alguns casos, as solicitações de novos
requisitos podem gerar a necessidade de uma revisão completa do projeto do software.
O IIBA (2011) sugere que sejam considerados fatores relacionados à atitude e à influência
das partes interessadas.
• No que tange à atitude, os aspectos centrais são referentes aos objetivos e às metas
do negócio e a abordagem da solução, a atitude em relação à colaboração e atitude
em relação ao patrocinador.
As técnicas para identificar as partes interessadas, de acordo com o IIBA (2011), podem
incluir:
02 Brainstorming
Processo que pode auxiliar na identificação das necessidades e dos requisitos que levam às possíveis partes
interessadas, ou ajudar na criação de uma lista de possíveis papéis de partes interessadas.
03 Entrevistas
Entrevistados podem ser capazes de apontar outras partes interessadas.
04 Modelagem organizacional
Fazer uma avaliação para determinar se as unidades organizacionais ou as pessoas listadas possuem quaisquer
necessidades e interesses únicos que devam ser considerados. Assim, será possível descrever os papéis e as
funções na organização e as maneiras como as partes interessadas interagem, o que facilitará a identificação
dessas partes interessadas.
05 SãoModelagem
Senac deDireitos
Paulo - Todos os processos
Reservados 3
Qualquer pessoa envolvida na execução de processos de negócio afetados pela solução é uma parte interessada.
Modelos de processos podem se tornar uma fonte para a identificação de partes interessadas, desde que os
04 Modelagem organizacional
Fazer uma avaliação para determinar se as unidades organizacionais ou as pessoas listadas possuem quaisquer
necessidades e interesses únicos que devam ser considerados. Assim, será possível descrever os papéis e as
funções na organização e as maneiras como as partes interessadas interagem, o que facilitaráGestão de Requisitos
a identificação
dessas partes interessadas.
05 Modelagem de processos
Qualquer pessoa envolvida na execução de processos de negócio afetados pela solução é uma parte interessada.
Modelos de processos podem se tornar uma fonte para a identificação de partes interessadas, desde que os
processos relacionados possam ser afetados. Além disso, a categorização de partes interessadas com base nos
sistemas que suportam seus processos de negócio pode ser útil quando mudanças precisam ser feitas nos
processos e sistemas.
06 Workshops de requisitos
Durante os workshops de requisitos, o analista de negócios pode perguntar aos participantes se eles podem indicar
outras partes interessadas.
07 Análise de riscos
Riscos para a iniciativa podem ser resultados das atitudes de partes interessadas ou da habilidade das principais
partes interessadas de participar da iniciativa.
09 Modelagem do escopo
Os modelos do escopo devem mostrar partes interessadas que estão fora do escopo da solução, mas que irão se
inter-relacionar com o sistema de alguma forma.
10 Pesquisa/questionário
É útil para identificar características compartidas de um grupo de partes interessadas.
O IIBA (2011) apresenta, como saída do processo de identificação das partes interessadas,
uma lista de tais partes interessadas, com seus papéis e suas responsabilidades. Essa lista
deve conter:
Figura 1 – Modelo de lista das partes interessadas
Categoria das
partes interessadas
Descrição da influência e
do interesse das partes
interessadas
Por isso, analisar os diversos pontos de vista dos stakeholders é importante. Assim,
será possível identificar os requisitos com mais precisão e montar uma matriz com os
requisitos emergentes. Essa matriz deve incluir inconsistências e/ou conflitos entre
requisitos, para que essas situações possam ser apresentadas aos tomadores de decisão
com o intuito de viabilizar um compêndio consistente de requisitos (PRESSMAN, 2011;
SOMMERVILLE, 2011).
A Figura 2 apresenta a matriz nível de influência versus nível de interesse, que posiciona
os stakeholders em diferentes cenários de acordo com a análise dessa razão. O objetivo é
orientar o engenheiro de requisitos sobre que tipo de abordagem deve utilizar com cada
parte interessada, segundo o quadrante em que ela ficou categorizada.
Alto
Trabalhar próximo à parte
Assegurar que a parte interessada interessada para garantir que
permaneça satisfeita ela esteja de acordo e apoie
Influência da parte as mudanças
interessada
Clientes, fornecedores,
reguladores e outros
Partes interessadas
externas afetadas Patrocinadores, executivos,
especialista no assunto e outras
Organização pessoas que interagem com o
ou corporação grupo afetado
Unidade
Organizacional Usuário final, help desk e outros,
Afetada cujo trabalho muda quando a
solução é entregue
O plano de comunicações pronto deve incluir o que, como, para quem e quando as
comunicações devem ocorrer no âmbito da análise de negócios. O IIBA (2011) ressalta a
importância de que as necessidades das partes interessadas e as restrições relevantes para a
comunicação sejam consideradas, tais como:
• Tipos de requisitos serão elicitados, tais como: de negócio, das partes interessadas,
de solução ou de transição, em alto nível ou detalhados e a forma de elicitá-los;
Entradas
2.4
Planejar a Comunicação
da Análise de Negócios
2.4
Plano de Comunicação
da Análise de Negócios
4.4 4.5
Preparar Pacote Comunicar
de Requisitos Requisitos
01 Geografia
Fuso horário, falta de tecnologia acessível para rápida comunicação, projeto complexo sendo desenvolvido em
conjunto por várias localidades envolvidas.
02 Cultura
O relacionamento com o tempo, vinculado ao compromisso com resultados acordados, pode ter diferentes
contextos em diferentes regiões. O comprometimento com a finalização das tarefas e a necessidade de uma
hierarquia de decisões formal ou informal variam em cada região. Por isso, é essencial que se use modelos de
representação com uma notação padronizada, a fim de que o entendimento de todos os participantes possa ser
equivalente, independentemente da cultura envolvida.
03 Tipo de projeto
Cada tipo de projeto requer uma estratégia de comunicação. O projeto de desenvolvimento de um novo software
customizado e produzido dentro da organização, por exemplo, requer que todos os requisitos sejam adicionados. Já
um upgrade da tecnologia ou da infraestrutura de um sistema em uso necessita apenas dos requisitos técnicos no
Senac Sãopacote.
Paulo -Mudanças em umReservados
Todos os Direitos processo de negócio ou novos dados para um aplicativo existente requerem processo e
8
requisitos de dados, regras de negócios, requisitos funcionais e técnicos. Em se tratando de uma aquisição de um
pacote de software, o projeto pedirá uma Solicitação de Proposta ou Request for Proposal (RFP), em inglês, e o
02 Cultura
O relacionamento com o tempo, vinculado ao compromisso com resultados acordados, pode ter diferentes
contextos em diferentes regiões. O comprometimento com a finalização das tarefas e a necessidade de uma
hierarquia de decisões formal ou informal variam em cada região. Por isso, é essencial que se use modelos de
Gestão de
representação com uma notação padronizada, a fim de que o entendimento de todos os participantes Requisitos
possa ser
equivalente, independentemente da cultura envolvida.
03 Tipo de projeto
Cada tipo de projeto requer uma estratégia de comunicação. O projeto de desenvolvimento de um novo software
customizado e produzido dentro da organização, por exemplo, requer que todos os requisitos sejam adicionados. Já
um upgrade da tecnologia ou da infraestrutura de um sistema em uso necessita apenas dos requisitos técnicos no
pacote. Mudanças em um processo de negócio ou novos dados para um aplicativo existente requerem processo e
requisitos de dados, regras de negócios, requisitos funcionais e técnicos. Em se tratando de uma aquisição de um
pacote de software, o projeto pedirá uma Solicitação de Proposta ou Request for Proposal (RFP), em inglês, e o
pacote deverá incluir requisitos do negócio, requisitos técnicos, requisitos funcionais limitados e até mesmo outras
especificações do fornecedor. No caso de iterações de desenvolvimento de software ágeis, a formalidade e a
documentação de requisitos podem ser opcionais e ser substituídas por user stories.
Entradas
2.1 2.3
2.5
Planejar o processo de
gerenciamento de requisitos
2.5
Plano de gerenciamento
de requisitos
2.6 4.1
3.2
Gerenciamento do Gerenciamento do
Condução das
desempenho da escopo e dos requisitos
atividades de elicitação
análise de negócios da solução
4.2
6.1
Gerenciamento
Priorização
da rastreabilidade
dos requisitos
dos requisitos
O plano de gerenciamento dos requisitos, que é saída desse processo, deve incluir:
Considerações finais
Nesta aula, tivemos a oportunidade de aprender muito sobre análise de negócios e seu
planejamento. Essas tarefas, determinadas pelo BABOK®, dão ao profissional da área um
rumo a seguir.
Na parte final, foi possível conhecer uma ferramenta que irá permitir que o nosso
trabalho seja avaliado, com o intuito da melhoria contínua: o gerenciamento do desempenho
da análise de negócios.
Referências
IIBA. Um guia para o corpo de conhecimento de análise de negócios: guia BABOK®. 2. ed.
Toronto: IIBA, 2011.
GLINZ, M.; WIERINGA, R.J. Stakeholders in requirements engineering. IEE Software, v. 28, n. 1,
p. 18-20, 2007.
POHL, K.; RUPP, C. Requirements engineering fundamentals: a study guide for the certified
professional for requirements engineering exam: foundation level. Santa Bárbara, Estados
Unidos: Rocky Nook, 2011.
SOMMERVILLE, I. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
Objetivos Específicos
• Compreender como é feita a análise da capacidade corporativa.
Temas
Introdução
1 Análise corporativa
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
Esta aula objetiva apresentar ao aluno como é realizada a análise corporativa e uma série
de tarefas que o BABOK® apresenta como mecanismos que permitem o planejamento e o
monitoramento da análise de negócios.
1 Análise corporativa
O International Institute of Business Analysis (IIBA, 2011) descreve que a área de
conhecimento corporativo possui atividades de análise de negócios imprescindíveis para
identificar uma necessidade, um problema ou uma oportunidade de negócio, definir uma
solução que atenda a essa necessidade e justificar o investimento que será feito para a
entrega dessa solução.
Entradas
3.3
Metas e Requisitos
objetivos do (Declarados)
Negócio
5.1
Definir a necessidade
do negócio
5.1
Necessidade
do Negócio
De acordo com o IIBA (2011), para realizar as tarefas de entradas como apresentadas
na Figura 1, é preciso que as metas e os objetivos sejam refinados com o intuito de definir a
necessidade do negócio. Em alguns casos, as metas ou os objetivos podem ser exploratórios
– e então a necessidade do negócio pode ser a de compreender se uma metodologia ou um
modelo de negócio funciona.
Conforme as metas são analisadas e elaboradas, elas são convertidas em objetivos mais
descritivos e específicos, tornando possível avaliar se eles foram alcançados. Para verificar os
objetivos e garantir que eles são SMART (“espertos”, em inglês), torna-se necessário identificar
se apresentam as seguintes características:
01 Específicos
Os objetivos precisam ser específicos e com resultado observável. Declarações genéricas dificultam os
trabalhos e a forma de mensurar resultados.
02 Mensuráveis
Os resultados dos objetivos propostos precisam ser rastreados e mensurados.
03 São Paulo
Senac Alcançáveis
- Todos os Direitos Reservados 3
Um objetivo precisa ser alcançável, caso contrário não há razão para ser criado.
Os objetivos precisam ser específicos e com resultado observável. Declarações genéricas dificultam os
trabalhos e a forma de mensurar resultados.
03 Alcançáveis
Um objetivo precisa ser alcançável, caso contrário não há razão para ser criado.
04 Relevantes
Os objetivos precisam estar alinhados com visão, missão e objetivos organizacionais.
05 Temporais
Os objetivos necessitam de um prazo viável para conclusão. Essa data deve estar alinhada com as
necessidades de negócio.
1.1.2 Técnicas
Identifique também alguém que seja especialista no domínio ou usuário final, que
seja profundo conhecedor de itens como sistemas, processos operacionais, limitações e
oportunidades de melhoria. Também podem participar o especialista em implementação,
eventuais clientes, eventuais fornecedores, etc. Como resultado dessa tarefa, encontraremos
a necessidade do negócio (IIBA, 2011).
Entradas
5.1 7.6
5.2
Avaliar gaps (lacunas)
de capacidades
5.2
Capacidades
requeridas
1.2.1 Entradas
1.2.2 Técnicas
É muito importante identificar aquela solução que trará maior valor agregado à
organização, que poderá ser utilizada de maneira eficaz e que é factível de ser implementada.
Entradas
5.4
Definir o escopo
da solução
5.4
Escopo da
solução
1.3.1 Entradas
• Capacidades requeridas: nessa tarefa, deve ser descrito como as novas capacidades
são requeridas para atender à necessidade do negócio e como elas servem de base
para o escopo da solução.
1.3.2 Elementos
1.3.3 Técnicas
As técnicas utilizadas para elaborar o escopo da solução, segundo o IIBA (2011), são:
Uma solução bem-sucedida poderia: Listar alguns dos principais benefícios de uma boa solução.
Considerações finais
Como vimos nesta aula, tivemos a oportunidade de compreender a análise corporativa
de negócios. Através de tarefas de entrada, conseguimos encontrar o escopo da solução
conforme proposto.
Referências
IIBA. Um guia para o corpo de conhecimento de análise de negócios: guia BABOK®. 2. ed.
Toronto: IIBA, 2011.
Objetivos Específicos
• Compreender como é realizado o gerenciamento e a comunicação de
requisitos.
Temas
Introdução
1 Gerenciamento e comunicação dos requisitos
2 Tarefas do gerenciamento e comunicação dos requisitos
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
Esta aula tem como objetivo expor ao aluno uma série de tarefas que o BABOK® apresenta
como estruturas que permitem o gerenciamento e a comunicação de requisitos.
A sugestão que tenho é a de que, sempre que você se envolver com o processo de
conhecimento de uma nova técnica, ferramenta ou processo, pense em como ela poderia ser
aplicada no seu dia a dia.
Boa leitura!
4.3 4.4
Manter requisitos Preparar o pacote
2.5 6.2 5.4 para a reutilização de requisitos 4.3 4.2
2.2
4.4
Lista de partes
interessadas, papéis e Pacotes de
responsabilidades requisitos
A tarefa envolve obter a aprovação das partes interessadas que têm autoridade para
determinar os requisitos. Após essa aprovação, uma linha de base pode ser gerada e, a partir
desse ponto, qualquer alteração nos requisitos deverá envolver um processo de gestão de
mudanças.
conflitos, que podem estar vinculados a prioridades ou requisitos contrários, pois são vistos
de diferentes perspectivas por áreas diferentes. Os conflitos precisam ser resolvidos antes
de o projeto ser aprovado, e uma das técnicas é a facilitação da comunicação entre as áreas
conflitantes.
A saída desse processo é uma lista de requisitos que as partes interessadas aprovam e
que deve estar pronta para ser utilizada nas próximas fases do desenvolvimento do projeto
(IIBA, 2011).
Pohl e Rupp (2011) lembram que a rastreabilidade de requisitos pode ser demonstrada
de diversas formas, e as mais comuns são: referências textuais e hyperlinks, matrizes de
rastreabilidade e grafos de rastreabilidade:
Artefatos Alvo
Req - 1 X
Artefatos Iniciais
Req - 2 X
Req - 3 X
Req - 4 X
Req - 5
Req - 6
Req - 1
Comp - 3
C-1
Req - 2
C-2
C-4 Req - 5
C-3 Req - 3
Comp - 2
Comp - 1
Informação sobre o contexto do sistema
Requerimentos
realizado por
Componentes
é origem
refina
além de estarem facilmente disponíveis para outros analistas. Esses requisitos podem ser
armazenados em um repositório e uma pessoa deve ser designada para gerenciá-lo. Quando
um requisito existente precisa ser modificado, ele pode ser acessado do repositório para
reúso (IIBA, 2011).
Entradas
*
Ativos de Requisitos
Processos
Organizacionais
4.3
Manter Requisitos
para Reutilização
4.3
Requisitos
(Mantidos e
Reusáveis)
Os requisitos recorrentes são aqueles que uma unidade organizacional tem que atender
regularmente. Podem incluir obrigações contratuais, padrões de qualidade, acordos de nível
de serviço, regras de negócio, processos de negócio ou requisitos que descrevam os produtos
do trabalho que o grupo realiza.
Mesmo que um requisito já tenha sido atendido, ainda será um requisito enquanto
a parte interessada precisar dele. Manter esses requisitos ajuda a executar melhorias no
produto e futuras mudanças no sistema. Requisitos existentes também podem ser usados em
projetos de negócios relacionados.
A saída dessa tarefa são requisitos descritos de uma forma que possam ser utilizados em
longo prazo na organização, não dependendo de que as partes interessadas que os solicitaram
estejam disponíveis na organização (IIBA, 2011).
Pacotes de requisitos devem ser preparados por várias razões, incluindo, mas não
limitando, a avaliação antecipada da qualidade e do planejamento, verificação de possíveis
alternativas, aprovações e revisões formais, entradas no design da solução, conformidade a
obrigações regulatórias e contratuais e manutenção para a reutilização.
Entradas
2.4 * 6.2
4.4
Preparar o Pacote
de Requisitos
4.4
Pacotes de
Requisitos
O formato desses pacotes pode ser a documentação formal, uma apresentação ou pode
ocorrer através de modelos, por exemplo, um mapa de processo.
Considerações finais
Nesta aula pudemos verificar etapas importantes do processo de análise de negócios,
suas entradas, ferramentas e saídas.
Quanto mais aumenta nosso conhecimento dos processos que o BABOK® sugere, fica
eminente a certeza de que ele é o modelo que tem as melhores práticas mundiais para a área
de análise de negócios.
Referências
IIBA. Um guia para o corpo de conhecimento de análise de negócios: Guia BABOK®. Versão
2.0. Toronto: Theiiba.org, 2011.
POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamentals: A Study Guide for
the Certified Professional for Requirements Engineering Exam – Foundation Level. IREB
Compliant, Rocky Nook Inc., 2011.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
Objetivos Específicos
• Compreender a análise, especificação, verificação e validação de requisitos.
Temas
Introdução
1 Modelagem de requisitos
2 Restrições
3 Verificação e validação de requisitos
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
Nesta aula temos a oportunidade de conhecer os mecanismos pelos quais poderemos
realizar o trabalho de análise de requisitos.
Começamos, então, apresentando os aspectos de modelagem de requisitos. O papel
fundamental dessa seção é apresentar os meios que devemos utilizar para realizar uma boa
documentação de requisitos. Conheceremos os dois tipos de documentação e também um
compêndio de boas práticas de documentação de requisitos.
Na sequência, veremos o conceito de restrições, que é dividido em negócio e técnicas e
é uma realidade em todo o projeto de desenvolvimento de software.
Para finalizar a aula, serão elucidados os conceitos de validação e verificação de requisitos,
trazendo uma série de dicas que podem ser usadas na prática.
1 Modelagem de requisitos
De acordo com o IIBA (2011), para permitir uma análise das necessidades impostas pelas
partes interessadas ou então da documentação do estado atual da organização avaliada,
é importante preparar documentos de requisitos que contenham uma combinação de
declarações textuais em linguagem natural, matrizes, diagramas e de modelos formais.
Entradas
3.3 6.2
Requisitos Estrutura de
(Declarados) Requisitos
6.3
Especificar e Modelar
Requisitos
6.3
Requisitos
(Analisados)
Gerenciamento e
6.1 6.5 Comunicação
Priorizar Requisitos Verificar Requisitos de Requisitos
+
projeto, mas uma combinação do uso de ambos é geralmente mais adequada, pois é possível
utilizar as melhores características de cada um (POHL; RUPP, 2011).
O IIBA (2011) diz que o tipo de informação a ser comunicada e os receptores da informação
são os fatores que irão definir qual o tipo de documentação a ser utilizada. Os modelos têm a
capacidade de definir um problema, definir as fronteiras de negócio, descrever pensamentos
e fluxos de ação, categorizar e hierarquizar itens, assim como apresentar o relacionamento
entre componentes e apresentar a lógica do negócio.
Portanto, é muito importante que o leitor desses requisitos seja treinado em tal modelo
para permitir que ele consiga interpretar os requisitos representados. Essa necessidade,
muitas vezes, exclui partes interessadas que não têm conhecimento técnico de modelagem
de requisitos.
03 Escrever de forma que não haja a necessidade de que o leitor tenha conhecimento prévio do domínio;
O IIBA (2011) sugere também a utilização de diversas técnicas que podem ser utilizadas
para especificar ou modelar requisitos:
05 Modelagem de dados;
06 Decomposição funcional;
Senac São Paulo - Todos os Direitos Reservados 5
04 Diagramas de fluxo de dados;
Gestão de Requisitos
05 Modelagem de dados;
06 Decomposição funcional;
07 Análise de interfaces;
08 Modelagem da organização;
09 Modelagem de processos;
10 Prototipagem;
12 Diagramas de sequência;
13 Diagramas de estados; e
14 Histórias de usuários.
2 Restrições
As restrições são determinadas como limitações às soluções possíveis e é papel do analista
de negócios documentar todas as restrições ou limitações da solução. Essas limitações devem
especificar o aspecto atual e o estado futuro, que não podem ser mudados.
A documentação das restrições deve incluir seus atributos, por exemplo: data da
identificação, proprietário, impacto, se possui risco associado e quaisquer outras informações
complementares.
A principal entrada para esse processo são as preocupações das partes interessadas, que
podem ser obtidas através de entrevistas junto ao grupo (IIBA, 2011).
Restrições de negócio
Restrições técnicas
Verificar requisitos garante que eles foram definidos corretamente, isto é, que eles
possuem uma qualidade aceitável. Requisitos que não atendem aos padrões de qualidade
são defeituosos e devem ser revisados (IIBA, 2011).
Os documentos de requisitos servem como base para toda e qualquer etapa posterior
do desenvolvimento de um software. A fase de verificação e validação de requisitos evita a
proliferação de um erro, fazendo com que seja necessário corrigir apenas os documentos
de requisitos. Caso contrário, todos os artefatos envolvidos na construção de um software
precisariam ser corrigidos, tais como modelos de dados, códigos-fonte, documentos de
projeto e arquitetura e casos de testes (POHL; RUPP, 2011).
Pohl e Rupp (2011) propõem uma avaliação dos critérios de qualidade dos requisitos,
como é apresentado na tabela a seguir.
02 Provendo toda a informação necessária para o trabalho que será realizado baseado nos requisitos.
Avaliar qual será o resultado para a parte interessada quando a sua necessidade for
satisfeita pode ser útil na validação dos requisitos. A implementação dos requisitos como
um todo deve ser suficiente para atingir o estado futuro desejado para clientes e usuários.
Em muitos casos, partes interessadas possuem necessidades e expectativas diferentes
ou conflitantes e que podem ser expostas através do processo de validação para serem
reconciliadas (IIBA, 2011).
01 Coesão:
um conjunto coeso de requisitos está relacionado a apenas uma coisa, seja ela um processo de
negócio, regra de negócio, unidade organizacional etc. Todos os requisitos, em um conjunto ou modelo,
devem apoiar o seu propósito e escopo geral.
02 Completude:
o conjunto total de requisitos deve representar todos os requisitos relevantes. Além disso, todo
requisito individual deve ser completo. É necessária a garantia de que cada requisito seja autocontido,
sem qualquer informação faltante.
03 Consistência:
garantia de que os requisitos individuais não conflitem entre si ou que descrevam o mesmo requisito
utilizando palavreado diferente. Além disso, o nível de detalhes fornecidos por cada requisito, em um
conjunto ou modelo, deve ser o mesmo.
04 Correção:
defeitos nos requisitos levarão a defeitos na solução resultante.
05 Viabilidade:
cada requisito deve ser implementável dentro da infraestrutura existente, dentro do orçamento existente, prazo
e recursos disponíveis para a equipe (ou o projeto deve desenvolver a capacidade para implementar o
requisito). O analista de negócios precisa trabalhar junto à equipe do projeto para tomar essas decisões.
06 Ajustabilidade/adaptação:
requisitos inter-relacionados devem ser mantidos agrupados a fim de que se tornem modificáveis. Essa
característica é demonstrada através de uma estruturação lógica dos requisitos.
07 Não ambiguidade:
requisitos individuais nunca podem ser pouco claros. Um requisito não pode permitir a formação de múltiplas e
divergentes interpretações válidas.
08 Testabilidade:
deve haver uma forma de provar que um requisito foi atendido. Cada requisito deve ser testável – isto é, deve
ser possível desenhar um teste que possa ser usado para determinar se uma solução atendeu ao requisito, ou
utilizar algum outro meio de determinar o aceite, ou não, de uma solução que atende ao requisito.
Para realizar a validação dos requisitos precisamos estar atentos aos seguintes critérios:
Identificar suposições
Em muitos casos pode não ser possível provar que a implementação do requisito
resultará no benefício desejado. Se uma organização está lançando um produto ou serviço
sem precedentes, pode ser necessário criar suposições a respeito da resposta dos clientes ou
das partes interessadas, uma vez que não há experiências similares nas quais se possa basear.
Em outros casos, pode ser difícil ou impossível provar que um problema particular derive de
uma causa-raiz identificada. Partes interessadas podem ter assumido que certos benefícios
irão resultar da implementação de um requisito e essas suposições devem ser identificadas e
definidas, de forma que os riscos associados possam ser gerenciados (IIBA, 2011).
definir o critério de avaliação que será usado para avaliar quanto sucesso a mudança resultante
teve, uma vez que a solução seja implantada, para informações sobre a seleção dos critérios
apropriados para detalhes sobre como essa avaliação é realizada após a implementação (IIBA,
2011).
Nem todos os requisitos contribuem diretamente para o resultado final desejado pela
organização e que está descrito no business case; a finalidade dos requisitos é traçar um alvo
no qual podemos chegar perto dos objetivos finais (IIBA, 2011).
Um requisito pode ter valor para uma parte interessada e, ainda assim, não ser uma
parte desejável de uma solução. Um requisito que não está alinhado ao business case deve ser
definido e aprovado em um business case à parte, ou considerado para remoção do escopo
da solução. Em última análise, cada requisito deve ser rastreável até os objetivos no business
case e deve também minimizar o custo da oportunidade da implementação (IIBA, 2011).
O IEEE (2014) sugere que os meios mais comuns de validação sejam por inspeção ou
revisões dos requisitos. Um grupo de colaboradores é atribuído para procurar erros, suposições
equivocadas, falta de clareza e desvio da prática normal. A composição do grupo que conduz
a revisão é importante (pelo menos um representante do cliente deve ser incluído para um
projeto, por exemplo, orientado para o cliente) e pode ajudar a fornecer orientações sobre o
que procurar no formato de checklists.
Considerações finais
Os processos aqui apresentados são essenciais para ter uma boa qualidade do
desenvolvimento do software. É primordial considerar a importância dos requisitos dentro
Esta aula teve como objetivo preparar o aluno para garantir uma boa documentação
de requisitos nos projetos de que participa. O desafio lançado é aplicar, no seu dia a dia, as
técnicas aqui apresentadas e avaliar os resultados em curto, médio e longo prazos.
Referências
IEEE. Guide to the Software Engineering Body of Knowledge: SWEBOK® v. 3.0. IEEE Computer
Society, 2014.
IIBA. Um guia para o corpo de conhecimento de análise de negócios: Guia BABOK®. Versão
2.0. Toronto: Theiiba.org, 2011.
POHL, Klaus; RUPP, Chris. Requirements Engineering Fundamentals: A Study Guide for
the Certified Professional for Requirements Engineering Exam – Foundation Level. IREB
Compliant, Rocky Nook Inc., 2011.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.
Objetivos Específicos
• Conhecer meios para a avaliação e validação da solução
Temas
Introdução
1 Avaliação e validação da solução
2 Avaliação da solução da proposta
3 Definição dos requisitos de transições
4 Validação da solução
5 Avaliar o desempenho da solução
Considerações finais
Referências
Professor Autor
Diego Martins Polla de Moraes
Gestão de Requisitos
Introdução
Nesta aula, conheceremos os mecanismos para realizar a avaliação e a validação de
soluções de negócios.
Estas etapas são essenciais para que todo o trabalho realizado seja verificado, a fim de
que seja confirmado o atendimento as necessidades da organização.
Esta aula está dividida em uma conceituação inicial sobre a área de conhecimento
Avaliação e Validação da Solução, e posteriormente serão apresentadas quatro tarefas desta
área, que são: avaliação da solução proposta, definição dos requisitos de transição, validação
da solução e avaliar o desempenho da solução.
O analista de negócio conhece o ambiente do negócio e pode avaliar como cada solução
proposta poderia afetar esse ambiente. O analista de negócio é responsável por garantir que
as partes interessadas compreendam totalmente os requisitos da solução e que as decisões
de implementação estejam alinhadas com os requisitos relevantes.
Já nos casos em que esteja diante das diversas soluções alternativas, o analista de
negócio possui o desafio de procurar determinar qual a solução a ser entregue é de maior
valor do negócio.
Entradas
4.1
6.4
6.1
7.1
Avaliar a Solução
Proposta
7.1
Avaliação da
Solução Proposta
Através dos requisitos, é possível realizar as análises para identificar as escolhas que
atendem aos requisitos mais importantes. Os requisitos devem estar aprovados para que esta
decisão seja tomada.
É possível que as alternativas que se encontram apresentem capacidades que estão muito
acima da capacidade da organização, e elas não tragam valor imediato para a empresa, mas
podem ter um futuro potencial para apoiar o desenvolvimento das capacidades que sejam
requeridas (por exemplo, um aplicativo de software pode possuir recursos que a organização
planeja utilizar futuramente).
Quando uma alternativa está sendo provida de forma parcial ou completa por uma
terceira parte, a avaliação da solução deve ser combinada com uma avaliação do fornecedor
para garantir que todas as partes serão capazes de desenvolver e manter um relacionamento
de trabalho saudável.
A avaliação da solução proposta entrega o valor por cada solução proposta. Caso existam
várias soluções disponíveis, uma recomendação sobre a melhor solução deve ser feita.
Caso nenhuma solução entregue valor suficiente para justificar a sua implementação, uma
recomendação para abandono da iniciativa deve ser dada (IIBA, 2011).
Na maioria dos casos, uma solução é implementada em uma corporação para aperfeiçoar
ou substituir uma solução existente. Durante o período de transição, a corporação pode
precisar operar as soluções em paralelo, transferir informações entre a solução nova e a
antiga, conduzir treinamentos para capacitar partes interessadas para operar efetivamente a
nova solução, e assim por diante. Além do desenvolvimento em si, a equipe de implementação
talvez tenha que desenvolver capacidades adicionais para apoiar essa transição.
Essas capacidades são requisitos, uma vez que as partes interessadas precisam ser
capazes de fazer essa transição com sucesso − contudo, elas são diferentes por natureza de
outros tipos de requisitos, uma vez que elas não podem ser definidas até que a solução tenha
sido desenhada. Esses requisitos também possuem um ciclo de vida diferente dos outros
tipos de requisitos, pois eles se mantêm relevantes somente durante o período de transição
entre soluções.
Naqueles casos em que não há solução existente e a nova solução está adicionando uma
capacidade completamente nova à corporação, os requisitos de transição não precisam ser
analisados (IIBA, 2011).
Entradas
7.3 3.3
7.4
Definir Requisitos
de Transição
7.4
Requisitos de
Transição
Os dados e os metadados gerenciados pelo sistema antigo precisam ser avaliados para
determinar o arquivamento da informação ou a sua transferência para a nova solução. Regras
para a conversão dessas informações deverão ser desenvolvidas e regras de negócio podem
precisar ser definidas para garantir que a nova solução interprete os dados convertidos
corretamente.
É provável que um trabalho esteja sendo feito na versão antiga da solução, no momento
em que a nova versão é implementada. Opções para o gerenciamento deste trabalho podem
incluir a finalização do trabalho existente na solução atual, iniciando o novo trabalho na nova
solução, suspendendo o processamento do novo trabalho por um período de tempo ou
convertendo todo o trabalho no momento da implementação.
investigada para compreender o que precisa ser transferido para a nova solução. Pode ser
necessário elicitar uma descrição das capacidades da solução e desempenhar algumas tarefas
de análise, no intuito de garantir que as capacidades atuais são totalmente compreendidas. O
desenho da nova solução deve estar suficientemente definido para permitir que as maiores
diferenças sejam identificadas.
Os requisitos de transição descrevem capacidades que devem ser desenvolvidas para que
uma organização faça a transição bem-sucedida entre soluções. Os requisitos de transição
são analisados por essa tarefa e devem ainda ser verificados, validados, gerenciados e
comunicados (IIBA, 2011).
4 Validação da solução
O papel da tarefa Validação da Solução é a garantia de que a solução atende a necessidade
do negócio e determinar a resposta mais apropriada para os defeitos identificados.
Como elementos para a tarefa validação da solução, temos de acordo com IIBA (2011):
Entradas
4.1
6.6
Requisitos Solução
(Priorizados e (Construída)
Validados)
7.5
Validar a Solução
Esta tarefa ocorre no pós-implantação, ou seja, depois que a solução já está em uso, e o
objetivo é verificar se todos estão utilizando a solução na sua plenitude, e se ela está trazendo
os resultados esperados para a organização. A ideia é avaliar o efeito tanto positivo, quanto
negativo a da solução em uso.
As soluções em uso podem sofrer modificações feitas pelos usuários finais, que podem
ser: paliativos manuais, registro adicionais e adoção de procedimento e políticas não formais
para resolver problemas imprevistos ou para permitir usos inéditos para a solução. Para
que o analista de negócios avalie a solução como um todo, deve considerar estes fatores
modificados, inclusive o quando e o como foram alterados.
Entradas
* 7.5
7.6
Avaliar o
Desempenho
da Solução
7.6
Avaliação do Desempenho
da Solução
Considerações finais
Nesta aula, tivemos a oportunidade de conhecer as tarefas que o BABOK® apresenta para
permitir que o analista de negócios saiba se a solução aplicada é a que atende as expectativas
da organização.
As tarefas são criteriosas e permitem conhecer a real situação das soluções implantadas.
São critérios técnicos de avaliação, não apenas sentimentos das partes interessadas.
Referências
IIBA. Um guia para o corpo de conhecimento de análise de negócios: Guia BABOK®. Versão
2.0. Toronto: theiiba.org, 2011.
Halat, Angela
Modelos de gestão no varejo / Angela Halat. – São Paulo : Editora
Senac São Paulo, 2016. (Série Universitária)
Bibliografia.
e-ISBN 978-85-396-1065-5
16-385s CDD-658.81
658.87
BISAC BUS0580010
Capítulo 1 Capítulo 4
Nome do capítulo, 1 Nome do capítulo, 4
1 Nome do título, 1 1 Nome do título, 4
2 ome do título, 1 2 ome do título, 4
3 ome do título, 1 3 ome do título, 4
4 ome do título, 1 4 ome do título, 4
Considerações finais, 1 Considerações finais, 4
Referências bibliográficas, 1 Referências bibliográficas, 4
Capítulo 2 Capítulo 5
Nome do capítulo, 2 Nome do capítulo, 5
1 Nome do título, 2 1 Nome do título, 5
2 ome do título, 2 2 ome do título, 5
3 ome do título, 2 3 ome do título, 5
4 ome do título, 2 4 ome do título, 5
Considerações finais, 2 Considerações finais, 5
Referências bibliográficas, 2 Referências bibliográficas, 5
Capítulo 3 Capítulo 6
Nome do capítulo, 3 Nome do capítulo, 6
1 Nome do título, 3 1 Nome do título, 6
2 ome do título, 3 2 ome do título, 6
3 ome do título, 3 3 ome do título, 6
4 ome do título, 3 4 ome do título, 6
Considerações finais, 3 Considerações finais, 6
Referências bibliográficas, 3 Referências bibliográficas, 6
Capítulo 1
Introdução aos
processos de
software
•• Relevância do tema.
7
O conhecimento e a prática voltados para a produção de software
de alta qualidade progrediram significativamente nas últimas décadas.
Estudos têm sido realizados nos mais importantes centros de pesquisa
do mundo (MAZHELIS; TYRVÄINEN; FRANK, 2013; MEYER; LEHNERD,
1997), e empresas e instituições têm aplicado esses conhecimentos na
prática e publicado as suas experiências. Modelos e normas têm sido
desenvolvidos, com destaque para a constelação CMMI (desenvolvida e
mantida pelo SEI – Software Engineering Institute) (CMMI, 2002) e para
a família de normas da ISO (mantidas pela International Organization for
Standardization, em parceria com a IEC – International Electrotechnical
Commission) (ISO, 2016).
Procedimentos e
B
métodos que definem a
relação entre as tarefas
A D
C
Processo
Ferramentas e
Pessoas habilitadas equipamentos
treinadas, motivadas
•• Desenvolvimento da solução.
De implementação
Contratuais
de software
Organizacionais
capacitadores De apoio ao software
de projeto
Técnicos
Contratuais:
De projeto:
Técnicos:
De implementação de software:
De apoio ao software:
De reuso de software:
Definição
de requisitos
Projeto de
sistema e software
Implementação e
teste de sistema
Integração e teste
de sistema
Operação e
manutenção
Análise de requisitos
de software
1
Interações de desenvolvimento de software
TAF
Teste de sistema TAF
TAS TAS
Desenvolva / integre /
Avalie o sistema Libere o software
teste o software
4 Qualidade de software
Roger Pressman (2002) define qualidade de software como sendo
uma conformidade a requisitos funcionais e de desempenho declara-
dos de forma explícita, a padrões de desenvolvimento documentados
claramente e a características implícitas que são esperadas de todo
software definido profissionalmente.
Referências
ABNT – ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. ABNT NBR ISO/
IEC 12207:2009 – Engenharia de sistemas e software: processos de ciclo de
vida de software. Rio de Janeiro, 2009.
BASILI, V.; GREEN, S. Software process evolution at the SEL. IEEE Software, p.
58-66, jul. 1994.
CURTIS, B. Maturity from the user’s point of view. IEEE Software, v. 10, n. 4, p.
89-90, jul. 1993.
DION, R. Process improvement and the corporate balance sheet. IEEE Software,
v. 10, n. 4, p. 28-35, jul. 1993.
DUNN, R. H.; ULLMAN, R. S. TQM for computer software. 2. ed. New York:
McGraw-Hill, 1994. (McGraw-Hill System Design and Implementation Series).
PAULK, M. C.; WEBER, C. V.; CURTIS, B.; CHRISSIS, M. B. The capability maturity
model: guidelines for improving the software process/CMU/SEI. Salt Lake City:
Addison-Wesley, 1995. (SEI Series in Software Engineering).
Engenharia de
requisitos
•• Conceito de requisitos.
1
1 Os requisitos no ciclo de desenvolvimento
de software
Uma das etapas do processo do ciclo de vida de software é a elabo-
ração dos requisitos. Esta talvez seja, hoje, uma das etapas mais impor-
tantes, pois refere-se à definição de o que o software fará.
Como base para este estudo são utilizadas neste capítulo duas refe-
rências conceituais muito importantes para que se possam desenvolver
os requisitos de forma adequada: a análise de negócios (IIBA, 2015) e a
engenharia de requisitos (HULL, 2011).
2 Conceitos fundamentais
Neste item serão apresentados alguns conceitos fundamentais refe-
rentes ao desenvolvimento de software: requisito, stakeholder e domínio
do problema e da solução.
2.1 Requisito
2.2 Stakeholder
Engenharia de requisitos 3
sem se preocupar com essa visão mais abrangente, mais sistêmica,
procurando observar o software integrado dentro de seu ambiente real
de funcionamento (IIBA, 2015).
3 Análise de negócios
Conforme já explicitado, todo software faz parte de um sistema
maior. Esse sistema maior tem alguma finalidade e deve atender algu-
ma necessidade de negócio da organização.
Engenharia de requisitos 5
Figura 2 – Áreas de conhecimento do BABOK
Planejamento e
monitoramento da
análise de negócios
Análise de requisitos
Análise estratégica e definição de
projetos
4 Engenharia de requisitos
A atividade de identificação e tratamento dos requisitos é considera-
da uma disciplina especial denominada engenharia de requisitos. Hull
(2011) a define como o subconjunto da engenharia de sistemas focada
na descoberta, desenvolvimento, rastreamento, análise, qualificação,
comunicação e gerenciamento de requisitos que definem o sistema em
níveis sucessivos de abstração.
Não cabe aqui discutir mais essas diferenças, mas destacar a exis-
tência de ambas e a possibilidade de uso daquela mais conveniente em
determinado momento.
Engenharia de requisitos 7
6 Processo para a engenharia de requisitos
A seguir é apresentado um processo para a engenharia de requisi-
tos que compreende todas as atividades necessárias dentro do ciclo
de vida de software. Este processo envolve também as atividades de
análise de negócios (IIBA, 2015; CMMI, 2010).
Para cada um deles deve ser identificado seu papel e que tipo de
participação deve ter no projeto. Para isso é usado um modelo deseno-
minado matriz RACI – uma matriz de responsabilidades no projeto –,
representado no quadro 1 (IIBA, 2015).
Engenharia de requisitos 9
R – Responsible: responsável, quem realiza o trabalho.
Cronograma A I I - R
Documento visão R C C - I
Requisitos do negócio C C C - R
Requisitos funcionais A C C C C
Prova de conceito A C C C R
9 Compreensão do negócio
A compreensão do negócio tem por objetivo entender as necessida-
des do negócio para que o levantamento de requisitos seja feito de for-
ma consistente e que realmente agregue valor ao negócio. Geralmente
Engenharia de requisitos 11
procura-se saber como a organização funciona, quais são seus objeti-
vos e quais serão os benefícios que o novo sistema deve trazer.
2. Estrutura da organização
10 Levantamento de requisitos
O levantamento de requisitos é a atividade que obtém como resulta-
do o conjunto de requisitos do software a ser desenvolvido. Não é uma
tarefa fácil, pois exige que seja entendido com clareza o domínio do pro-
blema, como funcionam as coisas e as necessidades de cada stakehol-
der. Por essa razão, geralmente existe certo grau de especialização das
empresas de software que costumam atender a um determinado tipo
de mercado para terem um conhecimento melhor do domínio do pro-
blema e realizarem o levantamento de requisitos com maior facilidade.
Engenharia de requisitos 13
10.1 Técnicas para levantamento de requisitos
Engenharia de requisitos 15
•• Cada requisito deve ser identificado de forma única. Portanto
deve ter um código de identificação.
•• Cada requisito deve ser rastreado: quando foi criado, quando foi
alterado, por quem, quando foi usado e qual seu status.
11 Análise de requisitos
Nesse momento do projeto os requisitos estão mapeados. Torna-se
necessária esta fase para realizar a organização e a análise dos requi-
sitos (IIBA, 2015). Portanto o resultado desta fase é um conjunto de
Engenharia de requisitos 17
requisitos organizados, classificados, agrupados e priorizados, ou seja,
trata-se de um trabalho para lidar com o grande número de informações
descobertas na fase anterior.
•• Avaliar os requisitos.
Engenharia de requisitos 19
desativa e não mostra mais. Ferramentas de busca desses elementos
podem ser feitas para efeito de auditoria nos sistemas.
Engenharia de requisitos 21
Possíveis siglas numa planilha de alto nível:
Tipo – F: requisito funcional; NF: não funcional; RV; reverso; S: requisito de sistema
Engenharia de requisitos 23
◦◦ Os requisitos foram avaliados quanto à harmonia sistêmica?
(Completeza, consistência.)
13 Especificação de software
O conjunto de requisitos gerado criará um documento denominado
especificação de software ou especificação de requisitos. Esse documen-
to é a entrada para a equipe de desenvolvimento realizar sua atividade
de projeto de software. Conforme já explicado, pode-se entender que
o processo de requisitos fica hibernado durante a fase de codificação.
Esse processo é somente retomado quando houver alguma alteração
de requisito. Uma situação que ocorre muitas vezes em projeto é, du-
rante o seu detalhamento, surgirem dúvidas que levam à criação de no-
vos requisitos que resolvem questões que não tinham sido pensadas
anteriormente. Nesses casos é feita uma atualização do documento de
requisitos, incluindo novos e/ou alterando alguns existentes. No final do
Considerações finais
A engenharia de requisitos trata de um dos temas mais importantes
na engenharia de software: definir o escopo e os requisitos do software
a ser desenvolvido.
Engenharia de requisitos 25
de requisitos a serem manipulados, na quantidade de horas a serem
trabalhadas e no número de pessoas envolvidas. Quanto maiores os
números, mais necessidade de controle.
Por outro lado, projetos pequenos não precisam ter processo mui-
to complexo de engenharia de requisitos. É necessário, entretanto, que
tenham minimamente algumas atividades, como documento de requi-
sitos e rastreabilidade de requisitos. Sem isso, aumenta-se o risco de
existirem problemas com o gerenciamento de requisitos.
Referências
BARTELI, A. Creating CRUD. IBM Systems Magazine, 2015. Disponível em:
<http://www.ibmsystemsmag.com/ibmi/developer/general/creating-crud/?pa-
ge=1>. Acesso em: 10 ago. 2016.
CMMI Product Team. CMMI for development, version 1.3. Pittsburgh: CMMI
Institute, 2010. Disponível em: <http://cmmiinstitute.com/resources/cmmi-de-
velopment-version-13>. Acesso em: 10 ago. 2016.
SOLTYS, Roman; CRAWFORD, Anthony. JAD for business plans and designs,
1999. Disponível em: <http://www.thefacilitator.com/htdocs/article11.html em
27/03/2016>. Acesso em: 10 ago. 2016.
Engenharia de requisitos 27
Capítulo 3
Processo unificado/
RUP
1
•• Conceitos fundamentais do UP.
•• Artefatos do UP.
1 Histórico
A origem e a base essencial do UP vêm da proposta de Ivar
Jacobson denominada Objectory Process, apresentada inicialmente em
1988. Posteriormente, Jacobson se uniria a James Rumbaugh e Grady
Booch, proponentes do RUP, e eles uniriam os seus produtos com esta
última marca.
nUP
o
oad
Ope
rfeiç
0.9
mo
ape
nUP
o co
RUP
Ope
ead
vida
om
0e
006 : RM P
004
de 2 2005 F & BU
ren
e
F 1.
C
3
lo d
Ma bro d 005: E UP
P v2
5.0
200
Pé
: EP
:A
: cic
v1.0
v3.8
P
RUP
: EU
UP
: BU
Nov o de 2005
006
999
3: R
004
tory
tory
88:
de 2
e
e
de 1
em 2
200
e 19
de 2
bjec
bjec
Out bro d
bro
e
bro
8: O
5: O
ho d
eiro
io d
em
ubr
em
rço
u
198
199
Set
Out
Jun
Ma
Jan
Set
Processo unificado/RUP 3
2 Características do processo unificado
O Processo Unificado compreende atividades combinadas em dis-
ciplinas (chamadas workflows) que descrevem como uma atividade
alimenta a outra. As disciplinas são organizadas em iterações (repeti-
ções); cada iteração identifica algum aspecto do sistema a ser conside-
rado. Os detalhes de como são feitas são retardados para mais tarde.
As iterações são organizadas em fases que se repetem (requisitos, aná-
lise, design, implementação). As fases, por sua vez, são agrupadas em
ciclos. Os ciclos geram as liberações (releases) sucessivas do sistema,
nas suas várias versões.
Interativo e
incremental
Centrado em
arquitetura
Processo unificado/RUP 5
2.4 Reconhece risco
Fases
Fluxo de trabalho Concepção Elaboração Construção Transição
Modelagem de negócios
Requisitos
Análise e design
Implementação
Teste
Implantação
Gerência de configuração
e mudança
Gerência de projeto
Ambiente
Inicial Elab no1 Elab no2 Const no1 Const no2 Const no3 Trans no1 Trans no2
Iterações
Processo unificado/RUP 7
•• Modelagem de negócios: estabelece compreensão e canal de co-
municação entre analistas de negócios, engenheiros de software
e usuários. Descreve uma visão da organização na qual o sistema
será implantado, envolvendo estrutura, processos, papéis e res-
ponsabilidades. O principal resultado é modelo de casos de uso
de negócio.
Processo unificado/RUP 9
configuração) e das propostas de mudanças (gerência de mu-
danças). Os dados e o status de cada item de configuração são
gerenciados continuamente durante o projeto. A baseline do siste-
ma é definida e gerenciada. Responsabilidades são definidas para
decisões relativas a mudanças. Os principais resultados são as
baselines de configuração.
FASE ARTEFATOS
Visão
Business case
Lista de riscos
Concepção Plano de software
Plano de iteração
Principais casos de uso
Ambiente de gerência de configuração
Protótipos
Requisitos funcionais (atores, casos de uso, modelo e casos de uso)
Requisitos não funcionais
Ferramentas
Arquitetura
Elaboração Modelo de componentes
Modelo de design
Modelo de dados
Modelo de implementação
Orçamento e cronograma
Glossário
Produto de software
Test suite
Manual de usuário
Refinamento dos requisitos funcionais (Modelo de use case)
Construção Refinamento do modelo conceitual (Modelo conceitual)
Refinamento do projeto arquitetural
Refinamento do glossário
Projeto de baixo nível (Modelo de projeto)
Planos de testes
Planos de publicação
Transição Planos de testes alfa, beta
Planos de treinamento
Processo unificado/RUP 11
5 Processo Unificado Rational
O Processo Unificado Rational (Rational Unified Process – RUP) é um
refinamento do Processo Unificado que foi criado pela Rational Software
(atualmente pertencente a IBM). Ele usa uma série de ferramentas ao
longo da estrutura de processo para definir como realizar as atividades
necessárias para rodar um projeto de software, dando condições para
adaptar (tailor) o processo às necessidades específicas da organização,
da equipe e do projeto (AMBLER, 2005; KRUCHTEN, 2003; IBM, 1998).
Considerações finais
As organizações mais maduras trabalham com processos definidos.
O Processo Unificado oferece uma estrutura de processo iterativo e in-
cremental orientada a objetos que pode ser adaptada para as necessi-
dades de cada organização, contribuindo para o desenvolvimento de
software de alta qualidade.
Referências
AMBLER, Scott W. History of the Unified Process. Enterprise Unified Process,
2013. Disponível em: <http://www.enterpriseunifiedprocess.com/essays/his-
tory.html>. Acesso em: 1 jul. 2016.
JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. The unified software de-
velopment process. Salt Lake City: Addison-Wesley, 1999.
Processo unificado/RUP 13
Capítulo 4
Análise e projeto
orientados a objeto
1
O objetivo deste capítulo é apresentar a metodologia de análise e
projeto orientados a objetos.
1 Conceitos fundamentais
A modelagem orientada a objetos (OO) é um paradigma de análise,
projeto e programação de sistemas e de software com base na com-
posição e interação entre diversas unidades de software chamadas
de objetos.
CONCEITO DEFINIÇÃO
Uma parte modular de um projeto (design) de sistema que oculta sua implementação de
Componente
sob um conjunto de interfaces externas.
Uma entidade discreta, com limite e identidade bem definidos que encapsula estado e
Objeto
comportamento. Um objeto é uma instância de uma classe.
Este capítulo tem foco central nas práticas de análise e projeto. As ati-
vidades de requisitos e testes são tratadas em capítulos próprios. A ati-
vidade de construção não é especificamente desenvolvida neste curso.
4 Modelagem de análise
A análise visa conhecer melhor o problema que se pretende resolver.
Ela parte do modelo de requisitos, que se utiliza dos diagramas de ca-
sos de uso, e descreve os requisitos funcionais e não funcionais.
Figura 2 – Classes
produto estoque
faz pedido
vendedor
•• agregação;
•• composição;
•• associação simples;
•• generalização.
estoque produto
reta ponto
polígono
empresa funcionário
cliente
Nome
RG
cliente
Nome
RG
Cadastrar cliente ()
Editar cliente ()
livro
ISBN
Título autor
Sumário
1 .. * 1 .. * Nome
Editor
Bibliografia
Data de publicação
Número de páginas
Linguagem
biblioteca bibliotecário
Nome Nome
catálogo Endereço Endereço
Posição
5 Modelagem de projeto
O projeto (design) tem como principal função definir a estrutura so-
bre a qual o software vai ser construído. No projeto devem ser detalha-
das a estrutura de informações do sistema e a sua dinâmica.
Figura 8 – Exemplo de diagrama de sequência de projeto para o caso de uso Comprar itens
evento de sistema
dispara uma operação
de sistema
primeira mensagem
direção da mensagem
interna
instância
parametro
Considerações finais
Neste capítulo apresentamos os conceitos fundamentais e alguns
exemplos de modelos. Os processos definidos estabelecem os mode-
los que são utilizados e, como consequência, os diagramas da UML que
devem ser utilizados.
FOWLER, Martin. UML distilled: a brief guide to the standard object modeling
language. Salt Lake City: Addison-Wesley, 2003.
Modelo V,
verificação e
validação
1
•• Identificar as atividades de verificação e validação para a qualida-
de de software, o seu papel e as diferenças entre elas.
1 Conceitos fundamentais
Os processos de verificação e validação (V&V) são usados para de-
terminar se os produtos de desenvolvimento de uma dada atividade
estão de acordo com os requisitos da atividade e se os produtos satis-
fazem ao uso pretendido e às necessidades dos usuários (IEEE, 2012).
Essas avaliações envolvem sistemas, software, hardware, interfaces e
documentação.
2 O modelo V
O modelo V foi originalmente desenvolvido para engenharia de sis-
temas. Esse modelo é muito interessante para se compreender os
testes de software de uma maneira mais abrangente (SPILNER; LINZ;
SCHAEFER, 2007). O projeto inicia-se na definição de requisitos, evoluin-
do para o projeto funcional do sistema. O projeto técnico é elaborado,
seguido da especificação de cada componente de software. Na figura
1 a seguir, do lado esquerdo está a fase de decomposição e definição
das partes que compõem o sistema; do lado direito está a etapa de inte-
gração e recomposição na qual o sistema é construído e são realizadas
verificações, além de testes e validações.
Figura 1 – Modelo V
Definição Teste
de requisitos de aceitação
o
Decom
posiçã
Projeto técnico Teste
posiçã
recom
do sistema de integração
o e de
ção e
Especificação Teste
Integra
finição
de componente de componente
Programação
Implementação Verificação
e integração e validação
Linha do tempo
TAREFA DE
CRITÉRIOS
VERIFICAÇÃO
◦◦ o objetivo;
◦◦ os componentes envolvidos;
◦◦ o ambiente necessário;
◦◦ os casos de teste;
◦◦ as ferramentas.
•• Validação de requisitos.
◦◦ o objetivo;
◦◦ os componentes envolvidos;
◦◦ o ambiente necessário;
◦◦ as ações;
◦◦ as ferramentas;
6 Planejamento de V&V
O planejamento de verificação e validação é essencial para o suces-
so de um projeto e deve ser realizado em sintonia e concomitantemente
ao planejamento do projeto.
Considerações finais
Neste capítulo apresentamos os conceitos, os objetivos, as práticas
e os critérios para a realização das atividades de verificação e validação.
BALARIN, Felice et al. Scheduling for embedded real-time systems. IEEE Design
& Test of Computers, p.71-82, Jan-Mar 1998.
BOAR, B.H. Application prototyping. John Wiley & Sons. New York: 1984.
KUNG, David; ZHU, Hong. Software verification and validation. Wiley encyclope-
dia of computer science and engineering. Hoboken: Wiley, 2008.
LEE, Joon Ku; KIM, Yang Mo. Lessons learned from practical independent ver-
ification and validation based on IEEE 1012. Journal of software engineering
and applications, 2012, 5, 810-815. Disponível em: <http://dx.doi.org/10.4236/
jsea.2012.510093>. Acesso em: 1 set. 2016.
Testes de software
1
O processo de testes de software tem se tornado uma atividade
mais estruturada a partir dos desafios impostos pelo Bug do Milênio1.
Na virada de 1999 para 2000 foi feito um grande esforço mundial para
a realização de testes dos sistemas existentes para verificar se ocorre-
riam erros. A partir de então houve vários movimentos que estruturaram
melhor as atividades de testes: associações, empresas e certificações.
1 Bug do Milênio foi o nome dado ao problema de os computadores armazenarem o ano com dois dígitos.
Na virada de 1999 para 2000, ocorreu o risco de o computador interpretar que o ano passaria a ser 1900, e
não 2000, por não existirem os dois primeiros dígitos.
Testes de software 3
•• O número de entradas possíveis é muito grande.
•• Erro é alguma coisa feita no código que provoca uma saída não
esperada do software (em inglês error, bug).
Testes de software 5
2 Testes de software no ciclo de vida
Uma forma de organizar as atividades de testes é defini-las dentro
do ciclo de vida de software. Cada empresa pode definir um ciclo de
vida específico. No capítulo 1 foram apresentados diversos ciclos de
vida que podem ser definidos para um projeto de software, como cas-
cata, iterativo, V, espiral e ágil. Observe nas figuras do primeiro capítulo
que, em alguns deles, é explícita a atividade de testes e em outras está
embutida em V&V.
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
Testes de software 7
•• Norma IEEE 829 Test Documentation.
Testes de software 9
◦◦ anexos D até S: contêm exemplos da aplicação dos modelos;
Testes de software 11
de testes, scripts, etc. O modelo foi desenvolvido por Jari Andersin, da
Universidade de Helsinki, na Finlândia (ANDERSIN, 2004).
Para cada uma das vinte áreas-chave, pode-se associar tantos che-
ckpoints quanto necessários, bem como tantas recomendações para
a melhoria.
Testes de software 13
4.3 Tipo de teste quanto à funcionalidade
Testes de software 15
•• No teste para falhar (test-to-fail) é verificado até onde o software
funciona forçando situações extremas de operação, como dados
inválidos, maior carga de dados, número de usuários, entre outras.
Testador
Executar Realizar a
os testes entrega NÃO
TEM BUG? Relatório
de testes
SIM
Programador
Plano de Testes?
Analista
Elaborar arquitetura
e projeto de software
Especificador
Cada caso de teste deve ser registrado. A figura 2 mostra que, para
o teste de um cadastro é necessário realizar, na verdade, três testes:
dados válidos, dados incompletos e dados errados para verificar o com-
portamento dos sistemas nessas condições.
Testes de software 17
devolver ao testador. O testador repete o teste e registra o resultado até
o fechamento completo do software.
Data Testador
1. Preencher todos
1.1 Cadastro os campos.
Cliente inserido com
com dados 2. Clicar em inserir.
todos os dados.
corretos. 3. Verificar inserção
na tabela cliente.
1. Preencher todos
os campos menos Se campo obrigatório,
1.2 Cadastro um ou mais. não cadastrar. Se
1. com dados
2. Clicar em inserir. campo não obrigatório,
Cadastrar incompletos.
3. Verificar inserção cadastrar.
cliente.
na tabela cliente.
1. Preencher um ou
mais campos com Não permitir cadastro.
dados inválidos.
1.3 Cadastro Não travar programa
com dados 2. Clicar em inserir. ou fechar.
errados. 3. Verificar inserção Dar mensagem de erro
na tabela cliente OU amigável.
4. Verificar erro.
Testes de software 19
6 Ambiente de testes
O ambiente de testes é aquele preparado para a realização das ativi-
dades de testes. É necessário que seja um ambiente apartado do am-
biente de produção onde está a operação da empresa com os dados re-
ais. Nesse ambiente deve ser reproduzido, geralmente em escala menor,
o ambiente de operação. Isto significa que servidor, sistema operacional,
aplicações com as quais o sistema vai interagir, banco de dados e outras
ferramentas devem estar presentes. Ferramentas para apoio aos testes
ou mesmo automação dos testes devem estar presentes também.
Testes de software 21
que o software é implementado. A integração contínua é uma práti-
ca proposta em 1997 como uma das principais práticas do Extreme
Programming (XP), com as seguintes etapas: planejamento do jogo,
pequena versão, metáfora, projeto simples e teste. Isso significa basi-
camente que cada desenvolvedor integra seu próprio trabalho continua-
mente (minimamente uma vez por dia). Esta prática garante que peque-
nas partes são adicionadas imediatamente uma vez implementadas e
ficam prontas para fazer parte do sistema antes de se tornarem compli-
cadas (FOWLER, 2006; HAMDANA; ALRAMOUNI, 2015).
Considerações finais
Neste capítulo você aprendeu sobre a importância dos testes como
ferramenta para verificação e validação de software. Esta atividade tor-
nou-se uma oportunidade de negócio para empresas se especializarem
na realização de testes. Foram vistos aspectos conceituais sobre os
testes, a maneira como os testes se incorporam ao ciclo de vida de
software e como eles podem ser classificados. Além disso, foi dado um
exemplo de um processo de testes e apresentados os ambientes e as
ferramentas para a realização de testes.
Referências
ANDERSIN, Jari. TPI: a model for test process improvement. Seminar on qual-
ity models for software engineering. Department of Computer Science of
University of Helsinki. Helsinki, 2004.
KULKARNI, Shrini. Test process maturity models: yesterday, today and tomor-
row. 6TH ANNUAL INTERNATIONAL SOFTWARE TESTING CONFERENCE.
Proceedings New Delhi, mar. 2006.
MOREIRA FILHO, Trayahú R.; RIOS, Emerson. Projeto & Engenharia de Software:
teste de software. Rio de Janeiro: Alta Books, 2003.
MYERS, G. J.; Badgett, T.; Thomas, T. M. The art of software testing. Hoboken:
John Wiley & Sons, 2012.
Testes de software 23
PAULA FILHO, Wilson de Pádua. Engenharia de software: fundamentos, méto-
dos e padrões. 2. ed. Rio de Janeiro: LTC, 2003.
Gestão da qualidade
•• Conceitos da qualidade.
•• Planejamento da qualidade.
•• Controle da qualidade.
•• Gestão da qualidade.
•• Garantia da qualidade.
1
1 Definições da qualidade
No capítulo 1 foi apresentada uma definição de qualidade de softwa-
re baseada na ideia de que, se eu tenho um bom processo para realizar
o desenvolvimento, é possível construir um software com qualidade.
Neste capítulo será abordada uma questão um pouco mais abrangen-
te, a gestão da qualidade de software. Para tanto é importante lembrar
que a qualidade está ligada ao usuário, à utilização do software: esta é
a meta final. Dessa forma serão apresentadas algumas definições da
qualidade consagradas pelos especialistas em qualidade (não em sof-
tware) para depois trazer esses conceitos para qualidade de software.
1.1 Qualidade
Existem catorze pontos para gestão da qualidade nos quais a qualidade é um processo
de melhoria contínua (DEMING, 1986)
QUALIDADE
Gestão da qualidade 3
2 A dinâmica da qualidade
As empresas mais estruturadas possuem uma equipe da qualida-
de que desenvolve programas específicos, como o estabelecimento de
metas da qualidade, e definem projetos da qualidade. Esses projetos ge-
ralmente visam o estabelecimento de melhorias no processo existente
e de programas de treinamento para conscientização para a qualidade,
desenvolvem métodos de verificação e validação e realizam o controle
e a gestão da qualidade. Tudo isso com o objetivo de melhorar a quali-
dade dos produtos e serviços oferecidos pela empresa.
Empresas menores não têm como possuir uma equipe que se dedi-
que integralmente à realização de programas da qualidade. No entanto,
exatamente as mesmas funções podem ser realizadas com pessoas
em tempo parcial dedicadas à definição e à melhoria de programas da
qualidade. Deve-se lembrar também que, com menos pessoas, é mais
fácil estruturar e desenvolver programas da qualidade.
Planejamento
da qualidade Controle da qualidade (operação)
Melhoria da qualidade
Spike
40 esporádico
Custo da má qualidade
20
Controle da qualidade
Novo nível de
Desperdício crônico controle da
qualidade
0 Tempo
Lições aprendidas
Gestão da qualidade 5
era realizado por meio da inspeção de 100% dos itens fabricados
(SPINOLA, 2008).
Controle estatístico de
processos (CEP) Anos 1930/1940
Inspeção
100% Anos 1920
IMPORTANTE
Gestão da qualidade 7
Esta definição tem o mérito de considerar, além dos requisitos explí-
citos, a adequação aos requisitos implícitos. Reconhece a necessidade
de o software possuir requisitos que nem sempre são declarados, mas
são necessários. No entanto, ainda não representa um conceito geral de
qualidade de software.
Baixo custo de • Para os usuários que desejam comprar milhares de cópias do software.
desenvolvimento • Para os gerentes de projeto que estão com orçamentos apertados.
• Para os usuários que gastam oito horas por dia na frente de uma tela utilizando
Facilidade para o
o software.
usuário
• Para os usuários que não conseguem se lembrar de detalhes de interface.
Gestão da qualidade 9
objetivos são continuamente reavaliados e aperfeiçoados. A partir des-
ses objetivos, articulam-se as diversas ações necessárias para atingi-
-los e sincronizam-se as atividades nos diversos níveis, desde a alta di-
reção até cada um dos postos de trabalho (SPINOLA, 2008).
3 Planejamento da qualidade
A qualidade pode e deve ser planejada. Como clientes, todos ficamos
desanimados, para não dizer pior, quando um voo se atrasa, um trata-
mento médico não é feito da melhor maneira, um brinquedo deixa de
funcionar, um eletrodoméstico quebra, um software é lento ou é difícil
de usar. Essas falhas frequentes são, na verdade, lacunas da qualidade
e necessitam de planejamento e ações para serem eliminadas (JURAN;
GODFREY, 1999).
Gestão da qualidade 11
saber “a quantas andamos”. Uma forma muito simples de fazer isso é
por intermédio da classificação das atividades desenvolvidas no projeto.
Todas as pessoas envolvidas com o projeto devem realizar apontamento
de horas, registrando quanto tempo foi gasto nas atividades do projeto.
IMPORTANTE
4 Controle da qualidade
Controle de qualidade é um processo gerencial universal para a rea-
lização de operações de modo a proporcionar estabilidade, evitar a mu-
dança adversa e manter o status quo. Para manter a estabilidade, o con-
trole da qualidade avalia o desempenho real, compara com as metas e
toma ações sobre a diferença (JURAN; GODFREY, 1999).
Gestão da qualidade 13
que pode ter sido causado por uma falha eventual, mas uma só medi-
ção fora da faixa não significa que foi perdido o controle do processo.
Gestão da qualidade 15
discutidos no capítulo 5. Nesse modelo, o processo é denominado
PPQA (process and product quality assurance, ou garantia da qualidade
de processo e produto) (CMMI, 2010).
Considerações finais
Nesta aula foi apresentada uma visão geral da qualidade, incluindo
seu histórico. Identificamos que a qualidade nasceu como uma neces-
sidade da indústria na fabricação de produtos em grande quantidade.
Esses conceitos evoluíram e foram trazidos para as demais atividades
humanas, particularmente para a área de software. A qualidade precisa
ser planejada e controlada.
Referências
CMMI PRODUCT TEAM. CMMI for development (version 1.3). Pittsburgh:
CMMI Institute, 2010. Disponível em: <http://cmmiinstitute.com/resources/cm-
mi-development-version-13>. Acesso em: 1 set. 2016.
CONTI, T. Building total quality: a guide for management. London: Chapman &
Hall, 1993.
Gestão da qualidade 17
DEMING, W.E. Out of the crisis. Cambridge: Cambridge University Press, 1986.
DUNN, R. H.; ULLMAN, R. S. TQM for computer software. 2. ed. New York:
McGraw-Hill, 1994. (McGraw-Hill System Design and Implementation Series).
SANDERS, J. Product, not process: a parable. IEEE Software. Mar 1997, p.6-8.
Gestão da qualidade 19
Capítulo 8
Melhoria contínua
do processo
1
1 A melhoria de processo na trilogia de Juran
Conforme discutido no capítulo anterior, de gestão da qualidade,
Juran e Godfrey (1999) apresentaram a trilogia que relaciona o planeja-
mento, o controle e a melhoria de processo. Neste capítulo será aborda-
do o processo de melhoria contínua.
O que é esperado
que seja feito
O que realmente
Ajuste de desempenho: é feito
- Capacidade de processo
- Ferramentas
- Conhecimento, perfil
- Autoridade
2.1 GQM
Q1: qual é a Q2 – qual é Q3: quantos Q4: qual o Q5: qual a Q6: quão Q7: qual o
Questões
P0: margem Px: margem MR: número RD: release BV: budget NT: número TC: horas de
Métricas
Se P2> 1.1 • P0 e
Modelo de
P3> 1.1 • P2
e… … …
então a meta
é satisfeita
2.2 PSM
Resultado da
Necessidades Produto de execução do
de informação informação plano de medição
3 Modelos de referência
O desenvolvimento de melhoria de processo baseada em modelo
(como CMMI, MPS.BR) é um dos caminhos que a empresa pode ado-
tar. É importante que seja definido, antes de qualquer coisa, qual é o
objetivo da empresa: se necessita a melhoria de processo por causa
de problemas em seu processo ou por causa de pressões de mercado
para obter uma certificação. No primeiro caso há a liberdade de realizar
a melhoria utilizando os modelos de processo como referência, usar
parte do modelo e fazer a mistura de mais de um modelo conforme
a conveniência interna. No segundo caso é necessário implementar o
modelo completo para se alcançar a certificação; a dificuldade está em
implementar um processo que faça sentido para a empresa e que real-
mente agregue valor.
Embora não seja para software, vale citar também a NBR ISO 9001,
que é um modelo de processo para se implementar um sistema de ges-
tão da qualidade. A ISO 9001 pode ser aplicada em qualquer atividade,
Níveis
5
Melhoria contínua
3 Processo definido
2 Gerência de projeto
A – Em otimização
B – Gerenciado quantitativamente
C – Definido
o
çã
D – Largamente definido
olu
Ev
E – Parcialmente definido
F – Gerenciado
G – Parcialmente gerenciado
5
A
4
Em otimização
B
Gerenciado quantitativamente
C
3
Definido
D
Largamente definido
E
Parcialmente definido
F
2
Gerenciado
G
Parcialmente gerenciado
Declaração Gerência
de trabalho de projeto
Implementação
de software Software
GERÊNCIA DE PROJETO
SI.O1 – Tarefas das atividades são realizadas segundo o plano do projeto corrente
SI.O6 – Uma configuração de software, que atende à especificação dos requisitos como
acordado com o cliente; inclui a documentação de operação, do usuário e de manutenção; é
integrada, posta em baseline e armazenada no repositório do projeto
NO PRODUTO PM SI
1 Registro de aceitação X
2 Solicitação de mudança X X
3 Registro de correção X
4 Documentação de manutenção X
5 Registro de reunião X
8 Plano do projeto X X
9 Repositório do projeto X
11 Especificação de requisitos X
12 Software X
13 Componente de software X
14 Configuração de software X X
17 Declaração de trabalho
19 Relatório de teste X
20 Registro de rastreabilidade X
21 Resultados da verificação X
22 Resultados da validação X
Referências
ABNT – ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC
29110-4-1 – Engenharia de Software: perfis do ciclo de vida de micro-organi-
zações (MOs) – Parte 4-1: especificações de perfil/grupo perfil genérico. Rio de
Janeiro: ABNT, 2011.
BASILI, V.; LINDVALL, M.; REGARDIE, M.; SEAMAN, C.; HEIDRICH, J.; MUNCH,
J.; ROMBACH, D.; TRENDOWICS, A. Linking software development and busi-
ness strategy through measurement. IEEE Computer Society, 2010. Disponível
em: <https://pdfs.semanticscholar.org/4275/9e525aae4736bab0ececa-
33db6396e28317d.pdf>. Acesso em: 9 fev. 2017.
Bibliografia.
e-ISBN 978-85-396-1228-4
17-499u CDD-001.64
BISAC COM060040
BISAC COM053000
Capítulo 1 Capítulo 5
Introdução à ciência de dados, 7 Modelagem de dados, 65
1 Breve histórico da ciência de 1 Modelo multidimensional, 66
dados, 8 2 NoSQL, 70
2 Business intelligence , 11 3 UML estendida, 72
3 Data warehousing , 13 Considerações finais, 76
4 Data discovery, 17 Referências, 77
Considerações finais, 20
Referências, 20 Capítulo 6
Analítico (analytics) para
Capítulo 2 Big Data, 79
Big Data, 23 1 Analítico, 80
1 Big Data , 24 2 Analítico descritivo, 81
2 Critério dos “V’s”, 25 3 Analítico preditivo, 91
3 Tratamento dos dados, 29 Considerações finais, 94
4 Qualidade de dados, 33 Referências, 95
Considerações finais, 36
Referências, 37 Capítulo 7
Mineração de dados, 97
Capítulo 3 1 Aprendizado de máquina, 98
Arquitetura Big Data, 39 2 Classificação, 99
1 Processamento massivamente 3 Associação, 101
paralelo, 40
4 Regressão, 102
2 Arquitetura GoogleFS, 41
5 Agrupamento, 106
3 Arquitetura HDFS, 42
Considerações finais, 108
4 MapReduce, 45
Referências, 109
Considerações finais, 49
Referências, 49 Capítulo 8
Análise visual de dados, 111
Capítulo 4
1 Análise OLAP, 112
Ingestão de dados, 51
2 Exploratória de dados, 117
1 Tipos de dados, 52
3 Árvores de decisão, 120
2 Coleta de dados, 54
4 Painéis de controle , 121
3 Integração dos dados, 58
Considerações finais, 121
4 Interoperabilidade dos dados, 61
Referências, 122
Considerações finais, 62
Referências, 63
Capítulo 9 Capítulo 10
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Plataformas de Big Data, 123 Novas fontes de dados para
1 Apache Hadoop, 124 Big Data, 135
2 Weka, 128 1 Dados abertos, 136
3 Tableau, 129 2 Web semântica, 139
4 Exemplos de aplicação, 132 3 Dados ligados, 144
Considerações finais, 133 4 Internet das coisas, 144
Referências, 134 Considerações finais, 146
Referências, 147
Introdução à
ciência de dados
7
A administração de Big Data envolve diversos aspectos, tais como
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
ciência de dados, arquitetura e plataformas de Big Data, análises es-
tatísticas (analytics), mineração de dados, ingestão e modelagem dos
dados e representação visual para a análise dos dados (visual analyti-
cs). Este capítulo vai apresentar um breve histórico da ciência de dados
e algumas técnicas relacionadas ao processo de tomada de decisão.
Ele está organizado em seções que abordam os conceitos de business
intelligence, data warehousing e data discovery.
1980 2000
Padrão SQL Google
BI
Mineração de dados
MapReduce
Processamento paralelo
Cloud computing
Orkut
Legenda Facebook
Empresas Twitter
Tecnologias Netflix
Hadoop
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
o modelo objeto relacional e as ferramentas CASE (computer-aided
software engineering), ou, em tradução livre para o português, enge-
nharia de software guiada por computador, permitiu que o usuário final
assumisse um papel mais ativo, passando a controlar diretamente os
sistemas e os dados fora do domínio do clássico processamento de da-
dos (KIMBALL; CASERTA, 2004). Ainda nos anos 1990, houve também o
barateamento do disco magnético, o que propiciou o desenvolvimento
de novos estilos de modelagem de dados, cujos objetivos eram a com-
preensibilidade da base de dados pelo usuário final e o desempenho de
consultas gigantes (TURBAN et al., 2009).
2 Business intelligence
Business intelligence (ou, em tradução livre para o português, inte-
ligência de negócios), ou simplesmente BI, é um termo que surgiu nos
anos 1980 e se refere ao processo de coleta, organização, análise, com-
partilhamento e monitoramento de informações (TURBAN et al., 2009).
A informação transformada e aplicada a um determinado processo de
decisão pode gerar vantagem competitiva para a organização. Assim,
podemos dizer que o BI é o produto da transformação de dados em infor-
mação, após ela ser analisada ou inserida em um determinado contexto.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
ções armazenadas na corporação por meio de ferramentas, ga-
rantindo maior precisão nas tomadas de decisão.
IMPORTANTE
IMPORTANTE
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
mitindo, portanto, atualizações.
fontes periodicamente
diversas
A
ETL Data Warehouse
BI
B
Área de concentração Data Mart Data Mart
C processo de metadados
verificação da carga
Além disso, é por meio do ETL que os dados podem ser enviados ao
data mart, que, como já foi dito, é um subconjunto do DW que “agrupa”
esses dados de acordo com um contexto (seja sua caraterística ou o
tipo de informação que possui), buscando cumprir os requisitos espe-
cíficos de determinados grupos/departamentos que precisem daquela
informação.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
transformação de dados em informação. Ou seja, é nessa etapa que o
BI acontece, organizando as informações e disponibilizando-as para
os usuários.
4 Data discovery
Em um ambiente ideal de BI, 80% das demandas de análise de dados
deveriam ser conduzidas pelos próprios usuários de negócio, deixan-
do nas mãos dos profissionais de TI as aplicações de BI corporativas.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
simplesmente não utilizados, gerando desperdício de trabalho dos pro-
fissionais de TI, que poderiam estar desempenhando atividades com-
plexas e de missão crítica (EVELSON, 2012).
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Este capítulo apresentou o conceito e um breve histórico da ciência
de dados, além de algumas técnicas relacionadas ao processo de aná-
lise de dados e de tomada de decisão.
Por fim, ressalta-se que não existe uma solução única para Big Data.
As técnicas apresentadas neste capítulo são complementares: o DW é
adequado a negócios com maior previsibilidade, com amplo domínio
sobre as informações ou com muitas regras já estabelecidas, enquanto
o DD é indicado em situações de auditorias, fiscalizações e análises
de tendência, dando maior flexibilidade e autonomia ao usuário nas
análises.
Referências
BARBIERI, Carlos. BI2-Business intelligence: modelagem e qualidade. São
Paulo: Elsevier Campus, 2012.
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
HEY, Tony; TANSLEY, Stewart; TOLLE, Kristin M. The fourth paradigm: data-
intensive scientific discovery. Redmond: Microsoft Research, 2009.
NATURE. Big Data: science in the petabyte era. Nature international weekly
journal of science, n. 7209, vol. 455, p. 1-136, 2008. Disponível em: <http://www.
nature.com/nature/journal/v455/n7209/>. Acesso em: 24 out. 2016.
TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, David. Business
intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre:
Bookman, 2009.
Big Data
23
informações úteis para a análise e suporte ao processo de decisão, feita
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
de forma rápida. Esse problema é conhecido como Big Data (MAYER-
-SCHONBERGER; CUKIER, 2013).
1 Big Data
As transações da sociedade contemporânea estão cada vez mais
automatizadas e, na última década, uma grande quantidade de dados,
proveniente de centenas de milhares de fontes diferentes, foi armaze-
nada em diversos meios computacionais, o que promove um grande
volume de dados nos sistemas computadorizados.
Big Data 25
1. Os nativos, que são o volume, a variedade e a velocidade.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
2. Os adquiridos, que são a variabilidade, a veracidade e o valor.
2.1 Volume
2.2 Variedade
2.3 Velocidade
NA PRÁTICA
Big Data 27
2.4 Variabilidade
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
A variabilidade, ou volatilidade, se refere aos tipos de dados que so-
frem alterações durante o tempo. Ou seja, dados dinâmicos e que são
atualizados constantemente.
2.5 Veracidade
2.6 Valor
Big Data 29
O tratamento massivo encadeado (workflow) de dados é composto
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
pelas seguintes fases: a descoberta de dados (data discovery), a inte-
gração de dados (data integration) e a exploração de dados (data explo-
ration), conforme figura 1.
Big Data 31
3.3.1 Análise
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Na fase de análise (analyze), o cientista de dados documenta, con-
comitantemente ao processo de análise, os passos utilizados no pro-
cessamento dos conjuntos de dados (datasets), desde a entrada até
a síntese de saída, possibilitando a reprodução e a evolução futura da
análise (MILLER; MORK, 2013).
3.3.2 Visualização
IMPORTANTE
4 Qualidade de dados
A qualidade do resultado do processo de análise depende da qua-
lidade dos dados armazenados nas bases. Os dados de integração de
bases diferentes podem apresentar ruído, informações ambíguas, con-
flitantes ou mesmo errôneas.
•• A integridade (completeness).
•• A validade (validity).
•• A granularidade (uniqueness).
•• A tempestividade (timeliness).
•• A precisão (accuracy).
•• A consistência (consistency).
•• A flexibilidade (flexibility).
Big Data 33
4.1. Integridade e validade
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
A integridade se refere a conjuntos de dados que refletem correta-
mente a realidade representada pela fonte de dados, que são consis-
tentes entre si e que, portanto, são dados válidos (LOSHIN, 2011). Por
exemplo, para tentar garantir a integridade de um banco de dados, no
caso da abordagem relacional, os SGBD oferecem uma restrição de in-
tegridade, que é uma regra de consistência de dados.
4.2 Granularidade
IMPORTANTE
4.3 Tempestividade
4.4 Precisão
4.5 Consistência
Big Data 35
4.6 Flexibilidade
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
A flexibilidade se refere à facilidade de elaboração de análises iné-
ditas (LOSHIN, 2011). Em outras palavras, o cientista de dados pode
manusear e formatar de acordo com suas necessidades e preferências.
Considerações finais
Em um ambiente global de competição, a pressão por inovação con-
tínua e por abordagens como “fazer melhor com menos” é uma ne-
cessidade constante. Este capítulo apresentou o conceito de Big Data,
os seus critérios e algumas técnicas relacionadas ao tratamento e à
qualidade dos dados.
Por outro lado, quanto mais bases forem integradas e mais diver-
sificado for o conjunto de dados, mais rico será o processo de análi-
se e mais importante será o impacto de seus resultados nas decisões
administrativas.
Referências
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
HAGEL, John; BROWN, John S. Your next IT strategy. Harvard Business Review,
2001. Disponível em: <https://hbr.org/2001/10/your-next-it-strategy>. Acesso
em: 21 out. 2016.
IBM. The four V’s of Big Data. Big Data & Analytics Hub, [s.d]. Disponível em:
<http://www.ibmbigdatahub.com/infographic/four-vs-big-data>. Acesso em:
21 out. 2016.
Big Data 37
for innovation, competition, and productivity. Citeulike. 2011. Disponível em:
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
<http://www.citeulike.org/group/18242/article/9341321>. Acesso em: 21 out.
2016.
MILLER, H. Gilbert; MORK, Peter. From data to decisions: a value chain for Big
Data. IT Professional, v. 15, p. 57-59, jan./fev. 2013.
Arquitetura
Big Data
39
1 Processamento massivamente paralelo
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
A arquitetura para o processamento de grandes volumes de dados
tem as seguintes características: distribuída, paralela e redundante. Ela
é distribuída e paralela para contornar o problema da pouca confiabili-
dade do hardware, e redundante, pois a falha de qualquer nó (um pro-
cessador e uma unidade de armazenamento) não deve causar nenhum
efeito sobre o desempenho do sistema (GHEMAWAT; GOBIOFF; LEUNG,
2003). Assim, com base nessas características, podemos resumir al-
guns pontos sobre a arquitetura de processamento:
2 Arquitetura GoogleFS
Arquivo 1
Partição 1
Servidor Arquivo 1
secundário Partição 2
ui vos
arq Arquivo 2
os
e sd
ar tiçõ Partição 1
sp
to à
o dire
ess Arquivo 1
Ac
Partição 2
3 Arquitetura HDFS
Hadoop distributed file system (HDFS) é um sistema de arquivos se-
melhante ao sistema GoogleFS. Ele utiliza blocos de 128 Mb, que são
maiores do que os blocos utilizados por sistemas de arquivo comuns
Replicação
Cliente
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
backup em uma pasta de rede compartilhada. Esse tipo de backup per-
mite recuperar o NameNode em caso de falha. Entretanto, essa recupe-
ração não é especialmente rápida.
IMPORTANTE
O HDFS será tão confiável quanto for o seu NameNode. Para ler ou
armazenar um arquivo, aplicações-cliente comunicam-se com o
NameNode para determinar apenas os DataNodes e os blocos que
devem ser acessados ou escritos. Após essa determinação, todo
fluxo de dados ocorre entre o cliente e o DataNode, de modo que o
NameNode nunca seja um gargalo para o funcionamento do sistema.
ITEM FUNCIONALIDADE
(cont.)
ITEM FUNCIONALIDADE
NA PRÁTICA
O Twitter reporta que ele utiliza o próprio HDFS para armazenar e pro-
cessar arquivos de log e de tweets. O Facebook costuma carregar o
seu cluster HDFS com dados provenientes de seu banco de dados de
usuários, executar análises (como criar lista de amigos sugeridos) e
depois recolocar esses dados em seus bancos de dados para servir
aos usuários.
4 MapReduce
O MapReduce tem por fundamento duas operações comuns em
programas funcionais: o map e o reduce, originários de alguns dialetos
do LISt Processing (Lisp). Nessa linguagem, a lista é a estrutura de da-
dos fundamental: os dados e os programas são representados como
listas, o que permite que a linguagem manipule o código-fonte como
qualquer outro tipo de dados (DEAN; GHEMAWAT, 2004).
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
uma lista de pares ordenados (chave2, valor2). As chaves não precisam
ser únicas. Um exemplo de chave seria o nome do arquivo-fonte para
leitura, e o valor, a linha do arquivo a ser aplicado a função map.
Por outro lado, a operação reduce recebe um par (chave2, lista de va-
lores2) e retorna um valor3. Os valores retornados por map que tinham
a mesma chave foram agrupados em uma lista. Intuitivamente, perce-
be-se que o estágio de map pode ser facilmente executado em paralelo.
NA PRÁTICA
Master Slave
Job tracker
MapReduce layer
HDFS layer
NameNode
DataNode DataNode
Multi-node cluster
NA PRÁTICA
Referências
APACHE HADOOP. HDFS users guide. The Apache Software Foundation. 2016.
Disponível em: <http://hadoop.apache.org/docs/current/hadoop-project-dist/
hadoop-hdfs/HdfsUserGuide.html>. Acesso em: 29 nov. 2016.
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
googleusercontent.com/media/research.google.com/pt-BR//archive/mapre-
duce-osdi04.pdf>. Acesso em: 29 nov. 2016.
Ingestão
de dados
51
Este capítulo vai apresentar as técnicas utilizadas para a ingestão de
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
dados. Além disso, analisará os diversos tipos de dados nos quais po-
dem ser feitas coletas de dados, os aspectos relacionados à integração
dos dados e os fundamentos da interoperabilidade dos dados.
1 Tipos de dados
Os tipos de dados se referem ao critério “variedade”, que já foi des-
crito em um capítulo anterior. A figura a seguir ilustra os diferentes tipos
de dados; eles podem ser classificados em dados estruturados, não es-
truturados e dados semiestruturados (que pode ser descrito como uma
mistura de ambos).
Cerca de 20% dos dados são do tipo estruturados, que são os dados
que podem ser organizados em colunas e linhas. Já os outros 80% são
os dados não estruturados, como os anexos de e-mail, um áudio ou ví-
deo, documentos, faturas, formulários, raio-X, Rich media, entre outros.
Vamos aprender sobre eles nas próximas seções.
20%
ESTRUTURADO
Linhas e colunas 80%
NÃO ESTRUTURADO
Anexos de e-mail
Áudio/vídeo
Contratos
Documentos
Faturas
Formulários
Imagens
Manuais
Mensagens instantâneas
Páginas Web
PDFs
Raios-X
Rich media
Verificações
NA PRÁTICA
Ingestão de dados 53
IMPORTANTE
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Conforme analisamos na figura, os dados não estruturados são os
dados mais comuns e representam 80% das fontes de dados dispo-
níveis atualmente.
NA PRÁTICA
2 Coleta de dados
A coleta de dados de Big Data é semelhante ao processo de ETL,
aprendido no capítulo 1. A coleta é um processo sistematizado que está
constantemente transferindo dados para um ambiente de carga. Ela
não é executada uma única vez para responder a uma demanda especí-
fica, mas periodicamente para atender a diversas demandas de análise
dos é formada por três camadas (TURBAN, 2009), as quais dão origem
aos processos de extração, de manipulação de dados e de carga, que
serão apresentados posteriormente. As camadas são:
Manipulação de dados
Extração Carga
Ingestão de dados 55
PARA PENSAR
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Construir uma base de análise sem montar o processo de coleta de
dados correspondente a querer que uma torneira funcione, fornecendo
constantemente água de boa qualidade, sem que haja por trás dela todo
um complexo sistema de fornecimento de água.
Ingestão de dados 57
◦◦ idade em faixa etária;
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
◦◦ renda em classe econômica;
Top-down
Bottom-up
Ingestão de dados 59
Quadro 1 – Abordagens de integração dos dados
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
ABORDAGEM VANTAGENS DESVANTAGENS
• Dificuldade em conhecer
o patrimônio de dados da
• Totalmente integrado organização e todos os sistemas
• Visão como um todo legados.
Ingestão de dados 61
Considerações finais
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Este capítulo apresentou as técnicas utilizadas para a ingestão de
dados. A ingestão de grandes volumes de dados requer técnicas e tec-
nologias avançadas de Big Data. A coleta de dados é a parte mais tra-
balhosa e invisível para o usuário final: ela é a ponta de um iceberg no
oceano do Big Data.
AALST, Wil van der; HEE, Kees van. Workflow management: models, methods,
and systems (information systems). Cambridge: MIT Press, 2004.
HAGEL, John; BROWN, John S. Your next IT strategy. Harvard Business Review,
2001. Disponível em: <https://hbr.org/2001/10/your-next-it-strategy>. Acesso
em: 21 out. 2016.
TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, David. Business
intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre:
Bookman, 2009.
Ingestão de dados 63
64
Administração do Big Data
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Capítulo 5
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Modelagem de
dados
65
1 Modelo multidimensional
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
A modelagem dimensional surgiu na década de 1990, mas é utili-
zada há bastante tempo, antes mesmo de receber esse nome. O con-
ceito tem origem na matemática dos eixos coordenados de Descartes,
nos vetores n-dimensionais ou matrizes da álgebra linear (KIMBALL;
CASERTA, 2004).
NA PRÁTICA
Dimensão A
Dimensão E Dimensão B
Fato
Dimensão D Dimensão C
Modelagem de dados 67
Aqui só é possível um tipo de relacionamento, um para n. Ou seja,
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
um único registro do atributo de contato da dimensão para zero ou
mais registros da tabela de fatos. Em termos de implementação física,
conjuntos de fatos dão origem a uma tabela de fatos, também conheci-
da como tabela fato. Vamos ver um exemplo na prática.
NA PRÁTICA
1.1 Dimensão
Modelagem de dados 69
2 NoSQL
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Os bancos de dados NoSQL (not only structured query language) via-
bilizam o armazenamento distribuído de dados sem exigir uma estru-
tura ou formatação específica, e a criação de modelos de dados que
favoreçam o seu uso para leitura (SADALAGE; FOWLER, 2013). Eles
não possuem consistência e junções (joins) entre seus dados, embo-
ra alguns tipos de consistências fracas e suporte a transações são
suportados.
2.4 Grafos
Modelagem de dados 71
diversas consultas complexas. Tais consultas (queries) podem ter essa
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
complexidade devido ao fato de estarmos modelando dados que não
são naturais ao paradigma relacional, em um banco relacional.
3 UML estendida
A UML na versão 2.2 é composta por quinze diagramas, divididos
nas categorias estruturais, ou estáticos, e dinâmicos (OMG, [s/d]). Os
estruturais têm o objetivo de mostrar as características que não mu-
dam com o tempo; já os dinâmicos mostram como o modelo evolui
durante o tempo. A UML é composta por diversos elementos básicos
que representam as diferentes partes de um sistema, como: classe, in-
terface, nota, pacote, caso de uso, atividades, dentre outros.
Modelagem de dados 73
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Figura 2 – Exemplo de diagrama OntoUML
<<phase>>
Criança
<<subkind>> <<role>>
<<phase>> Homem Esposo
Adolecente
<<kind>> <<material>> <<relator>>
<<phase>> Pessoa casadoCom Casamento
Adulto <<subkind>> <<role>>
Mulher Esposa
<<phase>>
Idoso
•• Papéis: “<<role>>”.
•• Fases: “<<phase>>”.
Modelagem de dados 75
Voltemos ao nosso exemplo: a relação material seria a relação
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
que o objeto tem com o outro. Ou seja, o esposo tem uma relação
“casadoCom” a esposa. Mas essa relação esconde um aspecto que é o
casamento, e possui características próprias, como a data do casamen-
to, local, testemunhas, etc. Portanto, o <<relator>> seria o casamento,
já que é este contexto relacional que determina o papel (role) dos dois
objetos. Ou seja, se o papel de um “subkind” é ser esposo, logo a relação
que ele tem é um casamento.
Considerações finais
Este capítulo apresentou as técnicas utilizadas para a modelagem
de dados para Big Data. Um modelo representa uma parte da realidade
que vai ser representada por ele. Sendo assim, não existe técnica de
modelagem melhor ou pior. O que existe é o modelo mais adequado a
esse ou àquele propósito.
Referências
GUIZZARDI, Giancarlo. Ontological foundations for structural conceptual
models. CTIT PhD Thesis Series – Telematica Instituut, Enschede, 2005.
KIMBALL, Ralph; CASERTA, Joe. The data warehouse ETL toolkit: practical
techniques for extracting, cleaning, conforming, and delivering data. Hoboken:
Wiley, 2004.
SADALAGE, Pramod J.; FOWLER, Martin. NoSQL essencial. São Paulo: Novatec,
2013.
TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, David. Business
intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre:
Bookman, 2009.
Modelagem de dados 77
78
<http://www.uml.org/what-is-uml.htm>. Acesso em: 6 jan. 2016.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Capítulo 6
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Analítico
(analytics) para
Big Data
79
Vamos inicialmente analisar o tipo analítico descritivo, utilizado
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
para descrever os padrões e tendências revelados pelos dados. Na se-
quência, vamos estudar tipo o analítico preditivo que visa prever o que
acontecerá no futuro.
1 Analítico
O analítico utiliza duas grandes áreas: a estatística e o data mining
(DM), ou mineração de dados em português (MAYER-SCHONBERGER;
CUKIER, 2013).
Por fim, o analítico prescritivo determina quais ações podem ser to-
madas para que algo de fato aconteça, ou como podemos fazer algo
acontecer. Esse tipo de análise está diretamente relacionado ao data
mining.
2 Analítico descritivo
Assim como em todas as análises, o analítico descritivo oferece uma
possível interpretação para os resultados obtidos, utilizando para isso a
coleta, a organização, a descrição, a análise e a interpretação dos da-
dos (BUSSAB; MORETTIN, 2013). Porém, no modelo de análise analítico
descritiva, o foco é buscar uma análise de uma situação imediata. Ao
invés de fazer uma análise para uma decisão de longo prazo, este mo-
delo de análise descritiva examina dados para que decisões imediatas
ou urgentes sejam tomadas com segurança.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
2.1 Interpolação linear
Para ficar mais fácil, vamos utilizar um exemplo: vamos supor que
precisamos calcular a raiz quadrada de 24,69.
A raiz não é exata e, portanto, torna o cálculo difícil. Por outro lado,
podemos identificar quais são as raízes exatas mais próximas desse
número. Antes temos a raiz do número 16, que é igual a 4, e depois
temos a raiz do número 25, que é igual a 5. Com essas duas informa-
ções, podemos transformar o cálculo de uma função difícil, com uma
raiz desconhecida e fracionária, em um cálculo de função fácil, realizada
por meio de uma regra de três.
2
16 = 4 2
24,69 = x 2
25 = 5
16 4
24,69 x
25 5
25 – 16 5–4
24,69 – 16 x–4
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
mesma forma, o número 24,69 menos 16 é proporcional à variável x
menos o número 4. Continuando o cálculo, encontraremos os valores
da multiplicação:
9 1
8,69 x–4
2008 3.216.381
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
CLASSES FREQUÊNCIA
2001|---2003 5.436.437
2004|---2006 7.459.805
2007|---2009 9.380.026
2010|---2012 10.525.126
2013|---2015 9.364.820
come nada. Nesse caso, temos como média ½ leitão para cada um. No
entanto, esse valor não caracteriza a situação. Em uma situação real, os
dois indivíduos morreriam: um de fome (por não comer nada ) e o outro
de indigestão (por comer um leitão inteiro sozinho). Em outras palavras,
a medida de posição pode trazer resultados errados. A variância é um
exemplo para resolver este problema e será apresentada mais adiante.
2.3 Moda
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Dizemos que um determinado produto está na “moda” quando, dentre
diversos outros produtos, ele está sendo usado por um número maior
de pessoas.
2.4 Mediana
2.5 Variância
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
como:
Onde:
3 Analítico preditivo
A análise preditiva ou inferencial busca analisar dados armazenados
ao longo de um tempo para mapear ou prever algum resultado e/ou
comportamento. Essa análise é realizada por meio de uma amostra.
A amostra nada mais é do que uma pequena parte de um todo, que é
escolhida para ser analisada pela técnica de amostragem.
3.1 Amostragem
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
•• Amostragem probabilística: cada elemento da população tem
uma probabilidade (não nula) de ser escolhido. Em geral, todos
os elementos têm a mesma probabilidade de ser escolhido. Um
exemplo seria o sorteio aleatório de dez pessoas para ganhar um
prêmio. Cada pessoa tem 10% de chance de ser escolhida.
•• Amostragem não probabilística: a amostragem é restrita aos ele-
mentos a que se tem acesso. Não há a possibilidade de sorteio.
Um exemplo é o estudo sobre a ocorrência de focos de dengue
em casas de um determinado bairro da cidade. Para realizá-lo, a
amostragem coletada da população será de algumas casas que
podem (ou não) ter contraído a doença. Este tipo de amostragem
não é aplicado em Big Data e não será detalhada neste livro.
Já o tamanho da amostra é calculado com base no parâmetro que
se deseja estimar e leva em consideração as incertezas inerentes à
estimação, tais como a variação original dos dados (variância popu-
lacional), da precisão requerida no trabalho, do tempo disponível, do
custo da amostragem e alguns erros inerentes à técnica de amostra-
gem (BUSSAB; MORETTIN, 2013). Em regra geral, podemos afirmar que
quanto maior a amostragem, maior será a precisão do resultado.
IMPORTANTE
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
que seleciona aleatoriamente estratos com elementos. Os estra-
tos devem ser homogêneos em termos do fenômeno que está
sendo considerado. Isso garante uma menor variabilidade e re-
presentatividade. Entretanto, requer o conhecimento prévio sobre
os estratos. Em análise de Big Data, essa técnica pode ser utiliza-
da para filtrar grandes volumes de dados, dividindo-os em grupos.
Por exemplo, ela pode ser aplicada para realizar a classificação
de documentos legais. Para obter uma amostra estratificada de
documentos, o cientista de dados organizaria primeiro a popu-
lação por ano e, então, selecionaria determinado número de ofí-
cios, certidões, decretos, contratos, por exemplo, garantindo que
o cientista de dados tenha a quantidade adequada de indivíduos
de cada classe na amostra final.
Considerações finais
Este capítulo apresentou algumas técnicas analíticas para Big Data.
O analítico descritivo é muito utilizado para comprovar a influência de
certas variáveis no resultado obtido.
BUSSAB, Wilton O.; MORETTIN, Pedro A. Estatística básica. 8. ed. São Paulo:
Saraiva, 2013.
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
Mineração de dados
97
A classificação identifica a qual classe um determinado objeto per-
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
tence, a associação identifica quais atributos de um objeto estão rela-
cionados e a regressão determina um objeto por um valor numérico
e não uma classe. Já o agrupamento visa identificar e aproximar os
objetos similares.
1 Aprendizado de máquina
O aprendizado de máquina (ou machine learning, em inglês) é o pro-
cesso de explorar os dados à procura de padrões consistentes para
detectar relacionamentos sistemáticos entre eles e agrupá-los em
classes.
Classificação, associação e
Técnicas Agrupamento.
regressão.
IMPORTANTE
2 Classificação
A classificação ou supervisão é o processo de organizar objetos em
classes de forma que membros de uma mesma classe sejam similares.
O objetivo é construir um modelo que possa ser aplicado a dados não
classificados visando categorizá-los em classes.
Mineração de dados 99
O agrupamento é geralmente realizado a partir de estruturas e pa-
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
drões nos dados. A classificação é realizada em três etapas (ZAKI;
MEIRA, 2014):
Objeto Classe
Transação de
ü
Fraude ou
cartão de crédito não fraude
NA PRÁTICA
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
e software em uma mesma compra. A segunda medida, denomina-
da confiança, indica que 60% dos clientes que compram computador
também compram o software.
Por fim, as regras que satisfazem aos dois valores mínimos são con-
sideradas fortes.
4 Regressão
A regressão (ou estimação) é um processo para estimar o valor de
uma determinada variável analisando-se os valores das demais (CHU,
2013). Ao invés de classes a serem previstas para um determinado ob-
jeto, como nos processos de classificação e associação, são previstos
valores contínuos.
IMPORTANTE
Objeto Classe
NA PRÁTICA
A regressão pode ser usada para estimar a quantia a ser gasta por
uma família de quatro pessoas durante a volta às aulas, ou estimar a
pressão arterial ideal de um paciente baseando-se na idade, no sexo
e na massa corporal.
Em outras palavras, esses valores são obtidos por meio de uma ex-
pressão matemática que relaciona pares de valores (variáveis predito-
ras) numéricos. Essa expressão permite estimar y em função de x. Por
meio desses pares, é possível construir um gráfico que melhor se ajuste
aos pontos. Exemplos de gráfico serão apresentados mais adiante.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
As regressões são chamadas de lineares quando a relação entre as
variáveis preditoras e a resposta segue um comportamento linear (CHU,
2013). Em outras palavras, é a obtenção da equação de uma reta para
relacionar as duas variáveis, x e y. Nesse caso, é possível criar um mo-
delo no qual o valor de y é uma função linear de x, ou seja, y é igual ao
resultado da multiplicação da variável a por x, mais a variável b:
y = ax + b
Tempo 180
de serviço Bônus
(meses) mensal 160
62 153 140
48 131 120
78 166
Bônus mensal
100
42 124
69 155 80
53 134 60
61 156
40
55 151
44 121 20
48 146 0
0 10 20 30 40 50 60 70 80 90
74 158
66 161 Tempo de serviço (em meses)
y = ax2 + bx + c
250
200
66 159
86 131 50
0
0 20 40 60 80 100
Preço de venda (R$)
5 Agrupamento
O agrupamento (ou clustering, em inglês) é o processo de agrupar
um conjunto de dados com características similares, de acordo com
algum critério de similaridade prefixado (ZAKI; MEIRA, 2014). Em outras
palavras, a tarefa de agrupamento visa identificar e aproximar os regis-
tros similares.
IMPORTANTE
Objeto Classe
Considerações finais
Este capítulo apresentou as técnicas utilizadas para a mineração de
dados. Em cenários de grandes volumes de dados, as soluções adota-
das devem obedecer a requisitos rígidos de escalabilidade, pois nem
tudo se resolve com a introdução de mais recursos de hardware.
Referências
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
Análise visual de
dados
111
destaque aos seus operadores, que são os drills, os filtros, o ranking, os
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
sorts, o tilling, etc.
1 Análise OLAP
A online analytical processing (OLAP) é um conjunto de processos
para a manipulação, visualização e análise de dados multidimensionais.
NA PRÁTICA
O
giã
Re
S
N
Suco
Cola
Produto
Leite
Creme
Cadeira
Sabonete
1 2 3 4 5 6 7
Mês
1.1 Operadores
NA PRÁTICA
PARA PENSAR
NA PRÁTICA
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
pode ser customizada, crescente ou decrescente.
NA PRÁTICA
2.1 Gráficos
3.738.448
3.646.548 3.443.329
Ano Total 3.432.249 3.172.750
2010 3.646.548 2.453.622
2011 3.443.329
2012 3.432.249
2013 3.738.448
2014 3.172.750
2015 2.453.622
2010 2011 2012 2013 2014 2015
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
te do todo (BUSSAB; MORETTIN, 2013). Um dos tipos mais utilizados é
o gráfico em formato de pizza, conforme mostra a figura 3. Neste caso,
é utilizado um gráfico em pizza, que ilustra a mesma série histórica da
produção total de veículos. Por meio desse gráfico o analista pode notar
percentualmente a quantidade de veículos produzidos no período dos
últimos cinco anos, que se manteve constante.
Figura 3 – Gráfico de setores para a série histórica de produção total de veículos (em%)
13% 18%
2010
2011
19% 17%
2.2 Histograma
2.000.000
0
2001 --- 2003 2004 --- 2006 2007 --- 2009 2010 --- 2012 2013 --- 2015
12.000.000
10.000.000
8.000.000
6.000.000
4.000.000
2.000.000
0
2001 --- 2003 2004 --- 2006 2007 --- 2009 2010 --- 2012 2013 --- 2015
3 Árvores de decisão
As árvores de decisão (decision trees) são um fluxograma em for-
ma de árvore no qual cada nó (não folha) indica um teste feito sobre
um valor (ZAKI; MEIRA, 2014). As ligações entre os nós representam os
valores possíveis do teste do nó superior, e as folhas indicam a classe
(categoria) a qual o registro pertence. Pela estrutura que formam, as
árvores de decisões podem ser convertidas em regras de classificação
de mineração de dados (apresentada no capítulo 7).
4 Painéis de controle
O painel de controle (ou dashboard, em inglês) é a visualização dos
diversos elementos gráficos apresentados neste capítulo em uma
única tela para fácil acompanhamento das informações (MAYER-
SCHONBERGER; CUKIER, 2013).
Considerações finais
Este capítulo apresentou as técnicas de representação visual para a
análise de dados. As análises OLAP oferecem respostas consistentes
às consultas iterativas executadas pelos usuários da ferramenta, inde-
pendentemente da complexidade do banco de dados. Em relação às
árvores de decisão, é necessária uma análise detalhada dos dados que
serão usados para garantir bons resultados, sendo uma técnica extre-
mamente poderosa.
Por fim, o ideal é que o painel de controle não tenha barra de rola-
gem para que a informação seja encontrada rapidamente. Outro fator
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
com nomes referentes ao contexto de análise.
Referências
ANFAVEA. Série histórica de produção total de automóveis, [s/d]. Disponível
em: <http://www.anfavea.com.br/estat%C3%ADsticas.html>. Acesso em: 28
jan. 2017.
BUSSAB, Wilton O.; MORETTIN, Pedro A. Estatística básica. 8. ed. São Paulo:
Saraiva, 2013.
TURBAN, Efraim; SHARDA, Ramesh; ARONSON, Jay E.; KING, David. Business
intelligence: um enfoque gerencial para a inteligência do negócio. Porto Alegre:
Bookman, 2009.
Plataformas de
Big Data
123
Já o Weka é uma plataforma com um catálogo de algoritmos com
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
técnicas de aprendizado de máquinas tais como aprendizado supervi-
sionado e não supervisionado.
1 Apache Hadoop
Trata-se de uma plataforma de software livre mantida pela Apache
que permite integrar clusters e máquinas virtuais em um único ambien-
te de processamento de Big Data (WHITE, 2015). Ele é composto por
duas camadas: um framework para MapReduce e um sistema de arqui-
vos distribuído.
IMPORTANTE
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
to com outras soluções disponíveis (WHITE, 2015). Por esse motivo, a
plataforma tem sido considerada um ecossistema que reúne inúmeros
projetos. A figura 1 apresenta os projetos relacionados, e a tabela se-
guinte, uma descrição de cada componente.
Ambari
R. Connectors
Mahout
Sqoop
Oozie
Hive
Pig
Hbase
YARN Map Reduce v2
Zookeeper
Flume
HDFS
COMPONENTE DESCRIÇÃO
(cont.)
COMPONENTE DESCRIÇÃO
Criado pelo Yahoo, é uma tentativa de fornecer uma linguagem de alto nível,
Pig acrescida de um framework de execução para computação paralela que permite
análises de arquivos muito grandes. É uma linguagem de alto nível.
Criado pelo Facebook, é uma camada de data warehouse que roda em cima do
Hive Hadoop. Utiliza uma linguagem chamada Hive SQL, similar à SQL, o que facilita
sua utilização.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
las empresas Cloudera, Hortonworks e MapR. É importante observar que
existem ainda distribuições criadas por grandes empresas de tecnologia,
tais como IBM e EMC, mas que não possuem o mesmo nível de acei-
tação no mercado. Além disso, outras grandes companhias, como Intel,
Microsoft e Teradata, tentaram criar suas próprias distribuições Hadoop,
mas acabaram optando por firmar parceria com uma das três empresas
citadas anteriormente (LUBLINSKY; SMITH; YAKUBOVICH, 2013).
2 Weka
A plataforma Weka, construída pela Waikato University, na Nova
Zelândia, consiste em um banco de programas em Java com os princi-
pais algoritmos de mineração de dados (SOURCEFORGE, 2016).
3 Tableau
O Tableau é um software de análise que combina exploração e visu-
alização de dados em um único aplicativo. Ele é capaz de importar da-
dos de arquivos, ou banco de dados, e visualizá-los de diversas formas
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
co em barras, pizza e linha, mapas geográficos, bolhas de ar, mapas de
calor, dentre outros. Também é possível efetuar relacionamento entre
arquivos ou base de dados, criar filtros e campos calculados (RUETER;
FIELDS, 2012).
NA PRÁTICA
Assim como o Google, a Tableau Software nasceu na Universidade
Stanford, em 2002, a partir de projetos de pesquisa de doutorandos
na área de visualização de dados provenientes de bancos de dados
relacionais multidimensionais de grande volume. É uma das cin-
quenta empresas que mais crescem nos Estados Unidos, tendo suas
aplicações usadas por mais de 30 mil pessoas ao redor do mundo
e por clientes como Google, GM, Microsoft, Citrix, Citigroup, Wells
Fargo, Coca-Cola, ExxonMobil e Walmart.
O Tableau baseia-se em três conceitos:
Tableau
Bancos de dados
Conexão ao vivo
em memória principal
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Algumas empresas têm aplicado a análise de grandes volumes de
dados para otimizar as suas operações ou melhorar os serviços aos
seus clientes (FEINLEIB, [s/d]). Dentre os vários casos de sucesso, po-
demos citar:
PARA PENSAR
Uma das maiores barreiras para explorar os benefícios do Big Data nas
organizações e governos são as questões de privacidade. O desafio é
demonstrar de forma assertiva que a análise de Big Data não é equiva-
lente ao “Big Brother”. Outro desafio apontado é a incerteza quanto ao
Retorno sobre Investimento (ROI), pois o Big Data envolve tecnologia de
ponta de alto custo e mão de obra especializada.
Considerações finais
Este capítulo apresentou algumas plataformas para Big Data, como
o Apache Hadoop e suas distribuições, o Weka e o Tableau.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
zenamento distribuídos.
Referências
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
FEINLEIB, David. The Big Data landscape, [s/d]. Disponível em: <http://www.
bigdatalandscape.com/>. Acesso em: 6 jan. 2017.
RUETER, Marc; FIELDS, Ellie. Tableau for the enterprise: an overview for IT.
Seattle, 2012. Disponível em: <https://www.tableau.com/sites/default/files/whi-
tepapers/whitepaper_tableau-for-the-enterprise_0.pdf>. Acesso em: 6 jan. 2017.
TECHAMERICA FOUND. Big Data and the public sector: a survey of IT deci-
sion makers in federal and state public sector organizations. New York, [s/d].
Disponível em: <https://www.splunk.com/pdfs/fact-sheets/sap-public-sector-
-big-data-report-final-2.pdf>. Acesso em: 6 jan. 2017.
WHITE, Tom. Hadoop: the definitive guide. Sebastopol: O’Reilly Media, 2015.
Novas fontes de
dados para Big Data
Este capítulo vai apresentar algumas novas fontes de dados para Big
Data. A aderência dos portais web às premissas de dados abertos pode
ser considerada um importante passo rumo à web semântica.
135
estão interligados na web. A internet das coisas, por sua vez, é uma
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
outra fonte de dados que deve ganhar muita importância nos próximos
anos.
1 Dados abertos
O conceito de dados abertos (ou open data, em inglês) é antigo e re-
mete a diferentes significados de acordo com o contexto em que é utili-
zado. Neste livro utilizaremos a definição do World Wide Web (W3C). De
acordo com essa definição, o conceito de dados abertos é a publicação
dos dados em seu formato bruto, compreensível por máquinas, para
o seu pleno reaproveitamento em aplicações desenvolvidas por outros
(W3C, 2013). É importante ressaltar que o conceito de “compreensível
por máquinas” implica a publicação dos dados e os seus metadados
em formato que pode ser interpretado eletronicamente, permitindo pro-
cessamento eletrônico.
O melhor uso que poderá ser feito com os seus dados certamente
será desenvolvido por outros, e não por você (BERNERS-LEE; HENDLER;
LASSILA, 2001). Em outras palavras, uma pessoa externa consegue vi-
sualizar melhor novas possibilidades de combinação dos dados com
outras fontes disponíveis.
PRINCÍPIO DESCRIÇÃO
Atual Publicados tão rapidamente quanto necessário para preservar o seu valor.
Processável por
Razoavelmente estruturados para permitir processamento automatizado.
máquina
Não proprietários Formato sobre o qual nenhuma entidade tem controle exclusivo.
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
Os dados governamentais abertos (ou open government data, em
inglês) são informações públicas governamentais que são compartilha-
das com os cidadãos na forma digital, por meio da web, promovendo
sua análise e reutilização (W3C [eGovernment], [s/d]a). O conceito ga-
nhou popularidade no movimento de transparência e governo aberto
em todo mundo (W3C [eGovernment], [s/d]a), cujo princípio é compar-
tilhado pela abertura de dados: tratar o acesso à informação pública
como regra, não como exceção.
A web está evoluindo para uma nova versão que possibilitará que
computadores interpretem, integrem-se, estabeleçam inferências e re-
lações sobre os dados. Essa nova versão da web é denominada web
semântica (BERNERS-LEE; HENDLER; LASSILA, 2001).
Confiável
Provas
Lógica
XML
URI Unicode
tidade de um recurso.
A utilização de URIs para identificar unicamente qualquer recurso e
a relação entre eles é muito importante, pois permite um esquema de
nome único e global por toda a web. Isso pode minimizar o problema
atual de homônimos de recursos na representação dos dados distribuí-
dos pela web (ANTONIOU; VAN HARMELEN, 2008).
NA PRÁTICA
“João da Silva”
temnome
temirmao joao
pedro
temEmail
temirmao
maria
“joao@email.com”
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
reutilização desses dados, interligando-os com outras fontes de dados
disponíveis.
3 Dados ligados
O conceito de dados ligados (ou linked data, em inglês) refere-se à
utilização da web para interligar dados relacionados que não estavam
previamente interligados ou simplesmente a uma boa prática reco-
mendável para expor, compartilhar e conectar fragmentos de dados,
informação e conhecimento na web semântica por meio de URIs e RDF
(CYGANIAK; JENTZSCH, 2014).
NA PRÁTICA
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.
em um sistema instalado em um prédio inteligente: as informações
captadas a partir dos sensores podem estar disponíveis apenas local-
mente para fins de gerenciamento e controle das variáveis, não devendo
ser expostas na internet.
Considerações finais
Este capítulo apresentou algumas novas fontes de dados para Big
Data, por exemplo os dados abertos e os dados abertos de governo, a
web semântica e a internet das coisas.
Referências
ANTONIOU, Grigoris; VAN HARMELEN, Frank. A semantic web primer. Boston:
The MIT Press, 2008.
BERNERS-LEE, Tim; HENDLER, James; LASSILA, Ora. The semantic web: a new
form of web content that is meaningful to computers will unleash a revolution
of new possibilities. Scientific American, v. 284, p. 34-43, 2001.
CHU, Wesley W. Data mining and knowledge discovery for Big Data: methodolo-
gies, challenge and opportunities. New York: Springer-Verlag, 2013.
CYGANIAK, Richard; JENTZSCH, Anja. The linking open data cloud diagram.
Insight. Dublin, 2014. Disponível em: <http://lod-cloud.net/>. Acesso em: 5 jan.
2017.
W3C. W3C semantic web activity. W3C, 2013. Disponível em: <https://www.
w3.org/2001/sw/>. Acesso em: 5 jan. 2017.
______. eGovernment at W3C: better government through better use of the web.
W3C, [s/d]a. Disponível em: <https://www.w3.org/egov/>. Acesso em: 5 jan.
2017.
149
150
Administração do Big Data
Material para uso exclusivo de aluno matriculado em curso de Educação a Distância da Rede Senac EAD, da disciplina correspondente. Proibida a reprodução e o compartilhamento digital, sob as penas da Lei. © Editora Senac São Paulo.