View
215
Download
0
Category
Preview:
Citation preview
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Recommended