Seja Premium

PIM IV - IMPLEMENTAÇÃO DE SISTEMA EM LINGUAGEM C PARA BILHETERIA DE TEATRO

Crie agora seu perfil grátis para ler sem restrições.

Você viu 3 do total de 18 páginas deste material

Prévia do material em texto

UNIP EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROJETO DE IMPLEMENTAÇÃO DE SISTEMA EM LINGUAGEM C PARA 
BILHETERIA DE TEATRO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
POLO PARAISO 
2019 
 
 
UNIP EaD 
Projeto Integrado Multidisciplinar 
Cursos Superiores de Tecnologia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROJETO DE IMPLEMENTAÇÃO DE SISTEMA EM LINGUAGEM C PARA 
BILHETERIA DE TEATRO 
 
 
 
 
 
NOME: Carlos Henrique Gruthner Junior 
RA: 1911504 
NOME: José Alexandre da Costa Galvão 
RA: 1911891 
NOME: Maicon Camilo 
RA: 1909398 
NOME: Uellington de Jesus Pinto 
RA: 1918744 
NOME: Vinicius Pormann Barroso 
RA: 1937070 
NOME: Willian Santos Silva 
RA: 1914001 
CURSO: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
SEMESTRE: 2º 
 
 
POLO PARAISO 
2019 
 
 
 
RESUMO 
 
A automação dos processos, por meio da implementação de programas 
computacionais, tem sido utilizada por diversas instituições públicas e privadas, a 
fim de se obter mais agilidade e segurança na entrega do seu produto final ao 
usuário. Diante deste cenário, abordou-se neste projeto de pesquisa a criação de 
um sistema de venda de ingressos de teatro em Linguagem C com base nos 
conteúdos das disciplinas de Linguagem e Técnica de Programação e Engenharia 
de Software I cursadas neste bimestre, no qual são apresentados os argumentos e 
discussões acerca do ciclo de vida utilizado no desenvolvimento do software 
(modelo incremental); o fluxograma de desenvolvimento do programa e respectivo 
código, especificando os diferentes cenários como: tipo e quantidade de ingressos 
(inteira, meia-entrada, isenta e gratuita), hora e data do espetáculo, fechamento do 
caixa, além de discriminar espetáculos com temas especiais voltados para crianças 
carentes com entrada franca todas às terças-feiras. 
 
 
Palavras-chaves: Linguagem C, fluxograma, modelo incremental. 
 
 
 
 
 
 
 
 
 
ABSTRACT 
 
Process automation, through the implementation of computer programs, has 
been used by several public and private institutions, in order to obtain more agility 
and security in the delivery of its final product to the user. Given this scenario, this 
research project addressed the creation of a C-language theater ticket sales system 
based on the contents of the Language and Technique of Programming and 
Software Engineering I courses in this quarter, in which they are presented, the 
arguments and discussions about the life cycle used in software development 
(incremental model); the program development flowchart and its code, specifying the 
different scenarios such as: type and quantity of tickets (full, half-ticket, free and 
free), show time and date, cashier closure, and discriminate shows with themes 
Specials for needy children with free admission every Tuesday. 
 
Keywords: C language, flowchart, incremental model. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SUMÁRIO 
 
1 INTRODUÇÃO 5 
2. LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO 6 
2.1 Linguagem 6 
2.2 Fluxograma 6 
2.3 Desenvolvimento do sistema 8 
3 CICLO DE VIDA 12 
3.1 Incremental 12 
3.2 Etapas de um ciclo incremental 12 
4 COMUNICAÇÃO 12 
4.1 Técnicas de reunião walkthrough 12 
5 PROJETO DE SISTEMA DE VENDAS DE INGRESSO PARA TEATRO 13 
5.1 Levantamento de requisitos de sistema 13 
5.2 Incremento 1 13 
5.3 Incremento 2 14 
5.4 Incremento 3 14 
5.5 Incremento 4 15 
6 CONCLUSÃO 16 
REFERÊNCIAS BIBLIOGRÁFICAS 17 
 
 
 
 
 
 
 
 
 
5 
 
1 INTRODUÇÃO 
 
