Вы находитесь на странице: 1из 68

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

DO RIO GRANDE DO NORTE


CAMPUS PARNAMIRIM

ANTONIO SERGIO FERREIRA PACHECO

UMA APLICAÇÃO WEB PARA GESTÃO DE ORÇAMENTOS DE OBRAS NA


CONSTRUÇÃO CIVIL

PARNAMIRIM - RN
2019
ANTONIO SERGIO FERREIRA PACHECO

UMA APLICAÇÃO WEB PARA GESTÃO DE ORÇAMENTOS DE OBRAS NA


CONSTRUÇÃO CIVIL

Trabalho de Conclusão de Curso


apresentado ao Curso de Tecnologia em
Sistemas para Internet do Instituto Federal
de Educação, Ciência e Tecnologia do Rio
Grande do Norte, em cumprimento às
exigências legais como requisito parcial à
obtenção do título de Tecnólogo em
Sistemas para Internet.

Orientador: Prof. MSc. João Maria Araújo


do Nascimento

PARNAMIRIM - RN
2019
ANTONIO SERGIO FERREIRA PACHECO

UMA APLICAÇÃO WEB PARA GESTÃO DE ORÇAMENTOS DE OBRAS NA


CONSTRUÇÃO CIVIL

Trabalho de Conclusão de Curso


apresentado ao Curso de Tecnologia em
Sistemas para Internet do Instituto Federal
de Educação, Ciência e Tecnologia do Rio
Grande do Norte, em cumprimento às
exigências legais como requisito parcial à
obtenção do título de Tecnólogo em
Sistemas para Internet.

Aprovado em: ___/___/____

Banca examinadora

_____________________________________________________________
Prof. MSc. João Maria Araújo do Nascimento - Orientador
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Nort e

_____________________________________________________________
Prof. DSc. Givanaldo Rocha de Souza - Examinador
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte

_____________________________________________________________
Prof. DSc. Fabio Augusto Procópio de Paiva - Examinador
Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte
À minha esposa, pelo amor e
compreensão nos momentos de
dificuldade e ausência. Aos meus pais,
pelo incentivo e apoio constante. Aos
professores, pela dedicação e
competência em compartilhar seus
conhecimentos.
AGRADECIMENTOS

É terminado um ciclo de muitas risadas, frustrações e felicidade. Sendo assim,


dedico este trabalho a todos que fizeram parte desta etapa da minha vida.
Agradeço a minha querida esposa, Selma Beccegato, pela compreensão do
tempo de convívio muitas vezes sacrificado e por contribuir com seu apoio, carinho e
incentivo e que sempre farão parte de cada vitória.
Agradeço a minha família, em especial aos meus pais, Aparecida Ferreira
Pacheco e José Pacheco, pelo apoio, carinho e educação, que permitiram que eu
chegasse até esse momento.
Agradeço ao professor João Maria Araújo do Nascimento que com seu
conhecimento e experiência, contribuiu para a realização deste projeto.
Agradeço aos meus amigos do IFRN pela ajuda e amizade durante esta
jornada, pelas trocas de experiências e conhecimentos que contribuíram com nossas
trajetórias durante o curso. Por fim, agradeço aos demais professores e funcionários
do IFRN.
"Precisamos dar um sentido humano às
nossas construções. E, quando o amor ao
dinheiro, ao sucesso nos estiver deixando
cegos, saibamos fazer pausas para olhar
os lírios do campo e as aves do céu."

Érico Veríssimo
RESUMO

O trabalho aqui apresentado descreve o processo de desenvolvimento de uma


aplicação Web para gestão de orçamentos de obras na construção civil. Inicialmente,
o objetivo deste estudo interdisciplinar é aprofundar o conhecimento sobre
ferramentas, técnicas e os processos utilizados no desenvolvimento do software em
ambiente web. Posteriormente, trabalhar no desenvolvimento de um produto que
atenda as necessidades das pequenas e médias empresas da indústria da construção
civil. Para tanto, foi fundamental, para a viabilização deste projeto, a automatização
do uso das tabelas do Sistema Nacional de Pesquisa de Custos e Índices da
Construção Civil (SINAPI), já que são indicadas como fonte oficial de referência de
preços de insumos e de custos de composições de serviços pelo Decreto 7983/2013,
que estabelece regras e critérios para elaboração do orçamento de referência de
obras e serviços de engenharia, contratados e executados com recursos dos
orçamentos da União. O trabalho foi modelado com base na UML (Unified Modeling
Language), implementado com a programação JAVA e, por se tratar de uma aplicação
web, foi empregado o Framework Spring Boot, que proporcionou grande ganho de
produtividade. Depois do emprego e da realização de testes unitários e de integração,
o sistema, finalmente, foi hospedado em um servidor de aplicação, juntamente com
um servidor MySQL para persistência dos dados.

Palavras-chave: Aplicação web. Orçamento. Java.


ABSTRACT

The work presented here describes the process of developing a Web application for
managing building costs estimates. Initially, the purpose of this interdisciplinary study
is to further analyze the process, tools and techniques used in web software
development. Subsequently, the main aim is to have a product that meets the needs
of small and medium-sized companies in the construction sector. Therefore, the
automation of the tables of the National System of Survey of Costs and Indices of the
Civil Construction (SINAP) was fundamental to the feasibility of this project, since they
are suggested as an official reference source of materials prices and service
compositions costs by Decree 7983/2013, which establishes rules and criteria for
drafting the reference budget for engineering works and services, contracted and
executed with resources from the Union's budgets. This work was modelled based on
UML (Unified Modelling Language), implemented with JAVA programming, as it is a
web application, the Spring Boot Framework was used, which resulted in a great
productivity gain. After applying and conducting unit and integration tests, the web
application was finally hosted on an application server along with MySQL server for
data persistence.

Keywords: Web application. Estimating. Java.


LISTAS DE ILUSTRAÇÕES

Figura 1: Camadas da engenharia de software 19


Figura 2: O ciclo de avaliação de projeto de interface 22
Figura 3: Arquitetura MVC 23
Figura 4: Diagrama de Caso de Uso Geral do Sistema 44
Figura 5: Diagrama de classe de análise da aplicação 45
Figura 6: MER - Modelo de Entidade e Relacionamento 46
Figura 7: Página de cadastro do orçamento 48
Figura 8: Página de cadastro de composição 49
Figura 9: Página de pesquisa de composições 50
Figura 10: Relatório do orçamento 51
Figura 11: Relatório de composições do orçamento 52
Figura 12: Página inicial do sistema 59
Figura 13: Login do sistema Web 59
Figura 14: Inclusão de novo orçamento 60
Figura 15: Inclusão de itens do orçamento 60
Figura 16: Inclusão de nova etapa no orçamento 61
Figura 17: Inclusão de insumo no orçamento 61
Figura 18: Itens incluídos no orçamento 62
Figura 19: Pesquisa de insumos 62
Figura 20: Inclusão de insumo na base própria 63
Figura 21: Inclusão de composição em base própria 63
Figura 22: Cadastro de itens da composição 64
Figura 23: Inclusão de insumo como item da composição 64
Figura 24: Cadastro de composição finalizado, com todos os seus itens 65
LISTA DE QUADROS

Quadro 1: Materiais utilizados no desenvolvimento do sistema web 40


Quadro 2: Requisitos Funcionais 41
Quadro 3: Requisitos Não Funcionais 43
Quadro 4: Descrição do caso de uso Autenticar-se no Sistema 66
Quadro 5: Descrição do caso de uso Cadastrar Insumo 67
Quadro 6: Descrição do caso de uso Cadastrar Composição 67
Quadro 7: Descrição do caso de uso Cadastrar Orçamento 68
Quadro 8: Descrição do caso de uso Cadastrar Itens do Orçamento 68
LISTA DE ABREVIATURAS E SIGLAS

ABNT - Associação Brasileira de Normas Técnicas


AJAX - Asynchronous Javascript and XML
API - Application Programming Interface
CAIXA – Caixa Econômica Federal
CM - Centímetro
EJB - Enterprise JavaBeans
EPC - Equipamento de proteção coletivo
EPI - Equipamento de proteção individual
HTML - Hypertext Markup Language
JAR - Java Archive
JAVA EE - Java Enterprise Edition
JAVA ME - Java Micro Edition
JAVA SE - Java Standard Edition
JDBC - Java Database Connectivity
JPA - Java Persistence
Kg - Quilograma
M - Metro
M² - Metro quadrado
M³ - Metro cúbico
MVC - Model-View-Controller
ORM - Object-relational Mapping
PDF - Portable Document Format
SGBD - Sistema Gerenciador de Banco de Dados
SQL - Structured Query Language
TCPO - Tabela de composição de preços para orçamentos
UML - Unified Modeling Language
UN - Unidade
WAR - Web Archive
SUMÁRIO

1 INTRODUÇÃO 14

1.1 OBJETIVO GERAL 16

1.2 OBJETIVOS ESPECÍFICOS 16

1.3 JUSTIFICATIVA 16

2 REFERENCIAL TEÓRICO 18

2.1 APLICAÇÃO WEB 18

2.2 ENGENHARIA DE SOFTWARE 19

2.2.1 Processo de desenvolvimento de software 20

2.2.2 Projeto de Interface da aplicação Web 21

2.2.3 Arquitetura de uma aplicação Web 22

2.3 SPRING FRAMEWORK 23

2.3.1 Spring Boot 24

2.4 LINGUAGEM DE PROGRAMAÇÃO JAVA 28

2.5 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS 29

2.6 HIBERNATE 30

2.7 THYMELEAF 30

2.8 ORÇAMENTOS NA CONSTRUÇÃO CIVIL 31

2.8.1 Grau de detalhe do orçamento 33

2.8.1.1 Estimativa de Custos 33

2.8.1.2 Orçamento preliminar 34

2.8.1.3 Orçamento analítico ou detalhado 34

2.8.1.4 Orçamento sintético ou resumido 34

2.8.2 Composição de Custo Unitário 35

2.8.3 Fórmula do BDI 36

2.8.4 Indicadores para orçamento 37


2.8.4.1 SINAPI 37

2.8.4.4 TCPO 38

3 METODOLOGIA 39

3.1 MÉTODO DE PESQUISA 39

3.2 MATERIAIS 39

3.3 ANÁLISE DE REQUISITOS 40

3.3.1 Requisitos Funcionais 40

3.3.2 Requisitos Não-Funcionais 42

3.3.3 Diagramas de caso de uso 43

3.3.4 Diagrama de Classes 44

3.4 MODELAGEM DO BANCO DE DADOS 46

3.5 IMPLEMENTAÇÃO DO SISTEMA 47

3.5.1 Páginas e Relatórios da Aplicação Web 48

3.6 TESTANDO A APLICAÇÃO WEB 53

4 ANÁLISE DOS RESULTADOS 54

5 CONSIDERAÇÕES FINAIS 55
14

1 INTRODUÇÃO

A indústria da construção civil possui um sistema complexo composto por


