A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. Drivers RNF: O MCTCore deve ser escrito em C. RNF: O MCTAlarms deve exibir os.

Apresentações semelhantes


Apresentação em tema: "Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. Drivers RNF: O MCTCore deve ser escrito em C. RNF: O MCTAlarms deve exibir os."— Transcrição da apresentação:

1 Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. Drivers RNF: O MCTCore deve ser escrito em C. RNF: O MCTAlarms deve exibir os eventos detectados em cerca de 3 segundos depois da detecção. Descrição Existe um código legado a ser usado para comunicação com o sistema SCADA, que é escrito em C. C é uma linguagem imperativa de ótimo desempenho para aplicações em tempo real, e assim terá maior facilidade para obedecer aos requisitos de tempo de resposta do MCT (detecção rápida para transmitir via broadcast às maquinas que possuem o Alarms). VantagensAlto desempenho. DesvantagensDificuldade 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. StakeholdersDesenvolvedores; Testadores; Gerente.

2 Decisão #2 Decisão-chave Utilização de Java para desenvolvimento da lógica de negócio do MCTAlarms e MCT Viewer. Drivers- 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. VantagensPortabilidade 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 GWT/GXT no Viewer, e Swing no Alarms. StakeholdersDesenvolvedores; Testadores; Gerente.

3 Decisão #3 Decisão-chave Utilização de GWT (Google Web Toolkit) e GXT (Extended GWT) para desenvolvimento da interface gráfica do MCTViewer. Drivers RNF: O MCTViewer deve ser Web, possibilitando interface com o usuário através do browser. RNF: As telas do MCTViewer não devem sofrer refresh. Descrição ComGWT, eliminam-se os riscos sobre o desenvolvimento de boas interfaces web, pois o código é desenvolvido em Java e traduzido pelo GWT para Javascript otimizado e compatível com diversos navegadores. Além disso, a base da comunicação com o servidor no GWT é totalmente assíncrona, eliminando o refresh das páginas. Vantagens Portabilidade – código gerado possui compatibilidade com os browsers mais utilizados; Comunicação assíncrona (AJAX - Asynchronous Javascript and XML). Desvantagens Alguns membros da equipe não são familiares ao framework, gerando um tempo de aprendizado maior. Observações O GXT é uma biblioteca Java para utilização de widgets ricos no GWT. StakeholdersDesenvolvedores; Testadores; Gerente; Operadores.

4 Decisão #4 Decisão-chaveUtilização de criptografia MD5 para senhas. Drivers RF: Acesso ao sistema através de login e senha. RNF: As senhas dos usuários devem ser criptografadas. 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. VantagensMétodo de criptografia seguro. Desvantagens- Observações- StakeholdersDesenvolvedores; Testadores; Gerente; Operadores.

5 Decisão #5 Decisão-chaveUtilizaçã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. Desvantagens- Observações- StakeholdersDesenvolvedores; Testadores; Gerente; DBA.

6 Decisão #6 Decisão-chave Utilização de servidor Apache Tomcat como servidor Web. Drivers RNF: A interface do MCTViewer deve ser web. RNF: O servidor utilizado no MCTViewer deve ser gratuito. RNF: O MCTViewer deve suportar uma carga de 10 usuarios simultaneamente usando o sistema. Descrição O Apache Tomcat é um dos servidores web mais utilizados no mundo. Sua confiabilidade é reconhecida mundialmente. O volume de usuários médio necessário ao sistema é satisfeito pelo servidor escolhido. Vantagens Servidor utilizado amplamente em todo o mundo; Facilidade de configuração e manutenção; Portabilidade entre diferentes sistemas operacionais. Desvantagens- Observações- StakeholdersDesenvolvedores; Testadores; Gerente.

7 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- StakeholdersDesenvolvedores; Testadores; Gerente; DBA.

8 Decisão #8 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. VantagensGarantia 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. StakeholdersDesenvolvedores; Testadores; Gerente.

9 Decisão #9 Decisão-chaveUtilização de padrão em camadas para o MCTViewer. Drivers- Descrição A arquitetura do MCTViewer é dividida em três camadas: visão, lógica de negócios e persistência. Essa divisão é clássica em aplicações Web de sucesso, e se aplica ao projeto pelas vantagens descritas abaixo. 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 interfaces 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- StakeholdersDesenvolvedores; Testadores; Gerente.

10 Decisão #10 Decisão-chave Utilização de Java Swing para desenvolvimento da interface gráfica do MCTAlarms. Drivers RNF: O MCTAlarms deve ser compatível com o sistema operacional Windows. RNF: O MCTAlarms deve ser acessível através da bandeja do Windows. Descrição A biblioteca Swing é nativa de Java para o desenvolvimento de interfaces gráficas simples e funcionais. Como a interface do MCTAlarms exigida se encaixa nessa descrição e oferece API para utilização do System Tray do Windows, foi escolhida pela equipe. Vantagens Simplicidade de uso; Funcionalidade. Desvantagens Interface relativamente pobre. Observações Será utilizada apenas para geração de avisos e redirecionamento ao MCTViewer quando necessário. StakeholdersDesenvolvedores; Testadores; Gerente; Operadores.

11 Decisão #11 Decisão-chave Utilização do EasyAccept para testes da lógica de negócio. DriversPROCESSO XP1: Testes devem ser automatizados. Descrição Forma de validação e verificação do sistema através de testes automatizados. Vantagens Simplicidade de uso; Sintaxe simples e do conhecimento do cliente; Automatização. Desvantagens- Observações EasyAccept será usado para os módulos Java. No módulo C, os testes serão feitos através de comparação de arquivos (logs) gerados pela comunicação com o SCADA. StakeholdersDesenvolvedores; Testadores; Gerente.

12 Decisão #12 Decisão-chave Comunicação do MCTViewer com o banco de dados através de JDBC (Java Database Connectivity). Drivers- Descrição A utilização de JDBC ao invés de tecnologias ORM (Object-relational mapping) é satisfatória, pelo fato do modelo de dados do MCT ser simples, com um número bastante limitado de entidades. Vantagens Simplicidade de uso; Facilidade em caso de troca do banco de dados (basta alterar o driver). Desvantagens Utilização direta de SQL traz a necessidade de adaptação do código desenvolvido em caso de alterações no modelo. Observações Para evitar desorganização e acoplamento no código, será utilizado o padrão DAO (Data Access Object) no MCTViewer. StakeholdersDesenvolvedores; Testadores; Gerente.


Carregar ppt "Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. Drivers RNF: O MCTCore deve ser escrito em C. RNF: O MCTAlarms deve exibir os."

Apresentações semelhantes


Anúncios Google