- Arquitetura e Design de SoftwareCoesão, Acoplamento e Modularidade
- Arquitetura e Design de SoftwareArquitetura em Camadas
- Paradigmas de ProgramaçãoOrientação a ObjetosOrientação a Objetos: Classes e Objetos
- Paradigmas de ProgramaçãoOrientação a ObjetosOrientação a Objetos: Polimorfismo
Considere, hipoteticamente, que você, na posição de Analista de Sistemas, assume a responsabilidade pela arquitetura e desenvolvimento de um sistema que interagirá com equipamentos Laboratoriais de Análises Clínicas. Esses equipamentos são responsáveis, com base em uma amostra, pela análise e emissão de parecer sobre essa amostra, como exemplo: a análise de uma amostra de sangue para determinação dos componentes de um hemograma.
Muitos são os fabricantes desses equipamentos, sendo que cada fabricante adota um padrão de intercomunicação (dispositivo e computador, também conhecido como interface.) diferenciado. Normalmente o mecanismo de comunicação da interface é baseado em RS232 ou similar. Atente para esse contexto e, sem seguida, avalie as assertivas conceitual e operacionalmente CORRETAS, com base na programação orientada a objetos.
I. A arquitetura base para tratativa das especificidades entre os diferentes equipamentos estará baseada no filosofia construtiva de drivers. Nesse sentido, será definida uma classe base, abstrata, com as definições comportamentais básicas necessárias e, para cada dispositivo, uma classe concreta, que trataria as especificidades para cada dispositivo.
II. A comunicação entre o sistema (software.) e os equipamentos dar-se-á pela troca de mensagens, codificadas sobre a roupagem de exceções.
III. Componentes de comunicação, independente de equipamento, mas focados no protocolo/meio de comunicação, deverão ser desenvolvidos com o objetivo de melhorar a produtividade e diminuir problemas básicos de implementação.
IV. Como estratégia de implementação, as diferenças comportamentais entre equipamentos, podem ser tratadas através da especialização de métodos abstratos (que não contenham implementação) ou através da redefinição de métodos concretos existentes. A escolha por uma (métodos abstratos) ou outra (métodos concretos) estratégia dependerá do grau de variabilidade do comportamento do método analisado no escopo em questão.