múltiplos processos de produção inter-relacionados, cujo principal objetivo é satisfazer
as demandas imobiliárias, através de etapas distintas que partem de um estado inicial
caracterizado por um lote ou um prédio já existente.
Para ser uma indústria sustentável e competitiva, deve haver um equilíbrio
entre os requisitos econômicos, ambientais e sociais que só podem ser alcançados
inovando diferentes elementos do sistema, tais como processos de produção,
recursos, ferramentas e habilidades. No que diz respeito à dimensão econômica, uma
construção sustentável só pode ser alcançada se for economicamente viável e
razoavelmente lucrativa.
Em época de adaptação à economia globalizada, em que os lucros vão
diminuindo à proporção inversa da concorrência empresarial, as empresas precisam
de orçamentos precisos para gerenciamento de suas obras. O orçamento é uma
ferramenta essencial para medição dos custos de construção, antes que eles ocorram,
e para avaliar a viabilidade e rentabilidade de uma obra. O conhecimento dos custos
reais do empreendimento é uma condição necessária para que as construtoras
apresentem propostas competitivas e que os seus clientes estejam cientes da
magnitude de seus investimentos. Quanto mais preciso for um orçamento, com
relação ao custo real do projeto, mais confiável será a informação fornecida e
melhores serão os processos de tomada de decisão no canteiro de obras.
O Instituto Brasileiro de Geografia e Estatística (IBGE), realizou em 2016 a
Pesquisa Anual da Indústria da Construção (PAIC). Esta pesquisa é uma importante
fonte de dados para análise do setor da construção civil no Brasil e aponta para o
crescimento das pequenas e médias empresas de construção civil. Segundo a PAIC
(2016), havia 127,3 mil empresas no setor da construção civil brasileira em 2016.
Desse total, 9% tinham mais de 30 colaboradores, 37% tinham entre 5 e 29
empregados, e 54% das empresas tinham até 4 funcionários. As pequenas e médias
empresas representavam 54% do total de empresas em 2016, ou 68,8 mil. Desse
total, o número de empresas especializadas na realização de obras de infraestrutura
somava 5,2 mil, construção de edifícios 24,6 mil e serviços especializados para
construção 39 mil.
15

No que diz respeito à gestão de orçamentos, as pequenas e médias empresas


têm recursos humanos e capital limitado. O uso de softwares especializados em
orçamento tem esbarrado na complexidade de uso e no custo excessivo desses
produtos. A maioria das empresas utiliza planilhas eletrônicas, muito complexas e
sujeitas a erros. Os softwares de orçamentos englobam funções básicas dos editores
de texto, planilhas eletrônicas e banco de dados, com diversificadas funções como
atualização de preços de insumos e edição de índices, exigindo do usuário o
aprendizado de quantidade razoável de novos conceitos. Tais softwares pecam
principalmente por se distanciar do roteiro de elaboração do orçamento manual, que
o usuário já está familiarizado.
A solução proposta foi o desenvolvimento de uma aplicação web que venha
simplificar o processo de gestão de orçamentos de obras na construção civil, em
especial, que facilite o uso das tabelas SINAPI, já que é uma base de preços e índices
de acesso gratuito. A aplicação proposta, utiliza os preços dos insumos e
composições pré-definidas da tabela SINAPI, mas as composições próprias podem
ser ajustadas conforme o método construtivo de cada empresa. Nesta fase o sistema
produzirá a estimativa de custo total da obra, sumarizando os custos diretos, indiretos
e BDI (Budget Difference Income).
Para o desenvolvimento do sistema, foram realizadas entrevistas com uma
construtora que participa de processos licitatórios no estado do Rio Grande do Norte.
Através do levantamento das informações pertinentes, foi então elaborado o
documento de visão, contendo os requisitos funcionais e não funcionais do sistema.
Após análise dos requisitos, o sistema foi modelado com base na UML (Unified
Modeling Language) e, na sequência, implementado na linguagem de programação
JAVA com framework Spring Boot e banco de dados MySQL.
No segundo capítulo, será abordado o referencial teórico, que detalham as
características de aplicativos Web, conceitos de engenharia de software e as
ferramentas utilizadas no desenvolvimento da aplicação. No terceiro capítulo, será
abordado a metodologia da pesquisa, os materiais e métodos utilizados para a
conclusão deste trabalho. No quarto capítulo, apresenta-se uma análise dos
resultados esperados. Finalizando, no quinto capítulo serão apresentadas as
conclusões, os obstáculos encontrados e as sugestões para futuros trabalhos.
16

1.1 OBJETIVO GERAL

Este trabalho tem como objetivo geral o desenvolvimento de uma aplicação


Web de gestão de orçamentos para pequenas e médias empresas do setor da
construção civil, capaz de simplificar o processo de elaboração de orçamentos,
tornando as empresas mais produtivas e rentáveis.

1.2 OBJETIVOS ESPECÍFICOS

● Utilizar a tabela SINAPI como fonte de dados para aplicação Web proposta.
● Realizar o levantamento de todos os requisitos necessários para
implementação da aplicação Web.
● Construir protótipos das páginas, com o propósito de refinar os requisitos junto
ao cliente.
● Analisar e desenvolver a aplicação proposta com uma interface simples e de
fácil utilização, a fim de constatar os benefícios gerados pela aplicação.
● Validar os conhecimentos adquiridos durante o curso de Tecnologia em
Sistemas para Internet.

1.3 JUSTIFICATIVA

Em grandes organizações existem setores dedicados exclusivamente a


preparar orçamentos para concorrências. Informações de obras passadas
são utilizadas como subsídio para novas composições de custos, que são
elaboradas com programas específicos de computador. Em empresas
menores, em geral o próprio construtor faz a estimativa, muitas vezes sem
grandes detalhes, baseando-se tão-somente na experiência adquirida pela
execução repetida de serviços similares. O que se nota claramente é que,
quanto maior o conhecimento prático de quem orça, maior a probabilidade de
o orçamento estar apurado e menor a chance de que frustrações futuras
ocorram na obra. (MATOS, 2006, p. 23)
17

Como citado por Matos (2006, p.23) acima, em grandes organizações, o


planejamento de suas obras já é um procedimento mais rotineiro. Mas nas pequenas
e médias empresas, quando existem, são precários e ineficientes.
A TCPO – Tabela de composições e Preços para Orçamentos é a principal
referência de engenharia de custos do Brasil, conta com mais de 8.500 composições
de serviços, preços de referência calculados pelo departamento de Engenharia da
Editora PINI e Composições de Empresas da indústria de materiais e serviços de
construção civil. A base TCPO alimenta diversas ferramentas disponibilizadas pela
PINI para o mercado da construção civil. Entre elas o software de orçamento de obras
TCPO Volare. Entre outras soluções existentes no mercado, o TCPO Volare é
reconhecidamente uma solução completa para orçamentos, mas tem custo elevado,
o que inibe sua utilização por pequenas e médias empresas.
Analisando este fato, identificou-se uma oportunidade de desenvolvimento de
uma aplicação web de gestão de orçamentos, que facilite a importação e o uso das
tabelas SINAPI. Uma ferramenta com interface simples direcionada a engenheiros
civis, arquitetos, instaladores, projetistas, empreiteiros e mestres de obras e que
possibilite elaborar orçamentos, de forma colaborativa e com a maior assertividade
possível. Além disso, a disponibilização instantânea das informações da tabela
SINAPI.
A tabela SINAPI é oferecida pela Caixa Econômica Federal de forma gratuita,
é também uma fonte de dados valiosa para as empresas, pois são divulgadas
pesquisas mensais de preços de insumos e composições de todos os estados do
Brasil. Para permitir sua utilização, a Caixa Econômica disponibiliza em seu site as
tabelas no formato Excel ou PDF para download.
Porém, manipular estes arquivos se torna um problema pela grande quantidade
de informações contida neles. A localização de um insumo ou composição se torna
uma tarefa dispendiosa e consome grande parte do tempo do processo de elaboração
de um orçamento.
A aplicação web para gestão de orçamentos de obras para pequenas empresas
do setor da construção civil proposta tem por justificativa simplificar o processo de
elaboração de orçamentos, através da automatização do uso das tabelas de preços e
índices SINAPI, tornando as empresas mais produtivas e rentáveis.
18

2 REFERENCIAL TEÓRICO

Neste capítulo são apresentados conceitos, tecnologias e informações que


foram utilizadas para o desenvolvimento da aplicação Web.

2.1 APLICAÇÃO WEB

Para Pressman (2011, p. 338), uma aplicação Web pode ser desde uma
simples página até um Web Site completo. Segundo Paula Filho (2003), aplicações
Web são “produtos de software ou sistemas de informática que utilizam uma
arquitetura distribuída, pelo menos parcialmente sob protocolo HTTP. Em
consequência, pelo menos parte das interfaces com o usuário são acessíveis através
de um navegador (browser)”.
As aplicações Web necessitam de uma análise criteriosa durante sua fase de
modelagem, pois é inerente a esse tipo de aplicação surgirem novas circunstâncias.
As técnicas e métodos propostos pela Engenharia de Software tradicional,
apesar de serem completamente viáveis para as aplicações não Web, não definem
todos os aspectos para que a aplicação Web tenha sucesso em seu projeto.
Segundo Pressman (2011, p. 37), há características em que uma aplicação
Web se diferencia da maioria das aplicações convencionais. Essas características são
encontradas na grande maioria das aplicações Web.
Intensidade de Tráfego na Rede: Pela própria essência, uma aplicação Web
deve ser implementada em uma rede de computadores. Com isso, aspectos
relacionados à velocidade em que os dados trafegam por ela devem ser analisados,
de forma a não causar congestionamentos;
Direcionador de Conteúdo: Na maioria dos casos, a aplicação Web tem como
objetivo principal, apresentar ao usuário final conteúdo hipermídia, como textos, sons,
vídeos e figuras; e
Evolução Contínua: Em softwares convencionais, as atualizações são
planejadas de forma sistemática e programada. Já em aplicações Web podem sofrer
várias modificações ao longo de sua existência, chegando a ocorrer em determinados
casos, atualizações em tempo real.
19

2.2 ENGENHARIA DE SOFTWARE

De acordo com Sommerville (2011, p. 4), a Engenharia de Software é uma


disciplina da engenharia relacionada com todos os aspectos da produção de software,
desde os estágios iniciais de especificação do sistema até sua manutenção, depois
que este entrar em produção.

A engenharia de software baseada em componentes baseia-se no reuso de


componentes de softwares. Sua criação foi motivada pela frustração de
projetistas, pois o desenvolvimento orientado a objetos não levou a um amplo
reuso, como se havia sugerido. As classes de objetos foram muito detalhadas
e específicas e muitas vezes precisavam ser associadas com uma aplicação
em tempo de compilação. Os componentes são abstrações de nível mais alto
do que objetos e são definidos por suas interfaces. Geralmente, eles são
maiores que objetos individuais e todos os detalhes de implementação são
escondidos de outros componentes. A engenharia de software baseada em
componentes é o processo de definir, implementar, integrar ou compor
componentes independentes, pouco acoplados em sistemas. Essa se tornou
uma importante abordagem de desenvolvimento de software porque os
sistemas de software estão ficando maiores e mais complexos. Os clientes
exigem softwares mais confiáveis, entregues e implantados mais
rapidamente. (SOMMERVILLE, 2011, p. 315).

