17.04.2013 Views

Desenvolvimento de um sistema de monitoramento de temperatura ...

Desenvolvimento de um sistema de monitoramento de temperatura ...

Desenvolvimento de um sistema de monitoramento de temperatura ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

RAMON LACERDA MARQUES<br />

<strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong> <strong>monitoramento</strong> <strong>de</strong><br />

<strong>temperatura</strong> para indústria <strong>de</strong> laticínio<br />

Belo Horizonte<br />

2007


Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Minas Gerais<br />

Escola <strong>de</strong> Engenharia<br />

RAMON LACERDA MARQUES<br />

<strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong> <strong>monitoramento</strong> <strong>de</strong><br />

<strong>temperatura</strong> para indústria <strong>de</strong> laticínio<br />

Monografia apresentada ao Curso <strong>de</strong> Engenharia <strong>de</strong><br />

Controle e Automação da Escola Engenharia da<br />

Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Minas Gerais, como requisito<br />

parcial para a obtenção do título <strong>de</strong> Bacharel em<br />

Engenharia <strong>de</strong> Controle e Automação.<br />

Orientador: Carlos Andrey Maia (UFMG)<br />

Supervisor: Alex Sandro Oliveira <strong>de</strong> Almeida (Ilpisa)<br />

Belo Horizonte<br />

2007


Ramon Lacerda Marques<br />

<strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong> <strong>monitoramento</strong> <strong>de</strong><br />

<strong>temperatura</strong> para indústria <strong>de</strong> laticínio<br />

Monografia apresentada ao Curso <strong>de</strong> Engenharia <strong>de</strong> Controle e Automação da Escola<br />

Engenharia da Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Minas Gerais, como requisito parcial para a<br />

obtenção do título <strong>de</strong> Bacharel em Engenharia <strong>de</strong> Controle e Automação.<br />

BANCA EXAMINORA:<br />

(Carlos Andrey Maia, UFMG)<br />

(Alex Sandro Oliveira <strong>de</strong> Almeida, Ilpisa)<br />

(Alair Dias Júnior, UFMG)<br />

Belo Horizonte, 22 Junho <strong>de</strong> 2007


Agra<strong>de</strong>cimentos<br />

Agra<strong>de</strong>ço primeiramente a Deus pela oportunida<strong>de</strong> única <strong>de</strong> realizar este trabalho.<br />

Agra<strong>de</strong>ço a meus pais, Wilson e Riulsa, pelo incentivo e motivação em todos os<br />

momentos, e à minha esposa Ana Larissa e minha filha Ana Luísa, pelo total apoio e pela<br />

compreensão nos momentos em que necessitei estar ausente.<br />

Agra<strong>de</strong>ço à empresa Ilpisa, por ter me dado a oportunida<strong>de</strong> <strong>de</strong> realizar este trabalho<br />

em sua fábrica e ter cedido o funcionário Alex Sandro Oliveira <strong>de</strong> Almeida, supervisor técnico<br />

<strong>de</strong>ste trabalho, a quem também agra<strong>de</strong>ço por sua disponibilida<strong>de</strong> e pronto auxílio durante o<br />

<strong>de</strong>senvolvimento do projeto.<br />

Gostaria <strong>de</strong> <strong>de</strong>ixar também o meu agra<strong>de</strong>cimento aos professores Carlos Andrey<br />

Maia, orientador <strong>de</strong>ste trabalho, e Maria Auxiliadora Muanis Persechini, pela orientação<br />

acadêmica durante todo o projeto.


“O saber é o único patrimônio que após dividido entre<br />

n pessoas, ainda lhe resta o todo.”<br />

(Wilson Marques Pereira)


Res<strong>um</strong>o<br />

O uso da automação no controle da qualida<strong>de</strong> em processos contínuos tem se<br />

tornado <strong>um</strong>a necessida<strong>de</strong> para as indústrias dos mais diversos setores. Na indústria <strong>de</strong><br />

laticínios, on<strong>de</strong> a qualida<strong>de</strong> do produto final é <strong>um</strong> diferencial <strong>de</strong> mercado, não é<br />

diferente. Cada vez mais vê-se o uso <strong>de</strong> <strong>sistema</strong>s supervisórios, PLC’s, e IHM’s para<br />

monitorar e controlar os processos produtivos.<br />

Este projeto <strong>de</strong> conclusão <strong>de</strong> curso tem como objetivo o <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong><br />

software capaz <strong>de</strong> realizar o <strong>monitoramento</strong> da <strong>temperatura</strong> nos processos <strong>de</strong> produção<br />

da Ilpisa, indústria <strong>de</strong> laticínios situada em Itapetinga-BA. O <strong>sistema</strong> <strong>de</strong>senvolvido<br />

trabalha em paralelo com o supervisório já existente na fábrica, <strong>de</strong> maneira a auxiliar o<br />

coor<strong>de</strong>nador <strong>de</strong> produção a tomar <strong>de</strong>cisões com relação à qualida<strong>de</strong> dos produtos. Neste<br />

trabalho, estão presentes <strong>de</strong>s<strong>de</strong> a etapa <strong>de</strong> especificação do problema e análise <strong>de</strong><br />

requisitos, até o <strong>de</strong>senvolvimento do <strong>sistema</strong> propriamente dito e sua implantação na<br />

fábrica.<br />

Palavras chave: <strong>Desenvolvimento</strong> <strong>de</strong> software, Sistema Supervisório, Sinóptico,<br />

Laticínios, Pasteurização, Automação <strong>de</strong> laticínios, Controle <strong>de</strong> qualida<strong>de</strong><br />

Abstract<br />

The usage of automation in quality control of continuous processes has become<br />

a necessity for the industries of the most diverse sectors. In dairy industry, where the<br />

final product quality is a market differential, it is not different. The usage of PLCs,<br />

supervisory systems and IHMs is more common to monitor and to control the<br />

productive processes.<br />

This undregraduated project has as objective the <strong>de</strong>velopment of a software<br />

capable to carry out the monitoring of the temperature in the processes of production of<br />

Ilpisa, a dairy industry situated in Itapetinga-BA. The <strong>de</strong>veloped system works in<br />

parallel with the supervisory system already implanted, in way to assist it the<br />

production coordinator to take <strong>de</strong>cisions about the product quality. In this work, it’s<br />

presented since the specification stage of the problem and analysis of requirements,<br />

until the <strong>de</strong>velopment of the system and his implantation in the plant.<br />

Key-words: Software <strong>de</strong>velopment, Supervisory System, Synoptic, Dairy, Dairy<br />

industry automation, Quality control


S<strong>um</strong>ário<br />

Lista <strong>de</strong> figuras ................................................................................................................... 8<br />

Lista <strong>de</strong> tabelas ................................................................................................................... 9<br />

Lista <strong>de</strong> siglas .................................................................................................................... 10<br />

Capítulo 1 Introdução ................................................................................................. 11<br />

1.1. Generalida<strong>de</strong>s do trabalho .............................................................................. 11<br />

1.2. Objetivos do trabalho ..................................................................................... 12<br />

1.3. Apresentação da empresa ............................................................................... 12<br />

1.4. Revisão bibliográfica ...................................................................................... 13<br />

1.4.1. Sistemas <strong>de</strong> informação ......................................................................... 13<br />

1.4.2. Sistemas <strong>de</strong> Banco <strong>de</strong> Dados ................................................................. 14<br />

1.4.3. Trabalhos correlatos .............................................................................. 14<br />

Capítulo 2 Descrição do processo ............................................................................... 16<br />

2.1. Pasteurização .................................................................................................. 17<br />

2.2. Vacina <strong>de</strong> lactose ............................................................................................ 18<br />

Capítulo 3 Análise <strong>de</strong> requisitos ................................................................................. 20<br />

3.1. Diagrama <strong>de</strong> casos <strong>de</strong> uso ............................................................................... 21<br />

3.1.1. Descrição dos casos <strong>de</strong> uso .............................................................. 22<br />

3.2. Diagrama <strong>de</strong> sequência ................................................................................... 26<br />

3.3. Mo<strong>de</strong>lagem do banco <strong>de</strong> dados ...................................................................... 26<br />

3.4. Telas do <strong>sistema</strong> ............................................................................................. 28<br />

Capítulo 4 <strong>Desenvolvimento</strong> do <strong>sistema</strong> .................................................................... 30<br />

4.1. Codificação do banco <strong>de</strong> dados ...................................................................... 31<br />

4.2. Codificação do software ................................................................................. 31<br />

4.2.1. Autenticação .................................................................................... 31<br />

4.2.2. Configuração .................................................................................... 32<br />

4.2.3. Gráfico <strong>de</strong> tendência ........................................................................ 32<br />

4.2.4. Monitoramento e geração <strong>de</strong> alarmes .............................................. 34<br />

4.2.5. Relatórios ......................................................................................... 35<br />

Capítulo 5 Testes e implantação ................................................................................. 37<br />

5.1. Testes .............................................................................................................. 37<br />

6


5.2. Implantação .................................................................................................... 39<br />

Capítulo 6 Conclusões ................................................................................................. 41<br />

Referências bibliográficas ................................................................................................ 43<br />

7


Lista <strong>de</strong> figuras<br />

Figura 3.1. Diagrama <strong>de</strong> casos <strong>de</strong> uso .............................................................................................. 21<br />

Figura 3.2. Diagrama <strong>de</strong> sequência .................................................................................................. 26<br />

Figura 3.3. Diagrama <strong>de</strong> Entida<strong>de</strong>-Relacionamento ......................................................................... 26<br />

Figura 3.4. Tela <strong>de</strong> login ................................................................................................................... 28<br />

Figura 3.5. Tela <strong>de</strong> exclusão <strong>de</strong> usuário ........................................................................................... 28<br />

Figura 3.6. Tela <strong>de</strong> criação <strong>de</strong> usuário .............................................................................................. 28<br />

Figura 3.7. Tela <strong>de</strong> configuração do <strong>sistema</strong> .................................................................................... 28<br />

Figura 3.8. Janela principal do <strong>sistema</strong> ............................................................................................ 29<br />

Figura 4.1. Janela <strong>de</strong> autenticação .................................................................................................... 32<br />

Figura 4.2. Gráfico <strong>de</strong> tendância ...................................................................................................... 33<br />

Figura 4.3. Tabela <strong>de</strong> dados .............................................................................................................. 33<br />

Figura 4.4. Check-box <strong>de</strong> alteração <strong>de</strong> status do processo ............................................................... 34<br />

Figura 4.5. Tabela <strong>de</strong> alarmes ........................................................................................................... 34<br />

Figura 4.6. Janela <strong>de</strong> reconhecimento <strong>de</strong> alarmes ............................................................................ 35<br />

Figura 4.7. Janela <strong>de</strong> configuração <strong>de</strong> relatórios .............................................................................. 36<br />

Figura 6.1. Janela principal .............................................................................................................. 42<br />

8


Lista <strong>de</strong> tabelas<br />

3.1. Caso <strong>de</strong> uso: Fazer login ....................................................................................................... 14<br />

3.2. Caso <strong>de</strong> uso: Fazer logout ..................................................................................................... 14<br />

