Buscar

System Labor Pré Projeto

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTADUAL DE GOIÁS 
CÂMPUS DE ITABERAÍ 
 
 
 
 
 
 
 
Alan Ferreira Costa 
Fernanda Silva de Jesus 
Diego Batista de Sousa Marques 
 
 
 
 
 
System Labor 
 
 
 
 
 
 
 
 
 
 
 
 
ITABERAÍ 
2015 
 
 
Alan Ferreira Costa 
Fernanda Silva de Jesus 
Diego Batista de Sousa Marques 
 
 
 
 
 
 
 
 
 
 
 
 
 
System Labor 
 
 
Trabalho Final de Curso apresentado à 
Universidade de Goiás, Campus de Itaberaí, como 
requisito parcial para a conclusão do curso de 
graduação em Sistema de Informação, sob 
orientação do Professor (a) Thais Peres Montes. 
 
 
 
 
 
 
 
 
 
 
ITABERAÍ 
2015 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dedicamos este trabalho em primeiro lugar ao Senhor 
nosso Deus que nos deu graça e capacidade para 
planeja-lo, aos nossos pais, nossos professores e 
amigos que nos influenciaram para a conclusão do 
mesmo. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Agradecemos a Deus por nos proporcionar 
momentos em que podemos conviver e aprender 
mais um com o outro, assim como as experiências em 
outras áreas de ensino, agradecemos a professora 
Thais Peres que nos motivou e cooperou com grande 
estimulo e persistência para a realização desse 
trabalho. Além de agradecer em especial ao 
proprietário da empresa Laboratório Cabral, Luís 
Antônio Campos Cabral onde colaborou com grande 
profissionalismo. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“Ninguém quer morrer. Mesmo as pessoas que 
querem chegar ao Paraíso não querem morrer para 
estar lá. Mas apesar disso, a morte é um destino de 
todos nós. Ninguém nunca escapou. E deve ser 
assim, porque a morte é provavelmente a maior 
invenção da vida. É o agente de transformação da 
vida. Ela elimina os antigos e abre o caminho para os 
novos”. Steve Jobs. 
 
 
RESUMO 
 
Este projeto tem como principal foco a análise e desenvolvimento de um 
sistema de informação para um laboratório de análises clínicas, baseando se na 
engenharia de software. O acompanhamento das atividades dentro da empresa 
proporciona melhores condições de trabalho. Nesse âmbito o sistema fornecerá 
condições em que poderá agendar horários e manter o controle de seus cadastros 
sendo eles de cliente ou de exames, auxiliando a empresa a monitorar suas rotinas. 
Foram feitas pesquisas bibliográficas e entrevistas que conduziram ao entendimento 
da necessidade da empresa sendo analisado com as propostas de análise orientada 
a objetos que propuseram essa realização. O objetivo final deste foi a capacitação de 
implementação e análise do mesmo, conseguindo chegar a uma conclusão eficácia 
do sistema. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LISTA DE FIGURA 
 
Figura 1- Modelo Cascata. ................................................................................................................ 22 
Figura 2 - Modelo Espiral. ................................................................................................................. 23 
Figura 3 - Modelo de Prototipação .................................................................................................. 24 
Figura 4 - Diagrama de caso de negocio ........................................................................................ 37 
Figura 5 – Diagrama de caso de uso .............................................................................................. 38 
Figura 6 - Modelo Relacional Normalizado .................................................................................... 39 
Figura 7 - Diagrama de Classe ........................................................................................................ 40 
Figura 8 - Diagrama de Sequência de Agenda ............................................................................. 41 
Figura 9 - Diagrama de Sequência de Cliente ....................................................................................... 42 
Figura 10 - Diagrama de Sequência de Convenio ........................................................................ 43 
Figura 11 - Diagrama de Sequência de Exame............................................................................. 44 
Figura 12 - Protótipo Alto nivel - Tela Principal ............................................................................. 51 
Figura 13 - Protótipo Alto Nivel - Tela de Exames ....................................................................... 52 
Figura 14 - Protótipo Alto Nível -Tela de busca de exames ....................................................... 53 
Figura 15 - Protótipo de Alto nível - Tela de convênios ............................................................... 54 
Figura 16 - Protótipo de Alto nível - Tela de Cadastro de Funcionário ...................................... 55 
Figura 17 - Prototipo de Alto Nivel - Tela de Cadastro de Clientes ............................................ 56 
Figura 18 - Protótipo Alto nível - Tela de Agenda ......................................................................... 57 
Figura 19 - Protótipo de Baixo Nível - Tela Principal .................................................................... 58 
Figura 20 – Protótipo Baixo Nível - Tela de Exames ................................................................... 59 
Figura 21 - Protótipo Baixo Nível -Tela de busca de exames .................................................... 60 
Figura 22 - Protótipo de Baixo nível - Tela de convênios ............................................................ 61 
Figura 23 - Protótipo de Baixo nível - Tela de Cadastro de Funcionário ................................... 62 
Figura 24 - Protótipo de Baixo Nível - Tela de Cadastro de Clientes ........................................ 63 
Figura 25 - Protótipo Alto nível - Tela de Agenda ......................................................................... 64 
 
 
 
LISTA DE TABELAS 
 
Tabela 1 - Requisitos ................................................................................................................... 34 
 
 
 
 
LISTA DE SIGLAS E ABREVIATURAS 
 
UML - Unified Modeling Language; 
SGDB- Sistema de Gerenciamento de Banco de Dados; 
CASE – Computer Aided Software Engineering; 
MRN- Modelo Relacional Normalizado. 
 
 
SUMÁRIO 
INTRODUÇÃO ...................................................................................................................... 12 
1 ENGENHARIA DE REQUISITOS ............................................................................... 14 
1.1 REQUISITOS ............................................................................................................................. 14 
1.2 REQUISITOS FUNCIONAIS ............................................................................................................ 15 
1.3 REQUISITOS NÃO FUNCIONAIS...................................................................................................... 16 
1.4 LEVANTAMENTO DE REQUISITOS .................................................................................................. 17 
1.5 VALIDAÇÃO DE REQUISITOS ......................................................................................................... 17 
2 ENGENHARIA DE SOFTWARE .................................................................................19 
2.1 SOFTWARE .............................................................................................................................. 20 
2.2 PROCESSOS DE SOFTWARE .......................................................................................................... 20 
2.3 MODELO DE PROCESSO DE SOFTWARE .......................................................................................... 21 
2.3.1 MODELO CASCATA .................................................................................................................... 22 
2.3.2 MODELO ESPIRAL ..................................................................................................................... 23 
2.3.3 MODELO DE PROTOTIPAÇÃO ....................................................................................................... 24 
2.4 ETAPAS DE ENGENHARIA DE SOFTWARE......................................................................................... 25 
2.4.1 ESPECIFICAÇÃO ......................................................................................................................... 25 
2.4.2 DESENVOLVIMENTO .................................................................................................................. 26 
2.4.3 VALIDAÇÃO .............................................................................................................................. 27 
2.4.4 EVOLUÇÃO .............................................................................................................................. 27 
3 UML.................................................................................................................................. 29 
3.1 DIAGRAMAS DE CASO DE USO ..................................................................................................... 29 
3.2 DIAGRAMA DE CLASSES .............................................................................................................. 30 
3.3 DIAGRAMA DE SEQUÊNCIA .......................................................................................................... 31 
4 ESTUDO DE CASO ........................................................................................................ 33 
4.1 ANÁLISE INICIAL ........................................................................................................................ 33 
4.1.2 TABELA DE REQUISITOS............................................................................................................... 34 
4.2 LISTA DE REQUISITOS NÃO FUNCIONAIS .......................................................................................... 35 
4.3 ANÁLISE DE ENTREVISTA ............................................................................................................. 35 
4.6 DIAGRAMA DE CLASSE (DADOS ESTRUTURAIS) ................................................................................ 40 
4.7 DIAGRAMA DE SEQUÊNCIA (EVENTOS TEMPORAIS) .......................................................................... 41 
4.8 FERRAMENTAS (SOFTWARES, HARDWARE E EQUIPAMENTO UTILIZADO). ...................................... 45 
5 CONSIDERAÇÕES FINAIS ......................................................................................... 46 
REFERÊNCIAS BIBLIOGRÁFICAS .................................................................................. 47 
APÊNDICE ............................................................................................................................. 48 
 