Atualmente a automação dos processos nas organizações públicas e 
privadas tem se tornado cada vez necessária para que seus objetivos sejam 
alcançados de forma mais rápida, segura, com baixo custo e principalmente seu 
cliente final fique satisfeito com o produto recebido. Para isso, o uso da tecnologia 
da informação, por meio da implementação de programas de computadores, cada 
vez mais sofisticados, tem colaborado na otimização desses processos. 
Neste contexto, o presente projeto de pesquisa aborda o desenvolvimento de 
um sistema de venda de ingressos de teatro em linguagem C, utilizada na disciplina 
de Linguagem e Técnica de Programação, como parte prática do trabalho. Nele, 
são considerados a tabela de valores dos ingressos, com os seus diferentes tipos 
(inteira, meia-entrada e gratuita). Além de especificar na tela de um monitor, após a 
concretização da compra, um ticket com a data, a hora, o nome do espetáculo 
teatral e o número da poltrona, tomando-se o cuidado de nenhum espectador ter 
um ingresso com o mesmo número da poltrona de outro espectador da mesma peça 
teatral de um determinado horário e, com a indisponibilidade de lugares, o sistema 
não permite a venda de ingressos para a peça em questão. Por fim, o programa, 
termina com a gestão do caixa, informando seu fechamento com as movimentações 
do dia e o saldo final. 
A parte teórica envolve a apresentação dos argumentos e discussões em 
relação ao uso de processos de software (ciclo de vida), tendo como base a 
disciplina de Engenharia de Software I. 
 
6 
 
2. LINGUAGEM E TÉCNICAS DE PROGRAMAÇÃO 
 
2.1 Linguagem 
 
A linguagem C/C++ é bastante utilizada para o desenvolvimento de softwares 
que necessitem de uma certa integração com o hardware, por ser performática e 
permitir um melhor gerenciamento de recursos de máquina e alocação de memória. 
É bastante utilizado na construção de sistemas operacionais, softwares de ERP e 
gerenciamento, e sistemas embarcados, como na plataforma Arduino. 
 
2.2 Fluxograma 
 
Antes de darmos início ao desenvolvimento do sistema, foi elaborado o 
fluxograma para auxiliar nas tomadas de decisão de cada ação dentro do sistema. 
Onde poderíamos ver quais caminhos seguir e validar hipóteses antes de iniciar de 
fato o desenvolvimento. Seguindo um conjunto de símbolos-padrão. 
 
Símbolo Função 
 
Início e fim do algoritmo 
 
Cálculo e atribuição de valores 
 
Entrada de dados 
 
Decisão com possibilidade de desvio 
 
Saída de dados 
 
Fluxo de dados. Conectar blocos. 
 
 
 
 
 
7 
 
 
 
8 
 
2.3 Desenvolvimento do sistema 
 
Para o desenvolvimento utilizamos a linguagem C++, por ser uma 
atualização da linguagem C e conter alguns métodos a mais, como os testes 
booleanos que precisamos para as funções de laço. O método de desenvolvimento 
foi o incremental, possibilitando que o cliente aprove cada parte do sistema antes 
que o mesmo fique concluído, diminuindo o risco de grandes implementações 
futuras. 
 
O software foi dividido em dois módulos. O primeiro módulo é reservado para 
vendas, e o segundo para fechamento de caixa. 
 
Figura 1 – Tela inicial: 
 
Fonte: Autoria Própria. 
 
 Dentro do primeiro módulo, temos as opções de compra para o espetáculo. 
 
Figura 2 – Tela de escolha do dia da semana: 
 
Fonte: Autoria Própria. 
 Nesse momento, o atendente escolhe o dia da semana, após escolhido o 
dia, será exibido todos os espetáculos em cartaz. 
 
9 
 
Figura 3 – Tela com as informações sobre os espetáculos em exibição. 
 
Fonte: Autoria Própria. 
Após escolher o espetáculo de preferência, deverá ser apresentado as 
opções de quantidade de entradas para cada faixa etária. O programa calcula 
automaticamente os valores e descontos inclusos. 
Figura 4 – Tela de cálculo de entradas e descontos. 
 
Fonte: Autoria Própria. 
Logo, é apresentado a tela de escolhas de poltronas numeradas e 
separadas para cada usuário. 
 
10 
 
Figura 5 – Escolha de Poltronas 
 
Fonte: Autoria Própria. 
Logo após, a escolha de todos os dados, é apresentado a tela com 
confirmação e valor total da compra. Ao confirmar é apresentado o comprovante 
da compra. 
Figura 6 – Tela de confirmação da compra. 
 