3.3. Caso <strong>de</strong> uso: Criar usuário .................................................................................................... 14<br />

3.4. Caso <strong>de</strong> uso: Excluir usuário ................................................................................................ 15<br />

3.5. Caso <strong>de</strong> uso: Alterar senha ................................................................................................... 15<br />

3.6. Caso <strong>de</strong> uso: Cofigurar <strong>sistema</strong> ............................................................................................ 15<br />

3.7. Caso <strong>de</strong> uso: Iniciar <strong>monitoramento</strong> ..................................................................................... 16<br />

3.8. Caso <strong>de</strong> uso: Parar <strong>monitoramento</strong> ....................................................................................... 16<br />

3.9. Caso <strong>de</strong> uso: Criar produto ................................................................................................... 16<br />

3.10. Caso <strong>de</strong> uso: Excluir produto ................................................................................................ 17<br />

3.11. Caso <strong>de</strong> uso: Trocar produto ................................................................................................. 17<br />

3.12. Caso <strong>de</strong> uso: Justificar alarme............................................................................................... 17<br />

3.13. Caso <strong>de</strong> uso: Visualizar gráfico histórico ............................................................................. 17<br />

3.14. Caso <strong>de</strong> uso: Gerar relatório <strong>de</strong> alarmes ............................................................................... 18<br />

5.1. Exemplo <strong>de</strong> caso <strong>de</strong> teste ...................................................................................................... 38<br />

5.1. Exemplo <strong>de</strong> caso <strong>de</strong> teste com erro ....................................................................................... 39<br />

9


Lista <strong>de</strong> siglas<br />

PLC Programmable Logic Controller (Controlador Lógico Programável)<br />

IHM Interface Homem-Máquina<br />

SGBD Sistema Gerenciador <strong>de</strong> Banco <strong>de</strong> Dados<br />

SQL Structured Query Language (Linguagem <strong>de</strong> Consulta Estruturada)<br />

UML Unified Mo<strong>de</strong>lling Language (Linguagem <strong>de</strong> Mo<strong>de</strong>lagem Unificada)<br />

IDE Integrated Development Enviroment (Ambiente <strong>de</strong> <strong>Desenvolvimento</strong> Integrado)<br />

RAD Rapid Application Development (<strong>Desenvolvimento</strong> <strong>de</strong> Aplicação Rápido)<br />

10


Capítulo1<br />

INTRODUÇÃO<br />

1.1. Generalida<strong>de</strong>s do trabalho<br />

Atualmente <strong>um</strong> dos principais objetivos <strong>de</strong> qualquer processo produtivo é a obtenção <strong>de</strong><br />

<strong>um</strong> produto <strong>de</strong> melhor qualida<strong>de</strong>, frente a <strong>um</strong> mercado cada vez mais exigente e<br />

competitivo. Para tanto, as empresas têm investido cada vez mais em automação e<br />

controle em seus produtos processados; visando <strong>um</strong> a<strong>um</strong>ento na produtivida<strong>de</strong> e na<br />

melhoria da qualida<strong>de</strong>. O binômio produtivida<strong>de</strong> e qualida<strong>de</strong>, antes visto como<br />

antagônico, per<strong>de</strong> todo esse sentido quando se implanta <strong>um</strong> <strong>sistema</strong> <strong>de</strong> automação, que<br />

nos fornece recursos <strong>de</strong> monitorar, in<strong>de</strong>pen<strong>de</strong>nte da quantida<strong>de</strong>, a qualida<strong>de</strong> <strong>de</strong> toda<br />

<strong>um</strong>a produção; bem como localizar e controlar qualquer ponto crítico na linha <strong>de</strong><br />

produção que, certamente, iria influenciar na qualida<strong>de</strong> do produto final.<br />

Dentro <strong>de</strong>ste cenário se inclui a indústria <strong>de</strong> laticínios que, inserida n<strong>um</strong> mercado<br />

globalizado e competitivo, tem como <strong>um</strong>a necessida<strong>de</strong> o controle do seu processo<br />

produtivo visando obter <strong>um</strong> produto <strong>de</strong> qualida<strong>de</strong> diferenciada.<br />

Neste âmbito a automação entra com todo vigor possibilitando à empresa<br />

visl<strong>um</strong>brar novas possibilida<strong>de</strong>s para ter <strong>um</strong> controle efetivamente maior <strong>de</strong> seus<br />

processos críticos, que po<strong>de</strong>m diretamente ou indiretamente influenciar na qualida<strong>de</strong> do<br />

seu produto.<br />

Contudo <strong>um</strong>a das dificulda<strong>de</strong>s para as indústrias é encontrar no mercado <strong>sistema</strong>s<br />

supervisórios que se a<strong>de</strong>quem à realida<strong>de</strong> da empresa, fazendo <strong>de</strong> maneira satisfatória a<br />

interface entre o processo e o operador do <strong>sistema</strong> <strong>de</strong> controle.<br />

O <strong>de</strong>senvolvimento <strong>de</strong> <strong>sistema</strong>s <strong>de</strong> informação específicos possibilita a empresa<br />

ter <strong>um</strong> software a<strong>de</strong>quado às suas necessida<strong>de</strong>s, flexível, possível <strong>de</strong> ser expandido e <strong>de</strong><br />

fácil uso pelos funcionários da empresa, visto que eles estarão intimamente envolvidos<br />

no processo <strong>de</strong> produção do <strong>sistema</strong>.<br />

11


1.2. Objetivos do trabalho<br />

O objetivo principal <strong>de</strong>ste trabalho consiste em elaborar <strong>um</strong> <strong>sistema</strong> (software) para<br />

monitorar a <strong>temperatura</strong> do processo <strong>de</strong> con<strong>de</strong>nsação <strong>de</strong> leite na fábrica da Ilpisa /<br />

Valedourado, situada em Itapetinga-BA.<br />

O software <strong>de</strong>senvolvido <strong>de</strong>verá ser capaz <strong>de</strong> monitorar a <strong>temperatura</strong> do processo<br />

a partir <strong>de</strong> dados obtidos pelo supervisório da planta, gerando alarmes quando o<br />

comportamento da <strong>temperatura</strong> sair do perfil <strong>de</strong>sejado. O <strong>sistema</strong> também possibilitara<br />

ao operador criar relatórios <strong>de</strong> qualida<strong>de</strong> do produto ao longo da produção.<br />

Além do gráfico da <strong>temperatura</strong> em tempo real o usuário po<strong>de</strong>rá visualizar dados<br />

históricos do comportamento da <strong>temperatura</strong> do processo.<br />

O <strong>sistema</strong> <strong>de</strong>verá gerenciar o acesso às informações através <strong>de</strong> senhas <strong>de</strong> usuário<br />

com níveis <strong>de</strong> privilégios específicos, <strong>de</strong> maneira a se ter <strong>um</strong> maior controle acerca da<br />

operação do <strong>sistema</strong> e da gestão dos alarmes.<br />

1.3. Apresentação da empresa<br />

A Indústria <strong>de</strong> Laticínios Palmeira dos Índios S/A (ILPISA), proprietária da marca<br />

VALEDOURADO, é <strong>um</strong>a indústria <strong>de</strong> alimentos <strong>de</strong>rivados do leite com se<strong>de</strong> no<br />

município <strong>de</strong> Palmeira dos Índios - AL e <strong>um</strong>a filial situada em Itapetinga – BA, on<strong>de</strong><br />

está sendo <strong>de</strong>senvolvido este projeto. Filial esta que tem <strong>um</strong>a capacida<strong>de</strong> <strong>de</strong><br />

processamento <strong>de</strong> 400.000litros/dia, gerando l60 empregos diretos.<br />

Atualmente a ILPISA fabrica mais <strong>de</strong> 40 produtos diferentes, sendo sua principal<br />

marca a VALEDOURADO, possuindo também a marca DOURADINHO, BOA VIDA,<br />

Além <strong>de</strong> industrializar e distribui produtos com outras marcas:<br />

• A bebida <strong>de</strong> frutas TAMPICO, <strong>um</strong>a das lí<strong>de</strong>res em seu segmento no Brasil e no<br />

mercado norte americano presente em mais <strong>de</strong> 50 países em todo mundo, com mais <strong>de</strong> 1<br />

bilhão <strong>de</strong> litros por ano;<br />

A empresa comercializa seus produtos para todo o território nacional e também<br />

para o exterior.<br />

12


1.4. Revisão bibliográfica<br />

1.4.1. Sistemas <strong>de</strong> informação<br />

Segundo [Orlandini, 2006], “<strong>um</strong> dos gran<strong>de</strong>s <strong>de</strong>safios dos Sistemas <strong>de</strong> Informação é<br />

assegurar a qualida<strong>de</strong> e agilida<strong>de</strong> da informação, imprescindível para as corporações e<br />

seus gestores”.<br />

Sistemas <strong>de</strong> informação são o conjunto <strong>de</strong> partes que interagem entre si para<br />

atingir <strong>um</strong> objetivo ou resultado, que, em informática, é o conjunto <strong>de</strong> software<br />

hardware e recursos h<strong>um</strong>anos. Ou seja, são todos os <strong>sistema</strong>s que produzem ou geram<br />

informações para auxiliar nos processos <strong>de</strong> tomada <strong>de</strong> <strong>de</strong>cisão, segundo [Otsuka, 2004],<br />

citando [Rezen<strong>de</strong>, 2002].<br />

O uso dos <strong>sistema</strong>s computadorizados como meio para criar, armazenar e<br />

transferir informações é <strong>um</strong>a realida<strong>de</strong> que não <strong>de</strong>ixa dúvidas, e <strong>um</strong> exemplo claro disso<br />

é a quantida<strong>de</strong> <strong>de</strong> <strong>sistema</strong>s <strong>de</strong> informação, gerando informações em todos os níveis nas<br />

empresas, auxiliando, como ferramenta imprescindível, aos investidores, em todas as<br />

áreas e ativida<strong>de</strong>s, a tomarem <strong>de</strong>cisões, o mais das vezes milionárias, sem falar no<br />

vol<strong>um</strong>e <strong>de</strong> capital que gira eletronicamente ao redor do mundo, em transações<br />

comerciais, que utilizam a Tecnologia <strong>de</strong> Informação <strong>de</strong> <strong>um</strong>a forma mais abrangente,<br />

[Almeida et al., 2006], citando [Cervo et al., 2002].<br />

De acordo com [Almeida et al., 2006], “o propósito <strong>de</strong> <strong>um</strong> projeto <strong>de</strong> <strong>sistema</strong>s é o<br />

<strong>de</strong> elaborar o <strong>de</strong>talhamento das necessida<strong>de</strong>s do <strong>sistema</strong> novo ou modificado. As suas<br />

dimensões lógicas referem-se ao modo como os vários componentes do SI funcionarão<br />

quando estiverem juntos. O projeto lógico inclui a especificação <strong>de</strong> dados para saídas e<br />

entradas, processamento, arquivos, banco <strong>de</strong> dados, telecomunicações, procedimento,<br />

pessoal e equipe e do projeto, além dos projetos <strong>de</strong> segurança e controle <strong>de</strong> operação”.<br />