Para Pressman (2011, p. 39), engenharia de software é uma tecnologia em


camadas, referindo-se à Figura 1, e sustenta-se no foco da qualidade, enquanto o
processo possibilita o desenvolvimento de forma racional e dentro do prazo, os
métodos incluem tarefas como: comunicação, análise de requisitos, modelagem de
projeto, construção de programa, testes e suporte. As ferramentas oferecem suporte
para os processos e métodos.

Figura 1: Camadas da engenharia de software

Fonte: PRESSMAN, 2011, p. 39


20

Pressman (2011, p. 40) cita que o processo pode ser definido para atividades
como desenvolvimento, manutenção, aquisição e contratação de software. Os
processos de software formam a base para o controle gerencial de projetos de
software e estabelece o conteúdo no qual os métodos técnicos são aplicados, os
produtos de trabalho (modelos, documentos, dados, relatórios, formulários, etc.) são
produzidos, os marcos são estabelecidos, a qualidade é assegurada e as
modificações são adequadamente geridas.

2.2.1 Processo de desenvolvimento de software

Para Pressman (2011, p. 40), efetivamente, a elaboração de software de


computador é um processo de aprendizado, e o resultado, é a incorporação de
conhecimentos coletados, destilados e organizados à medida que o processo é
conduzido. Processo é o alicerce da engenharia de software. É ele que permite o
desenvolvimento racional e oportuno de softwares de computador.

Processos de softwares são complexos e como todos os processos


intelectuais e criativos dependem de julgamento humano. A existência de um
processo de software não garante o software será entregue no prazo, de que
ele irá satisfazer as necessidades do cliente, ou exibirá os atributos
arquiteturais que manterão as características de qualidade em longo prazo.
Um processo deve ser acoplado a uma sólida prática de engenharia de
software e deve ser avaliado para garantir que satisfaça a um conjunto de
critérios básicos de processo que demonstram ser essenciais para uma
engenharia de software bem-sucedida (PRESSMAN, 2011, p. 40).

Para Sommerville (2011, p. 18), existem muitos processos de software


diferentes, mas todos devem incluir quatro atividades fundamentais para a engenharia
de software:
● Especificação: define a funcionalidade do software e as restrições sobre sua
operação;
● Projeto e implementação: o software que atenda as especificações;
● Validação: o software deve ser validado para garantir que ele faça o que o
cliente deseja; e
● Evolução: o software deve evoluir para atender a novas demandas.
21

Ainda complementa Sommerville (2011, p. 36), que os processos de software


são as atividades envolvidas na produção de um sistema de software enquanto os
modelos de processo de software são representações abstratas desses processos.
Modelos gerais de processo descrevem a organização dos processos de software.
Exemplos desses modelos gerais incluem o modelo em cascata, o desenvolvimento
incremental e o desenvolvimento orientado a reuso.
Nesta aplicação web foi adotado o modelo de desenvolvimento evolucionário,
intercala as atividades de especificação, desenvolvimento e validação. O processo
escolhido foi a Prototipação, que é uma forma rápida de interação com o cliente e
validação dos requisitos do sistema.
Segundo (Sommerville, 2011, p. 30), no modelo evolucionário de processo de
software, um sistema inicial é desenvolvido rapidamente baseado em especificações
abstratas. Este sistema é, então, refinado com as entradas do usuário para produzir
um sistema que satisfaça suas necessidades. Esta abordagem é mais eficaz do que
a abordagem em cascata na produção de sistemas que atendam às necessidades
imediatas dos usuários. A vantagem de um processo de software baseado na
abordagem evolucionária é que a especificação pode ser desenvolvida de forma
incremental. À medida que os usuários compreendem melhor seu problema, esse
conhecimento é repassado para o desenvolvimento do software.

2.2.2 Projeto de Interface da aplicação Web

Um protótipo é uma versão inicial de um sistema de software, usado para


demonstrar conceitos, experimentar opções de projeto e descobrir mais sobre
o problema e suas possíveis soluções. O desenvolvimento rápido e iterativo
do protótipo é essencial para que os custos sejam controlados e os
stakeholders do sistema possam experimentá-lo no início do processo de
software. (SOMMERVILLE, 2011, p.30).

Segundo Pressman (2011, p.310), o projeto de interfaces começa com a


identificação dos requisitos do usuário, de tarefas e dos ambientes. São usadas
ferramentas para prototipagem e, por fim, a implementação do modelo de projeto para
interface.
22

Figura 2: O ciclo de avaliação de projeto de interface

Fonte: Pressman, 2011, p. 312

O protótipo é uma eficaz forma de obter feedback dos usuários, atualizações


são realizadas no projeto baseadas nas informações colhidas e é criado o protótipo
do nível seguinte, até que nenhuma modificação adicional seja necessária. O ciclo de
avaliação de interfaces do usuário segue a forma indicada na Figura 2.
Em suma, Pressman (2011, p.313), define a interface do usuário como a janela
para o software. Em muitos casos, ela molda a percepção do usuário quanto à
qualidade de um sistema. Se a “janela” for embaçada, ondulada ou quebrada, o
usuário poderá rejeitar um sistema computacional que de outra forma seria
considerado poderoso.

2.2.3 Arquitetura de uma aplicação Web

As aplicações devem ser construídas usando-se camadas em que diferentes


preocupações são levadas em conta; em particular, os dados da aplicação
devem ser separados do conteúdo da página (nós de navegação) e, por sua
vez, os conteúdos devem estar claramente separados dos aspectos da
interface (páginas). (PRESSMAN, 2011, P. 349).

O MVC (Model View Controller), como mostra a Figura 3, é uma arquitetura de


software que separa a lógica de negócios da interface de usuário, e faz isso separando
23

o aplicativo em três partes: o modelo, a visão e o controlador. O modelo gerencia


comportamentos fundamentais do aplicativo, responde às solicitações de
informações. A visão fornece o elemento de interface com o usuário do aplicativo. O
controlador gerencia o acesso, o modelo e a visão e administra a comunicação entre
eles.
Figura 3: Arquitetura MVC

Fonte: PRESSMAN, 2011, p. 349

2.3 SPRING FRAMEWORK

O Spring framework é uma plataforma Java de software livre que fornece


suporte a infraestrutura para o desenvolvimento de aplicativos Java robustos, com
muita facilidade e rapidez. Existem muitas áreas cobertas pelo ecossistema Spring,
como Spring Data para acesso a banco de dados, Spring Security para prover
segurança, e diversos outros projetos que vão de cloud computing até a big data.
Spring framework foi escrito por Rod Johnson e foi lançado pela primeira vez sob a
licença Apache 2.0 em junho de 2003. O Spring tornou-se bastante popular na
comunidade Java, pois se consolidou como alternativa para o modelo Enterprise
JavaBeans (EJB). O Spring torna possível usar simples JavaBeans para conseguir
coisas que só eram possíveis com EJBs. Porém, a utilidade do Spring não é limitada
ao desenvolvimento do lado servidor. Qualquer aplicativo Java pode se beneficiar do
Spring em termos de simplicidade, testabilidade e baixo acoplamento. Baseado nos
24

padrões de projeto Inversão de Controle (IoC), também conhecido como injeção de


dependência.

2.3.1 Spring Boot

Spring Boot é um projeto que faz parte do ecossistema Spring e fornece uma
forma mais simples e rápida de configurar e executar aplicativos autônomos baseados
na web. O Spring Boot tem uma visão opinativa da plataforma Spring e de bibliotecas
de terceiros tornando-os aplicativos executáveis sem necessidade de implantação e
configurações muito complexas. A maioria dos aplicativos Spring Boot precisa de uma
configuração de Spring muito pequena. Pode ser combinado com ferramentas de
construção automáticas como Maven ou Gradle.

Um dos recursos mais poderosos do Spring Boot é a sua configuração


automática. Essa mágica é a chave para a abordagem de convenção sobre
configuração que trouxe um enorme aumento na produtividade para os
desenvolvedores Java. (PIVOTAL, 2018).

O conceito de convenção sobre configuração é o grande motor por trás do


ganho de produtividade do Spring Boot. A ideia é bastante simples: dado que a maior
parte das configurações que o desenvolvedor precisa escrever no início de um projeto
são sempre as mesmas, por que já não iniciar um novo projeto com todas estas
configurações já definidas? (WEISSMANN, 2018).
O Spring Boot configura automaticamente as classes necessárias, dependendo
das bibliotecas em seu caminho de classe. As principais características são:
● Criação de aplicativos Spring independentes;
● Incorporação do servidor Tomcat, Jetty ou Undertow diretamente (não é
necessário implantar arquivos WAR);
● Fornecimento dependências 'starter' pré-configurados para simplificar o
processo de configuração no momento de criar a aplicação;
● Configuração automática de bibliotecas Spring e de terceiros sempre que
possível;
● Fornecimento recursos prontos para produção, como métricas, verificações de
integridade e configuração externalizada;
● Absolutamente nenhuma necessidade de configuração em arquivos XML.
25

As principais vantagens de usar o Spring Boot são:

● Facilidade em desenvolver aplicações baseados em Spring com Java;


● Redução do tempo de desenvolvimento e aumento da produtividade;
● Evitar escrever muitos códigos, anotações e configuração XML;
● É muito fácil integrar uma aplicação Spring Boot com o ecossistema Spring
como Spring JDBC, Spring ORM, Spring Data, Spring Security etc;
● Segue a abordagem "convenção sobre configuração" para reduzir o esforço do
desenvolvedor;
● Fornece servidores HTTP embarcados, como Tomcat, Jetty, etc., para
desenvolver e testar aplicativos Web com muita facilidade;
● Fornece a ferramenta CLI (Interface de linha de comando) para desenvolver e
testar aplicativos Spring Boot (Java ou Groovy) a partir do prompt de comando
com muita facilidade e rapidez;
● Fornece muitos plugins para desenvolver e testar aplicações Spring Boot com
muita facilidade usando ferramentas como Maven e Gradle;
● Fornece muitos plugins para usar bancos de dados embarcados e em memória.
O Spring Framework visa simplificar o desenvolvimento de aplicativos J2EE, e o
Spring Boot visa simplificar o desenvolvimento em Spring. Para isso usa os starters,
que são um conjunto de dependências, que podem ser incluídas na aplicação. A partir
de um único starter tem-se toda a tecnologia necessária, sem ter que procurar por
códigos ou copiar ou colar de dependências. (PIVOTAL, 2019).
O Spring Boot possibilita construir aplicações prontas para o ambiente de
produção em tempo rápido. Para tanto fornece alguns starters prontos para uso, como
armazenamento em cache, registro em log, monitoramento e servidores incorporados.
● spring-boot-starter-actuator - Para usar recursos avançados, como
monitoramento e rastreamento da aplicação.
● spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-
starter-tomcat - Para servidor incorporado.
● spring-boot-starter-logging - Para registro usando logback
● spring-boot-starter-cache - Para ativar o suporte a armazenamento em cache
do Spring Framework.
26

