centro estadual de educaÇÃo tecnolÓgicafateclins.edu.br/v4.0/trabalhograduacao/hdy90xy8... ·...

106
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS FELLIPE AUGUSTO OLIVEIRA SANTOS LOPES SISTEMA WEB DE CONSULTA DE RESULTADOS DE EXAMES LABORATORIAIS PARA AS UNIDADES DE SAÚDE LINS/SP 2º SEMESTRE/2014

Upload: others

Post on 21-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA

PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA

CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS

FELLIPE AUGUSTO OLIVEIRA SANTOS LOPES

SISTEMA WEB DE CONSULTA DE RESULTADOS DE EXAMES

LABORATORIAIS PARA AS UNIDADES DE SAÚDE

LINS/SP

2º SEMESTRE/2014

Page 2: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA

PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA

CURSO SUPERIOR DE TECNOLOGIA EM BANCO DE DADOS

FELLIPE AUGUSTO OLIVEIRA SANTOS LOPES

SISTEMA WEB DE CONSULTA DE RESULTADOS DE EXAMES

LABORATORIAIS PARA AS UNIDADES DE SAÚDE

Trabalho de Conclusão de Curso apresentado à

Faculdade de Tecnologia de Lins para obtenção

do Título de Tecnólogo em Banco de Dados.

Orientador: Prof. Me. Anderson Pazin

LINS/SP

2º SEMESTRE/2014

Page 3: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

FELLIPE AUGUSTO OLIVEIRA SANTOS LOPES

SISTEMA WEB DE CONSULTA DE RESULTADOS DE EXAMES

LABORATORIAIS PARA AS UNIDADES DE SAÚDE

Trabalho de Conclusão de Curso apresentado à

Faculdade de Tecnologia de Lins, como parte dos

requisitos necessários para a obtenção do título de

Tecnólogo em Banco de Dados sob orientação do

Prof. Me. Anderson Pazin.

Data de Aprovação: ___/___/___

___________________________________ Orientador (Prof. Me. Anderson Pazin) ___________________________________

Examinador 1 ___________________________________

Examinador 2

Page 4: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

Dedicatória

Com todo carinho e empenho que

dedico o presente trabalho a

Faculdade de Medicina de Marília

(FAMEMA).

Fellipe Augusto Oliveira Santos Lopes

Page 5: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

AGRADECIMENTOS

Neste momento em que é encerrado mais um ciclo na minha vida,

primeiramente, gostaria de agradecer a Deus por me conceder saúde e força de

vontade.

Aos meus pais, irmãs e demais familiares que enquanto podiam me apoiaram

e aconselharam.

E por fim, ao Jair da Silva Moro, Nelson Julio de Oliveira Miranda, o

professor/orientador Anderson Pazin, a todos os companheiros de trabalho e

professores que contribuíram no meu processo de aprendizagem.

Fellipe Augusto Oliveira Santos Lopes

Page 6: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

RESUMO

A Faculdade de Medicina de Marília (Famema) é um complexo assistencial, integrada a Rede Regional de Atenção a Saúde (RRAS - 10) do Departamento Regional de Saúde de Marília, estado de São Paulo. Nesse complexo, as solicitações de exames laboratoriais provenientes das unidades de saúde pertencentes à RRAS – 10 são processadas no Hemocentro. Após isso, os resultados dos exames são impressos e enviados para cada solicitante. Por consequência, esse processo aumenta o tempo para o diagnóstico do paciente e custos relacionados à impressão. Tendo conhecimento desses problemas o objetivo do presente trabalho foi desenvolver uma aplicação Web, eficiente, para disponibilizar os resultados de exames laboratoriais para as unidades de saúde. Para tanto, foram utilizadas as seguintes tecnologias: framework ASP .NET MVC, banco de dados Oracle, Bootstrap, biblioteca JQuery, plugin JQuery UI e a Linguagem Unificada de Modelagem (UML). Dessa forma, inicialmente elaborou-se a análise e projeto de sistemas com os diagramas da UML para descobrir aspectos estruturais, comportamentais, bem como, os requisitos funcionais e não funcionais da aplicação. Como resultado, foi implementado um mecanismo de gerenciamento de contas de usuários, visualização do status do pedido de exame e seu resultado, segurança e o Web Design Responsivo que promove a adequação das páginas Web do sistema para os dispositivos móveis e nas diferentes resoluções de monitores de computadores.

Palavras-chave: resultado de exame, ASP .NET MVC, Bootstrap, Web Design Responsivo.

Page 7: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

ABSTRACT

The Faculty of Medicine of Marília (Famema) is a healthcare complex, integrated the Regional Network for Health Care (RRAS - 10) of the Regional Health Department Marilia, state of São Paulo, Brazil. In this complex, requests for laboratory tests from health units belonging to the RRAS - 10 are processed at the Blood Center. After this, the test results are printed and sent to each requestor. Consequently, this process increases the time to patient diagnosis and costs associated with printing. Having knowledge of these problems the objective of this study was to develop a web application, efficient, to provide the results of laboratory tests to health units. Therefore, the following technologies were used: ASP .NET MVC framework, Oracle database, Bootstrap, JQuery library, JQuery UI plugin and the Unified Modeling Language (UML). In this way, it was prepared the systems analysis and design with UML diagrams to discover structural, behavioral aspects, as well as, the functional and non functional requirements of the application. As a result, it was implemented a mechanism for managing user accounts, the examination request status display and its result, security and Responsive Web Design that promotes the adequacy of the system's web pages for mobile devices and different resolutions of monitors computers.

Keywords: examination result, ASP .NET MVC, Bootstrap, Responsive Web Design.

Page 8: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

LISTA DE ILUSTRAÇÕES

Figura 1.1- Diagrama de Caso de uso Atendimento Médico ..................................... 20 Figura 1.2 - Diagrama de Atividade ........................................................................... 21

Figura 1.3 - Diagrama de Sequência ......................................................................... 22 Figura 1.4 - Diagrama de Classe ............................................................................... 23 Figura 1.5 - Aspectos Diagrama de Classe ............................................................... 24 Figura 1.6 - Navegadores mais utilizados ................................................................. 25

Figura 1.7 - Estrutura básica HTML .......................................................................... 26 Figura 1.8 - Aparencia.css......................................................................................... 28 Figura 1.9 - Referenciar folha de estilos externa ....................................................... 28 Figura 1.10 - Comunicação entre dois computadores ............................................... 29

Figura 1.11 - ASP .NET MVC .................................................................................... 36 Figura 1.12 - Sintax Razor vs Php ............................................................................. 37 Figura 1.13 - Declaração modelo Requisicoes.cshtml .............................................. 38

Figura 1.14 - Tempo de vida propriedades................................................................ 39 Figura 1.15 - Modelo conceitual ................................................................................ 42 Figura 1.16 - Modelo página Bootstrap ..................................................................... 44 Figura 1.17 - Html grid fluído ..................................................................................... 44 Figura 1.18 - Apresentação grid fluído ...................................................................... 45

Figura 1.19 - Grid flexível exames ............................................................................. 46 Figura 1.20 - Viewport 1200px .................................................................................. 47

Figura 1.21 - Viewport 992px .................................................................................... 47

Figura 1.22 - Viewport 768px .................................................................................... 47 Figura 1.23 - Viewport 361px .................................................................................... 48

Figura 1.24 - Acessos ao website Tecmundo por SO ............................................... 49 Figura 2.1 - Acesso aos laudos ABHU ...................................................................... 51

Figura 2.2 - Login HC SP .......................................................................................... 51

Figura 2.3 - Amostras ................................................................................................ 52 Figura 2.4 - Requisitos funcionais ............................................................................. 57 Figura 2.5 - Views ..................................................................................................... 58 Figura 2.6 - Controllers filtro acesso .......................................................................... 58

Figura 2.7 – Controllers ............................................................................................. 59

Figura 2.8 - BOs ........................................................................................................ 59 Figura 2.9 - DAOs ..................................................................................................... 60 Figura 2.10 - Views Models ....................................................................................... 60

Figura 2.11 - Diagrama de Atividade visualizar resultado ......................................... 61 Figura 2.12 - MVC visualizar resultado ..................................................................... 61 Figura 2.13 - Diagrama de sequência consultar resultado ........................................ 62 Figura 2.14 - Diagrama de sequência visualizar resultado ........................................ 62

Figura 2.15 - Diagrama de atividade gerenciar conta de usuário .............................. 63 Figura 2.16 - MVC gerenciar conta de usuário .......................................................... 63 Figura 2.17 - Diagrama de sequência consultar conta de usuário ............................ 64 Figura 2.18 - Diagrama de sequência incluir conta de usuário.................................. 64

Figura 2.19 - Diagrama de sequência alterar conta de usuário ................................. 64 Figura 2.20 - Diagrama de atividade logar ................................................................ 65 Figura 2.21 - Diagrama de atividade alterar senha ................................................... 65

Page 9: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

Figura 2.22 - MVC gerenciar login. ............................................................................ 66

Figura 2.23 - Diagrama de sequência logar .............................................................. 66 Figura 2.24 - Diagrama de sequência alterar senha ................................................. 67 Figura 2.25 - Diagrama de sequência recuperar acesso ........................................... 67 Figura 2.26 - Requisição Exame ............................................................................... 68 Figura 2.27 - Resultado de exame ............................................................................ 68

Figura 2.28 - Controle de acesso .............................................................................. 69 Figura 3.1 - Estrutura do projeto ................................................................................ 71 Figura 3.2 - Histórico navegador ............................................................................... 72 Figura 3.3 - Acesso negado ...................................................................................... 72 Figura 3.4 - Bloqueio do sistema ............................................................................... 73

Figura 3.5 - Pesquisar requisição .............................................................................. 73 Figura 3.6 - Requisição ............................................................................................. 74

Figura 3.7 - Resultado de Potássio ........................................................................... 74 Figura 3.8 - Detalhe inconformidade ......................................................................... 75 Figura 3.9 - Menu gerenciar ...................................................................................... 75 Figura 3.10 - Pesquisar conta de usuário .................................................................. 75

Figura 3.11 - Auto sugestão ...................................................................................... 76 Figura 3.12 - Formulário incluir conta de usuário ...................................................... 76

Figura 3.13 - Cenários após salvar ........................................................................... 77 Figura 3.14 - Contas de usuários .............................................................................. 77 Figura 3.15- Alterar conta de usuário ........................................................................ 78

Figura 3.16 - Modificar email ..................................................................................... 78

Figura 3.17 - Rastro de acesso ................................................................................. 79 Figura 3.18 - Login .................................................................................................... 79 Figura 3.19 - Acesso bloqueado ................................................................................ 80 Figura 3.20 - Recuperar login .................................................................................... 80 Figura 3.21 - Detalhes login ...................................................................................... 81 Figura 3.22 - Alterar senha ........................................................................................ 81 Figura A.1 - Verificar usuário na sessão ................................................................... 95 Figura A.2 - Verificar acesso usuário ........................................................................ 95

Figura A.3 - Controlador base ................................................................................... 96 Figura A.4 - Herança dos controllers ......................................................................... 96

Figura A.5 - Formulário para consultar requisições de exame .................................. 97

Figura A.6 - Preparar filtro ......................................................................................... 97

Figura A.7 - Consultar dados ..................................................................................... 98 Figura A.8 - Requisicao.cshtml .................................................................................. 98 Figura A.9 - Botão selecionar exame ........................................................................ 98

Figura A.10 - Selecionar item da requisição .............................................................. 99 Figura A.11 - Seleção simples [HttpGet] ................................................................... 99 Figura A.12 - Ver resultado ..................................................................................... 100 Figura A.13 - Escolha tipo acesso de usuário ......................................................... 101 Figura A.14 - Manutenção conta de usuário............................................................ 101

Figura A.15 - Visão manutenção conta de usuário .................................................. 101 Figura A.16 - Formulário de manutenção ................................................................ 102 Figura A.17 - Procurar nome de login ..................................................................... 102 Figura A.18 - Incluir conta de usuário ...................................................................... 103

Figura A.19 - Validar captcha .................................................................................. 103 Figura A.20 - Verificar email .................................................................................... 104

Figura A.21 - Verificar vínculo do email ................................................................... 104

Page 10: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

Figura A.22 - Enviar email ....................................................................................... 105

Page 11: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

LISTA DE TABELAS

Tabela 1.1 - Tipos de dados em C# .......................................................................... 32 Tabela 1.2 - Operadores ........................................................................................... 33

Tabela 1.3 - Popularidade dos principais SGBDs ..................................................... 41 Tabela 1.4 - Opções do grid ...................................................................................... 45 Tabela 2.1 – Compatibilidade navegadores sistema operacional ............................. 55 Tabela 2.2 - Requisito funcional x Prioridade ............................................................ 55

Tabela 2.3 - Diagramas da UML ............................................................................... 56 Tabela 3.1 - Especificações de implementação ........................................................ 70

Page 12: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

LISTA DE ABREVIATURA E SIGLAS

ABHU – Associação Beneficente Hospital Universitário

ADO – Activex Data Objects

AME – Ambulatório Médico de Especialidades

ASP .NET – Active Server Pages .NET

BD – Banco de Dados

BO – Business Objects

CNS – Cartão Nacional de Saúde

CSS – Cascading Style Sheets

C# – C Sharp

DATASUS – Departamento de Informática do Sistema Único de Saúde

FAMEMA – Faculdade de Medicina de Marília

HC – Hospital das Clínicas

HTML – HyperText Markup Language

HTTP – HyperText Transfer Protocol

IDE – Ambiente de Desenvolvimento Integrado

IE – Internet Explorer

IP – Internet Protocol

IIS – Internet Information Services

MSIL – Microsoft Intermediate Language

MVC – Modelo controle e visão

NTI – Núcleo Técnico de Informação

OO – Orientação a Objetos

OLE DB – Object Linking and Embedding Database

SADT – Serviço Auxiliar de Diagnóstico e Terapêutico

SES/DF – Secretaria da Saúde do Distrito Federal

SGBD – Sistema Gerenciador de Banco de Dados

SGBDR – Sistema Gerenciador de Banco de Dados Relacionais

SIHOSP – Sistema Hospitalar

SO – Sistema Operacional

RRAS – Rede Regional de Atenção a Saúde

Page 13: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

TCU – Tribunal de Contas da União

UBS – Unidade Básica de Saúde

UI – User Interface

USF – Unidade Saúde da Família

VB – Visual Basic

XHTML – Extensible HyperText Markup Language

XML – Extensible Markup Language

WWW – World Wide Web

Page 14: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

LISTA DE SÍMBOLOS

@ – Arroba

% – Porcentagem

# – Sustenido

Page 15: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

SUMÁRIO

INTRODUÇÃO ..................................................................................... 16

1 TECNOLOGIAS UTILIZADAS........................................................... 19

1.1 LINGUAGEM UNIFICADA PARA MODELAGEM DE SISTEMAS ...................... 19

1.1.1 Diagrama de caso de uso ............................................................................... 20

1.1.2 Diagrama de atividade .................................................................................... 20

1.1.3 Diagrama de sequência .................................................................................. 21

1.1.4 Diagrama de classe ........................................................................................ 23

1.2 WEB .................................................................................................................... 24

1.2.1 Navegadores de internet ................................................................................. 25

1.2.2 Linguagens de marcação ................................................................................ 26

1.2.3 Folha de estilo em cascata ............................................................................. 27

1.2.4 JavaScript ....................................................................................................... 29

1.2.5 Hypertext Transfer Protocol (HTTP) ............................................................... 29

1.2.6 Uniform Resource Location (URL) .................................................................. 30

1.2.7 Conteúdo na Web ........................................................................................... 31

1.3 FRAMEWORK .NET ........................................................................................... 31

1.4 IDE VISUAL STUDIO .......................................................................................... 32

1.5 LINGUAGEM DE PROGRAMAÇÃO C# ............................................................. 32

1.6 ACTIVE SERVER PAGES (ASP) .NET FORMS ................................................ 34

1.7 MODELO VISÃO E CONTROLE (MVC) ............................................................. 36

1.8 BANCO DE DADOS RELACIONAL .................................................................... 40

1.9 ORACLE 10G ..................................................................................................... 42

1.10 BOOTSTRAP .................................................................................................... 43

1.11 TÉCNICAS RESPONSIVAS ............................................................................. 43

1.12 SISTEMA OPERACIONAL ............................................................................... 48

2 ANÁLISE E PROJETO DO SISTEMA ............................................... 50

2.1 ANÁLISE DE NEGÓCIO ..................................................................................... 50

2.1.1 Instrução do problema .................................................................................... 50

2.1.2 Análise de mercado ........................................................................................ 50

2.1.3 Atores envolvidos no processo ....................................................................... 52

Page 16: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

2.1.4 Descrição do ambiente atual .......................................................................... 53

2.2 VISÃO GERAL DO PRODUTO ........................................................................... 54

