Exercício F03 – Planejador de Velório
O exercício proposto agora continuará o trabalho com a biblioteca de componentes gráficos Windows Forms. Seu objetivo será criar uma interface que permita o planejamento de um evento de velório.
A mesma interface também deverá ser criada na versão Web de maneira simplificada.
Objetivos
- Conhecer os componentes da biblioteca Windows Forms e entender sua aplicação em uma situação real;
- Aplicar os conceitos de lógica de programação na geração de um frontend gráfico;
- Discutir possibilidades de interação alternativas ao tradicional utilizando, de maneira criativa, os componentes da biblioteca;
- Começar a organizar o código de maneira que fique fácil a interação de uma interface cliente com um servidor.
Referências
- Lista de referências sobre os componentes Windows Forms;
- Documentação Windows Forms do MSDN;
- Exemplos de uso de cada um dos componentes – versão 0.1;
- Canivete .Net 2009;
- Sobre a biblioteca jQuery UI.
Procedimento
Você criará uma interface que permita o planejamento de um evento de velório em seu projeto de cemitério. Nesta interface, o “futuro cliente” do velório deverá planejar o evento como um todo: localização de seu velório, tempo total, decoração e posicionamento dos convidados mais importantes. Outra opção será o planejamento do velório de um parente recém-falecido.
Assim, duas interfaces deverão ser geradas: a primeira, construída para Desktop deve ter uma responsividade rápida e ser focada, necessariamente à interação em totens e planejamento de um evento imediato de um parente. A segunda, voltada para Web, deve ser rápida e simples de usar, sendo mais aplicável a um planejamento individual a longo prazo.
O algoritmo de cálculo de preço deverá ser criado em uma biblioteca de classes (class library) que será compartilhada pelas duas interfaces.
Importante: não será necessário e nem desejável a persistência de qualquer dado ou configuração de seu sistema, ou seja, quando o programa for fechado toda a simulação é perdida!
Sugere-se fortemente o uso da biblioteca jQuery para criação da versão Web de seu sistema. Outra sugestão: se desejar uma interface um pouco mais rica e alguns controles prontos associados ao jQuery, use também o seu complemento jQuery UI. Em anexo, apresentação referente ao jQuery UI. Você tem a liberdade, porém, de usar qualquer outro framework para sua interface Web ou mesmo usar “JavaScript puro”.
1) O primeiro passo é a escolha do local do evento. O cliente deverá selecionar dentre um conjunto de opções possíveis qual é o auditório / espaço que gostaria que a cerimônia fosse realizada. Cada local possui restrições diferentes quanto ao formato do local, lotação máxima e flexibilidade da disposição dos objetos. Por exemplo, podem existir locais com formato retangular como uma sala, outros com formato arredondado como um teatro, etc. A lotação máxima pode variar também dependendo do ambiente. Alguns locais podem ter objetos fixos como poltronas fixas. Outros podem ter objetos que podem ser movidos como cadeiras.
O usuário deve ter a opção de escolher um local dentre 5 opções diferentes. Cada opção tem um preço diferente.
2) Em alguns tipos de ambiente podem ser apresentados objetos móveis como: púlpitos, cadeiras, mesas, elementos de decoração (flores, tapetes, velas), Outros elementos são fixos e não podem ser movidos. Os objetos móveis podem ter sua posição planejada. Há porém, algumas restrições:
- um objeto não pode ocupar o lugar de outro;
- dependendo do objeto, deve-se manter uma distância mínima do falecido, que também, dependendo do ambiente, deve ser possível de movimentação;
- alguns objetos são incompatíveis em um mesmo ambiente. Por exemplo, flores de cores diferentes, tapetes de cores diferentes, etc;
- há um limite na quantidade de alguns objetos;
A quantidade de objetos disponíveis também é determinante do preço final. Há também alguns objetos opcionais.
Devem existir pelo menos 7 tipos diferentes de objetos.
3) Por fim, o usuário deverá listar os principais convidados e parentes do evento. Esta lista deve ser usada para:
- Definir o assento (cadeira, poltrona, etc) de alguns convidados mais importantes;
- Indicar a ordem e horário de discursos.
4) Exceto no caso da lista de convidados, qualquer modificação provoca uma alteração no preço. Esta alteração deve sempre estar visível na interface e atualizada automaticamente a partir de qualquer mudança.
Critérios de Correção
O seu programa, nesta fase, estará sendo avaliado em relação aos seguintes critérios:
- Atendimento aos requisitos acima;
- Uso dos componentes padrão disponíveis no Visual Studio / jQuery que encaixem melhor em cada situação;
- Semelhança da interface na versão Web e na versão Desktop;
- Originalidade na criação da interface;
- Criatividade nas possibilidades de interação;
- Facilidade de uso;
- Validações de dados simples;
- Centralização do algoritmo de cálculo do custo em uma class library;
- Código-fonte sem cópias de colegas ou de códigos da Internet/livros sem uma citação clara.
Os seguintes critérios não terão importância nesta avaliação, porém serão discutidos nas avaliações posteriores:
- Organização do código usando as patterns mais adequadas para cada situação;
- Rigidez na criação das classes e otimização de código;
- Criação de novos componentes;
- Aderência das regras de negócio em relação a situações reais;
- Validações de dados complexas.
Defesa e Entrega
Este projeto deverá será entregue até o dia 24/04/2009 - 14:00h. Trabalhos entregues em atraso serão desconsiderados.
No dia 25/04/2009, cada dupla terá três minutos para apresentar e defender o seu trabalho. A ordem de apresentação será fornecida no dia anterior até as 17:00h.
Ponto extra: todos os alunos que entregarem o que já fizeram até o dia 15/04/2009 receberão 0,5 pontos extras na nota final. Nesta entrega, seu projeto pode estar incompleto e com falhas, mas deve transmitir a segurança que você vai conseguir terminá-lo.
Comentários
Pingback de Tecnologia de Programação 1 e 2 (2009) » Dúvidas Trabalho F06
Data: 13 de julho de 2009 Hora: 15:46
[...] A especificação é a mesma do trabalho F03. Obviamente, desta vez, serei mais rígido com o software apresentado tanto no Desktop quanto na [...]
Pingback de Tecnologia de Programação 1 e 2 (2009) » Aula 13 – Dicas para o Exercício F03 – Drag & Drop
Data: 2 de abril de 2009 Hora: 19:13
[...] exercício F03, parcial de nosso sistema de cemitério, tem uma interface bastante elaborada para simular um [...]