O problema com o Spring e o Spring MVC é a quantidade de configuração


necessária. O Spring MVC requer configurar “component scan” e o “dispatcher
servlet”, um “view resolver”, web JARs (para fornecer conteúdo estático), entre outras
coisas e quando é usado o Hibernate/JPA, é necessário configurar um “datasource”,
um “entity manager factory”, um “transaction manager”, entre uma série de outras
coisas. O recurso de configuração automática do Spring Boot tenta configurar
automaticamente a aplicação Spring com base nas dependências adicionadas no
arquivo POM.xml. (WEISSMANN, 2018).

O plugin Maven fornece muitos recursos convenientes:


● Coleta todos os JARs (Java Archive) da aplicação e cria um "über-jar" (palavra
alemã que significa acima), único e executável, o que torna mais conveniente
executar e transportar o serviço.
● Procura o método public static void main (), para marcar como uma classe
executável.
● Fornece um resolvedor dependência integrado que define o número da versão
correspondente às dependências do Spring Boot.

O Plugin Spring Boot possui as seguintes metas:


1. spring-boot:run, executa a aplicação Spring Boot.
2. spring-boot:repackage, reempacota JAR/WAR para ser executável.
3. spring-boot:start e spring-boot:stop, para gerenciar o ciclo de vida da
aplicação Spring Boot (por exemplo, para testes de integração).
4. spring-boot:build-info, gera informações de compilação que podem ser
usadas pelo Actuator.

Segundo a Pivotal (2018), o Spring Boot Actuator inclui vários recursos


adicionais para monitorar e gerenciar a aplicação no ambiente de produção. A
aplicação pode ser gerenciada e monitorada através do endpoints HTTP (HyperText
Transfer Protocol) ou JMX (Java Management Extensions). A coleta de informações
de auditoria, integridade e métricas pode ser aplicada automaticamente.
27

EndPoints: Os endpoints do actuator permitem monitorar e interagir com a


aplicação. O Spring Boot inclui vários endpoints internos, mas também é possível
adicionar endpoints customizados. Por exemplo, o endpoint de integridade fornece
informações básicas de integridade da aplicação. (/nomeAplicativo/actuator/health).
Métricas: O Spring Boot Actuator fornece métricas dimensionais integrando-
se ao plugin “micrometer”.
Auditoria: O Spring Boot Actuator possui uma estrutura de auditoria flexível
que publica eventos em um AuditEventRepository. Quando o Spring Security está em
execução, ele publica automaticamente os eventos de autenticação por padrão. Isso
pode ser muito útil para relatórios e também para implementar uma política de
bloqueio baseada em falhas de autenticação.
O Spring Boot CLI (Command Line Interface) é uma interface de linha de
comando para o Spring Boot, que executa scripts do Groovy, o que significa que um
desenvolvedor não precisa escrever código clichê; tudo o que é necessário é o foco
na lógica de negócios. Spring Boot CLI é a maneira mais rápida de criar um aplicativo
baseado em Spring e tem os seguintes recursos:
● Fornece uma interface para executar e testar a aplicação Spring Boot a partir
de um prompt de comando.
● Usa internamente os componentes Spring Boot Starter e Spring Boot
AutoConfigurate para resolver todas as dependências e executa a aplicação.
● Contém o compilador Groovy e o Grape Dependency Manager.
● Suporta Groovy Scripts sem instalação externa do Groovy.
● Adiciona padrões do Spring Boot e resolve todas as dependências
automaticamente.
Algumas das dependências mais comuns do Spring Boot Starter:
● spring-boot-starter-web - Starter para construção de aplicações web,
incluindo aplicativos RESTful, usando o Spring MVC. Usa o Tomcat como o
contêiner embarcado padrão.
● spring-boot-starter-data-jpa - Starter para usar o Spring Data JPA com o
Hibernate.
● spring-boot-starter-test - Starter para testar aplicativos Spring Boot com
bibliotecas, incluindo JUnit, Hamcrest e Mockito.
28

● spring-boot-starter-thymeleaf - Starter para criação de aplicações web MVC


usando Thymeleaf.
● spring-boot-starter-data-mongodb - Starter para uso do banco de dados
orientado a documentos MongoDB e Spring Data MongoDB.
● spring-boot-starter-security - Starter para usar o Spring Security.
● spring-boot-starter-actuator - Starter para usar o Spring Boot Actuator, que
fornece recursos prontos para produção que ajudam a monitorar e gerenciar a
aplicação.
O Spring Boot fornece a configuração automática do Spring Security ao
adicionar o Spring Security Starter (spring-boot-starter-security):
● Ativa segurança básica HTTP;
● Registra o bean AuthenticationManager com um armazenamento na memória
e um único usuário;
● Ignora caminhos para localizações de recursos estáticos comumente usados
(como /css/, /js/, /imagens / **, etc.);
● Ativa recursos comuns de baixo nível, como XSS (Cross-site scripting), CSRF
(cross-site request forgery), armazenamento em cache, etc.
Ao executar a aplicação e acessar http://localhost:8080, será solicitado as
credenciais do usuário. O usuário padrão é “user” e a senha é gerada
automaticamente e impressa no log do console da aplicação.

2.4 LINGUAGEM DE PROGRAMAÇÃO JAVA

Atualmente a linguagem de programação Java é uma das linguagens de


programação mais comuns e populares. Criada por volta de 1991 pela Sun
Microsystems, que mais tarde seria adquirida pela Oracle. (LUCKOW; MELO, 2015,
p. 640).
O Java evoluiu de uma linguagem universal para uma plataforma inteira. Seu
ecossistema combina uma variedade de tecnologias usadas em uma variedade de
tarefas, desde a criação de aplicações desktop até grandes portais e serviços web.
Além disso, a linguagem Java é ativamente usada para criar software para uma gama
de dispositivos: computadores desktop, tablets, smartphones e telefones celulares, e
29

até mesmo eletrodomésticos, assim como a maioria dos programas para Android.
(LUCKOW; MELO, 2015, p.640)

Uma das características fundamentais da linguagem Java é o paradigma de


orientação à objetos. Outra característica fundamental trata de sua
arquitetura interna. O código é primeiro traduzido para um código de byte
especial, independentemente da plataforma. E então este código (ByteCode)
é executado pela JVM (Java Virtual Machine). A este respeito, Java difere de
linguagens como PHP ou Perl, onde o código é interpretado, porém, ao
mesmo tempo, Java não é uma linguagem puramente compilada como C ou
C ++. Esta arquitetura fornece aos programas, portabilidade de plataforma
cruzada, de modo que estes programas possam ser executados sem
recompilação em diferentes plataformas como Windows, Linux, Solaris, etc.
(LINDHOLM, 2015)

2.5 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS

Um SGBD (Sistema Gerenciador de Banco de Dados) consiste no software que


gere todo o acesso a uma ou mais bases de dados, permitindo a definição, acesso
concorrente, manipulação e controle dos dados, assegurando a integridade,
segurança e recuperação das bases de dados. O MySQL é um sistema de gestão de
bases de dados relacionais, suporta SQL, é open source e é um dos SGBDs para
utilização profissional mais utilizado e mais conhecido a nível mundial. (NEVES, p. 21,
2005)
O MySQL foi adotado neste trabalho por sua portabilidade, pouca exigência de
recursos de hardware e apresentar um excelente desempenho. O framework
Hibernate faz a interface entre o banco de dados e a aplicação, executando as
instruções SQL para recuperar apenas as informações necessárias e evitar consultas
complexas para obtenção de um conjunto de dados.
As vantagens também são citadas por NEVES (2005, p. 26) quanto à utilização
de ferramentas de código aberto:

● Redução dos custos de utilização da ferramenta (geralmente custos baixos ou


até mesmo nenhum), na aquisição, na implantação e manutenção. Além disso,
tem-se a liberdade ao escolher o provedor de suporte;
● Não há necessidade de administração das licenças;
● O usuário final tem a liberdade de modificar, atualizar e corrigir o software,
contratando ou não um desenvolvedor para esse trabalho; e
30

● Obtenção de apoio na Internet, além de ser ao seu dispor fóruns de discussão


e a comunidade criada especialmente para manter o desenvolvimento do
software, com pacotes de correções, dicas, entre outro.

2.6 HIBERNATE

O Hibernate é uma biblioteca que implementa a especificação Java Persistence


API (JPA), e que simplifica o uso de bancos de dados relacionais em aplicativos Java,
apresentando dados relacionais como objetos Java, e vice-versa. Atualmente o
Hibernate está na versão 5. (OTTINGER, 2016, p. 29).
As vantagens do Hibernate são a manutenção e gerenciamento da serialização
de objetos (ou mais propriamente dos seus campos) e a tradução do paradigma
orientado a objetos para o modelo relacional. Com Hibernate é possível armazenar
objetos em qualquer forma nativa de um determinado banco de dados através de
dialetos específicos. (OTTINGER, 2016, p.4).
No Hibernate Core destacam-se: uma linguagem de consultas, chamada HQL
(parecida com SQL), um conjunto de interfaces para consultas usando critérios
(Criteria API). (FARIA, 2015).

2.7 THYMELEAF

O Thymeleaf é um mecanismo de template Java do lado do servidor para


aplicações web e Desktop. O principal objetivo da Thymeleaf é prover uma
forma elegante e bem formatada para criação de páginas - HTML pode ser
exibido corretamente em navegadores e também como protótipos estáticos,
permitindo uma forte colaboração em equipes de desenvolvimento. Os
modelos HTML escritos em Thymeleaf ainda parecem e funcionam como
HTML, permitindo que os modelos reais que são executados na aplicação
continuem funcionando como artefatos de design úteis. O dialeto do
Thymeleaf é poderoso no desenvolvimento e pode ser customizado de
acordo com a necessidade da aplicação. (THYMELEAF, 2018).

O Thymeleaf é uma biblioteca baseada em Java usada para criar aplicativos


web. Fornece suporte para XHTML/HTML5. Tantos os designers quantos os
31

desenvolvedores podem trabalhar no mesmo arquivo. O Thymeleaf possui sintaxe


mais leve, mais poderosa e melhor integração com o ecossistema Spring. Foi
projetado para se integrar com o Spring desde a sua concepção, mas pode ser usado
em outros ambientes também. Permite uma ótima reutilização do código, com
utilização de fragmentos.

2.8 ORÇAMENTOS NA CONSTRUÇÃO CIVIL

Independentemente de localização, recursos, prazo, cliente e tipo de projeto,


