Slides Poo2 Unificados
Slides Poo2 Unificados
Slides Poo2 Unificados
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
[email protected]
42
Bibliografia
😉 Email
[email protected]
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 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
[email protected]
47
Bibliografia
😉 Email
[email protected]
✋👆👉👍👤👦👧👨👩👪💃
🏃💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏
🔌🔑 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
[email protected]
42
Bibliografia
😉 Email
[email protected]
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 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
[email protected]
48
Bibliografia
😉 Email
[email protected]
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 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
[email protected]
45
Bibliografia
😉 Email
[email protected]
✋👆👉👍👤👦👧👨👩👪💃🏃
💑❤😂😉😋😒😭👶😸🐟🍒
🍔💣📌📖🔨🎃🎈🎨🏈🏰🌏🔌
🔑 em busca de resultados...