12 
 
INTRODUÇÃO 
 
Um sistema se caracteriza por um conjunto de elementos organizados e 
relacionados que interagem entre si, desde modo seu funcionamento se dá através 
de entrada e saída de informações. Contudo um sistema revela uma série de metas 
que vem atingir um objetivo ou vários deles. 
É observado a dificuldade de um laboratório de análises clínicas em suas 
atividades rotineiras utilizando software que já não proporciona as devidas 
atualizações que veio a defasar suas ferramentas não se adequando as necessidades 
do próprio laboratório. Para este, foi criado o System labor um sistema que por sua 
vez irá agilizar as atividades dentro do laboratório, proporcionando uma maneira 
simples de lidar com o mesmo, favorecendo uma ambiente de fácil compreensão e 
menos estressante. Objetivo deste é propor ao usuário final satisfação em seus 
propósitos, com a certeza de que estará usufruindo de um sistema eficaz em sua 
empresa. 
O sistema será baseado na engenharia de software, na qual oferece ao 
engenheiro de software auxilio para a análise e desenvolvimento do sistema, 
identificando os principais requisitos que irão exercer funcionalidades dentro do 
sistema. Como modelo de linguagem foi escolhida a linguagem UML (Unified Modeling 
Language) que oferece uma análise construtiva do sistema, além de oferecer 
ferramentas cases que ajudam na construção do mesmo. Escolhido a ferramenta 
Astha, na qual possibilita a criação de diagramas, dentre eles foram criados diagrama 
de caso de uso, diagrama de classes, e o diagrama de sequência. Para a montagem 
da prototipação foi realizada em base da orientação a objetos de linguagem Java, 
utilizando o netBeans 8.1. O MySQL Workbench 6.3 foi utilizado para a montagem do 
MRN (modelo relacional normalizado). 
Este trabalho está estruturado em 5 capítulos, iniciando pela introdução que 
fala sobre o tema escolhido, abordando toda a metodologia usada para a criação 
deste. 
No capítulo 1 será abordado todo o levantamento de requisitos dentro da 
engenharia de software, assim como suas definições e a validações destes. 
 
13 
 
No capítulo 2 falará de toda a análise e desenvolvimento dentro da 
engenharia de software, tratando de seus modelos utilizados para a criação deste 
sistema, oferecendo toda a estrutura necessária para a documentação do mesmo. 
No capítulo 3 tratará dos diagramas retratados na linguagem UML, assim 
como, suas definições, especificará as ações e funcionalidades que o sistema irá 
fazer. 
No capítulo 4 discorrerá dos requisitos levantados para o desenvolvimento 
do projeto, assim como todos os implementos importantes para implementa ló. 
No capítulo de considerações finais são apresentando os resultados finais, 
que comtemplam as observações obtidas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14 
 
1 Engenharia de requisitos 
 
Os requisitos são o centro no processo da criação de um software, sendo 
determinante para a qualidade do projeto em desenvolvimento. A Engenharia de 
requisitos consiste no levantar, analisar e controlar estes requisitos. 
A Engenharia de requisitos se inicia durante a atividade de comunicação 
entre o analista e seu cliente, continuando na modelagem da aplicação e se adaptando 
às necessidades do processo, do projeto, do produto e das pessoas que estão 
realizando o trabalho, garantindo a qualidade e a viabilidade das informações 
adquiridas no levantamento de requisitos. Para Magela (2006, p.19) esta etapa “[...] é 
responsável por garantir a consistência e a qualidade dos requisitos especificados”, 
para um melhor desenvolvimento da aplicação. 
Frederick P. Brooks, nos diz que esta é a parte mais árdua na criação de 
uma aplicação, pois consiste em identificar o que irá se construir. Caso ocorra erros 
nesta identificação poderá chegar a inutilização do projeto desenvolvido, geralmente 
estes erros ocorre quando o analista não consegue compreender o que o cliente, ou 
a não expressão adequada dos problemas a serem resolvidos por parte do cliente e 
de seus funcionários. 
 Pressman (2011, p. 126) comenta a respeito destes acontecimentos 
narrando as falas de um cliente com seu desenvolvedor dizendo o seguinte: “Eu sei 
que vocêimagina que entendeu aquilo que eu lhe disse, mas o que você não 
compreende é que aquilo que eu lhe disse era exatamente aquilo que eu quis dizer”. 
As falhas com a comunicação poderão tornar um software inútil para o cliente, não o 
atendendo da forma esperada. 
 
1.1 Requisitos 
 
Os requisitos são descritos como uma condição ou capacidade que o 
usuário necessita para resolver determinado problema. De acordo com Sommerville 
(2007, p.79) os “[...] requisitos refletem as necessidades dos clientes de um sistema 
que ajuda a resolver algum problema, por exemplo, controlar um dispositivo, enviar 
 
15 
 
um pedido ou encontrar informações”. Sendo mais preciso são características e 
funcionalidades que o software deve atender para realizar as atividades requeridas 
pelo usuário; 
Os requisitos formam um conjunto de funcionalidades (característica, 
objetivos, propriedades, habilidade ou qualidade) que compõe o sistema, este por sua 
vez criado de acordo com as necessidades de cada empresa. Segundo Magela (2006, 
p.2) requisitos atuam como: “[...] Conjunto de sentenças condicionadas pelos 
processos e pela política de negócio da empresa que visam a definir as 
funcionalidades que devem estar presentes em um software”. Com a descrição acima 
entende-se que os requisitos são descrições das funcionalidades e restrições em que 
o sistema deve atuar tendo em vista modernizar e agilizar os processos da empresa. 
Segundo Pfleeger requisito: “[...] é uma característica do sistema ou a descrição de 
algo que o sistema é capaz de realizar, para atingir os seus objetivos”. 
(PFLEEGER,2004, p.111). Sendo o mesmo, o alicerce principal para a construção da 
aplicação, caso ocorra um mal levantamento ou interpretação destes, poderá ocorrer 
um grande comprometimento do sistema podendo o inutiliza-lo permanentemente. 
Na construção de um sistema os requisitos podem ser caracterizados como 
requisitos funcionais e requisitos não funcionais, veremos cada um deles a seguir. 
 
1.2 Requisitos Funcionais 
 
Os requisitos descreve as funcionalidades e o comportamento do sistema, 
tornando-se “o verdadeiro alvo na análise de requisitos porque são eles que fornecem 
o que deve ser construído”. (Magela, p. 9, 2006), mais precisamente vão variando de 
acordo com cada situação para qual o software é desenvolvido. 
Estes requisitos a também como funções do software, onde vai detalhar as 
execuções do próprio sistema, ou seja, detalhar suas características. De acordo 
com Sommerville (2007) são as declarações que o sistema deve fornecer, reagir a 
entradas especificas e como o sistema deve se comportar”, nas atividades requeridas 
ao mesmo. 
 
16 
 
Estes requisitos podem ser operações matemáticas, detalhes técnicos e 
outras funcionalidades que definem o que o sistema poderá realizar como a 
manipulação dos dados e processos. 
 
1.3 Requisitos não funcionais 
 