Fonte: Autoria Própria. 
Figura 7 – Tela de comprovante da compra realizada. 
 
 Fonte: Autoria Própria. 
11 
 
Dentro do segundo módulo, é apresentado a tela de fechamento do caixa, 
que mostra o cálculo do total de todas ascompras realizadas. 
Figura 8 – Tela de fechamento do caixa de vendas. 
 
Fonte: Autoria Própria. 
Após ser usado todas as funções desejadas e não sendo mais preciso 
utilizar do programa, basta escolher o terceiro módulo, onde irá pedir confirmação 
de saída. Confirmando a saída é apresentado a dela de desenvolvimento, basta 
pressionar qualquer tecla para finalizar o programa. 
Figura 9 – Tela de finalização. 
 
Fonte: Autoria Própria. 
Figura 10 – Tela de autoria. 
 
Fonte: Autoria Própria. 
 Caso queira acessar o código-fonte do projeto acesse: 
https://github.com/dev-williansilva/Sistema_Teatro. 
https://github.com/dev-williansilva/Sistema_Teatro
12 
 
3 CICLO DE VIDA 
 
3.1 Incremental 
 
Para o desenvolvimento do sistema de vendas de ingressos para teatro, foi 
adotado o modelo Incremental. Este modelo permite a divisão do projeto total em 
vários ciclos menores possibilitando que o cliente aprove um ciclo para que seja 
dada continuidade ao projeto para o próximo ciclo diminuindo assim o risco de 
grandes implementações futuras, pois se o cliente quiser uma mudança neste ciclo 
do projeto, é mais fácil e rápido a sua correção. É possível também que mais de um 
ciclo do projeto seja feito ao mesmo tempo dividindo equipes para outros ciclos do 
projeto sendo desenvolvido em paralelo. 
Dentro de um ciclo existem algumas etapas que devem ser executadas para 
se concluir um ciclo e seguir para o próximo. 
 
 
3.2 Etapas de um ciclo incremental 
 
Comunicação: onde é feito o levantamento de requisitos do sistema, a 
comunicação entre os desenvolvedores e o cliente é muito importante. 
Planejamento: onde é definido um plano para o desenvolvimento do 
sistema, os recursos necessários, produto a ser produzido, descrição de possíveis 
riscos. 
Modelagem: onde pode-se criar modelos como protótipos de telas do 
sistema para que tanto os desenvolvedores como o cliente possam entender melhor 
os requisitos para o sistema. 
Construção: consiste em gerar códigos e fazer testes para eliminar erros. 
Implantação: nesta etapa o cliente recebe o produto para fazer a avaliação 
e dar um retorno da mesma. 
Cada conjunto dessas etapas formam um ciclo que nada mais é que um 
pedaço do sistema que vão sendo agrupados, temos assim o modelo incremental 
para que no final se tenha um sistema completo. 
 Devido a essa flexibilidade o modelo incremental foi adotado para o 
desenvolvimento deste projeto. 
 
4 COMUNICAÇÃO 
 
E para que a equipe tenha um bom desempenho no projeto, uma boa 
comunicação é sempre importante e para isso foi atribuído a técnica de reunião 
Walkthrough. Essa técnica visa melhoria tanto na qualidade do sistema quanto no 
conhecimento de seu conteúdo. 
 
4.1 Técnicas de reunião walkthrough 
 
Esse tipo de reunião pode ser aplicado em diversos momentos do 
desenvolvimento do projeto e em diversas etapas como levantamento de 
informações, revisões técnicas etc. É uma técnica considerada mais informal com 
objetivo de manter a qualidade do projeto e que todos os presentes tenham o 
conhecimento do conteúdo do projeto. Pode-se dizer que é um tipo de reunião com 
cara de revisão realizada em pares ou em grupo, é uma prática simples e bem aceita 
para a melhoria da qualidade do projeto. 
13 
 
 
 
5 PROJETO DE SISTEMA DE VENDAS DE INGRESSO PARA TEATRO 
 
5.1 Levantamento de requisitos de sistema 
 
Em reunião com o cliente foram levantados os requisitos para o sistema. O 
Sistema deverá levar em consideração uma tabela de valores dos ingressos que 
são: 
 
Figura 11 – Valores para os ingressos 
 
Fonte: autoria própria 
 
