Introdução
A Força Aérea Portuguesa, com a sua missão de garantir a defesa do espaço aéreo nacional, tem à sua disposição várias aeronaves com características diversas. A correcta manutenção destas aeronaves é fundamental para o seu uso continuado em segurança. Para este efeito, existem vários engenheiros encarregues da gestão das frotas. Os dados necessários a esta função são bastantes e um sistema digital integrado é necessário. A sua missão é desenhar e implementar o Sistema de Informação para a Gestão Integrada de Frotas (SIGIF). O sistema recebe dados de todas as aeronaves de todas as frotas e o registo de todos os voos.
Estrutura & Organização
- Existem Aeronaves e Voos
- Cada Voo está associado a uma Aeronave
- Dados da Aeronave
- número de cauda
- esquadra
- fabricante & modelo
- número de horas inicial
- Dados de Voo
- data
- número de cauda
- duração
- O programa guarda uma base de dados em formato binário.
Funcionalidades
- Importar dados de ficheiro de texto
- Aeronaves
- Voos
- Listas
- Lista com todas as aeronaves
- Lista com todas as aeronaves de determinada esquadra
- Lista com todos os voos
- Lista com todos os voos de determinada aeronave
- Lista com todos os voos entre 2 datas
- Qualquer uma destas listas pode ser exportada para um fiheiro de texto
- Estatísticas
- Indicar a esquadra com mais horas de voo
- Indicar as 5 aeronaves com mais horas de voo
- Histograma das horas de voo de toda a Força Aérea, por ano (⚠️ para grupos de 4 elementos)
Formato dos ficheiros de texto para importar
Aeronaves
Voos (duração dada em minutos)
Notas
- Caso seja conveniente, podes assumir que nunca existirão mais de 500 aeronaves e 1000 voos em sistema.
- Pode ajudar manter a base de dados dos voos ordenada por data.
- Não usar qualquer biblioteca além das que foram introduzidas nas aulas sem aprovação do docente.
Entrega do trabalho
- O trabalho deve implementar uma aplicação para o problema enunciado. Os ficheiros de código (.c e .h) assim como documentação auxiliar (.txt, .pdf) são submetidos pelo chefe do grupo no Moodle. Ficheiros a submeter:
- todos os ficheiros .c e .h necessários para a compilação e execução do programa;
- todos os ficheiros necessários para a execução do programa (e.g. ficheiros de configuração, devem ser do tipo .txt);
- um manual de utilização MANUAL.pdf com uma descrição simples e curta de como utilizar o programa (é o documento que um utilizador iria ler para aprender a utilizar o programa);
- um relatório REPORT.pdf simples e curto sobre como implementaram as diversas funcionalidades e as decisões que tomaram, e onde se clarifica a estrutura do código (e.g. o ficheiro comandos.c contém as funções que manipulam a lista de comandos, grava a lista em ficheiro; optámos por manter a base de dados dos voos ordenada porque…; a estratégia para exportar os relatórios para ficheiro foi….; etc.);
- Caso necessário, irão ocorrer discussões para defesa dos trabalhos.
Critérios de avaliação
- A avaliação do trabalho será feita de acordo com os seguintes princípios:
- O programa deve estar estruturado em funções consideradas necessárias para a resolução do problema. O programa deve estar dividido em vários ficheiros quando for relevante.
- O programa pode e deve reutilizar código tanto quanto possível e for adequado.
- O programa deve executar todas as funcionalidades tal como pedido.
- Devem ser escolhidos nomes apropriados para os tipos de dados, operações, variáveis e constantes de modo a facilitar o entendimento do programa. A formatação do código é importante.
- O código deve ser comentado. Todas as funções devem ter um breve comentário sobre a sua função, imediatamente abaixo do cabeçalho.
- Devem ser utilizadas as estruturas de dados (e.g. vectores, registos) apropriadas para cada problema.