Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson Andrade
ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN
1. APRESENTAÇÃO FINAL
DISPOSITIVO DE COMUNICAÇÃO NA NUVEM (DCN)
CES-63/CE-235 - CE-230 - CE-237
Prof. Dr. Adilson Marques da Cunha
Scrum Master:Jefferson Andrade
CES-63/CE-235: Édipo, Rafael, Bruno, Vinícius, Elvis, Paulo Ricardo,
Daniel, Luca, Jefferson. Mentor: Prof. Alvaro
CE-230: Glaydson, Manasseis, Thoris, Jefferson
CE-237 - Alunos: Marcelo, Victor. Mentora: Etiene Lamas
ITA – CES-63/CE-235/CE-230/CE-237 – Novembro de 2012
2. AGENDA - DCN
DCN
• Visão
• Arquitetura
Artefatos e Entregáveis
• Lista de Artefatos
• Algoritmo de Criptografia Escolhido
• Código-fonte:
• Projeto de Criptografia (DCN-DCA)
• DCN no Android (DCN-DMT)
Qualidade, Confiabilidade e Segurança (Safety)
Testabilidade
Conclusão
3. DCN - VISÃO
Para um dispositivo móvel que deseja realizar transações
eletrônicas, o DCN - Dispositivo de Comunicação na Nuvem
(Protocolos) é uma camada de comunicação que permite a
troca de mensagens entre o dispositivo móvel e o dispositivo
de controle de acesso. Diferentemente das soluções
existentes, nosso produto possui praticidade.
7. ARTEFATOS E ENTREGÁVEIS
Modelo no RRRT (Rational Rose Realtime)
• Versão Inicial
• Versão Unificada
Burndown
Kanban
Diagrama de Sequência
Documento de Segurança
Algoritmo de Criptografia Escolhido
Código-fonte:
• Projeto de Criptografia (DCN-DCA)
• DCN no Android (DCN-DMT)
8. MODELO NO RRRT - VERSÃO INICIAL
Diagrama de estrutura do DCN_DMT Diagrama de estrutura do DCA_DCN
Diagrama de Estados do DCN_DMT Diagrama de Estados do DCA_DCN
9. MODELO NO RRRT - VERSÃO UNIFICADA -
DCA_DCN_JAR
Diagrama de
estrutura
Diagrama de
estados
10. MODELO NO RRRT - VERSÃO UNIFICADA -
DCN_ANDROIDSERVICE
Diagrama de
estrutura
Diagrama de
estados
11. SPRINTS - METAS
Sprint #1 Meta: Pesquisar e definir a forma de comunicação entre os
dispositivo móvel do cliente e o dispositivo de controle de acesso do
SETRAIF.
Sprint #2 Meta: Implementar comunicação segura entre o dispositivo
móvel do cliente e o dispositivo de controle de acesso do SETRAIF.
16. DOCUMENTO DE SEGURANÇA
Contém definições
sobre a forma de
criptografia utilizada
nas comunicações
feitas entre o
dispositivo móvel e o
DCA (Dispositivo de
Controle de
Acessos).
17. ALGORITMO DE CRIPTOGRAFIA ESCOLHIDO:
AES CRYPT
O Advanced Encryption Utiliza o processo de cifragem
Standard (AES) Crypt, de bloco, com blocos de 128
também conhecido como bits e chaves de 256 bits.
Rijndael, foi aprovado em Desde sua adoção como
2001 pelo National Institute of padrão, tornou-se rapidamente
Standards and Technology um dos algoritmos de chave
(NIST). simétrica mais populares.
É Open Source, podendo ser
utilizado sem custos.
18. USUÁRIOS DO AES CRYPT
O AES Crypt é muito
O AES Crypt foi aprovado
utilizado por indivíduos,
pela NSA (National
corporações e até mesmo
Security Agency) dos EUA
diversos departamentos
para criptografia de
do governo dos Estados
informações sensíveis.
Unidos.
O AES Crypt é um dos
padrões recomendados
pelo IEEE para segurança
de redes wireless.
19. FLUXO DE SUCESSO- CRIPTOGRAFIA
O DCA verifica o
usuário e recupera a
senha que foi pré-
O DCN criptografa a O DCA
A mensagem é definida de modo
mensagem a partir descriptografa a
enviada para o DCA seguro (e.g. através
da senha do usuário mensagem
de um cadastro feito
pelo site da empresa
via https)
20. CÓDIGO-FONTE:
PROJETO DE CRIPTOGRAFIA (DCN-DCA)
Criação de um arquivo
Encapsulamento da .jar com essas funções
Utilizaçao da biblioteca
biblioteca em duas para ser utilizado no
AES Crypt em Java.
funções: servidor em Java do
DCA.
byte[]
criptografar(String
mensagem, String
senha)
String
descriptografar(byte[]
mensagem, String
senha)
21. DCN NO ANDROID (DCN-DMT)
Desenvolvimento da
Uso da solução de
solução integrada ao
criptografia/descriptografia
DMT-C
Envio e recebimento do
Conexão ao DCA através resultado das transações
da Internet (ou Intranet) no dispositivo móvel do
cliente
22. QUALIDADE, CONFIABILIDADE E SEGURANÇA
(SAFETY)
CÓDIGO-FONTE GERADO
DCN - DMT DCN - DCA Modelo
• Eclipse • Eclipse • Rational Rose Real
• Android • Java Time
• Java • C++
23. TAMANHO DO CÓDIGO-FONTE
Medição do tamanho por linhas de código Medição do tamanho pelas métricas de Halstead
DCN - DMT DCN - DCA Modelo DCN - DMT DCN - DCA Modelo
Código 436 415 2.070 Código 611 559 2.616
Comentários 175 144 546 Vocabulário 232 223 2.878
Total 611 559 2.616 Tamanho 1.402 1.368 23.048
24. MÉTRICAS DE HALSTEAD
Ex.: double result = 1 + 3 * 3 + x / y;
Operandos: “=”, “+”, “*”, “/”, “;” = Resultado: 5
Operadores: “double”, “result”, “1”, “3”, “3”, “x”, “y” = Resultado: 7
DCN - DMT DCN - DCA Modelo Descrição
Tamanho 1.402 1.368 23.048 Soma de entradas de operadores/operandos
Vocabulário 232 223 2.878 Quantidade de entradas únicas representando o
tamanho da aplicação
Dificuldade 84,92 95,51 225,00 Dificuldade de interpretação do código fonte
Volume 11.016,89 10.671,63 264.841,14 Palavras que se faz ler para absorver o significado
do código fonte
Esforço 935.554 1.019.247 59.589.254 Esforço mental para recriar o software.
Bugs 3,672296 3,55721 88,280377 Estimativa de bugs
Tempo (h) 14,43757 15,72913 919,58726 tempo necessário para implementação
25. COMPLEXIDADE CICLOMÁTICA - CONCEITOS
Algoritmo - Aprovação de um aluno Cálculo:
public boolean calcularAprovacao() {
float media; M=E–N+2*P
if (frequencia < 75) 1 {
return false; 2
} else { Onde:
media = (nota1 + nota2) / 2; • M – complexidade ciclomática
if (media < 30) { 3 • E – quantidade de setas
4 • N – quantidade de nós
return false;
} else { • P – quantidade de componentes
5
if (media > 70) { conectados
6
return true;
} else { Ex.: M = 13 - 10 + 2 * 1 = 5
7
if (((media + notaFinal) / 2) >= 50){
8
return true;
} else { Resultado Descrição
9
return false;
1-10 Programa Simples, baixo risco
}
}
0 11-20 Programa mais complexo, risco moderado
}
} 21-50 Programa complexo, risco alto
>50 Programa não testável, risco elevado
29. TESTABILIDADE
• Problem Based Learning
• SETRAIF
• Relação multidisciplinar
• CES-63/CE-235
• CE-230
• CE-237
• Ferramentas colaborativas
• Metodologias Ágeis - Scrum
• Teste Ágil de Software
30. TESTE ÁGIL DE SOFTWARE
1º Sprint 2º Sprint
Entregue: Plano de Teste v1.0 Entregue: Plano de Teste v2.0
31. TESTES DE ACEITAÇÃO
Funcionalidades de maior valor de negócio:
• Criptografia
• Descriptografia
• Comunicação interna com DMT-C
• Comunicação interna com DCA
• Comunicação externa entre DMT-C e DCA
Os Testes de Aceitação serão executados
através da demonstração do sistema, após
apresentação do projeto