Os requisitos não funcionais estão relacionados a manipulação do sistema 
pelo usuário, em termos de confiança, desempenho, suporte, utilidade e sua 
escalabilidade. Dependendo dos serviços fornecidos pelos requisitos funcionais 
durante a construção do software, ou seja, estão diretamente relacionados a suas 
funções. Para Magela (2006) esses requisitos: “[...]restringem a forma como os 
requisitos funcionais fornecerão seus serviços e se comportarão durante a execução 
do software que está sendo produzido”. (MAGELA, 2006, p.3). 
Estes requisitos restringe o desenvolvimento do sistema, a linguagem a ser 
desenvolvido e quais técnicas ou ferramentas de implementação a ser utilizadas. 
Contudo não se aplicam as características ou serviços individuais do sistema. É assim 
que Pfleeger (2004, p.115) os descrevem: “Os requisitos não funcionais ou restrições 
descrevem uma restrição no sistema que limita nossas opções para criar uma solução 
para o problema”. 
Contudo Sommerville (2007), afirma que: 
“Os requisitos não funcionais surgem devido às necessidades do usuário, ás 
restrições de orçamento, ás politicas organizacionais, a necessidade de 
interoperabilidade com outros sistemas de software ou hardware ou a fatores 
externos, como regulamentos de segurança ou legislação a respeito da 
privacidade”. (SOMMERVILLE, 2007, p. 82). 
 
Denominados de atributos de qualidade estes requisitos atuam como 
critério de seleção, ou seja, vão identificar e definir se o software desenvolvido é 
confiável, eficiente (desempenho, espaço, rapidez, memória), confiável, portabilidade. 
 
 
17 
 
1.4 Levantamento de requisitos 
 
O levantamento de requisitos é umas das etapas com mais destaque e 
importância no processo de desenvolvimento de software, pois é onde serão 
identificados os requisitos que o projeto devera suprir, tendo assim uma maior 
interatividade entre os analistas responsável por esta etapa e o seu cliente, 
procurando suprir e satisfazer suas reais necessidades, é nesta etapa que acontecerá 
uma análise minuciosa dos dados, sendo responsável por “[...] mais da metade dos 
defeitos de um software, tem origem em erros cometidos no levantamento de 
requisitos”. (MAGELA, 2006, p.14). 
Contudo para Sommerville (2007) os engenheiros trabalhara com o cliente 
e seus funcionários para saber quais serviços o software irá fornecer para melhor 
atender ao cliente, com a determinada afirmação. 
“Nessa atividade, os engenheiros de software trabalham com os clientes e os 
usuários finais do sistema para aprender sobre o domínio e a aplicação, quais 
serviços o sistema deve fornecer, o desempenho esperado do sistema, 
restrições de hardware, etc.”. (SOMMERVILLE, 2007, p.97). 
 
Esta atividade auxiliará no esclarecimento de dúvidas, tendo suma 
importância para melhor compreender e analisar os requisitos coletados. Para 
Pressman (1995, p.133) o levantamento de requisitos trata-se da: “[...] resolução de 
problemas, elaboração, negociação e especificação”, da aplicação em 
desenvolvimento. Esta é interação entre o desenvolvedor e o cliente, é chamadas de 
stakeholders, termo usado para se referir a pessoas que atuam direta ou 
indiretamente com o sistema, e quando são elaboradas entrevistas para alcançar os 
objetivos (os requisitos) em que se trabalhara no desenvolvimento do software. 
 
1.5 Validação de requisitos 
 
Todos os processos da Engenharia de requisitos são de suma importância 
para o desenvolvimento de um projeto que venha atender as necessidades, 
solicitadas pelo cliente, porem após o levantamento temos que validar os nossos 
 
18 
 
requisitos, confirmando se atendem as reais necessidades dos usuários finais da 
aplicação. Sommerville nos alerta que se o sistema não apoia os reais objetivos da 
empresa, o mesmo e inútil pois não contem valor para a empresa. 
Neste período que ocorre a descobertas dos erros nos requisitos 
encontrados na elicitação (Levantamento de requisitos). Sommerville nos alerta que 
se estes erros não são corrigidos já nas primeiras etapas no processo de 
desenvolvimento do software poderá levar a um custo excessivo no projeto: 
“[...] erros em um documento de requisitos podem levar a custos excessivos 
de retrabalho quando são descobertos durante o desenvolvimento ou depois 
que o sistema está em operação”. (SOMMERVILLE, 2007, p.105). 
 
Quem deve atuar na validação de requisitos? A resposta para esta 
pergunta e simples todos os envolvidos e interessados na aplicação. Assim descrito 
por Magela: “[...] deverá ser validada por todos os envolvidos no projeto. Os usuários, 
os financiadores e os técnicos são os responsáveis por essa tarefa”. (MAGELA, 2006, 
p.23). 
Todos os envolvidos examinaram as especificações procurando por erros 
como: requisitos não estruturados(Não há problemas em sua interpretação), 
requisitos que violam alguma regra de negócio (leis, códigos, normas que impossibilita 
a resolução deste requisitos) e outros descritos por Pressman como: “[...] áreas em 
que esclarecimentos podem ser necessário, informações omissas, 
inconsistências(um problema importante quando produtos ou sistemas de grande 
porte passam por engenharia), requisitos conflitantes ou requisitos irrealísticos 
(inatingíveis). (PRESSMAN, 2006, p.120) 
 
 
 
 
 
 
19 
 
2 Engenharia de software 
 
A Engenharia de software está voltada para a produção de software com 
qualidade, tendo também como função na área da computação destinada a 
especificação, desenvolvimento e manutenção de sistemas. Sommerville a descreve 
a Engenharia de software como uma disciplina que está: “[...] relacionada com todos 
os aspectos da produção de software, desde os estágios iniciais de especificação do 
sistema até a sua manutenção, depois que este entrar em operação”. 
(SOMMERVILLE, 2007, p. 5). 
Deste mesmo modo os engenheiros de software à utilizam para resolver 
seus problemas na computação, é uma forma de estudo utilizado pelos mesmos para 
obter resultados e desenvolvimento de bons softwares. Pfleeger afirma que como 
engenheiros de software temos que usar: “[...] nosso conhecimento sobre 
computadores e computação para ajudar a resolver problemas”. (PFLEEGER, 2004, 
p. 2). 
Contudo a engenharia está relacionada a métodos, processos e 
ferramentas nas quais contribuem para a construção do software, onde cada etapa 
proporcionará maneiras de como planejar, projetar e desenvolver o sistema. 
Segundo Pressman: 
“Ela abrange um conjunto de três elementos fundamentais: métodos, 
ferramentas e procedimentos que possibilita ao gerente o controle de 
processo de desenvolvimento de software e oferece ao profissional uma base 
para a construção de software de alta qualidade produtivamente”. 
(PRESSMAN, 1995, p. 31) 
 
Portanto a engenharia de software proporciona meios que auxilia no 
desenvolvimento, desde os estados iniciais até sua finalização, proporcionando assim 
a criação de sistemas qualificados. 
 
 
 
20 
 
2.1 Software 
 
Muitos pensam que quando se fala de software está se referindo a somente 
ao executável que está em seu computador, no entanto para Sommerville a definição 
de software é muito mais complexa que isso, para ele “Software não é apenas o 
programa, mas também todos os dados de documentação e configuração associados, 
necessários para que o programa opere corretamente”. (SOMMERVILLE, 2007, p. 4), 
esta documentação citada por Sommerville se estende desde as entrevistas 
realizadas com o cliente até a relatórios gerados com testes e implantações do 
software. 
Já Pressman o define com outras palavras, mas com o mesmo sentido e 
objetivo, dizendo que software: “Abrange programas que executam em computadores 
de qualquer tamanho e arquitetura, conteúdo que é apresentado ao programa a ser 
executado e documentados tanto em forma impressa quanto virtual...”. (PRESSMAN, 
2006, p.1) Assim como disse Pressman um programa pode ser executado por 
qualquer dispositivo capaz de interpretar e executar as instruções contidas em seus 
códigos independentemente da linguagem de programação no qual é desenvolvido, 
além de sua documentação poder ser tanto impressa quanto virtualizadas. 
 