[Almeida, 2006], ainda <strong>de</strong>staca que o <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong><br />

informação <strong>de</strong>ve ser planejado e dividido em etapas bem <strong>de</strong>finidas antes do inicio do<br />

seu <strong>de</strong>senvolvimento. Tais etapas constituem o “ciclo <strong>de</strong> vida <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong><br />

informação” e incluem:<br />

• A investigação do <strong>sistema</strong> – para obter <strong>um</strong> claro entendimento do problema;<br />

• A análise do <strong>sistema</strong> – que <strong>de</strong>fine o que o <strong>sistema</strong> precisa fazer para resolver o<br />

problema;<br />

13


• O projeto do <strong>sistema</strong> – que <strong>de</strong>termina exatamente como o <strong>sistema</strong> funcionara<br />

para aten<strong>de</strong>r as necessida<strong>de</strong>s;<br />

• A implementação – que é a aquisição ou criação <strong>de</strong> vários componentes <strong>de</strong>finidos<br />

no estágio do projeto;<br />

• A manutenção – que po<strong>de</strong> ser dividida em corretiva e preventiva, e tem como<br />

objetivo fazer os necessários ajustes para o seu perfeito funcionamento;<br />

• A validação – o processo no qual o <strong>sistema</strong> é aceito e validados os seus objetivos;<br />

• Operação – que consiste na sua utilização pelo usuário.<br />

1.4.2. Sistemas <strong>de</strong> Banco <strong>de</strong> Dados<br />

“Um <strong>sistema</strong> banco <strong>de</strong> dados nada mais é do que <strong>um</strong> <strong>sistema</strong> <strong>de</strong> armazenamento <strong>de</strong><br />

dados baseado em computador; isto é, <strong>um</strong> <strong>sistema</strong> cujo objetivo global é registrar e<br />

manter informação. Esta informação po<strong>de</strong> ser qualquer <strong>um</strong>a consi<strong>de</strong>rada significativa à<br />

organização servida pelo <strong>sistema</strong> – em outras palavras, qualquer <strong>um</strong>a necessária ao<br />

processo <strong>de</strong> <strong>de</strong>cisão da gerência daquela organização”. [DATE, 1986]<br />

Segundo [Rezen<strong>de</strong>, 2004], citando [Korth, 1994] “<strong>um</strong> banco <strong>de</strong> dados é <strong>um</strong>a<br />

coleção <strong>de</strong> dados inter-relacionados, representando informações sobre <strong>um</strong> domínio<br />

específico”, ou seja, sempre que for possível agrupar informações que se relacionam e<br />

tratam <strong>de</strong> <strong>um</strong> mesmo assunto, posso dizer que tenho <strong>um</strong> banco <strong>de</strong> dados”.<br />

Ainda em seu artigo [Rezen<strong>de</strong>, 2004] <strong>de</strong>fine <strong>um</strong> <strong>sistema</strong> <strong>de</strong> gerenciamento <strong>de</strong><br />

banco <strong>de</strong> dados (SGBD) como <strong>um</strong> software que possui recursos capazes <strong>de</strong> manipular<br />

as informações do banco <strong>de</strong> dados e interagir com o usuário. Exemplos <strong>de</strong> SGBDs são:<br />

Oracle, SQL Server, DB2, PostgreSQL, MySQL, entre outros.<br />

Segundo [Date, 1986] <strong>um</strong> <strong>sistema</strong> <strong>de</strong> banco <strong>de</strong> dados envolve quatro componentes<br />

maiores: dados, hardware, software e usuários.<br />

1.4.3. Trabalhos correlatos<br />

[Yamaguchi et al., 2000] realizou <strong>um</strong> trabalho com o objetivo <strong>de</strong> <strong>de</strong>senvolver <strong>um</strong><br />

<strong>sistema</strong> computacional para monitorar a gestão <strong>de</strong> <strong>um</strong> indústria <strong>de</strong> laticínios, <strong>de</strong>s<strong>de</strong> a<br />

plataforma <strong>de</strong> recepção <strong>de</strong> leite até a venda final do produto, passando por cálculos <strong>de</strong><br />

custos <strong>de</strong> recepção, beneficiamento e envase <strong>de</strong> leite fluido e da produção <strong>de</strong> <strong>de</strong>rivados<br />

lácteos.<br />

14


Tanto o trabalho acima citado como este projeto final <strong>de</strong> curso tem em com<strong>um</strong> o<br />

<strong>de</strong>senvolvimento <strong>de</strong> softwares para auxiliar a indústria <strong>de</strong> laticínios, porém diferem no<br />

seu objetivo final: este projeto visa <strong>de</strong>senvolver <strong>um</strong> <strong>sistema</strong> <strong>de</strong> auxílio à tomada <strong>de</strong><br />

<strong>de</strong>cisão no que diz respeito à qualida<strong>de</strong> do produto final, ao contrário do referido artigo<br />

que busca auxiliar na gestão do processo produtivo.<br />

[Molina, 2001], <strong>de</strong>senvolveu <strong>um</strong> software em linguagem Delphi para análise <strong>de</strong><br />

instalações térmicas, na ocasião para <strong>um</strong>a turbina a vapor. O programa possui como<br />

variáveis <strong>de</strong> entrada dados <strong>de</strong> <strong>temperatura</strong> e pressão na entrada e na saída da turbina e o<br />

rendimento isentrópico da turbina, a partir das quais eram calculadas e exibidas em<br />

gráficos as variáveis <strong>de</strong> interesse, tais como: eficiência e cons<strong>um</strong>o <strong>de</strong> vapor.<br />

[Bilobrovec, 2005], apresenta em seu trabalho <strong>um</strong> <strong>sistema</strong> especialista baseado em<br />

Lógica Fuzzy <strong>de</strong>senvolvido em linguagem Delphi para gerenciamento e manutenção da<br />

qualida<strong>de</strong> do processo <strong>de</strong> aeração <strong>de</strong> grãos em silos, tendo como variáveis <strong>de</strong> análise a<br />

<strong>temperatura</strong> e a <strong>um</strong>ida<strong>de</strong>.<br />

Este último trabalho tem <strong>um</strong>a gran<strong>de</strong> semelhança com o <strong>de</strong>senvolvido neste<br />

projeto que é o <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> <strong>sistema</strong> para acompanhar <strong>um</strong> processo<br />

produtivo visando controlar a qualida<strong>de</strong> do produto final. Diferem-se na natureza dos<br />

processos, discreto e contínuo respectivamente, apesar <strong>de</strong>, em alguns casos, processos<br />

industriais envolvendo grãos serem consi<strong>de</strong>rado como contínuos.<br />

[Vieira, 1999], em seu trabalho <strong>de</strong>senvolveu <strong>um</strong> protótipo <strong>de</strong> <strong>um</strong> <strong>sistema</strong> <strong>de</strong><br />

telepresença permitindo a interação entre <strong>um</strong> usuário remoto e <strong>um</strong> robô com capacida<strong>de</strong><br />

<strong>de</strong> <strong>de</strong>cidir entre seguir os comandos do usuário remoto ou tomar <strong>um</strong>a ação baseado na<br />

leitura que faz do ambiente. Para o <strong>de</strong>senvolvimento da interface homem-máquina<br />

remota foi utilizada <strong>um</strong>a linguagem <strong>de</strong> programação <strong>de</strong> alto nível (linguagem C).<br />

15


Capítulo 2<br />

DESCRIÇÃO DO PROCESSO<br />

A indústria Ilpisa / Valedourado, instalada na cida<strong>de</strong> <strong>de</strong> Itapetinga-BA, tem como<br />

principais produtos o leite con<strong>de</strong>nsado, o leite em pó, o creme <strong>de</strong> leite e o leite UHT.<br />

A planta instalada consiste em <strong>um</strong> concentrador tubular com coluna <strong>de</strong>scen<strong>de</strong>nte da<br />

marca Niro, que já possui toda a instr<strong>um</strong>entação necessária ao seu bom funcionamento.<br />

Um PLC é responsável pelo controle do concentrador. Em <strong>um</strong> computador na cabine <strong>de</strong><br />

controle tem-se <strong>um</strong> <strong>sistema</strong> supervisório que faz toda a função <strong>de</strong> entrada e saída na planta.<br />

O <strong>sistema</strong> supervisório foi instalado juntamente com toda a automação da planta e<br />

funciona <strong>de</strong> maneira satisfatória. Porém este <strong>sistema</strong> não permite ao operador visualizar<br />

dados históricos do perfil <strong>de</strong> <strong>temperatura</strong> da planta, somente <strong>um</strong> valor instantâneo é<br />

mostrado na tela. O <strong>sistema</strong> também não gera alarmes <strong>de</strong> <strong>temperatura</strong> durante a produção.<br />

O supervisório, a cada minuto, atualiza <strong>um</strong>a planilha em formato dbf contendo os<br />

dados <strong>de</strong> <strong>temperatura</strong> do con<strong>de</strong>nsador.<br />

Atualmente o <strong>de</strong>partamento <strong>de</strong> qualida<strong>de</strong> avalia a qualida<strong>de</strong> do produto final da<br />

seguinte forma:<br />

no dia seguinte à produção <strong>um</strong> funcionário do setor <strong>de</strong> qualida<strong>de</strong> visualiza n<strong>um</strong><br />

gráfico os dados <strong>de</strong> <strong>temperatura</strong>s obtidos pelo supervisório utilizando o Microsoft Excel;<br />

tendo o horário da produção ele procura observar se em alg<strong>um</strong> momento do<br />

processo a <strong>temperatura</strong> do leite ultrapassou os limites inferior e superior, <strong>de</strong>terminando a<br />

qualida<strong>de</strong> do produto final.<br />

Os principais inconvenientes <strong>de</strong>ste procedimento são:<br />

o atraso <strong>de</strong> tempo entre a produção e a visualização do gráfico <strong>de</strong> <strong>temperatura</strong> pela<br />

coor<strong>de</strong>nação <strong>de</strong> qualida<strong>de</strong>.<br />

a impossibilida<strong>de</strong> <strong>de</strong> se tomar <strong>um</strong>a ação corretiva em tempo real, durante a<br />

produção, para evitar perda <strong>de</strong> matéria-prima e da qualida<strong>de</strong> no produto final;<br />

16


a ferramenta <strong>de</strong> gráficos do Microsoft Excel não possui boa <strong>de</strong>finição <strong>de</strong> pontos,<br />

dificultando a interpretação do gráfico.<br />

A proposta <strong>de</strong> se <strong>de</strong>senvolver <strong>um</strong> software que opere em paralelo com o <strong>sistema</strong><br />

supervisório já existente traz como benefícios:<br />

visualização da <strong>temperatura</strong> em “tempo real”;<br />

geração <strong>de</strong> alarmes durante o <strong>monitoramento</strong>;<br />

possibilida<strong>de</strong> <strong>de</strong> se tomar ações corretivas no <strong>de</strong>correr da produção;<br />

geração <strong>de</strong> relatórios <strong>de</strong> produção automáticos;<br />