uma obra é eminentemente uma atividade econômica e, como tal, é de fundamental
importância a determinação do seu custo.
A preocupação com o custo de uma obra inicia-se bem cedo, ainda antes do
seu início, na fase de orçamentação, quando é realizada a determinação dos
prováveis custos de execução da obra.
Portanto, orçamento na construção civil consiste na determinação do custo de
uma obra antes de sua realização, elaborado com base em documentos específicos,
tais como projetos, memorial descritivo e encargos, considerando-se todos os custos
diretos e indiretos envolvidos, as condições contratuais e demais fatores que possam
influenciar no custo total.
O orçamento é considerado uma peça básica no planejamento, controle e
programação de obras da construção civil e é utilizado para estabelecer e divulgar
metas a serem cumpridas, tanto por cada setor da empresa quanto por suas áreas
descentralizadas ou subsidiárias; nele deve ficar explícito o que a administração
central deseja de cada órgão interno ou de empresa controlada, principalmente quanto
aos custos programados e ao faturamento previsto (KNOLSEISEN, 2003).
Segundo Limmer (1997), um orçamento pode ser definido como a
determinação dos gastos necessários para a realização de um projeto, de acordo com
um plano de execução previamente estabelecido, gastos estes traduzidos em termos
quantitativos. Para o autor, o orçamento de um projeto deve satisfazer aos seguintes
objetivos:
● Definir o custo de execução de cada atividade ou serviço;
32

● Constituir-se em documento contratual, servindo de base para o faturamento


da empresa executora do projeto, empreendimento ou obra e para dirimir
dúvidas ou omissões quanto aos pagamentos;
● Servir como referência da análise dos rendimentos obtidos dos recursos
empregados na execução dos projetos;
● Fornecer, como instrumento de controle da execução do projeto, informações
para o desenvolvimento de coeficientes técnicos confiáveis, visando ao
aperfeiçoamento da capacidade técnica e da competitividade da empresa
executora do projeto no mercado.
Na montagem de um orçamento faz-se necessário, entre outros aspectos,
conhecer os indicadores dos insumos, ou seja, a produtividade da mão-de-obra, o
consumo de materiais e o consumo horário dos equipamentos utilizados nos serviços.
Quanto mais especificado for um orçamento, mais útil ele se tornará enquanto
referência para a execução, pois o gestor da obra passará a ter informações sobre a
quantidade de cada atividade que terá de implementar, facilitando, inclusive, o
controle dos custos.
Os procedimentos convencionais para elaboração de orçamentos de obras
iniciam-se pelo projeto detalhado do que se pretende executar, a determinação dos
serviços a serem executados e sua quantificação. Para a execução desses serviços
devem ser utilizados os insumos necessários, os quais devem ser especificados e
cotados. De posse das informações sobre esses insumos, as quais são oriundas de
apropriações de obras semelhantes ou tabelas de composições de custos de revistas,
empresas de consultoria, determina-se o custo direto unitário de cada serviço. O custo
unitário de cada serviço multiplicado pelas respectivas quantidades de serviços resulta
no custo direto de cada serviço, cujo somatório implicará no custo direto da obra.
Os demais gastos, independentemente de serem custos ou despesas indiretas,
são comumente denominados, na construção civil, de custos indiretos. Neles estão
compreendidos: administração local; administração geral; canteiro de obra;
alojamento, transporte, hospedagem e alimentação de pessoal; impostos; treinamento
de pessoal; propaganda e custos de comercialização; despesas financeiras; e outras
despesas que não puderem ser quantificadas num determinado serviço. Esses custos,
quando utilizados para a determinação do preço da obra, devem ser expressos em
função dos custos diretos, porém, seus componentes parciais podem apresentar
33

diferentes incidências, como é o caso dos impostos, que incidem no faturamento.


Assim, a prática de cálculo e utilização desses percentuais enfatiza o uso do chamado
BDI (Bonificação e Despesas Indiretas), que ainda engloba o percentual referente ao
lucro. O percentual resultante, portanto, deverá incidir nos custos diretos e seu cálculo
deverá ser cuidadoso e criterioso, uma vez que qualquer ineficiência de cálculo refletir-
se-á automaticamente no preço da obra (SANTOS, 2010).
Cardoso (2009, p.15) cita que o orçamento deve conter os serviços que são
realizados durante a execução da obra, considerando, também, o levantamento dos
quantitativos físicos do projeto e dos custos unitários de cada serviço, leis sociais e
encargos adicionais, que deverão estar apresentados em planilha.

O orçamento, parte integrante dos contratos, é o documento por meio do qual


o auditor acessa as mais variadas informações dos projetos de arquitetura e
de engenharia, podendo ainda efetuar diversas confrontações com os
documentos e relatórios de prestação de contas. (CARDOSO, 2009, p. 15).

2.8.1 Grau de detalhe do orçamento

Os graus de detalhe de um orçamento podem ser denominados por estimativa


de custo; orçamento preliminar; orçamento analítico ou detalhado e orçamento
sintético ou resumido.

2.8.1.1 Estimativa de Custos

Para Mattos (2006, p. 34.), a estimativa de custo é a avaliação realizada com


base em custos históricos e comparação com projetos parecidos.

Em geral, a estimativa de custos é feita de indicadores genéricos, números


consagrados que servem para uma primeira abordagem da faixa de custo da
obra. A tradição representa um aspecto relevante na estimativa. (MATTOS,
2006, p. 34.)

Mattos (2006, p. 35.), ainda afirma que o indicador mais utilizado para
representação do custo na construção civil por metro quadrado (m²) é o Custo Unitário
Básico (CUB).
34

2.8.1.2 Orçamento preliminar

Para Sampaio (1989), o orçamento preliminar, corresponde à avaliação dos


custos, através de estimativas e de levantamentos de dados, como quantidade de
material, serviços e pesquisa de preço, que serão feitos na etapa do anteprojeto.
Para Mattos (2006 p. 39.), este tipo de orçamento preliminar é mais detalhado
do que a estimativa de custos, pois considera o levantamento de quantidade e solicita
a pesquisa de mercado.

No orçamento preliminar, trabalha-se com uma quantidade maior de


indicadores, que representam um aprimoramento da estimativa inicial. Os
indicadores servem para gerar pacotes de trabalho menores, de maior
facilidade de orçamentação e análise de sensibilidade de preços. (MATTOS,
2006, p. 39).

2.8.1.3 Orçamento analítico ou detalhado

Para Matos (2006, p. 42.), o orçamento analítico constitui a maneira mais


detalhada e precisa de se prever o custo da obra. Ele é efetuado a partir de
composições de custos e cuidadosa pesquisa de preços dos insumos. Procura chegar
a um valor bem próximo do custo "real".

O orçamento analítico vale-se de uma composição de custos unitários para


cada serviço da obra, levando em consideração quanto de mão-de-obra,
material e equipamento é gasto em sua execução. Além do custo dos serviços
(custo direto), são computados também os custos de manutenção do canteiro
de obras, equipes técnica, administrativa e de suporte da obra, taxas e
emolumentos, etc. (custo indireto), chegando a um valor orçado preciso e
coerente. (MATTOS, 2006, p. 42).

2.8.1.4 Orçamento sintético ou resumido

O orçamento sintético ou também chamado resumido, conforme descreve


Matos (2006, p. 42), compreende, então, uma síntese do orçamento analítico
expresso através de etapas com valores parciais ou grupos de serviços a serem
realizados, com seus respectivos totais, e o preço do orçamento da obra.
35

2.8.2 Composição de Custo Unitário

Dá-se o nome de composição de custo ao processo de estabelecimento dos


custos incorridos para a execução de um serviço ou atividade, individualizado por
insumo e de acordo requisitos pré-estabelecidos. A composição deve listar todos os
insumos necessários à execução de cada serviço, com suas respectivas quantidades,
e seus custos unitários e totais. As categorias de custo envolvidas em um serviço são
tipicamente: mão-de-obra, material e equipamento. (MATTOS, 2006, p. 62).
Normalmente, as composições de custos são elaboradas antes da execução
dos serviços, mas também podem ser elaboradas durante a execução dos serviços
ou após a conclusão desses, sendo distintos os propósitos em cada caso.
Quando elaborada antes da execução do serviço, o seu propósito é de
estimativa ou de compor o orçamento e serve para que a empresa construtora tenha
uma noção do custo a ser incorrido por ela no futuro, quando da execução daquele
empreendimento. Nessa etapa, a composição de custos é a base utilizada pelas
empresas para a definição dos preços que serão atribuídos em licitações e propostas
ou, no caso de incorporações, aos empreendimentos a que se referem.
Se elaboradas durante a execução dos serviços ou após a conclusão desses,
a composição de custos é utilizada como ferramenta de aferição da estimativa
previamente efetuada. A composição passa, então, a ser um instrumento de controle
de custos, permitindo à empresa identificar possíveis fontes de erro na composição
do orçamento original ou desperdícios e gerando dados que poderão ser utilizados
em futuros orçamentos, proporcionando à empresa a utilização de dados mais
próximos de sua realidade.
Os dados que devem compor uma Composição de Preço Unitário são
(MATTOS, 2006, p. 63):
● Insumos (materiais, mão-de-obra, equipamentos, serviços de terceiros), com
suas respectivas unidades;
● Quantidades (índices ou coeficientes) de aplicação de materiais, de produção
ou aplicação de mão-de-obra, de aplicação de equipamentos e de aplicação de
serviços de terceiros;
● Preços unitários de materiais, mão-de-obra, equipamentos e serviços de
terceiros;
● Taxas de Leis Sociais (que incidem apenas na mão-de-obra);
36

● BDI (quando a CPU for de venda; caso contrário, não existe BDI).
Por mais abrangente que seja o conjunto de composições de custos unitários
que um dado livro ou órgão possa dispor, ele parte de observações de obras diversas,
de empresas diversas e realizadas sob condições particulares (MATTOS, 2006, p.
68).
Daí a necessidade das empresas em desenvolverem suas próprias
composições de custos, que reflitam os seus indicadores de produtividade e de
consumo, que melhor representem as características de produção da empresa. Ao
processo de obtenção dos indicadores reais de produção e de consumo dá-se o nome
de apropriação. É através da apropriação que a empresa passa a conhecer sua
produtividade, seus pontos fortes e fracos no que diz respeito ao processo produtivo
e ao processo gerencial. O passo inicial da apropriação é a observação, observar
significa assistir e registrar. É a partir dos dados coletados nos canteiros de obra que
podem ser elaboradas as composições de custos da empresa.

2.8.3 Fórmula do BDI

Dias (2012, p. 11) define BDI como um percentual que incide sobre os custos
diretos da obra, que se refere às despesas indiretas, lembrando que essa
porcentagem pode variar de acordo com a localização do empreendimento, com o tipo
de administração adotado, com os impostos e com a margem de lucro esperado pelo
empreendedor que também o compõem.
Por sua vez, González (2008, p. 32), complementa essa definição explicando
que a função do BDI é completar o orçamento, incluindo nele alguns itens que são de
difícil mensuração, sendo atribuídos valores estimados. Diz ainda que o BDI pode ser
apresentado no orçamento em sua forma percentual, incidindo sobre todos os custos
unitários, como um valor geral incluído usualmente no final da planilha ou como um
misto das duas formas. Os custos indiretos decorrem da estrutura da obra e da
empresa e não podem ser atribuídos diretamente à execução de um determinado
serviço, sendo os que mais afetam a construção, segundo Dias (2012, p. 12) são:
● Taxa de administração central
● Taxa de custo financeiro
● Taxa de risco do empreendimento
37

