Desenvolver um sistema em linguagem C para venda de ingressos de teatro
Tipo de documento:Revisão Textual
Área de estudo:Tecnologia da informação
Desenvolvimento Ágil 6 2. Modelagem 8 2. Metodologia 9 2. Escopo 9 2. Modelagem 10 2. DESENVOLVIMENTO Ao se deparar com os requisitos, destacamos como finalidade principal do projeto a venda de ingressos. Para chegar até o cenário de se vender um ingresso uma série de etapas anteriores deve ser realizada, tal como capacidade de assentos do teatro, peças em cartaz, valor dos ingressos, entre outros. Para melhor compreender os passos a seguir e tomar uma orientação que elucidasse como realizar esse projeto adotou-se a engenharia de software como norteadora. Diante desse cenário, com o intuito de buscar embasamento teórico e fundamentar o conhecimento produzido foi realizada pesquisas acadêmicas nos temas relacionados ao assunto como também um levantamento das diferentes soluções de desenvolvimento de sistemas de mercado fornecidas atualmente. Revisão Bibliográfica Neste capítulo serão abordados aspectos da engenharia de software de interesse para este trabalho, como modelo de processo, Desenvolvimento Ágil e Modelagem.
Cada um desses modelos sugere um fluxo de processos ligeiramente diferente, mas todos realizam o mesmo conjunto de atividades metodológicas genéricas: comunicação, planejamento, modelagem, construção e emprego. Os modelos de processo sequenciais, tais como o de cascata e o modelo V, são os paradigmas da engenharia de software mais antigos. Eles sugerem um fluxo de processos linear que, frequentemente, é inadequado para considerar as características dos sistemas modernos (por exemplo, contínuas alterações, sistemas em evolução, prazos apertados). Entretanto, eles têm, realmente, aplicabilidade em situações em que os requisitos são bem definidos e estáveis. Modelos de processos incremental são iterativos por natureza e produzem rapidamente versões operacionais do software. Organizada em quatro atividades metodológicas, planejamento, projeto, codificação e testes, a XP sugere um número de técnicas poderosas e inovadoras que possibilitam a uma equipe ágil criar versões de software frequentemente, propiciando recursos e funcionalidade estabelecidos anteriormente, e, então, priorizando os envolvidos.
Outros modelos de processos ágeis também enfatizam a colaboração humana e a auto-organização das equipes, mas definem suas próprias atividades metodológicas e selecionam diferentes pontos de ênfase. Por exemplo, segundo (HIGHSMITH, 2000) ASD usa um processo iterativo que incorpora um planejamento cíclico iterativo, métodos de levantamento de requisitos relativamente rigorosos, e um ciclo de desenvolvimento iterativo que incorpora grupos focados nos clientes e revisões técnicas formais como mecanismos de feedback em tempo real. De acordo com (SCHWABER, 2001) O Scrum enfatiza o uso de um conjunto de padrões de software que se mostrou efetivo para projetos com cronogramas apertados, requisitos mutáveis e aspectos críticos de negócio. Cada padrão de processo define um conjunto de tarefas de desenvolvimento e permite à equipe Scrum construir um processo que se adapta às necessidades do projeto.
Quanto ao processo, os princípios essenciais estabelecem uma base filosófica que orienta a equipe durante essa fase de desenvolvimento. Quanto ao nível relativo à prática, os princípios estabelecem uma série de valores e regras que servem como guia ao se analisar um problema, projetar uma solução, implementar e testar uma solução e, por fim, disponibilizar o software para a sua comunidade de usuários. Princípios de comunicação enfatizam a necessidade de reduzir ruído e aumentar a dimensão conforme o diálogo entre o desenvolvedor e o cliente progride. Ambas as partes devem colaborar para que ocorra a melhor comunicação. Princípios de planejamento proporcionam roteiros para a construção do melhor mapa para a jornada rumo a um sistema ou produto completo.
O suporte exige preparação antecipada. Feedback permite ao cliente sugerir mudanças que tenham valor agregado e fornecer ao desenvolvedor informações para o próximo ciclo de engenharia de software. Metodologia O desenvolvimento do presente trabalho que consiste na elaboração de um sistema de vendas de ingressos para um teatro empregou o método AUP, com o propósito de buscar conhecimento e alcançar os objetivos propostos. O AUP é uma versão simplificada do RUP (Rational Unified Process). Descreve uma abordagem simples e fácil de entender para o desenvolvimento de aplicações de software de negócio usando técnicas ágeis e conceitos do RUP. tdm-gcc. tdragon. net/). Modelagem No Processo Unificado Ágil (Agile Unified Process – AUP) a modelagem consiste de representações UML do universo do negócio e do problema, contudo segundo (AMB 2006) para permanecerem ágil estas representações devem ser suficientemente boas e adequadas.
Apesar da modelagem UML está fortemente relacionada com o conceito de objetos e por isso está muito próxima das linguagens orientadas a objetos, ela permite distinguir as principais entidades do sistema e seus relacionamentos. Foram criadas duas estruturas auxiliares para armazenamento da data hora da sessão de exibição da peça e outra estrutura para armazenar os valores dos diferentes tipos de ingresso (inteira e meia). Telas do Sistema A interface inicial do sistema da Figura 3 apresenta 6 (seis) opções ao usuário: 1. Configuração do Sistema: Nessa opção o usuário define as variáveis de operação do sistema como capacidade de lotação do teatro e valores dos ingressos na modalidade inteira e meia. Adicionar Cartaz: Nessa opção o operador do sistema insere quantas peças estão em cartaz e os principais dados delas como data de exibição, nome, sessão (horário que será exibida) 3.
Exibir Cartaz: Opção que exibe todas as peças que foram adicionadas ao cartaz que estão em exibição (pode-se vender ingressos) 4. Fonte - Próprio autor, 2019. Adicionar Cartaz Na opção de Adicionar Cartaz é solicitado primeiramente o fornecimento da quantidade de peças que serão adicionadas e sequencialmente o preenchimento de cada uma das informações da peça conforme ilustrado na Figura 6. Figura 6 - Tela de cadastro de peças. Fonte - Próprio autor, 2019. Exibir Cartaz A tela de Exibição de Cartaz (Figura 7) exibe todas as peças em exibição e suas principais informações em ordem de inserção, cada peça possui um identificador global único que a distingue no sistema. Fonte - Próprio autor, 2019. Figura 11 -Tela de compra de ingressos.
Fonte - Próprio autor, 2019. Depois de realizada a compra conforme requisito do projeto o sistema imprime o ticket com as informações da peça (Figura 12). Figura 12 -Tela de compra de ingressos. Tanto a carteira nacional do estudante como a carteira nacional do professor são formadas por uma sequencia de 12 dígitos sendo os dois primeiros letras do alfabeto e os 10 seguintes dígitos decimais. Como não temos acesso ao algoritmo de validação dessa sequência de caracteres só foi possível validar o layout (Figura 14), ou seja, se o tamanho é 12 e da forma [a-Z][a-Z] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]. Figura 14 - Código fonte para validação do número da Carteira Nacional do Professor. Fonte - Próprio autor.
Outra regra também predefinida é a contemplação de ingresso com 100% de desconto para crianças carente da rede pública de ensino às terças feiras. Fonte - Próprio autor. No código para comparar o ano somamos à variável p_fim->tm_year 1900 que é exatamente a quantidade de anos que tm_year não conta (conta desde 1900 até hoje). Também como o intervalo de mês é de 0 a 11 somamos 1 para que a comparação de mês fique correta. O algoritmo primeiramente calcula a diferença de anos e depois checa o mês pra ver se precisa diminuir o valor uma vez que se o mês de nascimento for menor que o mês atual significa que ainda vai completar aquela idade e que atualmente a idade é a diferença de anos menos 1.
O mesmo acontece quando o mês de aniversário do comprador coincide com o mês do sistema, devemos verificar o dia, se o dia de aniversário do comprador for menor que o dia atual do sistema também devemos subtrair 1 ao cálculo. CONCLUSÃO Este trabalho descreve as atividades de engenharia de software para o desenvolvimento de um sistema de venda de ingressos para teatro. Após vasta pesquisa bibliográfica adotou-se como metodologia o AUP (Agile Unified Process) por ser um meio termo entre o desenvolvimento procedural e o Ágil. Após a compreensão da metodologia e das etapas que deveriam ser implementadas no projeto, foi possível identificar elementos importantes da especificação dos requisitos para modelagem do sistema. A implementação atual do sistema contem pontos de melhoria a destacar que são: melhorar as validações de entrada de console, melhorar a interface com o usuário, adaptar a estrutura de dados para aceitar mais de um teatro, adaptar a estrutura de dados para aceitar que cada teatro tenha mais de uma sala.
No quesito interface gráfica, pesquisou-se bastante o ncurses que funciona bem em máquinas Linux, Unix e sua implementação para o Windows o lpcurses, foram feitos alguns testes de interface que deixaram o sistema bem amigável, mas o código completamente ilegível. Disponível em: <www. ambysoft. com/ unifiedprocess/agileUP. html>. Acesso em: 10/10/2019. FELSING, J. A Practical Guide to Feature Driven Development, 1st ed. Prentice Hall, 2002, 304 p. SCHWABER, K. BEEDLE, M.
3728 R$ para obter acesso e baixar trabalho pronto
Apenas no StudyBank
Modelo original
Para download
Documentos semelhantes