facilida<strong>de</strong> <strong>de</strong> visualização <strong>de</strong> dados históricos;<br />

controle <strong>de</strong> acesso ao <strong>sistema</strong> através <strong>de</strong> login/senha;<br />

<strong>monitoramento</strong> da operação da planta.<br />

Os processos a serem monitorados pelo <strong>sistema</strong> <strong>de</strong>senvolvido por este projeto<br />

consistem na produção do leite con<strong>de</strong>nsado e do leite concentrado.<br />

O leite con<strong>de</strong>nsado é o produto que se obtém pela eliminação parcial da água do leite<br />

através do tratamento térmico conhecido por evaporação. Além <strong>de</strong>ste processo, o produto<br />

a<strong>um</strong>enta sua concentração mediante a adição <strong>de</strong> sacarose.<br />

Na fabricação do leite con<strong>de</strong>nsado têm-se dois processos distintos: a pasteurização e<br />

a vacina <strong>de</strong> lactose. O primeiro trabalha com <strong>temperatura</strong>s entre 118 e 120 o C, e a vacina <strong>de</strong><br />

lactose entre 25 e 35 o C.<br />

Já o leite concentrado consiste em <strong>um</strong> pré-produto para a produção do leite em pó e<br />

possui somente o processo <strong>de</strong> pasteurização, operando com <strong>temperatura</strong>s entre 90 e 95 o C.<br />

2.1. Pasteurização<br />

A pasteurização consiste em <strong>um</strong> processo térmico que tem como objetivo principal a<br />

<strong>de</strong>struição <strong>de</strong> microorganismos patogênicos associados ao alimento em questão. Um<br />

objetivo secundário é a<strong>um</strong>entar a vida <strong>de</strong> prateleira do alimento, reduzindo as taxas <strong>de</strong><br />

alterações microbiológicas e enzimáticas. Os produtos pasteurizados po<strong>de</strong>m conter, ainda,<br />

muitos organismos vivos capazes <strong>de</strong> crescer, o que limita sua vida <strong>de</strong> prateleira. Assim, a<br />

pasteurização é, muitas vezes, combinada com outros métodos <strong>de</strong> conservação e muitos<br />

17


produtos pasteurizados são estocados sob refrigeração. [POTTER, 1995]<br />

Existem três tipos <strong>de</strong> pasteurização:<br />

pasteurização lenta, na qual são utilizadas <strong>temperatura</strong>s menores durante <strong>um</strong><br />

intervalo <strong>de</strong> tempo maior. Este tipo é melhor para pequenas quantida<strong>de</strong>s <strong>de</strong> leite. A<br />

<strong>temperatura</strong> utilizada é <strong>de</strong> 65˚C durante trinta minutos;<br />

pasteurização rápida, na qual usam-se altas <strong>temperatura</strong>s durante curtos intervalos<br />

<strong>de</strong> tempo. É mais utilizada para leite <strong>de</strong> saquinho, do tipo A, B e C. A <strong>temperatura</strong><br />

utilizada é <strong>de</strong> 75˚C durantes 15 a 20 segundos. Na literatura, freqüentemente encontra-se<br />

este tipo <strong>de</strong> pasteurização com a <strong>de</strong>nominação HTST (High Temperature and Short Time),<br />

alta <strong>temperatura</strong> e curto tempo;<br />

pasteurização muito rápida, na qual as <strong>temperatura</strong>s utilizadas vão <strong>de</strong> 130˚C a<br />

150˚C, durante três a cinco segundos, este tipo é mais conhecido como UHT (Ultra High<br />

Temperature) ou longa vida.<br />

Os principais benefícios do processo <strong>de</strong> pasteurização são:<br />

redução quase total da transmissão <strong>de</strong> doenças;<br />

redução da carga bacteriana do leite;<br />

eliminação <strong>de</strong> bactérias in<strong>de</strong>sejáveis;<br />

prolongamento da vida <strong>de</strong> prateleira do leite e seus <strong>de</strong>rivados.<br />

E como principais <strong>de</strong>svantagens tem-se:<br />

redução e eliminação <strong>de</strong> bactérias lácteas benéficas (fermentos naturais);<br />

alteração do sabor do leite;<br />

<strong>de</strong>snaturação <strong>de</strong> proteínas do leite.<br />

No caso específico da fábrica da Ilpisa, o processo <strong>de</strong> pasteurização utiliza<br />

<strong>temperatura</strong>s entre 118 e 120º C, para a produção do leite con<strong>de</strong>nsado, e entre 90 e 95º C,<br />

para o leite concentrado.<br />

2.2. Vacina <strong>de</strong> lactose<br />

Sabe-se que o leite con<strong>de</strong>nsado é o produto obtido através da eliminação parcial da água<br />

18


presente no leite. O seu processamento passa por várias etapas como centrifugação,<br />

pasteurização, e <strong>um</strong>a padronização do teor <strong>de</strong> gordura; passando então por <strong>um</strong> evaporador<br />

<strong>de</strong> vários efeitos (normalmente são <strong>de</strong> quatro efeitos). É no evaporador que o leite vai<br />

sendo concentrado ao longo das etapas, chegando no final com <strong>um</strong>a <strong>de</strong>nsida<strong>de</strong> <strong>de</strong> 1300<br />

Kg/m 3 .<br />

No final do processo, acontece o resfriamento do produto. A água do leite<br />

con<strong>de</strong>nsado só po<strong>de</strong> manter em dissolução a meta<strong>de</strong> da lactose (açúcar do leite), sendo que<br />

a restante precipita-se em forma <strong>de</strong> cristais que são in<strong>de</strong>sejados no produto final. Em<br />

virtu<strong>de</strong> disso, é preciso controlar a precipitação da lactose, para tal, resfria-se o produto sob<br />

agitação até <strong>temperatura</strong>s da or<strong>de</strong>m <strong>de</strong> 25 a 30 ºC, ao mesmo tempo em que são<br />

adicionados (inoculados) finos cristais <strong>de</strong> lactose, esta operação é conhecida com o termo<br />

técnico <strong>de</strong> “Vacina <strong>de</strong> Lactose”. O papel <strong>de</strong>stes cristais adicionados é favorecer a formação<br />

<strong>de</strong> pequenos cristais <strong>de</strong> lactose. Os cristais adicionados (finos) funcionam como <strong>um</strong>a<br />

“base” a qual induz a formação <strong>de</strong> cristais diminutos, isso evita que o produto final fique<br />

com o paladar “arenoso”, ou seja, como se estivessem presentes pequenos grãos <strong>de</strong> areia.<br />

Para que a vacina <strong>de</strong> lactose seja realizada <strong>de</strong> maneira a<strong>de</strong>quada é preciso controlar a<br />

<strong>temperatura</strong> e a quantida<strong>de</strong> <strong>de</strong> lactose adicionada, bem como o tamanho dos cristais<br />

adicionados.<br />

lactose.<br />

O leite concentrado, outro produto que será monitorado, não possui vacina <strong>de</strong><br />

19


Capítulo 3<br />

ANÁLISE DE REQUISITOS<br />

Inicialmente foi feita <strong>um</strong>a visita à fábrica da Ilpisa on<strong>de</strong> foram tomadas alg<strong>um</strong>as<br />

informações acerca do processo <strong>de</strong> produção, dos problemas enfrentados e dos<br />

resultados esperados para o <strong>sistema</strong> a ser <strong>de</strong>senvolvido por este projeto.<br />

A partir daí foi feita <strong>um</strong>a análise <strong>de</strong> requisitos buscando especificar cada <strong>um</strong>a das<br />

funcionalida<strong>de</strong>s do software, chamadas aqui <strong>de</strong> casos <strong>de</strong> uso.<br />

A análise <strong>de</strong> requisitos consiste na i<strong>de</strong>ntificação e mo<strong>de</strong>lagem das funcionalida<strong>de</strong>s<br />

a serem implementadas no software <strong>de</strong> maneira a aten<strong>de</strong>r às necessida<strong>de</strong>s do cliente.<br />

O objetivo <strong>de</strong>ste <strong>sistema</strong> é conseguir monitorar a <strong>temperatura</strong> dos processos <strong>de</strong><br />

produção da planta em questão. Para tanto a aplicação <strong>de</strong>verá ser capaz <strong>de</strong> coletar dados<br />

do <strong>sistema</strong> supervisório a <strong>um</strong>a taxa <strong>de</strong>terminada pelo operador, exibir essas medidas em<br />

<strong>um</strong> gráfico <strong>de</strong> tendência em “tempo real” e gerar alarmes quando a <strong>temperatura</strong> sair dos<br />

limites <strong>de</strong> produção.<br />

Para a análise <strong>de</strong> requisitos foi utilizada a UML como linguagem <strong>de</strong> mo<strong>de</strong>lagem,<br />

através do software <strong>um</strong>brello, <strong>um</strong> programa gratuito para mo<strong>de</strong>lagem UML.<br />

20


3.1. Diagrama <strong>de</strong> casos <strong>de</strong> uso<br />

Figura 3.1. Diagrama <strong>de</strong> casos <strong>de</strong> uso<br />

No diagrama acima são mostrados os 2 atores do <strong>sistema</strong>: o operador e o coor<strong>de</strong>nador,<br />

cada <strong>um</strong> ligado aos seus respectivos casos <strong>de</strong> uso. Po<strong>de</strong>-se ver claramente que alg<strong>um</strong>as<br />

ações são comuns aos dois atores e outras são exclusivas do coor<strong>de</strong>nador, que possui<br />

todos os privilégios no <strong>sistema</strong>.<br />

21


3.1.1. Descrição dos casos <strong>de</strong> uso<br />

A seguir são mostradas as especificações <strong>de</strong> cada caso <strong>de</strong> uso do <strong>sistema</strong> a ser<br />

implementado.<br />

Nome: Fazer login<br />

Objetivo: Efetuar autenticação para ter acesso ao <strong>sistema</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>: O usuário <strong>de</strong>ve ter <strong>um</strong> usuário/senha cadastrada no <strong>sistema</strong><br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O software <strong>de</strong>ve estar rodando e não <strong>de</strong>ve haver usuário<br />

logado no <strong>sistema</strong><br />

Descrição: Logar-se no <strong>sistema</strong> por meio <strong>de</strong> usuário e senha<br />

criptografada<br />

Exceções: Já existe <strong>um</strong> usuário logado no <strong>sistema</strong>; usuário e/ou senha<br />

inválidos<br />

Pós-condição; O software está pronto para oferecer ao usuário todas as<br />

funcionalida<strong>de</strong>s a que tem permissão <strong>de</strong> acesso<br />

Nome: Fazer logout<br />

Tabela 3.1. Caso <strong>de</strong> uso: Fazer login<br />

Objetivo: Encerrar <strong>um</strong>a sessão <strong>de</strong> operação<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O software <strong>de</strong>ve estar rodando e <strong>de</strong>ve haver <strong>um</strong> usuário<br />

logado no <strong>sistema</strong><br />

Descrição: Deslogar-se do <strong>sistema</strong>, o que não implica encerrar o<br />

<strong>monitoramento</strong> do processo, mas apenas <strong>um</strong>a troca <strong>de</strong><br />

