Escolar Documentos
Profissional Documentos
Cultura Documentos
CAMPUS SANTIAGO
DEPARTAMENTO DE ENGENHARIAS E CINCIA DA COMPUTAO
SANTIAGO
2013
do
curso
de
Cincia
da
SANTIAGO
2013
BANCA EXAMINADORA
_____________________________________
Prof. Ma. Lucili Tolfo Beque Guerra
(Orientadora)
_____________________________________
Prof. Esp. Fernando Funghetto Sagrilo
_____________________________________
Me. Maicon de Brito do Amarante
DEDICATRIA
Dedico este trabalho minha famlia, que sempre me incentivou a estudar e dedicar
para obter evoluo pessoal e profissional. Dedico em especial minha esposa Sandra
Vendruscolo que alm do apoio durante este perodo serviu de inspirao para este trabalho.
AGRADECIMENTOS
Agradeo aos meus pais pela vida e pelo apoio, especial minha me que sempre
esteve ao meu lado, mesmo que em alguns momentos distante fisicamente, sempre
incentivando e acreditando at nos momentos que desanimei, sempre com um abrao de
conforto e uma frase carinhosa, que ajudou a construir meu carter e me ensinou a viver.
Ao meu padrasto, que considero meu pai, que alm dos ensinamentos que me passou,
foi quem me ensinou a ler, quem deu inicio a minha formao escolar, quem me ensinou a ser
correto, alm de diversos ensinamentos que levarei para toda minha vida.
A minha esposa que muito me apoiou nesta difcil fase acadmica, compreendendo a
ausncia, colaborando, e me inspirando para a realizao deste trabalho.
A orientadora, que soube nortear o andamento do trabalho e esclarecer as muitas
dvidas que existiram nesta jornada, e por ter acreditado neste trabalho.
Aos demais professores que colaboraram para minha formao acadmica,
transmitindo os seus conhecimentos, que serviram de base para minha evoluo profissional.
Aos colegas de trabalho que sempre apoiaram, supriram minha ausncia em vrios
momentos e que de diversas formas contriburam para a realizao deste trabalho.
RESUMO
Este trabalho tem por objetivo desenvolver um sistema web para gesto de servios na rea de
nutrio utilizando um framework de desenvolvimento web PHP. Inicialmente foram
estudados frameworks de desenvolvimento para a linguagem de programao PHP. A escolha
do tema foi baseada na necessidade de um sistema personalizado para a nutricionista Sandra
Vendruscolo, aliando com o anseio de aplicao prtica dos conhecimentos adquiridos em
diversas disciplinas do curso de Cincia da Computao. Alem do uso do framework de
desenvolvimento CakePHP visando uma implementao padronizada. Aps foi necessrio
levantar os requisitos, bem como, realizar a modelagem de software do sistema, visando um
produto final que seja personalizado e atenda as necessidades da nutricionista, facilitando e
melhorando seu trabalho. Basicamente para um profissional da rea de nutrio importante
armazenar dados dos pacientes, visando um acompanhamento efetivo da evoluo funcional
do mesmo, facilitando a elaborao de um plano alimentar individualizado, objetivando a
evoluo nutricional do paciente. Com isto, foi possvel implementar o sistema, codificando
na linguagem de programao web PHP e utilizando o framework definido, para um
desenvolvimento padronizado utilizando as vantagens dos conceitos previamente estudados.
Aps a concluso deste trabalho, pretende-se disponibilizar a ferramenta web, desenvolvida
com o framework CakePHP, baseando-se nos padres do mesmo, para auxiliar a profissional
da rea de nutrio, na gesto das informaes dos seus pacientes e atendimentos.
ABSTRACT
This work aims to develop a web system for managing services in the area of nutrition using a
PHP web development framework . Initial development frameworks for PHP programming
language were studied . The theme was based on the need for a custom system for nutritionist
Sandra Vendruscolo , allying with the longing for practical application of knowledge
acquired in various course disciplines of Computer Science . Besides the use of CakePHP
development framework towards a standardized implementation. After it was necessary to
raise the requirements , as well as perform the modeling software system, to a final product
that is customized and meets the needs of nutrition , facilitating and improving their work .
Basically for a professional in the field of nutrition is important to store patient data , aiming
at an effective monitoring of the functional evolution of the same , facilitating the
development of an individualized eating plan , aiming to nutritional outcomes. Therefore, it
was possible to implement the system , coding in PHP web programming language and using
the framework defined for developing a standardized using the advantages of the concepts
previously studied . After completion of this work , we intend to provide a web tool, developed
with CakePHP framework , based on the same standards , to assist healthcare professional
nutrition , to information management and care of their patients .
LISTA DE ILUSTRAES
FIGURA 1: LOGO DA LINGUAGEM DE PROGRAMAO PHP (PGINA
OFICIAL DO PHP, 2013) ......................................................................................... 19
FIGURA 2: LOGO FRAMEWORK ZEND (ZEND FRAMEWORK, 2013) .................... 22
FIGURA 3: LOGO FRAMEWORK YII(YII FRAMEWORK, 2013) ................................ 22
FIGURA 4: LOGO CAKEPHP (PGINA OFICIAL DO CAKEPHP, 2013) .................. 23
FIGURA 5: MVC (JOBSTRAIBIZER, 2009) .................................................................. 24
FIGURA 6: DIAGRAMA DE FLUXO REQUISIO CAKEPHP (CAKEPHP.ORG,
2013) .......................................................................................................................... 25
FIGURA 7: MODELO RELACIONAL ........................................................................... 30
FIGURA 8: DIAGRAMA DE CLASSES ......................................................................... 31
FIGURA 9: DIAGRAMA DE CASO DE USO ................................................................ 32
FIGURA 10: DIAGRAMA DE ATIVIDADES ................................................................ 33
FIGURA 11: DIAGRAMA DE SEQUENCIA CENRIO 1 ........................................... 34
FIGURA 12: DIAGRAMA DE SEQUENCIA CENRIO 2 ........................................... 35
FIGURA 13: PROJETO CRIADO NO NETBEANS......................................................... 36
FIGURA 14: CONTROLADORES .................................................................................. 37
FIGURA 15: MODELOS .................................................................................................. 37
FIGURA 16: VISES ....................................................................................................... 38
FIGURA 17: TRECHO DE CDIGO DO CONTROLADOR PACIENTES .................. 39
FIGURA 18: TRECHO DE CDIGO DO MODEL PACIENTE .................................... 39
FIGURA 19: TRECHO DE CDIGO DA VIEW ADD PACIENTES ............................ 40
FIGURA 20: ACESSANDO O SISTEMA ....................................................................... 41
FIGURA 21: TELA INICIAL DO SISTEMA .................................................................. 41
FIGURA 22: TELA MANTER PACIENTES .................................................................. 42
FIGURA 23: MANTER CONSULTAS ............................................................................ 43
FIGURA 24: AGENDAR UMA CONSULTA ................................................................. 43
FIGURA 25: MANTER DIETAS ..................................................................................... 44
LISTA DE QUADROS
LISTA DE SIGLAS
CC
Cincia da Computao
CRN
MVC
Model-View-Controller
PHP
SUMRIO
1 INTRODUO ..................................................................................................................... 12
2 REVISO BIBLIOGRFICA .............................................................................................. 14
2.1 Sistemas de Informaes ................................................................................................ 14
2.2 Aplicaes Web .............................................................................................................. 16
2.3 Aplicaes Web para Nutricionistas ............................................................................... 18
2.4 Linguagem de Programao Web PHP ........................................................................... 19
2.5 Frameworks de desenvolvimento para a linguagem PHP .............................................. 21
2.5.1 Framework Zend ...................................................................................................... 21
2.5.2 Framework Yii ......................................................................................................... 22
2.5.3 Framework CakePHP ............................................................................................... 23
3 DESEVOLVIMENTO DO SISTEMA .................................................................................. 26
3.1 Levantamento de requisitos ............................................................................................ 27
3.2 Modelagem de Software e de Banco de Dados .............................................................. 30
3.2.1 Modelo Relacional ................................................................................................... 30
3.2.2 Diagrama de Classe .................................................................................................. 31
3.2.3 Diagrama de Caso de Uso ........................................................................................ 31
3.2.3 Diagrama de Atividades ........................................................................................... 32
3.2.3 Diagramas de Sequncia .......................................................................................... 33
3.3 Implementao do Sistema ............................................................................................. 35
3.3.1 Projeto do Sistema.................................................................................................... 36
3.3.2 MVC ......................................................................................................................... 36
3.3.3 Acessando o Sistema ................................................................................................ 40
3.3.4 Tela inicial do Sistema ............................................................................................. 41
3.3.5 Manter Pacientes ...................................................................................................... 41
3.3.6 Manter Consultas...................................................................................................... 42
3.3.7 Manter Histricos de Pacientes ................................................................................ 44
3.3.8 Manter Dietas ........................................................................................................... 44
3.4 Consideraes sobre o Framework Cake PHP. ............................................................. 45
4 CONSIDERAES FINAIS ................................................................................................ 46
4.1 Trabalhos Futuros ........................................................................................................... 47
5 REFERNCIAS .................................................................................................................... 48
6 APNDICE ........................................................................................................................... 50
Apndice A Roteiro da Entrevista ..................................................................................... 50
Apndice B Documento de Levantamento de Requisitos ................................................. 51
Apndice C Especificao de Casos de Uso ..................................................................... 53
7 ANEXOS ............................................................................................................................... 58
Anexo A Anlise de Documentos ..................................................................................... 58
1 INTRODUO
Com a crescente popularizao do acesso a Internet, surgem cada vez mais empresas
e profissionais interessados na utilizao de sistemas web. Este tipo de aplicao permite sua
utilizao em qualquer lugar com acesso a rede mundial de computadores, e em diversos
dispositivos. Um sistema de informao pode ser definido tecnicamente como um conjunto de
componentes inter-relacionados que coletam (ou recuperam), processam, armazenam e
distribuem informaes destinadas a apoiar a tomada de decises, a coordenao e o controle
de uma organizao. Alm de dar apoio tomada de decises, coordenao e ao controle,
esses sistemas tambm auxiliam os gerentes e trabalhadores a analisar problemas, visualizar
assuntos complexos e criar novos produtos (LAUDON, 2007).
Com a necessidade de um sistema personalizado para a nutricionista Sandra
Vendruscolo, surgiu a motivao para a elaborao deste trabalho, com intuito de solucionar o
problema desta profissional, e com o anseio de uma aplicao prtica dos conhecimentos
adquiridos em diversas disciplinas do curso de Cincia da Computao. Bem como, o uso do
framework de desenvolvimento CakePHP visando uma implementao padronizada.
A utilizao de sistemas gerencias, por profissionais da rea de nutrio, visa
melhorar o atendimento aos pacientes, com gerenciamento das informaes, objetivando
acompanhar a evoluo nutricional, de forma efetiva e gil.
O nutricionista um profissional de sade de nvel superior que atua em todas as
reas do conhecimento em que a alimentao seja fundamental para a promoo, manuteno
e recuperao da sade, sem perder de vista o prazer que uma refeio deve proporcionar,
adequando a alimentao conforme a particularidades do individuo.
Para a elaborao de sistemas web, necessrio a utilizao de uma linguagem de
programao web, neste trabalho foi utilizado o PHP. Segundo a pgina oficial da linguagem,
PHP (um acrnimo recursivo para PHP: Hypertext Preprocessor) uma linguagem de script
open source de uso geral, muito utilizada e especialmente guarnecida para o desenvolvimento
de aplicaes web embarcadas dentro do HTML.
Alm da linguagem, foi utilizado o framework de desenvolvimento CakePHP. Um
framework um conjunto de componentes que contem uma arquitetura e uma estrutura
interna bsica para o desenvolvimento de uma aplicao, funciona como uma aplicao
semipronta que deve ser estendida e personalizada para que um sistema desenvolvido
funcione corretamente (JOBSTRAIBIZER, 2009). Conforme o site oficial do framework,
CakePHP um framework de desenvolvimento rpido para PHP, livre e de Cdigo aberto,
12
13
2 REVISO BIBLIOGRFICA
16
17
Anamnese uma entrevista realizada pelo profissional de sade ao seu paciente, que tem a inteno de ser um ponto inicial no diagnstico.
18
19
array
um
grupo
de
elementos,
um
mapa
ordenado
que
relaciona valores para chaves, este tipo otimizado de vrias maneiras, podendo ser usado
como um array real, ou uma lista (vetor), hashtable (que uma implementao de mapa),
dicionrio, coleo, pilha, fila. E o tipo objetcs um grupo de dados e mtodos associados,
utilizado para criar objetos. Os tipos especiais, o resource, um recurso uma varivel
especial, que mantm uma referncia a um recurso externo, recursos so criados e usados por
funes especiais. E o null, o valor especial representa que a varivel no tem valor, null o
nico valor possvel do tipo null. No Quadro 1 Deitel (2008), explica cada tipo de dados para
a linguagem de programao PHP:
Tipo
Descrio
int, integer
String
bool, boolean
Verdadeiro ou falso.
Array
Grupo de elementos.
Object
20
Resource
Null
Nenhum valor.
A pgina oficial define o Yii como um framework de alta performance em PHP que
utiliza componentes para o desenvolvimento de grandes aplicaes web. Que permite mxima
reutilizao de cdigos na programao web e pode acelerar significativamente o processo de
desenvolvimento.
O Yii um framework de programao web genrico que pode ser usado para
desenvolver praticamente todos os tipos de aplicaes web. Por ser um framework leve
equipado com sofisticadas solues em caching, especialmente adequado para o
desenvolvimento de aplicaes com alto trfego de dados, tais como portais, fruns, sistemas
de gerenciamento de contedo, sistemas de e-Commerce.
Almeida (2013) explica que o nome Yii representa para os seus desenvolvedores a
capacidade de ser, fcil, eficiente e extensvel, baseado na arquitetura Model-ViewController (MVC), fornecendo a aplicao um local prprio para cada parte da arquitetura.
Reduzindo assim o tempo para escrever o cdigo, menos tempo para a aplicao chegar ao
mercado, at porque o prprio framework tambm muito rpido j que o seu desempenho
22
foi desde incio otimizado e testado pela equipe que desenvolveu o Yii. Transmite-nos ainda a
extensibilidade pois o Yii foi projetado para que cada parte do seu cdigo permita ser
extensvel e personalizvel a fim de atender a qualquer exigncia, possibilitando aos
desenvolvedores inclusive, transformar o seu cdigo estendido em ferramentas para que
outros desenvolvedores o possam usar nos seus prprios projetos.
(Models-Views-Controllers).
um
framework
de
desenvolvimento rpido para PHP, livre e de Cdigo aberto, com objetivo de permitir o
desenvolvimento de forma estruturada e rpida sem perder a flexibilidade. um framework
muito utilizado entre os desenvolvedores de sistemas da linguagem PHP. A Figura 4
apresenta o Logo do CakePHP.
Este framework possui diversos recursos, de acordo com sua pgina oficial:
Comunidade ativa e amigvel
Licena flexvel
Compatvel com o PHP 5.2.6 e superior
CRUD integrado para interao com o banco de dados
Scaffolding para criar prottipos
Gerao de cdigo
23
Arquitetura MVC
Requisies feitas com clareza, URLs e rotas customizveis
Validaes embutidas
Templates rpidos e flexveis (Sintaxe PHP, com helpers)
Helpers para AJAX, JavaScript, formulrios HTML e outros
Componentes de Email, Cookie, Segurana, Sesso, e Tratamento de
Requisies
Controle de Acessos flexvel
Limpeza dos dados
Sistema de Cache flexvel
Localizao
Funciona a partir de qualquer diretrio do website, com pouca ou nenhuma
configurao do Apache
24
Segundo Soares (2008), o CakePHP possui convenes que foram produzidas com a
experincia em desenvolvimento web e boas prticas, tais convenes tomam tempo no seu
aprendizado, mas este tempo compensado ao longo do processo de desenvolvimento do
sistema. Convenes no CakePHP dividem-se em: convenes nos controllers, convenes
de arquivos e nomes de classes, convenes de models e banco de dados, e convenes de
views.
Com os conceitos abordados at ento encerra-se a reviso bibliogrfica, no prximo
Captulo apresentado o desenvolvimento do sistema para elaborao deste trabalho.
25
3 DESEVOLVIMENTO DO SISTEMA
26
27
do cliente com o novo sistema. Nos Quadros 2 e 3 sero descritos os requisitos funcionais e
no funcionais respectivamente do sistema apresentado neste trabalho:
Requisitos Funcionais
Caso de Uso
CDU01
CDU02
CDU03
CDU04
CDU05
Requisitos No Funcionais
RNF01: O sistema dever ficar sempre disponvel para acesso
RNF02: O sistema deve suportar cadastrar diversos usurios
RNF03: Sistema deve ser multi-plataforma, podendo ser acessado atravs dos principais
sistemas operacionais e navegadores de Internet
RNF04: O sistema deve ser mais simples possvel para o uso
RNF05: O sistema deve ter uma interface leve e amigvel
RNF06: O sistema deve conter as janelas bem organizadas para agilizar o atendimento aos
pacientes
Quadro 3: Requisitos no funcionais
29
30
Nesta subseo apresentado o diagrama de classes (Figura 8), onde cada classe
descrita com seu nome, seguindo o padro do CakePHP, bem como, a identificao de todos
os seus atributos e a identificao genrica das operaes que ilustram o comportamento de
cada classe. O termo manter, refere-se s operaes bsicas de incluso, edio, excluso e
visualizao dos atributos de cada classe.
O diagrama de caso de uso foi elaborado com base nas necessidades elencadas pela
nutricionista Sandra Vendruscolo, com isto foram apresentadas as funcionalidades com suas
interdependncias, para ilustrar o funcionamento bsico do sistema.
32
33
34
MacOS X. Ao instalar o Xampp, foi utilizado o Apache verso 2.4.4 como servidor web, o
MySQL 5.5.32 como SGBD, alm do interpretador PHP verso 5.4.16. Nas subsees a
seguir sero apresentadas as funcionalidades implementadas neste sistema.
3.3.2 MVC
36
37
38
39
Na tela apresentada na Figura 20, o usurio deve informar seu nome de usurio e
senha para acessar o sistema. O acesso controlado, necessitando usurio previamente
cadastrado e a senha de usurio armazenada no banco de dados utilizando criptografia.
Nesta parte da aplicao utilizado o AuthComponent do CakePHP que serve para criar um
sistema de identificao, autenticao e autorizao de usurios.
40
42
43
Para gerenciar as dietas a nutricionista dever acessar o menu Dietas, onde sero
listadas as dietas com suas informaes. Essa funcionalidade possui aes de visualizao,
edio e excluso para cada dieta anteriormente cadastrada. Alm disto, tem as opes de
Listar Tipos de Dietas, Novo Tipo de Dieta e Nova Dieta. Para a insero de uma nova
dieta a profissional de nutrio dever selecionar o paciente e o tipo de dieta desejados,
preencher as informaes: desjejum, colao, almoo, lanche um, lanche dois, janta e ceia.
Aps dever acionar o boto Enviar para gravar as informaes no banco de dados. Na
Figura 25 apresentada a tela que possibilita o gerenciamento das dietas de pacientes.
45
4 CONSIDERAES FINAIS
46
47
5 REFERNCIAS
ALMEIDA, Daniel Antnio Magalhes. Marcaes Online para a Eurekit, 2013. (Artigo)
AVANUTRI. Avanutri, 2013. Disponvel em: < http://www.avanutri.com.br/>. Acesso em:
30 ago. 2013. (Material Internet)
BEZERRA, Eduardo. Princpios de anlise e projeto de sistemas com UML. 6 edio.
Elseiver. 2007. (Livro)
CYBIS, W. A./ BETIOL, A. H. e FAUST, R. Ergonomia e Usabilidade: Conhecimentos,
Mtodos e Aplicaes. 1 Edio. So Paulo: Novatec, 2007. (Livro)
DEITEL, Paul J./ Deitel, Harvey M. Ajax, Rich Internet Applications e desenvolvimento Web
para programadores. Pearson Prentice Hall, 2008. (Livro)
DIETPLAN. DietPlan, 2013. Disponvel em: < http://www.dietplan.com.br/site/>. Acesso
em: 30 ago. 2013. (Material Internet)
GONALVES, Rodrigo Franco/ GAVA, Vagner Luiz/ PESSA, Marcelo Schneck de Paula
e SPINOLA, Mauro de Mesquita. Uma proposta de processo de produo de aplicaes
Web, 2005. (Artigo)
GORDON, Steven R./ Gordon, Judith R. Sistema de informao: uma abordagem
gerencial. LTC, 2006. (Livro)
JOBSTRAIBIZER, Flvia. Guia Profissional PHP. Digerati Books, 2009. (Livro)
LAUDON, Kenneth C. e LAUDON Jane P. Sistemas de Informaes Gerenciais, Pearson
Prentice Hall, 2007. (Livro)
MAGALHES, Keli Dayana M./ GEDRES, Carlos Alberto P. Tpicos Emergentes do
Sistema de Informao Gerencial. 2008. (Artigo)
Manual
do
PHP.
Site
oficial
da
linguagem
PHP.
Disponvel
em:
PORTAL
OFICIAL
DO
FRAMAWORK
CAKEPHP,
2013.
Disponvel
em:
<
49
6 APNDICE
50
Objetivos
Fazer um controle dos servios realizados de uma maneira rpida e eficiente,
possibilitando um maior controle da agenda de consultas, com cadastro de pacientes contendo
informaes necessrias para supervisionar a evoluo nutricional, de forma satisfatria
agilizando o atendimento nas consultas.
Requisitos Funcionais
Cadastro de Pacientes
1. Nome
2. Data de nascimento
3. idade
4. Telefone
5. Endereo
6. E-mail
Cadastro de Consultas
1. Data
2. Hora
3. Tipo (consulta, retorno, acompanhamento, atendimento domiciliar)
Cadastro de Usurios do Sistema
Cadastro de Histricos de pacientes
1. Historia familiar
2. Internaes
3. Vcios
4. Intolerncias e alergias
5. Funcionamento intestinal
6. Ingesto hdrica
7. Frituras e gorduras
8. Medicamentos
9. Atividade fsica
10. Peso atual
11. Altura
12. Imc
13. Peso ideal
14. Vct
15. Estado nutricional
16. Recordatrio alimentar:
a. Dejejum
b. Colao
51
c. Almoo
d. Lanche1
e. Lanche2
f. Jantar
g. Ceia
Cadastro de Dietas
1. Tipo dieta (Diabtico, renal, outras)
2. Dejejum
3. Colao
4. Almoo
5. Lanche1
6. Lanche2
7. Jantar
8. Ceia
Requisitos no funcionais
Sistema deve ser multi-plataforma, podendo ser acessado atravs dos principais
sistemas operacionais e navegadores de Internet
O sistema deve conter as janelas bem organizadas para agilizar o atendimento aos
pacientes
Documentao necessria
52
Casos de Uso:
Ator:
Nutricionista
Pr-Condies:
Ps-Condies:
Fluxo Principal:
53
Casos de Uso:
Ator:
Nutricionista
Pr-Condies:
Ps-Condies:
Fluxo Principal:
54
Casos de Uso:
Ator:
Nutricionista
Pr-Condies:
Ps-Condies:
Fluxo Principal:
Casos de Uso:
Ator:
Nutricionista
Pr-Condies:
Ps-Condies:
Fluxo Principal:
56
57
7 ANEXOS
Anexo A Anlise de Documentos
58