Escolar Documentos
Profissional Documentos
Cultura Documentos
FERRAMENTAS
Na programação temos que utilizar boas práticas no desenvolvimento de
software. Com isso são colocados os elementos de testes unitários,
ferramentas para documentação e controle de versão. Assim, os testes em
software são essenciais para que o produto entregue tenha os requisitos de
qualidade impostos pelo cliente ou cenários em que o sistema será
implementado.
3
3.1 FERRAMENTAS PARA PROGRAMAÇÃO EM LINGUAGEM
ORIENTADAS A OBJETOS
▸ Javadoc.
27
Documentação de código fonte com o Javadoc
▸ Javadoc.
28
Documentação de código fonte com o Javadoc
Importante!
▸ A junção dos testes unitários e o mecanismo de
documentação são um grande avanço na qualidade do
desenvolvimento. Além desses dois elementos, é de grande
importância uma forma de gerenciar as versões de um
software e as contribuições de diversas pessoas da equipe.
29
Situação problema
atividade
34
package U3S1;
import java.util.ArrayList;
/**
*
* @author Edilson Lima
*/
public class EstatisticasUmidade {
public EstatisticasUmidade()
{
lstUmidade = new ArrayList<Double>();
}
public void setValor(double umidade)
{
lstUmidade.add(umidade);
}
37 Atividade proposta:
Checklist:
Para verificar se a tarefa foi concluída com sucesso, os seguintes itens
devem ser contemplados:
• Criar os testes utilizando a marcação @Test;
• Todos os testes são executados retornando sucesso;
• O teste unitário consegue validar cenários de execução do método.
• Foram documentados todos os métodos com a tags @param e
@return.
• Foi documentada a classe com os parâmetros @author e @since
• Parâmetros foram descritos utilizando a tag @param;
• Os tipos de retorno forma mapeados pela tag @return;
41
Obrigado!
Não somos o que a sociedade e o acaso fizeram de nós, e sim
o que escolhemos ser, desde o mais profundo do nosso ser.
Peter Koestenbaum
edilsonlima3@gmail.com
42
Bibliografia
😉 Email
edilsonlima3@gmail.com
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 em busca de resultados...
3.3 MÉTODOS ÁGEIS EM ORIENTAÇÃO A
OBJETOS
Professor: Edilson Lima
2
Métodos Ágeis
O desenvolvimento de software é essencial para todas as atividades, e
podemos encontrar exemplos desta afirmação em todas as áreas, basta
olharmos ao redor. Durante o início da computação, o software não recebia
a sua devida importância, e o hardware recebia todo o crédito pelas
aplicações computacionais. Contudo, esse contexto mudou rapidamente,
devido à popularidade das soluções que o computador provia.
3
3.3 MÉTODOS ÁGEIS EM ORIENTAÇÃO A OBJETOS
Scrum
15
Scrum
Scrum master:
a. Possui familiaridade pela etapa atual de desenvolvimento
podendo ajudar toda equipe.
b. Ajuda a manter os princípios, valores e papéis do scrum.
c. Protege o time de desenvolvimento de interferências
externas.
d. Resolve conflitos e problemas técnicos e pessoais para
garantir a produtividade.
e. Não tem papel de gerência externa.
17
Scrum
Time de desenvolvimento:
a. Grupo de pessoas que se auto-organiza para atingir o objetivo
proposto pelo PO.
b. Com 5 a 9 pessoas, coletivamente possui todas as habilidades
necessárias para realizar o projeto.
18
Scrum
Situação problema
atividade
39
ATIVIDADE PROPOSTA
Checklist:
Para verificar a tarefa se deve:
1. Verificar se todas as tarefas são derivadas das histórias de
usuário;
2. Existem apenas tarefas que levam a entrega que o cliente pediu;
3. Verificar se as interfaces gráficas e banco de dados contemplam
as descrições que os usuários colocam.
46
Obrigado!
Não somos o que a sociedade e o acaso fizeram de nós, e sim
o que escolhemos ser, desde o mais profundo do nosso ser.
Peter Koestenbaum
edilsonlima3@gmail.com
47
Bibliografia
😉 Email
edilsonlima3@gmail.com
✋👆👉👍👤👦👧👨👩👪💃
🏃💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏
🔌🔑 em busca de resultados...
4.1 BANCO DE DADOS NoSQL
Professor: Edilson Lima
2
NoSQL
este tipo de banco de dados não tem um
esquema de dados rígido, o que facilita as
mudanças da aplicação durante o seu
desenvolvimento. Além disso, é possível fazer
escalonamento e alta disponibilidade, de
maneira mais simples e abrangente.
3
4.1 BANCO DE DADOS NoSQL
Atomicidade
▸ É uma característica do SGBD, na qual uma operação deve ser
executada por completo ou falhar, como a transferência de
dinheiro entre contas bancárias.
10
4.1 BANCO DE DADOS NoSQL
1. Independente de esquema
O armazenamento não possui uma organização rígida,
levando a um conjunto de bibliotecas para acesso mais
simples.
12
4.1 BANCO DE DADOS NoSQL
3. Crescimento horizontal
5. Autocontido
5. Controle de usuário
1. Key-value
▸ O sistema de key-value é uma estrutura mais simples, em que
cada conjunto de dados possui apenas uma chave principal. A
imagem a seguir apresenta um exemplo deste sistema, onde
na coluna Key temos um número que identifica o registro e na
coluna value existem os valores armazenados. Repare que não
é necessário padronizar os dados, sendo que os valores da
entrada 1 são diferentes da entrada 2.
20
4.1 BANCO DE DADOS NoSQL
1. Key-value
21
4.1 BANCO DE DADOS NoSQL
1. Key-value
▸ Um exemplo modelo key-value é o Amazon SimpleDB. Esse
tipo de organização contém as seguintes vantagens:
22
4.1 BANCO DE DADOS NoSQL
2. Document stores
▸ No modelo document stores, diversos arquivos formatados são
utilizados para fazer o armazenamento dos dados. Em vários
casos, utiliza-se o Extensible Markup Language (XML) ou
o JavaScript Object Notation (JSON) para fazer a formatação
dos dados que são armazenados no NoSQL. A imagem a
seguir apresenta um exemplo de um JSON.
23
4.1 BANCO DE DADOS NoSQL
2. Document stores
▸ Observe que é possível criar diversas estruturas em cada
registro e ainda no próprio NoSQL você pode utilizar diversos
arquivos diferentes para guardar os dados.
24
4.1 BANCO DE DADOS NoSQL
2. Document stores
▸ Um exemplo de uso do modelo document stores é o MongoDB.
Esse modelo apresenta as seguintes vantagens:
25
4.1 BANCO DE DADOS NoSQL
4. Grafos
▸ Nesse modelo a informação pode ter uma estrutura inicial
de key-value, porém, existe algum tipo de relacionamento
entre cada uma das entradas dos dados. A imagem a seguir
apresenta um exemplo desse tipo de forma de
armazenamento, em que o item de ID 1 possui ligação com o
item 3 e o item 3 possui ligações com o 2 e o 4. Um exemplo
do modelo de grafos é neo4j.
28
4.1 BANCO DE DADOS NoSQL
4. Grafos
29
4.1 BANCO DE DADOS NoSQL
4. Grafos
▸ Existem diversos cenários em que um NoSQL baseado
em grafos pode ser utilizado:
▪ Sistema de recomendações de filmes.
▪ Armazenamento de sistema forense.
▪ Sistema de armazenamento para machine learning.
▪ Relacionamento entre pessoas em uma rede social.
▪ Comunicação de sistema de internet of things (IoT).
30
4.1 BANCO DE DADOS NoSQL
Situação problema
atividade
33
Produtos:
• nome;
• marca;
• modelo;
• fabricantes;
• quantidade.
38 Atividade proposta:
Checklist:
• Analisar os pontos positivos e negativos do cenário proposto.
• Pensar em uma estrutura de dados para o sistema em formato
JSON.
41
Obrigado!
Não somos o que a sociedade e o acaso fizeram de nós, e sim
o que escolhemos ser, desde o mais profundo do nosso ser.
Peter Koestenbaum
edilsonlima3@gmail.com
42
Bibliografia
😉 Email
edilsonlima3@gmail.com
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 em busca de resultados...
4.2
INTRODUÇÃO AO DESENVOLVIMENTO
EM JAVA USANDO MongoDB
Professor: Edilson Lima
2
MongoDB
Vamos ver que a utilização e a configuração
básica deste sistema de gerenciamento de
banco de dados (SGBD) é simples, comparada a
SGDB relacionais simples.
3
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Versões do MongoDB
▸ Existem diversas versões disponíveis deste projeto, tais como:
a Atlas, para ser utilizada na nuvem e composta por formas
simples de criar instâncias e conjuntos do SGDB;
o Community Server, que pode ser utilizado de forma livre (que
usaremos aqui) e o Enterprise Server, que envolve custos de
licenciamento, porém possui algumas características a mais que
a versão Community.
7
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Download
▸ Faça o donwload em:https://goo.gl/pXAhsu (aba Community
Server), acesso em: 8 out. 2018. Existem versões para GNU/Linux,
Microsoft Windows e Mac OSX (selecione a versão para
Microsoft Windows versão 4.0, a arquitetura do computador deve
ser x86).
8
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Instalação
▸ Durante a instalação, selecione a versão Custom e certifique-se de
que todos os componentes estejam selecionados e sejam
instalados.
▸ Após essa etapa, selecione a opção “Install MongoDB as a Service”.
▸ No item Data Directory, insira o caminho C:\data\db, e no item Log
Directory, insira C:\data\log. Utilizar a opção de instalar como serviço
garante que o Microsoft Windows controle o início de forma
independente.
▸ Após essa etapa, selecione o item que define a instalação
do MongoDB Compass.
9
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Após a instalação
▸ É necessário verificar se as pastas, onde serão armazenados os
bancos de dados e os arquivos de log do MongoDB, foram
criados (C:\data\db e C:\data\log). Em caso negativo, você deverá
criá-las.
▸ Para isso, você pode utilizar o Explorador de Arquivos do
Microsoft Windows, mas também é possível fazer esse processo
com o prompt de comando do Windows (Command Prompt ou
CMD).
10
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Iniciar servidor
▸ Antes de iniciar o MongoDB, é necessário garantir que o servidor
mongod tenha sido iniciado. Para isso, ainda no prompt e como
administrador, é necessário utilizar o comando: "C:\Program
Files\MongoDB\Server\4.0\bin\mongod.exe"
▸ Ao “subir” o servidor, você verá na última linha, dentre várias
mensagens, a instrução “waiting for connections on port 27017”.
▸ O servidor estará esperando por conexões na porta 27017, que é
a padrão usada pelo MongoDB. Em seguida, você deve abrir uma
nova janela de prompt (sem fechar a que está aberta) e utilizar o
comando "C:\Program Files\MongoDB\Server\4.0\bin\mongo.exe"
12
4.2 INTRODUÇÃO AO DESENVOLVIMENTO EM JAVA USANDO MongoDB
Situação problema
atividade
33
Atividade Proposta
Checklist:
1. Verificar se todos os cenários foram avaliados considerando:
a. Quanto do sistema já foi desenvolvido;
b. Relação entre tabelas;
c. Dependência de transações;
d. Tipos de dados;
2. Para cada cenário o aluno deve apresentar um parecer da utilização do
NoSQL.
3. Verificar se o mongo foi devidamente iniciado.
4. Verificar se as duas janelas do prompt estão abertas e funcionando.
5. Verificar se o banco de dados foi devidamente criado;
6. Verificar se os dados foram devidamente inseridos;
7. Verificar se os dados inseridos condizem com a descrição do sistema.
46
Atividade Proposta
Obrigado!
Não somos o que a sociedade e o acaso fizeram de nós, e sim
o que escolhemos ser, desde o mais profundo do nosso ser.
Peter Koestenbaum
edilsonlima3@gmail.com
48
Bibliografia
😉 Email
edilsonlima3@gmail.com
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 em busca de resultados...
4.3 MÉTODOS ÁGEIS EM ORIENTAÇÃO A
OBJETOS
Professor: Edilson Lima
2
Métodos Ágeis
O desenvolvimento de software é essencial para todas as atividades, e
podemos encontrar exemplos desta afirmação em todas as áreas, basta
olharmos ao redor. Durante o início da computação, o software não recebia
a sua devida importância, e o hardware recebia todo o crédito pelas
aplicações computacionais. Contudo, esse contexto mudou rapidamente,
devido à popularidade das soluções que o computador provia.
3
4.3 MÉTODOS ÁGEIS EM ORIENTAÇÃO A OBJETOS
Scrum
14
Scrum
Scrum master:
a. Possui familiaridade pela etapa atual de desenvolvimento
podendo ajudar toda equipe.
b. Ajuda a manter os princípios, valores e papéis do scrum.
c. Protege o time de desenvolvimento de interferências
externas.
d. Resolve conflitos e problemas técnicos e pessoais para
garantir a produtividade.
e. Não tem papel de gerência externa.
16
Scrum
Time de desenvolvimento:
a. Grupo de pessoas que se auto-organiza para atingir o objetivo
proposto pelo PO.
b. Com 5 a 9 pessoas, coletivamente possui todas as habilidades
necessárias para realizar o projeto.
17
Scrum
Situação problema
atividade
37
ATIVIDADE PROPOSTA
Checklist:
Para verificar a tarefa se deve:
1. Verificar se todas as tarefas são derivadas das histórias de
usuário;
2. Existem apenas tarefas que levam a entrega que o cliente pediu;
3. Verificar se as interfaces gráficas e banco de dados contemplam
as descrições que os usuários colocam.
44
Obrigado!
Não somos o que a sociedade e o acaso fizeram de nós, e sim
o que escolhemos ser, desde o mais profundo do nosso ser.
Peter Koestenbaum
edilsonlima3@gmail.com
45
Bibliografia
😉 Email
edilsonlima3@gmail.com
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 em busca de resultados...