usuário<br />

Exceções:<br />

Pós-condição; O software bloqueia todas as funcionalida<strong>de</strong>s <strong>de</strong> usuários e<br />

aguarda <strong>um</strong>a nova operação <strong>de</strong> login<br />

Nome: Criar usuário<br />

Tabela 3.2. Caso <strong>de</strong> uso: Fazer logout<br />

Objetivo: Criar <strong>um</strong> novo usuário/senha para login no <strong>sistema</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: Um usuário com permissões <strong>de</strong> coor<strong>de</strong>nador <strong>de</strong>ve estar<br />

logado no <strong>sistema</strong><br />

Descrição: O coor<strong>de</strong>nador po<strong>de</strong> criar <strong>um</strong> novo usuário/senha para<br />

acesso aos <strong>sistema</strong>s, com nível <strong>de</strong> acesso específico<br />

Exceções: Os valores dos campos senha e confirmar senha são<br />

diferentes; alg<strong>um</strong> dos campos do formulário estar vazio; já<br />

existir <strong>um</strong> usuário com aquele nome no banco <strong>de</strong> dados<br />

Pós-condição; O usuário é criado na tabela <strong>de</strong> usuários do banco <strong>de</strong> dados e<br />

já po<strong>de</strong> fazer login no <strong>sistema</strong><br />

Tabela 3.3. Caso <strong>de</strong> uso: Criar usuário<br />

22


Nome: Excluir usuário<br />

Objetivo: Excluir <strong>um</strong> usuário/senha <strong>de</strong> acesso ao <strong>sistema</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: Um usuário com permissões <strong>de</strong> coor<strong>de</strong>nador <strong>de</strong>ve estar<br />

logado no <strong>sistema</strong><br />

Descrição: O coor<strong>de</strong>nador po<strong>de</strong> excluir <strong>um</strong> usuário <strong>de</strong> acesso ao <strong>sistema</strong><br />

na tabela <strong>de</strong> usuários do banco <strong>de</strong> dados<br />

Exceções:<br />

Pós-condição; O usuário excluído não mais terá acesso ao <strong>sistema</strong> através<br />

daquele usuário/senha<br />

Nome: Alterar senha<br />

Tabela 3.4. Caso <strong>de</strong> uso: Excluir usuário<br />

Objetivo: Alterar senha <strong>de</strong> acesso ao <strong>sistema</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>: Um usuário <strong>de</strong>ve ser capaz <strong>de</strong> alterar sua própria senha<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O usuário <strong>de</strong>ve estar logado.<br />

Descrição: Um usuário logado po<strong>de</strong> alterar sua própria senha<br />

Excessões: Os valores dos campos senha e confirmar senha são<br />

diferentes; alg<strong>um</strong> dos campos do formulário estar vazio<br />

Pós-condição; A senha <strong>de</strong> acesso o usuário foi alterada<br />

Tabela 3.5. Caso <strong>de</strong> uso: Alterar senha<br />

Nome: Configurar o <strong>sistema</strong><br />

Objetivo: Definir variáveis <strong>de</strong> configuração do <strong>sistema</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>: O usuário <strong>de</strong>ve ser capaz <strong>de</strong> reconfigurar o comportamento<br />

do <strong>sistema</strong> online<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: O coor<strong>de</strong>nador <strong>de</strong>ve estar logado<br />

Descrição:<br />

O coor<strong>de</strong>nador po<strong>de</strong> <strong>de</strong>finir variáveis <strong>de</strong> configuração do<br />

<strong>sistema</strong>, tais como: acesso ao banco <strong>de</strong> dados, taxa <strong>de</strong><br />

atualização dos dados (amostragem) e período <strong>de</strong><br />

<strong>monitoramento</strong> do processo ao longo do dia e da semana<br />

Exceções: Definição <strong>de</strong> dados inválidos do acesso ao banco <strong>de</strong> dados<br />

tais como: en<strong>de</strong>reço IP, port, nome do banco, usuário e<br />

senha; alg<strong>um</strong> campo em branco <strong>de</strong> configuração do <strong>sistema</strong>,<br />

como taxa <strong>de</strong> amostragem e período <strong>de</strong> <strong>monitoramento</strong><br />

Pós-condição; O <strong>sistema</strong> re<strong>de</strong>fine as variáveis no arquivo <strong>de</strong> configuração e<br />

reinicia o processo <strong>de</strong> <strong>monitoramento</strong> com os novos<br />

parâmetros<br />

Tabela 3.6. Caso <strong>de</strong> uso: Configurar <strong>sistema</strong><br />

23


Nome: Iniciar <strong>monitoramento</strong><br />

Objetivo: Colocar o <strong>sistema</strong> para acompanhar a <strong>temperatura</strong> do<br />

processo<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O software e o supervisório <strong>de</strong>vem estar rodando<br />

Descrição:<br />

Ao iniciar o <strong>monitoramento</strong> o usuário faz com que o<br />

<strong>sistema</strong> comece a amostrar os valores da <strong>temperatura</strong> do<br />

processo e atualizar o gráfico <strong>de</strong> tendência<br />

Exceções: A comunicação entre o software e o supervisório ou entre o<br />

software e o banco <strong>de</strong> dados po<strong>de</strong> falhar<br />

Pós-condição; O usuário po<strong>de</strong>rá acompanhar na tela o gráfico <strong>de</strong> tendência<br />

da <strong>temperatura</strong><br />

Tabela 3.7. Caso <strong>de</strong> uso: Iniciar <strong>monitoramento</strong><br />

Nome: Parar <strong>monitoramento</strong><br />

Objetivo: Interromper o <strong>monitoramento</strong> da <strong>temperatura</strong><br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O software <strong>de</strong>ve estar no estado <strong>de</strong> <strong>monitoramento</strong> da<br />

<strong>temperatura</strong><br />

Descrição:<br />

O usuário po<strong>de</strong>rá interromper o acompanhamento da<br />

<strong>temperatura</strong> do processo caso seja necessário<br />

Exceções:<br />

Pós-condição; O <strong>sistema</strong> ficará ocioso até que o <strong>monitoramento</strong> seja<br />

reiniciado<br />

Tabela 3.8. Caso <strong>de</strong> uso: Parar <strong>monitoramento</strong><br />

Nome: Criar produto<br />

Objetivo: Definir variáveis <strong>de</strong> configuração <strong>de</strong> <strong>um</strong> produto<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: O coor<strong>de</strong>nador <strong>de</strong>ve estar logado<br />

Descrição: O coor<strong>de</strong>nador po<strong>de</strong>rá setar configurações <strong>de</strong> <strong>um</strong> novo<br />

produto, tais como: tagname, <strong>temperatura</strong> <strong>de</strong> operação e<br />

limites inferior e superior<br />

Exceções: Já existe <strong>um</strong> produto com aquele tagname<br />

Pós-condição; O <strong>sistema</strong> estará apto a monitorar a produção daquele<br />

produto<br />

Tabela 3.9. Caso <strong>de</strong> uso: Criar produto<br />

24


Nome: Excluir produto<br />

Objetivo: Excluir <strong>um</strong> produto<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: O coor<strong>de</strong>nador <strong>de</strong>ve estar logado<br />

Descrição:<br />

O coor<strong>de</strong>nador po<strong>de</strong> excluir <strong>um</strong> produto que não mais<br />

será monitorado ou será modificado<br />

Exceções:<br />

Pós-condição; O produto não mais aparecerá como opção para o operador<br />

Tabela 3.10. Caso <strong>de</strong> uso: Excluir produto<br />

Nome: Trocar produto<br />

Objetivo: Efetuar a troca do produto em processo<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O usuário <strong>de</strong>ve estar logado<br />

Descrição:<br />

Exceções:<br />

O usuário po<strong>de</strong>rá trocar o produto a ser monitorado,<br />

alterando assim as configurações do <strong>sistema</strong> <strong>de</strong> alarmes<br />

Pós-condição; O <strong>sistema</strong> <strong>de</strong> alarmes estará configurado para aten<strong>de</strong>r às<br />

especificações daquele produto<br />

Tabela 3.11. Caso <strong>de</strong> uso: Trocar produto<br />

Nome: Justificar alarme<br />

Objetivo: Reconhecer e justificar <strong>um</strong> alarme<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Operador e coor<strong>de</strong>nador<br />

Pré-condição: O usuário <strong>de</strong>ve estar logado<br />

Descrição:<br />

O usuário logado <strong>de</strong>ve reconhecer e justificar <strong>um</strong> valor<br />

<strong>de</strong> <strong>temperatura</strong> fora dos limites inferior e superior<br />

Exceções:<br />

Pós-condição; O <strong>sistema</strong> volta ao seu estado normal <strong>de</strong> <strong>monitoramento</strong><br />

Tabela 3.12. Caso <strong>de</strong> uso: Justificar alarme<br />

Nome: Visualizar gráfico histórico<br />

Objetivo: Visualizar a perfil <strong>de</strong> <strong>temperatura</strong> histórico<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: O coor<strong>de</strong>nador <strong>de</strong>ve estar logado<br />

Descrição:<br />

O coor<strong>de</strong>nador po<strong>de</strong>rá visualizar o gráfico da<br />

Exceções:<br />

<strong>temperatura</strong> <strong>de</strong> <strong>um</strong> dia anterior da produção<br />

Não existir dados no banco <strong>de</strong> dados para a data selecionada<br />

Pós-condição; O <strong>sistema</strong> exibirá em outra janela o gráfico da <strong>temperatura</strong> do<br />

processo<br />

Tabela 3.13. Caso <strong>de</strong> uso: Visualizar gráfico histórico<br />

25


Nome: Gerar relatório <strong>de</strong> alarmes<br />

Objetivo:<br />

Requisitos <strong>de</strong> usabilida<strong>de</strong>:<br />

Gerar <strong>um</strong> relatório <strong>de</strong> alarmes<br />

Ator(es): Coor<strong>de</strong>nador<br />

Pré-condição: O coor<strong>de</strong>nador <strong>de</strong>ve estar logado<br />

Descrição:<br />

O coor<strong>de</strong>nador po<strong>de</strong>rá gerar <strong>um</strong> relatório <strong>de</strong> alarmes<br />

ocorridos em <strong>um</strong> intervalo <strong>de</strong> tempo<br />

Exceções: Não existir dados no banco <strong>de</strong> dados para o período<br />

selecionado<br />

Pós-condição; O <strong>sistema</strong> gerará e exibirá em <strong>um</strong>a janela o relatório<br />

Tabela 3.14. Caso <strong>de</strong> uso: Gerar relatório <strong>de</strong> alarmes<br />

3.2. Diagrama <strong>de</strong> sequência<br />

Foi elaborado <strong>um</strong> diagrama <strong>de</strong> sequência para a rotina <strong>de</strong> coleta <strong>de</strong> dados do<br />

supervisório e atualização do gráfico <strong>de</strong> tendência da <strong>temperatura</strong> do processo.<br />

Figura 3.2. Diagrama <strong>de</strong> sequência<br />

Primeiramente o usuário <strong>de</strong>verá iniciar o <strong>monitoramento</strong> do processo, a thread<br />

