1
Desenvolvimento de grandes aplicações com a programação orientada a objeto do LabVIEW Alisson Kokot Engenheiro de Vendas Osvaldo Santos Engenheiro de Sistemas 2
Agenda 1. Arquitetura da Aplicação 2. Apresentação Separada 3. Inserção de Dependências 4. HAL Camada de Abstração de Hardware 3
Desafios no Projeto de Grandes Sistemas Complexidade Construído por times Gerenciar Mudanças Multiplas versões de produtos DEMO 4
JKIphone Dr. T - Mobile 555? Componentes de Hardware Bateria Receptor Transmissor 5
Modelo de Objeto Separação de Conceitos Tela Interf. Usuário Ger. Energia Ger. Chamadas Telefone Bateria Transmissor Receptor 6
Projeto em camadas Camada de Apresentação Camade de Serviço Camada de Domínio Camada de Dados Apresentação e lógica da apresentação Coordenação de accesso ao negócio / Dominio lógico Negócio / Dominio lógico Dados e abstração de Hardware 7
Exemplo de projeto em camadas Camada de Apresentação Tela Interf. Usuário Camada de Serviço Telefone Camada de Domínio Ger. de energia Ger. Chamadas Camada de Dados Bateria Receptor Transmissor 8
Conteúdo 1. Arquitetura da Aplicação 2. Apresentação Separada 3. Inserção de Dependências 4. HAL Camada de Abstração de Hardware 9
Apresentação Separada Código que manipula apresentação Somente manipula apresentação Todo o domínio e fonte de dados lógicos em partes claramente separadas do programa 10
Padrão de Projetos Modelo- Visualização-Controle Visualização Controlador Modelo 11
Padrão de projetos Modelo- Visualização-Apresentador Visualização Apresentador Modelo 12
Natureza Especial da Interface de Usuário no LV Eventos de usuário são convenientemente gerenciados somente no VI que contém a interface de usuário Separação de interface de usuário da lógica pesada 13
Garantindo uma apresentação testável Realizar Unit Testing de uma máquina de estados é um desafio Mova a apresentação lógica da máquina de estados para VIs A máquina de estados deve atuar apenas como um chamador 14
Conteúdo 1. Arquitetura da Aplicação 2. Apresentação Separada 3. Inserção de Dependências 4. HAL Camada de Abstração de Hardware 15
Dependências Inter-Classes Camada de Domínio Ger. Energia Ger. Chamadas Camada de Dados Bateria Receptor Transmissor 16
Testando Gerenciamento de Energia Camada de Domínio Camada de Dados Ger. Energia Bateria Real O Gerenciamento de energia é acoplado a bateria real O teste automático é difícil 17
Simulando Hardware Camada de Domínio Camada de Dados Bateria Real Ger. Energia Bateria Herança de bateria Bateria Simulada Como podemos alternar entre o hardware real e simulado? 18
Construindo Gerênciamento de Energia sem Inserção de dependências 19
Conteúdo 1. Arquitetura da Aplicação 2. Apresentação Separada 3. Inserção de Dependências 4. HAL Camada de Abstração de Hardware 20
Ciclos de Vida Diferentes Produtos com cliclos de vida de décadas ou de meses Ciclo de Vida Longo O dispositivo em teste não muda Os instrumentos usados no teste se tornam obsoletos Ciclo de Vida Curto O dispositivo em teste não muda Os instrumentos usados para o teste continuam o mesmo A aplicação do teste muda 21
Aplicação Típica de Teste Aplicação de Teste Drivers de Instrumento Instrumentos 22
Aplicação Típica de Teste: Migração Aplicação de Teste Novo Desenvolvimento, Validação e Documentação Drivers de Instrumento Novos Instrumentos 23
Aplicação Típica de Teste: Migração Aplicação de Teste Mudanças CamadaDevido de Abstração ao Novo de Hardware Instrumento Drivers de Instrumento Novo Instrumento 24
Benefícios do HAL Gerenciamento de Equipamentos Obsoletos Inserção de Tecnologia Menor Custo de Migração Menor Tempo de Migração Flexibilidade e Reuso Manutenção Simplificada 25
Desafios Desenvolvimento mais caro Convencer Gerenciamento Projeto Não Trivial 26
Implementação da Hierarquia de Classes Device Specific Software Plug-in (DSSP) Classe Pai Comum Baseada em Medição Ag Sig Gen Tektronix Scope Fluke DMM NI Sig Gen NI Digitizer NI DMM 27
Implementação da Classe Pai Device Specific Software Plug-in (DSSP) Classe Pai Comum Sig Gen Plug-in Scope Plug-in DMM Plug-in DUT Plug-in Baseada em Medição Ag Sig Gen NI Sig Gen Tektronix Scope NI Digitizer Fluke DMM NI DMM DUT Type B DUT Type A 28