CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA

Propaganda
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTÔNIOSEABRA
CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS
ELIANE PEIXOTO DOS SANTOS
JOSUÉ NICOLAU
PROTÓTIPO DE UM SISTEMA VOLTADO À ONGs QUE
ATUAM NO RESGATE DE ANIMAIS MALTRATADOS
LINS/SP
1º SEMESTRE/2014
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
PAULA SOUZA
FACULDADE DE TECNOLOGIA DE LINS PROF. ANTÔNIO SEABRA
CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS
ELIANE PEIXOTO DOS SANTOS
JOSUÉ NICOLAU
PROTÓTIPO DE UM SISTEMA VOLTADO À ONGs QUE
ATUAM NO RESGATE DE ANIMAIS MALTRATADOS
Trabalho de Conclusão de Curso apresentado à
Faculdade de Tecnologia de Lins para a obtenção
do título de Tecnólogo em Banco de Dados.
Orientador: Prof. Dr. Paulo Augusto Nardi
LINS/SP
1º SEMESTRE/2014
ELIANE PEIXOTO DOS SANTOS
JOSUÉ NICOLAU
PROTÓTIPO DE UM SISTEMA VOLTADO À ONGs QUE
ATUAM NO RESGATE DE ANIMAIS MALTRATADOS
Trabalho de Conclusão de Curso apresentado à
Faculdade de Tecnologia de Lins, como parte dos
requisitos necessários para obtenção do título de
Tecnólogo em Banco de Dados.
Data de aprovação:____/____/____
___________________________________
Orientador (Prof. Dr. Paulo Augusto Nardi)
___________________________________
Examinador 1
___________________________________
Examinador 2
AGRADECIMENTOS
Agradecemos ao nosso orientador Professor Doutor Paulo Augusto Nardi pelo
apoio e atenção. À ONG Refúgio Pet - nas pessoas de Denise Chaim e professora
Luciane Noronha, por terem nos auxiliado e incentivado neste trabalho. Aos
professores e professoras que direta ou indiretamente contribuíram para sua
realização.
A Deus, a minha querida mãe e a todos
aqueles que lutam contra o abandono e maus
tratos aos animais domésticos. Também dedico a
todos que batalham contra o extermínio de
animais planeta afora.
Eliane Peixoto
À família, aos amigos e colegas pelo incentivo
e apoio constantes. Também a todos os
professores e a todos os funcionários da Fatec
Lins.
Josué Nicolau
RESUMO
As
facilidades
adquiridas
com
a
adoção
de
um
sistema
informatizadoconstituem atualmente a realidade de grandes, médias e pequenas
empresas e organizações, independente da área de atuação das mesmas. Os
investimentos em tecnologias direcionadas ao gerenciamento e à administração de
rotinas de trabalho são cada vez mais constantes na sociedade contemporânea.
Porém, na contramão desta perspectiva, há setores da sociedade, como
Organizações Não Governamentais (ONG), com poucos recursos, dependentes
quase que na totalidade do trabalho voluntário e de doações, que estão privadas de
aproveitar as facilidades disponibilizadas pela computação. Situação esta
constatada na pesquisa sobre a atuação de duas ONGs nas cidades de Lins e
Promissão, que trabalham no resgate de animais maltratados. O conhecimento da
realidade destas Organizações motivou o desenvolvimento do protótipo de uma
aplicaçãoweb neste trabalho de conclusão de curso. Deste modo, o objetivo final é o
de disponibilizá-lo posteriormente às ONGs pesquisadas e a outras que
manifestarem interesse pelo trabalho, no intuito de contribuir para o aprimoramento
das atividades desenvolvidas diariamente por Entidades deste setor. Para a
concretização deste projeto foram utilizadas as seguintes tecnologias: Java Server
Faces (JSF), PrimeFaces, Hibernate, Java Enterprise Edition(JEE), o banco de
dados Mysql e IntegratedDevelopmentEnvironment(IDE), Netbeans.
Palavras-chave: Organizações Não Governamentais, protótipo de aplicação web,
animais maltratados.
ABSTRACT
The facilities acquired with the adoption of a computerized system currently
constitute the reality of large, medium and small businesses and organizations,
regardless of the area of operation of the same. Investments in technologies aimed
at the management and administration of work routines are increasingly set in
contemporary society. However, against this perspective, there are sectors of society
such as Non-Governmental Organizations (NGOs), with few resources, dependent
almost entirely of volunteer work and donations, which are deprived of availing the
facilities provided by the computation. This situation is evidenced in the research into
the work of two NGOs in the cities of Lins and Promissão, working to rescue abused
animals. The knowledge of the reality of these organizations motivated the
development of the prototype of a web application in this work of completion. Thus,
the ultimate goal is to make it available to subsequently surveyed NGOs and others
who have expressed interest in the work in order to contribute to the improvement of
daily activities for these sector entities. The following technologies were used to
implement this project: Java Server Faces (JSF), PrimeFaces, Hibernate, Java
Enterprise Edition (JEE), the MySQL and Integrated Development Environment
(IDE), Net Beans.
Keywords: Non-Governmental Organizations, prototype web application, mistreated
animals.
LISTA DE ILUSTRAÇÕES
Figura 1.1 – Animal Resgatado.................................................................................20
Figura 2.1 – Diagrama de Casos de Uso..................................................................28
Figura 2.2 – Diagrama de Atividade Efetuar Login.............................................. ...55
Figura 2.3 – Diagrama de Atividade Cadastrar ONG................................................56
Figura 2.4 – Diagrama de Atividade Cadastrar Usuário............................................56
Figura 2.5 – Diagrama de Atividade Manter Pessoa.................................................57
Figura 2.6 – Diagrama de Atividade Manter Animal..................................................57
Figura 2.7 – Diagrama de Atividade Manter Atendimento.........................................58
Figura 2.8 – Diagrama de Atividade Manter Adoção.................................................58
Figura 2.9 – Diagrama de Atividade Manter Lar Temporário.....................................59
Figura 2.10 – Diagrama de Atividade Manter Evento................................................59
Figura 2.11 – Diagrama de Atividade Manter Doação de Produtos..........................60
Figura 2.12 – Diagrama de Atividade Manter Receita...............................................60
Figura 2.13 – Diagrama de Atividade Manter Despesa.............................................61
Figura 2.14 – Diagrama de Atividade Manter Visita..................................................61
Figura 2.15 – Diagrama de Atividade Manter Produto..............................................62
Figura 2.16 – Diagrama de Atividade Manter Contribuição......................................62
Figura 2.17 – Diagrama MVC Efetuar Login.............................................................63
Figura 2.18 – Diagrama MVC Cadastrar ONG..........................................................64
Figura 2.19 – Diagrama MVC Cadastrar Usuário......................................................64
Figura 2.20 – Diagrama MVC Manter Pessoa...........................................................65
Figura 2.21 – Diagrama MVC Manter Animal............................................................65
Figura 2.22 – Diagrama MVC Manter Atendimento..................................................66
Figura 2.23 – Diagrama MVC Manter Adoção..........................................................66
Figura 2.24 – Diagrama MVC Manter Lar Temporário..............................................67
Figura 2.25 – Diagrama MVC Manter Evento...........................................................67
Figura 2.26 – Diagrama MVC Manter Doação de Produtos.....................................68
Figura 2.27 – Diagrama MVC Manter Receita..........................................................68
Figura 2.28 – Diagrama MVC Manter Despesa........................................................69
Figura 2.29 – Diagrama MVC Manter Visita.............................................................69
Figura 2.30 – Diagrama MVC Manter Produto..........................................................70
Figura 2.31 – Diagrama MVC Manter Contribuição..................................................70
Figura 2.32 – Diagrama Sequência Efetuar Login.....................................................71
Figura 2.33 – Diagrama Sequência Cadastrar ONG ................................................71
Figura 2.34 – Diagrama Sequência Cadastrar Usuário.............................................72
Figura 2.35 – Diagrama Sequência Manter Pessoa..................................................72
Figura 2.36 – Diagrama Sequência Manter Animal...................................................73
Figura 2.37 – Diagrama Sequência Manter Atendimento..........................................73
Figura 2.38 – Diagrama Sequência Manter Adoção..................................................74
Figura 2.39 – Diagrama Sequência Manter Lar Temporário......................................74
Figura 2.40 – Diagrama Sequência Manter Evento...................................................75
Figura 2.41 – Diagrama Sequência Manter Doação de Produtos.............................75
Figura 2.42 – Diagrama Sequência Manter Receitas................................................76
Figura 2.43 – Diagrama Sequência Manter Despesas..............................................76
Figura 2.44 – Diagrama Sequência Manter Visita......................................................77
Figura 2.45 – Diagrama Sequência Manter Produto..................................................77
Figura 2.46 – Diagrama Sequência Manter contribuição...........................................78
Figura 2.47 – Diagrama de Classes...........................................................................79
Figura 2.48 – Modelo de Entidade e Relacionamento...............................................80
Figura 3.1 – Carregador da Classe lê os Bytecodes.................................................86
Figura 3.2 – Framework JSF.....................................................................................89
Figura 3.3 – Codificação e Decodificação JSF..........................................................90
Figura 4.1 – Interface de linha de comando..............................................................96
Figura 4.2 – Interface gráfica do programa MySQL Workbench...............................97
Figura 4.3 – Página Web Inicial.................................................................................98
Figura 4.4 – Ilustração Página Quem Somos............................................................98
Figura 4.5 – Página Interna Menu Eventos................................................................99
Figura 4.6 – Página Interna no submenu Doações em Dinheiro...............................99
Figura 4.7 – Página Interna Voluntários...................................................................100
Figura 4.8 – Página Acessada Pelo Menu Contato.................................................100
Figura 4.9 – Página Interna submenu Desaparecidos.............................................101
Figura 4.10 - Página Interna submenu Tipos...........................................................101
Figura 4.11 – MVC, representado pelos pacotes no Netbeans...............................102
Figura 4.12 – Especificação JPA.............................................................................103
Figura 4.13 – Implementação Componentes...........................................................104
Figura 4.14 – Código Classe Abstrata, modelo classes abstratas..........................105
Figura 4.15 – Uso da Anotação JSF.......................................................................106
Figura 4.16 – Página Inicial do Protótipo site OngWeb...........................................107
Figura 4.17 – Mensagem de Cadastro de receita realizado....................................108
Figura 4.18 – Mensagem Cadastro Pessoas...........................................................108
Figura 4.19 – Relação de Pessoas Cadastradas....................................................109
Figura 4.20 - Relação de Animais Cadastrados................................................... .109
LISTA DE QUADRO
Quadro 2.1 – Requisitos Funcionais..........................................................................26
Quadro 2.2 – Lista de Casos de Uso.........................................................................29
LISTA DE ABREVIATURAS E SIGLAS
ONG – Organização Não Governamental
APROAN – Associação de Amor e Proteção aos Animais
AJAX – Asynchronous JavaScript and Extensible Markup Language
APIs - Application Programming Interfaces
HTML – Hypertext Markup Language
HTTP – HyperText Transfer Protocol
IDEs – Integrated Development Environments
JDBC – Java Database Connectivity
JDK – Java Development Kit
JEE – Java Enterprise Edition
JME – Java Micro Edition
JPA – Java Persistence API
JSE – Java StandartEdition
JSF – Java Server Faces
JVM – Java Virtual Machine
MER – Modelo de Entidade e Relacionamento
MVC – ModelViewController
OAB – Ordem dos Advogados do Brasil
POJO – Plain Old Java Object
SO – Sistema Operacional
SQL – Structured Query Language
UI – User Interface URL – Uniform Resource Locator
XHMTL – Extensible Hypertext Markup Language
XML – Extensible Markup Language
SUMÁRIO
INTRODUÇÃO .......................................................................................................... 16
1 LEVANTAMENTO DE REQUISITOS (ANÁLISE DO NEGÓCIO) .......................... 18
1.1 SITUAÇÃO ATUAL ............................................................................................. 18
1.1.1 Problemas Encontrados ................................................................................... 18
1.2 AS ORGANIZAÇÕES .......................................................................................... 19
1.3 DINÂMICA DE ATUAÇÃO DAS ORGANIZAÇÕES PESQUISADAS .................. 21
2 PROJETO DE SISTEMA (ANÁLISE DE REQUISITOS) ........................................ 24
2.1 RESUMO DOS ENVOLVIDOS ............................................................................ 24
2.2 PERSPECTIVAS DO PRODUTO ........................................................................ 24
2.3 DEFINIÇÕES DE USO OU REQUISITOS .......................................................... 25
2.4 DIAGRAMAS E DESCRIÇÕES ........................................................................... 26
2.4.1 Diagramas e Quadro de Casos de Uso ............................................................ 27
2.4.2 Descrições dos Casos de Uso ......................................................................... 29
2.4.3 Diagramas de Atividade ................................................................................... 55
2.4.4 Diagramas MVC ............................................................................................... 63
2.4.5 Diagramas de Sequência ................................................................................. 71
2.4.6 Diagrama de Classes ....................................................................................... 79
2.4.7 Projeto de Banco de Dados.............................................................................. 80
3 TECNOLOGIAS ..................................................................................................... 81
3.1 JAVA: HISTÓRIA ................................................................................................ 81
3.1.1 Plataforma ........................................................................................................ 82
3.1.2 Panorama da Linguagem ................................................................................. 83
3.1.3 Divisões da Plataforma Java ............................................................................ 84
3.1.4 Etapas do Desenvolvimento e Execução de uma Aplicação Java ................... 86
3.2 JAVA SERVER FACES (JSF) ............................................................................. 87
3.2.1 MVC e JSF ....................................................................................................... 88
3.2.2 Como Funciona o JSF ...................................................................................... 89
3.3 HIBERNATE E JPA ............................................................................................. 90
3.4 SISTEMAS GERENCIADORES DE BANCO DE DADOS................................... 92
3.5 MYSQL ................................................................................................................ 93
3.6 SERVIDOR GLASSFISH..................................................................................... 94
3.7 PRIMEFACES ..................................................................................................... 95
3.8 JQUERY .............................................................................................................. 95
4. RESULTADOS ...................................................................................................... 96
4.1 BANCO DE DADOS ............................................................................................ 96
4.2 PROTÓTIPO DO SISTEMA ................................................................................ 97
4.2.1 Páginas Web .................................................................................................... 97
4.2.2 Protótipo do Sistema Web .............................................................................. 102
4.3 CONSIDERAÇÕES SOBRE O CAPÍTULO ....................................................... 110
CONCLUSÃO.......................................................................................................... 111
REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................ 113
APÊNDICE...............................................................................................................116
16
INTRODUÇÃO
A revolução protagonizada pela tecnologia da informação e da
comunicação, pauta e direciona a sociedade moderna. Muda cenários políticos,
econômicos e sociais, numa velocidade cujas consequências ainda estão por serem
medidas. Os efeitos desse turbilhão de mudanças resultam dia a dia em radicais
transformações na forma e na intensidade das relações pessoais e profissionais. Em
âmbito organizacional, práticas administrativas foram substituídas e assim a lida
diária foi suavizada. (DIAS, 2008)
E justamente por meio desta perspectiva, marca da sociedade digital, é que
se insere esse trabalho de conclusão de curso: o desenvolvimento de um software
voltado às Organizações Não Governamentais (ONG), atuantes no resgate e
proteção de animais abandonados, sobretudo domésticos. Parte-se da premissa e
importância de alguns setores da sociedade adotarem ferramentas tecnológicas
ideais, apropriadas as suas necessidades e atuação.
A
organização
e
o
gerenciamento
de
informações
são
medidas
imprescindíveis em qualquer área de atuação e, no caso de uma ONG, podem trazer
também maior transparênciana gestão de recursos, o que é primordial para o bom
funcionamento e execução de projetos.
Ao adotar o aplicativo, os envolvidos na gestão de uma determinada
organização poderão disponibilizar e divulgar também informações operacionais e
administrativas, uma vez que o mesmo possibilitará a emissão de relatórios
demonstrativos sobre a aplicação de recursos. Ao alcançar cada vez mais formas de
aprimorar a execução de suas atividades,o retorno poderá beneficiar um número
maior de animais assistidos por entidades deste setor.
Embora não seja direcionado sob o ponto de vista sociológico, este trabalho
está essencialmente alicerçado na questão de se pensar a sociedade pós-moderna
não só a partir de vantagens econômicas, mas também em âmbito social e ético.
(QUÈU, 1998)
Para este projeto, toma-se como base o funcionamento de uma ONG situada
na cidade de Lins, o Refúgio Pet, e outra em funcionamento no município de
Promissão, a APROAN (Associação de Amor e Proteção aos Animais), cidades
localizadas na região oeste do Estado de São Paulo. Ambas fazem o controle de
17
suas atividades manualmente, fato, portanto, que justifica o desenvolvimento e a
disponibilização de um software a estas e outras Organizações que manifestarem o
interesse pela sua utilização.
A estrutura do trabalho está estabelecida em capítulos, responsáveis pela
explanação da metodologia utilizada que por sua vez baseia-se em levantamento
bibliográfico. No primeiro capítulo tem-se uma rápida contextualização do tema, a
partir de pesquisas exploratórias sobre o funcionamento de ONGs nas cidades de
Lins e Promissão, cuja realidade serve como base para o desenvolvimento do
projeto, seus objetivos e serviços. No segundo capítulo, pode-se conferir a
contextualização dos requisitos, somado às informações e diagramas que servem de
base para o desenvolvimento do projeto. No terceiro capítulo há uma descrição de
cada tecnologia e o papel desempenhado por cada uma no desenvolvimento do
trabalho. Aborda-se fundamentalmente a respeito das plataformas tecnológicas
Java, Sistema Gerenciador de Banco de Dados (SGDB), além da descrição sobre as
funcionalidades de ferramentas de desenvolvimento WEB (World Wide Web), assim
como sobre o padrão Unified Modeling Language (UML). No quarto e último capítulo,
na etapa de conclusão do protótipo proposto, exemplifica-se seu funcionamento,
para isso lança-se mão de ilustrações, imagens acompanhadas de textos
explicativos. Por fim, a conclusão.
18
1. LEVANTAMENTO DE REQUISITOS (ANÁLISE DO NEGÓCIO)
Com o objetivode desenvolver um software (protótipo) para Organizações
Não Governamentais (ONGs) que atuam na proteção de animais abandonados e,
ou, maltratados, tem-se neste capítulo a definição do escopo do projeto através de
uma breve abordagem sobre a rotina de atuação de duas ONGs nas cidades de Lins
e Promissão, São Paulo.
É tratada também nesta seçãosobre a expectativa de aproveitamento de uma
ONG, no caso da adoção de um software desenvolvido para oferecer suporte às
tarefas administrativas, de gestão e divulgação de dados e informações.
Acredita-se que um sistema informatizado pode contribuir de forma positiva
na atuação de todos aqueles que de alguma forma estão envolvidos com o
trabalhodas Organizações. A intenção é propiciar aos usuários agilidade nos
processos internos, através da otimização das diversas atividades desempenhadas
por colaboradores, voluntários e gestores.
1.1 SITUAÇÃO ATUAL
Para que se consiga alcançar uma delimitação pertinente à ideia inicial do
projeto, faz-se necessário um bom entendimento da real situação dos atores e do
ambiente em que atuam (MEDEIROS, 2004). Portanto, após o levantamento de
informações
captadas
junto
aos
entrevistadosdas
Entidades
pesquisadas,
identificaram-se questões pontuais e fundamentais à elaboração do sistema.
Constatou-se que em ambas as cidades, o controle de todos os processos
administrativos e financeiros, entre outros, são executados manualmente, através de
anotações em cadernos e fichas cadastrais.
1.1.1 Problemas Encontrados
Pode-se identificar, por exemplo, falha e ineficiência no controle de estoques
dos diversos produtos recebidos de doações. Facilitaria sobremaneira se pudessem
ser especificados detalhes importantes como: o tipo de produto, a data de validade
e a qual animal fora destinado. Estas informações e outros dados importantes não
passariam despercebidos. Da mesma forma, seria possível estabelecer o controle
19
dasituação financeira das Organizações. Subdividir e planejar melhor os gastos,
assim como rendas obtidas de doações, mensalistas e promoções.
A ineficiência do processo manual dificulta também uma maior agilidade na
cobrança de mensalistas que se encontram em atraso. Sem contar a incapacidade
de manter informações sobre animais resgatados como: os tipos de doenças mais
comuns, localidades e regiões de maior incidência de abandono e maus tratos.
Em suma, a perda de dados e a dificuldade em armazená-los são comuns às
gestões dessas Organizações como também a impossibilidade de gerar relatórios
periódicos, o que certamente emperra a execução de novos projetos e o
estabelecimento de uma maior transparência nas atividades dessas Organizações.
Apesar do importante papel das redes sociais para elas, pois comumente são
usadas como ferramentas de divulgação, o chamado feedback com a sociedade
poderia ser melhor estabelecido se dotadas de um sistema apropriado.
1.2 AS ORGANIZAÇÕES
A ONG Refúgio Pet de Lins completou no último dia 18 de março dois anos
de atuação, já a Associação de Amor e Proteção dos Animais (APROAN) de
Promissão caminha para quase uma década de existência. Mas, apesar dos anos de
diferença do surgimento de ambas, elas se assemelham quanto à estrutura material
e física. Há pouco menos de um ano é que o Refúgio Pet conseguiu conquistar uma
sede própria.
Essas ONGs são semelhantes também no tocante à motivação para o
surgimento das mesmas. Foram iniciadas por pessoas de diversos segmentos das
comunidades locais, preocupadas e interessadas no contínuo exercício de defender
e proteger animais de qualquer raça, espécie, domésticos, domesticados, silvestres,
nativos ou exóticos.
Vale lembrar que é concernente a fundação de qualquer Organização Não
Governamental a característica de não ter fins lucrativos, independente da área em
que esteja relacionada, como dispõe a Lei 9.790/99, no Capítulo I, Art. 1º:
§ 1º Para os efeitos desta Lei, considera-se sem fins lucrativos
a pessoa jurídica de direito privado que não distribui, entre os
seus
sócios
ou
associados,
conselheiros,
diretores,
20
empregados ou doadores, eventuais excedentes operacionais,
brutos ou líquidos, dividendos, bonificações, participações ou
parcelas do seu patrimônio, auferidos mediante o exercício de
suas atividades, e que os aplica integralmente na consecução
do respectivo objeto social. (PRESIDENCIA DA REPÚBLICA,
1999, p.1).
Figura 1.1 – Animal Resgatado
Fonte: Arquivo ONG Refúgio Pet, 2013.
Em geral, são Entidades formadas por indivíduos que procuram direcionar
seus esforços para conscientizar a sociedade sobre a importância de acabar com a
cultura da crueldade vigente em muitos lugares e ambientes. Fazem parte do
trabalho dessas Organizações: o incentivo à guarda responsável e “afetiva” dos
animais domésticos, reabilitar animais abandonados, perdidos ou vítimas de maus
tratos, (vide figura 1.1 - “Tufão”, abandonado e preso por um arame, foi encontrado
com ferimentos no pescoço e anêmico. À direita, após resgate e adoção, vive em
uma chácara no município de Sabino, SP) a denúncia e o combate à crueldade junto
às autoridades policiais, ambientais e Ministério Público, além da promoção de
mutirões, eventos e campanhas de castração e adoção. Outra tarefa importante é a
de auxiliar e instruir pessoas que tenham interesse no trabalho voluntário em prol
dos animais.
21
Embora não haja estatísticas, percebe-se o aumento de relatos de maus tratos
cometidos contra animais silvestres, domésticos ou domesticados. Cães atados em
correntes curtas ou em espaços pequenos, proprietários que batem ou não
alimentam os animais da forma correta, pássaros presos em gaiolas minúsculas,
expostos como produtos, sem a mínima condição de higiêne, equinos, bovinos sendo
açoitados em aparente estado de subnutrição, são apenas alguns exemplos que
justificam a defesa de especialistas por penas mais rígidas para maus-tratos. O artigo
32 da lei federal 9.605 de 1998 prevê de três meses a um ano e detenção com multa.
Segundo a advogada Érica Sarraipo (2014), membro das comissões do Meio
Ambiente e de Proteção e Defesa Animal da Ordem dos Advogados do Brasil (OAB)
de São Paulo, “o problema é que penas de até um ano podem ser substituídas por
prestação de serviço ou pagamento em cestas básicas. Abaixo de quatro anos, a
pessoa pode cumprir em regime aberto. Ouve-se uma bronca do juiz e sai livre, com
a ficha limpa”.
1.3 DINÂMICA DE ATUAÇÃO DAS ORGANIZAÇÕES PESQUISADAS
De acordo com os voluntários da direção das ONGs pesquisadas, quando
algum membro é contatado - o que geralmente é feito pela população em geral sobre a necessidade de resgatar um animal em situação de maus tratos ou de
abandono, é feita uma diligência até o local pelo grupo reunido no momento. A partir
daí, esse animal é levado até uma das clínicas veterinárias parceiras, realizada uma
triagem para definir estado nutricional, sexo, idade e estado de saúde. Se houver
necessidade, o mesmo é encaminhado para tratamento, por meio de medicamentos,
exames, radiografias, ultrassons, às vezes com internação e intervenção cirúrgica,
fato corriqueiro quando o caso for de atropelamento. Cada animal socorrido tem seu
histórico registrado em fichas catalográficas e datadas, constando desde o local
onde fora encontrado, acometido por qual doença, o tipo de tratamento realizado, ou
mesmo se submetido à eutanásia. Quando constatado, através de exame
específico, sorologia para leishmaniose, em casos de tumores ou de atropelamento
com o comprometimento de vários membros, realiza-se a eutanásia.
22
Em algumas situações, animais de proprietários carentes, por sua vez
adotados sem a intermediação das ONGs, também são assistidos pelas clínicas
parceiras, mediante autorização prévia.
O Refúgio Pet de Lins desenvolve também o projeto denominado Captura,
Esterilização e Devolução (CED), que consiste na captura de animais de rua,
geralmente felinos adultos, sua castração e devolução ao local onde estão
habituados a viver. Porém, este projeto depende totalmente das doações do valor da
cirurgia.
São dois os destinos possíveis para os animais resgatados: a adoção
propriamente dita ou os lares provisórios, geralmente residências de voluntários, que
não são necessariamente integrantes da direção das Organizações.
Como parte do processo de adoção, é preenchido o chamado Termo de
Adoção, onde constam dados pessoais do então candidato, o comprometimento
explícito de que o animal será cuidado da forma correta, com segurança e
dedicação. O não cumprimento desse Termo levará o cancelamento da adoção,
retirada do animal e até mesmo o desdobramento para um processo judicial.
Outro ponto importante deste documento é a permissão de livre acesso aos
adotados pelos chamados Grupos de Visitas, compostos por sócios voluntários.
Periodicamente esses grupos vão até aos locais onde vivem os animais adotados
para fazer uma espécie de checagem completa das condições em que se
encontram. Em cada visita realizada, é preenchido um cartão onde é anotado na
forma de relatório tudo o que foi visto e percebido com relação à vida do animal.
Caso o grupo não encontre o morador ou responsável, o cartão é preenchido com o
ocorrido e deixado no local. Se na terceira vez, não conseguirem acesso ao animal,
é feita uma advertência extrajudicial, comunicando a possibilidade de até mesmo ser
registrado um Boletim de Ocorrência.
No tocante ao controle financeiro essas Organizações valem-se de cadernos
e fichas para relacionar créditos e débitos do caixa. A arrecadação provém de
mensalistas - cada sócio é responsável por receber um montante - e de
colaboradores, cujas doações são de valores variados e irregulares, além de
dividendos provenientes de promoções como festas, rifas e venda de alimentos,
entre
outras
atividades.
As despesas de
cada
animal são
relacionadas
23
detalhadamente também em fichas na própria clínica veterinária, responsável pelo
atendimento. Já nos lares provisórios, os cuidadores são os responsáveis por esse
controle. Contabiliza-se ainda, gastos com alimentação e medicamentos, entre
outros, específicos de cada animal.
Tanto a ONG Refúgio Pet de Lins quanto a Entidade de Promissão, recebe
doações esporádicas de rações, cobertores, medicamentos, entre outros artigos que
possam ser úteis no cuidado com os animais resgatados. No intuito de facilitar estas
doações a ONG de Lins mantém caixas espalhadas em diversos pontos comerciais
da cidade.
Na maioria das vezes os animais resgatados são cachorros e gatos, porém
pode ocorrer o socorro de outros tipos, tais como pássaros, cavalos, tartarugas e
cobras. Com exceção de equinos e alguns tipos de aves, possíveis de serem
acolhidos
e
cuidados
pelas
ONGs,
a
polícia
ambiental
é
contatada
e
responsabilizada pelo abrigo do animal ou seu encaminhamento ao habitat natural.
Em suma, tentou-se acima trazerentendimento do processo de negócio
através da compreensão da gestão de duas ONGs com características semelhantes.
O objetivo é o de persistirna tentativa de alcançar umSistema que seja o mais
próximo possível da realidade de grande parte de organizações da mesma área de
atuação.
No segundo capítulo consta a documentação referente à Análise de
Requisitos.
24
2. PROJETO DE SISTEMA (ANÁLISE DE REQUISITOS)
Segue neste capítulo a descrição dos principais pontos do processo de
desenvolvimento do software voltado à proposta de facilitar o gerenciamento de
Organizações Não Governamentais que trabalham no resgate de animais
abandonados e, ou, maltratados. Embora haja exceções, geralmente sistemas de
informática desenvolvidos a partir de uma boa documentação tem maior
possibilidade de atenderem satisfatoriamente aos interesses e objetivos dos
requisitantes e usuários. (MEDEIROS, 2004)
De acordo Turine e Masiero (1996, p.6), “O objetivo da fase de análise de
requisitos é avaliar e revisar o escopo do software (documento de requisitos do
software).(...)”. As decisões de análise servem para realimentar e melhorar o
documento de requisitos do sistema, pois este será a base para todas as fases da
engenharia de software subsequentes.
2.1 RESUMO DOS ENVOLVIDOS
Os participantes das Entidades podem ser divididos em diretores, sócios,
colaboradores, adotantes e voluntários em geral. Todos devem interagir com o
sistema através de uma inteface gráfica de fácil compreensão, intuitiva, com
possibilidade de acessarem informações armazenadas no Banco de Dados, de
acordo com a permissão de cada usuário. Estas permissões são classificadas em
doisníveis, definidos como: administrador (diretores) e usuários (colaboradores,
sócios e voluntários).
O administrador terá todas as permissões de gerenciamento das funcionalidades do
sistema, além disso, deverá ser o único a realizar cadastros de novos usuários.
Estes últimos terão privilégios de gerenciar cadastros, relatórios, fazer atualizações
necessárias, também excluir e alterar informações referentes às consultas.
2.2 PERSPECTIVAS DO PRODUTO
O desenvolvimento do software em questão tem o objetivo de suprir as
25
necessidades específicas de Organizações responsáveis pelo resgate de animais
abandonados ou em situação de maus-tratos, dadas às peculiaridades das
atividades (como discorrido no primeiro capítulo, página 24) e rotinas que elas
desenvolvem. Os poucos sistemas informatizados disponíveis no mercado
normalmente possuem um custo de aquisição e manutenção incompatíveis com a
realidade
econômico-financeira
das
Organizações.
Por
isso,
apesar
do
desenvolvimento deste protótipo basear-se na rotina de atividades de duas
Entidades, nas cidades de Lins e Promissão, o intuito dos seus desenvolvedores é o
de disponibilizá-lo a outras ONGs, após a fase de implementação.
Ficará em aberto a proposta a outros desenvolvedores interessados em
prosseguir com trabalho de adequação, melhoramento ou ampliação do sistema.
Sua disponibilização poderá ocorrer via internet.
2.3 DEFINIÇÕES DE USO OU REQUISITOS
Inicialmente o sistema deve permitir cadastrar os animais resgatados,
subdividindo-os entre aqueles que permanecem nos lares provisórios, os disponíveis
para adoção, os adotados e ainda os que foram a óbito, além de breve relatório
sobre aqueles encaminhados à Polícia Ambiental.
Esse cadastro deve conter o histórico dos animais. Informações sobre o
tratamento de cada animal, sem deixar de especificar sobre qual problema ou
doença o mesmo fora acometido. O usuário poderá fazer o registro desde o
momento do resgate até depois da adoção, inclusive de visitas periódicas.
Importante permitir o cadastro de adotantes e a qual animal está vinculado no
processo.
A renda para o caixa das Organizações é proveniente de doações
esporádicas, contribuições mensais e ainda de diversos eventos, realizados pelos
voluntários. Desta forma, para um melhor controle da situação financeira é
necessário o registro de débitos e créditos, com a definição da origem da receita, se
é proveniente de doações ou de arrecadações por meio de eventos.
A emissão de relatórios periódicos poderá auxiliar as Entidades a manterem a
transparência e o equilíbrio de toda sua movimentação financeira, o que é de suma
26
importância, pois traz clareza aos colaboradores, aos sócios, como também a toda a
comunidade em que estiverem inseridas.
Todas as ações comentadas acima têm alta prioridade e valem-se dos
recursos disponibilizados na análise, arquitetura e SGBD, acessíveis aos voluntários
e membros das diretorias das Organizações. Elas configuram também os requisitos
apresentados abaixo:
Quadro 2.1 – Requisitos Funcionais
Necessidades
Prioridades
Gerenciamento de cadastros em geral
Alta
Gerenciamento de relatórios em geral (consultas)
Alta
Gerenciamento de registros financeiros
Alta
Usuário – voluntário – insere informações diversas sobre
Ata
atuação da ONG, de interesse da comunidade em geral
Gerenciamento de registros de eventos
Alta
Gerenciamento de animais para adoção
Alta
Gerenciamento de visitas: voluntário poderá
Alta
preencherrelatórios de cada visita
Gerenciamento de atendimentos
Alta
Gerenciamento de tratamentos
Alta
Gerenciamento de doações em produtos
Alta
Fonte: Elaborado pelos autores, 2014.
Relatório
2.4 DIAGRAMAS E DESCRIÇÕES
Ainda sobre a modelagem do Sistema a ser desenvolvido e para uma melhor
compreensão de suas funcionalidades, segue nesta seção mais uma parte da
documentação deste trabalho: os diagramas. Na perspectiva de Guedes (2009, p.
21) “por mais simples que seja, todo e qualquer sistema deve ser modelado antes de
se iniciar sua implementação, (...)”. Pois “frequentemente costumam ter a
propriedade de (...)aumentar em tamanho, complexidade e abrangência”.
Assim como no levantamento e análise de requisitos, os diagramas também
foram estruturados a partir do padrão Unified Modeling Language (UML),
comumente utilizado para minorar a dificuldade de comunicação entre todos os
27
stakeholders (envolvidos e interessados no projeto). Considerada como um padrão
pela Engenharia de Software em todo o mundo, a UML é definida por especialistas
como uma linguagem visual usada para modelar software estruturado no paradigma
da orientação a objetos. (GUEDES, 2009)
Guedes (2009) explica que os diagramas da UML dividem-se em entre os
estruturais e comportamentais. São considerados estruturais os diagramas de
classes, de estrutura composta, de objetos, de componentes, de implantação e de
pacotes. Já os comportamentais são constituídos pelos de casos de uso, atividade,
máquina de estados, sequência, comunicação, visão geral de interação e tempo.
Neste projeto estão presentes os diagramas de caso de uso, classes, Model View
Controller (MVC).
2.4.1 Diagramas e Quadro de Casos de Uso
Segundo Craig (2009, p.120) “modelagem de casos de uso é principalmente
um ato deescrever, não dedesenhar diagramas”. São narrativas em forma de textos
amplamente usadas para descobrir e registrar requisitos. Elas descrevem um
determinado ator utilizando um sistema para atingir seus objetivos.
Mas, embora afirme que modelagem de casos de uso é uma ação de redigir
texto e não de desenhar diagramas, o autor pondera que se pode opcionalmente
incluir um diagrama UML para mostrar os nomes de casos de uso, atores e seus
relacionamentos.
Sob esta perspectiva é apresentado na sequência um diagrama que ilustra
de forma resumida os principais casos de uso do Sistema:
28
Figura 2.1 - Diagrama de Casos de Uso
Fonte: Elaborado pelos autores, 2014.
Elaborado com base no diagrama anterior, segue o quadro com a lista dos
casos de uso, seguido das respectivas especificações.
29
Quadro 2.2 – Lista de Casos de Uso
Nº
Caso de Uso
Descrição
Resposta
A1
Efetuar Login
Usuário solicita Login
Mensagem Login
A2
Cadastrar Ong
Administrador cadastra ONG
Mensagem ONG
A3
Cadastrar usuário
Usuário cadastra usuário
Mensagem Usuário
C1
Manter Pessoa
Usuário cadastra Pessoa
Mensagem Pessoa
C2
Manter Animal
Usuário cadastra Animal
Mensagem Animal
C3
Manter Atendimento Usuário cadastra Atendimento Mensagem Atendimento
C4
Manter Adoção
Usuário cadastra Adoção
Mensagem Adoção
C5
Manter Lar
Temporário
Manter Evento
Usuário cadastra Lar
Temporário
Usuário cadastra Evento
Mensagem Lar
Temporário
Mensagem Evento
Usuário cadastra Doação
Mensagem Doação
C8
Manter Doação de
Produto
Manter Receita
Usuário cadastra Receita
Mensagem Receita
C9
Manter Despesa
Usuário cadastra Despesa
Mensagem Despesa
C10 Manter Visita
Usuário cadastra Visita
MensagemVisita
C13 Manter Produto
Usuário cadastra Produto
Mensagem Produto
C6
C7
C14 Manter Contribuição Usuário cadastra Contribuição Mensagem Contribuição
C15 Gerar Relatório
Usuário solicita relatório por tipo Relatório por tipo
Fonte: Elaborado pelos autores, 2014.
Para melhor compreensão da listagem apresentada acima, encontram-se a
seguir as Descrições dos Casos de Uso:
2.4.2 Descrições dos Casos de Uso
Caso de Uso A1 - Efetuar Login
Este caso de uso é responsável porefetuar o login do usuário no Sistema.
A1 - Fluxo Principal
30
1. Usuário informa dados de login.
2. Usuário submete dados.
3. Sistema valida dados.
4. Sistema redireciona usuário para a Aplicação.
A1 – Fluxo de Exceção
A1A1 - (Dados incorretos)
1. No passo 3 do Fluxo Principal, caso os dados informados não estejam
corretos, o Sistema exibe mensagem de erro.
2. Retorna ao passo 1 do Fluxo Principal.
Caso de Uso A2 - Cadastrar Ong
Este caso de uso é responsável por cadastrar a ONG e somente poderá ser
realizado pelo usuário Administrador.
A2 - Fluxo Principal (Inserir)
1. Administrador solicita “Cadastrar ONG”.
2. Sistema disponibiliza tela “Cadastrar ONG”.
3. Administrador informa dados da ONG.
4. Administrador seleciona “Salvar”.
5. Sistema insere ONG e exibe a mensagem “ONG cadastrada com
sucesso!”.
A2 - Fluxos Alternativos
A2A1 - (Alterar)
1. No passo 2 do Fluxo Principal, caso exista ONG já cadastrada, o Sistema
recupera e exibe dados da ONG.
2. Administrador seleciona “Alterar”.
3. Administrador altera os dados desejados
31
4. Sistema altera os dados da ONG e emite a mensagem “Alteração
realizada com sucesso!”
Caso de Uso A3- Cadastrar Usuário
Este caso de uso é responsável por cadastrar um Usuário e é realizado pelo
Administrador.
A3 - Fluxo Principal (Inserir)
1. Administrador solicita “Cadastrar Usuário”.
2. Administrador informa dados do Usuário.
3. Administrador informa demais dados solicitados.
4. Administrador seleciona “Salvar”.
5. O sistema insere novo Usuário e exibe a mensagem “Usuário cadastrado
com sucesso!”.
A3 - Fluxos Alternativos
A3A1 - (Alterar)
1. No passo 3 do Fluxo Principal, caso o Usuário já esteja cadastrado, o
Sistema recupera e exibe seus dados.
2. Usuário seleciona “Alterar”.
3. Usuário altera os dados desejados, mediante confirmação da alteração.
4. Sistema altera os dados do Usuário e emite a mensagem “Alteração
realizada com sucesso!”.
A3A2 - Excluir Usuário
1. No passo 3 do Fluxo Principal, caso o Usuário já esteja cadastrado, o
Sistema recupera e exibe seus dados.
2. Administrador seleciona “Excluir”.
3. Sistema exclui o Usuário e emite a mensagem “Usuário excluído!”.
32
Caso de Uso C1 - Manter Pessoa
Por meio deste caso de uso, o Usuário realiza inclusão, alteração, exclusão e
consulta dos dados sobre Pessoas envolvidas com a ONG.
C1 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Pessoa.
2. Usuário informa CPF.
3. Caso o CPF não esteja cadastrado o Sistema exibe formulário em branco
para que os detalhes da Pessoa sejam informados.
3b. Caso o CPF informado já esteja cadastrado Usuário volta ao passo
anterior e informa novo CPF ou encerra caso de uso (passo 7).
4. Usuário fornece os detalhes da pessoa.
5. Usuário seleciona a opção “Salvar”.
6.Sistema exibe mensagem “Pessoa incluída com sucesso!”.
7. Encerra-se o Caso de Uso.
C1 - Fluxos Alternativos
C1A1- Consulta com filtro(s)
1. No passo 1 ou no passo 3b do Fluxo Básico C1, Usuárioseleciona a opção
consultar Pessoas.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar
(subfluxoC1A1S1), excluir (subfluxoC1A1S2).
4. Encerra-se o Caso de Uso.
C1A1 – Subfluxos
C1A1S1 - Alterar Pessoa
1. No passo 3 do fluxo alternativo C1A1 Usuário seleciona Alterar.
33
2. Sistema exibe formulário com os detalhes doregistro selecionado.
3. Usuário altera um ou mais dos detalhes doRegistro.
4. Usuário requisita atualização.
5. Sistema altera os dados da Pessoa.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C1A1S2 - Excluir Pessoa
1. No passo 3 do fluxo alternativo C1A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão da Pessoa
selecionada.
3. Usuário confirma a exclusão.
4. Sistema exclui a pessoa selecionada.
5. Sistema exibe a mensagem “Pessoa excluída com sucesso”.
6. Usuário encerra Caso de Uso.
C1 - Fluxos de Exceção
C1E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C1, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C1.
Caso de Uso C2 - Manter Animal
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Animais atendidos pela Ong.
C2 - Fluxo Principal
34
1. O caso de uso inicia quando o Usuário requisita o cadastro de Animal.
2. Sistema exibe formulário em branco para que os detalhes doAnimal sejam
informados.
3. Usuário fornece os detalhes doAnimal.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Animal incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C2 - Fluxos Alternativos
C2A1- Consulta com filtro(s)
1. No passo 1 do Fluxo Básico C2, Usuário seleciona a opção consultar
Animais.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar (subfluxo
C2A1S1), excluir (subfluxo C2A1S2).
4. Encerra-se o Caso de Uso.
C2A1 – Subfluxos
C2A1S1 - Alterar Animal
1. No passo 3 do fluxo alternativo C2A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados doAnimal.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C2A1S2 - Excluir Animal
1. No passo 3 do fluxo alternativo C2A1 Usuário seleciona Excluir.
35
2. Sistema solicita ao Usuário a confirmação para exclusão doAnimal
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui oregistro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C2 - Fluxos de Exceção
C2E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C2, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C2.
Caso de Uso C3 - Manter Atendimento
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre os atendimentos realizados pela ONG.
C3 - Fluxo Principal
1.O caso de uso inicia quando o Usuário requisita o cadastro de Atendimento.
2. Usuário seleciona Animal.
3. Usuário seleciona Atendente.
4. Usuário informa detalhes do Atendimento.
5. Usuário seleciona a opção “Salvar”.
6. Sistema exibe mensagem “Dados incluídos com sucesso!”.
7. Encerra-se o Caso de Uso.
C3 - Fluxos Alternativos
36
C3A1- Cadastrar animal
1. No passo 2 Fluxo Básico C3, caso o Animal não esteja cadastrado ou seja
necessário alterar cadastro, Usuário seleciona a opção cadastrar Animal.
2. Sistema abre tela de cadastro de Animal (Caso de uso C1)
3. Após o cadastro retorna ao passo 3 doFluxo Principal.
C3 – Subfluxos
C3S1- Consulta com filtro(s)
1. No passo 2 do Fluxo Básico 3, Usuário seleciona a opção consultar
Atendimentos.
2. O Sistema realiza a consulta.
3. Encerra-se o Caso de Uso.
C3S1 – Subfluxos alternativos
C3S1SA1- Alterar Atendimento
1. No passo 2 do subfluxoC3S1 Usuário seleciona Registro.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C3S1SA2 - Excluir Atendimento
1. No passo 2 do subfluxo C3S1 Usuário seleciona Registro.
2. 4. Usuário requisita exclusão.
3. Sistema solicita ao Usuário a confirmação para exclusão da Pessoa
selecionada.
4. Usuário confirma a exclusão.
37
5. Sistema exclui o registro selecionado.
6. Sistema exibe a mensagem “Registro excluído com sucesso”.
7. Usuário encerra Caso de Uso.
C3 - Fluxos de Exceção
C3E1 – Dados Obrigatórios Não Informados
No passo 5 do fluxo principal C3, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C3.
Casos de Uso C4 - Manter Adoção
Através deste caso de uso, o Usuário realiza o cadastro (inclusão,
alteração, exclusão, consulta) dos dados sobre Adoções realizadas pela Ong.
Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Adoção.
2. Usuário seleciona Adotante.
3. Usuário seleciona Animal.
4. Usuário informa detalhes da Adoção.
5. Usuário seleciona a opção “Salvar”.
6. Sistema exibe mensagem “Dados incluídos com sucesso!”.
7. Encerra-se o Caso de Uso.
C4 - Subfluxo Alternativo
C4S1- Cadastrar Adotante
1. No passo 2 Fluxo Básico C4, caso o adotante não esteja cadastrado ou
seja necessário alterar cadastro, Usuário seleciona a opção cadastrar adotante.
2. Sistema abre tela de cadastro de Pessoa (Caso de uso C1)
38
3. Após o cadastro retorna ao passo 3 do Fluxo Principal.
C4 – Fluxo Alternativo
C4A1- Consulta com filtro(s)
1. No passo 2 do Fluxo Básico C4, Usuário seleciona a opção consultar
Adoções.
2. O Sistema realiza a consulta.
3. Encerra-se o Caso de Uso.
C4A1 – Subfluxos alternativos
C4A1S1 - Alterar Adoção
1. No passo 2 do fluxo alternativo C4A1 Usuário seleciona Registro.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C4A1S2 - Excluir Adoção
1. No passo 2 do subfluxoC4A1Usuário seleciona Registro.
2. 4. Usuário requisita exclusão.
3. Sistema solicita ao Usuário a confirmação para exclusão da Adoção
selecionada.
4. Usuário confirma a exclusão.
5. Sistema exclui o registro selecionado.
6. Sistema exibe a mensagem “Registro excluído com sucesso”.
7. Usuário encerra Caso de Uso.
39
C4 - Fluxos de Exceção
C4E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C4, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C4.
Caso de Uso C5 - Manter Lar Temporário
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Lares temporários.
C5 - Fluxo Principal
1. O caso inicia quando o Usuário requisita o cadastro de Lar Temporário.
2. Sistema exibe formulário em branco para que os detalhes do Lar
temporário sejam informados.
3. Usuário fornece os detalhes do Lar temporário.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Lar temporário incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C5 - Fluxos Alternativos
C5A1- Consulta com filtro(s)
1. No passo 1 do Fluxo Básico C5, Usuário seleciona a opção consultar Lar
temporário.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
40
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar (subfluxo
C5A1S1), excluir (subfluxo C5A1S2).
4. Encerra-se o Caso de Uso.
C5A1 – Subfluxos
C5A1S1 - Alterar
1. No passo 3 do fluxo alternativo C5A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados do registro.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C5A1S2 – Excluir
1. No passo 3 do fluxo alternativo C5A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão do registro
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui o registro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C2 - Fluxos de Exceção
C5E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C5, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C5.
41
Caso de Uso C6 - Manter Evento
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Eventos.
C6 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Evento.
2. Sistema exibe formulário em branco para que os detalhes do Evento sejam
informados.
3. Usuário fornece os detalhes do Evento.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Evento incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C6 - Fluxos Alternativos
C6A1- Consulta com filtro(s)
1. No passo 1 do Fluxo Básico C6, Usuário seleciona a opção consultar.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar (subfluxo
C6A1S1) ou excluir (subfluxo C6A1S2).
4. Encerra-se o Caso de Uso.
C6A1 – Subfluxos
C6A1S1 - Alterar
1. No passo 3 do fluxo alternativo C6A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
42
5. Sistema altera os dados do registro.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C6A1S2 - Excluir
1. No passo 3 do fluxo alternativo C6A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão do registro
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui o registro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C6 - Fluxos de Exceção
C6E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C6, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C6.
Caso de Uso C7 -Manter Doação de Produto
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Doações de Produtos.
C7 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Doação de
43
Produto.
2. Usuário seleciona Doador.
3. Usuário seleciona Produto.
4. Usuário informa detalhes da Doação de Produto.
5. Usuário seleciona a opção “Salvar”.
6. Sistema exibe mensagem “Dados incluídos com sucesso!”.
7. Encerra-se o Caso de Uso.
C7 - Subfluxo Alternativo
C7S1- Cadastrar Doador
1. No passo 2 Fluxo Básico C7, caso o doador não esteja cadastrado ou seja
necessário alterar cadastro, Usuário seleciona a opção cadastrar doador.
2. Sistema abre tela de cadastro de Pessoa (Caso de uso C1)
3. Após o cadastro retorna ao passo 3 do Fluxo Principal.
C7 – Fluxo Alternativo
C7A1- Consulta com filtro(s)
1. No passo 2 do Fluxo Básico C7, Usuário seleciona a opção consultar
Doações.
2. O Sistema realiza a consulta.
3. Encerra-se o Caso de Uso.
C7A1 – Subfluxos alternativos
C7A1S1 - Alterar Doação
1. No passo 2 do fluxo alternativo C7A1 Usuário seleciona Registro.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
44
4. Usuário requisita atualização.
5. Sistema altera os dados.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C7A1S2 - Excluir Doação
1. No passo 2 do subfluxo C7A1 Usuário seleciona Registro.
2. 4. Usuário requisita exclusão.
3. Sistema solicita ao Usuário a confirmação para exclusão da Adoção
selecionada.
4. Usuário confirma a exclusão.
5. Sistema exclui o registro selecionado.
6. Sistema exibe a mensagem “Registro excluído com sucesso”.
7. Usuário encerra Caso de Uso.
C7 - Fluxos de Exceção
C7E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C7, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C7.
Caso de Uso C8 - Manter Receitas
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Receitas.
C8 - Fluxo Principal
45
1. O caso de uso inicia quando o Usuário requisita o cadastro de Receita.
2. Sistema exibe formulário em branco para que os detalhes da Receita sejam
informados.
3. Usuário fornece os detalhes daReceita.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Cadastro incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C8 - Fluxos Alternativos
C8A1- Consulta com filtro(s)
1. No passo 1 do Fluxo Básico C8, Usuário seleciona a opção consultar.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar (subfluxo
C8A1S1) ou excluir (subfluxo C8A1S2).
4. Encerra-se o Caso de Uso.
C8A1 – Subfluxos
C8A1S1 - Alterar
1. No passo 3 do fluxo alternativo C8A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados do registro.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C8A1S2 – Excluir
46
1. No passo 3 do fluxo alternativo C8A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão do registro
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui o registro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C8 - Fluxos de Exceção
C8E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C8, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C8.
Caso de Uso C9 - Manter Despesas
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Despesas.
C9 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Despesa.
2. Sistema exibe formulário deDespesa.
3. Usuário fornece os detalhes da Despesa.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Cadastro incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C9- Fluxos Alternativos
47
C9A1- Consulta com filtro(s)
1. No passo 1 do Fluxo Básico C9, Usuário seleciona a opção consultar.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar (subfluxo
C9A1S1) ou excluir (subfluxo C9A1S2).
4. Encerra-se o Caso de Uso.
C9A1 – Subfluxos
C9A1S1 - Alterar
1. No passo 3 do fluxo alternativo C9A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados do registro.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C9A1S2 - Excluir
1. No passo 3 do fluxo alternativo C9A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão do registro
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui o registro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C9 - Fluxos de Exceção
48
C9E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C9 se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C9.
Caso de Uso C10 - Manter Visita
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Visitas.
C10 - Fluxo Principal
1.O caso de uso inicia quando o Usuário requisita o cadastro de Visitas.
2. Usuário seleciona Animal.
3. Usuário seleciona Atendente.
4. Usuário informa detalhes da Visita.
5. Usuário seleciona a opção “Salvar”.
6. Sistema exibe mensagem “Dados incluídos com sucesso!”.
7. Encerra-se o Caso de Uso.
C10 - Fluxos Alternativos
C10A1- Cadastrar animal
1. No passo 2 Fluxo Básico C10, caso o Animal não esteja cadastrado ou
seja necessário alterar cadastro, Usuário seleciona a opção cadastrar Animal.
2. Sistema abre tela de cadastro de Animal (Caso de uso C2)
3. Após o cadastro retorna ao passo 3 do Fluxo Principal.
C10 –Subfluxos
49
C10S1- Consulta com filtro(s)
1. No passo 2 do Fluxo Básico C10 Usuário seleciona a opção consultar
Visitas.
2. Sistema realiza a consulta.
3. Encerra-se o Caso de Uso.
C10S1 – Subfluxos alternativos
C10S1SA1 –Alterar
1. No passo 2 do subfluxo C10S1 Usuário seleciona Registro.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C10S1SA2 - Excluir Atendimento
1. No passo 2 do subfluxo C10S1 Usuário seleciona Registro.
2. 4. Usuário requisita exclusão.
3. Sistema solicita ao Usuário a confirmação para exclusão da Pessoa
selecionada.
4. Usuário confirma a exclusão.
5. Sistema exclui o registro selecionado.
6. Sistema exibe a mensagem “Registro excluído com sucesso”.
7. Usuário encerra Caso de Uso.
C10 - Fluxos de Exceção
C10E1 – Dados Obrigatórios Não Informados
50
1. No passo 5 do fluxo principal C10, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C1.
Caso de Uso C11 - Manter Produto
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Produtos.
C11 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de Produto.
2. Sistema exibe formulário em branco para que os detalhes do Produto
sejam informados.
3. Usuário fornece os detalhes do Produto.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Produto incluído com sucesso!”.
6. Encerra-se o Caso de Uso.
C11 - Fluxos Alternativos
C11A1- Consulta com filtro(s)
No passo 1 do Fluxo Básico C11, Usuário seleciona a opção consultar.
2. O Sistema realiza a consulta, considerando o conteúdo dos filtros
informados.
3. Usuário visualiza cadastro e Sistema oferece as opções de alterar
(subfluxoC11A1S1) ou excluir (subfluxoC11A1S2).
4. Encerra-se o Caso de Uso.
C11A1 – Subfluxos
51
C11A1S1 - Alterar Produto
1. No passo 3 do fluxo alternativo C11A1 Usuário seleciona Alterar.
2. Sistema exibe formulário com os detalhes do registro selecionado.
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados do registro.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C11A1S2 – Excluir Produto
1. No passo 3 do fluxo alternativo C11A1 Usuário seleciona Excluir.
2. Sistema solicita ao Usuário a confirmação para exclusão do registro
selecionado.
3. Usuário confirma a exclusão.
4. Sistema exclui o registro selecionado.
5. Sistema exibe a mensagem “Dados excluídos com sucesso”.
6. Usuário encerra Caso de Uso.
C11 - Fluxos de Exceção
C11E1 – Dados Obrigatórios Não Informados
1. No passo 5 do fluxo principal C11, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 4 do fluxo principal C11.
Caso de Uso C12 - Manter Contribuição
Através deste caso de uso, o Usuário realiza o cadastro (inclusão, alteração,
exclusão, consulta) dos dados sobre Contribuições.
52
C12 - Fluxo Principal
1. O caso de uso inicia quando o Usuário requisita o cadastro de
Contribuições.
2. Usuário seleciona Doador.
3. Usuário informa detalhes da Contribuição.
4. Usuário seleciona a opção “Salvar”.
5. Sistema exibe mensagem “Dados incluídos com sucesso!”.
6. Encerra-se o Caso de Uso.
C12 - Subfluxo Alternativo
C12S1- Cadastrar Doador
1. No passo 2 Fluxo Básico C12, caso o doador não esteja cadastrado ou seja
necessário alterar cadastro, Usuário seleciona a opção cadastrar doador.
2. Sistema abre tela de cadastro de Pessoa (Caso de uso C1)
3. Após o cadastro retorna ao passo 3 do Fluxo Principal.
C12 – Fluxo Alternativo
C12A1- Consulta com filtro(s)
1. No passo 2 do Fluxo Básico C12, Usuário seleciona a opção consultar
Contribuições.
2. O Sistema realiza a consulta.
3. Encerra-se o Caso de Uso.
C12A1 – Subfluxos alternativos
C12A1S1 - Alterar Contribuição
1. No passo 2 do fluxo alternativo C12A1 Usuário seleciona Registro.
2. Sistema exibe formulário com os detalhes do registro selecionado.
53
3. Usuário altera um ou mais dos detalhes do Registro.
4. Usuário requisita atualização.
5. Sistema altera os dados.
6. Sistema exibe a mensagem “Dados alterados com sucesso”.
7. Usuário encerra Caso de Uso.
C12A1S2 - Excluir Contribuição
1. No passo 2 do subfluxoC12A1 Usuário seleciona Registro.
2. 4. Usuário requisita exclusão.
3. Sistema solicita ao Usuário a confirmação para exclusão da Contribuição
selecionada.
4. Usuário confirma a exclusão.
5. Sistema exclui o registro selecionado.
6. Sistema exibe a mensagem “Registro excluído com sucesso”.
7. Usuário encerra Caso de Uso.
C12 - Fluxos de Exceção
C12E1 – Dados Obrigatórios Não Informados
1. No passo 4 do fluxo principal C12, se os dados obrigatórios não forem
informados, o sistema exibe a mensagem: “Dados obrigatórios devem ser
preenchidos.”
2. O caso de uso retorna ao passo 3 do fluxo principal C12.
Caso de uso C13 - Emitir Relatórios por Tipo
Este caso de uso permitirá emitir relatório de acordo com o filtro informado
C13 - Fluxo Principal
1. Este caso de uso inicia quando o usuário requisita geração de Relatórios.
54
2. Usuário seleciona tipo.
3. Usuário seleciona filtros.
4. Sistema exibe relatório.
5. Encerra-se o Caso de Uso;
C13 - Fluxos Alternativos
C13A1 Imprimir Relatório
1. No passo 4 do Fluxo principal C13 Usuário solicita imprimir um relatório.
2. Sistema envia comando para impressora.
3.Retorna ao passo2 , passo 3 ou passo 5 do Fluxo principal C13.
55
2.4.3 Diagramas de Atividade
Para modelar processos de negócios, fluxos de trabalho, fluxos de dados e
até mesmo algoritmos complexos, utiliza-se o Diagrama de Atividade, cuja estrutura
permite exibir o fluxo de atividades sequenciais e paralelas de um determinado
processo.A preocupação principal ao utilizar-se este Diagrama é a de descrever os
passos a serem percorridos para a conclusão de uma atividade específica, podendo
esta ser representada por um método com certo grau de complexidade, um
algoritmo, ou mesmo por um processo completo. (GUEDES, 2009)
Ainda na busca de modelar o processo de negócio do Sistema em questão
neste trabalho de Monografia, encontram-se a seguir os Diagramas de Atividades do
mesmo.
Efetuar Login
Figura 2.2 – Diagrama de Atividade Efetuar Login.
Fonte: Elaborado pelos autores, 2014.
56
Cadastrar ONG
Figura 2.3 – Diagrama de Atividade Cadastrar ONG.
Fonte: Elaborado pelos autores, 2014.
Cadastrar Usuário
Figura 2.4 – Diagrama de Atividade Cadastrar Usuário.
Fonte: Elaborado pelos autores, 2014.
57
Manter Pessoa
Figura 2.5– Diagrama de atividade Manter Pessoa.
Fonte: Elaborado pelos autores, 2014.
Manter Animal
Figura 2.6– Diagrama de Atividade Manter Animal.
Fonte: Elaborado pelos autores, 2014.
58
Manter Atendimento
Figura 2.7– Diagrama de Atividade Manter Atendimento.
Fonte: Elaborado pelos autores, 2014.
Manter Adoção
Figura 2.8– Diagrama de atividade manter Adoção.
Fonte: Elaborado pelos autores, 2014.
59
Manter Lar Temporário
Figura 2.9 – Diagrama de atividade manter Lar Temporário.
Fonte: Elaborado pelos autores, 2014.
Manter Evento
Figura 2.10– Diagrama de Atividade Manter Evento.
Fonte: Elaborado pelos autores, 2014.
60
Manter Doação Produto
Figura 2.11– Diagrama de Atividade Manter Doação.
Fonte: Elaborado pelos autores, 2014.
Manter Receita
Figura 2.12– Diagrama de Atividade Manter Receita.
Fonte: Elaborado pelos autores, 2014.
61
Manter Despesa
Figura 2.13– Diagrama de Atividade Manter Despesa.
Fonte: Elaborado pelos autores, 2014.
Manter Visita
Figura 2.14– Diagrama de Atividade Manter Visita.
Fonte: Elaborado pelos autores, 2014.
62
Manter Produto
Figura 2.15– Diagrama de Atividade Manter Produto.
Fonte: Elaborado pelos autores, 2014.
Manter Contribuição
Figura 2.16– Diagrama de Atividade Manter Contribuição.
Fonte: Elaborado pelos autores, 2014.
63
2.4.4 Diagramas MVC
O Diagrama MVC é o padrão de arquitetura de software que tem a finalidade de
separar a aplicação em três camadas: Modeloque representa as classes em que se está
trabalhando, Visão define como e o que será apresentado na tela, e o Controle que gerencia
os eventos entre a interface do usuário e o modelo.
Efetuar Login
Figura 2.17– Diagrama MVC Login Administrador.
Fonte: Elaborado pelos autores, 2014.
64
Cadastrar ONG
Figura 2.18– Diagrama MVC Cadastrar ONG.
Fonte: Elaborado pelos autores, 2014.
Cadastrar Usuário
Figura 2.19 - Diagrama MVC Cadastrar Usuário.
Fonte: Elaborado pelos autores, 2014.
65
Manter Pessoa
Figura 2.20 - Diagrama MVC Manter Pessoa.
Fonte: Elaborado pelos autores, 2014.
Manter Animal
Figura 2.21 – Diagrama MVC Manter Animal.
Fonte: Elaborado pelos autores, 2014.
66
Manter Atendimento
Figura 2.22 – Diagrama MVC Manter Atendimento.
Fonte: Elaborado pelos autores, 2014.
Manter Adoção
Figura 2.23– Diagrama MVC Manter Adoção.
Fonte: Elaborado pelos autores, 2014.
67
Manter Lar Temporário
Figura 2.24– Diagrama MVC Manter Lar Temporário.
Fonte: Elaborado pelos autores, 2014.
Manter Evento
Figura 2.25 - Diagrama MVC Manter Evento.
Fonte: Elaborado pelos autores, 2014.
68
Doação Produto
Figura 2.26– Diagrama MVC Manter Doação de Produto.
Fonte: Elaborado pelos autores, 2014.
Manter Receitas
Figura 2.27– Diagrama MVC Manter Receita.
Fonte: Elaborado pelos autores, 2014.
69
Manter Despesa
Figura 2.28– Diagrama MVC Manter Despesa.
Fonte: Elaborado pelos autores, 2014.
Manter Visita
Figura 2.29– Diagrama MVC Manter Visita.
Fonte: Elaborado pelos autores, 2014.
70
Manter Produto
Figura 2.30– Diagrama MVC Manter Produto.
Fonte: Elaborado pelos autores, 2014.
Manter Contribuição
Figura 2.31– Diagrama MVC Manter Contribuição.
Fonte: Elaborado pelos autores, 2014.
71
2.4.5 Diagramas de Sequência
Os Diagramas de Sequência são usados para representar os eventos de
entrada e saída do sistema e são importantes para o projeto de objetos.
Efetuar Login
Figura 2.32– Diagrama de Sequência Efetuar Login.
Fonte: Elaborado pelos autores, 2014.
Cadastrar ONG
Figura 2.33 – Diagrama de Sequência Cadastrar ONG.
Fonte: Elaborado pelos autores, 2014.
72
Cadastrar Usuário
Figura 2.34 – Diagrama de Sequência Manter Usuário.
Fonte: Elaborado pelos autores, 2014.
Manter Pessoa
Figura 2.35 – Diagrama de Sequência Manter Pessoa.
Fonte: Elaborado pelos autores, 2014.
73
Manter Animal
Figura 2.36 – Diagrama de Sequência Manter Animal.
Fonte: Elaborado pelos autores, 2014.
Manter Atendimento
Figura 2.37 – Diagrama de Sequência Manter Animal.
Fonte: Elaborado pelos autores, 2014.
74
Manter Adoção
Figura 2.38 – Diagrama de Sequência Manter Adoção.
Fonte: Elaborado pelos autores, 2014.
Manter Lar Temporário
Figura 2.39 – Diagrama de Sequência Manter Lar Temporário.
Fonte: Elaborado pelos autores, 2014
75
Manter Evento
Figura 2.40 – Diagrama de Sequência Manter Evento.
Fonte: Elaborado pelos autores, 2014
Manter Doação Produto
Figura 2.41 – Diagrama de Sequência Manter Doação de Produto.
Fonte: Elaborado pelos autores, 2014
76
Manter Receitas
Figura 2.42 – Diagrama de Sequência Manter Receitas.
Fonte: Elaborado pelos autores, 2014.
Manter Despesas
Figura 2.43 – Diagrama de Sequência Manter Despesas.
Fonte: Elaborado pelos autores, 2014
77
Manter Visita
Figura 2.44 – Diagrama de Sequência Manter Visita.
Fonte: Elaborado pelos autores, 2014
Manter Produto
Figura 2.45 – Diagrama de Sequência Manter Produto.
Fonte: Elaborado pelos autores, 2014
78
Manter Contribuição
Figura 2.46 – Diagrama de Sequência Manter Contribuição.
Fonte: Elaborado pelos autores, 2014.
79
2.4.6 Diagrama de Classes
Figura 2.47 – Diagrama de Classes.
Fonte: Elaborada pelos autores, 2014.
80
2.4.7 Projeto de Banco de Dados
Figura 2.48 – Modelo de Entidade e Relacionamento.
Fonte: Elaborada pelos autores, 2014.
81
3. TECNOLOGIAS
Neste capítulo são abordadas algumas das principais tecnologias envolvidas
no processo de desenvolvimento deste trabalho de monografia, entre elas, a
plataforma tecnológica Java e Sistema Gerenciador de Banco de Dados (SGDB),
além de ferramentas de desenvolvimento ou Integrated Development Environment
(IDEs), no caso o NetBeans.
3.1 JAVA: HISTÓRIA
A linguagem de programação Java surgiu na década de 90. Criada por uma
equipe de liderada por um programador canadense chamado James Gosling, na
empresa Sun Mycrosystems, e com o passar dos anos foi se tornando uma das
linguagens de programação mais utilizadas do mundo. (PICCIOLO, 2012).
Segundo
Microsystems
Bugallo
o
Green
(2013),
Project,
precisamente
o
berço
em1991
da
iniciou-se
linguagem
Java.
na
Sun
James
Goslingestavaentre os mentores do Projeto que acreditavam que em algum tempo
haveria uma convergência de computadores com equipamentos eletrodomésticos.
Após18 meses de trabalho contínuo, surgiu o protótipo *7 (lê-se “StarSeven”), que
consistia em um controle remoto com uma interface gráfica touchscreen, capaz de
controlar diversos dispositivos e aplicações. Gosling especificou uma nova
linguagem de programação para o *7 batizada de “Oak”.
Apesar de inviável para época, construíram uma demonstração denominada
Movie Wood, na tentativa de controlar televisões e vídeos por demanda. A ideia que
tentavam vender com o *7, de viabilizar o negócio de TV a cabo,hoje é realidade:
interatividade de telespectadores com a emissora e com a programação por meio de
uma grande rede de cabos, a televisão digital.
Já na década de 90, com o estouro da internet a estrutura para a viabilização
do *7 estava pronta. Ocorreu então o estabelecimento da grande rede interativa que
a equipe do *7 vinha tentando vender para as empresas de TV a cabo. A adaptação
da Oak para a internet foi rápida e em janeiro de 1995 lançou-se uma nova versão
rebatizada de Java. A tecnologia Java tinha sido projetada para se mover por meio
82
das redes de dispositivos heterogêneos, redes como a internet. Aplicações poderiam
ser
executadas
dentro
dos navegadores, nos
Applets1Java,
e
o
conteúdo
disponibilizado pela internet.
Buggalo (2013) explica que oHTML dos navegadores promoveu a rápida
disseminação da dinâmica tecnologia Java. Com um grande número de usuários,
fornecedores de tecnologia como a IBM anunciaram suporte para a tecnologia
Java.Desde então, a plataforma Java foi adotada mais rapidamente do que qualquer
outra linguagem de programação na história da computação. Em Abril de 2009 a
Oracle comprou a Sun Microsystems por U$ 7,4 bilhões e o Java passou a chamarse Oracle Java.
3.1.1 Plataforma
De acordo com Mendes (2009), Java é uma linguagem de programação
orientada a objetos, portável e de alto desempenho, composta pela linguagem, pela
Java Virtual Machine (JVM) e mais a Java Aplication Programming Interfaces (API)2.
Segundo o autor, muitas plataformas podem ser descritas como uma combinação do
sistema operacional e do hardware responsável pelo suporte. No caso de Java, o
termo plataforma refere-se somente aossoftware onde são executados os
programas. Quanto a serorientada a objetos Mendes diz que “a linguagem Java foi
criada seguindo o paradigma da orientação a objetos e, por isso, traz de forma
nativa a possibilidade de o programador usar os conceitos de herança, polimorfismo
e encapsulamento”. (MENDES, 2009, p.18)
Além de multiplataforma, – característica relacionada à capacidade de
funcionar em vários sistemas operacionais – Java é compatível a vários tipos de
arquiteturas de hardware, desde dispositivos menores, (como laptops e celulares)
até os mais complexos (datacenters, supercomputadores e a própria Internet). Já o
que garante a portabilidade dos programas desenvolvidos em Java é a Máquina
1
Applet é uma aplicação (pequeno programa) feita com um código especial e que é associada a uma
dada página Web, como se fosse um plugin. Um pluginé um pequeno programa que adiciona novas
funcionalidades ao programa principal. O termo applet foi utilizado pela primeira vez na aplicação
AppleScript da Apple, em 1993, permitindo executar tarefas que não são possíveis utilizando o código
html. Os applets Java são applets desenvolvidos em código Java. (CARREIRA, 2011)
2
Interface de Programação de Aplicação (API) é um conjunto de padrões de programação que
permite construção de aplicativos. (CIRIACO, 2009)
83
Virtual -Java Virtual Machine (JVM) - que é um conjunto de programas de software
que permite a execução de instruções, geralmente escritas em bytecode Java. Os
JVMs estão disponíveis para todas as plataformas de software e hardware mais
comuns.(GONÇALVES, 2007)
O fator desempenhosempre foi motivo de comparação entre a linguagem
Java, que é interpretada, e as linguagens compiladas:
A plataforma Java oferece um bom desempenho porque ela
executa um código que foi previamente analisado e convertido
para um formato intermediário. Outro elemento que auxilia no
desempenho é o recurso de garbage collector (coletor de lixo),
executado em segundo plano, procurando liberar memória que
não está sendo mais utilizada. Isso faz com que a memória
liberada seja reutilizada por outra parte do sistema. (MENDES
2009, p.18)
A plataforma Java permite a criação de programas capazes de implementar o
conceito de multithread3, além de sofisticados mecanismos de sincronização entre
processos.
3.1.2 Panorama da Linguagem
Atualmente fazem uso da plataforma Java cerca de 800 milhões de
computadores pessoais, 21,1 bilhões de celulares, 3,5 bilhões de cartões
inteligentes, além de webcams, sistemas de navegação de automóveis, dispositivos
médicos, entre muitos outros.No Brasil, bancos utilizam Java nos serviços Home
Banks, diariamente acessados por milhares de clientes. O Governo Federal também
usa Java em alguns sites de grande acesso. (PICCIOLO, 2011)
Java possui servidores de aplicações gratuitos e aindaeditores e ambientes
de produção livres, os chamados IDEs do
Enviroment
3
(Ambiente
Integrado
de
acrônimo Integrated Development
Desenvolvimento
ou
Ferramentas
de
“O multithread é uma técnica de programação concorrente, que permite projetar e implementar
aplicações paralelas de forma eficiente”. (MENDES, 2009, p.19)
84
Desenvolvimento Integrado). O Netbeans, utilizado para a realização deste trabalho,
é um dos editores disponíveis no mercado. São ambientes que reúnem
características e ferramentas de apoio ao processo de desenvolvimento de software.
Visa a maior produtividade dos desenvolvedores e melhor qualidade dos produtos.
Geralmente um IDE é composto por um editor de código-fonte, um compilador, um
depurador e outros recursos específicos. (SANTOS, 2011)
Para Picciolo (2011), o suporte a linguagem é grande uma vez que a
comunidade Java cresceu bastante nos últimos anos. Acontecem vários eventos,
revistas especializadas, fóruns e outras publicações criadas pelos Java User Groups
(JUGs), formados por grupos de usuários, programadores, estudantes, professores,
que contribuem gratuitamente com informações pertinentes à Java.
3.1.3 Divisões da Plataforma Java
Bugallo (2014) explica em suas três principais edições:
Java StandartEdition(JSE): é uma plataforma que oferece um completo
ambiente para o desenvolvimento de aplicações para clientes e servidores.Também
a base das tecnologias JEE e Java Web Services. A Oracle distribui a JSE na forma
de um SDK (Software Development Kit) chamado de JDK (Java Developer Kit), em
conjunto com uma JRE (Java Runtime Environment). O pacote do JDK da JSE vem
com ferramentas para compilação e geração da documentação (javadoc),
empacotador de componentes (jar), entre outras funções. Já a JRE contém a JVM e
outros componentes necessários para a execução de aplicações Java.
Java Enterprise Edition (JEE): a tecnologia JEE não é um produto, mas sim
uma especificação definida atualmente pela Oracleque simplifica e padroniza as
aplicações empresariais e multicamadas. Baseia-se nos componentes padronizados,
modulares e reusáveis. Oferece um conjunto completo de serviços para estes
componentes.
Manipula
muitos
detalhes
do
comportamento
da
aplicação
automaticamente. Não há necessidade de reaprender a programar, pois se utiliza
dos mesmos recursos do Java JSE.
85
O modelo de programação JEE é baseado em containers4, cuja estrutura
permite o desenvolvimento de aplicações distribuídas. Para cada tipo de aplicação
baseada nesta plataforma existe um container específico. Se for uma aplicação
servidora web, a mesma será executada através do container web, no caso de ser
uma aplicação cliente que utiliza componentes JEE, precisará do Aplication Client
Container para ser executada.(SAMPAIO, 2011)
Sampaio (2011) explica que as aplicações corporativas do modelo Java EE
podem ser vistas como um modelo de tiers (ou camadas com separação de
conceitos):
1. Na camada cliente tem-seo web browser ou applets. Pode também haver
aplicações Java rodando dentro do Java EE Client Container;
2. Na camada de apresentação (ou web tiers) encontram-se componentes Web
da arquitetura Java EE, como Java Server Pages (JSP), Servlets e Java
Server Faces;
3. Na
camada
de
negócios
são
rodados
os
componentes
remotos
queimplementam regras de negócio ou representam entidades de dados,
osEnterprise JavaBeanse Web Services;
4. Na camada EIS (Enterprise Information Systems) tem os servidores
derecursos corporativos, como Servidores de Banco de Dados ou
Mainframes. Normalmente, são consumidos utilizando as interfaces Java Data
Base Connectie ou Java Connector Architeture.
4
Dificilmente uma aplicação gráfica é composta por um único componente (...). Para este tipo de
aplicação, um componente fundamental é a área onde os demais componentes da aplicação estarão
dispostos. Um componente que pode conter outros componentes é denominado um container. Em
Java, a classe Containeré a classe abstrata que define as funcionalidades básicas associadas a um
container, tais como adicionar e remover componentes. (RICARTE, 2002)
86
Figura 3.1 – O carregador da classe lê os bytecodes e os aloca na
memória.
Fonte: GOOGLE, 2014
Java Micro Edition (JME): A tecnologia JME é voltada para aplicações
executadas em pequenos dispositivos como celulares, smartphones, controles
remotos e afins. Ela possui uma API bastante completa para o desenvolvimento de
aplicações para dispositivos móveis.
3.1.4 Etapas do Desenvolvimento e Execução de uma Aplicação Java
Varallo (2012) explica as fases pelas quais uma aplicação passa até ser
executada. Na primeira, ocorre a criação e edição de arquivos em um programa
editor,IDEs, onde são inseridos os códigos pelo programador e posteriormente
salvos em uma unidade de armazenamento com a extensão “.java”.
Fase 2: Compilação do programa Java em bytecodes
Compilador cria bytecodes que são armazenados com extensão .class. Os
bytecodes são executados pela Máquina Virtual que simula um computador, mas
oculta o sistema operacional e o hardware subjacente dos programas que interagem
com ela, garantindo a possibilidade de execução de programas Java em vários
sistemas operacionais distintos.
Fase 3: Carregamento de um programa na memória
87
O carregador da classe lê os bytecodes e os aloca na memória. A JVM
armazena o programa na memória para executá-lo e efetua o carregamento. O
carregador de classe da JVM pega os arquivos .class que contêm os bytecodes do
programa e os transfere para a memória primária.
Fase 4: Verificação da integridade bytecodes
Enquanto as classes são carregadas, o verificador examina seus bytecodes
para assegurar que são válidos e não violam restrições de segurança do Java.
Fase 5:A JVM faz a leitura dos bytecodes e compila para uma
linguagem de computador.
Os JVMs executam bytecodes utilizando uma combinação de interpretação
chamada compilação JIT (Jut In Time) – conhecido como compilador Java Hot Spot,
que traduz os bytecodes para a linguagem de máquina, para o computador real em
que o programa é executado. Quando a JVM encontra novamente essas partes
compiladas, o código de linguagem de máquina é executado mais rápido.
3.2 JAVA SERVER FACES (JSF)
De um conteúdo essencialmente estático no começo, a internet tem evoluído
cada vez mais para aplicações web mais complexas, eficientes e atrativas para o
usuário final. São criadas tecnologias que prometem facilidades e resultados mais
rápidos no desenvolvimento, entre elas os Servlets. Consistem em uma classe Java
responsável por estender a capacidade dos servidores que hospedam aplicativos,
acessados através de um modelo de programação de solicitação e resposta.
(SARTORI e FOSCHINI, 2013).
Segundo Sartori e Foschini (2013), os Servlets exigem a escrita do código de
saída Hyper Text Markup Language – Linguagem de Marcação de Hipertexto
(HTML) na classe Java, tornando a legilibilidade e a manutenção mais complicadas
porque não há uma separação tão clara do código HTML e do código Java, fatores
estes que forçaram o surgimento do Java Server Pages (JSP), pois executa toda a
capacidade dinâmica da tecnologia Servlet. Páginas JSP fazem o caminho inverso
88
na criação de conteúdo estático, pois são adicionadas código Java nas páginas
HTML.
Outra importante ferramenta de desenvolvimento são os chamados
frameworks. Neste trabalho será tratado especificamente o framework Java Server
Faces (FSF), de interface de usuário, User Interface (UI). É formado por
componentes
de
UI,
programação
orientada
a
eventos
e
permite
que
desenvolvedores criem componentes adicionais.
JSF foi desenvolvido através do Java Community Process (JSR-314) e
estabelece o padrão para a construção de interfaces de usuário ao lado do servidor
(JAVASERVER, 2011). É um framework Java que simplifica o desenvolvimento de
interfaces de usuário, pois mesmo que se crie uma solução para o mesmo conjunto
de problemas resolvidos pelo JSF, esta seria possivelmente implementada fora da
abordagem padrão da comunidade Java. O JSF evita esse fator, oferecendo um
robusto framework estabelecido com padrões bem estabelecidos, construído a partir
de experiências anteriores para Java Web. (SARTORI e FOSCHINI, 2013).
3.2.1 MVC e JSF
Geary e Horstmann (2012) JSF é um framework- web baseado no padrão
Model View Controller – Modelo Visão Controle (MVC). Sua principal função é a de
separar osdados ou a lógica de negócios da interface do usuário e do fluxo da
aplicação. O Modelo representa a lógica de negócios e fornece ao Controlador o
acesso aos dados. A Visão representa a interface com o usuário, sendo assim
define a forma como os dados serão apresentados e encaminha as ações dos
usuários para o controlador. Já a camada de Controle é responsável por ligar o
Modelo e a Visão, além de interpretar as ações do usuário e as traduz para uma
operação sobre o modelo e desta forma gera uma visualização apropriada
(GONÇALVES, 2007).
O papel do JSF neste contexto é o de relacionar a interface com o modelo.
Ele cria a comunicação com o modelo reagindo aos eventos solicitados pelos
usuários. Dentro desta cadeia de eventos o modelo por sua vez é responsável por
atualizar os seus dados com base nos valores criados pelo evento e, então, o JSF
89
retorna mais uma vez os dados processados à interface. (GEARY; HORSTMANN,
2012)
Figura 3.2 – Framework JSF.
Fonte: Openbiz.me, 2012.
3.2.2 Como Funciona o JSF
Primeiro o navegador é conectado à página inicial Extensible Hypertext
Markup Language (XHMTL) da aplicação. Em seguida o JSF verifica estas páginas e
suastags5. Depois de lidas, essas tags formam uma árvore de componentes, assim é
estabelecida uma estrutura de dados composta por objetos Java para todas as tags
da interface da página JSF. Após a execução das tags do JSF, a página HTML é
renderizada. Neste processo as tags JSF são convertidas em tags HTML simples.
Após a etapa de renderização ocorre a de codificação e decodificação das
tags HTML. No caso do envio de um formulário, por exemplo, o usuário digita seu
nome e senha e aciona o botão enviar. O navegador envia os dados deste
formulário para o servidor web através do método POST (método em que os
parâmetros passados não podem ser visualizados através da Uniform Resource
Locator6(URL). Dados de formulários são pares de strings, e esses pares são
armazenados em uma tabela hash7. Por meio do processo de decodificação o JSF
5
Tags são rótulos usados para informar ao navegador como deve ser apresentado o website.
(HTML.NET, 2013)
6
Localizador Padrão de Recursos – URL- é um endereço virtual com um caminho que indica onde
está o que o usuário procura. Pode ser tanto um arquivo, uma máquina, uma página, um site, uma
pasta, entre outros. Também pode ser o link ou endereço de um site. (BATISTA, 2011)
7
Um hash é uma sequencia de letras ou números gerados por um algoritmo. O conceito teórico diz
que hash é a transformação de uma grande quantidade de informações em uma pequena quantidade
90
possibilita que os componentes inspecionem e interpretem os dados da tabela hash.
Tudo ocorre após a execução das tags do JSF. É também através do componente
UIInput que a classe bean é atualizada. GEARY e HORSTMANN (2012) definem
bean como uma classe Java responsável por mostrar propriedades e eventos a um
determinado framework, JSF por exemplo.
No caso de uma página para o acesso de um usuário, por exemplo, o
processo de login é iniciado após o componente UICommand fazer a verificação se
ocorreu o acionamento do botão enviar. Caso tenha ocorrido, um evento é
disparado. (GEARY; HORSTMANN, 2012).Na figura 2.58 (abaixo) é ilustrado o
processo de codificação e decodificação de páginas JSF.
Figura 3.3 – Codificação e Decodificação JSF.
Fonte: Tecnologia e Conhecimento, 2011.
3.3 HIBERNATE E JPA
Trabalhar com Java e Banco de dados exige pensar um sistema sob dois
pontos de vistas diferentes: modelo orientado a objetos e modelo relacional. Num
Sistema Gerenciador de Banco de Dados (SGBD) modelo relacional, as informações
são representadas por tabelas e colunas, enquanto em linguagem Java (orientada a
objetos) são usados classes e atributos. Dadas as particularidades de cada modelo,
de informações. Essa sequencia busca identificar um arquivo ou informação unicamente (MARTINS,
2007)
91
frequentemente depara-se com a necessidade de “transformar” objetos em registros
e vice-versa. Para auxiliar nestas tarefas surgiram ferramentas de Mapeamento
Objeto Relacional (ORM). O Hibernate é uma ferramenta – framework - ORM e
apesar de ter surgido sem a especificação JPA (Java Persistence API), é comum é
comum que seu acesso seja por meio dela. (CAELUM, 2014).
O mapeamento é realizado das tabelas de um banco de dados relacional para
uma classe Java ou vice-versa. A utilização de Hibernate possibilita realizar os
mapeamentos entre classes e tabelas, através do uso de Extensible Markup
Language (XML), diretamente no código Java ou por JPA :
“O Hibernate abstrai o seu código SQL, toda a camada JDBC e o
SQL será gerado em tempo de execução. Mais que isso, ele vai
gerar o SQL que serve para um determinado banco de dados, já que
cada banco fala um "dialeto" diferente dessa linguagem. Assim há
também a possibilidade de trocar de banco de dados sem ter de
alterar código Java, já que isso fica de responsabilidade da
ferramenta.”(CAELUM,2014)
Para configurar o Hibernate em uma aplicação, devemos criar um arquivo
chamado persistence.xml. O conteúdo desse arquivo contém informações sobre o
banco de dados, como a url de conexão, usuário e senha além de dados sobre a
implementação JPA, que será utilizada. (K19, 2012).
Baseado no conceito Plan Old Object (POJO), quem dizer, “Bom e Velho
Objeto Java”, o JPA incorpora ideias de renomados frameworks de persistência,
Hibernate, por exemplo, para padronizar o OMR e Java. (GONÇALVES, 2008)
“Na JPA, os objetos persistentes são denominados entidades (Entities). Uma
entidade é um objeto simples (POJO), que representa um conjunto de dados
persistidos no banco.” (GONÇALVES, 2008, p. 101). As classes e interfaces da API
JPA encontram-se no pacote javax.persistence o que permite se fazer o
mapeamento da aplicação através de anotações conhecida também por Java
Annotations8 Os objetos contidos nos POJOs, entidades de persistência, possuem
8
Java Annotations (Anotação Java) são tipos especialmente definidos com o intuito de
simplificar tarefas em Java com uma anotação, colocada em frente a (ou acima de) elementos de
programa Java como classes, métodos, campos e variáveis. Quando um elemento do programa é
anotado, o compilador lê a informação contida nessa anotação e pode reter essa informação nos
arquivos de classe ou dispor disso de acordo com o que foi especificado na definição de tipo da
anotação. (GONÇALVES, p.102, 2008)
92
diversas anotações. Na API JPA cada anotação é precedida pelo símbolo de arroba
“@” e possui um significado. Algumas dessas anotações:

@Entity é a principal anotação do JPA. Ela deve aparecer antes do nome de
uma classe e deve ser definida em todas as classes que terão objetos
persistidos no banco de dados. As classes anotadas com @Entity são
mapeadas para tabelas. Por convenção, as tabelas possuem os mesmos
nomes das classes. Mas, podemos alterar esse comportamento utilizando a
anotação @Table. Os atributos declarados em uma classe anotada com
@Entity são mapeados para colunas na tabela correspondente à classe.
Outra vez, por convenção, as colunas possuem os mesmos nomes dos
atributos. E novamente, podemos alterar esse padrão utilizando para isso a
anotação @Column.

@Id é utilizada para indicar qual atributo de uma classe anotada com @Entity
será mapeado para a chave primária da tabela correspondente à classe.
Geralmente o atributo anotado com @Id é do tipo Long.

@Generated Value geralmente vem acompanhado da anotação @Id. Serve
para indicar que o valor de um atributo que compõe uma chave primária deve
ser gerado pelo banco no momento em que um novo registro é inserido. (K19,
2012)
3.4 SISTEMAS GERENCIADORES DE BANCO DE DADOS
O processamento de dados tem sido, desde os primórdios da computação, o
principal papel dos aplicativos. Os usuários necessitam de ferramentas que
simplifiquem as tarefas de gerenciamento de dados e permitam a extração de
informações úteis de forma oportuna. (RAMAKRISHNAN; GEHRKE, 2008)
Um banco de dados é uma coleção organizada de dados (DEITEL, 2010). E
ainda, de acordo com DATE (2004, p. 6), um sistema de banco de dados é “um
sistema computadorizado cuja finalidade geral é armazenar informações e permitir
que os usuários busquem e atualizem essas informações quando as solicitar”.
93
“Um sistema gerenciador de banco de dados – ou Data Base Management
System (DBMS) - é um software projetado para auxiliar a manutenção e utilização de
vastos conjuntos de dados” (RAMAKRISHNAN; GEHRKE, 2008). SGBDs fornecem
mecanismos para a armazenagem, organização, recuperação e modificação de
dados e permitem seu acesso e armazenamento sem envolver a representação
interna dos dados (DEITEL, 2010 p. 899).
Juntamente com os bancos de dados relacionais, que são, conforme Deitel
(2010), os mais populares, é utilizada amplamente uma linguagem internacional, a
Structured Query Language (SQL) ou Linguagem de Consulta Estruturada. Foi
criada no começo da década de 1970 pela IBM Research, para o protótipo de um
sistema de banco de dados chamado System R (DATE, 2004, p. 71). É baseada nas
linguagens de Álgebra e Cálculo Relacional e hoje é a linguagem padrão dos
Sistemas Gerenciadores de Bancos de Dados Relacionais. Inclui, entre seus
diversos aspectos:

Linguagem de manipulação de dados (DML);

Linguagem de definição de dados (DDL);

Gatilhos e restrições de integridade avançadas;

Gerenciamento de transação;

Segurança;

Recursos avançados.
3.5 MYSQL
Neste protótipo de sistema será utilizado o MySQL Community Server, versão
esta que possui código fonte aberto e é distribuída gratuitamente pela Oracle
Corporation, dona de duas licenças a gratuita e acomercial. (MYSQL, 2014a)
Segundo Gonçalves (2008), trata-se de um sistema de gerenciamento de banco de
dados relacional rápido e flexível, além de confiável e de nível corporativo.
Escrito na linguagem de programação C e C++, MySQL é aceito por diversos
sistemas operacionais como: Linux, Windows, FreeBSD, Solaris e Mac OS X e
quanto ao limite da capacidade de armazenamento é suportável para grande volume
94
de dados. Pode chegar a 200.000 tabelas armazenadas e cerca de 5.000.000.000
linhas de dados. (MYSQL, 2014b)
MySQL possui conectores e APIs que permitem ao programa cliente
(programa que se conecta e utiliza recursos do banco), acessar os seus protocolos
e recursos. Dessa maneira, conexões e instruções MySQL são executadas de
programas escritos em diversas linguagem de programação. O driver JDBC utilizado
neste trabalho é o Connector/J, suportado oficialmente pela mantenedora do
MySQL. Utilizando esse driver todos os tipos de aplicações Java podem acessar um
banco MySQL e seus dados.(GONÇALVES, 2008)
O MySQL disponibiliza ao usuário a possibilidade manipulação de dados
através de interface de linha de comando o que pode ser feito também na interface
gráfica, o MySQL Workbench. O Workbench é estruturado comferramentas para
conexão, consulta e modelagem de dados, além da possibilidade da criação do
Modelo de Entidade e Relacionamento (MER) das tabelas do banco de dados e vice
e versa. Através do MER tabelas podem ser geradas automaticamente pelo recurso
de engenharia reversa. (MYSQL, 2013c)
3.6 SERVIDOR GLASSFISH
Os servidores de aplicação surgiram na década de 1990 para dar suporte aos
desenvolvedores na execução de sistemas web. Proporcionaram a abstração do
programador em relação à complexidade da infraestrutura de comunicação e de
acesso aos sistemas publicados. (DEVMEDIA, 2013)
O servidor web GlassFish surgiu de forma tímida em 2006, através do Projeto
GlassFish, ainda pelas mãos da Sun Microsystems. Embora exista a versão
proprietária chamada GlassFish Enterprise Server, o servidor GlassFish é gratuito
e possui código aberto. Com a aquisição da Sun pela Oracle essa é que continuou o
desenvolvimento e o suporte ao mesmo. (DEVMEDIA, 2013).
Segundo o site
Devmedia (2013), para servir conteúdo webo servidor de aplicações da Oracle
emprega uma derivação do Apache Tomcat.
Desenvolvido para a plataforma Java EE (Java Enterprise Edition), de nível
corporativo que oferece desempenho, confiabilidade, produtividade e facilidade de
95
uso. Além disso, também apresenta suporte total às novas especificações Java para
web.
3.7 PRIMEFACES
É um framework desenvolvido pela Prime Teknoloji , uma empresa turca.
Esta ferramenta possui um conjunto de componentes destinados ao JSF, e para
realizar chamadas assíncronas ao servidor já tem implementado por padrão Ajax9
(Asynchronous Java Script and Extensible Markup Language), o que diminui
consideravelmente o esforço do desenvolvedor. O Primefaces possui também uma
variedade de temas, que permite mudar a aparência dos componentes de forma
fácil e simples. (GAMES, 2012)
3.8 JQUERY
JQuery é uma biblioteca Java Script de código aberto criada em 2006 por
John Resig com o objetivo de simplificar o código Java Script e o uso do AJAX.
Entre suas funcionalidades, a biblioteca JQuery permite :

modificar a aparência da página através de CSS;

alterar o conteúdo da página;

responder interações do usuário com a página;

adicionar animações a uma página;

recuperar informações do servidor sem precisar recarregar a página
usando AJAX;

simplificar tarefas comuns do Java Script, como iterações e
manipulação de arrays.

oferecesuporte
a
vários
plugins
que
podem
simplificar
o
desenvolvimento de páginas web.
9
O principal componente é o XMLHttpRequest. Este objeto permite a um código JavaScript
fazer o envio de dados e receber uma resposta de um servidor sem a necessidade de recarregar toda
a página Web. Daí vem o termo Asynchronous, pois os dados não precisam necessariamente ser
carregados ao mesmo tempo em que se carrega a página, em outras palavras, não precisa haver
sincronia do carregamento de dados com o carregamento da página Web. (SIGNIFICADOS, 2014)
96
4. RESULTADOS
Nesta seção tem-se a demonstrações de como algumas tecnologias tratadas
no capítulo três foram utilizadas para o desenvolvimento deste protótipo voltado às
ONGs da área de resgate e cuidados a animais maltratados. Assim, é possível
conferir algumas das principais telas das funcionalidades desenvolvidas.
4.1 BANCO DE DADOS
Como descrito no capítulo anterior, o banco de dados utilizado para a
implementação deste projeto foi o MySQL 5.6. Apesar de algumas vezes ter sido
utilizada a interface de linha de comando, na maioria das vezes, para facilitar a
criação de tabelas e funções, preferiu-se a interface gráfica MySQL Workbench
também utilizada para construir o modelo entidade relacionamento das tabelas
(Conferir a figura 2.00 no capítulo dois). Segue abaixo a figura 4.58, exemplo da
utilização da Interface da Linha de Comando e na figura 4.59, Interface Gráfica do
Workbench.
Figura 4.1 – Interface de linha de comando.
Fonte: Elaborada pelos autores, 2014.
97
Figura 4.2 – Interface gráfica do programa MySQL Workbench.
Fonte: Elaborada pelos autores, 2014.
4.2 PROTÓTIPO DO SISTEMA
4.2.1 Páginas Web
Considerando os fatores tempo, temas e objetivo a ser atingido, as páginas
do site podem ser aproveitadas de diversas maneiras, tais como:transmitir
informações fundamentais sobre a Entidade e sua atuação tanto via produção
textual quanto visual, divulgar eventos, campanhas e publicação de informações de
utilidade pública.
Como pode ser conferido na figura 4.3, logo abaixo do cabeçalho, o usuário
tem a barra de navegação que permite acesso às demais páginas como: Eventos,
98
Quem
Somos,
Como
Ajudar,
Adoção,
Animais
e
Contato.
Figuras
4.3,
4.4,4.5,4.6,4.7,4.8 e 4.9, 4.10. Seguem algumas telas, exemplos das páginas web.
Figura 4.3 – Página web inicial.
Fonte: Elaborada pelos autores, 2014.
Figura 4.4 – Ilustração da Página Quem Somos.
Fonte: Elaborada pelos autores, 2014.
99
Figura 4.5 – Página interna, Menu Eventos.
Fonte: Elaborada pelos autores, 2014.
Figura 4.6 – Página Interna disponível no submenu Doações em Dinheiro.
Fonte: Elaborada pelos autores, 2014.
100
Figura 4.7 – Página interna Voluntários.
Fonte: Elaborada pelos autores, 2014.
Figura 4.8– Página acessada pelo Menu Contato.
Fonte: Elaborada pelos autores, 2014.
101
Figura 4.9– Página acessada pelo Menu Animais, submenu Desaparecidos.
Fonte: Elaborada pelos autores, 2014.
Figura 4.10 – Página interna, submenu Tipos.
Fonte: Elaborada pelos autores, 2014.
102
4.2.2 Protótipo do Sistema Web
Para o desenvolvimento das funcionalidades abordadas neste tópico utilizouse o padrão de projeto MVC, também já contextualizado no capítulo dois e
representado na figura 4.11. Somam-se a ele os frameworks JSF, JPA e Primefaces,
usados inúmeras vezes no decorrer do desenvolvimento das páginas de
gerenciamento pelo usuário.
V
M
C
Figura 4.11 – Indicação do MVC representado pelos
pacotes do Projeto no Netbeans.
Fonte: Elaborada pelos autores, 2014.
Figura 4.11 – MVC, representado pelos Pacotes.
Fonte: Elaborada pelos autores, 2014.
Segue abaixo na figura 4.12 exemplo do código que representa as anotações
JPA neste trabalho. Estas anotações são responsáveis por determinar como
ocorrerá o funcionamento de frameworks de persistência como Hibernate em Java.
É possível observar na figura o mapeamento completo do Objeto Relacional da
aplicação denominado de entidades (Entities). Essas Entities representam o
103
conjunto dados que serão persistidos no banco de dados. Os objetos contidos nas
entidades de persistência (assunto já tratado no capítulo três) possuem diversas
anotações (annotations), que no JPA são precedidas pelo símbolo de arroba “@”.
Figura 4.12 – Especificações JPA implementadas no banco de dados.
Fonte: Elaborada pelos autores, 2014.
104
Os frameworks JSF e Primefaces são os responsáveis pelas páginas de
interface de usuários deste protótipo. Um dos componentes utilizado do Primefaces
é o DataTable, como pode ser conferido na Figura 4.13, exemplo do código que
representa a criação de uma tabela dinâmica utilizada no decorrer do
desenvolvimento da aplicação.
Figura 4.13- Implementação do componente DataTable de animal.
Fonte: Elaborada pelos autores, 2014.
105
Na figura 4.14 pode ser observadoo código da Classe Abstrata (Abstract
Facade) que configura, por padrão, um modelo para as demais classes abstratas. O
modelo representa uma entidade do banco de dados. O método get “pega” o modelo
e cria a classe de abstrata.
Figura 4.14– Classe Abstrata gerencia as demais classes abstratas.
Fonte: Elaborada pelos autores, 2014.
106
No código exemplificado na figura 4.15 é possível verificar o uso do escopo
de sessão do JSF. Isto é, quando o usuário acessar o sistema essa especificação
estabelece com o servidor uma sessão. Dados gerenciados no objeto que
representa este escopo existem desde o instante inicial, quando o usuário acessa a
aplicação, até que essa expire por inatividade, seja voluntariamente ou finalizada
pela aplicação.
Figura 4.15- Uso da anotação JSF @Session Scoped.
Fonte: Elaborada pelos autores, 2014.
107
A página inicial (Index), figura 4.16,
tem a finalidade de direcionar
os
usuários para os recursos desejados, de acordo com o menu, no canto esquerdo.
Por exemplo, com um clique em uma das abas será exibida a próxima página com
suas opções: cadastrar, alterar e excluir, disponibilizadas automaticamente sempre
que a página for acessada: figuras 4.17, 4.18, 4.19 e 4.20. Caso usuário queira
retornar à página inicial deve clicar na opção index.
Figura 4.16- Página inicial do protótipo OngWeb.
Fonte: Elaborada pelos autores, 2014.
108
Figura 4.17 – Mensagem de Cadastro de receita realizado
Fonte: Elaborada pelos autores, 2014.
Figura 4.18 – Mensagem de Cadastro de Pessoas, diferenciado pelo campo Tipo
Fonte: Elaborada pelos autores, 2014.
109
Figura 4.19 – Relação de despesas cadastradas.
Fonte: Elaborada pelos autores, 2014.
Dentre as funcionalidades também é possível conferir a opção de relatório,
constando informações já cadastradas. Na tela apresentada no exemplo abaixo,
figura 4.20, é o resultado desta funcionalidade Relatório Usuário.
Figura 4.20 – Relação de animais cadastrados.
Fonte: Elaborada pelos autores, 2014.
110
4.3 CONSIDERAÇÕES SOBRE O CAPÍTULO
Foram apresentados neste capítulo alguns exemplos das funcionalidades do
protótipo desenvolvido, demonstradas por meio de ilustraçõesde modo que possa
facilitar a compreensão do trabalho desenvolvido nesta monografia.
Como demonstrado, além do site composto por diversas páginas sendo que
cada uma tem em si um objetivo definido no tocante ao tipo de informação ou dado
que será divulgado.
Com relação às funcionalidades propostas na fase da análise de requisitos,
segundo capítulo, conseguiu-se alcançar total implementação, todas no formato de
tabelas. Pode-se realizar o gerenciamento dos cadastros em geral através das
opções: cadastrar, alterar, excluir, selecionar e listar. Ao escolher esta última, o
usuário tem acesso a um relatório sucinto do registro em questão. Já o
gerenciamento de registros financeiros pode ser feito nos campos Receitas e
Despesas, alterando automaticamente o Caixa.
Sugestões para trabalhos futuros: a geração de documentos dinamicamente
assim como a capacidade de imprimí-los após preencimento, a disponibilização de
formulários no site aos interessadas em adotar um animal junto a Organização outra possibilidade neste sentido seria permitir o cadastro via site de novos sócios. E
para finalizar, extender o protótipo para o desenvolvimento de um aplicativo móvel
voltado celulares e a outros dispositivos móveis.
111
CONCLUSÃO
O presente trabalho teve como objetivo o desenvolvimento do protótipo de um
sistema web voltadado à ONGs, atuantes no resgate e cuidados a animais
maltrados. Seu desenvolvimento baseia-se na hipótese de que um sistema
informatizado facilitaria a atuação de voluntários e colaboradores na execução de
suas atividades cotidianamente.
Independente do volume de informações geradas por uma Organização é
importante que gestores busquem formas de armazená-las e apresentá-las à
comunidade na qual estão inseridas. Sob esta pespectiva se propôs o
desenvolvimento deste projeto, assim como o aproveitameno dos espaços inerentes
às páginas web como um canal de feedback entre a própria Entidade e seus
contribuintes e apoiadores.
O que a principio foi dificuldade, desenvolver um protótipo de um sistema
informatizado tornou-se uma grande experiência e aprendizado não só por ter a
oportunidade de entender a lógica do negócio, a dinâmica de atuação de duas
ONGs tomadas como exemplo, mas por ampliar o conhecimento sobre as
tecnologias utilizadas e a eficácia das mesmas no desenvolvimento deste trabalho.
O modelo MVC foi o eixo de todo o trabalho, pois permitiu o desenvolvido de
modo claro ao separar as interfaces, controles e modelos. O ORM Hibernate
juntamente com JPA foram fundamenais na conexão das duas tecnologias, a
linguagem orientada a objetos e um banco de dados relacional. Hibernate e JPA
foram usados para realizarem o mapeamento objeto-relacional e na geração de
classes, representando entidades do banco de dados relacional MySQL.
É importante reiterar a possibilidade deste trabalho ter continuidade no
sentido de almejar sua ampliação. Como já foi colocado, certamente seria bem
aproveitada a capacidade de gerar dinamicamente documentos. Outra sugestão é a
de extender o protótipo para o desenvolvimento de um aplicativo móvel voltado a
celulares e a outros dispositivos móveis.
A realização deste trabalho ultrapassa a simples motivação pessoal dos
autores, como a afinidade ao tema. Sua finalização responde ainda o desejo dos
mesmos de retribuir o conhecimento adquirido numa instituição pública durante o
112
curso, dispondo de um trabalho que, salvo algumas adaptações e melhorias, poderá
auxiliar na atuação de pessoas que trabalham sem vislumbrar retorno financeiro ou
material, mas também em prol da sociedade como um todo.
113
REFERÊNCIAS BIBLIOGRÁFICAS
BUGALLO, Luis G.Desenvolvimento com Java. 2013. Disponível em:
<http://bugalloti.wordpress.com/2013/09/20/desenvolvimento-com-java-nova-area-dblog-historia-caracteristicas-plataformas-e-muitos-mais/> Acesso em: 23 fev. de
2014.
BATISTA,
J.O
que
é
URL.
2011.
Disponível
em:<http://www.tecmundo.com.br/tira-duvidas/144779/> Acesso em: 20 mar. de
2014.
CAELUM. Apostila Java para Desenvolvimento Web. Capítulo 14 Uma Introdução
Prática
ao
JPA
com
Hibernate.
Disponível
em:
<http://www.caelum.com.br/apostila-java-web/uma-introducao-pratica-ao-jpa-comhibernate/> Acesso em: 20 abr. de 2014.
DATE C. J. Introdução a Sistemas de Bancos de Dados. Tradução Daniel Vieira.
8.ed. Rio de Janeiro: Elsevier, 2004.
DEITEL. Paul; DEITEL H. Java – Como Programar. Tradução: Edson
Furmankiewicz. 8. ed. São Paulo: Pearson Prentice Hall, 2005.
DIAS, F. S. Análise das relações interdisciplinares das pesquisas científicas em
sistemas de informação. Perspect. Ciênc. Inf., Belo Horizonte, v. 13, n. 1, abr.
2008. Disponível em: <http://www.scielo.br/pdf/pci/v13n1/v13n1a13/> Acesso em: 20
mar. de 2013.
DOUGLAS,
C.
O
que
é
API?
Disponível
<http://www.tecmundo.com.br/programacao/1807-o-que-e-api-.htm/>
em: 20 mar. de 2013.
em:
Acesso
GEARY, D.; HORSTMANN C. Core Java Server Faces. Tradução Lúcia Helena. 3.
ed. Rio de Janeiro: Alta Books, 2012.
GONÇALVES, Edson. Desenvolvendo aplicações Web com JSP Servlets, Java
Server Faces, Hibernate, EJB3 Persistence e Ajax. 1ª Ed. Rio de Janeiro, Editora
Ciência Moderna, 2007.
GUEDES, Gilleanes T. A. UML 2 Uma Abordagem Prática. 2009. Disponível em:
<http://www.novateceditora.com.br/livros/uml2abordagempratica/capitulo978857522
938.pdf/>. Acesso em: 11 fev. de 2014.
KALIANE, Ap. P. Desenvolvimento de Sistema para Controle das Atividades do
Setor de Estágio da Fatec Lins. 2013. Monografia (Curso Superior de Tecnologia
em Banco de Dados) – Faculdade de Tecnologia de Lins, Centro Estadual de Ensino
Tecnológico “Paula Souza”, Lins.
114
K19 Treinamentos Persistência com JPA2 e Hibernate. Disponível em:
<http://www.k19.com.br/cursos/persistencia-com-jpa2-e-hibernate/> Acesso em: 01
maio de 2014.
LARMAN, C. Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design and Iterative Development. 2004. Disponível em:
<http://www.amazon.com/Applying-UML-Patterns-Introduction-Object-Oriented/dp
/0131489062/>.Acesso em: 11 fev. de 2014.
MARTINS
T.
O
Que
é
Tabela
Hash?
2007.Disponível
em:<https://br.answers.yahoo.com/question/index?qid=20070610135142AABxfxU/>.
Acesso em: 25 fev. de 2014.
MEDEIROS, E. Desenvolvendo software com UML 2.0 definitivo. 1 ed. São
Paulo: Makron Books, 2004.
MENDES, Douglas R. Programação Java com Ênfase em Orientação a Objetos.
2009.Disponível em: http://novatec.com.br/autores/douglasmendes /. Acesso em: 25
fev. de 2014.
______.MySQL 5.5 Reference Manual Operating Systems Suppoted by MySQL
Community
Server.Disponível
em:
<http://dev.mysql.com/doc/refman/5.5/en/supported-os.html> Acesso em: 20 abr. de
2014a.
______.MySQL. MySQL 5.5 Reference ManualThe Main Features of MySQL.
Disponível em: <http://dev.mysql.com/doc/refman/5.5/en/features.html> Acesso em:
20 abr. de 2014b.
______. MySQL 5.5 Reference Manual Chapter 25. MySQL Workbench. Disponível
em: <http://dev.mysql.com/doc/refman/5.5/en/workbench.html> Acesso em: 20 abr.
de 2014c.
ORACLE.About
Java
for
Mobile
Devices.Disponível
em:<
http://www.oracle.com/technetwork/java/javame/javamobile/overview/about/index.htm
/> Acesso em: 17 mar. de 2014.
PICCIOLO, Antonio F. Java – Vantagens e Desvantagens. 2011. Disponível em:
<http://osum.sun.com/profiles/blogs/java-vantagens-e-desvantagens/> Acesso em:
23 fev. de 2014.
PRESIDENCIA DA REPÚBLICA, Brasília, DF. Decreto-Lei nº 9.790/99, Capítulo I,
Art. 1º. 1999. Disponível em: <http://www.licijur.com.br/index.php/legislacao/136-lei979099-dispoe-sobre-as-ong/>. Acesso em: 11 fev. de 2014.
GAMES, William. Visão Geral Sobre Primefaces. 2012 Disponível em:
<http://williamgamers.wordpress.com/2012/06/04/visao-geral-sobre-primefaces/>
Acesso em: 30 mar. de 2014.
115
QUÉAU, P. A Revolução da Informação em Busca do Bem
Comum. RevistaCiência da Informação. Brasília, DF. 1998. Disponível em:
<http://revista.ibict.br/ciinf/index.php/ciinf/article/view/365/326/>. Acesso em: 21 fev.
de 2013.
SAMY, Maurício S.A Biblioteca do Programador JavaScript. 2014. Disponível em:
<http://novatec.com.br/livros/jquery/capitulo9788575221785.pdf/>. Acesso em: 21
fev. de 2014.
SAMPAIO, Cleuton. Java Enterprise Edition6: Desenvolvendo Aplicações
Corporativas. 1. ed. Rio de Janeiro: Brasport, 2011.
SANTOS, Alexandre K.Os IDE’s (Ambientes de Desenvolvimento Integrado)
como ferramentas de trabalho em informática. 2011. Disponível em:
<http://wwwusr.inf.ufsm.br/~alexks/elc1020/artigo-elc1020-alexks.pdf/>. Acesso em:
21 nov. de 2013.
SARRAIPO, E. Especialista defende penas mais rígidas para maus tratos –
Jornal
Santuário.
2014.
Disponível
em:
<http://jornal.editorasantuario.com.br/protecao-animal-especialista-defende-penasmais-rigidas-para-maus-tratos/> Acesso em: 11 fev. de 2014.
SARTORI Claudinei F.; FOSCHINI Ivan J. Java Server Faces 2.0: Melhorias em
relação à Versão 1.2 para o Desenvolvimento Web. 2013. Disponível em:
<evistatis.dc.ufscar.br/index.php/revista/article/view/36/>. Acesso em: 25 fev. de
2014.
SERVLET. Scribd. 2010. Disponível em: < http://pt.scribd.com/doc/7238159/ JAVAServlet/>. Acesso em: 24 abr. 2014.
SIGNIFICADOS.
O
que
é
AJAX.2014.
em:<http://www.significados.com.br/ajax/>. Acesso em: 25 abr. 2014.
Disponível
RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de Gerenciamento de Banco de
Dados. Tradução Acauan Pereira Fernandes, Celia Taniwaki, João Tortello. Revisão
técnica Elaine Barros Machado de Sousa. 3. ed. São Paulo: McGraw-Hill, 2008.
TURINE, Marcelo A. S.; MASIERO, Paulo C. Especificação de Requisitos: Uma
Introdução.1996.Disponívelem:http://www2.unemat.br/rhycardo/download/engenhari
a_de_requisitos.pdf />. Acesso em: 11 fev. de 2014.
VAGOS, José C. M. O que é Applet? 2011. Disponível em: <
http://pt.shvoong.com/internet-and-technologies/websites/2156949-que-%C3%A9um-applet//>. Acesso em: 27 fev. de 2014.
VARALLO, Thiago V.P. Etapas do Desenvolvimento e Execução de Uma
aplicação Java. 2012. Disponível em: <http://www.devmedia.com.br/etapas-dodesenvolvimento-e-execucao-de-umaplicacaojava/25099#ixzz39gAPlv00/>. Acesso
em: 10 mar. de 2014.
116
APÊNDICE
Até o final deste trabalho a APROAN, uma das ONGs pesquisadas na etapa
de levantamento de requisitos, havia encerrado suas atividades na cidade de
Promissão, SP.
Download