2.2 Processos de Software 
 
Podemos considerar um conjunto de tarefas ordenadas como sendo um 
processo. Processos de software é um determinado conjunto de tarefas ordenadas, 
assim como nos ordenamos tudo que fazemos ou seja criamos um roteiro para realizar 
nossos afazeres também é assim no desenvolvimento de um software, para Pfleeger 
(2004, p. 36) os processos de software contém: “uma série de etapas que envolvem 
atividades, restrições e recursos para alcançar a saída desejada”. Esta saída tão 
desejada informada pelo autor e simplesmente um produto de qualidade e que atenda 
todas as reivindicações destinadas ao mesmo. 
Sommerville, se refere ao processo de software como um conjunto de 
atividades e resultados que associados leva a produção eficaz de software, já 
 
21 
 
Pressman define o processo de software como um roteiro que busca ajudar os 
engenheiros de software a criar seus projetos a tempo com um resultado de boa 
qualidade, para ele processo é o roteiro que se segue para a criação do software. 
Apesar da existência de vários modelos de processos, não há o modelo 
ideal a ser utilizado, Pressman comenta sobre esta afirmação com os dizeres: 
“Em nível de detalhe, o processo adotado depende do software que você está 
construindo. Um processo poderia ser apropriado à criação de softwares para 
o sistema de aviônica de uma aeronave, enquanto um processo inteiramente 
diferente seria indicado para a criação de um site”. (PRESSMAN, 2006, p.16) 
 
Como descrito anteriormente, pela não existência de um processo de 
software ideal, mas sim um que se enquadra ao projeto em questão, iremos comentar 
sobre os três modelos de processos mais utilizados: 
 Modelo em cascata 
 Modelo Espiral 
 Modelos de Prototipação. 
Veremos a seguir o que são modelos de processos de software. 
 
2.3 Modelo de Processo de Software 
 
Os Modelos de processos foi criado para colocar ordem no 
desenvolvimento de software fornecendo um roteiro de criação para o software, para 
Sommerville (2007, p. 6) o modelo de processo de software: “[...] é uma descrição 
simplificada desse processo de software que representa uma visão dele”. 
Representando a sequência das atividades com suas entradas e saídas, até mesmo 
os papeis das pessoas envolvidas com a aplicação. Pfleeger também comenta sobre 
a utilização de um modelo e seus subprodutos tendo o objetivo de ajudar a equipe 
entender a diferença entre o que ocorre e o que deveria ocorrer nos processos de 
software. 
 Pressman (2006, ed. 06, p. 37) defende que estes modelos: “[...] só 
definem um conjunto distinto de atividades, ações, tarefas, marcas e produtos de 
 
22 
 
trabalho que são necessários para fazer a engenharia de software com alta 
qualidade”, Pressman nós diz que estes modelos não garante a perfeição do projeto, 
porém fornece uma sequência de trabalho mais efetiva, dando estabilidade, controle 
e organização ao projeto e assim chegar o mais próximo possível do que seu cliente 
almeja com a utilização do software. 
 
2.3.1 Modelo cascata 
 
Figura 1- Modelo Cascata, Disponível em: <http://jkolb.com.br/o-modelo-em-
cascata/>, acesso em jun. de 2015. 
Apesar da existência de muitos outros modelos, o mais utilizado para esta 
devida função é o Modelo cascata, pois a grande maioria dos modelos existes se 
derivaram do mesmo, apenas acrescentando novas funcionalidade. Pfleeger (2004, 
p.39) comenta em seus escritos que: “[...] muitos outros modelos mais complexos são 
apenas variações do modelo cascata, incorporando loops de feedback e atividades 
extras”. O modelo cascata apresenta uma sequência linear para o desenvolvimento 
da aplicação, seguindo uma série de requisições. Pressman aborda o assunto com os 
dizeres que o cascata é um modelo: 
“[...] sequencial e sistemática para o desenvolvimento de software, 
começando como o levantamento de necessidades por parte do cliente, 
avançando pelas fases de planejamento, modelagem, construção, emprego 
e culminando no suporte continuo do software concluído” (PRESSMAN, 2007, 
ed. 7ª, p. 59) 
 
Este modelo apresenta suas vantagens nas documentações que serão 
produzidas em todas as suas etapas, já sua desvantagem fica a cargo de sua 
 
23 
 
inflexibilidade tornando difícil a mudança de requisitos do usuário,além de que cada 
atividade se inicie apenas quando a anterior estiver completa e verificada. 
Sommerville nos orienta a utilizar este modelo em apenas uma situação, quanto os 
requisitos forem bem compreendidos e não haver possibilidade de ocorrer mudanças 
radicais no desenvolvimento da aplicação. 
 
2.3.2 Modelo Espiral 
 
Figura 2 - Modelo Espiral, Disponível em: 
Mhttp://www.devmedia.com.br/introducao-aos-processos-de-software-e-o-modelo-incremental-
e-evolucionario/29839>, Acesso em jun. de 2015. 
O modelo espiral foi proposto por (Boehm 1988) sendo considerado 
evolucionário, envolvendo todos os outros modelos de processo de software como as 
principais atividades da modelo cascata. Esse processo descreve um fluxo de 
atividade em espiral, onde cada loop representa uma etapa do processo. Deste modo 
Sommerville afirma que: “[...] em vez de representar o processo de software como 
uma sequência de atividades com algum retorno entre uma e outra, o processo é 
realizado como uma espiral”. (SOMMERVILLE, 2007, p. 48), deixando assim de 
apresentar o modelo linear do cascata. 
Segundo Pfleeger: 
“Consequentemente, a concepção das operações é o produto da primeira 
interação e os requisitos são o principal produto da segunda interação. Na 
terceira iteração, o desenvolvimento do sistema produz o projeto, e na quarta, 
habilita os testes”. (PFLEEGER, 2004, p.46). 
 
24 
 
 
Assim o modelo espiral se inicia em determinando os objetivos como 
também soluções e restrições para cada etapa do processo de software, dando como 
também continuidade para cada procedimento por ele realizado. Pressman define o 
primeiro circuito: 
“[...] em volta da espiral pode resultar no processo de desenvolvimento de 
uma especificação de produto; passagens subsequentes em torno da espiral 
pode ser usadas para desenvolver um protótipo e, então, progressivamente, 
versões cada vez mais sofisticadas do software. Cada passagem pela região 
de planejamento resulta em ajustes no planejamento do projeto”. 
(PRESSMAN, 2007, p. 65). 
 
Contudo é um modelo que envolve todos os outros modelos de processo 
de software, ou seja, é um modelo interativo, sendo também um processo evoluído a 
cada etapa de desenvolvimento. 
 
2.3.3 Modelo de Prototipação 
 
Figura 3 - Modelo de Prototipação, Disponivel em: 
<http://www.devmedia.com.br/introducao-aos-processos-de-software-e-o-modelo-incremental-
e-evolucionario/29839> Acesso em jun. 2015. 
 
O modelo de prototipação é a etapa em que é feito o feedback do processo 
de software, onde poderão ser analisados os custos e demais problemas sendo assim 
é uma interação do cliente e todos os outros envolvidos no desenvolvimento do 
software. Segundo Pressman o paradigma da prototipação: 
 
25 
 
“[...] começa com a comunicação. Faz se uma reunião com os envolvidos 
para definir os objetivos gerais do software, identificar quais requisitos já são 
conhecidos e esquematizar quais áreas necessitam, obrigatoriamente, de 
uma definição mais ampla”. (PRESSMAN, 2007, p. 63). 
 