● Taxa de tributos
● Taxa de despesas de comercialização
● Lucro ou remuneração líquida da empresa

Segundo Mattos (2006, p. 38) a fórmula básica para cálculo do BDI é a seguinte:

𝐼 𝑅 𝐹
(1 + ) (1 + ) (1 + )
𝐵𝐷𝐼 = [( 100 100 100 ) − 1] = [( (1 + 𝑖)(1 + 𝑟)(1 + 𝑓) ) − 1] 𝑥 100
𝑇 + 𝑆 + 𝐶 + 𝐿 1 − (𝑡 + 𝑠 + 𝑐 + 𝑙)
1 − ( )
100

Sendo: i = taxa de Administração Central;


r = taxa de risco do empreendimento;
f = taxa de custo financeiro do capital de giro;
t = taxa de tributos federais;
s = taxa de tributo municipal – ISS
c = taxa de despesas de comercialização
l = lucro ou remuneração líquida da empresa.

2.8.4 Indicadores para orçamento

2.8.4.1 SINAPI

Segundo o IBGE (2019), o Sistema Nacional de Pesquisa de Custos e Índices


da Construção Civil (SINAPI) tem por objetivo a produção de séries mensais de custos
e índices para o setor habitacional, de séries mensais de salários medianos de mão
de obra e preços medianos de materiais, máquinas e equipamentos e serviços da
construção para os setores de saneamento básico, infraestrutura e habitação.
Ainda segundo o IBGE (2019), o sistema é uma produção conjunta do IBGE e
da Caixa Econômica Federal, realizada por meio de acordo de cooperação técnica,
cabendo ao Instituto a responsabilidade da coleta, apuração e cálculo, enquanto à
CAIXA, a definição e manutenção dos aspectos de engenharia, tais como projetos,
composições de serviços etc. O IBGE (2019) ainda complementa que as estatísticas
do SINAPI são fundamentais na programação de investimentos, sobretudo para o
38

setor público. Os preços e custos auxiliam na elaboração, análise e avaliação de


orçamentos, enquanto os índices possibilitam a atualização dos valores das despesas
nos contratos e orçamentos.

2.8.4.4 TCPO

A Tabela de Composições e Preços para Orçamentos (TCPO), é a fonte de


composições de custos mais utilizada por órgãos públicos ou empresas públicas no
Brasil. A TCPO oferece composições organizadas de acordo com uma classificação
própria da Editora Pini, e está disponível em forma impressa e eletrônica. A editora
Pini comercializa também o software VOLARE para a realização de orçamentos.
(ALVES, 2014).
Por sua vez, Thomé (2016), complementa que a base de dados TCPO, que é
atualizada pela Editora Pini, é uma das principais referências de engenharia de custos
do Brasil. Esta tabela existe há mais de 60 anos e conta com mais de 8.500
composições de serviços, preços de referência e outras informações que podem ser
utilizadas por engenheiros e outros profissionais da construção.
39

3 METODOLOGIA

Neste capítulo, são apresentados a sequência das principais atividades


necessárias para o desenvolvimento da aplicação Web sob dois aspectos: o prático e
o teórico. O prático refere-se à implementação do sistema e o teórico refere-se à
elaboração dos artefatos do sistema e da escrita do trabalho final.

3.1 MÉTODO DE PESQUISA

O êxito na conclusão deste trabalho foi possível devido a definição da


metodologia desde o início do projeto. Esse estudo tem por finalidade realizar uma
pesquisa aplicada, uma vez que utilizará conhecimento da pesquisa básica para
resolver problemas. Para um melhor tratamento dos objetivos e melhor apreciação
desta pesquisa, observou-se que ela é classificada como pesquisa exploratória.

Pesquisas exploratórias são desenvolvidas com o objetivo de proporcionar


visão geral, de tipo aproximativo, acerca de determinado fato. Este tipo de
pesquisa é realizado especialmente quando o tema escolhido é pouco
explorado e torna-se difícil sobre ele formular hipóteses precisas e
operacionalizáveis (GIL, 2014, p. 27).

Detectou-se também a necessidade da pesquisa bibliográfica quando se fez


uso de materiais já elaborados: livros, artigos científicos, revistas, documentos
eletrônicos e enciclopédias na busca e alocação de conhecimento sobre o sistema
como forma de examinar novas ferramentas para desenvolvimento web,
correlacionando tal conhecimento com abordagens já trabalhadas por outros autores.

3.2 MATERIAIS

O Quadro 1 apresenta as ferramentas e as tecnologias que foram utilizadas


para modelar e implementar a aplicação web.
40

Quadro 1: Materiais utilizados no desenvolvimento do sistema web

Ferramenta/ Versão Referência Finalidade


Tecnologia

Astah- 6.8.0 http://astah.net/editions/community Documentação da modelagem


Professional baseada na UML.

Balsamiq 3.5 https://balsamiq.com Construção de Protótipos

Jaspersoft 6.6.0 https://community.jaspersoft.com/ Geração de Relatórios


Studio

Java JDK 1.8 http://www.oracle.com Linguagem de


programação

Eclipse Oxygen 4.7.3 http://www.eclipse.org Ambiente de desenvolvimento

MySQL 5.7.22 https://www.mysql.com Banco de dados

MySQL 6.3 https://www.mysql.com/products/wor Modelagem ER


WorkBench kbench/

Spring Boot 2.0.3 https://spring.io/projects/spring-boot Framework Desenvolvimento


Java

Thymeleaf 3.0.9 https://www.thymeleaf.org/ Ambiente Front-end

3.3 ANÁLISE DE REQUISITOS

A aplicação Web proposta será implementada buscando resolver os problemas


e situações abordados no capítulo de introdução deste trabalho. O objetivo final é o
desenvolvimento de uma aplicação web para gestão de orçamentos de obras na
construção civil.
Após implementação, pretende-se hospedar a aplicação Web em um servidor
de aplicação, juntamente com um servidor de banco de dados MySQL para
persistência de dados.

3.3.1 Requisitos Funcionais

Os requisitos funcionais descrevem a funcionalidade ou os serviços que se


espera que o sistema realize em benefício dos usuários (PAULA FILHO, 2003). Eles
41

variam de acordo com o tipo de software em desenvolvimento, com usuários e com o


tipo de sistema que está sendo desenvolvido. Requisitos funcionais podem ser
expressos de diversas maneiras e, como já foi dito acima, em diferentes níveis de
detalhamento. Os requisitos funcionais de usuários definem recursos específicos que
devem ser fornecidos pelo sistema (SOMMERVILLE, 2011).
Inicialmente a especificação de requisitos funcionais deve ser completa – deve
definir todos os requisitos de usuário e refletir as decisões de especificação tomadas
– e consistente – os requisitos não devem ter definições contraditórias (PAULA FILHO,
2003). Entretanto, na realidade, em sistemas complexos e grandes, é quase
impossível atingir a consistência e a completeza dos requisitos. Isso ocorre,
principalmente, em função da complexidade inerente ao sistema e porque as pessoas
possuem diferentes pontos de vistas em relação a um problema. Esses problemas
somente emergem após uma análise mais aprofundada. À medida que os problemas
vão sendo descobertos, deve se ir atualizando o documento de requisitos
(SOMMERVILLE, 2011).
O Quadro 2 apresenta a lista dos requisitos funcionais identificados para a
aplicação web.

Quadro 2: Requisitos Funcionais

Identificador Nome Descrição

RF 01 Importar tabelas Importar da base de preços de insumos e composições da


SINAPI tabela SINAPI, organizando-as por estado, mês e ano.

RF 02 Consultas SINAPI Consulta de composições e insumos da base SINAPI

RF 03 Gerenciar base Manter base própria de composições e insumos


própria

RF 04 Gerenciar Manter orçamentos: Inclusão de etapas, insumos e


orçamentos composições; cálculo de subtotais das etapas, cálculo BDI,
leis sociais e taxa de administração e total do orçamento

RF 05 Relatórios Impressão orçamento, lista de materiais, lista de


composições, análise de serviços do orçamento
42

3.3.2 Requisitos Não-Funcionais

Os requisitos não funcionais são aqueles que não dizem respeito diretamente
às funcionalidades fornecidas pelo sistema. Podem estar relacionados a propriedades
de sistemas emergentes, como confiabilidade, tempo de resposta, espaço em disco,
desempenho e outros atributos de qualidade do produto (PAULA FILHO, 2003). Às
vezes podem dizer respeito ao sistema como um todo. Isso significa que na maioria
das vezes eles são mais importantes que os requisitos funcionais individuais. Se uma
falha em cumprir um requisito funcional pode comprometer parte do sistema, uma
falha em cumprir um requisito não funcional pode tornar todo o sistema inútil
(SOMMERVILLE, 2011).

Sommerville (2008) classifica os requisitos não funcionais em:


● Requisitos de produto que especificam o comportamento do produto. Podem
restringir, por exemplo, a liberdade dos projetistas a utilizar uma determinada
linguagem.
● Requisitos organizacionais que são procedentes de políticas e procedimentos
adotados nas organizações do cliente e do desenvolvedor. Especifica que o
sistema deve ser de acordo com um processo-padrão da empresa.
● Requisitos externos que abrange tópicos advindos de fatores externos ao
sistema. Dentre eles destacam-se os requisitos de interoperabilidade, os
requisitos éticos e os requisitos legais que devem ser observados a fim de
garantir que o sistema opera de acordo com a lei.

Um problema dos requisitos não funcionais é que geralmente eles são de difícil
verificação e quantificação em uma primeira versão do produto (PAULA FILHO, 2003).
Podem ser escritos para refletir os objetivos gerais do cliente como usabilidade,
recuperação à falhas ou rapidez de resposta ao usuário. Esses requisitos são
problemáticos na medida em que abrem a possibilidade de múltiplas interpretações e
claro discussões quando o sistema é entregue (SOMMERVILLE, 2011).
43

Os requisitos não funcionais da aplicação de orçamentos para obras estão


descritos no quadro 3.

Quadro 3: Requisitos Não Funcionais

Identificador Nome Descrição

RNF 01 Disponibilidade da O sistema deverá importar e disponibilizar as novas tabelas


tabela SINAPI SINAPI a todos os usuários mensalmente.

RNF 02 Segurança dados Cada orçamentista somente terá acesso aos seus próprios
orçamentos e sua base própria de preços.

RNF 03 Administrador Haverá apenas um Administrador para cada plano


contratado

RNF 04 Exportar dados As composições, insumos e orçamentos poderão ser


exportadas para o formato Excel e PDF.

3.3.3 Diagramas de caso de uso

O diagrama de caso de uso é uma visão externa do sistema e representa


