SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
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
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 estrutura do DCA_DCN




 Diagrama de Estados do DCN_DMT     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          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.
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.
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)
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)
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
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++
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
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
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
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
1º Sprint                       2º Sprint




Entregue: Plano de Teste v1.0   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?

Mais conteúdo relacionado

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

TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...Walter Coan
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Rodrigo Immaginario
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmosdigobfpc
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoMaurício Harley
 
Grades computacionais e suas aplicações
Grades computacionais e suas aplicaçõesGrades computacionais e suas aplicações
Grades computacionais e suas aplicaçõesLeandro Ciuffo
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisAdriano Teixeira de Souza
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosLeandro Rezende
 
Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery dayRoberto Fonseca
 
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUES
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUESAdversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUES
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUESEMERSON EDUARDO RODRIGUES
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...Marcio Machado Pereira
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2Marco Guimarães
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)Marco Guimarães
 
Segurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftSegurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftUilson Souza
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...WeOp - The Operations Summit
 
KNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoKNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoRichiely Paiva
 
Double Trust - Services & Portfolio
Double Trust - Services & PortfolioDouble Trust - Services & Portfolio
Double Trust - Services & PortfolioRui Costa
 

Semelhante a ITA - CE-235 - CE-230 - Apresentação Final - SETRAIF - DCN (20)

TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
 
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
Mvp show cast - Defesa em profundidade: Veja como as tecnologias microsoft po...
 
Criptgrafia algoritmos
Criptgrafia   algoritmosCriptgrafia   algoritmos
Criptgrafia algoritmos
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
 
AWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e DemonstraçãoAWS - Conceitos, Segurança e Demonstração
AWS - Conceitos, Segurança e Demonstração
 
Grades computacionais e suas aplicações
Grades computacionais e suas aplicaçõesGrades computacionais e suas aplicações
Grades computacionais e suas aplicações
 
Sistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids ComputacionaisSistemas Distribuídos - Grids Computacionais
Sistemas Distribuídos - Grids Computacionais
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
 
Sql server 2016 discovery day
Sql server 2016   discovery daySql server 2016   discovery day
Sql server 2016 discovery day
 
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUES
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUESAdversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUES
Adversary Emulation com Cobalt Strike EMERSON EDUARDO RODRIGUES
 
Skype
SkypeSkype
Skype
 
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
[Pereira, IC'2013] Uma nova abordagem para detecção e extracao de paralelismo...
 
Palestra
PalestraPalestra
Palestra
 
126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2126015847 seguranca-de-redes-criptografia-2
126015847 seguranca-de-redes-criptografia-2
 
126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)126015847 seguranca-de-redes-criptografia-2 (1)
126015847 seguranca-de-redes-criptografia-2 (1)
 
What's New On Azure IaaS
What's New On Azure IaaSWhat's New On Azure IaaS
What's New On Azure IaaS
 
Segurança em Plataforma Microsoft
Segurança em Plataforma MicrosoftSegurança em Plataforma Microsoft
Segurança em Plataforma Microsoft
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
 
KNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizadoKNN - CUDA - Categorizador de rótulos automatizado
KNN - CUDA - Categorizador de rótulos automatizado
 
Double Trust - Services & Portfolio
Double Trust - Services & PortfolioDouble Trust - Services & Portfolio
Double Trust - Services & Portfolio
 

Mais de Jefferson Andrade

Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade
 
Jefferson Andrade - Esri Dev Summit 2016 #01
Jefferson Andrade - Esri Dev Summit 2016 #01Jefferson Andrade - Esri Dev Summit 2016 #01
Jefferson Andrade - Esri Dev Summit 2016 #01Jefferson Andrade
 
Esri DevSummit DC 2015 - Resumo - AndradeJeff
Esri DevSummit DC 2015 - Resumo - AndradeJeffEsri DevSummit DC 2015 - Resumo - AndradeJeff
Esri DevSummit DC 2015 - Resumo - AndradeJeffJefferson Andrade
 
Introdução ao Web AppBuilder for ArcGIS
Introdução ao Web AppBuilder for ArcGISIntrodução ao Web AppBuilder for ArcGIS
Introdução ao Web AppBuilder for ArcGISJefferson Andrade
 
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson Andrade
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson AndradeABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson Andrade
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson AndradeJefferson Andrade
 
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade
 
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...Jefferson Andrade
 
ITA CE-230 Lista de Exercício 3 - Apresentação
ITA CE-230 Lista de Exercício 3 - ApresentaçãoITA CE-230 Lista de Exercício 3 - Apresentação
ITA CE-230 Lista de Exercício 3 - ApresentaçãoJefferson Andrade
 
Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson Andrade
Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson AndradeNorma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson Andrade
Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson AndradeJefferson Andrade
 

Mais de Jefferson Andrade (9)

Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev ToolsJefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
Jefferson Andrade - Esri Dev Summit 2016 #02 - Dev Tools
 
Jefferson Andrade - Esri Dev Summit 2016 #01
Jefferson Andrade - Esri Dev Summit 2016 #01Jefferson Andrade - Esri Dev Summit 2016 #01
Jefferson Andrade - Esri Dev Summit 2016 #01
 
Esri DevSummit DC 2015 - Resumo - AndradeJeff
Esri DevSummit DC 2015 - Resumo - AndradeJeffEsri DevSummit DC 2015 - Resumo - AndradeJeff
Esri DevSummit DC 2015 - Resumo - AndradeJeff
 
Introdução ao Web AppBuilder for ArcGIS
Introdução ao Web AppBuilder for ArcGISIntrodução ao Web AppBuilder for ArcGIS
Introdução ao Web AppBuilder for ArcGIS
 
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson Andrade
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson AndradeABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson Andrade
ABNT NBR ISO/IEC 25000 Standard - SQuaRE - Jefferson Andrade
 
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
 
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...
Jefferson Andrade - Informações de um Kanban e de um Cummulative Flow Diagram...
 
ITA CE-230 Lista de Exercício 3 - Apresentação
ITA CE-230 Lista de Exercício 3 - ApresentaçãoITA CE-230 Lista de Exercício 3 - Apresentação
ITA CE-230 Lista de Exercício 3 - Apresentação
 
Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson Andrade
Norma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson AndradeNorma ABNT NBR ISO/IEC 25000 - SQuaRE - Jefferson Andrade
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.
  • 6. ARQUITETURA - DCN NO DIAGRAMA DO SETRAIF
  • 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.
  • 12. ARTEFATOS GERADOS - BURNDOWN Primeira Sprint Segunda Sprint
  • 13. ARTEFATOS GERADOS - KANBAN Primeira Sprint
  • 14. ARTEFATOS GERADOS - KANBAN Segunda Sprint
  • 15. ARTEFATOS GERADOS - DIAGRAMA DE SEQUÊNCIA
  • 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
  • 27. PLANO DE GARANTIA DA QUALIDADE (PGQ) Criado para garantir a qualidade no desenvolvimento do subproduto DCN do SETRAIF Utilização de Métodos Ágeis
  • 28. TESTE DE INSTRUMENTAÇÃO - RQA-RT Estrutura criada Código-fonte
  • 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