2.2.1 Perspectiva do produto ................................................................................... 54

2.2.2 Premissas e dependências ............................................................................. 54

2.2.3 Características ................................................................................................ 55

2.2.4 Outros requisitos ............................................................................................. 56

2.3 ANÁLISE DE REQUISITOS ................................................................................ 56

2.3.1 Diagrama de caso de uso ............................................................................... 56

2.3.2 Diagrama de classe por camadas .................................................................. 57

2.3.2.1 Visão .......................................................................................................... 57

2.3.2.2 Controladora ............................................................................................... 58

2.3.2.3 Modelo ........................................................................................................ 59

2.3.3 Descrição detalhada dos casos de uso .......................................................... 60

2.3.4 Entidade e relacionamento ............................................................................. 68

3 IMPLEMENTAÇÃO ........................................................................... 70

3.1 ASPECTOS BÁSICOS........................................................................................ 70

3.2 SEGURANÇA ..................................................................................................... 72

3.3 VISUALIZAR RESULTADO DE EXAME ............................................................. 73

3.4 GERENCIAR CONTA DE USUÁRIO .................................................................. 75

3.5 GERENCIAR LOGIN .......................................................................................... 79

CONCLUSÃO ....................................................................................... 82

REFERÊNCIAS BIBLIOGRÁFICAS ..................................................... 84

APÊNDICE A - TRECHOS DE CÓDIGO FONTE ............................... 95

A.1 SEGURANÇA ..................................................................................................... 95

A.2 VISUALIZAR RESULTADO DE EXAME ............................................................. 96

A.3 GERENCIAR CONTA DE USUÁRIO ................................................................ 100

A.4 GERENCIAR LOGIN ........................................................................................ 103

Page 17: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

16

INTRODUÇÃO

A Faculdade de Medicina de Marília (Famema) é um Complexo Assistencial,

formada basicamente pelo hospital das clínicas unidade I (HC I), Hospital da Mulher

(HC II), Hospital São Francisco (HC III) e o Ambulatório Mário Covas.

Em outras palavras é composta por cinco unidades de atenção à saúde: a

clínico-cirúrgica de alta e média complexidade e urgência para pacientes adultos

(HC I); materno infantil (HC II); clínico-cirúrgica de retaguarda, saúde mental e

oftalmologia (HC III); ambulatório de especialidades e o Hemocentro. É, também,

cenário para práticas profissionais na formação de recursos humanos na área da

saúde. (FAMEMA, 2013).

De acordo com o seu relatório de atividades, a Famema realizou de novembro

de 2012 à novembro de 2013: um total de 804.871 exames de laboratório, radiologia

e ressonância magnética; a soma de consultas, atendimentos e acompanhamentos

foi igual a 383.382; bem como 5.691 cirurgias. Nesse período foram internados

13.006 pacientes sendo que haviam 276 leitos instalados. (FAMEMA, 2013).

A Famema integra a Rede Regional de Atenção a Saúde (RRAS - 10) do

Departamento Regional de Saúde de Marília, estado de São Paulo, englobando 5

microrregiões de saúde: Marília, Assis, Ourinhos, Tupã e Adamantina. São 62

municípios, totalizando em 2013 uma população estimada de 1.505.968 habitantes,

segundo Tribunal de Contas da União (TCU) e Departamento de Informática do

Sistema Único de Saúde (DATASUS).

Geralmente os pacientes são submetidos a exames laboratoriais, por

exemplo, o hemograma, uréia, creatina entre outros; que na maioria dos casos são

elaborados no Hemocentro. No HC II elabora-se o eletrocardiograma classificado

como métodos gráficos. Os exames de imagens, tais como os raios-X e a

ressonância magnética são realizados no HC I.

Certamente, os resultados desses exames auxiliam os médicos no

diagnóstico preciso de doenças.

Por exemplo, segundo Acuña e Cruz (2004), na avaliação do estado

nutricional do paciente, utiliza-se de métodos convencionais que incluem

procedimentos como o exame físico, para detectar deficiências nutricionais; e o

laboratorial que identifica deficiências subclínicas e confirma o diagnóstico.

Page 18: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

17

Em notícias sobre a saúde, o site da Uol (2011), destaca a comodidade que

os pacientes do Ambulatório Médico de Especialidades (AME), em Heliópolis, na

zona sul de São Paulo, pois os resultados dos seus exames de imagens e

laboratoriais estão disponíveis na internet.

Em 2013 foram disponibilizados no portal da Secretaria de Saúde (SES/DF)

mais de 13 milhões de resultado de exames. Isso impactou positivamente no custo e

tempo de locomoção dos pacientes para retirar os impressos nos laboratórios.

Segundo José Carlos Esteves, subsecretário de Tecnologia da Informação em

Saúde, estima-se que a ação beneficiou em 30 % de economia nos valores totais

que a Administração Pública gastava com exames de laboratório.

Sabbatini (2000) descreve no seu artigo sobre “o futuro da internet na

Medicina” que na época as aplicações World Wide Web(WEB) cresciam

rapidamente e por consequência começariam a abranger outras particularidades

nesse ramo, por exemplo, o processo do diagnóstico. E relata a existência de uma

aplicação capaz de disponibilizar resultados de exames para os pacientes.

Os exemplos citados anteriormente deixam claro que o acesso do paciente as

suas informações traz melhoria a esse tipo de serviço na área da saúde. Entretanto,

para a Famema pretende-se inicialmente atender a demanda de requisições

externas de exames provenientes das unidades de saúde.

Em linhas gerais, nessa circunstância, apesar do paciente não ter acesso, por

enquanto, ao seu resultado, os especialistas que cuidam do seu caso localmente na

unidade de saúde terão permissão, logo o paciente será favorecido do mesmo jeito.

Sendo assim, o propósito desse trabalho é desenvolver um sistema para

consulta dos resultados de exames laboratoriais efetuados no complexo Famema.

Baseado na plataforma Web o sistema desfrutará dos recursos

disponibilizados pela tecnologia Active Server Pages .NET (ASP.NET) na arquitetura