monitor é então criada e esta inicializa <strong>um</strong> timer com o período <strong>de</strong> amostragem dos<br />

dados. Atingido o período o timer “acorda” a thread que busca do supervisório a última<br />

medida obtida e insere este valor no gráfico <strong>de</strong> tendência.<br />

3.3. Mo<strong>de</strong>lagem do banco <strong>de</strong> dados<br />

A partir da análise <strong>de</strong> requisitos foi mo<strong>de</strong>lada a estrutura do banco <strong>de</strong> dados a ser<br />

implementado. A seguir é mostrado o diagrama <strong>de</strong> entida<strong>de</strong> relacionamento do <strong>sistema</strong>.<br />

26


Figura 3.3. Diagrama <strong>de</strong> Entida<strong>de</strong>-Relacionamento<br />

A partir do diagrama mostrado acima po<strong>de</strong>-se inferir que:<br />

cada produto po<strong>de</strong> ter <strong>um</strong> ou mais processos, on<strong>de</strong> cada processo possui os seus<br />

limites <strong>de</strong> <strong>temperatura</strong> <strong>de</strong> trabalho, e cada processo correspon<strong>de</strong> a <strong>um</strong> produto;<br />

cada produto po<strong>de</strong> ter <strong>um</strong> ou mais alarmes, e cada alarme refere-se a apenas <strong>um</strong><br />

produto;<br />

cada alarme gerado possui <strong>um</strong> único usuário, e <strong>um</strong> usuário po<strong>de</strong> ter vários<br />

alarmes relacionados.<br />

Existem ainda duas tabelas <strong>de</strong> logs, <strong>um</strong>a <strong>de</strong> usuários, responsável por registrar os<br />

acessos dos usuários do <strong>sistema</strong>, e outra <strong>de</strong> produto, que registra o início e o término do<br />

<strong>monitoramento</strong> <strong>de</strong> cada produto.<br />

27


3.4. Telas do <strong>sistema</strong><br />

A seguir são mostrados alguns protótipos das interfaces do <strong>sistema</strong>.<br />

■<br />

Fig. 3.5. Tela <strong>de</strong> exclusão <strong>de</strong> usuário<br />

Caso <strong>de</strong> uso: Excluir usuário<br />

Fig. 3.7. Telas <strong>de</strong> configuração do <strong>sistema</strong><br />

Caso <strong>de</strong> uso: Configurar <strong>sistema</strong><br />

Fig. 3.4. Tela <strong>de</strong> login<br />

Caso <strong>de</strong> uso: Fazer login<br />

Fig. 3.6. Tela <strong>de</strong> criação <strong>de</strong> usuário<br />

Caso <strong>de</strong> uso: Criar usuário<br />

28


A figura mostrada abaixo consiste n<strong>um</strong> screenshot da janela principal do<br />

programa em funcionamento.<br />

Fig. 3.8. Janela principal do <strong>sistema</strong><br />

Demonstração do <strong>sistema</strong> em funcionamento<br />

29


Capítulo 4<br />

DESENVOLVIMENTO DO SISTEMA<br />

Após feita toda a análise <strong>de</strong> requisitos e a mo<strong>de</strong>lagem do <strong>sistema</strong>, passou-se à etapa <strong>de</strong><br />

codificação do software, o <strong>de</strong>senvolvimento do <strong>sistema</strong> propriamente dito.<br />

Foi escolhido como <strong>sistema</strong> gerenciador <strong>de</strong> banco <strong>de</strong> dados (SGBD) o MySQL,<br />

<strong>de</strong>ntre outros motivos, por ser <strong>um</strong>a ferramenta gratuita, <strong>de</strong> fácil instalação e operação,<br />

<strong>de</strong> fácil conexão com diversas linguagens estruturadas, como C/C++, <strong>de</strong>lphi, java, php,<br />

etc, e possuir muita doc<strong>um</strong>entação disponível no site do fabricante e na internet <strong>de</strong><br />

maneira geral.<br />

Optou-se pelo Delphi como linguagem <strong>de</strong> <strong>de</strong>senvolvimento do software por ser<br />

<strong>um</strong>a linguagem estruturada, orientada à eventos e à objetos, <strong>de</strong> fácil aprendizado, com<br />

bastante doc<strong>um</strong>entação <strong>de</strong> auxílio na internet, com interface gráfica <strong>de</strong> fácil utilização,<br />

contando com componentes <strong>de</strong> conexão ao MySQL, etc.<br />

O Delphi é <strong>um</strong>a IDE da Borland, que segue a filosofia RAD (Rapid Application<br />

Development), que se baseia na facilida<strong>de</strong> do <strong>de</strong>senvolvimento <strong>de</strong> interfaces gráficas<br />

através <strong>de</strong> componentes.<br />

O Delphi mostrou-se <strong>um</strong>a linguagem a<strong>de</strong>quada ao <strong>de</strong>senvolvimento <strong>de</strong>ste<br />

aplicativo por alg<strong>um</strong>as restrições <strong>de</strong> projeto, tais como:<br />

o software <strong>de</strong>ve funcionar na mesma máquina em que roda o supervisório da<br />

planta;<br />

o software <strong>de</strong>ve rodar em windows, <strong>sistema</strong> operacional da máquina do<br />

supervisório;<br />

todo o <strong>sistema</strong> (software+banco <strong>de</strong> dados) <strong>de</strong>ve rodar n<strong>um</strong>a mesma máquina,<br />

visto não ser possível ligar-se a máquina na re<strong>de</strong> da empresa;<br />

o <strong>sistema</strong> <strong>de</strong>ve estar apto a <strong>um</strong>a migração para <strong>um</strong>a outra máquina rapidamente.<br />

Foi escolhido o Borland Delphi 6.0 professional, por ser a versão <strong>de</strong>sta IDE <strong>de</strong><br />

mais fácil acesso.<br />

30


4.1. Codificação do banco <strong>de</strong> dados<br />

O banco <strong>de</strong> dados foi codificado utilizando-se a linguagem SQL (Structured Query<br />

Language) e em seguida implementado no MySQL da máquina <strong>de</strong> <strong>de</strong>senvolvimento. O<br />

arquivo contendo o script sql foi armazenado n<strong>um</strong>a pasta <strong>de</strong> doc<strong>um</strong>entação do projeto<br />

para, n<strong>um</strong>a posterior instalação na fábrica ou em outra máquina, ser executado e gerar<br />

toda a estrutura <strong>de</strong> tabelas do banco <strong>de</strong> dados, onerando assim o usuário da codificação<br />

repetida do banco.<br />

O fato <strong>de</strong> o MySQL po<strong>de</strong>r ser baixado gratuitamente da internet e <strong>de</strong> a estrutura<br />

do banco <strong>de</strong> dados estar armazenada em <strong>um</strong> arquivo (script) torna o <strong>sistema</strong> <strong>de</strong> fácil e<br />

rápida instalação, caso seja necessário transferir todo <strong>um</strong> <strong>sistema</strong> para <strong>um</strong>a outra<br />

máquina.<br />

4.2. Codificação do software<br />

A etapa seguinte, mais longa, mais importante e por consequência mais <strong>de</strong>licada,<br />

consistiu em codificar o software mo<strong>de</strong>lado até o momento. Todas as interfaces gráficas<br />

(telas) foram <strong>de</strong>senvolvidas juntamente com o código <strong>de</strong> acesso e manipulação <strong>de</strong><br />

dados.<br />

O primeiro passo foi a instalação da IDE <strong>de</strong> <strong>de</strong>senvolvimento e dos componentes<br />

necessários: foi escolhido <strong>um</strong> componente gratuito para conexão ao banco <strong>de</strong> dados, o<br />

zeos (www.zeoslib.net), <strong>um</strong> para entrada <strong>de</strong> campos n<strong>um</strong>éricos, o n<strong>um</strong> edit. e <strong>um</strong><br />

componente para criptografia.<br />

Definiu-se <strong>um</strong> formato <strong>de</strong> arquivo texto, chamado config.txt, pra conter as<br />

<strong>de</strong>finições <strong>de</strong> configuração do <strong>sistema</strong>, como, por exemplo, informações <strong>de</strong> acesso ao<br />

banco <strong>de</strong> dados (IP, port, usuário, senha e nome do banco <strong>de</strong> dados) e do funcionamento<br />

do <strong>sistema</strong>, como o período <strong>de</strong> amostragem dos dados e o caminho (pasta) das planilhas<br />

<strong>de</strong> dados.<br />

4.2.1. Autenticação<br />

A primeira interface <strong>de</strong>senvolvida foi a tela <strong>de</strong> autenticação, que consiste em <strong>um</strong>a janela<br />

contendo <strong>um</strong> campo para entrada do login <strong>de</strong> usuário e <strong>um</strong> para a senha, além <strong>de</strong> <strong>um</strong><br />

botão OK para fazer o login do usuário.<br />

Ao clicar no botão OK o <strong>sistema</strong> verifica se todos os campos estão preenchidos,<br />

31


caso não estejam <strong>um</strong>a exceção é gerada e <strong>um</strong>a mensagem é exibida para o usuário na<br />

tela. Se todos os campos estão preenchidos o <strong>sistema</strong> primeiro criptografa a senha<br />

utilizando o MD5 [WEBER, 2006], o algoritmo <strong>de</strong> criptografia adotado, e então<br />

confirma na tabela <strong>de</strong> usuários se tal par login/senha está cadastrado no <strong>sistema</strong>.<br />

Caso os dados estejam corretos todas as funcionalida<strong>de</strong>s do <strong>sistema</strong> às quais o<br />

usuário tem acesso são habilitadas para o uso.<br />

Figura 4. 1. Janela <strong>de</strong> autenticação<br />

A janela acima mostra a tela <strong>de</strong> autenticação do <strong>sistema</strong>, on<strong>de</strong> o usuário <strong>de</strong>verá<br />

fazer login no início da operação do <strong>sistema</strong>.<br />

4.2.2. Configuração<br />

Em seguida partiu-se para a programação das janelas <strong>de</strong> configuração do <strong>sistema</strong>:<br />

configuração <strong>de</strong> acesso ao banco <strong>de</strong> dados, período <strong>de</strong> amostragem e acesso aos dados<br />

do supervisório, e gerenciamento do acesso ao <strong>sistema</strong> (criação e exclusão <strong>de</strong> usuários).<br />

Os dados informados pelo usuário nas janelas <strong>de</strong> configuração do <strong>sistema</strong> são<br />

atualizados no arquivo <strong>de</strong> configuração (config.txt) como já foi dito anteriormente.<br />

4.2.3. Gráfico <strong>de</strong> tendência<br />

O gráfico <strong>de</strong> tendência da <strong>temperatura</strong> do processo foi implementado a partir do<br />

componente TeeChart, <strong>um</strong> componente nativo do Delphi. Alg<strong>um</strong>as modificações <strong>de</strong><br />

comportamento em tempo <strong>de</strong> execução foram introduzias no componente.<br />

A ferramenta permite ao usuário focar o zoom em <strong>um</strong>a dada região do gráfico<br />

