ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN

Post on 26-May-2015

187 views 5 download

description

Apresentação final do projeto realizado em duas disciplinas do mestrado do ITA: CE-230 e CE-235.

Transcript of ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN

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?