A partir das análises realizadas pelos clientes e desenvolvedores, poderão 
dar início ao procedimento de desenvolvimento do software, Pfleeger afirma que: “[...] 
assim que os usuários e clientes decidem o que realmente querem, os requisitos são 
revisados”. (PFLEEGER, 2004, p. 43) e se inicia a próxima etapa do desenvolvimento. 
Segundo Sommerville o modelo de prototipação é um modelo rápido e 
interativo. 
“Um protótipo é uma versão inicial de um sistema de software usado para 
demostrar conceitos, experimentar opções de projetos e, geralmente, 
conhecer mais sobre o problema e suas possíveis soluções. 
Desenvolvimento rápido e interativo do protótipo é essencial, de modo que os 
custos são controlados e os stakeholders do sistema podem experimentar o 
protótipo mais cedo no processo de software”. (SOMMERVILLE, 2007, p. 
271). 
Os protótipos permitem que o usuário do sistema verifique o que está sendo 
feito além de como será a utilização da aplicação, esse modelo pode ser entregue 
através do computador, em uma folha, não importa a maneira a ser entregue, podendo 
também ser realizada a todo o momento de desenvolvimento do software para que se 
possa ter sempre um feedback do produto e a opinião do cliente. 
 
2.4 Etapas de Engenharia de Software 
 
2.4.1 Especificação 
 
A especificação permite que os envolvidos no desenvolvimento venham a 
definir o que será produzido no software e as suas restrições. SOMMERVILLE, afirma 
que os clientes e engenheiros definem: “[...] o software a ser produzido e as restrições 
para a sua operação”. (SOMMERVILLE, 2007, p.6), neste contexto podem ser 
definidos quantos analistas estará atuando para a criação de uma restrição decidida 
pelos envolvidos. 
 
26 
 
Segundo Zave (1984), citado por Shari Lawrence (2004, p. 43), um modelo 
de processo permite aos desenvolvedores e clientes examinarem antecipadamente 
os requisitos e suas implicações no desenvolvimento, de modo que possam discutir e 
resolver algumas incertezas. No modelo de especificação operacional, os requisitos 
do problema são avaliados ou executados de modo a demonstrar o comportamento 
do sistema”. 
Contudo a especificação delimita cada elemento do sistema, ou seja, 
descreve as informações, sendo assim a função e o desempenho do computador e 
restrições do mesmo. Segundo PRESSMAN (1995, p. 222): “[...] Ela descreve a 
função e o desempenho de um sistema baseado em computador e as restrições que 
orientarão no seu desenvolvimento”. 
Desse modo podemos perceber que há uma semelhança entre a 
especificação e a prototipação onde ambas permitem que o usuário tenha acesso as 
informações nelas contidas, e que venha dar mais sugestões e dicas para um melhor 
desempenho do engenheiro para a conclusão do sistema. 
 
2.4.2 Desenvolvimento 
 
Para Sommerville o software: “[...] é projetado e programado”. 
(SOMMERVILLE, 2007. p. 6). Podemos definir desenvolvimento de software como 
sendo um planejamento e elaboração de um sistema, na qual irá fornecer informações 
que compõem suas características de como fazer, quando fazer, etc. 
Esta etapa pode ser dividida em partes, sendo dividida entre seus 
engenheiros para a melhor distribuição de tempo e funcionalidades de cada questão, 
para que se possa realizar um feedback com o cliente e assim finaliza lo. Para Shari 
Lawrence: “[...] novos modelos de processos são desenvolvidos para ajudar a reduzir 
o tempo de desenvolvimento”. (LAWRENCE, 2004, p.44), é uma etapa que requer 
muito tempo para desenvolver, quanto menor tempo para a realização do 
desenvolvimento do software melhor será para a entrega do produto ao cliente, sendo 
algo que precisa ser elaborado e planejado toda a estrutura do software como também 
o tempo de entrega do mesmo. 
 
27 
 
 
2.4.3 Validação 
 
Mesmo com tantos feedbacks realizados durante a realização do software 
é necessário que haja uma validação do mesmo, onde serão verificados se os 
requisitos vão suprir a necessidade da empresa além de coincidir com o que o cliente 
deseja. Segundo Sommerville validação de software é na qual: “[...] o software é 
verificado para garantir que é o que o cliente deseja”. (SOMMERVILLE, 2007, p.6). 
Segundo Lawence descreve a importância da validação: “é importante 
lembrar que a validação é mais do que uma simples verificação da rastreabilidade. 
Para assegurar que o sistema fará o que os clientes e usuários esperam, devemos 
confirmar que os objetivos e as intenções dos clientes e usuários sejam satisfeitos. 
Do contrário, os projetistas nos ajudarão a construir um sistema que não é o que os 
clientes querem”. (LAWRENCE, 2004, p.143). 
Dessemodo espera se que a validação seja bem sucedida para que o 
cliente esteja satisfeito com os resultados esperados. Segundo PRESSMAN a mesma 
se dá por várias definições mas uma solução simples (se bem que polêmica):” [...] é 
que a validação é bem sucedida quando o software funciona de uma maneira 
razoavelmente esperada pelo cliente”. (PRESSMAN, 1995, p.858). 
Contudo é necessário que exista vários feedbacks com o próprio cliente 
para que o engenheiro compreenda o que o cliente quer para a sua empresa como 
ela imagina que o software vai ajuda ló, sendo assim ficara mais fácil de montar um 
cenário de como o cliente deseja, no entanto que se possa valida ló e estar tudo certo. 
 
2.4.4 Evolução 
 
A evolução de software se dá através da modificação para se adaptar as 
empresas, ou seja, são necessários que as empresas façam uma avaliação de seu 
sistema e o custo que esse software trará para o financeiro da empresa. Pois sendo 
esse software criado para suprir as necessidades de uma grande empresa de vários 
 
28 
 
departamentos saíra com alto custo para uma pequena empresa. Segundo 
Sommerville: “[...] o software é modificado para se adaptar as mudanças dos requisitos 
do cliente e do mercado”. (SOMMERVILLE, 2004, p.6). 
Sendo assim o software irá conter todo o ciclo de vida, porém é de suma 
importância atender aos requisitos que o cliente precisa, é necessário adapta ló para 
uma pequena empresa ou uma grande empresa, ou seja, tem que estar habito para o 
mercado de trabalho, onde a empresa que adquirir dando ao usuário certa confiança 
no seu processamento de dados 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29 
 
3 UML 
 
A UML (Unified Modeling Language) ou Linguagem de Modelagem 
Unificada foi adotada a partir de 1997 com o objetivo de auxiliar os engenheiros de 
software na caracterização do sistema dentre outras atividades, logo se tornou um 
modelo universal na representação gráfica de softwares, porém não se caracteriza 
como um processo de desenvolvimento, pois a mesma é uma linguagem 
independente. De acordo com Guedes: 
“[...] cumpre destacar que a UML não é um processo de desenvolvimento de 
software e tampouco está ligada a um de forma exclusiva, sendo totalmente 
independente, podendo ser utilizada por muitos processos de 
desenvolvimento diferentes ou mesmo de forma que o engenheiro considerar 
mais adequada”. (GUEDES, 2ed. p 19, 2011) 
 