graficamente os atores, os casos de uso, e os relacionamentos entre estes elementos.
Ele tem como objetivo ilustrar, em um nível alto de abstração, como os elementos
externos interagem com as funcionalidades do sistema. (DEITEL, 2010, p. 10).
A Figura 4, ilustra o caso de uso geral do sistema e contém as funcionalidades
essenciais da aplicação realizadas pelos atores: Administrador, Orçamentista e
Sistema. O Administrador é responsável gerenciar contas dos usuários do sistema,
gerenciar permissões de acesso, enquanto Orçamentista é um usuário do sistema
com permissões pré-definidas pelo Administrador.
44

Figura 4: Diagrama de Caso de Uso Geral do Sistema

Fonte: Autor (2019)

3.3.4 Diagrama de Classes

Na Figura 5 é apresentado o diagrama de classe separa os elementos de


design da codificação do sistema. Os componentes em um diagrama de classe
representam as classes que serão realmente programadas e a interação entre elas
45

Figura 5: Diagrama de classe de análise da aplicação

Fonte: Autor (2019)


46

3.4 MODELAGEM DO BANCO DE DADOS

Na Figura 6 exibe o diagrama de entidades e relacionamentos definido para a


aplicação Web para orçamentos de obras.

Figura 6: MER - Modelo de Entidade e Relacionamento

Fonte: Autor (2019)


47

Utilizando como base as funcionalidades descritas nos requisitos do projeto e


no diagrama de classe, foi elaborado o modelo do banco de dados. O banco de dados
tem como papel principal armazenar os dados da aplicação e garantir a integridade
de dados do sistema. Ele armazenará todos os orçamentos, insumos, composições e
demais informações necessárias para o funcionamento ideal do software. O modelo
foi desenvolvido com o objetivo de ser facilmente adaptável conforme evolução e
necessidade do sistema em suas iterações futuras.

3.5 IMPLEMENTAÇÃO DO SISTEMA

A implementação da aplicação web será realizada por meio da IDE Eclipse


versão 2018-09, instalada em ambiente Ubuntu 18.04. Foram utilizados HTML, CSS
e Javascript para o desenvolvimento do lado cliente do sistema e a linguagem de
programação JAVA para o lado servidor. O framework Bootstrap foi empregado para
tornar o sistema responsivo. Além disso foram implementadas as bibliotecas jQuery e
AJAX para o desenvolvimento de recursos interativos. Para o armazenamento de
dados foi utilizado o banco de dados MySQL.
48

3.5.1 Páginas e Relatórios da Aplicação Web

A Figura 7 mostra a página de cadastro de orçamento, serão implementados


os recursos mais importantes da aplicação Web. O usuário poderá incluir etapas,
insumos e composições no orçamento. Também terá acesso aos relatórios do
orçamento como. Além de funções como ordenar automaticamente os itens do
orçamento, selecionar etapas para lançamentos de insumos e pesquisar algum item
no orçamento.

Figura 7: Página de cadastro do orçamento

Fonte: Autor (2019)


49

A Figura 8 exibe a página de cadastro da composição, o usuário poderá


gerenciar composições da base própria. As composições SINAPI poderão ser
copiadas para a base própria, possibilitando a apropriação de custos conforme a
produtividade da empresa. O usuário poderá manter quantas bases forem
necessárias.

Figura 8: Página de cadastro de composição

Fonte: Autor (2019)


50

A Figura 9 mostra a página de pesquisa de composições, que permitirá aplicar


filtros como a consulta por código, base de insumo, classe e grupo da composição.
Nesta página o usuário poderá visualizar o histórico de preços das composições, com
todas as bases de preços SINAPI importadas da aplicação Web. Também poderá
copiar a composição para a etapa selecionada no orçamento atual.

Figura 9: Página de pesquisa de composições

Fonte: Autor (2019)


51

A Figura 10 exibe o Relatório do Orçamento é o produto de todo trabalho


empenhado ao elaborar um orçamento. Nele estão contidas todas as informações de
custos sobre o empreendimento. Serão discriminados os serviços e a sua quantidade
utilizada. Ainda serão apresentados subtotais dos itens e total com as taxas incluídas.
Se a opção do orçamento foi utilizar a base de insumos SINAPI “Não Desonerada”, a
taxa de Leis Sociais será calculada somente sobre o valor total da mão de obra. A
taxa de BDI e administração, serão calculadas sobre o valor total dos serviços de Mão
de Obra, Materiais e Equipamentos.

Figura 10: Relatório do orçamento

Fonte: Autor (2019)


52

A Figura 11 apresenta o Relatório de Composições do Orçamento, será


sumarizado o quantitativo dos serviços utilizados no orçamento, detalhando todos
itens da composição com o seu coeficiente, valor unitário e total com taxas, e ainda
totalizará os valores de mão de obra, materiais e equipamentos. Também será
calculado o valor unitário da composição, com e sem taxas, o valor do BDI, valor das
Leis Sociais e Taxa de administração. Este é um relatório, importante para o
planejamento da obra, pois permite dimensionar o impacto que o serviço terá sobre
toda a obra.

Figura 11: Relatório de composições do orçamento

Fonte: Autor (2019)


53

3.6 TESTANDO A APLICAÇÃO WEB

Segundo Pressman (2011, p. 469), a fase de testes consiste em fazer


exaustivas execuções com o software a fim de descobrir possíveis falhas. Como uma
aplicação Web reside em uma rede de computadores, ela será utilizada por diversos
sistemas operacionais, browsers, plataformas de hardware e protocolos de
comunicação, velocidade de conexão e isso faz com que a busca por erros se torne
uma tarefa laboriosa.
A seguir são apresentados passos para realização de testes na aplicação
voltada para Web, segundo Pressman (2011, p. 470).

● O modelo de conteúdo é revisado para identificação de erros;


● O modelo de Design é revisado para encontrar erros de navegação;
● Os componentes de processos selecionados são testados individualmente;
● A arquitetura é construída e os testes de integração são realizados;
● Os testes de funcionalidade e de entrega de conteúdo são efetuados;
● A aplicação é instalada em vários ambientes de utilização e testados em
todos esses ambientes.

Nesta aplicação, focada no domínio da construção civil, as informações sobre


os preços dos insumos, índices de produtividade e coeficientes dos insumos das
composições deverão ser conferidas pelos responsáveis do projeto e pelo
desenvolvedor. Haverá disparidades entre os resultados esperados, pois os valores
dos preços unitários dos insumos e os índices de produtividade usados pelo sistema
são uma média apurada pelo sistema SINAPI. As empresas de construção poderão
ter um modelo de gestão de pessoal peculiar ou usar métodos construtivos racionais,
que por consequência produzirá resultados diferentes da média pesquisada pelo
sistema SINAPI.
54

4 ANÁLISE DOS RESULTADOS

Este sistema Web reuniu competências adquiridas pelo autor durante o curso
de Tecnologia em Sistemas para Internet. O projeto foi uma ótima oportunidade para
integrar estas competências em um único projeto e contribuir para a formação
profissional ajustada às necessidades do mercado de trabalho.
Durante a etapa do projeto, foram levantados os principais requisitos desejados
por este tipo de aplicação para preencher a falta de opções neste nicho de mercado
e cumprir com o objetivo final do projeto: A apresentação de um trabalho
interdisciplinar de desenvolvimento de uma aplicação Web para gestão de orçamentos
na construção civil.
Na implementação, algumas das tecnologias necessárias para a construção da
aplicação Web já eram conhecidas pelo autor, mesmo que não profundamente. Outras
foram estudadas na etapa de implementação, o que tornou o projeto um desafio e
gerou algumas dificuldades.
A escolha do framework Spring Boot se mostrou acertada e proporcionou
agilidade na configuração da aplicação Web. O uso do Thymeleaf, também foi muito
produtivo e simplificou a construção das páginas web. Porém a aplicação web tem
características de Single Page Application (SPA), o que resultou tempo extra de
desenvolvimento de funções em AJAX para obter este comportamento.
Os requisitos fundamentais para que a aplicação funcionasse da forma que foi
idealizada foram cumpridos com sucesso, e a implementação de novas
funcionalidades depende apenas de tempo para desenvolvimento e de demanda dos
usuários.
55

5 CONSIDERAÇÕES FINAIS

A finalização da implementação de todos os requisitos fundamentais para que


a aplicação funcione da forma que foi idealizada foi o principal objetivo atendido desta
pesquisa. A aplicação Web simplificou o processo de elaboração de orçamentos no
menor número de passos possíveis para sua conclusão, proporcionando uma
interface intuitiva e de fácil aprendizado. Além disso, proporcionou a integração com
o sistema SINAPI, possibilitando a consulta de composições de serviços e preços de
insumos de todo o Brasil.
A proprietária da empresa construtora, que ajudou no levantamento dos
principais requisitos do projeto, demonstrou muito interesse em utilizar a aplicação
Web. Atualmente, esta empresa usa planilhas eletrônicas para elaboração de
orçamentos, e reconhece que essa não é a melhor prática. Diante, desta
manifestação, ficou evidente que o objetivo geral da aplicação Web foi alcançado.
A aplicação desenvolvida tem um escopo pequeno dentro do universo da
indústria da construção civil. Há grande potencial para que este sistema sirva de base
para proposta de outras soluções direcionadas a pequenas e médias empresas do
setor da construção civil.
A fim de evolução do projeto, possibilitando agregar mais funcionalidades,
alguns trabalhos futuros podem ser elaborados, dentre os quais destacam-se:
● Desenvolver módulo de centro de custos, para acompanhamento dos
custos da obra durante a sua execução;
● Adicionar funcionalidade de apropriação de custos de composições
unitárias diretamente do orçamento realizado, a fim de criar uma base de
própria de composições da empresa;
● Acrescentar alternativa no cálculo do BDI, através da distribuição do
percentual entre as etapas, ou materiais ou serviços; e
● Implementar função de memória de cálculo dos quantitativos dos serviços.
A aplicação Web desenvolvida, efetivamente, melhora o processo de
elaboração de orçamentos, tornando uma alternativa economicamente viável para as
pequenas e médias empresas.
56

REFERÊNCIAS

ALVES, G. S.; ARAÚJO, N. M. Composições de Custos Unitários: TCPO X


Apropriação In Loco. Artigo: Universidade Federal da Paraíba, João Pessoa, 2014.

ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 12721: Avaliação de


custos unitários e preparo de orçamento de construção para incorporação de
edifício em condomínio. Rio de Janeiro: ABNT, 2006.

ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 14724: Informação e


documentação - trabalhos acadêmicos - apresentação. Rio de Janeiro: ABNT,
2005.

CARDOSO, R. S. Orçamento de obras em foco: um novo olhar sobre a


engenharia de custos. São Paulo: Editora Pini, 2009.

CAIXA, Sistema Nacional de Pesquisa de Custos e Índices da Construção Civil


(SINAPI). Disponível: <http://www.caixa.gov.br/poder-publico/apoio-poder-
publico/sinapi/Paginas/default.aspx>, Acesso em: 14/09/2018.