Ao efetuar a compra do ingresso, o sistema deverá mostrar em tela um ticket 
com a data, a hora, a peça teatral e o número da poltrona. 
Nenhum espectador pode ter o mesmo número de poltrona de outro 
espectador da mesma peça teatral no mesmo horário. 
Informar quando não houver mais lugares disponíveis e não permitir mais a 
venda para a peça em questão. 
O sistema deverá fazer a gestão do caixa informando no fechamento todas 
as movimentações do dia e o saldo do fechamento. 
 
5.2 Incremento 1 
 
- Comunicação: após reunião ficou acertado a entrega da tela de menu e o 
catálogo de espetáculos juntamente com a lógica de seleção dos ingressos. 
- Planejamento: será utilizado 1 computador com a plataforma DevC++ 
instalada para o desenvolvimento dessa parte do projeto. Foi estabelecido uma tela 
inicial do sistema com o nome do teatro e um menu com as opções de Espetáculos, 
Fechamento de caixa e sair do sistema, e a tela com o catálogo de espetáculos. 
- Modelagem: neste ponto foi criado um modelo de tela para que tanto os 
desenvolvedores como o cliente tivesse uma ideia melhor dos requisitos do sistema. 
Algumas correções foram feitas e tivemos um melhor resultado. 
 
14 
 
Figura 12 – Frame ilustrando o menu principal da aplicação 
 
Fonte: autoria própria 
 
- Construção: nesta etapa começa a geração de código feita na linguagem 
C usando a plataforma DevC++ e testes são feitos para correção de possíveis erros 
que podem ocorrer no código, efetuando os testes a tela inicial e o menu estando 
em funcionamento passamos para fase de implantação. 
- Implantação: o sistema foi entregue ao cliente que avaliou, testou e 
aprovou tudo que foi entregue e ficou decidido que a interface com fundo preto seria 
padrão do sistema. 
 
 
5.3 Incremento 2 
 
- Comunicação: neste ponto ficou acertado a entrega da seleção do ingresso 
definido por seu tipo e a forma da escolha das poltronas. 
- Planejamento: 2 computadores foram definidos nesta etapa do projeto, a 
equipe foi dividida em duas, a primeira vai desenvolver a escolha da peça teatral e 
o tipo de ingresso, foi definido ter a opção de se escolher o dia da semana e em 
seguida uma tabela com as peças teatrais em exibição constando o código, nome, 
sala, preço, horários e lugares vagos, e em seguida a opção para quantidade de 
ingressos para cada tipo disponível, e a outra equipe vai desenvolver a forma como 
será feita a escolha das poltronas e ficou definido que ao lado de cada número de 
poltrona terá a letra ‘o’ para ocupado, ‘v’ para lugar vago e ‘s’ para uma poltrona 
selecionada. 
- Modelagem: já com a interface definida anteriormente no incremento 1, 
foram apresentadas ao cliente as modelagens de tela para a ideia da apresentação 
dos requisitos, com algumas melhorias da interface. 
- Construção: nesta etapa começa a geração de código feita na linguagem 
C usando a plataforma DevC++ e testes são feitos para correção de possíveis erros 
que podem ocorrer no código, efetuando os testes foram detectados erros e os 
mesmos corrigidos para apresentação ao cliente. 
- Implantação: o sistema foi entregue ao cliente que avaliou, testou e 
aprovou tudo que foi entregue, sendo assim passamos para a próxima etapa. 
 
5.4 Incremento 3 
 
15 
 
- Comunicação: aqui ficou acertado a lógica do cálculo do valor dos 
ingressos para cada tipo de ingresso juntamente com a impressão em tela dos 
tickets e a finalização da compra. 
- Planejamento: a equipe foi dividida em duas, uma cuidando da parte dos 
cálculos para cada tipo de ingresso onde se tem 3 opções, entrada com 50% de 
desconto, entrada com 100% de desconto e entrada com preço cheio, conforme a 
opção escolhida o sistema realiza os cálculos e armazena seus valores que também 
serão utilizados no próximo incremento conforme os requisitos, e em seguida é 
solicitado a confirmação da compra, a outra equipe vai desenvolver a exibição em 
tela do ticket da compra efetuada dispondo de data, a hora, a peça teatral e o 
número da poltrona. 
- Modelagem: nesta etapa foram criadas modelos de telas para que tanto os 
desenvolvedores como o cliente definissem melhor a ideia dos requisitos do 
sistema. Algumas correções foram feitas após o cliente, junto aos desenvolvedores 
chegarem a uma decisão, e tivemos um melhor resultado com as telas a seguir: 
 