A UML e comparada por Eduardo Bezerra a uma caixa de ferramenta 
fazendo analogia a um pedreiro que se utiliza das ferramentas contidas na caixa para 
realizar seus afazeres, do modo os engenheiros de softwares, utiliza as ferramentas 
da UML para a construção de seus sistemas. Sabemos que a linguagem de 
modelagem está voltada para representação conceitual e física de um software, assim 
como a UML para a estrutura de projetos de softwares. 
No entanto apenas uma linguagem não é suficiente para a compreensão 
de um sistema tanto para o engenheiro, quanto para seu cliente. Para Jacobson, 
Rumbauch, Booch (p.14, 2005): “[...] Uma linguagem de modelagem é a linguagem 
cujo vocabulário e regras tem seu foco voltado para a representação conceitual e física 
de um sistema”. Guedes também exemplifica em seu livro (UML 2 - Uma Abordagem 
Prática - 2ª Edição) como a UML auxiliar os engenheiros a definirem as características 
do software, se utilizando de seus requisitos, seu comportamento, sua estrutura 
lógica, a dinâmica de seus processos e até mesmo as necessidades físicas sobre a 
máquina que o mesmo será implantado. 
A linguagem UML auxiliar os engenheiros de software, possibilitando vários 
meios (ferramentas) para a representação de um sistema antes do mesmo de seu 
desenvolvimento. Ela e subdividida em três 
 
3.1 Diagramas de Caso de Uso 
 
 
30 
 
O Diagrama de Caso de Uso é utilizado no levantamento de requisitos 
sendo de forma geral e o mais informal da UML, sendo de fácil compreensão e leitura. 
Segundo Guedes (2011, p.30) o diagrama de caso de uso é utilizado: “[...] 
normalmente nas fases de levantamento e analise de requisitos do sistema, embora 
venha a ser consultado durante todo o processo de modelagem e possa servir de base 
para outros diagramas”. 
Jacobson, Rumbaugh e Booch (2005, p241) afirma que o diagrama de caso 
de uso organiza o comportamento do sistema, com seus atores, caso de uso e 
relacionamento. 
“Os diagramas de casos de uso têm um papel central para a modelagem do 
comportamento de um sistema, de um subsistema ou de uma classe. Cada 
um mostra um conjunto de casos de uso e atores e seus relacionamentos”. 
(JACOBSON, RUMBAUGH E BOOCH, 2005, p.241). 
 
Podemos dizer que o caso de uso surge como um relatório de como o 
sistema deverá atuar de acordo com o levantamento de requisitos. Para Bezerra 
(2007, p 54) o caso de uso representa: “[...] um relatório de uso de certa funcionalidade 
do sistema em questão, sem revelar a estrutura e o comportamento internos desse 
sistema”. Estes comportamentos internos no qual é citado por Bezerra é a codificação 
responsável para realizar determinada funcionalidade que o diagrama esteja 
representando. 
O diagrama de caso de uso irá ajudar na implementação do sistema e seus 
comportamentos, assim como sua estrutura e ambiente. Sendo de suma importância 
no desenvolvimento do software pela compreensão, visualização e especificação para 
que se possa documentar o comportamento do software. 
 
3.2 Diagrama de classes 
 
O diagrama de classe tem como objetivo organizar as classes que ira 
conter a aplicação permitindo que as mesmas sejam visíveis bem como seus métodos 
e atributos. Sendo ela de suma importância além de auxiliar o desenvolvimento de 
outros diagramas da UML. Guedes (2011, p101) cita que: “[...] esse diagrama 
 
31 
 
apresenta uma visão estática de como as classes são organizadas, preocupando se 
em como definir a estrutura lógica das mesmas”. 
Este diagrama é composto por suas classes assim como seus 
relacionamentos, sendo encontrado em sistemas orientados a objetos. Assim descrito 
por Jacobson, Rumbaugh e Booch (2005, p 107): “[...] os diagramas de classes são 
os diagramas encontrados com maior frequência na modelagem de sistemas 
orientados a objetos. Um diagrama de classe mostra um conjunto de classes, 
interfaces e colaborações e seus relacionamentos”. 
Portanto o diagrama de classe é constituído por anotações e 
especificações dos seus atributos e métodos, Bezerra (2011, p112) diz que: “O 
diagrama de classes é utilizado na construção do modelo de classes desde o nível de 
análise até o nível de especificação. De todos os diagramas da UML, esse é o mais 
rico em termos de notação”. 
 
3.3 Diagrama de sequência 
 
Este diagrama trata-se de uma sequência de eventos que ocorrem durante 
um processo que o software está realizando, tendo como base o diagrama de caso 
de uso, dependendo também do diagrama de classes. Segundo Guedes (2011, p 192) 
o diagrama de sequência é uma excelente forma de validar e complementar o 
diagrama de classe: “[...] pois é ao modelar um diagrama de sequência que se percebe 
quais métodos são necessários declarar em que classe”. 
O diagrama de sequência tem como objetivo a ordem em que as atividades 
serão efetuadas, mostrando graficamente cada processo. Bezerra (2011, p193) diz 
que o objetivo do diagrama de sequência: “[...] é apresentar as interações entre 
objetos na ordem temporal em que elas acontecem”. 
Desse modo o diagrama de sequência da ênfase a ordenação das 
mensagens, observando a importância das transações de mensagens ocorridas no 
mesmo, objetivando os passos para a modelagem. Segundo Jacobson, Rumbaughe 
 
32 
 
Booch (2005, p 255) afirma que: “[...] o principal conteúdo em um diagrama de 
sequência é o conjunto de mensagens”. 
Com este diagrama podemos observar a importância da conectividade de 
cada diagrama, ou seja, um diagrama complementa e facilita o entender do diagrama 
anterior ou posterior a ele. A sequência de atividades dentro de um software ira 
influenciar nos afazeres que o sistema irá realizar, constituindo assim passos para um 
bom software. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33 
 
4 ESTUDO DE CASO 
 
4.1 Análise inicial 
 
Um laboratório de análises clinicas realiza seus procedimentos de 
agendamento de clientes e exames por meio de um sistema que atualmente vem 
proporcionando falhas para cadastro de cliente e exame. Este por sua vez está há 
muito tempo na empresa e por falta de atualização do sistema, veio à defasagem de 
suas ferramentas, ocasionando a impossibilidade de responder as expectativas da 
empresa. O mesmo não possui disponibilidade ao laboratório para que possa verificar 
os resultados dos exames, seus horários agendados entre outras situações. 
Iremos oferecer ao cliente formas mais simples e eficazes de se realizar as 
tarefas do dia a dia, modernizando processos, como recebimentos que até então é 
feito apenas com dinheiro. No intuito de acompanhar as novas tendências do mercado 
“consumidor”, iremos realizar transações com cartão de crédito e débito para que o 
laboratório possa oferecer melhores possibilidades aos clientes na hora do 
pagamento, que até então é feito no papel e na caneta na hora que o cliente pega o 
resultado do exame e sem um extrato final dos lucros obtidos. 
O novo sistema disponibilizara melhor condições para agendamento e 
cadastro de exames e clientes com maior agilidade, disponibilizando históricos, 
relatórios de suas principais funções de acordo com a necessidade da empresa e o 
controle de pagamentos dos serviços prestados. O sistema terá por sua vez a 
possibilidade de acessos, impressão e agendamento de horários via web. 
Economia de tempo e melhores tomadas de decisões são alguns dos 
aspectos que influenciará para rendimento de atividades, crescimento da empresa, 
interesse do cliente pelos serviços prestados, destaque no mercado, entre outros 
benefícios. 
 
 
 
34 
 
