Exercício F03 – Planejador de Velório

28 março, 2009 (10:17) | exercícios | Por: admin

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

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 locallotaçã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) » 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 [...]

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 [...]

Escreva um comentário