-Construção: os desenvolvedores nesta etapa começam a construção do 
código feitona linguagem C usando a plataforma DevC++, testes são feitos para 
correção de possíveis erros que podem ocorrer no código, efetuando os testes 
foram detectados erros, o código foi refatorado e submetido a novos testes até estar 
com as funcionalidades fluindo corretamente. 
- Implantação: o incremento foi entregue ao cliente que avaliou, testou e 
aprovou tudo que foi entregue e sugeriu algumas pequenas mudanças no projeto 
que foram anotadas para serem discutidas em uma reunião, sendo assim passamos 
para a próxima etapa. 
 
5.5 Incremento 4 
 
- Comunicação: neste incremento ficou acertado a lógica para o fechamento 
de caixa, contabilizando os ingressos e o valor total arrecadado. 
- Planejamento: nesta etapa final do projeto a equipe se dividiu em duas, 
uma equipe ficou aplicando vários testes no código de todos os incrementos 
anteriores para descoberta de possíveis erros e refatoração do código para 
melhorias e para implementações futuras, a outra equipe cuidou de desenvolver o 
fechamento do caixa exibindo em tela todos os tipos de ingressos vendidos e as 
suas quantidades bem como o valor total de cada tipo vendido e o valor total de 
vendas no dia. 
- Modelagem: após a seleção no menu principal para fechamento de caixa 
é exibida a tela com as informações para cada tipo de ingresso e as quantidades 
vendidas e seus valores e o total do caixa. 
- Construção: após a definição da tela o código é desenvolvido na linguagem 
C usando a plataforma DevC++, testes são realizados pequenos erros corrigidos e 
o incremento segue para ser apresentado ao cliente. 
- Implantação: o cliente recebeu a parte final do sistema, testou, avaliou e 
solicitou algumas pequenas melhorias que não iria atrapalhar o funcionamento do 
sistema, os desenvolvedores se reuniram com o cliente e implementaram as 
pequenas melhorias solicitadas no mesmo dia, mantendo a qualidade do sistema e 
a satisfação do cliente. 
 
16 
 
6 CONCLUSÃO 
 
Neste Projeto integrado Multidisciplinar foi desenvolvido um Software para 
vendas de ingressos para teatro, abordando desde a linguagem e técnicas de 
programação utilizados, como os processos utilizados para o seu 
desenvolvimento. 
O Projeto foi desenvolvido em linguagem C/C++ com a utilização de 
bibliotecas com a plataforma DevC++ para a codificação e compilação do mesmo. 
Em um fluxograma apresentado mostra-se uma ideia geral do funcionamento do 
software. O método incremental foi adotado para facilitar o desenvolvimento 
através de ciclos onde o software é dividido em partes (incrementos), onde em 
cada incremento desenvolvido passa por etapas pré-definidas de comunicação, 
planejamento, modelagem, construção e implantação. 
A comunicação da equipe de desenvolvedores e o cliente é uma parte 
muito importante, para isso juntamente com o modelo incremental foi utilizada a 
técnica de reunião Walkthrough, um tipo de reunião que pode ser realizada em 
qualquer etapa do projeto com um estilo mais informal, prática e simples bem 
aceita em projetos. 
A conclusão é que o modelo incremental realmente ajuda muito no 
desenvolvimento, dando a possibilidade de corrigir erros por partes de cada ciclo 
concluído, e possibilitando a divisão da equipe de desenvolvedores em partes 
diferentes do projeto mantendo o prazo de entrega e a qualidade do software. 
Entendemos também a importância da comunicação entre desenvolvedores e 
cliente através das reuniões, mantendo sempre o cliente participativo, nos 
direcionando conforme os requisitos fossem agregados, finalizando a entrega de 
um software de qualidade de acordo com os requisitos do cliente. 
17 
 
REFERÊNCIAS BIBLIOGRÁFICAS 
 
COSTA, Ivanir. Engenharia de software. São Paulo: Editora Sol, 2014. 
 
IVO, Olavo. Linguagem e técnicas de programação. São Paulo, 2014.