clicando-se o botão esquerdo do mouse e <strong>de</strong>senhando <strong>um</strong> retângulo a partir da posição<br />

superior esquerda. Para retornar ao zoom original do gráfico basta fazer <strong>um</strong> retângulo ao<br />

contrário, partindo agora do canto inferior direito.<br />

No eixo x (horizontal) do gráfico estão os horários das medidas realizadas, e no<br />

eixo y (vertical) o valor da <strong>temperatura</strong> medida em graus.<br />

São mostrados no gráfico <strong>de</strong> tendência dois perfis <strong>de</strong> <strong>temperatura</strong>, correspon<strong>de</strong>nte<br />

32


aos dois processos monitorados, a <strong>temperatura</strong> <strong>de</strong> pasteurização (gráfico em vermelho)<br />

e da vacina <strong>de</strong> lactose (gráfico em azul), como mostrado a seguir:<br />

Figura 4. 2. Gráfico <strong>de</strong> tendência<br />

Ao lado do gráfico <strong>de</strong> tendência é exibida <strong>um</strong>a tabela contendo os valores das<br />

medidas <strong>de</strong> <strong>temperatura</strong> para cada <strong>um</strong> dos processos e o horário em que foi feita a<br />

leitura da medida no PLC.<br />

Figura 4. 3. Tabela <strong>de</strong> dados<br />

33


4.2.4. Monitoramento e geração <strong>de</strong> alarmes<br />

O operador po<strong>de</strong>rá iniciar o <strong>monitoramento</strong> dos processos através <strong>de</strong> <strong>um</strong> check-box que<br />

<strong>de</strong>fine o status do processo, como mostrado na figura abaixo.<br />

Figura 4. 4. Check-box <strong>de</strong> alteração <strong>de</strong> status do processo<br />

Após alterar o status do processo para Em <strong>monitoramento</strong> o operador <strong>de</strong>verá<br />

escolher na caixa <strong>de</strong> seleção Produto, o produto em produção, <strong>de</strong> maneira a setar os<br />

limites superior e inferior para os processos do produto selecionado.<br />

Para o processo <strong>de</strong> <strong>monitoramento</strong> da variável (<strong>temperatura</strong>) foi criado <strong>um</strong> timer e<br />

<strong>um</strong>a thread para sincronizar a operação <strong>de</strong> coleta dos dados. A cada período <strong>de</strong><br />

amostragem o timer seta <strong>um</strong> evento que “acorda” a thread monitor que coleta na<br />

planilha <strong>de</strong> dados do dia <strong>de</strong> produção (arquivo DBF), os valores do timestamp e das<br />

<strong>temperatura</strong>s dos dois processos monitorados. A seguir a thread plota os novos valores<br />

<strong>de</strong> <strong>temperatura</strong> no gráfico <strong>de</strong> tendência e os inclui na tabela <strong>de</strong> dados. Este mecanismo é<br />

mostrado no diagrama <strong>de</strong> sequência em 3.2.<br />

O passo seguinte consiste em chamar-se <strong>um</strong>a função que analisa esses valores e<br />

<strong>de</strong>fine se estão <strong>de</strong>ntro dos limites inferior e superior <strong>de</strong> cada processo. Caso contrário<br />

<strong>um</strong> alarme é gerado, preenchendo <strong>um</strong>a linha da tabela <strong>de</strong> alarmes não reconhecidos.<br />

Figura 4. 5. Tabelas <strong>de</strong> alarmes<br />

O operador po<strong>de</strong>rá reconhecer e justificar <strong>um</strong> alarme da tabela mostrada acima<br />

clicando-se duas vezes sobre <strong>um</strong>a linha. É então aberta <strong>um</strong>a janela <strong>de</strong> reconhecimento<br />

<strong>de</strong> alarme para o operador, como mostrado a seguir:<br />

34


Figura 4. 6. Janela <strong>de</strong> reconhecimento <strong>de</strong> alarmes<br />

Os campos tipo <strong>de</strong> alarme, usuário e valor medido são do tipo read-only (somente<br />

leitura), ou seja, são preenchidos pelo <strong>sistema</strong> e não po<strong>de</strong>m ser alterados pelo operador.<br />

Após reconhecido o alarme, a janela é fechada e o alarme sai da tabela <strong>de</strong> alarmes<br />

não reconhecidos (fonte <strong>de</strong> cor vermelha) e vai para a tabela <strong>de</strong> alarmes reconhecidos<br />

(fonte <strong>de</strong> cor preta).<br />

4.2.5. Relatórios<br />

A última etapa do <strong>de</strong>senvolvimento consistiu na implementação <strong>de</strong> <strong>um</strong>a ferramenta <strong>de</strong><br />

relatórios que permitisse ao operador gerar relatórios contendo o gráfico histórico da<br />

<strong>temperatura</strong> para <strong>um</strong> dia <strong>de</strong> produção, e os alarmes gerados n<strong>um</strong> período <strong>de</strong> produção.<br />

Para isto foi utilizada a ferramenta <strong>de</strong> relatórios Quick Report, que faz parte do Delphi<br />

6.<br />

É mostrada a seguir a janela <strong>de</strong> configuração <strong>de</strong> relatórios.<br />

35


Figura 4. 7. Janela <strong>de</strong> configuração <strong>de</strong> relatórios<br />

A figura acima representa a janela <strong>de</strong> configuração <strong>de</strong> relatórios, através da qual o<br />

operador po<strong>de</strong>rá <strong>de</strong>finir alguns parâmetros do relatório impresso, tais como o período e<br />

a presença ou não <strong>de</strong> gráfico.<br />

Os relatórios gerados po<strong>de</strong>m ser diretamente impressos em qualquer impressora<br />

instalada na máquina, ou em re<strong>de</strong>, e ainda ser salvo como imagem.<br />

36


Capítulo 5<br />

TESTES E IMPLANTAÇÃO<br />

Após o término da etapa <strong>de</strong> <strong>de</strong>senvolvimento do <strong>sistema</strong> foram feitos testes visando<br />

garantir o bom funcionamento do <strong>sistema</strong>. A técnica escolhida foi o Teste <strong>de</strong> Caixa<br />

Preta (Black Box). No Teste <strong>de</strong> Caixa Preta <strong>de</strong>ve-se conhecer as funções que o software<br />

possui e saber se elas operam corretamente, portanto, este teste refere-se aos testes<br />

realizados nas interfaces do software e não se preocupa com sua estrutura lógica interna.<br />

[ROCHA, 2002]<br />

5.1. Testes<br />

Foram elaborados casos <strong>de</strong> teste para os casos <strong>de</strong> uso <strong>de</strong>scritos na seção 3.1.1. Cada<br />

caso <strong>de</strong> teste é composto pelo itens abaixo:<br />

caso <strong>de</strong> teste: caso <strong>de</strong> teste participante da ação, que po<strong>de</strong> ser <strong>um</strong> caso <strong>de</strong> uso ou<br />

parte <strong>de</strong> <strong>um</strong> caso <strong>de</strong> uso;<br />

ação: ação a ser executada pelo caso <strong>de</strong> teste;<br />

interfaces envolvidas: as janelas ou arquivo que participam do teste;<br />

entradas: as entradas a serem fornecidas para o teste. Há duas categorias:<br />

Correta: Entrada com todos os valores certos;<br />

Com erro: Entrada errada para testar a robustez do software.<br />

Saídas esperadas: as saídas esperadas nos casos das entradas perfeita e com<br />

erros;<br />

Saídas obtidas: as saídas que foram exibidas após a realização da ação;<br />

Resultado: indica sucesso, caso a saída apresentada seja igual à saída esperada.<br />

Caso contrário, o resultado faz a <strong>de</strong>scrição do problema apresentado.<br />

Foram criados 12 casos <strong>de</strong> teste básicos visando testar os casos <strong>de</strong> uso mo<strong>de</strong>lados.<br />

Destes apenas 1 apresentou <strong>um</strong>a saída diferente da esperada, o que representa <strong>um</strong><br />

<strong>de</strong>sempenho <strong>de</strong> 91,67%. O caso <strong>de</strong> teste que apresentou problemas foi corrigido e<br />

<strong>de</strong>pois testado novamente, verificando-se a solução do problema.<br />

São mostrados a seguir dois casos <strong>de</strong> teste, <strong>um</strong> cujo resultado foi sucesso e outro<br />

37


que apresentou erro:<br />

Caso <strong>de</strong> teste<br />

Ação<br />

Interfaces envolvidas<br />

Entradas<br />

Saídas esperadas<br />

Saídas obtidas<br />

Resultado<br />

Inicialização do <strong>sistema</strong><br />

Inicializar as variáveis <strong>de</strong> configuração do<br />

<strong>sistema</strong><br />

Arquivo texto <strong>de</strong> parâmetros <strong>de</strong><br />

configuração<br />

Correta Arquivo presente<br />

Com erro<br />

Correta<br />

Com erro<br />

Correta<br />

Arquivo ausente<br />

O <strong>sistema</strong> <strong>de</strong>ve inicializar as variáveis <strong>de</strong><br />

acesso ao banco <strong>de</strong> dados e período <strong>de</strong><br />

amostragem<br />

Mensagem <strong>de</strong> erro informando a<br />

ausência do arquivo<br />

Como esperado<br />

Com erro Como esperado<br />

Sucesso<br />

Tabela 5.1. Exemplo <strong>de</strong> caso <strong>de</strong> teste<br />

A tabela acima mostra <strong>um</strong> caso <strong>de</strong> teste que consiste na inicialização do <strong>sistema</strong>.<br />

Para tanto foram elaboradas duas entradas: <strong>um</strong>a correta, on<strong>de</strong> o arquivo <strong>de</strong> parâmetros<br />

<strong>de</strong> configuração estava presente na pasta do programa, e outra com erro, em que o<br />

arquivo <strong>de</strong> configuração não foi encontrado. Para ambas as situações o <strong>sistema</strong><br />

respon<strong>de</strong>u da maneira esperada, sendo que na entrada com erro foi exibida <strong>um</strong>a<br />

mensagem <strong>de</strong> erro para o usuário informando o problema.<br />

Como forma <strong>de</strong> testar o funcionamento do <strong>sistema</strong> na coleta <strong>de</strong> dados do<br />

supervisório foi utilizada <strong>um</strong>a tabela em formato DBF extraída do computador da<br />

fábrica, contendo os dados <strong>de</strong> <strong>um</strong> dia <strong>de</strong> produção real.<br />

Um caso <strong>de</strong> teste foi elaborado com este propósito e é mostrado na tabela a seguir.<br />

38


Caso <strong>de</strong> teste<br />

Ação<br />

Coleta <strong>de</strong> dados<br />

Interfaces envolvidas Tela principal<br />

Entradas<br />

Saídas esperadas<br />

Saídas obtidas<br />

Resultado<br />

Correta<br />

Com erro<br />

Correta<br />

Com erro<br />

Correta<br />

Com erro<br />

Coletar dados do arquivo em formato<br />

DBF, plotar as medidas no gráfico <strong>de</strong><br />

tendência e na tabela <strong>de</strong> dados.<br />

Planilha contendo as medidas presente<br />

na pasta.<br />

