Exemplo Projeto Arquitetural Doação de Sangue 2018-1
Exemplo Projeto Arquitetural Doação de Sangue 2018-1
Exemplo Projeto Arquitetural Doação de Sangue 2018-1
Nome Aluno
Belo Horizonte
2016
2
Nome Aluno
Belo Horizonte
2017
3
Dedicatória (opcional)
4
AGRADECIMENTOS
Opcional
5
RESUMO
SUMÁRIO
1. Objetivos do trabalho
O objetivo geral deste projeto é apresentar uma proposta de arquitetura para
automatizar o processo de doação de sangue, auxiliando o doador a localizar um centro de
doação mais próximo e, assim, efetuar um agendamento de forma mais rápida e cômoda pela
internet. O projeto visa atender e facilitar o controle dos agendamentos pelos profissionais da
saúde, possibilitando que os novos sistemas legado e atuais dos agentes possam se integrar
com essa plataforma, deixando os processos automatizados e mais rápidos, reduzindo custo e
tempo.
Os objetivos específicos são:
1. Criar um módulo web que possibilite agendamento online, que seja responsivo,
atendendo tanto desktop quanto usuários com acesso móbile. Esse módulo terá
acesso público na internet.
2. Criar os módulos para os agentes que possibilite o controle dos agendamentos,
dos exames efetuados e o envio dos resultados aos doadores. Esse módulo será
restrito para os profissionais da saúde, com autenticação segura.
3. Possibilitar que os agentes possam enviar, de forma integrada e cômoda, todos
os dados necessários de exames e serviços para o sistema do SUS, para que
possam receber por eles.
4. Possibilitar que os hospitais possam fazer a gestão das campanhas e integrá-las
as redes sociais para atingir o maior número de pessoas possíveis.
5. Possibilitar o rastreamento utilizando sensores de RFID com o objetivo de um
controle mais eficiente das informações e a localização da bolsa de sangue.
Hoje, são vários os aspectos que fazem com que as pessoas doem menos sangue no
Brasil do que em outros países. A falta de conscientização dos doadores, a deficiência
estrutural dos locais de doação para minimizar os descartes de sangue e o controle
ineficiente impossibilitam que os laboratórios e hospitais possam agilizar os processos
burocráticos de doação de sangue.
8
• Doador: poderá realizar seu cadastro prévio bem como agendar o período para
realizar a doação de sangue.
• Unidades Hospitalares, Laboratórios, SUS: por sua vez esses usuários poderão
ter acesso à quantidade e tipagem sanguínea disponível na instituição, bem como
também podem credenciar-se para utilização do sistema com cadastro prévio e
validado pelo GESTOR.
• Equipe de coleta: responsável por coletar o sangue e identificar quais exames
deverá ser realizado.
• Gestor: Acompanha e planejar por meio de relatório e gráficos a distribuição e/ou
coletas das bolsas sanguíneas. Bem como aprovar ou não o credenciamento das
unidades, laboratório.
o endereço cadastrado e permitir que o doador possa escolher datas e horários definidos
pelo sistema;
• Resultado do Exame
O sistema deve possibilitar ao doador imprimir o resultado do exame pela internet com a
senha fornecida na coleta.
O sistema deve ser integrado com sistema do SUS para que possa enviar o resultado dos
exames e informações consolidadas;
• Resultado Exames
O sistema deve permitir localizar o resultado dos exames por Data, Nome, CPF, RG, Se-
nha;
O sistema deve permitir imprimir o resultado dos exames.
O sistema deve permitir enviar manualmente o resultado dos exames em formato PDF pa-
ra o doador por e-mail;
acordo com aquela região e carregar as cidades de acordo o estado selecionado. O sistema
deverá utilizar o serviço de integração dos CORREIOS para essa funcionalidade.
O diagrama de casos de uso oferece uma visão global dos casos de uso e dos atores
que dele participam. Para uma melhor analise arquitetural do projeto, separei os casos de uso
por módulos de acordo com os requisitos informados acima.
20
Faça aqui uma descrição resumida de cada caso de uso. Pode ser também no formato
de estórias.
Exemplo:
O caso de uso: efetuar agendamento
Descrição resumida:
Este caso de uso permitir ao usuário realizar um agendamento de doação. Ele deve
fornecer ao doador a possibilidade de visualizar todos os laboratórios de análises clíni-
cas próximos a sua residência. Deve fornecer um calendário e filtros para o doador vi-
sualizar as possíveis datas e horários disponíveis para a sua doação.
Estória
Exemplos
Serviços: agrega os serviços que são disponibilizados pela aplicação.
Controllers: agrega os controladores da aplicação. É um controlador para cada
Módulo. Em refatoração próxima, os controladores serão divididos por caso de uso.
Componente Descrição
Navegador Navegadores web representa o brownser a ser utilizado pelos os
usuários para interagir com as funcionalidades do sistema.
A prova de conceito desse projeto visa atender as necessidades dos casos de uso do
módulo de agendamento de doação de sangue. O objetivo desse protótipo é verificar se o
processo de agendamento esta coerente com a arquitetura definida e está atendendo todas as
necessidades do usuário relacionado ao requisitos de qualidade, assim minimizar riscos e
maximizar ganhos de produtividade na sequência do projeto.
Esse RNF foi escolhido devido a preocupação em manter dados seguros e evitar falhas
de segurança no projeto.
• Não permitir que usuários possam acessar paginas privadas sem estar autenticados
no sistema.
• Ao identificar que o usuário não está autenticado, o sistema deve redirecionar o
usuário para tela de autenticação.
• O sistema deve permitir que o usuário navegue em telas publicas sem precisar
estar autenticado.
Esse RNF foi escolhido devido a importância em manter um sistema com boa usabilidade, e
que possamos garantir uma navegação simples e objetiva.
Esse RNF foi escolhido para garantir que atenda todas as exigências da arquitetura em ter um
sistema responsivo e que se adapte em celulares, tablets e desktops.
Esse RNF foi escolhido com o objetivo de garantir uma boa performance na aplicação e poder
determinar se o desempenho desse requisito não funcional será atendido.
• A telas devem ser bem otimizadas para que não demorem mais que 8 segundos a
serem renderizadas ao usuário.
33
Esse RNF foi escolhido com o objetivo de poder garantir que as funcionalidades do sistema
possa ser testada de forma rápida e eficiente, e que a arquitetura definida, possibilite testes
automatizados de forma simplificada, garantido a qualidade do sistema desde o inicio.
5.2. Interfaces
Desenvolvimento:
https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente
?wsdl
Para o acesso ao ambiente de desenvolvimento, poderão ser utilizados os seguintes
dados para autenticação e teste de implementação:
Administrativo Serviço
sigep n5f9t8 08082650 9912208555 ... 0057018901
Obs.: Para desenvolvimento, os códigos de serviços podem ser obtidos através dos
método buscaCliente(), exemplificado logo mais abaixo.
Produção:
https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?ws
dl
Para produção deverão ser utilizados os parâmetros do contrato com os Correios.
Método consultaCEP()
Assinatura do método:
consultaCep(cep)
Exemplo:
35
6. Avaliação da Arquitetura
6.1. Análise das abordagens arquiteturais
Apresente um breve resumo das principais características da proposta arquitetura.
6.2. Identificação dos atributos de qualidade
Os atributos identificados estão relacionados aos requisitos listados na seção anterior:
Usabilidade, desempenho, acessibilidade e segurança.
6.2. Cenários
Cenário 1: Ao realizar o acesso a uma URL ou página, o sistema deve apresentar altos
padrões de segurança necessário, garantindo que o usuário possa acessar as páginas privadas
apenas autenticado no sistema. O sistema deve redirecionar o usuário para a tela de
autenticação quando o mesmo tentar acessar uma página privada sem estar autenticado no
sistema. O sistema deverá garantir que as páginas públicas possam ser acessadas sem estar
autenticado. Garantindo assim a segurança e confidencialidade das informações estando em
de acordo com um dos requisitos não funcionais.
Cenário 2: Ao navegar na tela, o sistema deve apresentar boa usabilidade. A navegação
dever apresentar facilidade e o acesso as funcionalidades devem ser bem objetivos para a
função que precisa ser realizada, o usuário deve efetuar um agendamento em no máximo 5
36
minutos, assim garantindo a agilidade e a usabilidade para fica de acordo com um dos
requisitos não funcionais.
Cenário 3: Ao realizar o acesso a aplicação através de um dispositivo móvel ou desktop
com resolução reduzida, utilizando os browser principais como IE, Chrome e Firefox, a tela
do usuário deverá se adaptar automaticamente, redimensionando seus links, botões, padrão de
cores e tabela de dados de acordo com a resolução, estando de acordo com acessibilidade
necessária para atender um dos requisitos não funcionais.
Cenário 4: Ao realizar um acesso em alguma tela privada ou pública, o sistema deve ter um
desempenho aceitável e responder em no máximo 8 segundos a renderização dos objetos na
tela, mostrando um componente na tela informando que o processo esta em andamento, e
quando o processo finalizar esse componente deve ser escondido, assim atendendo um dos
requisitos não funcionais.
Atributos de
Cenários IMP. COM.
Qualidade
Segurança Cenário1: O sistema deve apresentar altos padrões A M
de segurança.
Funcionalidade
6.4. Avaliação
• Cenário 1.
• Evidências do Cenário1.
• Cenário 2.
39
• Evidências do Cenário2.
40
• Cenário 3.
• Evidências do Cenário3.
42
Usuário se autenticando no sistema através de um celular móbile com resolução de tela 468 x
428, mostrando a responsividade e o site se adaptando em ambientes mobile.
• Cenário 4.
Ambiente:
Sistema em operação normal
Estimulo:
O sistema deve ser rápido e renderizar as páginas em no máximo 8 segundos.
Mecanismo:
Criado com telas objetivas, poucos componentes evitando uma interpretação maior do
servidor de aplicação para renderizar os dados para o cliente.
Medida de Resposta:
As páginas devem apresentar rapidez e bom desempenho.
Considerações sobre a arquitetura:
Riscos: Pode ocorrer algum pico de memória no servidor ou um
numero de usuários muito grande ocasionando sobre carga
no servidor de aplicação, fazendo com que os
processamentos fiquem mais lentos.
Pontos de Sensibilidade: Balanceamento de carga ativo
Tradeoff: Não existe
• Evidências do Cenário4
Usuário navegando em telas públicas e telas privadas autenticado no sistema. O sistema mos-
trou agilidade e renderização rápida para a tela do usuário.
44
45
6.5. Resultados
Avaliando a arquitetura proposta para esse projeto, foi possível identificar alguns
pontos importantes e algumas limitações. A página pública principal do sistema esta
desenvolvida de forma responsiva e dentro dos padrões w3c, sendo compatível com os
principais browser do mercado e se adaptando responsivamente em aparelhos móbile. Outro
ponto importante, seria a separação das páginas publicas das páginas privadas, facilitando o
controle de segurança.
As páginas públicas podem se comunicar por REST com os componentes de negócio,
possibilitando futuramente separar as camadas, caso seja necessário deixar a parte estática em
um servidor apache e a parte de negocio em um servidor de aplicação, assim diminuindo a
46
7. Conclusão
Este trabalho apresentou um protótipo arquitetural para uma aplicação de controle integrado
de doação de sangue. Entende-se que os objetivos foram atingidos. Foram apresentadas algu-
mas limitações que não impactam a aceitação da proposta. Se houvesse mais tempo para o
desenvolvimento elas seriam tratadas. Pode-se fazer uma refatoração de alguns módulos sem
alterar os aspectos arquiteturais. Isso fica como sugestão para uma próxima versão.
REFERÊNCIAS
BARRUCHO, Guilherme Luis. O que falta para o Brasil doar mais sangue? Disponível
em: <http://www.bbc.com/portuguese/noticias/2015/08/150812_sangue_doacoes_brasil_lgb
> Acesso em 4 de Jun de 2016.
O código fonte da prova de conceito que foi desenvolvido para atender os requisitos não
funcionais dessa arquitetura de software.