4.1.2 Tabela de requisitos 
Tabela 1 - Requisitos 
N° 
Requisitos 
Interesse Motivo Solicitante Data Atores 
R1 Gerenciar 
clientes 
Obter controle sobre os 
clientes e dados 
pessoais. 
Gerente 06/04/15 Secretária 
R2
 
 
Agendar 
horários 
Controlar a quantidade e 
a capacidade de clientes 
atendidos ao dia. 
Gerente 06/04/15 Secretária 
e cliente 
R3 Cadastrar 
médicos 
Para controle de contato 
de exames por médicos. 
Gerente 06/04/15 Secretária 
R4 Gerenciar 
convênios 
Controle de convênios 
existentes. 
Gerente 06/04/15 Gerente 
R5 Cadastrar 
funcionários 
Acesso do funcionário ao 
sistema e controle dos 
dados. 
Gerente 06/04/15 Gerente 
R6 Gerar 
Relatórios 
Ter controle sobre as 
atividades realizadas no 
sistema. 
Gerente 06/04/15 Gerente e 
secretária 
R7 Cadastrar 
exames 
Controle e manter um 
histórico para melhor 
acompanhamento do 
cliente. 
Gerente 06/04/15 Secretária 
R8 Confirmar 
realização 
de exame 
Verificar a realização do 
exame. 
Gerente 06/04/15 Enfermeira 
 
35 
 
R9 Aprovar 
exame 
Controle para que os 
exames esteja em 
perfeitas condições. 
Gerente 06/04/15 Biomédica 
R10 Controlar 
pagamento 
Controle de exames 
pagos ou ainda em 
dividas. 
Gerente 06/04/15 Gerente e 
secretária 
 
4.2 Lista de requisitos não funcionais 
 
 
 Integração com banco de dados para armazenamento de informações. 
 Autenticação para clientes e funcionários, para delimitar funções e ações no 
software. 
 Software de fácil manuseio, descrições das funções, com padrões em palavras 
e ícones de fácil compreensão. 
 Módulos de segurança (tratamento contra falhas, fraudes, backup e 
restauração de dados, etc.), para proteção dos dados e evitar a perca dos 
mesmos. 
 Procurar manter o maior desempenho possível ao software. 
 A aplicação deverá ter total funcionalidade nos seguintes sistemas 
operacionais Windows e Linux; 
 
4.3 Análise de entrevista 
 
 
Ao se realizar a entrevista pode se perceber as dificuldades e as 
necessidades em que o cliente possui. A implantação do novo sistema vai suprir as 
necessidades da empresa, trazendo assim agilidade e facilidade em suas diversas 
tarefas. 
 
36 
 
Deparamos com um sistema atual que contem falhas e pequenos detalhes 
que precisam ser corrigidos, para não ocorrer perigos de influenciar nos resultados 
finais dos exames, que por sua vez poderiam gerar sérios problemas para a empresa. 
Além de não ter uma interface intuitiva para seus usuários sendo de difícil 
compreensão por não possuir botões, ícones e outras formas de facilitar uma melhor 
compreensão do que está sendo realizado no sistema. 
Em seu laboratório o cliente possui diversas dificuldades uma delas são os 
agendamentos de clientes que são realizados manualmente em uma agenda. Além 
da correção de falhas no cadastro como a falta de campos necessário para melhor 
avaliação dos resultados obtidos nos exames do cliente. Existe ainda a redundância 
de informações no banco de dados, como no caso de apenas um cliente conter vários 
cadastros, pela impossibilidade do sistema atual reutilizar o primeiro cadastro e não 
conseguir de forma ágil e fácil mostrar ao operador do software os exames feitos por 
este paciente, não sendo necessário a utilização de vários códigos para procurar 
exame realizado pelo mesmo. 
Outro fato de que pede melhoria está no fato que o sistema somente tem 
seu funcionamento em uma máquina, impedindo que duas pessoas o acesse 
simultaneamente tendo que esperar que um termine suas ações para que o próximo 
venha a utilizar o sistema. Com as novas formas de pagamentos que sugiram no 
mercado, o módulo de pagamentos deste software deixou de auxilia-lo pois não tem 
suporte a tecnologias como (credito, debito e outros). 
 
 
 
 
 
 
 
 
 
37 
 
4.4 Diagramas de casos de uso 
 
Figura 4 - Diagrama de caso de negocio 
 
 
 
38 
 
 
Figura 5 – Diagrama de caso de uso 
 
39 
 
4.5 Requisitos de dados 
 
 
Figura 6 - Modelo Relacional Normalizado 
 
40 
 
4.6 Diagrama de Classe (Dados estruturais) 
 
 
Figura 7 - Diagrama de Classe 
 
41 
 
4.7 Diagrama de Sequência (Eventos temporais) 
 
 
Figura 8 - Diagrama de Sequência de Agenda 
 
 
 
42 
 
 
Figura 9 - Diagrama de Sequência de Cliente 
 
43 
 
 
Figura 10 - Diagrama de Sequência de Convenio 
 
44 
 
 
Figura 11 - Diagrama de Sequência de Exame 
 
 
 
 
 
 
 
45 
 
4.8 FERRAMENTAS (softwares, HARDWARE E equipamento utilizado). 
 
As Ferramentas CASE, são ferramentas que auxiliam no processo de 
desenvolvimento de software. Para cada tipo de desenvolvimento de sistema existe 
uma ferramenta case para auxiliar o analista na sua criação, seja no banco de dados 
ou nos diagramas, são ferramentas que abrangem desde a análise e levantamentos 
de requisitos até a programação e testes no sistema. São ferramentas que são de fácil 
manutenção e manuseio, além de facilitar o trabalho do analista e tem por função ser 
mais rápido, ou seja, reduz o tempo gasto. 
A ferramenta utilizada para a criação dos protótipos foio netbeans 8.1, e 
para os relatórios que a aplicação irá realizar a ferramenta iReport 5.6.0. 
Na elaboração dos diagramas, sendo eles os diagramas de caso de uso de 
software, o caso de uso de negócio, o diagrama de classes e os diagrama de 
sequência de exames, agenda, cliente e convenio, foi usada a 
ferramenta Astah Community 7.0. 
Para a análise e modelagem das tabelas do banco, foi 
utilizado MySQL Workbench 6.3, para descrever o MRN onde é descrito as tabelas 
do SGBD e suas respectivas ligações. 
 
 
46 
 
5 CONSIDERAÇÕES FINAIS 
 
A ideia do projeto é implementar um sistema de forma que esse venha se 
adequar ás condições propostas e transparecer conforme o que convêm em seus 
capítulos, ao usuário final. 
Uma das hipóteses levantada é que o system labor poderia desempenhar 
um acesso fácil dessas informações, que ao longo do tempo seja adquirida por ele. 
Para o desenvolvimento do projeto foram feitas entrevistas com algumas empresas 
que trabalham com a área de laboratório de análises clínicas, pesquisas pela internet 
visitando alguns sites de laboratórios. A metodologia foi realizada através de livros, 
sites de ajuda e até mesmo outros projetos criados pelos acadêmicos do curso de 
sistemas de informação. 
 
 
47 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
PRESSMAN, Roger S., Engenharia de Software Uma Abordagem Profissional - 7ª 
edição, AMGH Editora Ltda. 2011. 
PRESSMAN, Roger S., Engenharia de Software - 6ª Edição, McGraw-Hill, 2006 
 
SOMMERVILLE, Lan, Engenharia de Software 8ª edição, São Paulo, Person 
Education, 2007. 
 
MAGELA, Rogério, Engenharia de Software Aplicada Fundamentos, Rio de Janeiro, 
Alta Books, 2006. 
 
PFLEEGER, Shari Lawrence, Engenharia de Software Teoria e Prática, São Paulo, 
Prentice Hall, 2004. 
 
BARROS, de Marcelo, Engenharia de Software. Disponível em: 
<http://pt.slideshare.net/daniellobao/4-eng-requisitos >. Acesso em: 29 mai. 2015. 
 
GUEDES, GILLEANES T.A.UML2 uma abordagem pratica. Edição são Paulo novatec 
editora 2011. 
FURGERI, SÉRGIO, java 6: ensino didático: desenvolvendo e implementando 
aplicações 2edição são Paulo Érica 2008. 
BOOCH, GRADY, RUMBAUGH, JAMES JACOBSON, Ivar UML guia do usuario Rio 
de Janeiro Elsevier 2005, 2 Edição. 
 
 
 
