SISTEMA WEB PARA PROFISSIONAL DA ÁREA DA NUTRIÇÃO UTILIZANDO O FRAMEWORK DE DESENVOLVIMENTO CAKEPHP

Embed Size (px)

DESCRIPTION

Este trabalho tem por objetivo desenvolver um sistema web para gestão de serviços na área de nutrição utilizando um framework de desenvolvimento web PHP. Inicialmente foram estudados frameworks de desenvolvimento para a linguagem de programação PHP. A escolha do tema foi baseada na necessidade de um sistema personalizado para a nutricionista Sandra Vendruscolo, aliando com o anseio de aplicação prática dos conhecimentos adquiridos em diversas disciplinas do curso de Ciência da Computação. Alem do uso do framework de desenvolvimento CakePHP visando uma implementação padronizada. Após foi necessário 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 nutrição é importante armazenar dados dos pacientes, visando um acompanhamento efetivo da evolução funcional do mesmo, facilitando a elaboração de um plano alimentar individualizado, objetivando a evolução nutricional do paciente. Com isto, foi possível implementar o sistema, codificando na linguagem de programação web PHP e utilizando o framework definido, para um desenvolvimento padronizado utilizando as vantagens dos conceitos previamente estudados. Após a conclusão deste trabalho, pretende-se disponibilizar a ferramenta web, desenvolvida com o framework CakePHP, baseando-se nos padrões do mesmo, para auxiliar a profissional da área de nutrição, na gestão das informações dos seus pacientes e atendimentos.

