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ções
Java é 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-chave
Drivers
Decisão
#4
Utilização de criptografia MD5 para senhas.
RF: Acesso ao sistema através de login e senha.
Descrição
As 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-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ção
O 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.
Decisão
#5
Desvantagens
-
Observações
-
Stakeholders
Desenvolvedores; Testadores; Gerente; DBA.
Decisão-chave
Drivers
Utilização de servidor Apache Tomcat como servidor
web.
RNF: A interface do MCTViewer deve ser web.
Descrição
O 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.
Decisão
#6
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.
Drivers
RNF: 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-chave
Drivers
Organizar arquitetura do MCTViewer utilizando o padrão
Model View Controller (MVC).
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.
Decisão
#8
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ção
O 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ções
Como 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-chave
Drivers
Decisão
#10
Utilização de padrão em camadas para o MCTViewer.
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.
Drivers
RF:Acessar o MCTViewer quando operador desejar
cadastrar justificativas/ações tomadas.
RF:Funcionar no System tray do Windows.
Descrição
A 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-chave
Drivers
Decisão
#12
Utilização do EasyAccept para testes da lógica de
negócio.
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.
Download

Stakeholders