48 
 
APÊNDICE 
Entrevista realizada com o Gerente Luiz Antônio Campos Cabral Junior ao 
dia nove de abril de dois mil e quinze. 
1) De que maneira o cliente pode efetuar o pagamento dos exames? 
R: Pagamento é a vista, mas gostaria que o meu cliente pudesse pagar tanto 
no dinheiro, cartão e em alguns casos posso fazer com boletos a 30 dias para 
pagamento. 
 
2) Qual o problema encontrado no sistema atual e de que maneira pode ser 
melhorado no próximo sistema? 
R: Não imprime com impressoras utilizando a porta usb e necessário utilizar 
portas paralelas, gostaria de o programa funcionar em mais de um computador 
no laboratório. 
 
3) A empresa possui algum tipo de convênio particular ou público, com médicos 
da região? 
R: O laboratório tem convênios com o Ipasgo, sus e com algumas empresas 
particulares. 
 
 
4) Existe possibilidade de envio dos resultados exames para os médicos? 
R: Em alguns casos quando o cliente já pede para o médico aceitar o exame 
enviado via e-mail ou em convênios particulares cujo o médico solicite. 
 
 
5) Quais os relatórios o sistema poderá gerar para melhor atender sua empresa? 
R: A quantidade de exames realizados pelo laboratório, convênios em que 
estes exames foram realizados. 
 
6) Quais cadastros serão necessários para melhor ajuda-lo em sua empresa? 
R: Os cadastros que irão me ajudar e o cadastro de cliente, exames e o 
agendamento de horários. 
 
 
49 
 
7) O sistema disponibilizará um histórico dos exames de seus clientes? 
R: O histórico dos exames realizados anteriormente por meus clientes é de 
suma importância, pois com ele vou poder acompanhar melhor o estado clínico 
de cada paciente, além de saber como está sua alimentação e a prática de 
exercícios. 
 
8) O exame ficara disponível via WEB para seus clientes por qual período de 
tempo? 
R: Gostaria que não ficasse muito tempo para não poder ser reutilizado já que 
exames tem data de validade após um mês de feito não é mais aceitos pelos 
médicos, pois o organismo da pessoa pode sofrer alterações durante este 
período. 
 
9) Quais os recursos serão disponibilizados para o seu cliente via web? 
R: Apenas o básico mesmo como o agendamento de horários, um possível pré-
cadastro dos clientes e para exames particulares a impressão dos exames e 
acesso a digitalização da receita médica. 
 
10) Qual o método utilizado para o agendamento dos exames e cadastramento de 
cliente? 
 
R: O agendamento de meus clientes e feito de forma manual por minha 
secretaria, já o cadastro de cliente e feito no sistema que irá ser substituído, 
porem apresenta muitos erros como dificuldades, tenho que sempre cadastrar 
o mesmo cliente várias vezes. 
 
 
Entrevista realizada com a Secretaria Aline Ferreira Costa ao dia dez de 
abril de dois mil e quinze. 
 
 
1) Qual o problema encontrado no sistema atual e de que maneira pode ser 
melhorado no próximo sistema? 
 
50 
 
R: 
- Sempre e necessário fazer um novo cadastro quando o paciente vai fazer um 
exame, pois o sistema da erro nos dados do paciente se utilizar um cadastro 
antigo. 
- Para ter acesso a um cadastro de um cliente feito anteriormente tem que 
digitar o nome do paciente e procurar todos os códigos até encontrar o cadastro 
que deseja, depois sai dessa parte o sistema, entra em outra digitando o código 
para ter acesso ao cadastro antigo. 
- no campo de cadastro de exames cabem apenas 10 exames, se houver mais 
tem que efetuar um novo cadastro para o mesmo paciente gerando assim outro 
código. 
 
2) Qual o método utilizado para o agendamento dos exames e cadastramento de 
cliente? 
R: O agendamento e feito por agenda. O paciente deve contem a receita 
médica, informar o nome completo, data de nascimento, endereço e os 
números de telefone. 
 
3) Existem observações ou restrições que necessita ser tratadas com uma maior 
atenção? 
R: O sistema deveria sim ter campos de observações, no caso se ele e 
diabético ou possui alguma doença contagiosa ou faz algum tratamento que o 
uso de medicamentos poderia afetar os resultados dos exames, assim 
facilitaria na hora de conferir os resultados atuais com os resultados antigos 
não precisaria ficar procurando nos vários cadastros se ele já teve alguma 
alteração em um de seus exames. 
 
4) O que agilizaria o cadastramento dos exames no sistema? 
R: Agilizaria se toda vez não tivesse que cadastrar o paciente todas as vezes 
que ele for fazer novos exames. Além do acesso a este cadastro por meio de 
nome ou cpf, não precisando encontrar o código de cada cadastro feito para 
aquele paciente. 
 
 
51 
 
Protótipos 
 
Figura 12 - Protótipo Alto nivel - Tela Principal 
 
52 
 
 
Figura 13 - Protótipo Alto Nivel - Tela de Exames 
 
53 
 
 
Figura 14 - Protótipo Alto Nível -Tela de busca de exames 
 
54 
 
 
Figura 15 - Protótipo de Alto nível - Tela de convênios 
 
55 
 
 
Figura 16 - Protótipo de Alto nível - Tela de Cadastro de Funcionário 
 
56 
 
 
Figura 17 - Prototipo de Alto Nivel - Tela de Cadastro de Clientes 
 
 
57 
 
 
Figura 18 - Protótipo Alto nível - Tela de Agenda 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58 
 
 
 
 
Figura 19 - Protótipo de Baixo Nível - Tela Principal 
 
59 
 
 
 
 
Figura20 – Protótipo Baixo Nível - Tela de Exames 
 
 
 
 
 
60 
 
 
 
Figura 21 - Protótipo Baixo Nível -Tela de busca de exames 
 
61 
 
 
Figura 22 - Protótipo de Baixo nível - Tela de convênios 
 
 
62 
 
 
Figura 23 - Protótipo de Baixo nível - Tela de Cadastro de Funcionário 
 
63 
 
 
Figura 24 - Protótipo de Baixo Nível - Tela de Cadastro de Clientes 
 
64 
 
 
 
 
 
 
Figura 25 - Protótipo Alto nível - Tela de Agenda 
	INTRODUÇÃO
	1 Engenharia de requisitos
	1.1 Requisitos
	1.2 Requisitos Funcionais
	1.3 Requisitos não funcionais
	1.4 Levantamento de requisitos
	1.5 Validação de requisitos
	2 Engenharia de software
	2.1 Software
	2.2 Processos de Software
	2.3 Modelo de Processo de Software
	2.3.1 Modelo cascata
	2.3.2 Modelo Espiral
	2.3.3 Modelo de Prototipação
	2.4 Etapas de Engenharia de Software
	2.4.1 Especificação
	2.4.2 Desenvolvimento
	2.4.3 Validação
	2.4.4 Evolução
	3 UML
	3.1 Diagramas de Caso de Uso
	3.2 Diagrama de classes
	3.3 Diagrama de sequência
	4 ESTUDO DE CASO
	4.1 Análise inicial
	4.1.2 Tabela de requisitos
	4.2 Lista de requisitos não funcionais
	4.3 Análise de entrevista
	4.6 Diagrama de Classe (Dados estruturais)
	4.7 Diagrama de Sequência (Eventos temporais)
	4.8 FERRAMENTAS (softwares, HARDWARE E equipamento utilizado).
	5 CONSIDERAÇÕES FINAIS
	REFERÊNCIAS BIBLIOGRÁFICAS
	APÊNDICE

Outros materiais