UNIVERSIDADE PAULISTA – UNIP EaD
Projeto Integrado Multidisciplinar IV
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas
Sistema em C para cadastrar pacientes diagnosticados com covid-19
JOÃO PESSOA – PB
2021
Sistema em C para cadastrar pacientes diagnosticados com covid-19
Projeto Integrado Multidisciplinar IV
Projeto multidisciplinar para o
desenvolvimento e aplicações dos
conhecimentos adquiridos nas
disciplinas cursadas no segundo
bimestre vigente no 2° semestre do
curso de Análise e desenvolvimento
de sistemas na instituição de ensino
Universidade paulista - UNIP EaD.
JOÃO PESSOA-PB
2021
RESUMO
Com base no conteúdo das disciplinas de LINGUAGEM E TÉCNICAS DE
PROGRAMAÇÃO e ENGENHARIA DE SOFTWARE I, o grupo do PIM, desenvolveu
aplicando os conhecimentos adquiridos nestas disciplinas um sistema em C que
será utilizado pelos hospitais para cadastrar os pacientes que forem diagnosticados
com covid-19 e carecem de um acompanhamento e monitoramento para que essa
informação possa ser enviada para a central da Secretaria da Saúde.
O objetivo do projeto é desenvolver um sistema em C utilizando o software
CodeBlocks que será utilizado pelos hospitais para cadastrar os pacientes que forem
diagnosticados com covid-19 e carecem de um acompanhamento e monitoramento.
Ao receber o diagnóstico positivo os profissionais da saúde devem realizar o login no
sistema (informando o usuário e a senha) e informar os dados pessoais do paciente,
como Nome, CPF, Telefone, Endereço (Rua, Número, Bairro, Cidade, Estado e
CEP), Data de Nascimento e E-mail, data do diagnóstico e informar alguma
comorbidade do paciente (diabetes, obesidade, hipertensão, tuberculose, outros)
que serão salvos em um Arquivo externo.
Após o cadastro, o sistema deverá calcular a idade e verificar se o paciente possui
alguma comorbidade e se pertence ao grupo de risco (maiores de 65 anos). Caso o
paciente pertença ao grupo de risco o sistema deverá salvar em um arquivo de texto
o CEP e a idade do paciente para que essa informação possa ser enviada para a
central da Secretaria da Saúde da cidade.
Palavras-chave: Linguagem C, Sistema Covid-19, Monitoramento, Profissionais de
Saúde, Pandemia.
ABSTRACT
Based on the contents of the LANGUAGE AND PROGRAMMING TECHNIQUES and
SOFTWARE ENGINEERING I disciplines, the PIM group developed, applying the
knowledge acquired in these disciplines, a system in C that will be used by hospitals
to register patients diagnosed with covid-19 and they lack follow-up and monitoring
so that this information can be sent to the Health Secretariat's central.
The project's objective is to develop a system in C using CodeBlocks software that
will be used by hospitals to register patients who are diagnosed with covid-19 and
lack follow-up and monitoring. Upon receiving a positive diagnosis, health
professionals must log in to the system (entering the user name and password) and
informing the patient's personal data, such as Name, CPF, Telephone, Address
(Street, Number, Neighborhood, City, State and CEP), Date of Birth and E-mail, date
of diagnosis and inform any comorbidity of the patient (diabetes, obesity,
hypertension, tuberculosis, others) which will be saved in an external file.
After registration, the system must calculate the age and check if the patient has any
comorbidity and belongs to the risk group (over 65 years). If the patient belongs to
the risk group, the system must save the zip code and the patient's age in a text file
so that this information can be sent to the central office of the city's Health
Department.
Keywords: Language C, System Covid-19, Monitoring, Health Professionals,
Pandemic.
Sumário
1 INTRODUÇÃO...........................................................................................................6
2 ENGENHARIA DE SOFTWARE...............................................................................7
2.1 Modelo de Processo..........................................................................................7
2.1.1 Modelo Cascata...........................................................................................7
2.2 Requisitos...........................................................................................................9
2.2.1 Requisito Funcional..................................................................................10
2.2.2 Requisito Não Funcional..........................................................................10
2.2.3 Classificação dos Requisitos do Projeto................................................11
3 DESENVOLVIMENTO.............................................................................................12
3.1 Linguagem C....................................................................................................13
3.2 Manual do Usuário...........................................................................................13
3.3 Passo a passo de como compilar..................................................................16
CONCLUSÃO.............................................................................................................18
REFERÊNCIAS...........................................................................................................19
6
1 INTRODUÇÃO
A pandemia global causada pelo Corona vírus Covid-19 despertou a necessidade de
inovações tecnológicas na área da saúde no mundo todo. Com o grande número de
pessoas sendo contaminadas pelo vírus diariamente, a área da saúde precisou
recorrer a novas tecnologias para a criação de um sistema para cadastrar e
monitorar pacientes diagnosticados com a infecção do vírus.
O objetivo do projeto PIM IV foi desenvolver um sistema em C que será utilizado
pelos hospitais para cadastrar e acompanhar os pacientes que forem diagnosticados
com covid-19. Ao receber o diagnóstico positivo os profissionais da saúde devem
realizar o login no sistema e informar os dados pessoais do paciente, como Nome,
CPF, Telefone, Endereço, Data de Nascimento e E-mail, data do diagnóstico e
informar alguma comorbidade do paciente. Estes dados serão salvos em um arquivo
para poderem ser consultados a qualquer momento.
Após o cadastro, o sistema deverá calcular a idade e verificar se o paciente possui
alguma comorbidade e se pertence ao grupo de risco que são os maiores de 65
anos. Caso o paciente pertença ao grupo de risco o sistema deverá salvar em um
arquivo de texto o CEP e a idade do paciente para que essa informação possa ser
enviada para a central da Secretaria da Saúde da cidade.
Para o desenvolvimento do projeto foram utilizados os conhecimentos adquiridos
nas disciplinas de Linguagem e Técnicas de Programação que deu ao grupo a
capacidade de desenvolver o algoritmo do problema, abordando o paradigma
procedural estruturado, envolvendo os conceitos básicos de lógica de programação,
utilizando a linguagem C para desenvolvimento de programas. E a disciplina de
Engenharia de Software proporcionou aplicar o conhecimento dos métodos e
técnicas de projeto para auxiliar o
processo de desenvolvimento de software.
7
2 ENGENHARIA DE SOFTWARE
O conceito “Engenharia de Software” foi cunhado em 1969 por Fritz Bauer em uma
conferência patrocinada por um Comitê de Ciência da Organização do Tratado do
Atlântico Norte (Otan), no momento em que a chamada crise do software precisava
de uma solução para a demanda crescente por software, dentro de custo e prazo
adequados. Nessa época, a crise foi identificada pela preocupação crescente na
comunidade de software com a quantidade de defeitos, entregas fora de prazo e
altos custos do software.
2.1 Modelo de Processo
Um modelo de processo de desenvolvimento de software, ou simplesmente modelo
de processo, pode ser visto como uma representação, ou abstração dos objetos e
atividades envolvidas no processo de software. Além disso, oferece uma forma mais
abrangente e fácil de representar o gerenciamento de processo de software e
consequentemente o progresso do projeto.
Exemplos de alguns modelos de processo de software;
Modelos ciclo de vida
Cascata (do inglês waterfall)
Desenvolvimento iterativo e incremental
Prototipação
V-Model
Espiral
Componentizado
Formal
Ágil
RAD
Quarta geração
2.1.1 Modelo Cascata
Em 1970 Royce propôs o que é agora popularmente designado no modelo em
cascata como um conceito inicial, um modelo no qual ele argumentava ser
8
defeituoso. Seu trabalho então explorou como o modelo inicial poderia ser
desenvolvido em um modelo iterativo, com feedback de cada fase influenciando as
próximas, de modo similar a muitos métodos amplamente utilizados hoje.
Considerado o “modelo clássico de desenvolvimento”, o Modelo em Cascata é
“sugerido para projetos pequenos” e sua ideia defende que “para uma fase iniciar, a
anterior deve estar totalmente finalizada” (ENGHOLM, 2010) e que o “resultado de
cada etapa é a aprovação de um ou mais documentos ‘assinados’” (SOMMERVILLE,
2011).
IMAGEM 01 – O modelo em Cascata
Fonte:[Link]
Basicamente, o desenvolvimento é dividido em cinco etapas, que começam assim
que a anterior termina:
9
1. Requisitos: Os requisitos potenciais, prazos e diretrizes para o projeto são
analisados e colocados em uma especificação funcional. Esta etapa trata da
definição e planejamento do projeto sem mencionar processos específicos.
2. Análise: As especificações do sistema são analisadas para gerar modelos de
produtos e lógica de negócios que orientarão a produção. É também quando
os recursos financeiros e técnicos são auditados para a viabilidade.
3. Design: Um documento de especificação de design é criado para delinear
requisitos técnicos de design, como linguagem de programação, hardware,
fontes de dados, arquitetura e serviços.
4. Codificação/Implementação: O código-fonte é desenvolvido utilizando os
modelos, lógica e requisitos designados nas etapas anteriores. Normalmente,
o sistema é projetado em componentes menores, ou unidades, antes de ser
implementado em conjunto.
5. Teste: É quando os testes de garantia de
qualidade, unidade, sistema e beta ocorrem para relatar problemas que
podem precisar ser resolvidos. Isso pode causar uma repetição forçada do
estágio de codificação para depuração. Se o sistema passar nos testes, a
cachoeira continua para a frente.
6. Operação/Implantação: O produto ou aplicativo é considerado totalmente
funcional e é implantado em um ambiente vivo.
7. Manutenção: A manutenção corretiva, adaptativa e perfeita é realizada
indefinidamente para melhorar, atualizar e aprimorar o produto final. Isso pode
incluir o lançamento de atualizações de patches ou o lançamento de novas
versões.
2.2 Requisitos
Os requisitos constituem um conjunto de requisitos estabelecidos pelos clientes /
utilizadores que definem a estrutura e comportamento do software desenvolvido,
podemos citar: o processo, os dados gerados esperados, as restrições de
funcionamento, o software a utilizar pela pessoa a utilizar, e todos esses problemas
relacionados.
10
2.2.1 Requisito Funcional
Dentro da engenharia de uma empresa de software podemos destacar o requisito
funcional, onde há a materialização de uma necessidade ou solicitação realizada por
um software. Porém, vários Requisitos Funcionais podem ser realizados dentro de
uma mesma funcionalidade. São variadas as funções e serviços que um sistema
pode fornecer ao cliente:
Incluir/Excluir/Alterar nome em uma tela de manutenção de funcionário
Geração de relatório de determinado período de vendas
Efetuar pagamentos de compra através de crédito ou débito
Consulta e alterações de dados pessoais de clientes
Emissão de relatórios de clientes ou vendas
Consulta de saldo ou estoque
Basicamente o requisito funcional é o coração do projeto. Tudo que dá sentido ao
mesmo e o torna relevante para os interessados.
2.2.2 Requisito Não Funcional
Os requisitos não funcionais definem características e impõe limites do sistema
como método de desenvolvimento, tempo, espaço, Sistema Operacional, dentre
outros e cuja medida pode ser determinada é importante que se associe essa
medida ou referência à cada requisito não funcional:
O tamanho pode ser medido em kbytes e número de Chip de RAM.
A velocidade está ligada ao tempo de utilização da tela, ou transações
processadas por segundos.
A métrica da portabilidade é o número de sistema-alvo.
A facilidade de uso pode ser medida pelo número de janelas ou o tempo de
treino
A confiabilidade tem ligação com o tempo médio que o sistema pode vir a
falhar, a disponibilidade ou até mesmo a taxa de ocorrência de falhas.
11
2.2.3 Classificação dos Requisitos do Projeto
Os requisitos foram retratados sendo definido por RF (Requisito Funcional) e NRF
(Requisito Não Funcional):
REQUISITO FUNCIONAL
NOME DESCRIÇÃO
(RF)
Autenticação de usuários
cadastrados no sistema,
(por padrão usuário e
RF 01 EFETUAR LOGIN senha admin) permitindo
a realização de
operações na área restrita
do sistema.
Área destinada a criação
CADASTRO DE de um usuário e senha
RF 02
USUÁRIO E SENHA para a utilização do
sistema.
Área destinada a
CADASTRO DE realização de cadastro
RF 03
PACIENTES das informações pessoais
do paciente.
Validar o campo de
cadastro de CPF para
RF 04 VALIDAR CAMPO CPF que não haja pacientes
com CPF duplicados no
sistema.
Área externa do software
INFORMAÇÕES SALVAS onde fica salva todas as
RF 05
EM ARQUIVO informações referentes ao
paciente.
12
REQUISITO NÃO
NOME DESCRIÇÃO
FUNCIONAL (RNF)
SISTEMA O sistema deverá rodar
RNF 1
OPERACIONAL em qualquer plataforma.
LINGUAGEM DE O desenvolvimento deve
RNF 2
PROGRAMAÇÃO ser em linguagem C.
Fonte: Autoria própria
3 DESENVOLVIMENTO
Em todo processo de codificação e execução do sistema será utilizado a IDE CODE
BLOCKS, utilizando a linguagem de codificação C. Code Blocks é um ambiente de
desenvolvimento integrado de código aberto e multiplataforma. Ele foi desenvolvido
em C++, usando wxWidgets. Sua arquitetura é orientada a plugin, de forma que
suas funcionalidades são definidas pelos plugins fornecidos a ele. Code Blocks é
voltado para o desenvolvimento em C/C++ e Fortran, podendo também ser usado
para a criação de ARM, AVR, D (linguagem de programação), DirectX, FLTK, GLFW,
GLUT, GTK+, Irrlicht, Lightfearther, MATLAB, OGRE, OpenGL, Qt, SDL, SFML, STL,
SmartWin e programas ou aplicativos com WX.
IMAGEM 02 – CodeBlocks
Fonte: Autoria própria
13
3.1 Linguagem C
A linguagem de programação C é uma linguagem de programação compilada de
propósito geral, criada em 1972 por Dennis Ritchie na empresa AT&T Bell Labspara
desenvolvimento do sistema operacional UNIX. C é uma linguagem imperativa e
procedural para implementação de sistemas, desenvolvida para ser uma linguagem
de alto nível, para maior reaproveitamento do código. Na linguagem C, precisamos
gerenciar explicitamente a memória alocada, podemos manipular diretamente o
endereço da memória, precisamos entender o conceito de passagem de parâmetros
por valor e referência, o conceito de variáveis de ponteiro e assim por diante. O
conhecimento que adquirimos nos permite escrever programas corretos e eficazes.
Esse conhecimento é especialmente importante quando precisamos projetar novas
estruturas de dados para atender a necessidades específicas. Linguagens de
programação mais abstratas suportam nativamente as estruturas de dados mais
comuns; na linguagem C, precisamos implementá-las. O conhecimento obtido na
implementação de estruturas nos dá uma melhor compreensão de qual estrutura
deve ser usada em uma determinada aplicação, nos permite nos adaptar às
estruturas existentes quando necessário e nos ensina a avaliar a eficiência dos
algoritmos que utilizam essas estruturas.
3.2 Manual do Usuário
O sistema exibe a tela de login do profissional da saúde, e para obter um certo
controle de acesso, ele devera digital o seu login e a sua senhar para por fim ter
acesso as informação do sistema. (Login:admin Senha:2021)
14
IMAGEM 03 – Tela de Login e Senha
Fonte: Autoria própria
Nessa tela todas as inforções são exibidas Cadastros, Pesquisar, Alterar, Excluir,
Informações do Siste e Sair digite o numero de acordo com o que deseja realizar e
siga os passo a passo no manual, para a sua respectiva ação que desejou tomar.
IMAGEM 04 – Menu de Opções
Fonte: Autoria própria
15
Caso você tenha selecionado a opção 1, você automaticamente se depara com a
tela de Cadastros, que nela você terá os seguintes acessos Cadastros de Pacientes,
Cadastro de Usuários e por último retornar ao menu anterior, aqui você poderá
cadastrar tanto quanto pacientes ou profissionais da área.
IMAGEM 05 – Menu de Opções com Cadastro de Pacientes e Novo Usuário
Fonte: Autoria própria
Selecionando a opção 1 Cadastros de Pacientes, você passara por perguntas como
nome do paciente, CPF, Data de nascimento, E-mail, Telefone para contato, Data do
diagnostico, Cep, Rua, Numero, Complemento, Cidade, Bairro, Estado e por fim
você terá que dizer se o paciente possui algum tipo de morbidade.
IMAGEM 06 – Tela de Cadastro de Paciente
Fonte: Autoria própria
16
Ou selecionando a opção 2 Cadastros de Usuários, você poderá criar uma novo
login e senha para outros acessarem o programa.
IMAGEM 07 – Tela de Cadastro de Novo Usuário
Fonte: Autoria própria
3.3 Passo a passo de como compilar
Com o projeto já baixado você terá que extrai-lo, click com o botão direito do mouse
e vá até a opção 7-zip, em seguida vá até Extrair Aqui.
IMAGEM 08 – Como Abrir o Arquivo para Compilar
Fonte: Autoria própria
17
Depois que extraiu ele irá apresentar cinco arquivos o mais importante entre ele será
o (projeto pim.c), então você deve clicar com o botão direito novamente encima dele
e ira até (Abrir com), você selecionara a opção Code:Block IDE que será o nosso
ambiente de desenvolvimento.
IMAGEM 09 – Abrir o CodeBlock
Fonte: Autoria própria
Com o Code:Block IDE já aberto você ira até a opção build and run, que seria o local
no qual mostra na figura a seguir.
IMAGEM 10 – CodeBlock Aberto
Fonte: Autoria própria
18
CONCLUSÃO
Com base no que foi presentado nas matérias e também nas pesquisas, foi
possível a criação de um método programado em Linguagem C, no intuito de auxiliar
profissionais da saúde na execução do cadastrar de pacientes que apresentam
sintomas da doença Covid-19, conhecida por ser a mais letal dos últimos anos, com
uso destes dados clínicos compartilhados com a secretária da saúde facilitando o
controle de pessoas que contraíram a doença e em qual grau de contaminação a
pessoa se encontra, para que de alguma forma passamos combater essa doença.
Para o realização do projeto utilizamos os conceitos estudados, na disciplina
Linguagem e Técnicas de Programação, fizemos o uso do Ide e do CodeBlocks para
a realizarmos as técnicas apresentadas no curso, necessários para a criação dos
campos que o sistema deve possuir, iniciando pela tela de login do profissional da
saúde, no intuito de somente eles acessarem os arquivos e adiciona-los, em seguida
exibira a tela Sistema de Monitoramento e Acompanhamento para que por fim
possa ser adicionados as informações do paciente e em seguida salva-las.
E para a realização dos conceitos utilizados ao longo das aulas de
Engenharia de Software l, entre aquelas metodologias usadas avaliamos seus
pontos fortes e fracos, optamos por uso da Metodologia Cascata, por simplesmente
estar de acordo com o alinhamento dos nossos projetos e o desenvolvimento ser
postos em etapas.
De acordo com o cenário em que vivemos no momento com o aumento de
casos por Covid-19, seria um bom passo não só para a área da saúde mais também
a utilização das tecnologias no nosso dia-dia, de uma forma em que facilite o
trabalho de muitos e que agilize o atendimento em hospitais, dessa forma todos
conseguem trabalhar e ser atendido de forma mais ágeis.
19
REFERÊNCIAS
TecTarget. Waterfall Model. Disponível em:
[Link] Acesso em: 25
nov. 2021.
Codificar. O que são Requisitos Funcionais e Requisito não Funcionais. Disponível
em: [Link] Acesso em: 25 nov.
2021.
Hirama, K. Engenharia de Software. Elsevier Editora Ltda: Grupo GEN, 2011.
9788595155404. Disponível em:
[Link] Acesso em: 26
Nov 2021
WIKIPÉDIA. Code::Blocks. Disponível em:
[Link] Acesso em: 26 nov. 2021.
(Utilizar NBR 6023).
Treinamento em Linguagem C. Victorine Viviane MizrahI.
Alura curso Introdução as Linguagem das linguagens.
Alura Curso em C II: avançando na linguagem.