Citation preview

  • UNIVERSIDADE REGIONAL INTEGRADA DO ALTO URUGUAI E DAS MISSES

    CAMPUS SANTIAGO

    DEPARTAMENTO DE ENGENHARIAS E CINCIA DA COMPUTAO

    EDER FERNANDO BORBA

    SISTEMA WEB PARA PROFISSIONAL DA REA DA NUTRIO UTILIZANDO O

    FRAMEWORK DE DESENVOLVIMENTO CAKEPHP

    SANTIAGO

    2013

  • EDER FERNANDO BORBA

    SISTEMA WEB PARA PROFISSIONAL DA REA DA NUTRIO UTILIZANDO O

    FRAMEWORK DE DESENVOLVIMENTO CAKEPHP

    SANTIAGO

    2013

    Monografia apresentada como requisito para

    concluso do curso de Cincia da

    Computao pela Universidade Regional

    Integrada do Alto Uruguai e das Misses.

    Orientadora: Prof. Ma. Lucili Tolfo Beque

    Guerra

  • EDER FERNANDO BORBA

    SISTEMA WEB PARA PROFISSIONAL DA REA DA NUTRIO UTILIZANDO O

    FRAMEWORK DE DESENVOLVIMENTO CAKEPHP

    Monografia apresentada como requisito para

    concluso do curso de Cincia da Computao

    pela Universidade Regional Integrada do Alto

    Uruguai e das Misses Campus Santiago.

    Aprovado em ____ de Dezembro de 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.

  • No confunda derrotas com fracasso nem vitrias com

    sucesso. Na vida de um campeo sempre haver algumas

    derrotas, assim como na vida de um perdedor sempre

    haver vitrias. A diferena que, enquanto os

    campees crescem nas derrotas, os perdedores se

    acomodam nas vitrias.

    Roberto Shinyashiki

  • 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.

    Palavras-chaves: framework; CakePHP; nutrio.

  • 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 .

    Keywords: framework, CakePHP, nutrition

  • 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

    QUADRO 1: TIPOS DE DADOS DA LINGUAGEM PHP (DEITEL, 2008). ....................... 21

    QUADRO 2: REQUISITOS FUNCIONAIS ........................................................................... 29

    QUADRO 3: REQUISITOS NO FUNCIONAIS .................................................................. 29

  • LISTA DE SIGLAS

    CC Cincia da Computao

    CRN Conselho Regional de Nutrio

    MVC Model-View-Controller

    PHP Linguagem de Programao 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

  • 12

    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,

  • 13

    com objetivo de permitir o desenvolvimento de forma estruturada e rpida sem perder a

    flexibilidade. Desta forma foi possvel a elaborao do trabalho apresentado, bem como, a

    implementao de um sistema gerencial para um profissional da rea de nutrio, o que

    facilitara o seu trabalho.

    Este trabalho est organizado da seguinte maneira. O Captulo 2 apresenta a Reviso

    Bibliogrfica, a qual aborda conceitos sobre Sistemas de Informao, Aplicaes Web,

    Aplicaes Web para Nutricionistas, Linguagem de Programao Web PHP, Frameworks de

    desenvolvimento para PHP. O Captulo 3 apresenta o Desenvolvimento do Sistema.

    Inicialmente ser apresentado o Levantamento de Requisitos e a Modelagem do Software e do

    Banco de Dados. Na sequncia a implementao e as consideraes finais sobre o Framework

    CakePHP sero abordados. Por fim, no Captulo 4 as Consideraes Finais so descritas.

  • 14

    2 REVISO BIBLIOGRFICA

    Neste Captulo apresentado a reviso bibliogrfica, com os temas abordados e

    estudados para a elaborao do presente trabalho. A Seo 2.1 abordada o tema Sistema de

    Informaes. Na Seo 2.2 apresentado o conceito de Aplicaes Web. Posteriormente na

    Seo 2.3 encontra-se o tema Aplicaes Web para Nutricionistas, expondo conceitos de

    nutrio, abordando o trabalho dos profissionais desta rea, e algumas alternativas existentes

    em sistemas web para esse fim. Aps, na Seo 2.4 abordada a linguagem de programao

    web PHP, a qual utilizada no desenvolvimento deste trabalho. A Seo 2.5 conceitua o que

    um Framework e apresenta alguns exemplos para a linguagem PHP, incluindo o framework

    utilizado, o CakePHP.

    2.1 Sistemas de Informaes

    Para definir sistema de informao, necessrio o entendimento do que sistema.

    Sistema pode ser definido simplesmente como um grupo de elementos inter-relacionados ou

    em interao que formam um todo unificado (OBRIEN, 2010).

    OBrien (2010) cita que um sistema possui trs componentes ou funes bsicas de

    interao:

    Entrada: envolve a capitao e reunio de elementos que

    ingressam no sistema para serem processados.

    Processamento: envolve processos de transformao que

    convertem insumo (entrada) em produto.

    Sada: envolve a transferncia de elementos produzidos por um

    processo de transformao at seu destino final.

    Para compreender sistemas de informaes necessrio analisar diversos conceitos,

    entre eles, de dados e de informaes. Dados so fatos, valores, observaes e medidas que

    no esto contextualizadas ou organizadas. Informaes so dados processados, dados que

    foram organizados e interpretados e possivelmente formatados, filtrados, analisados e

    resumidos (Gordon, 2006).

    Para Gordon (2006) a tecnologia da informao permitiu que pessoas, grupos e

    organizaes fizessem a gesto de suas informaes de forma eficaz e eficientemente. Em

  • 15

    relao s informaes disponveis na Internet e nas redes internas das empresas, as

    tecnologias da informao facilitam a comunicao entre as pessoas, bem como dentro das

    organizaes. Considerando a habilidade de uma empresa para rastrear milhares de produtos

    em seus depsitos, e as vendas destes produtos, em centenas de pontos de vendas pode-se

    perceber que avanos significativos na rea da tecnologia da informao, tornaram possvel

    obter, gerir e usar quantidades enormes de informao a um custo relativamente baixo.

    Um sistema de informao combina tecnologia da informao com dados e

    procedimentos. O conceito bsico de sistema de informaes estabelece que todo sistema

    um conjunto de elementos interdependentes em interao, visando atingir um objetivo

    comum. Teoricamente, h dois tipos de sistemas: aberto e fechado. O sistema aberto aquele

    que sofre e influncia o meio; o sistema fechado no sofre influncia do meio e nem o altera

    com suas aes internas (ROSINI, 2008).

    Segundo Laudon (2007), 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. Alem disso, esses sistemas tambm auxiliam

    os gerentes e colaboradores a analisar problemas, visualizar assuntos complexos e criar novos

    produtos.

    Para OBrien (2010) sistema de informao um conjunto organizado de pessoas,

    hardware, software, redes de comunicaes e recursos de dados que coleta, transforma e

    dissemina informaes em uma organizao.

    Os sistemas de informao manipulam informaes sobre pessoas, locais e itens

    significativos para a organizao ou para o ambiente que a cerca. No caso, a informao quer

    dizer dados apresentados em uma forma significativa e til para os seres humanos. Dados, ao

    contrario, so sequencia de fatos brutos que representam eventos que ocorrem nas

    organizaes ou no ambiente fsico, antes de terem sido organizados e arranjados de uma

    forma que as pessoas possam entende-los e us-los (LAUDON, 2007).

    No entanto, todo sistema pode ser decomposto em partes menores denominadas

    subsistemas. Os subsistemas so conjuntos de elementos interdependentes que interagem para

    atingir um objetivo comum, que ajudar o sistema a atingir o seu objetivo maior. Todo

    sistema apresenta as entradas de dados (input), processamento e sada das informaes

    (output) e feedback (ROSINI, 2008).

    Rosini (2008) divide os sistemas de informao em quatro tipos: Sistemas de

    Informaes Transacionais (Operacionais) (SIT), Sistemas de Informaes Especialistas,

  • 16

    Sistemas de Automao (SE,AS), Sistemas de Informaes Gerenciais (SIG), Sistemas de

    Apoio Deciso (SAD).

    O campo dos Sistemas de Informaes Gerenciais (SIG) tenta proporcionar aquela

    capacitao mais ampla em sistemas de informao. Os SIG trabalham com as questes tanto

    comportamentais quanto tcnicas que cercam o desenvolvimento, uso e impacto dos sistemas

    de informao usados por administradores e funcionrios em uma empresa (LAUDON, 2007).

    O Sistema de Informao Gerencial d suporte s funes de planejamento, controle

    e organizao de uma empresa, fornecendo informaes seguras e em tempo hbil para

    tomada de deciso. O Sistema de Informao Gerencial representado pelo conjunto de

    subsistemas, visualizados de forma integrada e capaz de gerar informaes necessrias ao

    processo decisrio (MAGALHES, 2008).

    Segundo Magalhes (2008) a utilizao de Sistemas de Informaes Gerenciais,

    oferece benefcios, sob determinadas condies: reduo dos custos das operaes, melhoria

    no acesso s informaes, proporcionando relatrios mais precisos e rpidos, com menor

    esforo, como consequncia uma melhoria na produtividade.

    No nvel mais bsico, os requisitos de informao de um novo sistema identificam

    quem precisa de qual informao, quando, onde e como. A analise de requisitos define

    cuidadosamente os objetivos do sistema modificado ou do novo sistema, e desenvolve uma

    descrio detalhada das funes que o novo sistema deve desempenhar. Um sistema

    elaborado a partir de um conjunto de requisito errado/incompleto, ou ter de ser descartado,

    por causa de seu fraco desempenho, ou precisar sofrer grandes modificaes.

    Laudon (2007) alerta que quando grandes quantidades de dados so armazenados sob

    formato eletrnico, ficam vulnerveis a muito mais tipos de ameaas do que quando esto em

    formato manual. Sistemas de informao em diferentes localidades podem ser interconectados

    por meio de redes de telecomunicao. Logo, o potencial para acesso no autorizado, uso

    indevido ou fraude no fica limitado a um nico lugar, mas pode ocorrer em qualquer ponto

    de acesso rede.

    Aps a conceituao de Sistema de Informao, seguindo o proposto neste trabalho,

    sero apresentados conceitos relevantes sobre Aplicaes Web, com intuito de abordar suas

    definies e aplicaes.

    2.2 Aplicaes Web

  • 17

    A rpida propagao da Internet e o surgimento de diversas novas tecnologias esto

    produzindo um significante crescimento da demanda de aplicaes web, com exigncia de

    condies de usabilidade, confiana, interoperabilidade e segurana.

    Cada vez mais se desenvolvem programas suportados na filosofia e nas tecnologias

    da World Wide Web, uma rede de servios de ampla cobertura e fcil extenso, que baseada

    em novas linguagens (de anotao de texto e de programao) e em novos protocolos (de

    comunicao e interao). No contexto da Internet a interatividade com o utilizador

    realizada por navegadores que permitem ler e navegar livremente entre as pginas distribudas

    por essa rede. Aplicao Web todo o conjunto de programas que implementa um qualquer

    sistema de informao segundo o paradigma Cliente/Servidor suportado pelo protocolo de

    comunicao HTTP e cuja camada interativa est escrita em HTML de modo a que a interface

    com o utilizador seja assegurada pelos navegadores (Oliveira, 2013).

    Segundo Gonalves (2005) aplicaes web so produtos de software ou sistemas de

    informtica que utilizam uma arquitetura distribuda, pelo menos parcialmente sob protocolo

    http, acessvel atravs de um navegador (browser).

    Winckler (2003) define uma aplicao web como uma aplicao de software que

    utiliza a Web como ambiente de execuo, envolvendo sites Web ou sistemas Web. As

    aplicaes Web podem ser convenientemente descritas como hbridas entre aplicaes

    hipermdia e sistemas de informao. Como uma aplicao hipermdia, uma aplicao Web

    acessada de forma exploratria, no linear, e, portanto as suas formas de apresentao e

    navegao so de grande importncia. Como um sistema de informao, a estrutura, o

    tamanho e a dinamicidade dos seus dados exigem solues metodolgicas, como modelos

    conceituais, mtodos de mapeamento entre estruturas, abstraes, alm de solues

    tecnolgicas consolidadas e eficazes, como SGBDs e arquiteturas cliente-servidor. Segundo

    Winckler (2003) essas tecnologias auxiliam a gerenciar esta complexidade e que permitem

    fcil interoperabilidade, evoluo e manuteno. Devido a sua natureza hbrida, h fatores

    complicadores como a necessidade de manipular tanto dados estruturados, quanto dados no-

    estruturados e de compatibilizar esta variedade de informaes a diferentes estilos de

    apresentao e navegao para usurios com diferentes nveis de competncia.

    Na prxima Seo sero apresentadas algumas aplicaes web para a rea

    nutricional, alm de alguns conceitos importantes.

  • 18

    2.3 Aplicaes Web para Nutricionistas

    Segundo o Conselho Regional de Nutrio da 2 regio, o nutricionista um

    profissional com formao generalista, humanista e crtica, capacitado a atuar visando

    segurana alimentar e ateno diettica, em todas as reas do conhecimento em que a

    alimentao e nutrio se apresentem fundamentais para a promoo, manuteno e

    recuperao da sade e preveno de doenas de indivduos ou grupos populacionais,

    contribuindo para a melhoria da qualidade de vida, pautado em princpios ticos, com

    reflexes sobre a realidade econmica, poltica, social e cultural (CRN2, 2013).

    Os sistemas de informao brasileiros em sade tiveram um crescimento acelerado

    nos ltimos anos, mas ainda existe uma grande necessidade de avanar, tanto no caminho da

    integrao entre os sistemas de informao, quanto no uso da informtica para melhoria da

    produtividade e qualidade dos processos de trabalho em sade (TOLENTINO, 2005). 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. Uma aplicao web personalizada por um

    profissional da rea de nutrio busca atender as necessidades especificas dos usurios do

    sistema.

    Avanutri on-line (2013) foi desenvolvido por uma equipe especializada em nutrio e

    tecnologia, o sistema online veio para facilitar e agilizar ainda mais a vida dos nutricionistas.

    E atravs de qualquer computador ou tablet possvel acessar os seus pacientes, basta estar

    conectado Internet.

    Dietplan (2013) um programa gratuito voltado para nutricionistas e profissionais

    habilitados a prescrever dietas. Atravs dele possvel gerenciar pacientes, anamneses1, as

    consultas e seus retornos. acessvel via Internet, sem necessidade de instalao pois

    funciona diretamente a partir de um navegador.

    Um desafio para os profissionais da rea de tecnologia na rea de sade

    desenvolver sistemas que possam ser ajustados rapidamente s mudanas dos procedimentos

    teraputicos, ajudando assim na formulao de diagnsticos. Para isto, neste trabalho

    utilizada a linguagem de programao PHP, descrita a seguir.

    1 Anamnese uma entrevista realizada pelo profissional de sade ao seu paciente, que tem a inteno de ser um ponto inicial no diagnstico.

  • 19

    2.4 Linguagem de Programao Web PHP

    A linguagem de programao PHP bem difundida entre os desenvolvedores de

    sistemas web. Segundo Sebesta (2010), PHP foi desenvolvido por Rasmus Lerdorf, em 1994,

    sua motivao inicial era fornecer uma ferramenta para ajudar a rastrear os visitantes em seu

    site pessoal. Em 1995, ele desenvolveu um pacote chamado Personal Home Page Tools

    (Ferramentas para pginas pessoais), que foi a primeira verso distribuda publicamente de

    PHP. Mais tarde, sua comunidade de usurios comeou a usar o nome recursivo: PHP:

    Hypertext Preprocessor (PHP: Processador de Hipertexto). PHP agora desenvolvido,

    distribudo e suportado como um produto de cdigo aberto (SEBESTA, 2010).

    O PHP uma tecnologia de cdigo aberto que conta com o apoio de uma grande

    comunidade de usurios e desenvolvedores. independente de plataforma, havendo

    implementaes para todos os principais sistemas operacionais, como UNIX, Linux, Mac e

    Windows, e tambm aceita muitos bancos de dados (DEITEL, 2008).

    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 embarcada dentro do

    HTML. Uma das vantagens do uso do PHP est no fato de ele ser extremamente simples para

    um iniciante, porm apesar de ser simples, ele oferece muitos recursos para o programador

    experiente. O PHP focado para ser uma linguagem de script do lado do servidor, portanto,

    pode coletar dados de formulrios, gerar pginas com contedo dinmico ou enviar e receber

    cookies. A Figura 1 apresenta o Logo da Linguagem de programao PHP.

    Figura 1: Logo da Linguagem de programao PHP (Pgina oficial do PHP, 2013)

    Para utilizar a linguagem PHP so necessrios: o interpretador do PHP, um servidor

    web instalado e um navegador de Internet. Basta rodar o servidor web conectado ao PHP

    instalado, deste modo, ser possvel acessar os resultados de um programa PHP com um

    navegador, visualizando a pgina PHP atravs do servidor web.

  • 20

    PHP permite um acesso simples aos dados de formulrios HTML, logo o

    processamento de formulrios fcil com PHP. PHP fornece suporte para muitos sistemas de

    gerenciamento de bancos de dados. Isso o torna uma excelente linguagem para construir

    programas que precisam de acesso web a base de dados (SEBESTA, 2010).

    A linguagem suporta oito tipos de dados primitivos, a pgina oficial divide em tipos

    de dados primitivos, compostos e especiais. Os quatro tipos bsicos so: boolean, integer,

    float e string, os tipos compostos dividem-se em: array e object. E finalmente os dois tipos de

    dados especiais: resource e null. Boolean o tipo mais simples, um booleano expressa um

    valor verdade, ele pode ser verdadeiro (true) ou falso (false). Inteiros (integer, int), podem ser

    especificados em notao decimal (base 10), hexadecimal (base 16) ou octal (base 8),

    opcionalmente precedido de sinal (- ou +). Nmeros de ponto flutuante (tambm conhecidos

    como "floats", "doubles" ou "nmeros reais"). E string que uma srie de caracteres, que so

    textos que devero ser delimitados com aspas simples () ou aspas duplas (). Dos tipos

    compostos, o 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 Nmeros inteiros, ou seja, nmeros sem um ponto decimal.

    float, Double, real Nmeros reais, ou seja, nmeros contendo um ponto decimal.

    String Texto delimitado com aspas simples () ou aspas duplas ().

    bool, boolean Verdadeiro ou falso.

    Array Grupo de elementos.

    Object Grupo de dados e mtodos associados.

  • 21

    Resource Uma fonte externa, em geral, informaes de um banco de dados.

    Null Nenhum valor.

    Quadro 1: Tipos de dados da linguagem PHP (Deitel, 2008).

    As variveis no PHP so representadas por um cifro ($) seguido pelo nome da

    varivel. Os nomes de varivel no PHP fazem distino entre maisculas e minsculas, e na

    preciso ser definidas antecipadamente, ou seja, so definidas somente no momento do

    primeiro uso das mesmas. J uma constante um identificador para um nico valor, como o

    nome sugere, esse valor no pode mudar durante a execuo do script.

    A utilizao de frameworks de desenvolvimento visa a agilidade e a padronizao da

    forma de programao, tornando mais simples a manuteno de sistemas. A prxima Seo

    apresenta alguns frameworks de desenvolvimento para a linguagem de programao PHP.

    2.5 Frameworks de desenvolvimento para a linguagem PHP

    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). A seguir sero apresentados

    alguns desses frameworks.

    2.5.1 Framework Zend

    Segundo a pgina oficial Zend Framework um framework de cdigo aberto para o

    desenvolvimento de aplicaes web. Implementado usando cdigo orientado a objeto, com

    estrutura de componentes em que cada componente projetado com poucas dependncias em

    outros componentes, com arquitetura flexvel permite que os desenvolvedores utilizem os

    componentes individualmente.

    Zend Framework oferece uma implementao MVC (Model-View-Controller)

    robusta e de alto desempenho, uma abstrao de banco de dados que simples de usar, e um

    componente para formulrios que implementa a renderizao, validao e filtragem de

  • 22

    formulrios em HTML de modo que os desenvolvedores possam combinar todas estas

    operaes utilizando uma interface orientada a objetos fcil de usar. Os componentes do Zend

    Framework mais comumente usados, so: Zend_Controller, Zend_Layout, Zend_Config,

    Zend_Db, Zend_Db_Table, Zend_Registry.

    Figura 2: Logo framework Zend (Zend Framework, 2013)

    2.5.2 Framework Yii

    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.

    Figura 3: Logo framework Yii(Yii Framework, 2013)

    Almeida (2013) explica que o nome Yii representa para os seus desenvolvedores a

    capacidade de ser, fcil, eficiente e extensvel, baseado na arquitetura Model-View-

    Controller (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

  • 23

    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.

    2.5.3 Framework CakePHP

    O CakePHP um Framework para desenvolvimento de aplicaes web no padro

    Modelos-Vises-Controladores (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.

    Figura 4: Logo CakePHP (Pgina oficial do CakePHP, 2013)

    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

  • 24

    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

    Como citado nos recursos anteriormente, o CakePHP utiliza a arquitetura MVC

    (Model, View, Controller). Segundo Jobstraibizer (2009), o conceito de MVC, que traduzido

    significa modelo, viso e controle. Na camada Model so definidas as propriedades e atributos

    do sistema, e caso exista onde dever ser includa a camada de persistncia. Na camada

    View fica a interface propriamente dita, pois ela responsvel pela renderizao do Model,

    geralmente no deve existir nenhuma lgica de cdigo, o que separaria a programao do

    layout de interface do usurio, facilitando a manuteno, uma vez que a interface poder ser

    alterada sem influenciar no restante do sistema. J a camada Controller processa e responde a

    eventos, que podem ser aes do usurio ou do sistema, alm de poder invocar alteraes no

    Model, toda a lgica do sistema feita nesta camada, validaes e atribuies, por exemplo. O

    funcionamento do MVC exemplificado na Figura 5:

    Figura 5: MVC (JOBSTRAIBIZER, 2009)

  • 25

    O CakePHP permite a definio de uma combinao de controllers, models, e views,

    e utilizao como um pacote de aplicao para utilizar em outras aplicaes CakePHP. Estes

    pacotes de aplicaes so chamados plugins, a principal diferena entre um plugin e a

    aplicao em que ele instalado, a configurao da aplicao (base de dados, conexo, etc.),

    caso contrrio, ele opera em seu prprio espao, comportando-se como se fosse uma aplicao

    por conta prpria.

    Este framework possui uma estrutura de diretrios bem definida: app, lib, vendors e

    plugins. A estrutura do CakePHP possui as classes essenciais Controller, Model e View, mas

    tambm apresenta algumas outras classes e objetos adicionais que fazem o desenvolvimento

    com o MVC um pouco mais rpido. Componentes, Behaviors e Helpers so classes que

    fornecem extensibilidade e reusabilidade para adicionar funcionalidades base das classes do

    MVC em sua aplicao. A Figura 6 apresenta o Diagrama de fluxo requisio (CakePHP).

    Figura 6: Diagrama de fluxo requisio CakePHP (CakePHP.org, 2013)

    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.

  • 26

    3 DESEVOLVIMENTO DO SISTEMA

    Com o objetivo de desenvolver um sistema web para gesto de servios para

    profissional da rea de nutrio utilizando o framework de desenvolvimento web CakePHP,

    foram organizados os mtodos de pesquisa e elaborao deste trabalho. Inicialmente foi

    realizada uma pesquisa bibliogrfica sobre o tema proposto, com estudo sobre o framework

    de desenvolvimento CakePHP e da linguagem de programao PHP, e posteriormente o

    desenvolvimento propriamente dito.

    Como citado na Seo 2.3, existem alguns sistemas web para nutricionistas

    disponveis no mercado, porm no se enquadram com as necessidades apontadas pela

    nutricionista Sandra Vendruscolo (CRN2 10555D). Todas as aplicaes pesquisadas oferecem

    um amplo controle de pacientes e elaborao de cardpios nutricionais, com vrios recursos,

    os quais no sero utilizados pela nutricionista. Devido a isso, surgiu a motivao para a

    Implementao de um Sistema Nutricional focado totalmente nos requisitos exigidos pela

    Nutricionista Sandra Vendruscolo.

    Neste Captulo esto descritos todos os componentes do sistema, iniciando pelo

    levantamento de requisitos na Seo 3.1, onde so apresentadas as necessidades da

    nutricionista Sandra Vendruscolo, referente s informaes que ela necessita armazenar de

    seus pacientes, visando agilizar e qualificar o seu atendimento.

    A Seo 3.2 apresenta a modelagem de banco de dados e de software que servem

    como base para o desenvolvimento do sistema, onde encontram-se os diagramas de classe, de

    atividades, de sequencia, casos de uso, alm do modelo relacional que ilustra o banco de

    dados do sistema.

    Na Seo 3.3 contm a ferramenta de trabalho, alguns trechos relevantes do cdigo

    escrito, bem como, as funcionalidades implementadas no sistema. Estas foram desenvolvidas

    com a linguagem de programao PHP, descrita na Seo 2.4, e utilizando o framework de

    desenvolvimento CakePHP que foi apresentado na Seo 2.5.3. Para ilustrar so apresentadas

    as telas com as funcionalidades, com intuito de facilitar a compreenso do sistema

    apresentado neste trabalho.

  • 27

    3.1 Levantamento de requisitos

    Conforme Bezerra (2007) a atividade de levantamento de requisitos, tambm

    conhecida como elicitao de requisitos, corresponde a etapa de compreenso do problema

    aplicada ao desenvolvimento do software. O principal objetivo do levantamento de requisitos

    que usurios e desenvolvedores tenham a mesma viso do problema a ser resolvido. Nessa

    etapa, os desenvolvedores, juntamente com os clientes, tentam levantar e definir as

    necessidades dos futuros usurios do sistema a ser desenvolvido. Essas necessidades so

    denominadas requisitos.

    Um requisito uma condio ou capacidade que deve ser alcanada ou possuda por

    um sistema ou componente deste para satisfazer um contrato padro, especificao ou outros

    documentos formais (BEZERRA, 2007).

    Os requisitos de informao de um novo sistema identificam quem precisa de qual

    informao, quando, onde, como. A anlise de requisitos define cuidadosamente os objetivos

    do sistema modificado ou do novo sistema e desenvolve uma descrio detalhada da funes

    que o novo sistema deve desempenhar. Um sistema elaborado em torno do conjunto de

    requisitos errado ou ter de ser descartado, por causa de seu fraco desempenho, ou precisar

    sofrer grandes modificaes (LAUDON, 2007).

    A engenharia de requisitos, precisa ser adaptada s necessidades do processo, do

    projeto, do produto e do pessoal que est fazendo o trabalho. Na perspectiva do processo de

    software, a engenharia de requisitos uma ao de engenharia de software que comea

    durante a atividade de comunicao e continua durante a atividade de modelagem

    (PRESSMAN, 2007).

    Sommerville (2003) comenta que existem muitos processos de software diferentes,

    mas possuem atividades fundamentais comuns a todos eles, como: especificao de software,

    projeto e implementao de software, validao de software e evoluo de software.

    Os requisitos de sistema de software so classificados por Sommerville (2003) como

    funcionais ou no funcionais ou como requisitos de domnio:

    Requisitos funcionais so declaraes de funes que o sistema deve fornecer,

    como o sistema deve reagir as entradas especificas e como se comportar em

    determinadas situaes. Em alguns casos, os requisitos funcionais podem

    tambm explicitamente declara o que o sistema no deve fazer.

  • 28

    Requisitos no funcionais so restries sobre os servios ou as funes

    oferecidos pelo sistema. Entre eles destacam-se restries de tempo,

    restries sobre o processo de desenvolvimento, padres, entre outros.

    As tcnicas de levantamento de requisitos so importantes na especificao de

    requisitos do sistema, para este trabalho foram utilizadas as seguintes tcnicas:

    Observao: a tcnica utilizada para observar o cotidiano de trabalho dos usurios

    e registrar anotaes sobre como so realizadas suas tarefas, com o intuito de melhorar o

    entendimento dos requisitos organizacionais e sociais. A vantagem da observao pessoal

    que observar o trabalho real oferece percepes que outras tcnicas no podem oferecer,

    porm o mtodo tem como desvantagens: a quantidade de tempo requerida e a anlise de

    grandes quantidades de dados (MENDES, 2009). A tcnica de observao foi realizada com a

    nutricionista Sandra Vendruscolo, em seu consultrio, possibilitando a compreenso da forma

    de trabalho e auxiliando no entendimento das suas necessidades.

    Entrevista: a entrevista implica em fazer vrias perguntas aos usurios referente as

    necessidades do sistema, com intuito de aproximar o produto de todas as necessidades

    relacionadas. Cybis (2007) cita dois tipos de entrevistas como tcnica de anlise: entrevistas

    tradicionais e entrevistas contextuais. As entrevistas tradicionais consistem em obter

    informaes e opinies dos usurios com perguntas, enquanto as entrevistas contextuais so

    executadas enquanto o usurio realiza suas tarefas diretamente sobre o terreno, combinando a

    tcnica da entrevista e a tcnica de observao. No Apndice A, encontra-se o roteiro

    elaborado para a conduo da Entrevista.

    Anlise de Documentos: com a anlise de documentos pode-se obter mais

    facilmente informaes, tais como tipos de documentos, problemas associados, mtodos de

    trabalho, e contextos de informaes utilizadas. Tais informaes so difceis de serem

    obtidas atravs de outras tcnicas de levantamento de requisitos, tais como entrevistas ou

    observao. Devem ser inspecionados tanto formulrios oficiais quanto no oficiais em uso,

    exemplares de formulrios em branco devem ser coletados, procurando-se observar o tipo,

    propsito e o pblico alvo. O Anexo A, apresenta a documentao utilizada anterior ao

    Sistema.

    Os requisitos so as funcionalidades e restries do sistema. A Engenharia de

    Requisitos de extrema importncia no processo de software, pois, se os requisitos no forem

    bem definidos produzem problemas posteriores em todo o projeto. A correta utilizao das

    tcnicas de levantamento de requisitos de sistema visa minimizar falhas e descontentamento

  • 29

    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

    RF01: O sistema dever permitir ao usurio efetuar o login. CDU01

    RF02: Cadastro de pacientes CDU02

    RF03: Cadastro de consultas CDU03

    RF04: Cadastro de histricos de pacientes CDU04

    RF05: Cadastro de dietas CDU05

    Quadro 2: Requisitos funcionais

    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

    Alm dos quadros de requisitos, foi criado o documento de Levantamento de

    Requisitos, o qual apresentado no Apndice B, com o detalhamento das necessidades da

    nutricionista. Com os requisitos do sistema definidos, iniciou-se mais uma fase deste trabalho,

    na Seo a seguir ser apresentada a Modelagem de Software e de Banco de Dados.

  • 30

    3.2 Modelagem de Software e de Banco de Dados

    Nesta Seo so apresentados os principais digramas de engenharia de software e de

    modelagem de banco de dados. Para elaborao do modelo relacional e implementao do

    Banco de Dados foi utilizado o software Mysql Workbench Community verso 6.0.7. Na fase

    de modelagem de software foi usado o Astah Community verso 6.7.0, onde foram elaborados

    o diagrama de classe, de casos de uso, de sequencia e de atividades.

    3.2.1 Modelo Relacional

    Na Figura 7 apresentado o Modelo Relacional com as entidades do sistema

    desenvolvido, seus relacionamentos e atributos. Representando os dados do Banco de Dados

    do sistema, seguindo as convenes do framework CakePHP. Este banco de dados

    implementado com o SGBD (Sistema Gerenciado de Banco de Dados) MySQL verso 5.5.32,

    o sistema possui as seguintes tabelas: pacientes, que est relacionada com as tabelas

    histricos, dietas e consultas, tipodietas relacionada com dietas, tipoconsultas relacionada com

    consultas, alm da tabela usurios que utilizada para acesso ao sistema.

    Figura 7: Modelo Relacional

  • 31

    3.2.2 Diagrama de Classe

    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.

    Figura 8: Diagrama de Classes

    3.2.3 Diagrama de Caso de Uso

    Nesta subseo apresentado o diagrama de caso de uso do sistema sendo que, a

    descrio dos principais casos de uso encontra-se no Apndice C. A Figura 9 apresenta os

    casos de uso que se referem ao controle de acesso e aos cadastros de informaes no sistema.

  • 32

    Figura 9: Diagrama de Caso de Uso

    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.

    3.2.3 Diagrama de Atividades

    A Figura 10 apresenta o diagrama de atividades, com objetivo de mostrar o fluxo das

    atividades que sero realizadas no sistema, demonstrando uma relao de interdependncia

    entre as atividades.

  • 33

    Figura 10: Diagrama de Atividades

    3.2.3 Diagramas de Sequncia

    Nesta subseo so apresentados dois cenrios de diagramas de sequencia, o

    primeiro aborda a sequencia de fluxo com o paciente j cadastrado, ilustrando a sequencia de

    passos que a nutricionista realizar, enfatizando uma perspectiva temporal das tarefas a serem

    realizadas. O primeiro cenrio apresentado na Figura 11.

  • 34

    Figura 11: Diagrama de sequencia cenrio 1

    A Figura 12 ilustra o segundo cenrio dos diagramas de sequencia, onde abordada a

    sequencia de tarefas da nutricionista onde a consulta ser com um paciente novo, que ainda

    no est inserido no sistema.

  • 35

    Figura 12: Diagrama de sequencia cenrio 2

    A modelagem de software serve como base para o desenvolvimento de um sistema,

    aps esta etapa do trabalho, iniciou-se a fase de desenvolvimento que ser apresentada na

    prxima Seo, a qual aborda os aspectos mais relevantes das funcionalidades elaboradas e

    implementadas.

    3.3 Implementao do Sistema

    Aps a modelagem do software e do banco de dados, iniciou-se a fase de

    implementao do sistema. Para a codificao foi utilizada a ferramenta NetBeans verso

    7.3.1, onde foi criado um projeto com os cdigos do framework CakePHP verso 2.3.6.

    Como aplicativo com servidor web foi utilizado o Xampp verso 1.8.2, que funciona nas

    plataformas mais utilizadas como sistema operacional: Windows, GNU/Linux, Solaris e

  • 36

    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.1 Projeto do Sistema

    Para iniciar a implementao do sistema foi criado um projeto na ferramenta

    NetBeans, o que proporcionou o inicio da codificao. Na Figura 13 apresentado este

    projeto com os diretrios do framework CakePHP, dentro da pasta app nos seus

    subdiretrios que foram criados, configurados e modificados todos os arquivos do sistema.

    Figura 13: Projeto criado no NetBeans

    3.3.2 MVC

    Como citado na reviso bibliogrfica o CakePHP utiliza a arquitetura MVC para o

    desenvolvimento de aplicaes, a Figura 14 mostra os controladores o C, criados na

    codificao deste sistema. Na Figura 15 so apresentados os modelos o M e a Figura 16

    ilustra as vises da aplicao, nestes diretrios ficam as funcionalidades do sistema web,

    conforme as necessidades elencadas pela profissional da rea da nutrio.

  • 37

    Figura 14: Controladores

    Figura 15: Modelos

  • 38

    Figura 16: Vises

    No diretrio View, esto todas as vises do sistema, que so divididas em

    subdiretrios com os mesmos nomes das tabelas do banco de dados, seguindo as convenes

    do framework.

    Para exemplificar e apresentar o cdigo fonte, na Figura 17, encontram-se as funes

    do arquivo PacientesController.php, do qual foi retirado os trechos internos das funes

    para simplificar a figura, e com intuito de esclarecer o funcionamento dos controladores do

    sistema, bem como, mostrar como o CakePHP utiliza o C do MVC, controlando a navegao

    do usurio conforme a funcionalidade acessada. Todos os controladores apresentados na

    Figura 14, seguem este mesmo padro herdando os parmetros dos arquivos AppController

    e Controller, dependendo da funo implementada e com as funes necessrias para

    atender os requisitos elencados na Seo 3.1.

  • 39

    Figura 17: Trecho de cdigo do Controlador Pacientes

    Todos os modelos criados na implementao deste sistema, seguem o mesmo padro

    do Model Paciente, que apresentado na Figura 18. Basicamente nesta aplicao, seguindo

    as definies do framework, nos modelos so utilizadas algumas validaes, para garantir que

    o usurio informe e de forma correta algumas informaes. Alm de herdar as funes dos

    arquivos AppModel.php e Model.php respectivamente, os modelos gerenciam os

    relacionamentos na aplicao, entre as tabelas relacionadas anteriormente no Banco de Dados,

    conforme apresentado no Modelo Relacional (Figura 7).

    Figura 18: Trecho de cdigo do Model Paciente

  • 40

    Na Figura 19 apresentado o cdigo fonte da view Pacientes/add.ctp, que ser

    responsvel por apresentar as informaes em uma interface para o usurio, as vises

    assemelham-se conforme a funcionalidade associada a mesma, todas as add possuem

    cdigos semelhantes, mudando somente as informaes apresentadas e/ou requeridas. Todas

    as funcionalidades do sistema possuem as suas respectivas vises para as suas funes (add,

    ndex, edit e view), conforme ilustrado nas Figuras 16 e 17 anteriormente.

    Figura 19: Trecho de cdigo da View Add Pacientes

    3.3.3 Acessando o Sistema

    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.

  • 41

    Figura 20: Acessando o Sistema

    3.3.4 Tela inicial do Sistema

    Aps realizar o login a nutricionista ser redirecionada para a pgina inicial

    intitulada Consultas de Hoje, que apresentar as consultas referentes ao dia atual de acesso

    ao sistema, com intuito de facilitar e agilizar o trabalho da profissional da rea de nutrio,

    proporcionando um planejamento do dia de trabalho da mesma. A Figura 21 apresenta a tela

    inicial do sistema.

    Figura 21: Tela inicial do sistema

    3.3.5 Manter Pacientes

    Para gerenciar os pacientes a nutricionista dever acessar o menu Pacientes, onde

    esto listados os pacientes j cadastrados no sistema, com as aes referentes as

    funcionalidades: Excluir, Editar e Visualizar. Bem como os nomes dos botes so

    apresentados, so as opes de excluso, onde ir abrir uma mensagem sobre a janela do

    navegador solicitando a confirmao da ao. A opo de edio, onde ir redirecionar para o

    formulrio com as informaes j cadastradas do paciente, que podero ser alteradas

    conforme a necessidade. E a opo de visualizao, que ir redirecionar para uma pgina

    contendo as informaes do paciente selecionado, alm de suas consultas, histricos e dietas

    relacionadas.

  • 42

    Para adicionar outro paciente necessrio clicar na opo Novo Paciente, e

    preencher os campos pertinentes ao cadastro de paciente. So eles o nome, a data de

    nascimento, a idade, o telefone, o endereo e o e-mail, aps inserir as informaes dever

    clicar no boto Enviar para gravar os dados no banco de dados. Para cada ao realizada o

    sistema informa o usurio atravs de mensagens, se a ao foi realizada com sucesso ou se

    necessrio corrigir alguma informao. Na Figura 22 apresentada a tela de gerenciamento de

    pacientes com as funcionalidades citadas nesta subseo.

    Figura 22: Tela Manter Pacientes

    3.3.6 Manter Consultas

    No menu Consultas possvel gerenciar as informaes relacionadas s consultas

    que sero realizadas pela nutricionista. Na Figura 23 possvel visualizar a tela de consultas

    do sistema, onde sero listadas as consultas anteriormente cadastradas ordenadas pela data e

    hora, visando facilitar a visualizao. Nas aes, da mesma forma que no gerenciamento de

    pacientes apresentado na subseo 3.3.5, existem as opes de excluso, edio e

    visualizao.

  • 43

    Figura 23: Manter Consultas

    Nas funcionalidades exibidas na lateral esquerda da pgina, tem as opes: Listar

    Tipos de Consultas, onde sero listados os tipos de consultas cadastrados, Novo Tipo de

    Consulta, que possibilita a insero de novos tipos de consultas. A outra opo cadastrar

    uma nova consulta, onde deve ser selecionado o paciente, os quais esto listados em ordem

    alfabtica para facilitar a seleo, selecionar a hora da consulta, a data, o tipo da consulta, e

    aps clicar no boto Enviar, para gravar as informaes no banco de dados, como

    apresentado na Figura 24.

    Figura 24: Agendar uma Consulta

  • 44

    3.3.7 Manter Histricos de Pacientes

    Atravs do menu Histricos sero acessados os histricos dos pacientes, bem

    como, as aes referentes aos histricos. Do mesmo modo, que foi apresentado na subseo

    3.3.5, nesta funcionalidade existem as aes de visualizao, edio e excluso. E para

    cadastrar um histrico a nutricionista dever acessar a opo Novo Histrico. Selecionando

    o paciente e inserindo os campos pertinentes ao cadastro de histricos, so eles: histrico

    familiar, internaes, vcios, intolerncias e alergias, funcionamento intestinal, ingesto

    hdrica, frituras e gorduras, medicamentos, atividade fsica, peso atual, altura, IMC, peso

    ideal, VCT, estado nutricional, desjejum, colao, almoo, lanche um, lanche dois, jantar e a

    ceia. E aps dever acionar o boto Enviar para salvar as informaes.

    3.3.8 Manter Dietas

    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.

    Figura 25: Manter Dietas

    A Seo a seguir apresenta algumas consideraes finais aps a pesquisa, estudo e

    uso do Framework Cake PHP.

  • 45

    3.4 Consideraes sobre o Framework Cake PHP.

    A principal vantagem com a utilizao do framework CakePHP a implementao

    do cdigo fonte de forma padronizada, o que facilitar futuras manutenes e o

    desenvolvimento de novas funcionalidades. O uso do MVC pelo framework facilita a lgica

    de programao, ajudando na compreenso de onde cada parte do sistema deve ficar e onde

    realizar as alteraes necessrias para criao das funcionalidades elencadas nos requisitos.

    Uma grande vantagem em relao aos outros frameworks para a linguagem de

    programao PHP a facilidade de organizao e criao do ambiente de trabalho, a

    instalao do CakePHP extremamente simples, rpida e no exige grandes recursos

    computacionais para sua implementao,

    O CakePHP possui uma biblioteca de segurana com medidas bsicas de segurana,

    tais como o fornecimento de mtodos para hash e criptografia de dados. Tornando as

    aplicaes desenvolvidas mais segurana de maneira fcil para os desenvolvedores.

    Como ponto fraco existe o fato de necessitar bastante estudo e pesquisa antes do

    inicio da codificao, para o entendimento do funcionamento framework, bem como, o

    aprendizado de suas convenes, e da forma de trabalho.

    A seguir as Consideraes Finais do trabalho so descritas.

  • 46

    4 CONSIDERAES FINAIS

    Neste trabalho foi apresentado a implementao de um sistema web para

    profissional da rea de nutrio utilizando o framework de desenvolvimento web CakePHP.

    Para chegar a este objetivo inicialmente foi realizada uma pesquisa bibliogrfica, onde foram

    abordados os temas: Sistemas de Informaes, para obter a compreenso dos conceitos

    necessrios para a elaborao de um sistema eficiente e com qualidade. Aps foram

    abordados conceitos sobre aplicaes web, para o entendimento do funcionamento e do

    comportamento de sistemas que utilizam a Internet como forma de acesso. Como

    complementao, visando a elaborao do trabalho apresentado, foi pesquisado sobre

    aplicaes web existentes para nutricionistas, verificando as alternativas existentes. Para a

    implementao do sistema foi utilizado o PHP, como linguagem de programao web,

    abordando os conceitos, sintaxe, entre outros conceitos pertinentes. Como j citado, este

    trabalho utilizou o framework CakePHP, com intuito de implementar um sistema de forma

    padronizada, seguindo as suas definies, o que facilitar futuras manutenes e adio de

    novas funcionalidades que sejam necessrias.

    O trabalho apresentou todas as etapas de desenvolvimento do sistema, desde o

    levantamento dos requisitos, com a nutricionista Sandra Vendruscolo, at a implementao do

    sistema, passando pelas fases de modelagem de software e de banco de dados. Com este

    trabalho foi possvel a aplicao prtica de diversos conhecimentos adquiridos, visando um

    crescimento tanto profissional quanto acadmica.

    Ainda, vale ressaltar que todas as tecnologias e ferramentas utilizadas no

    desenvolvimento do sistema so gratuitas, o que proporciona uma implementao baixo

    custo. O uso do framework CakePHP, agiliza o desenvolvimento de sistemas web com a

    linguagem de programao, alm de padronizar, pois necessrio seguir suas convenes pr-

    definidas. A utilizao do modelo de arquitetura de desenvolvimento de Software MVC

    auxiliou para a boa qualidade do trabalho desenvolvido, este modelo isola a lgica da

    interface, permitindo editar, desenvolver cada parte separadamente.

    Na prxima seo os Trabalhos Futuros so descritos.

  • 47

    4.1 Trabalhos Futuros

    Como continuidade deste trabalho j existem algumas ideias, visando o

    aperfeioamento do sistema. Dentre elas destacam-se:

    - Desenvolver casos de teste com o PHPUnit, que uma ferramenta para realizar

    testes programados nas aplicaes, afim de minimizar ao mximo os erros. Ele oferece um

    conjunto de recursos para verificar os cdigos implementados, validando o que foi

    desenvolvido (CakePHP, 2013).

    - Realizar melhorias de interface, criando um menu dinmico com as funcionalidades

    anteriormente implementadas, visando melhorar a acessibilidade para a nutricionista que

    utilizar o sistema.

    - Realizar testes de interface utilizando tcnicas prospectivas, que so baseadas na

    opinio do usurio sobre a interao com o sistema, e tcnicas preditivas realizando uma

    avaliao heurstica de usabilidade.

    - Implantar o sistema, oferecendo treinamento para a nutricionista Sandra.

  • 48

    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:

    http://www.php.net/manual/pt_BR/manual.php. ltimo acesso em 03 de junho de 2013.

    (Material Internet)

    MENDES, Marlia Soares. DIRCE - Design da Interao e Levantamento de Requisitos

    com foco na Comunicao e Explorao de ideias: experincias de uso aplicadas em

    sistemas de criao de contedo para a televiso digital. 2009. (Dissertao)

    OLIVEIRA, Eva/ VARANDA, Maria Joo e HENRIQUES, Pedro Rangel. Compreenso de

    Aplicaes Web: O Processo e as Ferramentas, 2013. (Artigo)

    PORTAL OFICIAL DA LIGUAGEM PHP, 2013. Disponvel em: .

    Acesso em: 19 abr. 2013. (Material Internet)

  • 49

    PORTAL OFICIAL DO FRAMAWORK CAKEPHP, 2013. Disponvel em: <

    http://cakephp.org/ >. Acesso em: 16 jun. 2013. (Material Internet)

    PRESSMAN, Roger S. Engenharia de Software. 6 Edio. McGraw-Hill, 2006. (Livro)

    ROSINI, Alessandro Marco/ Palmisano, Angelo. Administrao de Sistemas de

    Informao e a Gesto do Conhecimento. Cengage Learning, 2008. (Livro)

    SEBESTA, ROBERT W. Concepts of Programming Languages. Addison Wesley, 2010

    (Livro)

    SOARES, Diego de Aquino. CakePHP. CDTC - Centro de Difuso de Tecnolgia e

    Conhecimento, 2008. (Apostila)

    SOMMERVILLE, Ian. Engenharia de software.Pearson Addison Wesley, 2003. (Livro)

    TOLENTINO, Renata de Souza da Silva. O reconhecimento da necessidade de sistemas de

    informao em sade no Brasil, 2005. (Artigo)

    WINCKLER, Marco e PIMENTA, Marcelo Soares. Avaliao de Usabilidade de Sites

    Web, 2002. (Artigo)

    YII. Yii Framekork, 2013. Disponvel em: < http://www.yiiframework.com/>. Acesso em: 02

    set. 2013. (Material Internet)

    ZEND. Zend Framekork, 2013. Disponvel em: < http://framework.zend.com/>. Acesso em:

    02 set. 2013. (Material Internet)

  • 50

    6 APNDICE

    Apndice A Roteiro da Entrevista

    Roteiro de Entrevista para Levantamento de Requisitos do Sistema:

    1. Qual sua necessidade em relao ao sistema?

    2. Quais as informaes que voc deseja armazenar de seus clientes?

    3. Quais funcionalidades necessrias neste sistema?

    4. Em relao a cores, qual sua preferncia?

    5. Quais facilidades voc espera com o sistema?

    6. Somente voc utilizar o sistema?

    7. Em que dispositivos/computadores voc utilizar o sistema?

    8. Qual sua expectativa em relao ao sistema proposto?

  • 51

    Apndice B Documento de Levantamento de Requisitos

    Levantamento dos requisitos do sistema

    Projeto: Sistema web para profissional da rea da nutrio utilizando o framework de desenvolvimento CakePHP.

    Viso Geral

    Sistema de gerenciamento de informaes para profissional da rea de nutrio.

    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

  • 52

    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

    O sistema dever ficar sempre disponvel para acesso

    O sistema deve suportar cadastrar diversos usurios

    Sistema deve ser multi-plataforma, podendo ser acessado atravs dos principais

    sistemas operacionais e navegadores de Internet

    O sistema deve ser mais simples possvel para o uso

    O sistema deve ter uma interface leve e amigvel

    O sistema deve conter as janelas bem organizadas para agilizar o atendimento aos

    pacientes

    Documentao necessria

  • 53

    Apndice C Especificao de Casos de Uso

    Casos de Uso: CDU 02: Manter Pacientes

    Ator: Nutricionista

    Pr-Condies: Nutricionista logado no sistema;

    Ps-Condies: Nutricionista visualizou, cadastrou, editou ou excluiu um paciente;

    Fluxo Principal:

    1. Nutricionista acessa o item pacientes;

    2. Sistema carrega tela com os pacientes j cadastrados;

    3. Nutricionista acessa a opo inserir paciente;

    4. Adiciona as informaes solicitadas para cadastrar novo paciente;

    5. Nutricionista clica no boto salvar;

    6. Sistema grava os dados na base de dados;

    Fluxo alternativo: editar

    No passo 3, o nutricionista pode optar por selecionar um paciente e alter-

    lo:

    3.1 Nutricionista seleciona um paciente j cadastrado;

    3.2 Acessa a opo alterar;

    3.3 Nutricionista preenche os campos que devem ser alterados;

    3.4 Volta ao fluxo principal no passo 5.

    Fluxo alternativo: excluir

    No passo 3, o nutricionista pode optar por selecionar um paciente pra

    excluir:

    3.1 Nutricionista seleciona um paciente j cadastrado;

    3.2 Acessa a opo excluir;

    3.3 Nutricionista confirma a excluso do paciente;

  • 54

    3.4 Volta ao fluxo principal no passo 6.

    Casos de Uso: CDU 03: Manter Consultas

    Ator: Nutricionista

    Pr-Condies: Nutricionista logado no sistema;

    Ps-Condies: Nutricionista visualizou, cadastrou, editou ou excluiu uma consulta;

    Fluxo Principal:

    1. Nutricionista acessa o item consultas;

    2. Sistema carrega tela com as consultas j cadastradas;

    3. Nutricionista acessa a opo inserir consulta;

    4. Adiciona as informaes solicitadas para adicionar uma nova consulta;

    5. Nutricionista clica no boto salvar;

    6. Sistema grava os dados na base de dados;

    Fluxo alternativo: editar

    No passo 3, o nutricionista pode optar por selecionar uma consulta e alter-

    la:

    3.1 Nutricionista seleciona uma consulta j cadastrada;

    3.2 Acessa a opo alterar;

    3.3 Nutricionista preenche os campos que devem ser alterados;

    3.4 Volta ao fluxo principal no passo 5.

    Fluxo alternativo: excluir

    No passo 3, o nutricionista pode optar por selecionar uma consulta para

    excluir:

    3.1 Nutricionista seleciona uma consulta j cadastrada;

    3.2 Acessa a opo excluir;

  • 55

    3.3 Nutricionista confirma a excluso da consulta;

    3.4 Volta ao fluxo principal no passo 6.

    Casos de Uso: CDU 04: Manter Histricos

    Ator: Nutricionista

    Pr-Condies: Nutricionista logado no sistema;

    Ps-Condies: Nutricionista visualizou, cadastrou, editou ou excluiu um histrico de

    paciente;

    Fluxo Principal:

    1. Nutricionista acessa o item histricos;

    2. Sistema carrega tela com os histricos de pacientes j cadastrados;

    3. Nutricionista acessa a opo inserir histrico;

    4. Adiciona as informaes solicitadas para adicionar um novo histrico;

    5. Nutricionista clica no boto salvar;

    6. Sistema grava os dados na base de dados;

    Fluxo alternativo: editar

    No passo 3, o nutricionista pode optar por selecionar um histrico e alter-

    lo:

    3.1 Nutricionista seleciona um histrico j cadastrado;

    3.2 Acessa a opo alterar;

    3.3 Nutricionista preenche os campos que devem ser alterados;

    3.4 Volta ao fluxo principal no passo 5.

    Fluxo alternativo: excluir

    No passo 3, o nutricionista pode optar por selecionar um histrico para

    excluir:

    3.1 Nutricionista seleciona um histrico j cadastrado;

    3.2 Acessa a opo excluir;

  • 56

    3.3 Nutricionista confirma a excluso do histrico;

    3.4 Volta ao fluxo principal no passo 6.

    Casos de Uso: CDU 05: Manter Dietas

    Ator: Nutricionista

    Pr-Condies: Nutricionista logado no sistema;

    Ps-Condies: Nutricionista visualizou, cadastrou, editou ou excluiu uma dieta;

    Fluxo Principal:

    1. Nutricionista acessa o item dietas;

    2. Sistema carrega tela com as dietas j cadastradas;

    3. Nutricionista acessa a opo inserir dieta;

    4. Adiciona as informaes solicitadas para adicionar uma nova dieta;

    5. Nutricionista clica no boto salvar;

    6. Sistema grava os dados na base de dados;

    Fluxo alternativo: editar

    No passo 3, o nutricionista pode optar por selecionar uma dieta e alter-la:

    3.1 Nutricionista seleciona uma dieta j cadastrada;

    3.2 Acessa a opo alterar;

    3.3 Nutricionista preenche os campos que devem ser alterados;

    3.4 Volta ao fluxo principal no passo 5.

    Fluxo alternativo: excluir

    No passo 3, o nutricionista pode optar por selecionar uma dieta para

    excluir:

    3.1 Nutricionista seleciona uma dieta j cadastrada;

    3.2 Acessa a opo excluir;

  • 57

    3.3 Nutricionista confirma a excluso da consulta;

    3.4 Volta ao fluxo principal no passo 6.

  • 58

    7 ANEXOS

    Anexo A Anlise de Documentos