12
Decisão #1 Decisão- chave Utilização de C para desenvolvimento do MCTCore. Drivers RNF: O código deve ser escrito na linguagem C. Descrição O sistema legado a ser usado para comunicação com o sistema SCADA é escrito em C. C é uma linguagem imperativa de ótimo desempenho para aplicações em tempo real. Vantagens Alto desempenho. Desvantage ns Dificuldade no tratamento de erros. Observaçõe s A linguagem não é tão familiar para os membros do time. Ainda precisa ser estudada com mais detalhes. Stakeholders Desenvolvedores; Testadores; Gerente.

Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Embed Size (px)

Citation preview

Page 1: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #1

Decisão-chave Utilização de C para desenvolvimento do MCTCore.Drivers RNF: O código deve ser escrito na linguagem C.

Descrição

O sistema legado a ser usado para comunicação com o sistema SCADA é escrito em C. C é uma linguagem imperativa de ótimo desempenho para aplicações em tempo real.

Vantagens Alto desempenho.Desvantagens Dificuldade no tratamento de erros.

Observações A linguagem não é tão familiar para os membros do time. Ainda precisa ser estudada com mais detalhes.

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 2: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #2

Decisão-chave Utilização de Java para desenvolvimento da lógica de negócio do MCTAlarms e MCT Viewer.

Drivers RNF: O MCTAlarms deve ser escrito em Java.RNF: O MCTViewer deve ser escrito em Java.

Descrição

Java é uma linguagem orientada a objetos de alto nível. Desenvolvimento de sistemas nessa linguagem é muito facilitado pelo alto nível de abstração. Roda sobre uma máquina virtual, logo portabilidade é um ganho.

Vantagens Portabilidade devido à máquina virtual.

Desvantagens Desempenho comprometido por conta da máquina virtual.

ObservaçõesJava é utilizada para implementação da lógica de negócio. A interface gráfica propriamente dita será implementada em GXT.

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 3: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #3

Decisão-chave Utilização de GXT para desenvolvimento da interface gráfica do MCTViewer.

Drivers RNF: A interface gráfica do MCTViewer deve ser escrita em GXT.

Descrição RENATO PREENCHER

Vantagens Portabilidade – suporte aos browsers usados pelo cliente.

Desvantagens RENATO PREENCHER

Observações RENATO PREENCHER

Stakeholders Desenvolvedores; Testadores; Gerente; Operadores.

Page 4: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #4

Decisão-chave Utilização de criptografia MD5 para senhas.Drivers RF: Acesso ao sistema através de login e senha.

DescriçãoAs senhas dos usuários armazenadas no banco de dados devem ser criptografadas usando a técnica MD5 para maior segurança no acesso aos dados.

Vantagens Método de criptografia seguro.

Desvantagens -

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente; Operadores.

Page 5: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #5

Decisão-chave Utilização de SGBD MySQL.

Drivers RNF: O banco de dados onde serão armazenados os dados obtidos do sistema SCADA deve ser gratuito.

DescriçãoO SGBD MySQL é o maior e mais conhecido banco de dados open source do mercado. A comunidade é bastante ativa e seu uso é amplo em grandes projetos.

Vantagens• SGBD open source com comunidade ativa;• Fácil configuração e manutenção.

Desvantagens -

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente; DBA.

Page 6: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #6

Decisão-chave Utilização de servidor Apache Tomcat como servidor web.

Drivers RNF: A interface do MCTViewer deve ser web.

DescriçãoO Apache Tomcat é um dos servidores web mais utilizados no mundo. Sua confiabilidade é reconhecida mundialmente.

Vantagens• Servidor utilizado amplamente em todo o mundo;• Facilidade de configuração e manutenção;•Portabilidade entre diferentes sistemas operacionais.

Desvantagens -

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 7: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #7

Decisão-chave Utilização de persistência em arquivos para tolerância a falhas do banco de dados.

DriversRNF: O MCTCore deve registrar grandezas elétricas mesmo em situações onde o banco de dados encontra-se inoperante.

Descrição Persistência em arquivos é a única alternativa caso o banco de dados se encontre inoperante.

Vantagens Continuar registrando os valores obtidos do sistema SCADA.

Desvantagens• Meio menos seguro de armazenamento;• Necessidade de copiar os dados para o banco de dados quando esse voltar a operação.

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente; DBA.

Page 8: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #8

Decisão-chave Organizar arquitetura do MCTViewer utilizando o padrão Model View Controller (MVC).

Drivers RNF: A interface do MCTViewer deve ser web.

Descrição

A camada de interface com o usuário (IU) deve ser organizada em dois grandes sub-módulos: Views que servem interface gráfica com o usuário e Controlador que tem dois propósitos de mapear comandos dados pelo usuário na entrada em chamadas para a lógica de negócio e despachá-la para a View correta dependendo da resposta obtida da lógica de negócio. As duas camadas “lógica de negócio” e “persistência” compõem o Modelo (M) chamado pelo controlador ao receber eventos de entrada do usuário.

Vantagens• Organização da interface gráfica;• Desacoplamento da lógica de negócio;• Flexibilidade.

Desvantagens -

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 9: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #9

Decisão-chave Utilização de protocolo TCP para notificação das anormalidades e normalidades.

Drivers

RF: Fazer broadcast para todas as máquinas da rede em caso de detecção de anormalidades.RF: Fazer broadcast para todas as máquinas da rede em caso de volta à normalidade da tensão dos barramentos.

DescriçãoO protocolo TCP é um protocolo de transporte de dados que garante confiança e ordem nos dados enviados a um destinatário.

Vantagens Garantia da chegada de mensagens de anormalidade.

Desvantagens • Mais lento que o protocolo UDP.

ObservaçõesComo rodará na rede interna da empresa as perdas de tempo de transmissão e propagação serão praticamente desconsideráveis.

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 10: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #10

Decisão-chave Utilização de padrão em camadas para o MCTViewer.Drivers Divisão do sistema em módulos.

Descrição -

Vantagens

•Baixo acoplamento entre módulos, já que há isolamento entre as camadas “inferiores” e “superiores”.•Partes do sistema podem ser trocadas sem afetar o restante do sistema.•O isolamento da interface com o usuário numa camada separada permite construir uma interface usando várias tecnologias diferentes.

Desvantagens•Eficiência é prejudicada pela troca de mensagens entre as camadas distintas.•Efeito cascata em mudanças realizadas nas camadas.

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente.

Page 11: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #11

Decisão-chave Utilização de Java Swing para desenvolvimento da interface gráfica do MCTAlarms.

DriversRF:Acessar o MCTViewer quando operador desejar cadastrar justificativas/ações tomadas.RF:Funcionar no System tray do Windows.

DescriçãoA biblioteca Swing é nativa de Java para o desenvolvimento de interfaces gráficas simples e funcionais.

Vantagens• Simplicidade de uso;• Funcionalidade.

Desvantagens • Interface pobre.

Observações Nesse contexto será utilizada apenas para geração de avisos e redirecionamento ao MCTViewer.

Stakeholders Desenvolvedores; Testadores; Gerente; Operadores.

Page 12: Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado

Decisão #12

Decisão-chave Utilização do EasyAccept para testes da lógica de negócio.

Drivers RNF: Testes de aceitação automatizados.

Descrição Forma de validação e verificação do sistema.

Vantagens• Simplicidade de uso;• Funcionalidade;• Automatização.

Desvantagens -

Observações -

Stakeholders Desenvolvedores; Testadores; Gerente.