Ausência do arquivo na pasta.<br />

Medidas plotadas no gráfico <strong>de</strong><br />

tendência e na tabela.<br />

Mensagem <strong>de</strong> erro informando que o<br />

arquivo referente àquele dia <strong>de</strong> produção<br />

não havia sido encontrado.<br />

Os valores foram plotados no gráfico <strong>de</strong><br />

tendência e inseridos na tabela <strong>de</strong> dados<br />

Foi exibida a mensagem <strong>de</strong> erro<br />

informando que o arquivo <strong>de</strong> dados não<br />

havia sido encontrado, mas em seguida,<br />

<strong>um</strong>a mensagem <strong>de</strong> erro não tratada do<br />

<strong>sistema</strong> operacional foi também<br />

mostrada na tela<br />

Falha<br />

Tabela 5.2. Exemplo <strong>de</strong> caso <strong>de</strong> teste com problemas<br />

A tabela acima <strong>de</strong>screve <strong>um</strong> caso <strong>de</strong> teste que consiste na rotina <strong>de</strong> coleta <strong>de</strong><br />

dados do supervisório. Foram elaboradas duas entradas, <strong>um</strong>a correta, na qual a tabela <strong>de</strong><br />

dados estava presente na pasta, e outra com erro, on<strong>de</strong> este arquivo não foi encontrado.<br />

Nesse caso <strong>de</strong> uso ocorreu <strong>um</strong>a excessão não tratada pelo programa e o <strong>sistema</strong> travou.<br />

Em seguida o <strong>sistema</strong> foi recompilado contando com <strong>um</strong> tratamento especial para essa<br />

excessão.<br />

5.2. Implantação<br />

Após a fase <strong>de</strong> testes e corrigidos os erros encontrados, passou-se à etapa <strong>de</strong><br />

implantação do <strong>sistema</strong> na fábrica. Decidiu-se que a aplicação seria instalada na mesma<br />

máquina que roda o supervisório, pois, por motivos <strong>de</strong> segurança, esta máquina não<br />

encontrava-se ligada à re<strong>de</strong> da empresa, portando o <strong>sistema</strong> rodaria localmente.<br />

A máquina da Ilpisa apresentava as condições mínimas necessárias para o bom<br />

funcionamento do <strong>sistema</strong>: <strong>um</strong> micro Penti<strong>um</strong> III 1,8 GHz, com 512mb <strong>de</strong> memória<br />

RAM, rodando <strong>sistema</strong> operacional Windows 2000 Server.<br />

39


Primeiramente foi instalado na máquina o banco <strong>de</strong> dados, o MySQL versão 5.0.<br />

Em seguida foi rodado o script <strong>de</strong> criação do banco <strong>de</strong> dados.<br />

Implementado o banco <strong>de</strong> dados passou-se à cópia dos arquivos da aplicação.<br />

Alg<strong>um</strong>as configurações locais foram necessárias, tais como, o caminho dos arquivos <strong>de</strong><br />

dados (planilhas do supervisório), o en<strong>de</strong>reço do banco <strong>de</strong> dados (local) e alg<strong>um</strong>as<br />

bibliotecas necessárias (dll) não estavam presentes na versão do windows instalada, e<br />

tiveram que ser copiadas.<br />

Toda implantação ocorreu sem maiores problemas e foi feito <strong>um</strong> start-up no<br />

software, que rodou perfeitamente, coletando os dados e mostrando-os no gráfico <strong>de</strong><br />

tendência.<br />

40


Capítulo 6<br />

CONCLUSÕES<br />

Ao final <strong>de</strong>ste projeto foi obtido, como esperado, <strong>um</strong> <strong>sistema</strong> <strong>de</strong> informação capaz <strong>de</strong><br />

auxiliar o <strong>de</strong>partamento <strong>de</strong> qualida<strong>de</strong> da empresa no acompanhamento dos processos<br />

produtivos em tempo real. Ou seja, o <strong>sistema</strong> apresenta conformida<strong>de</strong> com as<br />

especificações iniciais.<br />

Todo este <strong>sistema</strong> po<strong>de</strong>ria ser <strong>de</strong>senvolvido <strong>de</strong>ntro do supervisório, porém alguns<br />

fatores foram <strong>de</strong>terminantes na escolha pelo <strong>de</strong>senvolvimento <strong>de</strong> <strong>um</strong> <strong>sistema</strong> à parte,<br />

tais como:<br />

• A distância física da fábrica, situada no sul da Bahia, a cerca <strong>de</strong> 1000 km <strong>de</strong><br />

Belo Horizonte;<br />

• A necessida<strong>de</strong> <strong>de</strong> aprendizado e familiarida<strong>de</strong> com o <strong>sistema</strong> supervisório da<br />

Ilpisa, em contrapartida ao já domínio do Delphi.<br />

Durante este trabalho houve gran<strong>de</strong> cooperação por parte dos funcionários da<br />

empresa, o que facilitou significativamente o <strong>de</strong>senvolvimento do <strong>sistema</strong> à distância.<br />

A seguir é mostrada <strong>um</strong>a imagem da tela principal do programa em<br />

funcionamento na fábrica.<br />

41


Fig. 6.10. Janela principal<br />

Como sugestão para trabalhos futuros ficam:<br />

• Operação do <strong>sistema</strong> em re<strong>de</strong>, possibilitando maior integração <strong>de</strong> dados na<br />

empresa;<br />

• Integração do software e do banco <strong>de</strong> dados com <strong>sistema</strong>s <strong>de</strong> gestão da empresa,<br />

proporcionando aos gerentes o acompanhamento do processo em tempo real;<br />

• <strong>Desenvolvimento</strong> <strong>de</strong> aplicações WEB para acesso remoto via internet ou intranet<br />

das informações do <strong>sistema</strong>, o que seria <strong>de</strong> gran<strong>de</strong> ganho para a empresa visto<br />

que esta possui fábricas espalhadas pelos estados da Bahia e <strong>de</strong> Alagoas;<br />

• Armazenamento histórico <strong>de</strong> picos <strong>de</strong> <strong>temperatura</strong>, outra variável importante<br />

para a produção <strong>de</strong> <strong>de</strong>rivados do leite;<br />

• Uso <strong>de</strong> técnicas <strong>de</strong> controle estatístico, para produção <strong>de</strong> cartas <strong>de</strong> controle<br />

visando obter <strong>um</strong> maior controle do comportamento da <strong>temperatura</strong> do processo<br />

e a <strong>de</strong>tecção <strong>de</strong> fatores influentes no processo.<br />

42


Referências Bibliográficas<br />

[ALMEIDA, 2006] ALMEIDA, Claudio Jose; CHAVES, Daniel Baltazar; CHAVES, Ricardo<br />

Baltazar; GRANATO, Sandro Campos; CARELLI, Flavio Campos; OSORIO, Tito Livio;<br />

GENESTRA, Marcelo. Aspectos Gerais da Aplicação <strong>de</strong> Sistemas <strong>de</strong> Informação na Agropecuária.<br />

Revista Eletrônica <strong>de</strong> Sistemas <strong>de</strong> Informação, ed. 8, n. 2, 2006.<br />

[BILOBROVEC, 2005] BILOBROVEC, Marcelo. Sistema Especialista em Lógica Fuzzy para o<br />

Controle, Gerenciamento e Manutenção da Qualida<strong>de</strong> em Processo <strong>de</strong> Aeração <strong>de</strong> Grãos. 2005.<br />

Universida<strong>de</strong> Tecnológica Fe<strong>de</strong>ral do Paraná.<br />

[CERVO, 2002] CERVO, A.L.; BERVIAN, P.A.. Metodologia Científica. 5 ed. São Paulo:<br />

Prentice Hall (2002).<br />

[DATE, 1986] DATE, C. J. Introdução a Sistemas <strong>de</strong> Bancos <strong>de</strong> Dados. Editora Campus. 1986.<br />

[KORTH, 1984] KORTH, H.F. e SILBERSCHATZ, A.. Sistemas <strong>de</strong> Bancos <strong>de</strong> Dados. Makron<br />

Books, 2a. edição revisada, 1994.<br />

[MOLINA, 2001] MOLINA, Geraldo Luís Samata. <strong>Desenvolvimento</strong> <strong>de</strong> Software para Análise <strong>de</strong><br />

Turbinas a Vapor. 2001. Escola Fe<strong>de</strong>ral <strong>de</strong> Engenharia <strong>de</strong> Itajubá.<br />

[ORLANDINI, 2006] ORLANDINI, Leandro. A importância dos <strong>sistema</strong>s <strong>de</strong> informação. 2006.<br />

Coluna Administração e Tecnologia, no site www.bon<strong>de</strong>.com.br. Acesso em 24/02/2007.<br />

[OTSUKA, 2004] Fabiano Yukio Otsuka. <strong>Desenvolvimento</strong> <strong>de</strong> <strong>um</strong> Aplicativo para Gestão <strong>de</strong><br />

Eventos Utilizando a Ferramenta <strong>de</strong> Programação Delphi. Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Lavras. 2004.<br />

[POTTER, 1995] Potter, N. N. e Hotchikiss, J. H. Food Science. 5.ed. New York: Chapman<br />

& Hall, 1995.<br />

[REZENDE, 2002] Denis Alci<strong>de</strong>s Rezen<strong>de</strong>. Engenharia <strong>de</strong> Software e Sistemas <strong>de</strong> Informação. Rio<br />

<strong>de</strong> Janeiro, 2002.<br />

[REZENDE, 2004] REZENDE, Ricardo. Conceitos Fundamentais <strong>de</strong> Banco <strong>de</strong> Dados. 2004.<br />

www.sqlmagazine.com.br. Acesso em 30/03/2007.<br />

[ROCHA, 2002] ROCHA, Camila Ribeiro.Estudo do Mo<strong>de</strong>lo Incremental para <strong>Desenvolvimento</strong><br />

<strong>de</strong> Software Utilizando o Paradigma <strong>de</strong> Orientação a Objetos. Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Goiás. 2002.<br />

[VIEIRA, 1999] VIEIRA, Rodrigo <strong>de</strong> Souza. Protótipo <strong>de</strong> <strong>um</strong> Sistema <strong>de</strong> Monitoramento Remoto<br />

Inteligente. 1999. Universida<strong>de</strong> Fe<strong>de</strong>ral <strong>de</strong> Santa Catarina.<br />

[WEBER, 2006] WEBER, Raul Fernando. Criptografia contemporânea . Universida<strong>de</strong> Fe<strong>de</strong>ral do<br />

Rio Gran<strong>de</strong> do Sul. Disponível em:<br />

.<br />

Acesso em 13/04/2007.<br />

43


[YAMAGUCHI et al., 2000] YAMAGUCHI, Luis Carlos Takao; NEVES, Braz dos Santos;<br />

CARNEIRO, Alziro Vasconcelos e NOCELLI, Cristianne Regina. 2000. Uso <strong>de</strong> Sistema<br />

Informatizado na Gestão <strong>de</strong> Indústrias <strong>de</strong> Laticínios. Congresso e Mostra <strong>de</strong> Agro Informática.<br />

44

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!