ita - ce-235 - ce-230 - apresentação final - setraif - dcn
DESCRIPTION
Apresentação final do projeto realizado em duas disciplinas do mestrado do ITA: CE-230 e CE-235.TRANSCRIPT
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
APRESENTAÇÃO FINAL
DISPOSITIVO DE COMUNICAÇÃO NA NUVEM (DCN)CES-63/CE-235 - CE-230 - CE-237
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
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.
ARQUITETURA
Solução Inicial:
Solução Final:
ARQUITETURA - DIAGRAMA DO SETRAIF
ARQUITETURA - DCN NO DIAGRAMA DO
SETRAIF
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)
MODELO NO RRRT - VERSÃO INICIAL
Diagrama de estrutura do DCN_DMT
Diagrama de Estados do DCN_DMT
Diagrama de estrutura do DCA_DCN
Diagrama de Estados do DCA_DCN
MODELO NO RRRT - VERSÃO UNIFICADA -DCA_DCN_JAR
Diagrama de estrutura
Diagrama de estados
MODELO NO RRRT - VERSÃO UNIFICADA -DCN_ANDROIDSERVICE
Diagrama de estrutura
Diagrama de estados
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.
ARTEFATOS GERADOS - BURNDOWN
Primeira Sprint Segunda Sprint
ARTEFATOS GERADOS - KANBAN
Primeira Sprint
ARTEFATOS GERADOS - KANBAN
Segunda Sprint
ARTEFATOS GERADOS - DIAGRAMA DE
SEQUÊNCIA
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).
ALGORITMO DE CRIPTOGRAFIA ESCOLHIDO: AES CRYPT
O Advanced Encryption Standard (AES) Crypt,
também conhecido como Rijndael, foi aprovado em
2001 pelo National Institute of Standards and Technology
(NIST).
Utiliza o processo de cifragem de bloco, com blocos de 128
bits e chaves de 256 bits. Desde sua adoção como
padrão, tornou-se rapidamente um dos algoritmos de chave
simétrica mais populares.
É Open Source, podendo ser utilizado sem custos.
USUÁRIOS DO AES CRYPT
O AES Crypt é muito utilizado por indivíduos,
corporações e até mesmo diversos departamentos do governo dos Estados
Unidos.
O AES Crypt foi aprovado pela NSA (National
Security Agency) dos EUA para criptografia de
informações sensíveis.
O AES Crypt é um dos padrões recomendados
pelo IEEE para segurança de redes wireless.
FLUXO DE SUCESSO- CRIPTOGRAFIA
O DCN criptografa a mensagem a partir
da senha do usuário
A mensagem é enviada para o DCA
O DCA verifica o usuário e recupera a senha que foi pré-definida de modo
seguro (e.g. através de um cadastro feito pelo site da empresa
via https)
O DCA descriptografa a
mensagem
CÓDIGO-FONTE:PROJETO DE CRIPTOGRAFIA (DCN-DCA)
Utilizaçao da biblioteca AES Crypt em Java.
Encapsulamento da biblioteca em duas
funções:
byte[] criptografar(String mensagem, String
senha)
String descriptografar(byte[]
mensagem, String senha)
Criação de um arquivo .jar com essas funções
para ser utilizado no servidor em Java do
DCA.
DCN NO ANDROID (DCN-DMT)
Desenvolvimento da solução integrada ao
DMT-C
Uso da solução de criptografia/descriptografia
Conexão ao DCA através da Internet (ou Intranet)
Envio e recebimento do resultado das transações no dispositivo móvel do
cliente
QUALIDADE, CONFIABILIDADE E SEGURANÇA
(SAFETY)CÓDIGO-FONTE GERADO
DCN - DMT DCN - DCA Modelo
• Eclipse
• Android
• Java
• Eclipse
• Java
• Rational Rose Real Time
• C++
TAMANHO DO CÓDIGO-FONTE
DCN - DMT DCN - DCA Modelo
Código 436 415 2.070
Comentários 175 144 546
Total 611 559 2.616
DCN - DMT DCN - DCA Modelo
Código 611 559 2.616
Vocabulário 232 223 2.878
Tamanho 1.402 1.368 23.048
Medição do tamanho por linhas de código Medição do tamanho pelas métricas de Halstead
MÉTRICAS DE HALSTEAD
Ex.: double result = 1 + 3 * 3 + x / y;
Operandos: “=”, “+”, “*”, “/”, “;” = Resultado: 5Operadores: “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
COMPLEXIDADE CICLOMÁTICA - CONCEITOS
public boolean calcularAprovacao() {
float media;
if (frequencia < 75) {
return false;
} else {
media = (nota1 + nota2) / 2;
if (media < 30) {
return false;
} else {
if (media > 70) {
return true;
} else {
if (((media + notaFinal) / 2) >= 50){
return true;
} else {
return false;
}
}
}
}
1
2
3
4
5
6
7
8
9
0
Cálculo:
M = E – N + 2 * P
Onde:• M – complexidade ciclomática• E – quantidade de setas• N – quantidade de nós• P – quantidade de componentes conectados
Ex.: M = 13 - 10 + 2 * 1 = 5
Algoritmo - Aprovação de um aluno
Resultado Descrição
1-10 Programa Simples, baixo risco
11-20 Programa mais complexo, risco moderado
21-50 Programa complexo, risco alto
>50 Programa não testável, risco elevado
COMPLEXIDADE CICLOMÁTICA
PLANO DE GARANTIA DA QUALIDADE (PGQ)
Criado para garantir a
qualidade no desenvolvimento
do subproduto DCN do SETRAIF
Utilização de Métodos Ágeis
TESTE DE INSTRUMENTAÇÃO - RQA-RT
Estrutura criada
Código-fonte
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
TESTE ÁGIL DE SOFTWARE
Entregue: Plano de Teste v1.0
1º Sprint 2º Sprint
Entregue: Plano de Teste v2.0
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
CONCLUSÃO
PERGUNTAS?