Model View Controller (MVC) com a linguagem de servidor C Sharp(C#).

Além disso, os profissionais das unidades de saúde dos municípios das 5

microrregiões possuirão login e senha para acessar o sistema a partir de um

navegador de internet com o intuito de visualizar os resultados de exames dos

pacientes que tratam a saúde localmente, no entanto seus exames são processados

no laboratório do Hemocentro.

Esse trabalho está estruturado em 3 capítulos. O capítulo 1 abordará os

conceitos chaves das tecnologias utilizadas; sendo que a análise e projeto do

Page 19: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

18

sistema na qual envolve a elaboração de diagramas dos processos essenciais, no

capítulo 2. No capítulo 3, será destrinchado a implementação que engloba a

descrição das páginas Web do sistema.

Na conclusão serão expostas as principais dificuldades, se o objetivo desse

trabalho foi alcançado, bem como os planos futuros. Ao final, há um apêndice

evidenciando os principais trechos do código fonte do projeto.

Page 20: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

19

1 TECNOLOGIAS UTILIZADAS

Nesse capítulo, são apresentadas as tecnologias utilizadas para a realização

dessa monografia.

1.1 LINGUAGEM UNIFICADA PARA MODELAGEM DE SISTEMAS

Segundo Marquioni (2007), é a partir dos requisitos que se constroem os

produtos de software, sendo esses estabelecidos nos momentos iniciais do

desenvolvimento de sistemas e caracterizam aspectos relacionados ao seu

comportamento.

A Linguagem Unificada de Modelagem (UML) consiste em elementos gráficos

com intuito de visualizar, especificar, construir e documentar artefatos de sistemas

complexos de softwares. Além do mais, fornece uma padronização para compor o

planejamento da arquitetura de projetos de sistemas. (Booch; Rumbaugh; Jacobson,

2006).

Ainda seguindo a linha de raciocínio de Booch, Rumbaugh e Jacobson

(2006), os sistemas são modelados por intermédio de diagramas em diversas

perspectivas. Em suma, segundo a Object Management Group (2014), a UML 2.0

dispõe de 13 diagramas categorizados em três níveis de concepção: estrutural,

comportamental e de interação.

O Astah Professional é uma ferramenta Computer-Aided Software

Engineering (CASE) que permite modelar os processos de negócios com os

diagramas da UML e consequentemente seu uso possibilita transpassar de forma

instantânea a idealização desses processos em diferentes perspectivas para as

equipes envolvidas em um projeto. (Astah, 2014).

Os diagramas são partes de uma metodologia de desenvolvimento, dessa

maneira, para elaborar um projeto existem diversas metodologias, dentre essas se

enquadra o Scrum.

Segundo Conh (2004) o Scrum é uma metodologia ágil; iterativa, pois o

processo de desenvolvimento avança a medida de aperfeiçoamentos sucessivos; e

incremental, ou seja, o software é construído e entregue em partes.

Page 21: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

20

A UML possui ampla variedade de notações para representar aspectos de

sistemas na fase de modelagem, no entanto, nessa sessão, pretende-se expor

apenas o que for necessário para o desenvolvimento desse presente trabalho.

1.1.1 Diagrama de caso de uso

Conforme Marquioni (2007) o diagrama de caso de uso estabelece o ponto de

partida da modelagem. Além disso, assegura o contato inicial entre desenvolvedores

e clientes para extrair requisitos funcionais do sistema. Dessa forma, esse oferece

subsídios aos demais diagramas que tratam os requisitos de acordo com sua

perspectiva e nível de detalhamento.

Figura 1.1- Diagrama de Caso de uso Atendimento Médico Fonte: elaborado pelo autor, 2014

De acordo com a figura 1.1 os atores são representados por um boneco nos

quais possuem tarefas (elipses) bem definidas pelas associações (linhas). A linha

tracejada entre as elipses com a palavra reservada <<include>> define uma regra de

sistema, em outras palavras, o médico só pede exame ao paciente se esse for

acolhido.

1.1.2 Diagrama de atividade

Para Guedes (2011) o diagrama de atividade traceja a sequência de passos

pertencentes a um método complexo, algoritmo ou até mesmo um processo

completo. Nesse diagrama, qualquer atividade específica citada anteriormente é

detalhada por meio do fluxo de controle.

Page 22: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

21

A figura 1.2 evidencia o fluxo simples em que sucedem as atividades para o

caso de uso Acolher paciente.

Figura 1.2 - Diagrama de Atividade Fonte: elaborado pelo autor, 2014.

Ainda sobre a figura, o circulo totalmente preenchido em seu topo indica o

início do processo seguido por blocos retangulares que correspondem às atividades.

Entretanto existe um desvio de fluxo representado pelo losango, em outras palavras,

a especificação de caminhos alternativos. Ao final, o círculo menor preenchido

dentro do maior sem preenchimento estabelece o fim do processo.

1.1.3 Diagrama de sequência

Larman (2002) esclarece que o diagrama de sequência de sistema evidencia

um cenário especifico (sucesso ou alternativo) de um caso de uso e a ordem em que

ocorrem os eventos gerados pelo usuário ao sistema. Além disso, descreve parte do

comportamento do sistema sem expor como é realizado.

Por exemplo, por meio do diagrama de sequência de sistema sabe-se que

existe um método que consulta os atendimentos para determinada agenda de uma

especialidade médica no dia corrente, contudo o detalhamento de como programar

essa rotina não é exposto.

A figura 1.3 demonstra a ordem de troca de mensagens entre os objetos do

sistema para Acolher o paciente.

Page 23: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

22

Figura 1.3 - Diagrama de Sequência Fonte: elaborado pelo autor, 2014.

As flechas contínuas caracterizam as trocas de mensagens entre os objetos,

ou seja, o objeto SHAM5001, cujo símbolo retrata a visão, chama o método

consultar(filtro : NTIFiltro).

Obviamente que esse método consome tempo que é indicado pelo tamanho

da barra ao final da flecha correspondente sobre a linha tracejada que determina o

tempo de vida do objeto BOAtendimento com o emblema do tipo controlador.

A DAOAtendimento que de acordo com seu ícone faz parte do modelo,

retorna ao controlador uma flecha tracejada que contêm o retorno requerido pelo seu

método. De forma análoga ao caso anterior o controlador retorna os dados do

acolhimento à visão.

O diagrama de sequência explicado possui um nível de detalhamento voltado

ao grau de implementação, demonstra características de linguagem de programação

e padrão arquitetural de desenvolvimento.

Um pouco diferente do conceito de diagrama de sequência de sistema

proposto por Larman (2003) no qual descreve a troca de mensagens estabelecida

entre o ator e o sistema sem recorrer a detalhes técnicos para o desenvolvimento,

pois esse faz parte da fase de captação de requisitos que, no entanto serve de

subsídio, na fase de projeto, ao diagrama de sequência exposto.

Page 24: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

23

1.1.4 Diagrama de classe

Schuster (2009) cita que o diagrama de classe é considerado por diversos

autores o principal diagrama da UML para se modelar sistemas seguindo o

paradigma da Orientação a Objetos, relacionou sua importância à espinha dorsal do

corpo humano.

De acordo com Vincenzi (2004) a Orientação a Objetos (OO) consistem em

agrupar logicamente métodos e atributos em classes que são moldes para se criar

objetos nos quais se relacionam entre si e trocam mensagens.

Por exemplo, do ponto de vista da OO uma pessoa do mundo real é uma

classe, pois possui atributos (nome, data de nascimento, altura, peso) para sua

qualificação e métodos (andar, correr, dormir, trabalhar) que modificam seu estado.

Dessa forma, os objetos derivados dessa classe recebem essas características.

Ainda no que diz a respeito ao diagrama de caso de uso Atendimento médico,

a figura 1.4 apresenta suas classes e como se relacionam entre si.

Figura 1.4 - Diagrama de Classe Fonte: elaborado pelo autor, 2014.

Antes de iniciar a explicação, vale destacar que essa modelagem é fictícia,

economizou-se na quantidade de atributos nas classes para deixar o exemplo mais

limpo, pois objetivo é demonstrar a notação UML para os respectivos elementos do

diagrama de classe seguidos de conceitos de OO.

Dessa maneira, a seta não preenchida que se origina nas classes paciente e

médico, aponta para a classe pessoa e representa a herança. Conforme Melo

Page 25: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

24

(2010), a herança permite compartilhar atributos e operações comuns entre as

classes e dessa maneira evita-se a redundância.

Ainda Melo (2010), as demais linhas que interligam as classes no diagrama

exercem o papel de associações entre essas, para exemplificar, um médico realiza

de nenhum a diversos atendimentos sendo que o 1 (um) à 0..* (zero ou mais) indica

a faixa de cardinalidade (multiplicidade) nessa associação.

De acordo com Booch, Rumbaugh e Jacobson (2006) o tipo de dado, a classe

e o caso de uso são classificadores que define características estruturais e

comportamentais importantes para a engenharia reversa que conforme Hautsch

(2009) compreende na análise profunda do objeto de estudo, por exemplo, um

programa, para descobrir seu comportamento e posteriormente melhorá-lo.

Para melhor compreensão, a figura 1.5 esclarece outros detalhes de notação

para os elementos do diagrama de classes.

Figura 1.5 - Aspectos Diagrama de Classe Fonte: elaborado pelo autor, 2014.

Dentro desse contexto os modificadores de acesso (+ e -) especificam o

escopo de visibilidade nos atributos e métodos de uma classe para as demais.

Também é explicitada a assinatura do método, com o parâmetro de entrada e o tipo

de retorno. Outro aspecto não menos relevante é o atributo seguido de dois pontos e

pelo seu tipo. (Booch; Rumbaugh; Jacobson, 2006).

Recapitulando, a UML oferece um conjunto de elementos gráficos nos quais

facilitam a modelagem de sistemas. Na sequência será elucidada outra tecnologia

primordial juntamente com seus principais componentes.

1.2 WEB

De acordo com Berners-Lee (1996), físico britânico inventor da World Wide

Web (WEB ou WWW), defini-a como um espaço repleto de páginas interconectada

Page 26: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

25

de texto, imagens, e animações, incluindo sons, mundos tridimensionais e vídeos

com os quais os usuários podem interagir.

Ainda Berners-Lee (1996), ressalta as diferenças entre Web e Internet para

que não sejam confundidas. Por exemplo, na Web encontram-se documentos, sons,

vídeos, informação e as conexões são os links, no entanto, os computadores e os

cabos que os interconectam, compõem a internet.

1.2.1 Navegadores de internet

Segundo Bozza (2011), os navegadores de internet, também conhecidos por

browsers, são softwares capazes processar e exibir o conteúdo virtual da internet

para os usuários. Basicamente, esse traduz as linguagens de marcações, folhas de

estilos e os comandos em Javascript a fim de construir um conteúdo compressível

ao usuário.

O StatCounter é um site que coleta dados e disponibiliza estatísticas sobre os

navegadores de internet mais utilizados em determinado período. Suas estatísticas

são publicadas a cada 4 horas, no entanto ficam sujeitas a testes de qualidade e

revisão por 14 dias a partir da publicação. (StatCounter, 2014).

Dessa maneira a figura 1.6 demonstra os 9 navegadores mais utilizados em

números relativos no período de 1 ano.

Figura 1.6 - Navegadores mais utilizados Fonte: StatCounter, 2014.

Page 27: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

26

O navegador Chrome, 1º colocado, desenvolvido pela Google, está disponível

para computador, celular e tablet. Resumidamente, segundo a Google (2014), suas

características essências são: velocidade, simplicidade, segurança, privacidade e

personalização.

O Internet Explorer (IE), da Microsoft, normalmente vem instalado em

sistemas operacionais Windows. Recentemente a Microsoft lançou uma versão para

Windows Phone.

Para a Mozilla (2014), empresa que desenvolve o Firefox, qualifica-o como

confiável, flexível e rápido. Esse está disponível para dispositivos móveis apenas

com Android ou Firefox OS.

Enfim, cada navegador possui vantagens, entretanto existem limitações

referentes aos sistemas operacionais suportados. A sessão 1.12 explica melhor

sobre o que são os sistemas operacionais, enquanto a próxima descreve a utilidade

do Hyper Text Markup Language (HTML).

1.2.2 Linguagens de marcação

O HTML é uma linguagem para marcação de hipertexto. Essencialmente, sua

finalidade é estruturar os documentos sendo que o tamanho das fontes, margens,

espaçamento entre os elementos e outras características de aparência fica a cargo

dos softwares responsáveis pela renderização dos documentos marcados com

HTML. (Silva, 2011).

Segundo a W3shools (2014), as tags HTML são palavras chaves circundadas

pelo sinal de menor e maior, por exemplo, <HTML>. Normalmente essas são escritas

em pares, ou seja, uma tag inicial <p> e outra equivalente para o fechamento com a

adição da barra </p>.

A figura 1.7 exemplifica um trecho de código que representa a estrutura

básica de qualquer documento HTML.

Figura 1.7 - Estrutura básica HTML Fonte: W3chools, 2014.

Page 28: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

27

Vale ressaltar que o HTML tem um conjunto mais amplo, do que apresentado

na figura 1.7, de tags pré-definidas e que a partir dessas não se constroem outras

personalizadas pelo desenvolvedor.

O HTML sofreu inúmeras modificações até a versão atual. Por exemplo, na

versão 3.0 criaram-se tabelas que não estavam presentes nas 1.0 e 2.0. A partir da

4.0 surgiu o suporte a linguagens de scripts bem como acessibilidade aos usuários

especiais. (Tanembau, 2003).

Por outro lado, conforme Pinto e Sacoll (2003), a eXtensilble Markup

Language (XML) diverge do HTML e da maioria das linguagens de marcação, em

razão de permitir o desenvolvimento de tags customizadas para uma nova

linguagem que possibilita representar e trocar dados, sendo intermediadora entre

diversos sistemas.

Dessa forma, Gomes (2010) descreve que a eXtensilble Hypertext Markup

Language (XHTML) é alicerçada no HTML e surgiu com algumas regras adicionais

para assim aproveitar mecanismos do XML. Uma das exigências obriga utilizar o

XHTML somente para a estrutura do site enquanto à aparência, o Casding Style

Sheets (CSS).

O HTML 5 é o padrão atualmente reconhecido pela World Wide Web

Consortium (W3C), principal organização de padronização da Web. Nessa versão

destaca-se a semântica implícita na estrutura de codificação da página e também

maior interatividade sem necessidade de recursos de terceiros. (Ferreira e Eis,

2010).

1.2.3 Folha de estilo em cascata

Conforme Pereira (2009), o CSS é uma folha de estilo para definir como os

elementos incluídos no código de página na internet serão exibidos, ou seja, retrata

a apresentação dos documentos.

Silva (2003) esclarece que o CSS nasceu após desenvolvedores encontrarem

problemas relacionados à manutenção das páginas em que nas tags HTML se

definia propriedades relacionadas à aparência do site.

Espinha (2010) explica que a sintaxe do CSS é formada basicamente por um

seletor, e uma ou mais declarações que correspondem às propriedades e os

valores. As propriedades representam características referentes aos estilos dos

Page 29: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

28

elementos em uma página, por exemplo, a cor, tamanho, tipo e a família das fontes

dentre outros.

A figura 1.8 retrata um exemplo de arquivo CSS separado do HTML

denominado aparencia.css, ou seja, uma folha de estilo externa que define certas

características para as tags de parágrafos.

Figura 1.8 - Aparencia.css Fonte: elaborado pelo autor, 2014

No entanto, para que os estilos sejam aplicados nas páginas, antes de tudo,

deve-se referenciar o arquivo aparencia.css em cada documento HTML, por meio da

tag <link>, como demonstrado na figura 1.9.

Figura 1.9 - Referenciar folha de estilos externa Fonte: Elaborado pelo autor, 2014.

Nesse cenário, para trocar a família da fonte nos parágrafos, basta alterar

uma vez o valor da font-family, independente da quantidade de ocorrência de

parágrafos e número de páginas envolvidas. Esse benefício não acontecia quando

havia regras de estilização em forma de atributos nas tags do HTML.

Então o CSS disponibiliza recursos necessários para formatar a estrutura de

páginas e até certas animações, ou seja, sua responsabilidade é embelezar o

conteúdo estruturado em HTML, no entanto, não é uma linguagem de programação

para validar dados, realizar cálculos e até mesmo exibir alertas após um

processamento.

Page 30: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

29

1.2.4 JavaScript

Ynemine (2002) explica que o Javascript é uma linguagem interpretada pelos

navegadores de internet, diferentemente da linguagem C# que é compilada. Essa

fornece diversos mecanismos, tais como validações de dados nas páginas Web,

animações, cálculos, mensagens e etc.

Em busca de proporcionar melhor interatividade aos usuários com as páginas

de internet foi desenvolvida uma biblioteca Javascript, denominada por JQuery. Silva

(2001) descreve que a biblioteca JQuery aprimora a usabilidade e acessibilidade ao

usuário, por meio de efeitos visuais e animações.

O plugin JQuery User Interface (UI) é constituído por um conjunto de

interações de interface de usuário, efeitos, widgets e temas baseados na biblioteca

JQuery, ou seja, serve para desenvolver aplicações Web altamente interativas.

(JQuery UI, 2014).

Limeira (2006) cita que o Asynchronous JavaScript and XML (AJAX) é uma

técnica que propicia o uso de requisições assíncronas na Web, ou seja, a cada

solicitação do usuário na página para servidor, não é necessário enviar todo seu

conteúdo e esperar o navegador recarregá-la complemente para continuar com

outras tarefas, pois seus mecanismos permitem atualizar somente parte da página

desejada.

1.2.5 Hypertext Transfer Protocol (HTTP)

Segundo Andrade (2009), para que os computadores na Web se entendam e

troquem informações criou-se um padrão de comunicação, o HTTP que basicamente

define a negociação de transferência de dados por meio de troca de mensagens. A

figura 1.10 ilustra a comunicação entre dois computadores por meio do protocolo

HTTP.

Figura 1.10 - Comunicação entre dois computadores Fonte: Concursos de TI, 2014.

Page 31: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

30

De acordo com Blebe (2010), a comunicação desse protocolo é

fundamentada em mensagens, sendo de dois tipos: requisição e resposta. As

mensagens são formadas de cabeçalhos e opcionalmente por conteúdo. Quando um

cliente envia uma mensagem ao servidor, essa ação é denominada requisição, em

contrapartida obtém-se o resultado na forma de resposta.

Ainda Blebe (2010) diz que os métodos HTTP especificam de que forma uma

requisição será tratada no servidor. Dentre os métodos, destacam-se dois: o get e o

post.

Segundo Macoratti (2013), os dois agrupam os dados em parâmetros de

solicitação na forma de pares, nome da variável e o seu valor, na requisição HTTP.

Macoratti (2013) ressalta que o get monta uma sequência de consulta (query

string) a partir desses parâmetros e adiciona isso junto à Uniform Resource Locators

(URL), dessa forma, esse método se torna inseguro, pois permite manipular os

dados. Além disso, possui tamanho limitado para transferência.

Diferentemente do get, Macoratti (2013) descreve que o post é um método

seguro, pois os parâmetros compõem o corpo da mensagem, e assim, não

aparecem na parte superior do navegador, local destinada a URL. Dessa maneira,

não tem como manipular os valores inseridos aos parâmetros da requisição. Outra

característica importante é o tamanho de transferência ilimitado.

1.2.6 Uniform Resource Location (URL)

Na Web, conforme Berners-Lee et al (1994), os recursos são acessados por

meio da URL na qual define os seus endereços de localização nos servidores.

A sintaxe da URL poderá variar de acordo com protocolo utilizado. Isto é, para

o protocolo HTTP sua forma básica será: http://<host>:<port>/<path>?<searchpart>,

ou seja, www.famema.br/institucional/busca.php?pesq=saude. (Berners-Lee et al,

1996).

Dessa forma, ainda, Berners-Lee et al (1994) explicam que o host é o nome

do domínio (servidor), nesse caso o www.famema.br; se a porta for omitida, então

assumirá a 80 por padrão, o path especifica o caminho do recurso, no servidor,

sendo o recurso a página busca.php que se encontra na pasta institucional; e a

searchpart indica valores de parâmetros para pesquisa. Vale ressaltar que tanto o

path e a searchpart são partes alternativas, ou seja, podem ser omitidas.

Page 32: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

31

Conforme Chan, Holznagel e Frantz (2010), descrevem que qualquer URL

possui o seu Protocolo de Internet (IP) no qual determina um número de endereço,

algo parecido assim: 200.156.241.235. Na internet essa sequência de números (IP),

especifica onde se localiza um dispositivo em particular.

No mais, Chan, Holznagel e Frantz (2010) relatam que os navegadores de

internet não conhecem automaticamente cada IP dos dispositivos conectados na

rede mundial, então esses precisam localizá-los em um local denominado Sistema

de Nome de Domínio (DNS) no qual traduz uma URL (www.famema.br) no seu

respectivo número de IP (200.144.25.14).

1.2.7 Conteúdo na Web

A Web passou por diversas transformações ao longo do tempo. No início a

natureza das páginas era estática, ou seja, os usuários tinham acesso à informação

só que não podiam manipular o conteúdo e isso marcou a Web 1.0. Porém com o

advento da Web 2.0 o usuário começou a criar e publicar informações de forma

dinâmica. (Ferreira; Silva; Siman, 2009).

Souza (2004) cita que a Web semântica não é independe das anteriores, pelo

contrario, venho para ampliar o conceito sobre o assunto. Sua concepção expõe

fortemente a importância do significado acerca da informação na qual amplifica a

interação entre pessoas e computadores.

Para atender a nova demanda nesse cenário apareceram várias tecnologias

de desenvolvimento, dentre essas a plataforma .NET.

1.3 FRAMEWORK .NET

De acordo com Payne (2001), o .NET framework é uma coleção de objetos e

plantas da Microsoft para produzir aplicativos.

Esse framework tem suporte e integração a diversas linguagens de

programação, dentre as mais conhecidas, C#, Visual C++ .NET, Cobol, Pascal e

Visual Basic .NET. Por exemplo, um conjunto de classes escrito na linguagem C++

pode ser utilizado em um programa C#. (Cerqueira, 2008).

Além da portabilidade de desenvolvimento em diversas linguagens de

programação, os aplicativos na plataforma .NET são compatíveis com qualquer

Page 33: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

32

sistema operacional. Essas vantagens são garantidas pela Microsoft Intermediate

Language (MSIL). (Torre, 2012).

Santos (2003) afirma que os aplicativos construídos com o .NET framework

são compilados na linguagem MSIL e nesse cenário, Schmitz (2004), descreve que

essa linguagem é interpretada somente pela Common Language Runtime (CLR) da

plataforma. A CLR traduz o código MSIL em código de máquina para que assim

esse possa ser compreendido pelo processador.

Segundo Macdonald (2002), o processamento, execução e gerenciamento da

MSIL é papel da CRL, um ambiente de tempo de execução. Logo as tarefas cruciais

da CLR são: gerenciamento de memória, gerenciamento de sequência e verificação

de segurança.

1.4 IDE VISUAL STUDIO

A Microsoft (2014) disponibiliza um ambiente integrado de desenvolvimento

(IDE) denominado Visual Studio para a plataforma .NET. Essa ferramenta simplifica

o trabalho com equipes em projetos, desenvolvimento e implantação de soluções

empresariais.

1.5 LINGUAGEM DE PROGRAMAÇÃO C#

Para Deitel e Deitel(2003) o C# tem características semelhantes provenientes

e ajustadas do Java e C++. Por exemplo, essa é uma linguagem compilada e segue

o paradigma da orientação a objetos, peculiaridades idênticas ao Java.

Cardoso (2014) cita no seu artigo os termos e símbolos considerados

operadores, tabela 1.2, em uma expressão, bem como os tipos de dados comuns,

tabela 1.1, utilizados na declaração das variáveis em C#.

Tabela 1.1 - Tipos de dados em C#

Nome Classe .NET Tamanho Intervalo

Byte Byte 8 0 a 255

Sbyte SByte 8 -128 a 127

Int Int32 32 -2147483648 a 2147483647

Uint Uint32 32 0 a 4294967295

Page 34: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

33

Short Int16 16 -32768 a 32767

Ushort UInt16 16 0 a 65535

Long Int64 64 -922337203685477508 a 922337203685477507

Ulong UInt64 64 0 a 18446744073709551615

Float Single 32 -3,4 x 10^28 a 3,4 x 10^38

Double Double 64 ±5,0 x 10^-324 a ±1,7 x 10^308

Char Char 16

Bool Boolean 8 true ou false

Object Object

String String

decimal Decimal 128 (-7,9 x 10^28 a 7,9 x 10^28) / (10^(0 a 28))

Fonte: Cardoso, 2014.

Conforme Kossoski (2010), um dado equivale a uma situação ou ideia, em

lógica de programação pode ser qualificado como qualquer informação em estado

primitivo. Cada tipo representa um conjunto de valores disponíveis reservado para o

dado que é armazenado na variável.

Tabela 1.2 - Operadores

Categoria Operadores

Primários x.y, f(x), a[x], x++, x–, new, typeof, checked, unchecked, default(T),

delegate, sizeof, ->

Unários +x, -x, !x, ~x, ++x, –x, (T)x, await, &x, *x

Aritméticos x * y, x / y, x % y, x + y, x – y

Shift (Troca) x << y, x >> y

Relacional x < y, x > y, x <= y, x >= y, is, as

Igualdade x == y, x != y

E lógico x & y

OU Exclusivo

Lógico x ^ y

OU Lógico x | y

E Condicional x && y

OU Condicional x || y

Page 35: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

34

Condicional ?:

Atribuição x = y, x += y, x -= y, x *= y, x /= y, x %= y, x &= y, x |= y, x ^= y, x

<<= y, x >>= y

Null-coalescing ??

Lambda =>

Fonte: Cardoso, 2014.

Cardoso (2014) descreve que em certos momentos o fluxo de execução de

um programa se alterna dependendo da situação imposta. Para tanto, o C# tem os

comandos reservados: IF, ELSE e CASE. Além disso, os comandos DO, FOR,

FOREACH e WHILE abrangem casos em que é necessário executar repetitivamente

determinada rotina até ou não certa condição.

Em C# é possível definir um método anônimo, ou seja, uma função regular e

sem nome na qual seu código fica explicitado no ponto de uso, sendo que uma

expressão em lambda define como codificá-lo de forma consistente e robusta. Assim

uma função é considerada expressão quando mapeia parâmetros de entrada e a

partir de operações sobre esses gera os parâmetros de saída. (Griffiths;

Adams;Liberty, 2010).

De acordo com a Microsoft (2014), a diretiva de pré-processador #region

permite agrupar e esconder trechos de código fonte para que o desenvolvedor possa

se concentrar apenas na parte em que está trabalhando em arquivos extensos.

Assim como a linguagem Java o C# pode ser utilizado como script no lado do

servidor.

1.6 ACTIVE SERVER PAGES (ASP) .NET FORMS

Payne (2001) destaca que o .NET framework é o alicerce da plataforma

ASP.NET. Mas também, Torre (2012) cita que essa tecnologia surgiu após inúmeros

problemas com a sua sucessora e tradicional ASP que não era alicerçada no

framework .NET.

Por exemplo, Macoratti (2000) diz que a mistura de script de servidor

responsável pela lógica do sistema com a linguagem de marcação HTML dificultava

o reaproveitamento e a manutenção no ASP clássico.

Page 36: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

35

De acordo com Payne (2001), no contexto da solicitação/resposta, o modelo

baseado em evento, no qual o ASP.NET Forms funciona, realiza no servidor

determinado processamento a partir de alguma ação que ocorre no cliente. Por

exemplo, ao carregar a página, ao clicar no botão e assim por diante.

Conforme mencionado, o ASP clássico prejudicava o reaproveitamento e a

manutenção de suas páginas, entretanto com o advento do ASP.NET essa

adversidade foi solucionada.

Para a Microsoft (2014), o modelo Code-Behind consiste: separar fisicamente

em arquivos distintos, o código com a lógica (default.aspx.cs) da linguagem de

marcação (default.aspx), e dessa forma assegurar a reusabilidade para múltiplas

páginas e a legibilidade do código.

Segundo a Microsoft (2014), o ASP .NET incorpora quatro grupos de controles

para servidor, tais como: HTML, validação, Web e de usuário, para construção de

páginas. Conforme Macoratti (2013), esses controles permitem a interação entre o

usuário e a página. Como são processados no servidor, é possível associar eventos

e manipular suas propriedades.

E assim, Trigo et al (2008) descrevem que é por meio dos formulários e

controles de servidor que acontece a origem dos eventos de servidor provenientes

dos eventos cliente.

Qualquer página Web em ASP .NET tem uma sequência de passos definidos

em seu ciclo de vida, denominado round trip. Nos próximos parágrafos será descrito,

segundo a própria Microsoft (2014), como acontece esse processo.

Inicialmente, o usuário solicita a página usando um método HTTP GET. Essa

é processada pela primeira vez no servidor, esse executa o que estiver programado

preliminarmente.

Em seguida, a página dinamicamente produz a marcação de acordo com o

navegador, para o usuário isso é transparente, e enxerga-a como uma página da

Web, semelhantemente a qualquer outra.

Em um cenário comum, o usuário digita ou seleciona informações à partir de

checkboxs disponíveis e clica em um botão. No entanto, se um link é clicado ao

invés de um botão, então simplesmente ocorre à navegação entre as páginas, mas

no servidor não acontece nenhum processamento.

Após o clique do botão, o navegador executa um método HTTP POST, que

no ASP.NET é referido como uma nova postagem. Especificamente, a página é

Page 37: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

36

enviada de volta para si mesmo. Por fim, o servidor Internet Information Services

(IIS) compila a página e processa as informações conforme foi programado e

posteriormente devolve essa renderizada para o navegador.

Desse modo, em conformidade Abreu (2006), o ASP .NET concede uma

maneira de esconder detalhes de implementação de um conjunto particular de

funcionalidades nas quais permitem lidar com valores obtidos em pedidos HTTP.

Até o momento foi abordado de que forma são construídas as páginas Web e

como dados em uma aplicação na plataforma ASP .NET Forms são transportados

ao servidor. A próxima sessão esclarece o novo paradigma de desenvolvimento de

aplicações em camadas na qual a Microsoft aderiu e criou um framework a partir

desse modelo.

1.7 MODELO VISÃO E CONTROLE (MVC)

O MVC por essência separa em camadas distintas responsabilidades

pertinentes a soluções de um software. Essas partes se colaboram entre si mesmo

estando dividas logicamente. Basicamente, o controlador gerencia o fluxo da

aplicação, os dados do modelo somente são transportados à visão e vice-versa por

intermédio do controlador. (Baptistella, 2009).

Segundo Tavares (2008) para atender nova demanda a Microsoft lançou o

ASP .NET MVC. Nessa estrutura, o controlador processa uma solicitação HTTP

inicializa o modelo e escolhe a visão que retorna em forma de resposta HTTP para

exibição de dados ao usuário. A figura 1.11 ilustra o funcionamento básico do

framework ASP .NET MVC.

Figura 1.11 - ASP .NET MVC Fonte: Microsoft, 2008

Page 38: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

37

Lotar (2011) explica em quais situações o uso do ASP .NET MVC se torna

vantajoso, segue alguns desses pontos:

No controle total sobre o HTML retornado nas visões;

Para testes unitários nos projetos;

Separação clara entre o design, o código e a camada de dados;

Reduz o tamanho das páginas geradas;

Equipes grandes podem-se dedicar a uma camada da aplicação;

Portabilidade, ou seja, páginas web tanto para computadores quanto

dispositivos móveis.

Conforme Sanchez (2012) na camada view utiliza-se a tecnologia Razor para

escrever comandos em C#. O Razor é uma View Engine, infra-estrutura capaz de

gerar HTML, robusta, que possui Helpers com aplicabilidades específicas, como por

exemplo, a integração com Facebook. Além disso, permite criar novos Helpers com

funcionalidades personalizadas pelo desenvolvedor.

Segundo a W3shools (2014) em Razor, o caráter @ indica ao servidor o início

de um trecho de comando que pode estar em C#, semelhantemente a linguagem

php em que se usam as tags <?php ?> para determinar um segmento de código,

conforme exemplificado na figura 1.12.

Figura 1.12 - Sintax Razor vs Php Fonte: W3shools, 2014.

Palermo et al (2012) descrevem que as views são partes críticas em uma

aplicação ASP .NET MVC, essas fornecem uma maneira de separar a apresentação

Page 39: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

38

da lógica de aplicação. De forma simples, sua meta é pegar o respectivo modelo

passado pelo controlador a fim de redenrizar seu conteúdo.

Para adentrar um pouco mais sobre as views, de acordo com Shekhawat

(2013) o termo layout, em Razor, tem um sentido de mestre das paginas (Master

Pages), em outras palavras, permite criar um padrão de página genérico que se

repete ao longo de diversas outras.

Além do Layout, segundo Galloway et al (2012), o Razor possibilita incluir um

fragmento de página (partial view) em views distintas a partir do helper

html.partial. Em razão disso, um segmento de página contém trechos de

linguagem de marcação reutilizáveis a múltiplas views.

Ainda no que concerne a esse assunto, para Chadwick, Snyder e Panda

(2012) mediante a declaração explicita da propriedade @model, que representa a

camada modelo, ao topo de uma view (figura 1.13) é possível acessar os dados

provenientes de um controller.

Figura 1.13 - Declaração modelo Requisicoes.cshtml Fonte: elaborado pelo autor, 2014.

Neste caso, a view Requisicoes.cshtml está fortemente ligada a estrutura de

informação que contém a classe RequisicaoViewModel.

Para Galloway et al (2012), as views models auxiliam mostrar nas views uma

variedade de dados que não estão mapeadas diretamente na model. Por exemplo,

exibir dados relacionados à paginação na view de requisições.

Outra maneira de passar os dados da camada controller para a model é

utilizando a ViewData, um dicionário especializado de classe, ou a ViewBag, uma

camada dinâmica em torno da ViewData que permite transmitir estruturas de dados

complexas sem conversão de tipos. Galloway et al (2012).

É possível também manter dados na memória do servidor, para

compartilhamento, entre um redirecionamento de páginas recorrendo a TempData,

um dicionário de objetos derivado da classe TempDataDictionary. Por outro lado, a

propriedade Session da classe HttpContext admite vários redirecionamento sem

perder seu conteúdo. (Chauchan, 2012).

Page 40: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

39

A figura 1.14 apresenta a duração do tempo de vida das propriedades

oferecidas pelo ASP .NET MVC e quando são utilizadas para transporte de dados.

Figura 1.14 - Tempo de vida propriedades Fonte: Chauchan, 2012.

Chadwick, Snyder e Panda (2012) mencionam que o modelo reflete o coração

da lógica de negócio e seus dados do mundo real. Isto é, o Plain Old Clr Object

(POCO) representa a lógica de negócio por meio de classes simples com

propriedades, construtor e métodos sem utilizar algum tipo de framework.

Por outro lado, ainda Chadwick, Snyder e Panda (2012) relatam que a

plataforma .NET, por ser extensível, dispõe diversas maneiras de acesso à dados

recorrendo a componentes e outros frameworks, dentre esses se enquadra o

ActiveX Data Objects (ADO) .NET.

Além disso, Roff (2001) diz que o ADO . NET é uma solução universal de

acesso a dados que consiste em um modelo base de objeto na qual abrange

funcionalidades do Object Linking and Embedding (OLE BD), tecnologia que permite

conectar a diferentes bancos de dados, por exemplo, SQLServer, MYSql e Oracle.

Para complementar, Elliott (2008) descreve que o Data Acess Object (DAO)

ou camada de persistência é um padrão que auxilia separar o código referente à

aplicação do que acessa e manipula registros no banco de dados.

Assim é possível utilizar mecanismos fornecidos pelo ADO .NET em um

conjunto de classes que estarão logicamente organizadas e preparadas a responder

ações eminentes ao padrão DAO na camada modelo do MVC.

Page 41: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

40

Outro aspecto fundamental, conforme a Web Camps Team (2013), é que o

ASP .NET MVC fornece Action Filters (filtros de ação) para executar a lógica de

filtragem necessária antes ou depois de um método do controller ser chamado.

Ao elucidar o padrão arquitetural MVC tornou-se evidente a adoção de outros

padrões principalmente no modelo que rompe a fronteira da aplicação para se

comunicar a um componente externo, neste caso o banco de dados no qual à

próxima sessão refere-se.

1.8 BANCO DE DADOS RELACIONAL

O Banco de Dados (BD) é uma parte fundamental para construção de páginas

dinâmicas na Web.

Segundo Rezende (2005) o BD é uma coleção de dados. Tem a capacidade

de eliminar a redundância de informações por meio do compartilhamento dos dados

entre diversos sistemas. Normalmente esse é administrado por um software,

denominado Sistema Gerenciador de Banco de Dados (SGBD).

Na perspectiva de Date (2004) os BDs são semelhantes aos armários de

arquivamento nos quais se depositam as coleções de arquivos de dados

informatizados e que permitem aos usuários realizarem diversas operações por meio

dos SGBDs.

Heuser (2009) alega que os SGBDs auxiliam na produtividade, pois

incorporam tarefas rotineiras nas quais antes desenvolvedores tinham que elaborar

e assim consequentemente seus programas se tornavam bem maiores. Esses

englobam funções de definição, recuperação e alteração de dados.

A tabela 1.3 abrange um rank baseado na popularidade dos 4 principais

SGBDs do mercado no mês de agosto de 2014, logicamente, isso não significa que

são utilizados pelas empresas conforme a classificação apresentada, pois o

resultado do rank é alicerçado nas seguintes características:

Número de menções em WebSites;

Buscas no Google e Bing;

Discussões técnicas sobre o SGBD em alguns sites de Fóruns;

Número de vagas oferecidas relacionada ao SGBD;

Número de profissionais que mencionam o SGBD nas redes socias.

Page 42: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

41

Tabela 1.3 - Popularidade dos principais SGBDs

Rank. jul/14 SGBD Modelo do Banco Pontos Variações

1. 1. Oracle SGBDR 1470.86 -14.26

2. 2. MySQL SGBDR 1281.22 -14.56

3. 3. Microsoft SQL Server SGBDR 1242.50 -4.10

4. 4. PostgreSQL SGBDR 249.85 +10.40 Fonte: DB-ENGINES, 2014.

Na fase de projetos, Heuser (2009) menciona dois modelos escritos em

linguagens textuais ou gráficas nos quais descrevem como as estruturas dos dados

se alojarão dentro dos BDs a partir de determinado contexto do mundo real. O

modelo conceitual trata esse ponto independente da implementação em um SGBD

específico, no entanto, isso não se estende ao modelo lógico, pois estão em níveis

diferentes de abstração.

Para Ramakrishnan e Gehrke (2008) no banco de dados uma entidade

caracteriza um objeto distinguível no mundo real, por exemplo, paciente,

especialidade e assim por diante.

Nesse sentido, Heuser (2009) afirma que os atributos determinam um

conjunto de valores (dados) relacionados a cada ocorrência (registro) de uma

entidade ou relacionamento.

Vale apena destacar que somente as entidades com seus respectivos

atributos não representariam de forma consistente qualquer cenário concreto se

ficassem isoladas uma das outras. Assim, o conceito de relacionamento retrata o

vínculo entre as entidades que conecta as informações de ambas as partes. (DATE,

2004).

Convém salientar que, no relacionamento a cardinalidade delimita o número

de registros participantes. (Mannino, 2007).

Acrescenta-se, ainda, que segundo Ramakrishnan e Gehrke (2008) a chave

primária é um atributo diferenciado no qual serve para identificar um registro nas

entidades, dessa maneira, essa restringe um único valor para cada registro da

entidade.

De acordo com Coxall (2013) as ferramentas de modelagem da Oracle,

Designer e Data Modeller, utilizam a notação de Baker para representar as

entidades, atributos e relacionamentos no modelo conceitual.

Page 43: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

42

A figura 1.15 demonstra um exemplo do modelo conceitual, elaborado com a

ferramenta Data Modeller, que representa parte do cenário do atendimento médico.

Figura 1.15 - Modelo conceitual Fonte: elaborado pelo autor, 2014.

Resumidamente as duas áreas retangulares nomeadas na devida ordem,

Agenda e Agendamento retratam as entidades. Dentro dessas são especificados os

atributos seguidos por símbolos, tais como: sustenido, indicando a chave primária;

asterisco determinando obrigatoriedade; e o círculo que determina opcional o valor

do atributo.

A linha que conecta as duas entidades expõe o relacionamento entre ambas,

sendo que, no lado do Agendamento tem-se uma linha perpendicular sobre a

principal com dois vértices (pé de galinha) na qual implica a cardinalidade 1 para

muitos, no lado da Agenda a linha principal denota apenas 1 registro.

Em outras palavras, para cada agenda médica haverá pelo menos de 1 a

muitos agendamentos.

Dadonas (2007) diz que o Create Read Update e Delete (CRUD) são

operações básicas de um sistema computacional para manipulação dos dados no

BDs sendo implementadas na camada de persistência que é responsável por tarefas

comuns entre a aplicação e o BD.

1.9 ORACLE 10G

Segundo Tavares e Souza (2006) a parte do servidor do SGBD Oracle 10g

dispõe de estruturas para o gerenciamento e recuperação do BD em caso de falhas.

Page 44: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

43

Além disso, esse possui estruturas lógicas de BD (tabelas, índices, sequências,

visões e esquemas de usuário).

É importante salientar que a empresa Oracle oferece uma plataforma de

servidor de aplicação, denominada Oracle Internet Application Server, na qual

proporciona um serviço de impressão de relatório acessível às demais aplicações.

(Oracle, 2014).

1.10 BOOTSTRAP

De acordo com Nascimento (2013), o Bootstrap é um kit de ferramentas nas

quais auxiliam o desenvolvimento de sites e sistemas Web. Esse possui um conjunto

de componentes baseados em CSS e Javascript sendo compatível com HTML5 e

CSS3 e, além disso, permite desenvolver um layout responsivo.

Alves (2013) cita que a Web Desing Responsivo é uma técnica que tem por

essência adaptar as páginas de um site conforme a resolução estabelecida em

diversos dispositivos. Resumidamente essa é composta por três táticas: Layout

Fluído, Imagens Flexíveis e Media Queries.

Em síntese, ainda Alves (2013), detalha que é a partir de medidas relativas,

ou seja, não fixas, que se alcança o Layout Fluído, de maneira similar, adota-se

medida em porcentagens para as Imagens Flexíveis e por fim utilizam-se as Media

Queries para ocultar e reposicionar elementos conforme a resolução dos

dispositivos.

O autor destaca que essas táticas da Web Desing Responsivo são

configuráveis nos arquivos de CSS do projeto no site.

Tendo consciência dessa complexidade, felizmente o framework Bootstrap

permite colocar em prática as três táticas descritas até então.

1.11 TÉCNICAS RESPONSIVAS

Essa sessão visa explicar com exemplos retirados do site oficial do Bootstrap

desde a concepção inicial para utilizar esse poderoso framework até os alguns

pontos fundamentais que proporcionam layout responsivo.

Dessa maneira a figura 1.16 demonstra a configuração básica de tags para o

uso do Bootstrap nas páginas cshtml.

Page 45: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

44

Figura 1.16 - Modelo página Bootstrap Fonte: Bootstrap, modificado pelo autor, 2014

A tag <meta name="viewport" content="width=device-width,

initial-scale=1"> permite que as páginas sejam redenrizadas conforme o

tamanho da viewport do browser com escala inicial 1 de zoom.

De acordo com a W3C (2011) a viewport é uma janela ou outra área de

visualização na qual o usuário olhar um documento. É responsabilidade do

navegador de internet prover mecanismos de acessibilidade, tais como barra de

rolagem, a viewport.

O sistema em grid do Bootstrap com foco no desenvolvimento de sites para

aparelhos móveis, auto se ajusta à medida que a viewport aumenta e diminui. Esse

inclui classes pré-definidas como opções de layouts simples. Por outro lado, o

Bootstrap permite construir seu próprio layout a partir do Less mixins e suas

variáveis. (Bootstrap, 2014).

A figura 1.17 detalha o HTML e as classes CSS necessários para elaboração

do grid fluído. Como resultado a figura 1.18 retrata a maneira que o layout será

visualizado pelo usuário.

Figura 1.17 - Html grid fluído Fonte: Bootstrap, modificado pelo autor, 2014.

Page 46: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

45

Figura 1.18 - Apresentação grid fluído Fonte: Bootstrap, 2014.

O grid fluído é baseado por tags <div> nas quais dispõem de funções

diferentes determinadas pelas classes: .container-fluid que concede a área

flácida do grid; .row para formar as linhas; e col-md- que estrutura cada coluna.

A tabela 1.4, demonstra o comportamento do grid com 12 colunas em relação

aos limites de resolução configuradas e estabelecidas no arquivo CSS por Media

Queries.

Tabela 1.4 - Opções do grid

Dispositivo muito pequeno (<768px)

Dispositivo pequeno (≥768)

Dispositivo médio (≥992)

Dispositivo grande (≥1200)

Comportamento Horizontal em todos os momentos

Começa a quebrar, no entanto horizontal acima da resolução.

Tamanho container

Automático 750px 970px 1170px

Prefixo da classe

.col-xs- .col-sm- .col-md- .col-lg-

Colunas 12

Tamanho da coluna

Automático ~62px ~81px ~97px

Tipo dispositivo Celulares Tablets Computadores e notbooks

Computadores e notbooks

Espaçamento entre colunas

30px (15px em para cada lado de uma coluna)

Fonte: Bootstrap, modificado pelo autor, 2014.

Para o entendimento da tabela 1.4, imagine duas <div> estilizadas

respectivamente pela classe .col-xs-6. O número 6 representa que cada <div>

ocupará o espaço de seis colunas, somando-se ambas obtêm-se 12 espaços de

colunas simples preenchidos em uma linha.

A tabela 1.4 informa que a classe cujo prefixo é .col-xs- possui tamanho

automático, por isso independente da resolução, o conjunto de 12 colunas formadas

por esse estilo ficaram alinhadas horizontalmente.

Page 47: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

46

Por outro lado, duas <div> estilizadas na devida ordem pela classe col-sm-6

manifestarão o mesmo comportamento da col-xs-6, entretanto somente para a

resolução superior a 768px.

Isso acontece, pois a . col-sm- tem um valor mínimo de 62px para a largura,

dessa forma, a soma da largura mínima dos píxeis mais o total de espaçamento das

12 colunas forçarão o empilhamento na vertical dessas na resolução menor que

768px para ajuste do layout. Semelhantemente, isso ocorrerá também com as

classes .cod-md- e cod-lg- em resoluções menores para quais foram criadas.

Só para ilustrar, a figura 1.19, demonstra cada view com seu respectivo

conteúdo: linguagem de marcação, CSS e Razor essências na montagem do grid

flexível dos exames.

Figura 1.19 - Grid flexível exames Fonte: elaborado pelo autor, 2014.

Em virtude disso, o Layout.cshtml define o contêiner fluído, nesse contexto a

área interna da <div class=”container-fluid”> adquiri a view

RequisicaoExame.cstml na qual delimita uma linha ( <div class=”row”>) de

uma coluna ( <div class=”col-md-12”> ).

Em seguida, aninha-se outra linha que contem um laço de repetição

(foreach) com a finalidade de produzir colunas, com base em Exame.cshtml,

proporcionalmente ao número de exames da requisição.

Sendo assim as figuras 1.20, 1.21,1.22 e 1.23 representam respectivamente a

visualização do grid flexível dos exames em quatro tamanho diferentes da viewport.

Page 48: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

47

Figura 1.20 - Viewport 1200px Fonte: elaborado pelo autor, 2014.

Figura 1.21 - Viewport 992px Fonte: elaborado pelo autor, 2014.

Figura 1.22 - Viewport 768px Fonte : elaborado pelo autor, 2014.

Page 49: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

48

Figura 1.23 - Viewport 361px Fonte: elaborado pelo autor, 2014.

Dessa forma é importante salientar que o grid fluído assegura o Desing

Responsivo a partir da aplicação em conjunto de duas técnicas: o layout fluído e as

Media Queries.

1.12 SISTEMA OPERACIONAL

De acordo com Oliveira, Carissimi, e Toscani (2010), o sistema operacional

(SO) é uma camada de software entre o hardware e os programas nos quais

desempenham tarefas para os usuários. Sendo assim, o objetivo do SO é tornar a

utilização dos recursos de hardware mais eficiente e conveniente simultaneamente.

Segundo Jordão (2013), para se adaptar aos diversos tipos de usuários as

companhias criaram diferentes SOs, dessa forma, a princípio, esses eram voltados

aos computadores gigantes e posteriormente foram lançados para computadores

pessoais. Em 2007, a Apple revolucionou o mercado de dispositivo móvel quando

apresentou o iOS.

Atualmente os SOs mais conhecidos para computadores pessoais são:

Windows da Microsoft, Linux, MAC Os da Apple. Por outro lado, os SOs para

dispositivos móveis são: iOS da Apple, Windows Phone da Microsoft e Android da

Google. (Jordão, 2013).

A Tecmundo, website que contém artigos sobre tecnologias, avaliou a

quantidade de acessos em suas páginas utilizando a ferramenta Google Analytics,

por sistema operacional, em dois momentos: entre 01 de janeiro de 2013 e 15 de

Page 50: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

49

maio de 2013; e entre 01 de janeiro de 2014 e 15 de maio de 2014, figura 1.24.

(Landim, 2014).

Figura 1.24 - Acessos ao website Tecmundo por SO Fonte: Google Analytics/Tecmundo, 2014.

Ainda no que concerne a figura 1.24, houve uma queda de 12,65% na

variação de acessos ao site por SOs de computadores pessoais entre os dois

períodos, enquanto para os SOs de dispositivos móveis houve um aumento de

12,69%.

Apesar do nicho de público que o site da Tecmundo atende, essas

informações retratam a mudança que está ocorrendo na Web, ou seja, as pessoas

começaram acessar seus sites favoritos a partir de browsers instalados em SOs de

dispositivos móveis.

Page 51: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

50

2 ANÁLISE E PROJETO DO SISTEMA

Este capítulo descreve por meio de diagramas a estrutura do projeto do

sistema. Além disso, esclarece o problema, define os autores envolvidos e a regra

de negócio.

2.1 ANÁLISE DE NEGÓCIO

A princípio, para se desenvolver qualquer tipo de sistema é importante

analisar as regras de negócio no cenário em que ocorrem as atividades, os atores

envolvidos e sistemas correlatos, para assim, entregar uma ferramenta robusta e

que atenda os principais requisitos do cliente.

2.1.1 Instrução do problema

O complexo Famema realiza exames laboratoriais de diversos pacientes

encaminhados pelos médicos das unidades de saúde. Os resultados são impressos

após serem liberados pelo laboratório e enviados a cada unidade de saúde para que

os médicos solicitantes avaliem e tomem decisões a partir desses.

Nesse contexto, acontece o retardamento do processo de diagnóstico, pois

nem sempre o resultado está acessível ao médico interessado no momento exato

em que esse foi liberado pelo laboratório, além disso, aumenta o custo de impressão

e logística de transporte.

A solução proposta baseia-se em uma aplicação Web capaz de reduzir o

tempo de espera dos profissionais ao resultado de exame. Para tanto, o intuito é

permitir a visualização do resultado pelo médico assim que esse for liberado. Além

disso, amenizar o gasto com impressões e suspender o envio de resultados para

unidades de saúde utilizando o meio de transporte rodoviário.

2.1.2 Análise de mercado

Atualmente esse tipo de sistema abrange parte dos laboratórios e hospitais

brasileiros. No entanto, dependendo dos requisitos esses sofrem variações nas

funcionalidades e interface gráfica.

Page 52: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

51

A Associação Beneficente Hospital Universitário de Marília (ABHU), em seu

site, tem uma área restrita para pacientes e médicos consultarem laudos de exames.

Por questões de segurança esses devem se identificar por meio de login e senha

(Figura 2.1).

Figura 2.1 - Acesso aos laudos ABHU Fonte: ABHU, modificado pelo autor, 2014.

O Hospital das Clínicas da Faculdade de Medicina da Universidade de São

Paulo permite que os pacientes visualizem seus laudos, entregando-lhes um

controle em código de barras que informa o número da requisição, senha gerada e a

previsão em dias do resultado, a figura 2.2 mostra a tela para identificação.

Figura 2.2 - Login HC SP Fonte: HC, 2014.

A Digitalmed é uma empresa que desenvolve soluções ao segmento da

medicina diagnóstica. Essa desenvolveu uma solução (plataforma Web) de consulta

a laudos para laboratórios e clínicas de diagnóstico por imagem que além do médico

Page 53: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

52

e paciente, disponibiliza acesso aos convênios e estabelecimentos de saúde que

solicitaram exames.

A figura 2.3 demonstra a tela de pesquisa, aos estabelecimentos de saúde,

das amostras de exames pelo nome do paciente e convênios sendo que cada

amostra possui um ou mais exames.

Figura 2.3 - Amostras Fonte: Digitalmed, modificado pelo autor, 2014.

O aplicativo Laudo.net da empresa Saudebytes proporcional segurança na

transmissão de dados por meio de algoritmos de criptografia em chaves de 128 bits,

além disso, gera senhas que não se repetem. Permite também que os médicos

solicitantes e pacientes acompanhem o progresso do exame e data prevista para

entrega do laudo após sua realização. (Saudebytes, 2014).

As características dessas soluções auxiliam a compreender padrões gerais de

requisitos funcionais e não funcionais em comum nas quais o desenvolvimento de

um novo sistema dessa categoria tende a seguir.

2.1.3 Atores envolvidos no processo

A Famema dispõe de Serviços Auxiliares de Diagnóstico e Terapêutico

(SADT) nos quais englobam os exames laboratoriais e envolvem o trabalho dos

médicos e outros profissionais de apoio.

A preocupação do paciente e sua família com seu próprio estado de saúde

motivam-no a procurar respostas por intermédio dos médicos ao SADT, e

consequentemente, nesse contexto, torna-se o cliente, ou usuário final.

Page 54: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

53

Na Famema, os exames laboratoriais se enquadram dentro modalidade

SADT. Basicamente há dois grupos maiores de especialistas, os médicos

solicitantes e os profissionais que trabalham em conjunto no laboratório para

fornecer os resultados.

Os profissionais de apoio (recepcionista e escriturário) são aqueles que

recebem os pacientes para dar início ao processo de SADT. Além disso, enviam os

resultados impressos de exames liberados pelo laboratório à respectiva unidade de

saúde solicitante.

Vale ressaltar ainda que na Famema um dos papeis do Núcleo Técnico de

Informações (NTI) composto por analistas de sistemas, programadores e operadores

de computador é assegurar o funcionamento do Sistema Hospitalar (SIHOSP).

O SIHOSP é uma aplicação desktop em ambiente de rede na qual possui um

módulo laboratorial para o gerenciamento dos dados pertinentes as requisições

externas e internas de exames.

2.1.4 Descrição do ambiente atual

No cenário atual, o paciente procura a unidade de saúde mais próxima de sua

residência para ser avaliado pelo médico. Na consulta médica, dependendo do caso

o médico solicita exames. A recepção local orienta e encaminha o paciente ao

complexo Famema, para realizar um ou vários tipos de exames laboratoriais.

A recepcionista entrega ao paciente uma guia, contendo suas informações

pessoais e os exames solicitados, que deverá ser apresentado no momento em que

esse comparecer para realizar a coleta.

Quando o paciente comparece no Hemocentro colhe-se a amostra para

análise de aparelhos nos quais fornecem resultados e posteriormente são liberados

pelo laboratorista por meio do MatrixConnect.

De acordo com a Matrix (2014), o software MatrixConnect é um mediador

(Middleware) que se comunica com os equipamentos laboratoriais e assegura a

automação da produção laboratorial, ou seja, uma das suas funções é preparar e

disponibilizar os dados formatados do resultado ao SIHOSP sem que um profissional

tenha que digitá-los manualmente.

Page 55: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

54

Ainda no que diz a respeito das amostras, existem casos em que essas são

colhidas na própria unidade de saúde e enviadas juntamente com as informações

essências na guia do paciente ao Hemocentro do complexo Famema.

Como a origem da requisição do exame é externa, a recepcionista imprime o

resultado em folhas tamanho A4 para enviar a unidade de saúde relacionada para

que o médico solicitante consiga interpretá-lo e com isso tomar decisões a respeito

do estado de saúde do paciente.

2.2 VISÃO GERAL DO PRODUTO

Essa seção esclarece o objetivo, características essenciais, premissas e

dependências no nível de software.

2.2.1 Perspectiva do produto

A proposta do sistema é fornecer os resultados de exames laboratoriais, na

internet, para as unidades de saúdes, oriundos de requisições com a modalidade

SADT externo que constitui os municípios da RRAS - 10 e SADT UBS Marília que

compreende somente as unidades de saúde da cidade.

Para manter o sigilo das informações o sistema contará com um mecanismo

de segurança por meio de login e senha. Cada unidade de saúde possuirá um

administrador para gerenciar suas respectivas contas de usuários.

Dessa forma, cada médico acompanhará em tempo real o status dos exames

relacionados às unidades de saúde em que esse possui permissão. O status do

exame determina se o resultado poderá ser visto.

Além disso, essa solução integrará os dados referentes às requisições de

exames provenientes do SIHOSP.

2.2.2 Premissas e dependências

Para que o sistema execute sem problemas nos computadores e dispositivos

móveis deve-se levar em consideração o sistema operacional, navegador de internet

e o leitor de arquivos para o formato de pdf.

Page 56: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

55

Dessa maneira, a tabela 2.1, demonstra os navegadores de internet por

sistemas operacionais com as respectivas versões suportadas.

Tabela 2.1 – Compatibilidade navegadores sistema operacional

Chrome Firefox Internet Explorer Safari

Android 4.0+ Última versão Última versão Sem versão Sem versão

IOS 6.1+ Última versão Sem versão Sem versão Última versão

Mac OS X Última versão Última versão Sem versão Última versão

Windows 37 ou superior 32 ou superior 10 ou superior Sem versão

Windows Phone Sem versão Sem versão 10 ou superior Sem versão

Fonte: elaborado pelo autor, 2014.

Essas configurações estão pré-estabelecidas de acordo com a documentação

das tecnologias, Bootstrap e a biblioteca JQuery. No caso dos sistemas operacionais

para celular, Windows Phone e Android foram realizados testes.

Para a leitura do pdf recomenda-se o Adobe Acrobat Reader, no entanto,

nada impede de usar outros softwares da mesma categoria.

2.2.3 Características A tabela 2.2 separa em cada linha as características essenciais, ou seja, os

requisitos funcionais do sistema por prioridade.

Tabela 2.2 - Requisito funcional x Prioridade

Requisito funcional Prioridade

Visualização do resultado Alta

Gerenciamento de contas de usuário Média

Gerenciamento de login Média Fonte: Elaborado pelo autor, 2014.

O requisito funcional que permite a visualização de resultado foi o ponto de

partida na construção e apresentação de um protótipo inicial, além do mais é

requisito principal do projeto, sem esse não haveria fundamento para prosseguir

com o projeto e por isso teve o maior nível de prioridade.

Apesar disso, os dois restantes não foram menos importantes, contudo pôde-

se esperar um pouco mais para desenvolvê-los.

Page 57: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

56

2.2.4 Outros requisitos

Atualmente para aceitação de qualquer software desse porte que gerencie

informações sobre a internet é de grande valia a segurança no transporte dos dados

e interface gráfica com o utilizador intuitiva e leve, sendo esses requisitos não

funcionais importantes, nos quais serão inclusos nesse projeto.

Ademais, se tratando de interface gráfica, o produto final desse projeto

atenderá a necessidade de adaptação em diversos tamanhos de resolução desde

dispositivos móveis até diferentes monitores de computadores pessoais.

2.3 ANÁLISE DE REQUISITOS

Em suma, essa sessão esclarece o comportamento e a estrutura do sistema

por meio de representações gráficas.

No contexto do processo de desenvolvimento de software, a fase de análise e

projetos de sistema auxilia na compreensão dos requisitos funcionais e não

funcionais.

Outro ponto a ser destacado é que dependendo da complexidade do sistema

não é necessário utilizar todos os diagramas, dessa forma a tabela 2.3 aponta os

diagramas divididos por categoria, segundo Object Management Group (2014), que

serão utilizados para modelagem desse projeto.

Tabela 2.3 - Diagramas da UML

Comportamentais Estrutural Interação

Diagrama de Caso de uso Diagrama de Classe Diagrama de sequência

Diagrama de Atividades

Fonte: Object Management Group, 2014.

2.3.1 Diagrama de caso de uso

A figura 2.4 demonstra a concessão de requisitos funcionais aos atores

envolvidos no processo.

Basicamente, para realizar o gerenciamento de usuário ou visualizar exames

os atores deverão se autenticar no sistema, esse cenário está implícito dentro do

caso de uso gerenciar login.

Page 58: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

57

O diagrama também demonstra a herança do ator funcionário, importante

para compreender que o sistema será acessado por funcionários de duas

instituições com permissões herdadas e específicas conforme o cargo do

funcionário.

Figura 2.4 - Requisitos funcionais Fonte: Elaborado pelo autor, 2014.

2.3.2 Diagrama de classe por camadas

Para melhorar a legibilidade da documentação, nessa sessão serão ilustradas

as classes com seus métodos e atributos sem expor seus relacionamentos, no

entanto, separadas por camada do padrão MVC.

2.3.2.1 Visão

Constituída por um conjunto de classes que apresentam as informações para

o usuário, a figura 2.5.

Page 59: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

58

Figura 2.5 - Views Fonte: elaborado pelo autor, 2014.

2.3.2.2 Controladora

Formada por um conjunto de classes nas quais gerenciam o fluxo de

processamento de dados entre o modelo e a visão, a figura 2.6 mostra parte da

camada controller do projeto Web.

Figura 2.6 - Controllers filtro acesso Fonte: elaborado pelo autor, 2014.

Convém salientar que toda ação solicitada ao sistema, que necessita de

autenticação antes de sua execução, passará pelo filtro Autorização no qual

verificará a existência de usuário na sessão e se esse possui permissão específica,

para assim garantir a segurança aos dados sigilosos.

A figura 2.7 concede um ponto de vista mais detalhado dos atributos e

métodos das classes controllers.

Page 60: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

59

Figura 2.7 – Controllers Fonte: elaboradora pelo autor, 2014.

Em relação a esse contexto, Business Objects (BO) é a outra parte da

camada controladora referente a classes de gerenciamento das regras de negócios

gerais do sistema SIHOSP, expressa pela figura 2.8.

Figura 2.8 - BOs Fonte: elaborado pelo autor, 2014.

2.3.2.3 Modelo

Estruturada por um conjunto de classes, subdividas, nas quais retratam e

manipulam as informações do banco de dados, a figura 2.9 demonstra parte do

modelo, ou seja, as DAOs.

Page 61: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

60

Figura 2.9 - DAOs Fonte: elaborado pelo autor, 2014.

A figura 2.10 expressa a composição de classes da outra parte do modelo, a

View Model.

Figura 2.10 - Views Models Fonte: elaborado pelo autor, 2014.

2.3.3 Descrição detalhada dos casos de uso

Com base nos casos de usos levantados, o objetivo dessa sessão é abordá-

los mais detalhadamente recorrendo ao diagrama de atividade, texto explicativo,

diagrama de classe na perspectiva do MVC e o diagrama de sequência.

Visualizar resultado: este caso de uso permite que o médico solicitante

visualize o resultado de exame. Somente os liberados e sem inconformidades

Page 62: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

61

poderão ser abertos no formato de pdf. As figuras 2.11, 2.12, 2.13 e 2.14

representam respectivamente os diagramas de atividade, classe MVC e os de

sequência.

Figura 2.11 - Diagrama de Atividade visualizar resultado Fonte: elaborado pelo autor, 2014

Figura 2.12 - MVC visualizar resultado Fonte: elaborado pelo autor, 2014

Page 63: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

62

Figura 2.13 - Diagrama de sequência consultar resultado Fonte: elaborado pelo autor, 2014.

Figura 2.14 - Diagrama de sequência visualizar resultado Fonte: elaborado pelo autor, 2014.

Gerenciar conta de usuário: possibilita inserir nova conta de usuário e

alterar seus dados. Basicamente, mediante a esse, o administrador da unidade de

saúde administrará as contas comuns relacionadas à sua unidade, por outro lado, o

funcionário do NTI e laboratório controlarão qualquer tipo de conta das unidades de

saúde.

Dessa forma, segue as figuras 2.15, 2.16, 2.17, 2.18 e 2.19 nas quais

retratam respectivamente os diagramas de atividade, classe MVC e os de sequência

para gerenciar conta de usuário.

Page 64: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

63

Figura 2.15 - Diagrama de atividade gerenciar conta de usuário Fonte: elaborado pelo autor, 2014.

Figura 2.16 - MVC gerenciar conta de usuário Fonte: elaborado pelo autor, 2014.

Page 65: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

64

Figura 2.17 - Diagrama de sequência consultar conta de usuário Fonte: elaborado pelo autor, 2014.

Figura 2.18 - Diagrama de sequência incluir conta de usuário Fonte: elaborado pelo autor, 2014.

Figura 2.19 - Diagrama de sequência alterar conta de usuário Fonte: elaborado pelo autor, 2014.

Page 66: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

65

Gerenciar login: permite acessar o sistema, recuperar informações de login e

alterar a senha para todos os usuários. Resumidamente, o sistema registrará cada

acesso do usuário e produzirá o menu principal dinamicamente de acordo com as

permissões concedidas.

Dessa maneira, segue as figuras 2.20, 2.21, 2.22, 2.23, 2.24 e 2.25 nas quais

representam respectivamente os diagramas de atividades, classe MVC e os de

sequência para o gerenciamento de login.

Figura 2.20 - Diagrama de atividade logar Fonte: elaborado pelo autor, 2014.

Figura 2.21 - Diagrama de atividade alterar senha Fonte: elaborado pelo autor, 2014.

Page 67: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

66

Figura 2.22 - MVC gerenciar login. Fonte: elaborado pelo autor, 2014.

Figura 2.23 - Diagrama de sequência logar Fonte: elaborado pelo autor, 2014.

Page 68: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

67

Figura 2.24 - Diagrama de sequência alterar senha Fonte: elaborado pelo autor, 2014.

Figura 2.25 - Diagrama de sequência recuperar acesso Fonte: elaborado pelo autor, 2014.

Page 69: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

68

2.3.4 Entidade e relacionamento

Essa sessão demonstra o modelo conceitual do banco de dados em três

perspectivas, no momento da requisição, resultado de exame e no controle de

acesso, desenvolvidos com a ferramenta Oracle 10g Designer.

Dessa maneira a figura 2.26 compõe as entidades do modelo conceitual

pertencentes ao contexto da requisição.

Figura 2.26 - Requisição Exame Fonte: elaborado pelo autor, 2014.

Em seguida a figura 2.27 retrata o modelo conceitual pertinente ao âmbito dos

resultados de exames.

Figura 2.27 - Resultado de exame Fonte: elaborado pelo autor, 2014.

Page 70: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

69

A figura 2.28 evidencia o modelo conceitual na visão do gerenciamento de

permissão de acesso ao sistema e seus respectivos componentes.

Figura 2.28 - Controle de acesso Fonte: elaborado pelo autor, 2014.

É importante enfatizar que esse conjunto de entidades e relacionamentos dos

diagramas representam tabelas nas quais atualmente armazenam as informações

fornecidas pelo SIHOSP.

No entanto, houve modificações, criou-se um relacionamento entre

unidade_saude e ca_acesso na qual possui ligação com ca_cliente a fim de saber

quais unidades de saúde serão permitidas a determinada conta de usuário.

Além disso, surgiu à entidade ca_aplic_obj_padrao para identificar quais

funcionalidades do sistema serão padronizadas a determinado tipo de acesso de

usuário.

Ainda no que concerne as adaptações das entidades foi adicionado em

ca_acesso_cliente o atributo nro_ip_externo com a finalidade de captar o número de

IP válido mais a data e hora de todas as vezes que o usuário entrar no sistema.

Em suma, esse capítulo evidenciou aspectos estrutural, arquitetural e

comportamental do sistema por meio da modelagem utilizando a UML e o MER.

Adiante será exposto de que maneira foram elaboradas essas peculiaridades

levando em consideração cada requisito funcional e não funcional.

Page 71: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

70

3 IMPLEMENTAÇÃO

A finalidade desse capítulo é demonstrar a interface gráfica da aplicação

mediante a cada visão de usuário, ou seja, expor o conjunto de páginas Web em

que determinado grupo de usuário acessará na perspectiva dos requisitos

funcionais. Além disso, destaca-se a segurança e algumas validações de dados

importantes.

Associado a esse contexto, convém salientar que serão exemplificados partes

do código fonte no APÊNDICE A. No entanto, em primeira instância, a sessão

subsequente especificará as versões das tecnologias e também explanará sobre a

estrutura de pastas e arquivos do projeto.

3.1 ASPECTOS BÁSICOS

A tabela 3.1 apresenta as versões das tecnologias envolvidas no projeto do

sistema.

Tabela 3.1 - Especificações de implementação

Frameworks Versão

ASP .NET MVC 4

JQuery 2.1.1

JQuery UI 1.11.1

Bootstrap 3.2.0

Linguagem Versão

C# 4

Ferramenta Versão

Visual Studio 2010

Fonte: elaborado pelo autor, 2014.

Page 72: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

71

A figura 3.1 demonstra de que maneira o projeto está organizado no Visual

Studio.

Figura 3.1 - Estrutura do projeto Fonte: elaborado pelo autor, 2014.

Observa-se na figura 3.1 diversas pastas e arquivos, cada um desses tem

papeis distintos que são resumidos a seguir:

Properties: define as configurações gerais do projeto;

References: mantêm referências para dlls fundamentais ao projeto;

App_Start: contêm classes que executam no início da aplicação;

Content: agrupa arquivos de CSS relacionados aos temas do Bootstrap,

JQuery e o personalizado da própria aplicação;

Controllers: local específico das classes que gerenciam o sistema;

Filtros: armazena classes responsáveis pela segurança do site;

Fonts: possui ícones padrões do tema do Bootstrap;

Helpers: guarda classes com métodos auxiliares ao contexto geral da

aplicação;

Imagem: reuni as imagens utilizadas nas páginas cshtml;

Models: contêm todas as classes nas quais representam a camada

modelo;

Scripts: engloba os arquivos de linguagem em Javascript relativos ao

JQuery, Bootstrap e próprio do site;

Views: mantêm os arquivos cshtml nos quais retratam a camada visão;

Global.asax: registra na aplicação configurações gerais e pertinentes

aos filtros e rotas;

Page 73: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

72

Packages.config: arquivo XML que contêm informações sobre os

pacotes instalados;

Web.config: outro arquivo XML no qual guarda informações de

configurações relativas ao contexto geral da aplicação.

3.2 SEGURANÇA

Os navegadores de internet geralmente guardam no histórico os links

acessados anteriormente, figura 3.2.

Figura 3.2 - Histórico navegador Fonte: elaborado pelo autor, 2014.

Sabendo disso, caso houver qualquer tentativa de acesso à área interna da

aplicação sem autenticação será redirecionada para a página de login.

Existe outro cenário para ser levado conta, por exemplo, o usuário estar

autenticado, contudo não ter permissão para executar a operação solicitada, diante

de tal contexto o sistema exibirá um mensagem conforme a figura 3.3.

Figura 3.3 - Acesso negado Fonte: elaborado pelo autor, 2014.

Além disso, o sistema criptografa os dados que são transmitidos via URL e,

portanto qualquer esforço para manipular seus valores será bloqueado, figura 3.4.

Page 74: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

73

Figura 3.4 - Bloqueio do sistema Fonte: elaborado pelo autor, 2014.

Vale ressaltar que ao longo do desenvolvimento e teste do sistema foram

identificadas tais vulnerabilidades e aplicadas às devidas correções para atender o

requisito não funcional de segurança.

3.3 VISUALIZAR RESULTADO DE EXAME

Inicialmente o usuário digita as informações para a consulta e posteriormente

clica no link confirmar ou simplesmente aperta a tecla enter, à legenda do status dos

exames se encontra na parte inferior da pesquisa, conforme a figura 3.5.

Figura 3.5 - Pesquisar requisição Fonte: Elaborado pelo autor, 2014.

Page 75: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

74

Após isso, o sistema exibirá as respectivas requisições relacionadas aos

dados da consulta, figura 3.6.

Figura 3.6 - Requisição Fonte: Elaborado pelo autor, 2014.

Para visualizar o resultado de exame deve-se selecionar pelo menos um ou

todos de uma vez e clicar no link resultado, as informações serão disponibilizadas

em formato de pdf.

A figura 3.7 demonstra o arquivo do resultado de potássio para o paciente de

teste.

Figura 3.7 - Resultado de Potássio Fonte: elaborado pelo autor, 2014.

É preciso considerar também que se o exame estiver com o status de

inconformidade aparecerá o link “Detalhe inconformidade” para assim ter o

conhecimento do motivo que impediu o resultado, figura 3.8.

Page 76: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

75

Figura 3.8 - Detalhe inconformidade Fonte: elaborado pelo autor, 2014.

Em suma, com apenas alguns cliques é possível saber os resultados de

exames laboratoriais e o motivo que prejudicou sua disponibilização em caso de

inconformidade.

3.4 GERENCIAR CONTA DE USUÁRIO

A opção de gerenciamento de conta de usuários ficará disponível no menu

superior, a figura 3.9 demonstra as opções que aparecerão na categoria gerenciar

pelos níveis de acessos permitidos.

Figura 3.9 - Menu gerenciar Fonte: elaborado pelo autor, 2014.

Dessa forma, o usuário escolhe a opção desejada e o sistema traz a página

de administração de usuários para efetuar a pesquisa, conforme a figura 3.10 ilustra.

Figura 3.10 - Pesquisar conta de usuário Fonte: elaborado pelo autor, 2014.

Page 77: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

76

Como as unidades de saúde estão previamente cadastradas, com o ato de

digitar parte do seu nome, o sistema automaticamente apresentará os nomes das

unidades correlatas, figura 3.11.

Figura 3.11 - Auto sugestão Fonte: elaborado pelo autor, 2014.

Supondo que a intenção é adicionar novo usuário, primeiramente deve-se

informar os dados para pesquisa e confirmar, caso essa ação não retorne

resultados, clique no link incluir para acrescentar nova conta de usuário.

A figura 3.12 apresenta o formulário para inclusão de informações relativas a

uma nova conta de usuário administradora para as unidades de saúde.

Figura 3.12 - Formulário incluir conta de usuário Fonte: elaborado pelo autor, 2014.

Page 78: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

77

Após o preenchimento das informações clique em salvar, o sistema

automaticamente tentará validar a operação. Em caso de falha ou sucesso serão

exibidas mensagens especificas a cada cenário no final do processamento, figura

3.13.

Figura 3.13 - Cenários após salvar Fonte: elaborado pelo autor, 2014.

Depois da inclusão da conta de usuário o sistema também define e salva o

acesso padrão as funcionalidades relacionadas aos tipos de acessos: usuário

administrador ou comum das unidades de saúde.

A opção de alterar ocorre de maneira semelhante a anterior, no entanto para

habilitá-la, no mínimo deve-se localizar uma ou mais contas de usuário, conforme

demonstrado na figura 3.14.

Figura 3.14 - Contas de usuários Fonte: elaborado pelo autor, 2014.

Page 79: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

78

Na parte inferior das contas de usuários estão as operações básicas sobre

cada uma, tais como: alterar, modificar email e o rastro de acesso.

A figura 3.15 demonstra o formulário de alteração dos dados para as contas

de usuários, a partir desse é possível também ativá-las ou desativá-las.

Figura 3.15- Alterar conta de usuário Fonte: elaborado pelo autor, 2014.

Para modificar o email das contas de usuário basta digitar outro, confirmar e

salvar, conforme a figura 3.16.

Figura 3.16 - Modificar email Fonte: elaborado pelo autor, 2014.

Page 80: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

79

De acordo com a figura 3.17, a opção de rastro mostra todos os acessos ao

sistema de determinada conta de usuário juntamente com o último IP válido

ordenados por data e hora.

Figura 3.17 - Rastro de acesso Fonte: elaborado pelo autor, 2014.

De maneira geral, essa sequência de passos evidenciou de que forma manter

as contas de usuários para as unidades de saúde.

3.5 GERENCIAR LOGIN

Em primeiro lugar o usuário entrará no sistema digitando seu login e senha,

conforme a figura 3.18.

Figura 3.18 - Login Fonte: elaborado pelo autor, 2014.

Page 81: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

80

Se por algum motivo a conta de usuário estiver bloqueada, para acessar o

sistema, será exposta uma mensagem, figura 3.19.

Figura 3.19 - Acesso bloqueado Fonte: elaborado pelo autor, 2014.

Acrescenta-se, ainda, que para recuperar o nome de usuário e senha basta

clicar no link de recuperação (não consegue acessar sua conta?). Na página de

recuperação deve-se informar o email, a combinação de caracteres do Recaptcha e

por fim enviar, figura 3.20.

Figura 3.20 - Recuperar login Fonte: elaborado pelo autor, 2014.

Após isso, o sistema enviará um email automaticamente com os dados de

acesso ao sistema para o usuário.

Dentro do sistema, o usuário poderá visualizar suas informações após clicar

em cima do nome do seu login, no menu principal, figura 3.21.

Page 82: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

81

Figura 3.21 - Detalhes login Fonte: elaborado pelo autor, 2014.

Nessa página estará disponível a opção de alterar senha. Para modificar a

senha será preciso digitar a atual, em seguida a nova, duas vezes, e finalmente

salvar, conforme figura 3.22.

Figura 3.22 - Alterar senha Fonte: elaborado pelo autor, 2014.

Enfim, esse capítulo em linhas gerais demonstrou o processo gerencial de

usuários, segurança e algumas validações de dados indispensáveis na aplicação

para atender o principal objetivo do sistema, a visualização dos resultados de

exames para os médicos nas unidades de saúde.

Page 83: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

82

CONCLUSÃO

Este trabalho apresentou o desenvolvimento de uma aplicação Web baseada

no ASP .NET MVC com Bootstrap, biblioteca JQuery e o plugin JQuery UI tendo por

finalidade disponibilizar os resultados de exames processados no Hemocentro para

unidades de saúde da RRAS – 10.

No sistema foi elaborado um controle de acesso com níveis de permissões a

fim de proteger as informações sigilosas dos pacientes e as funcionalidades da

aplicação.

Atualmente as aplicações desenvolvidas pelo NTI voltadas ao ambiente Web

são construídas utilizando-se a plataforma ASP .NET Forms. No entanto, para

acompanhar o crescimento em nível de abrangência aos dispositivos moveis adotou-

se um novo paradigma de desenvolvimento, o ASP .NET MVC no qual permite o

controle total do HMTL e CSS nas views.

Em virtude disso, foi possível integrar o Bootstrap que proporciona amplo

conjunto de estilos pré-definidos para diferentes tamanhos de largura, em px da

viewport, nos navegadores de internet, com a biblioteca JQuery e o plugin JQuery

UI.

Tal fator contribuiu significativamente no aumento da produtividade nas views

em curto espaço de tempo.

Em alguns casos determinada solução impacta em novos problemas e,

portanto, vale apena destacar que houve conflitos entre o CSS do Bootstrap com do

JQuery UI sendo solucionados a partir de pesquisas em fóruns de ajuda e na

documentação oficial dos frameworks.

Em razão dessa realidade, a ambição por um sistema que atenda as

expectativas de novos recursos tecnológicos, tais como os dispositivos móveis, por

questões de compatibilidade, impede sua utilização plena em navegadores antigos e

por consequência exigi mais de recursos computacionais.

Outros aspectos a serem levados em conta foram: a reutilização de rotinas

pertinentes no âmbito laboratorial e gerenciamento de usuários da camada BO do

SIHOSP bem como a integração do serviço de relatório do banco de dados Oracle.

A implantação desse projeto agilizará o processo de diagnóstico de doenças

sem contar com a logística de transporte rodoviário de envio e recebimento de

Page 84: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

83

resultados de exames, também diminuirá no custo total do orçamento institucional

com materiais de impressão.

Vale mencionar, ainda, que esse trabalho apresentou recursos para a

modelagem de sistemas, empregando a UML, na qual atualmente não é aplicada no

ambiente de desenvolvimento do NTI, a fim de aprimorar a fase de análise e projetos

de sistemas.

Futuramente pretende-se desenvolver um módulo no qual propiciará a

unidade de saúde solicitar o exame via Web para adiantar o processo de produção

laboratorial, possibilitar ao paciente a visualização dos seus resultados de exames e,

além disso, assim que o resultado estiver pronto notificar o médico por email ou

utilizando o serviço de mensagens curtas para celulares.

Page 85: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

84

REFERÊNCIAS BIBLIOGRÁFICAS

ABHU. Áreas restrita. 2014. Disponível em: <

http://www.abhu.com.br/arearestrita/Acesso em: 20 ago. 2014.

ABREU, L. ASP .NET 2.0 Curso completo. 1 ed. Lisboa: Editora de informática

FCA, 2006.

ACUÑA, K; CRUZ, T. Avaliação do estado nutricional de adultos e idosos e

situação nutricional da população brasileira. 10 Out. 2004. Disponível em: <

http://www.scielo.br/scielo.php?pid=S0004-27302004000300004&script=sci_arttext>

Acesso em: 22 jun. 2014.

ALVES, F.H.;CARVALHO, R. L. C. Protótipo de loja virtual utilizando Web

Desing Responsivo. 2013. Monografia (Tecnólogo em Banco de Dados) Faculdade

de Tecnologia de Lins Prof Antônio Seabra, Lins.

ANDRADE, W. Afinal, o que é HTTP? 05 mar. 2009. Disponível em: <

http://imasters.com.br/artigo/11513/redes-e-servidores/afinal-o-que-e-http/> Acesso

em: 16 jul. 2014.

ASTAH. Astah Professional. 2014. Disponível em:<

http://astah.net/editions/professional> Acesso em: 17 jul. 2014.

BAPTISTELLA, A. Abordando a arquiterura MVC, e design partterns: Observer,

Composite, Strategy. 2009. Disponível em: < http://www.artigonal.com/tecnologias-

artigos/abordando-a-arquitetura-mvc-e-design-patterns-observer-composite-strategy-

1017208.html> Acesso em: 9 set. 2014.

BLEBE, B. Protocolo HTTP. 2010. Disponível em: < http://sao-

paulo.pm.org/artigo/2010/protocolohttp> Acesso em: 10 ago. 2014.

Page 86: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

85

BERNERS-LEE, T. The World Wide Web: past, present and future. Aug 1996.

Disponível em: < http://www.w3.org/People/Berners-Lee/1996/ppf.html> Acesso em:

22 jun. 2014.

BENERS-LEE, T. et al. Uniform Resource Locators (URL). dez 1994. Disponível

em:< http://www.ietf.org/rfc/rfc1738.txt> Acesso em: 17 jul. 2014.

BOOCH, G.; RUMBAUGH J.; JACOBSON I. UML: guia do usuário. 2 ed. Rio de

Janeiro: Editora Elsevier, 2006.

BOZZA, C. Saiba o que é um navegador e um sistema operacional. 22 ago 2011.

Disponível em:< http://www.techtudo.com.br/dicas-e-tutoriais/noticia/2011/08/saiba-

o-que-e-um-navegador-e-um-sistema-operacional.html/> Acesso em: 11 nov 2014.

BOOTSTRAP. Overview. 2014. Disponível em: < http://getbootstrap.com/css/>

Acesso em: 05 out. 2014.

CARDOSO, R. Aprender a programar em c# - Parte 1. 05 ago 2014. Disponível

em:< http://csharpbrasil.com.br/aprender-a-programar-em-csharp-parte-1/> Acesso

em:16 ago. 2014.

CERQUEIRA, A. C. Sistema de Controle de Alunos em Estágio Curricular. 2008.

Monografia (Graduação em Engenharia da Computação) Escola Politécnica de

Pernambuco, Universidade de Pernambuco, Recife

CHADWICK, J.; SNYDER, T.; PANDA, H.; Programming ASP.NET MVC 4. 1 ed.

Sabastopol: O’Reilly, 2012.

CHAUHAN, S.; ViewData vs ViewBag vs TempData vs Session. 19 jun 2012.

Disponível em:< http://www.dotnet-tricks.com/Tutorial/mvc/9KHW190712-ViewData-

vs-ViewBag-vs-TempData-vs-Session.html> Acesso em: 08 nov. 2014.

Page 87: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

86

CHAN, M. L.; HOLZNAGEL, F.; KRANTZ, M. 20 Lições que aprendi sobre

navegadores e a Web. 2010. Disponível em: < http://www.20thingsilearned.com/pt-

BR/dns/1> Acesso em: 24 jul. 2014.

COHN. User strories applied: for agile software development. 4 ed. Boston:

Editora Person Education, 2004.

CONCURSOSDETI. Instalando o servidor Web Apache 2 + PHP5 + MySQL +

PhpMyAdmin. 26 fev 2014. Disponível em:<http://concursosdeti.net/instalando-o-

servidor-web-apache-2-php5-mysql-phpmyadmin> Acesso em: 29 set. 2014.

COXALL, M. Oracle quick guides – part 2 – Oracle database design. 1 ed. Reino

Unido: Cornelio Books, 2013.

DADONAS, D. Camada de persistência: introdução ao DAO Pattern. 13 nov

2007. Disponível em:<http://www.devmedia.com.br/camada-de-persistencia-

introducao-ao-dao-pattern/7274> Acesso em: 17 ago. 2014.

DATASUS. População Residente – Estimativas Para o TCU – São Paulo. 2013.

Disponível em:< http://tabnet.datasus.gov.br/cgi/tabcgi.exe?ibge/cnv/poptsp.def>

Acesso em: 25 jun. 2014.

DATE, C. J. Introdução a sistemas de banco de dados. 8. ed. Rio de Janeiro:

Campus, 2004.

DB-ENGINES. DB-Engines Ranking. ago 2014. Disponível em:< http://db-

engines.com/en/ranking> Acesso em: 17 ago. 2014.

DEITEL, H. M.;DEITEL, P. J. C# Como programar. 1 ed. São Paulo: Editora

Pearson Education, 2003.

DIGITALMED. Resultado online. 2014. Disponível em:<

http://www.digitalmed.com.br/resultados-online/> Acesso em: 21 ago. 2014.

Page 88: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

87

ELLIOTT, J.;FOWLER, R.; O’BRIEN T. Harnessing Hibernate. 1. ed. Sebastopol:

O’Relly Media, Inc, 2008.

ESPINHA, D. Aprender o básico de CSS. 15 nov 2010. Disponível em:<

http://www.escolacriatividade.com/tutorial-aprender-o-basico-sobre-css/> Acesso

em: 12 ago. 2014.

FAMEMA. Relatório de Atividades. 2013. Disponível em:<

http://www.famema.br/institucional/documentos/relat_FAMEMA_2013_Finalizado.pdf

> Acesso em: 20 jul. 2014.

FERREIRA, E.; EIS, D. HTML5: Curso W3C escritório Brasil. 25 fev 2010.

Disponível em:< http://www.w3c.br/pub/Cursos/CursoHTML5/html5%20-

%20web.pdf/> Acesso em: 27 ago. 2014.

FERREIRA, A. A.; SILVA, B. D.; SIMAN, L. M. C. Web 2.0 e o ensino de história:

trabalhando com wiki. 2009. Disponível em:<

http://repositorium.sdum.uminho.pt/bitstream/1822/10098/3/Web%202.0%20e%20o

%20Ensino%20de%20Hist%C3%B3ria%20trabalhando%20com%20WIKI.pdf>

Acesso em: 27 ago. 2014.

GALLOWAY, J et al. Professional ASP .NET MVC 4. 1 ed. Indianopolis: John Wiley

& Sons, 2012.

GRIFFITHS, I.; ADAMS, M.;LIBERTY, J. Programming C# 4.0: building Windows,

Web and RIA applications for the .NET 4.0. 6 ed. Sebastopol: O’Reilly Media Inc,

2010.

GDF. Pacientes podem consultar resultados de exames pela internet. 02 fev

2014. Disponível em:<http://www.distritofederal.df.gov.br/noticias/item/11861-

pacientes-podem-consultar-resultados-de-exames-pela-internet.html> Acesso em:

23 jun. 2014.

Page 89: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

88

GOMES A. L. XTHML/CSS Criação de páginas Web. 1 ed. São Paulo: Editora

Senac, 2010.

GOOGLE. Saiba mais sobre o navegador Google Chrome. Disponível em:<

http://www.google.com.br/chrome/browser/features.html> Acesso em: 12 nov. 2014.

GUEDES, G. T. A. UML 2 uma abordagem prática. 2 ed. São Paulo: Novatec,

2011.

HAUTSCH, O. O que é engenharia reversa? 28 set. 2009. Disponível em: <

http://www.tecmundo.com.br/pirataria/2808-o-que-e-engenharia-reversa-.htm>

Acesso em: 1 out. 2014.

HEUSER, C. A. Projeto de banco de dados. 6 ed. Porto Alegre: Bookman, 2009.

HC. Resultado de exames laboratorias. 2014. Disponível em:<

http://resultados.hc.fm.usp.br/doc/resultados_online.pdf> Acesso em: 20 ago. 2014.

KOSSOSKI, M. C. Tipo de dados. 2010. Disponível em:<

http://www.activeinfo.com.br/curso_programacao/tipos_de_dados.html> Acesso

em:16 ago. 2014.

JORDÃO, F. A história dos sistemas operacionais [infográfico]. 26 jul 2013.

Disponível em:<http://www.tecmundo.com.br/sistema-operacional/2031-a-historia-

dos-sistemas-operacionais-ilustracao-.htm> Acesso em:11 out. 2014.

JQUERY UI. JQuery UI 1.11 API Documentation. 2014. Disponível em:<

http://api.jqueryui.com/> Acesso em: 09 nov. 2014.

LADIM, W. Quais são os SO e navegadores mais usados pelos leitores do

TecMundo? 20 mai 2014. Disponível em

http://www.tecmundo.com.br/navegador/54855-so-navegadores-usados-leitores-

tecmundo.htm> Acesso em: 11 nov. 2014.

Page 90: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

89

LARMAN, C. Utilizando UML e padrões. 3. ed. Porto Alegre: Bookman, 2002.

LOTAR, A. Programando com ASP .NET MVC. 1. ed. São Paulo: Editora Novatec,

2011.

LIMEIRA, J. L. S. Utilização de AJAX no desenvolvimento de sistemas Web.

2006. Trabalho de conclusão de curso (Especialização em Web e Sistemas de

Informação) Universidade Federal do Rio Grande do Sul, Porto Alegre

MACDONALD, M. VB .NET: O essencial de .NET para desenvolvimento VB. 1 ed.

Rio de Janeiro: Editora Ciência Moderna, 2002.

MACORATTI, J. C. ASP.NET evolução ou enganação??? 2000. Disponível em:<

http://www.macoratti.net/aspnet_1.htm> Acesso em: 02 ago. 2014.

MACORATTI, J. C. ASP.NET 4.5 Web Forms – Interface com o usuário (UI) e

Navegação – Parte 03. 19 mar 2013. Disponível em:<

http://www.macoratti.net/aspnet_1.htm> Acesso em: 08 ago. 2014.

MACORATTI, J. C. ASP.NET – Conceitos – Diferença entre os métodos HttpGet

e HttpPost. 02 dez 2013. Disponível em:<

http://www.macoratti.net/13/12/asp_gtpt.htm> Acesso em: 11 ago. 2014.

MANNINO, M. V. Projeto, desenvolvimento de aplicações e administração de

banco de dados. 3 ed. Nova York: Bookman, 2007.

MARQUIONI C. E. Comunicação através de diagramas de casos de uso no

desenvovimento de software – uma breve análise de sentido. 2007. Disponível

em:<http://www.marquioni.com.br/manter_artigos/arquivos/d2447de4e2fdb12f67fe1d

8cb3e480fd.pdf> Acesso em: 07 set. 2014.

MATRIX. MatrixConnect. 2014. Disponível em:<

http://www.matrixsaude.com.br/produto.matrixconnect.php?produto=interface>

Acesso em: 02 out. 2014.

Page 91: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

90

MELO, A. C. Desenvolvendo aplicações com UML 2.2. 3 ed. Rio de Janeiro:

Editora Brasport, 2010.

MICROSOFT. #Region(C# Reference). 2014. Disponível em:<

http://msdn.microsoft.com/pt-br/library/9a1ybwek.aspx> Acesso em: 09 nov. 2014.

MICROSOFT. Introdução à programação de páginas da Web do ASP .NET. 2014. Disponível em:< http://msdn.microsoft.com/pt-br/library/ms178125%28v=vs.100%29.aspx> Acesso em: 08 ago. 2014.

MICROSOFT. Visual Studio. 2014. Disponível em:< http

http://msdn.microsoft.com/pt-br/library/52f3sw5c%28v=vs.90%29.aspx> Acesso em:

31 jul. 2014.

MICROSOFT. ASP .NET Web Page Code Model. 2014. Disponível em:<

http://msdn.microsoft.com/pt-br/library/015103yb(v=vs.100).aspx?cs-save-

lang=1&cs-lang=csharp#code-snippet-2> Acesso em: 03 ago. 2014.

MICROSOFT. Visão geral sobre controles de servidor Web do ASP .NET. 2014.

Disponível em:< http://msdn.microsoft.com/pt-

br/library/zsyt68f1%28v=vs.100%29.aspx> Acesso em: 07 ago. 2014.

MOZILLA. Comprometido com você, sua privacidade e uma Web aberta.

Disponível em: < https://www.mozilla.org/pt-BR/firefox/desktop/ > Acesso em: 12

nov. 2014.

MOZILLA. Explore o futuro. 2014. Disponível em: < https://www.mozilla.org/pt-

BR/firefox/partners/> Acesso em: 12 nov. 2014.

NASCIMENTO, T. Desenvolvendo com Bootstrap 3: um framework front-end

que vale apena. 31 out. 2013. Disponível em: <

http://thiagonasc.com/desenvolvimento-web/desenvolvendo-com-bootstrap-3-um-

framework-front-end-que-vale-a-pena> Acesso em: 29 set. 2014.

Page 92: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

91

OBJECT MANAGEMENT GROUP. Introduction to OMG’s Unified Modeling

Language (UML). 2014. Disponível em: <

http://www.omg.org/gettingstarted/what_is_uml.htm> Acesso em: 29 set. 2014.

OLIVEIRA, R. S.; CARISSIMI, A. S.; TOSCANI, S. S. Sistemas operacionais . 4 ed.

Porto Alegre: Editora Bookman, 2010.

ORACLE. Oracle Internet Application Server. 2014. Disponível em:<

http://www.oracle.com/technetwork/middleware/ias/overview/index.html> Acesso em:

14 out. 2014.

PALERMO, J. et al. ASP .NET MVC in Action. 1 ed. Nova York: Manning

Publications, 2012.

PAYNE, C. Aprenda em 21 dias ASP.NET. 1 ed. Rio de Janeiro: Editora Campos,

2001.

PEREIRA, A. P. O que é CSS? 09 set 2009. Disponível em:<

http://www.tecmundo.com.br/programacao/2705-o-que-e-css-.htm > Acesso em: 15

jul. 2014.

PINTO, M. B; SCOLL D. B. Um estudo sobre esquemas para documentos XML.

2003. Disponível em:< http://arquivo.ulbra-

to.br/ensino/43020/artigos/anais2003/anais/estudoesquemas-encoinfo2003.pdf>

Acesso em: 15 ago. 2014.

RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de banco de

dados. 3 ed. São Paulo: McGraw Hill Brasil, 2008.

REZENDE, D. A. Engenharia de software e sistemas de informação. 3 ed. Rio

de Janeiro: Editora Brasport, 2005.

ROFF, J. T. ADO ActiveX data objects. 1. ed. Sebastopol:O’Relly Media &

Associates, Inc, 2001.

Page 93: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

92

SABBATINI, R. O futuro da internet na Medicina. 2000. Disponível em:<

http://www.sabbatini.com/renato/correio/cp000305.htm> Acesso em: 22 jun. 2014.

SANCHEZ, F. Conceitos fundamentais sobre APS .NET Razor. 21 mar 2012

Disponível em:<http://channel9.msdn.com/posts/Conceitos-fundamentais-sobre-

ASPNET-Razor> Acesso em: 06 out. 2014.

SANTOS, M. S. ASP .NET. 2003. Disponível

em:<http://www.sinttelmg.org.br/boletins/MiniCursoEncoinfo2003.pdf> Acesso em:

29 jul. 2014.

SAUDEBYTES. Laudos Net. 2014. Disponível em:<

http://www.saudebytes.com.br/laudos_net.php> Acesso em: 22 ago. 2014.

SCHMITZ, L. R. B. Construção de um gerador gráfico de consultas SQL via Web

utilizando a plataforma .NET. 2004. Disponível em:< http://arquivo.ulbra-

to.br/ensino/43020/artigos/relatorios2004-1/TCC/Estagio_Lucas.pdf> Acesso em: 29

jul. 2014.

SCHUSTER, B. R. Avaliação da qualidade de diagramas de classe UML em

projetos de desenvolvimento de software utilizando métricas. 2009. Monografia

(Bacharel em Ciência da Computação)Centro Universitário La Salle, Unilasalle,

Canoas.

SILVA, M. S. HTML5 A Linguagem de marcação que revolucionou a WEB. 2011.

Disponível

em:<http://www.editoranovatec.com.br/livros/html5/capitulo9788575222614.pdf>

Acesso em: 11 jul. 2014.

SILVA, S. M. Introdução às CSS. 10 dez 2003. Disponível em:<

http://www.maujor.com/tutorial/intrtut.php> Acesso em:11 ago. 2014.

Page 94: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

93

SILVA, S. M. JQuery: a biblioteca do programador JavaScript. 1 ed. São Paulo:

Editora Novatec, 2001.

SOUZA, R. R.; ALVARENGA L. A Web semântica e suas contribuições para

ciência da informação. 2004. Disponível em:<

http://www.scielo.br/pdf/ci/v33n1/v33n1a16> Acesso em: 28 ago. 2014.

SHEKHAWAT, S. S. ASP .NET MVC 4 – Layout and Section in Razor. 12 set

2013. Disponível em:< http://www.c-sharpcorner.com/UploadFile/3d39b4/Asp-Net-

mvc-4-layout-and-section-in-razor/> Acesso em: 07 out. 2014.

STATCOUNTER, M. Data Sample. 2014. Disponível em:<

http://gs.statcounter.com/about> Acesso em: 11 nov. 2014.

TANEMBAU, A. Redes de computadores. 1 ed. Elsevier: Rio de Janeiro – RJ,

2003.

TAVARES, C. Criando aplicativos Web sem Web Forms. 2008. Disponível em:<

http://msdn.microsoft.com/pt-br/magazine/cc337884.aspx > Acesso em: 09 set.

2014.

TAVARES, M. A. C.;SOUZA, F. F. Adminstração de sistemas de gerenciamento

de banco de dados: um estudo no Oracle 10g. 2006. Trabalho de Graduação

(Ciência da Computação) Universidade Federal de Pernambuco, Recife.

TORRE, R. V. Desenvolvimento web utilizando a plataforma microsoft.

2012. Monografia (Tecnólogo em Processamento de Dados)Faculdade de

Tecnologia de São Paulo, São Paulo.

TRIGO, S. et al. Revista da Faculdade de Ciência e Tecnologia. Universidade

Fernando Pessoa. Porto, n. 5, p.90-92. 2008.

UOL. Ame de Heliópolis-SP põe resultados de exames na internet. 08 fev. 2011.

Disponível em:<http://noticias.uol.com.br/saude/ultimas-

Page 95: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

94

noticias/estado/2011/02/08/ame-de-heliopolis-sp-poe-resultados-de-exames-na-

internet.html> Acesso em: 22 jun. 2014.

VINCENZI, A. M. R. Orientação a Objeto: definição, implementação e análise de

recursos de teste e validação. 2004. Tese (Doutor em Ciência da Computação e

Matemática Computacional) Instituto de Ciências Matemáticas e de Computação,

ICMC-USP, São Carlos.

W3C. Visual formatting model. 07 jun 2011. Disponível em:<

http://www.w3.org/TR/CSS2/visuren.html> Acesso em: 05 out. 2014.

W3SCHOOLS. ASP .NET Razor - Markup. 2014. Disponível em:<

http://www.w3schools.com/aspnet/razor_intro.asp> Acesso em: 07 out. 2014.

W3SCHOOLS. HTML5 Introduction. 2014. Disponível em:<

http://www.w3schools.com/html/html_intro.asp> Acesso em: 11 ago. 2014.

WEB CAMPS TEAM. ASP .NET MVC 4 Custom Action Filters. 18 Fev 2013.

Disponível em:< http://www.asp.net/mvc/overview/older-versions/hands-on-

labs/aspnet-mvc-4-custom-action-filters#author-45262> Acesso em: 08 nov. 2014.

YNEMINE, S. T. Conhecendo o javascript. 1 ed. Visual Books: Florianópolis – SC,

2002.

Page 96: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

95

APÊNDICE A - Trechos de código fonte

O objetivo desse apêndice é demonstrar segmentos de código fonte para

esclarecer de que maneira foi implementado o desing arquitetural MVC, algumas

validações de dados importantes e também a segurança da aplicação.

A.1 SEGURANÇA

Existem funcionalidades no sistema nas quais necessitam de permissão para

o usuário realizar. Dessa forma, a figura A.1 demonstra trecho de código no filtro de

ação Autorizacao.

Figura A.1 - Verificar usuário na sessão Fonte: elaborado pelo autor, 2014.

Em primeiro lugar o sistema confere se no contexto da requisição há usuário

logado, caso não tenha, redireciona para a página de login.

Considerando que exista usuário logado na sessão averigua se o mesmo tem

privilégio para exercer a ação requisitada nesse contexto, figura A.2.

Figura A.2 - Verificar acesso usuário Fonte: elaborado pelo autor, 2014.

Page 97: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

96

De acordo com a figura A.3, o filtro de ação Autorizacao executará antes da

chamada aos métodos da classe BaseController.

Figura A.3 - Controlador base Fonte: elaborado pelo autor, 2014.

Os métodos das classes RequisicaoController, LoginController e

ContaUsuarioController também passarão pelo filtro de ação Autorizacao, pois

conforme a figura A.4 os respectivos controllers herdam da classe BaseController.

Figura A.4 - Herança dos controllers Fonte: elaborado pelo autor, 2014.

A.2 VISUALIZAR RESULTADO DE EXAME

Basicamente, o formulário de pesquisa na view Requisicoes.cshtml chamará

o método requisicoes[HttpPost] da classe requisicaoController, quando for

submetido ao servidor, figura A.5.

Page 98: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

97

Figura A.5 - Formulário para consultar requisições de exame Fonte: elaborado pelo autor, 2014.

Esse método por sua vez, recupera os dados enviados na solicitação HTTP

POST por meio do parâmetro form da classe FormCollection, verifica se existe

usuário na sessão e valida os campos de pesquisa. Se houver alguma

inconformidade retorna a view para exibir mensagem, do contrário o pedido é

redirecionado para ação requisicoes[HttpGet] no mesmo controller, figura A.6.

Figura A.6 - Preparar filtro Fonte: Elaborado pelo autor, 2014.

Em seguida, o método Requisicoes[HttpGet] inicializa a paginação, resgata os

dados da busca, configura o filtro e preenche os dados retornados do banco de

dados na classe requisicaoViewModel e por fim invoca a view Requisicoes.csthml,

caso a variável de sessão filtroRequisicao for diferente de null, figura A.7.

Page 99: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

98

Figura A.7 - Consultar dados Fonte: elaborado pelo autor, 2014.

O atributo @Model representa na view Requisicoes.cshtml o objeto da classe

requisicaoViewModel e por meio desse os dados enviados pela classe

requisicaoController são resgatados. Mediante a um foreach recupera-se as

informações para serem exibidas, figura A.8.

Figura A.8 - Requisicao.cshtml Fonte: elaborado pelo autor, 2014.

O botão selecionar, somente será habilitado se o exame estiver com o status

liberado e não houver inconformidade, o id desse botão corresponde ao sequencial

que identifica o item da requisição (exame), a rotina selecionar é associada ao

evento onclick na qual respectivamente chama a função Ajax da biblioteca JQuery,

figura A.9.

Figura A.9 - Botão selecionar exame Fonte: elaborado pelo autor, 2014.

Page 100: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

99

A rotina em Ajax expressa na figura A.10, envia uma requisição de maneira

assíncrona do tipo [HttpGet] ao método selecaoSimples na classe

RequisicaoController e conforme a situação atualiza o visual do botão.

Por exemplo, em success a function(data)modifica o botão selecionar

para selecionado e seus estilos CSS, caso o exame tenha sido adicionado na

sessão de usuário.

Vale ressaltar ainda o valor do cache igual à false, pois se for true nos

navegadores de dispositivos móveis a função funcionará somente na primeira vez,

visto que esse utilizará o último procedimento armazenado no cachê.

Figura A.10 - Selecionar item da requisição Fonte: elaborado pelo autor, 2014.

Em virtude disso, figura A.11, o método selecaoSimples mantêm o estado da

variável de sessão examesSelecionados removendo e adicionado exames a lista e

por fim devolve false para remoção e true em relação a qualquer adição.

Figura A.11 - Seleção simples [HttpGet] Fonte: elaborado pelo autor, 2014

Page 101: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

100

Finalmente, recupera-se os exames escolhidos, em seguida são associados

por parâmetro ao objeto relatorioLAB do tipo NTIReport. Posteriormente o método

downloadRelatorio da classe UtilWeb solicita a execução do recurso ao servidor de

relatório Oracle e devolve esse no formato de byte[].

A partir disso, entra em ação o objeto Response que transforma o array de

bytes no formato pdf e retorna o recurso a view VerResultado.cshtml, figura A.12.

Figura A.12 - Ver resultado Fonte: elaborado pelo autor, 2014.

O ponto crucial desse requisito está na comunicação entre dois servidores,

Web e relatório com responsabilidades distintas que, no entanto, trabalham em

conjunto para fornecer de forma transparente o recurso ao usuário. Nesse contexto

reaproveita-se um serviço Oracle usado em outro sistema.

A.3 GERENCIAR CONTA DE USUÁRIO

A figura A.13 demonstra o trecho de código, referente à classe

ContaUsuarioController, responsável por guardar na sessão a opção escolhida,

usuário administrador ou comum, limpar os filtros e posteriormente redireciona para

a ação GerenciarContaUsuario [HttpGet] .

Page 102: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

101

Figura A.13 - Escolha tipo acesso de usuário Fonte: elaborado pelo autor, 2014.

Em seguida, figura A.14, verifica-se o parâmetro op por meio do método

tratarCriptografia, para constatar se o mesmo não foi burlado e assim descobrir qual

operação será realizada, “i” para incluir ou “a” para alterar. É importante ressaltar

que na alteração mesmo processo de validação ocorre com parâmetro cliente.

Figura A.14 - Manutenção conta de usuário Fonte: elaborado pelo autor, 2014.

Na view ManutencaoContaUsuario.cshtml também ocorre a verificação da

operação com a intenção de renderizar corretamente a partial view

IncluirContaUsuario.cshtml ou AlterarContaUsuario.cshtml, figura A.15.

Figura A.15 - Visão manutenção conta de usuário Fonte: elaborado pelo autor, 2014.

Page 103: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

102

Tanto IncluirContaUsuario.cshtml quanto AlterarContaUsuario.cshtml, figura

A.16, respectivamente contem um formulário que chama o método

validarContaUsuario[HttpPost] da classe contaUsuarioController após seu envio ao

servidor.

Figura A.16 - Formulário de manutenção Fonte: elaborado pelo autor, 2014.

Na figura A.17, exemplo de validação, procurar-se o nome de login da nova

conta de usuário, caso já exista no cadastro, então a rotina retonará true e

consequentemente não será possível salvar.

Figura A.17 - Procurar nome de login Fonte: elaborado pelo autor, 2014.

No entanto, se os dados forem validados corretamente, no cenário de

inclusão na perspectiva de sucesso, adiciona-se a conta de usuário, o acesso

(administrador ou comum), as permissões padrões aos controllers e no final

redireciona-se para ação GerenciarContaUsuario a fim de retornar novamente a

view GerenciarContaUsuario.cshtml, conforme o exemplo da figura A.18.

Page 104: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

103

Figura A.18 - Incluir conta de usuário Fonte: elaborado pelo autor, 2014.

A.4 GERENCIAR LOGIN

Primeiramente será esclarecido o processo de validação que ocorre nos

controllers para recuperar informações de login e senha.

Dessa maneira, o trecho de código na figura A.19 representa a parte da ação

de validação para recuperar nome de login e senha.

Figura A.19 - Validar captcha Fonte: elaborado pelo autor, 2014.

Basicamente, acima da assinatura do método validarRecuperar é declarado

o [CaptchaValidator], ou seja, um filtro de ação que nesse caso executa antes do

método validarRecuperar a fim de configurar e verificar a combinação de caracteres

do Recaptcha.

Page 105: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

104

Dessa forma, no corpo do método validarRecuperar é averiguado o parâmetro

captchaValid, adicionado pelo CapchaValidator, e se for inválido retorna ao usuário

uma mensagem.

Ainda pertencente a essa situação, na figura A.20, verifica-se a legitimidade

do email utilizando expressão regular.

Figura A.20 - Verificar email Fonte: elaborado pelo autor, 2014.

Cabe salientar que antes de enviar qualquer email o sistema confere se

realmente existe alguma conta de usuário vinculada ao email informado, figura A.21.

Figura A.21 - Verificar vínculo do email Fonte: elaborado pelo autor, 2014.

Depois das validações, o sistema monta o corpo da mensagem e tenta enviar

ao destinatário, figura A.22.

Page 106: CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICAfateclins.edu.br/v4.0/trabalhoGraduacao/hDY90Xy8... · 2019. 4. 3. · centro estadual de educaÇÃo tecnolÓgica paula souza faculdade de

105

Figura A.22 - Enviar email Fonte: elaborado pelo autor, 2014.

Esse apêndice descreveu de que maneira foram codificados os principais

pontos da lógica de negócio para o funcionamento correto da aplicação, incluindo a

segurança. E dessa forma, evidenciou o fluxo de chamadas dos métodos conforme

o diagrama de sequência para o caso de uso visualizar resultado de exame. Por

outro lado, aos demais casos de usos, foram explicitados somente trechos isolados

de código fonte para mostrar as validações específicas nos cenários exclusivos.