DIAS, P. R. V. Engenharia de Custos: Novo Conceito de BDI. Paulo Roberto Vilela


Dias - 5ª ed. Rio de Janeiro: 2012.

DEITEL, Paul; DEITEL, Harvey. Java: como programar. São Paulo: Pearson
Prentice Hall, 2010.

FARIA, Thiago; JUNIOR, N. JPA e Hibernate. 1ª ed. Uberlândia – Minas Gerais:


Algaworks, 2015.

GIL, Antônio Carlos. Como elaborar projetos de pesquisa. 5ª ed. São Paulo: Atlas,
2008.

González, M. A. S. Noções de Orçamento e Planejamento de Obras. São Leopoldo:


UNISINOS, 2008.

IBGE – INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA. Pesquisa


Anual da Indústria da Construção - PAIC. Dados do ano de 2016. Disponível em:
<https://www.ibge.gov.br/estatisticas-novoportal/economicas/industria/9018-
pesquisa-anual-da-industria-da-construcao.html?=&t=destaques>. Acesso em 17 de
novembro de 2018.

IBGE - INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA. Sistema


Nacional de pesquisa de custos e índices da construção civil - SINAPI.
<https://www.ibge.gov.br/estatisticas-novoportal/economicas/precos-e-custos/9270-
sistema-nacional-de-pesquisa-de-custos-e-indices-da-construcao-civil.html?=&t=o-
que-e>
57

KNOLSEISEN, P. C. Compatibilização de orçamento com o planejamento do


processo de trabalho para obras de edificações. 2003. Dissertação (Mestrado em
Engenharia de Produção) - Universidade Federal de Santa Catarina, Florianópolis,
2003.

LINDHOLM, Tim et al.: The Java Virtual Machine Specification, Java SE 8 Edition
(2015). Disponível em:
<http://docs.oracle.com/javase/specs/jvms/se8/html/index.html>. Acesso em: 17 de
novembro de 2018.

LIMMER, CARL V. Planejamento, orçamentação e controle de projetos e obras.


Rio de Janeiro: Livros Técnicos e Científicos Editora, 1997.

LUCKOW, Décio Heinzelmann. MELO, Alexandre Altair. PROGRAMAÇÃO JAVA


PARA WEB: APRENDA A DESENVOLVER UMA APLICAÇÃO FINANCEIRA DO
ZERO. 2ª ed. São Paulo, Sp: Novatec, 2015. p. 640.

MATTOS, Aldo Dórea. Como preparar orçamentos de obras: dicas para


orçamentistas, estudos de caso, exemplo / Aldo Dória Mattos. - São Paulo: ed.
Pini, 2006.

NEVES, Pedro M. C.; RUAS, Rui P. F. O Guia Prático do MySQL. 1ª Ed. Lisboa:
Centro Atlântico, 2005.

OTTINGER, Joseph B.; LINWOOD, Jeff; MINTER, Dave. Beginning Hibernate: For
Hibernate 5. 4ªed. Nova York - USA: Springer Science, 2016.

PAULA FILHO, Wilson de Pádua. Engenharia de Software. Rio de Janeiro: LTC,


2003.

PINI, Fausto. TCPO 2013 – Tabela de Composições de Preços para Orçamentos.


1ª ed. São Paulo: Pini, 1999.

PIVOTAL. Build Anything with Spring Boot. Disponível em:


<https://pivotal.io/spring-app-framework> Acesso em: 17 de novembro 2018.

PRESSMAN, R. S. Engenharia de Software: Uma abordagem Profissional. / Roger


S. Pressman. 7ª ed. Porto Alegre: Mcgraw-Hill, 2011.

SANTOS, C. M. S. Análise dos indicadores do TCPO e de empresas construtoras


de edificações verticais utilizados na elaboração de orçamentos por empresas
de João Pessoa. 2010. Dissertação (Mestrado) - Universidade Federal da Paraíba,
João Pessoa, 2010.

SAMPAIO, F. M. Orçamento e Custo da Construção. 1ª Ed. Brasília: Hemus, 1989.

SOMMERVILLE, Ian. Engenharia de Software. / Ian Sommerville. 9ª ed. São Paulo:


Pearson Prentice Hall, 2011.
58

TERTULINO, Ciro e SOUZA, Maria G. C. Guia de Normalização: Trabalhos de


Conclusão de Curso (TCC), Natal: Ed. IFRN, 2013.

THOMÉ, Brenda Bressan. Conheça 5 Indicadores da Construção que são


importantes para o seu negócio. Disponível em: <https://www.sienge.com.br/>
Acesso em: 10/04/2019.

THYMELEAF. Tutorials. Disponível: <https://www.thymeleaf.org/> Acesso em:


14/09/2018

WEISSMANN, H. L. Spring Boot: Simplificando o Spring. Disponível em:


<https://www.devmedia.com.br/spring-boot-simplificando-o-spring/31979> Acesso
em: 17 de novembro 2018.
59

APÊNDICE A – PROTÓTIPO DE PÁGINAS DO SISTEMA

Figura 12: Página inicial do sistema

Fonte: Autor (2019)

Figura 13: Login do sistema Web

Fonte: Autor (2019)


60

Figura 14: Inclusão de novo orçamento

Fonte: Autor (2019)

Figura 15: Inclusão de itens do orçamento

Fonte: Autor (2019)


61

Figura 16: Inclusão de nova etapa no orçamento

Fonte: Autor (2019)

Figura 17: Inclusão de insumo no orçamento

Fonte: Autor (2019)


62

Figura 18: Itens incluídos no orçamento

Fonte: Autor (2019)

Figura 19: Pesquisa de insumos

Fonte: Autor (2019)


63

Figura 20: Inclusão de insumo na base própria

Fonte: Autor (2019)

Figura 21: Inclusão de composição em base própria

Fonte: Autor (2019)


64

Figura 22: Cadastro de itens da composição

Fonte: Autor (2019)

Figura 23: Inclusão de insumo como item da composição

Fonte: Autor (2019)


65

Figura 24: Cadastro de composição finalizado, com todos os seus itens

Fonte: Autor (2019)


66

APÊNDICE B – DESCRIÇÃO DOS PRINCIPAIS CASOS USO DO SISTEMA

Quadro 4: Descrição do caso de uso Autenticar-se no Sistema

Use case: Autenticar-se no Sistema


Descrição: O usuário informa o seu login e senha para acessar o sistema
Pré-condição: Dados de acesso
Cursos de Eventos Básicos
Ação do Ator Resposta do sistema
1. Acesso ao sistema. 2. O sistema pede ao usuário login e senha.
3. O usuário informa seu login e senha e 4. O sistema valida os dados do usuário e
confirma suas permissões.
5. O usuário pode acessar como
administrador ou orçamentista
Curso Alternativo
Caso as informações do usuário não estejam corretas tem a opção de lembrar a senha.
Pós-condição
O usuário pode acessar o dashboard, atualizar o seu perfil e dependendo de suas permissões no
sistema gerenciar vários outros cadastros do sistema
Permissões de Acesso
Use Cases Orçamentista Administrador
Gerenciar Insumos X X
Gerenciar Composição X X
Gerenciar Orçamento X X
Gerenciar Etapas X X
Gerenciar Obras X X
Gerenciar Clientes X X
Gerenciar Base de Insumo X X
Gerenciar Base de Preço X X
Gerenciar Usuários X
Gerenciar Grupos de Usuários X
Gerenciar Permissões Usuários X
Fonte: Autor (2019)
67

Quadro 5: Descrição do caso de uso Cadastrar Insumo

Use case: Cadastrar Insumo


Descrição: O usuário informa os dados do insumo.
Pré-condição: Estar autenticado no sistema
Cursos de Eventos Básicos
Ação do Ator Resposta do sistema
1. Acesso a página de cadastro de insumo 2. O sistema permite o usuário informar os
dados de insumos
3. O usuário informa os dados para o 4. O sistema verifica os campos
cadastro de insumos obrigatórios
5. O sistema retorna uma mensagem para o
usuário informando que inseriu com
sucesso, ou informa o usuário que
existem dados inconsistentes.
Curso Alternativo
Cancelar a operação de voltar ao Dashboard do sistema
Pós-condição
É redirecionada a página de gerenciamento de Insumo.
Fonte: Autor (2019)

Quadro 6: Descrição do caso de uso Cadastrar Composição

Use case: Cadastrar Composição


Descrição: O usuário informa os dados da composição.
Pré-condição: Estar autenticado no sistema
Cursos de Eventos Básicos
Ação do Ator Resposta do sistema
1. Acesso a página de cadastro de 2. O sistema permite o usuário informar os
composição. dados da composição
3. O sistema permite o usuário consultar
insumos
4. O sistema permite o usuário consultar
composições
5. O usuário informa o coeficiente do 6. O sistema retorna uma mensagem para o
insumo ou composição filhos para serem usuário informando que inseriu com
incluídos como itens da composição sucesso, ou informa o usuário que
existem dados inconsistentes.

Curso Alternativo
Cancelar a operação de voltar ao Dashboard do sistema
Pós-condição
É redirecionada a interface de gerenciamento de composição.
Fonte: Autor (2019)
68

Quadro 7: Descrição do caso de uso cadastrar orçamento

Use case: Cadastrar Orçamento


Descrição: O usuário informa os dados do orçamento
Pré-condição: Estar autenticado no sistema
Cursos de Eventos Básicos
Ação do Ator Resposta do sistema
1. Acesso a página de cadastro orçamento 2. O sistema permite o usuário informar os
dados de orçamento
3. O sistema permite o usuário consultar um
cliente.
4. O sistema permite o usuário consultar
uma obra para o orçamento
5. O usuário informa os dados do 6. O sistema retorna uma mensagem para o
orçamento usuário informando que inseriu com
sucesso ou informa o usuário que
existem dados inconsistentes.
Curso Alternativo
Cancelar a operação de voltar ao Dashboard ou Acessar a página de cadastro de itens do
orçamento.
Pós-condição
É redirecionada a interface de gerenciamento de orçamento
Fonte: Autor (2019)

Quadro 8: Descrição do caso de uso Cadastrar Itens do Orçamento

Use case: Cadastrar Itens do Orçamento


Descrição: O usuário informa os itens do orçamento
Pré-condição: Ter um orçamento cadastrado e estar autenticado no sistema
Cursos de Eventos Básicos
Ação do Ator Resposta do sistema
1. Acesso a página de cadastro de Itens 2. O sistema permite o usuário
do orçamento cadastrar etapas do orçamento
3. O sistema permite o usuário
pesquisar e selecionar insumos ou
composições.
4. O usuário informa a quantidade do 5. O sistema retorna uma mensagem
serviço escolhido para o usuário informando que
inseriu com sucesso ou informa se
existe dados inconsistentes.
Curso Alternativo
Cancelar a operação de voltar ao Dashboard do sistema
Pós-condição
É redirecionada a interface de gerenciamento de orçamento
Fonte: Autor (2019)

Вам также может понравиться