Projetos Práticos

12
Análise e Projeto de Linguagem de Programação 3º Ano do curso de Informática e Gestão de Empresas Projetos práticos obrigatório – 2016 1. Introdução 1.1. Grupos de trabalho O projeto deverá ser realizado por grupos de até 8 elementos. Em paralelo com o lançamento deste enunciado decorre a fase de registo dos grupos de trabalho. O registo dos grupos deverá ser efetuado na sala de aula pelo docente da disciplina. 1.2. Objetivos do trabalho 1.3. Avaliação do trabalho 1.4. Entrega do trabalho 2. Enunciado 3. Grupo: Estação de serviço NaHora 4. Objetivos 5. Grupo: Estação de serviço NaHora 6. Objetivos 7. Grupo: Estação de serviço NaHora 8. Objetivos

description

Projetos Práticos

Transcript of Projetos Práticos

Análise e Projeto de Linguagem de Programação

3º Ano do curso de Informática e Gestão de Empresas

Projetos práticos obrigatório – 20161. Introdução1.1. Grupos de trabalho

O projeto deverá ser realizado por grupos de até 8 elementos.Em paralelo com o lançamento deste enunciado decorre a fase

de registo dos grupos de trabalho. O registo dos grupos deverá ser efetuado na sala de aula pelo docente da disciplina.

1.2. Objetivos do trabalho1.3. Avaliação do trabalho1.4. Entrega do trabalho2. Enunciado3. Grupo: Estação de serviço NaHora4. Objetivos5. Grupo: Estação de serviço NaHora6. Objetivos7. Grupo: Estação de serviço NaHora8. Objetivos9. Grupo: Estação de serviço NaHora10. Objetivos11. Grupo: Estação de serviço NaHora12. Objetivos13. Grupo: Estação de serviço NaHora14. Objetivos15. Grupo: Estação de serviço NaHora16. Objetivos17. Grupo: Estação de serviço NaHora

18. Objetivos19. Grupo: Estação de serviço NaHora20. Objetivos21. Grupo: Estação de serviço NaHora22. Objetivos23. Grupo: Estação de serviço NaHora24. Objetivos25. Grupo: Estação de serviço NaHora26. Objetivos27. Grupo: Estação de serviço NaHora28. Objetivos29. Grupo: Estação de serviço NaHora30. Objetivos31. Grupo: Estação de serviço NaHora32. Objetivos33. Nota finais

Um processo de modelação de um sistema é também um processo de consulta/discussão e negociação com o cliente final do sistema. Recomenda-se que consultam os docentes da disciplina durantes as diversas fases de elaboração dos modelos tendo em vista a validação dos mesmos.

ObjetivosAnálise, projeto e desenvolvimento de uma pequena aplicação que envolva alguns dos conceitos abordados nas disciplinas de Programação Orientadas aos Objetos, Algoritmos e Estruturas de Dados.O projeto deve ser realizado um grupo (máximo 6 elementos), exta aulas. No final do projeto será acompanhado de um relatório e será apresentado e demonstrado individualmente. Este projeto tem um peso de 40% na nota fina.Nota:

O projeto é de caracter obrigatório pós o exame só terá um peso de 60% na nota final.

Calendários

NormasO trabalho é realizado em grupo de 5 ou 6 estudantes, no entanto, a apresentação e discussão será sempre realizada individualmente.

1. A data final de ENTREGA do projeto é 3 de julho de 2016. No entanto os grupos terão de cumprir as seguintes fases intermedias:

a. Semana de 8.04.16 à 12.04.16: identificação do grupo e descrição informal (mas escrita) do projeto;

b. Semana de 29 de abril a 3 de maio: descrição geral da organização do programa

c. Até 3 de julho de 2016: entrega do trabalhoUm grupo que não cumpra um prazo terá uma penalização de 2 valores na nota final do projeto.Independentemente destes prazos, os grupos deverão ser capazes de, quando o professor o solicitar, responder o esta de desenvolvimento do projeto.A entrega do projeto consta de um relatório (ver estrutura no ponto seguinte), código fonte do programa e executável.

2. A apresentação e discussão do projeto decorrerá na semana de 3 a 7 de junho, em dia e hora a marcar pelo professor em concertação com os estudantes.

3. Cada grupo é responsável por gerir o seu processo de desenvolvimento. Dificuldades e problemas deverão ser comunicados atempadamente ao professor nas aulas práticas.

Relatório de processosRelatório finalO relatório final devera constar a identificação do trabalho e a identificação completa dos estudantes que o realizaram. Este relatório deverá seguir as seguintes recomendações de estrutura:Introdução – identificação e descrição do trabalho e objetivos propostosEstruturas de Dados – Algoritmos – Manuel de Utilizadores – Conclusões – apresentação das dificuldades que foram sentidas na execução do trabalho. Anexos

Sistema para uma biblioteca

A biblioteca a ser automatizada trabalha com os seguintes tipos de obra: livros e periódicos. Para cada periódico são mantidos: nome, volume, mês, ano; para cada livro são mantidos nome, autor, ano de publicação e editora. Você pode pensar em outros atributos caso achar conveniente. A biblioteca possui os seguintes tipos de usuários: alunos, professores e usuários em geral. Todos devem ser cadastrados com seus dados pessoais, entretanto, existem diferentes regras: os professores, por exemplo, possuem um tempo maior para devolução (30 dias) das obras e também podem retirar um número maior delas (três ao mesmo tempo). Os alunos podem retirar dois exemplares e devem devolvê-los em 15 dias. Os usuários em geral apenas uma obra e com prazo de uma semana. O sistema deverá controlar o empréstimo e devolução de obras. Caso o usuário devolva a obra com atraso será cobrada uma multa de 5 reais por dia de atraso. Usuários em atraso não poderão emprestar nenhuma outra obra. Além disso, o sistema deverá realizar pesquisa de um livro pelo título ou pelo autor e um periódico por nome, ou por nome e ano. Como resultado da pesquisa o número de exemplares na biblioteca será fornecido, bem como o número de exemplares disponíveis para empréstimo.

Modelo de Casos de Uso (Casos de Uso Expandidos + Diagrama de Casos de Uso)Diagrama de ClasseDiagrama de PacotesModelo ConceitualDiagramas de Sequência de Eventos do SistemaDiagramas de AtividadesDiagramas físicos

Sistema para uma LivrariaA livraria "Ler Bem" trabalha com os seguintes produtos: livros,

revistas e cadernos. Para cada revista são mantidos: nome, editora, mês e ano; para cada livro são mantidos nome, autor, ano de publicação e editora. Cada produto possui um código individual. O dono da livraria quer automatizá-la para melhor controlar as vendas. Os produtos serão cadastrados e um sistema implementado. A pesquisa por um produto pode ser efetuada pelo seu nome ou número e como resultado serão fornecidos o preço e quantidades

disponíveis. O sistema também deverá registrar a venda de produtos composta de vários itens de venda, calcular o total da compra e registrar o pagamento efetuado. Ao final da semana um relatório de vendas deverá ser produzido com o total geral e com estatísticas dos itens mais vendidos.

Modelo de Casos de Uso (Casos de Uso Expandidos + Diagrama de Casos de Uso)

Modelo ConceitualDiagramas de Sequência de Eventos do Sistema

Cadeia de hotéisLeia a descrição do problema a seguir:

Deseja-se construir um sistema de automatização dos serviços administrativos de um hotel. Esse sistema deve permitir o cadastro de hóspedes contendo informações tais como: nome, endereço de origem, data de nascimento, sexo, estado civil, data de entrada e data de saída. Essas informações poderão ser atualizadas e consultadas.

Quando o cliente já ficou hospedado no hotel quatro vezes no período do ano corrente, ele é considerado “cliente-assíduo” e tem direito a 30% de desconto na próxima hospedagem (a quinta). Nas hospedagens seguintes (sexta, sétima...), passa a ser um “cliente-frequente”, recebendo 10% de desconto cada vez. A cada ano novo, as contagens devem ser reinicializadas. Os clientes que se hospedarem no hotel na data de seu aniversário, chamados “cliente aniversariante”, terão desconto de 30%.

Todos os 200 quartos do hotel possuem padrão semelhante: uma cama de casal, banheiro exclusivo, uma mesa e um frigobar. A única diferença é que o cliente pode optar por ventilador ou ar-condicionado, o que leva a ter dois valores diferentes de diárias, dependendo da opção. Cada quarto possui um número e deseja-se que sejam cadastrados individualmente, pois, o sistema deve possibilitar que informações sobre consertos necessários, exclusivas de um quarto, possam ser registradas (por exemplo, torneira pingando, vidro quebrado).

Quando o cliente deixa o hotel, o sistema deverá calcular o valor a ser cobrado, que é baseado no número de diárias * valor das diárias – valor do desconto. O sistema deve apresentar relatório contendo as informações de todas as pessoas que estão hospedadas.

É importante que a interface do sistema seja gráfica, de acordo com um padrão do estilo Windows, e dirigida a menu. Os aspectos de portabilidade devem ser considerados no projeto da interface e no projeto e implementação do próprio sistema.

Lojas casa de PedraO proprietário das Lojas Casa de Pedra, deseja expandir seu

mercado e decidiu criar um comércio eletrônico. A ideia é que os clientes possam consultar os produtos vendidos no site e adicioná-los a um carrinho de compras. Quando desejarem, os clientes podem finalizar o carrinho e confirmar o pedido, que pode ser pago por meio de cartão de crédito ou boleto bancário. Sabendo que pode ser necessário trabalhar com novos tipos de produtos, a empresa deseja que o sistema seja flexível o suficiente para suportar a adição de novos tipos de produtos, com novos atributos.

Todo produto tem em comum um nome e um preço.Você faz parte da equipe de desenvolvimento contratada para

criar o comércio eletrônico e precisa definir o diagrama de classes da aplicação e implementar uma versão para testar a arquitetura do sistema.

Crie um diagrama de classes para o sistema e implemente uma versão das classes. Crie um programa principal (com public static void main) para testar as suas classes.

1. Contratos de aluguer automóvelPretende-se desenvolver um Sistema Informático para apoio à

gestão de Contratos de Aluguer automóvel de Longa-duração (SICAL) que permita efetuar, cancelar e modificar pedidos através da Internet. Após uma fase inicial de análise de requisitos apurou-se o seguinte:

O sistema apenas pode ser utilizado após registo prévio.Os utilizadores individuais podem introduzir, modificar,

consultar e cancelar pedidos de aluguer. Por outro lado, os agentes (empresas, bancos) podem modificar e avaliar pedidos.

Após introdução no sistema, os pedidos são analisados do ponto de vista financeiro pelos agentes e, em caso de parecer positivo, são

colocados à sua consideração para execução do contrato.Sobre os contratantes do aluguer, armazenam-se dados de

identificação (BI, Nº Contribuinte, Nome, Morada), profissão, as entidades empregadoras e os respetivos rendimentos auferidos (máximo de 3).

Dependendo do tipo de contrato, os automóveis alugados podem ser registados como propriedade dos clientes, empresas ou bancos.

Sobre os automóveis o sistema regista a matrícula, ano, marca e modelo.

Ao aluguer de um automóvel pode estar associado um contrato de crédito, o qual foi concedido por um dos bancos agentes.

Em termos de sistema informático, o computador central do SICAL encontra-se ligado aos computadores locais dos clientes e aos diversos agentes aderentes através da Internet.

O sistema pode ser subdividido em dois subsistemas: um para gestão da base de dados de pedidos e contratos e outro para a construção dinâmica das páginas WWW.

a) Elabore o diagrama de casos de uso e o diagrama de classes do sistema.

b) Elabore o diagrama de actividades e o diagrama de estados de um Pedido de Aluguer.

c) Elabore possíveis diagramas para a arquitetura lógica e de componentes do sistema.

2. Sistema Informático de MatrículasUma faculdade pretende informatizar o seu sistema de

matrículas:A Secretaria da Faculdade gera o currículo para cada semestre

e mantém as informações sobre as disciplinas, professores e alunos.Cada curso tem um nome, um determinado número de créditos

e é constituído por diversas disciplinas.Os alunos podem matricular-se a 4 disciplinas como 1ª opção e

a mais 2 outras alternativas.Há períodos para efetuar matrículas, durante o qual os alunos

podem aceder ao sistema para se matricularem em disciplinas e/ou para cancelar matrículas feitas anteriormente.

Uma disciplina só fica ativa, isto é, só irá funcionar no semestre seguinte se, no fim do período de matrículas tiver, pelo menos, 3 alunos inscritos (matriculados). Caso contrário, a disciplina será cancelada. O número máximo de alunos inscritos a uma disciplina é

10 e quando este número é atingido, as inscrições (matrículas) a essa disciplina são encerradas.

Após um aluno se inscrever para um semestre, o sistema de cobranças é notificado pelo sistema de matrículas, de modo a que o aluno possa ser cobrado pelas matrículas daquele semestre.

Os professores podem aceder ao sistema para saber quais são os alunos que estão matriculados em cada disciplina.

Todos os utilizadores do sistema têm senhas que são utilizadas para validação do respetivo login.

a) Elabore o diagrama de Casos de Uso referente ao Sistema Informático de Matrículas (SIM).

b) Elabore o diagrama de Classes em UML relativo ao sistema de matrículas.

c) Elabore os diagramas de Sequência e de Colaboração correspondentes ao seguinte cenário:

um aluno acede ao ecrã inicial do sistema de matrículas, onde introduz a sua chave de acesso.

o sistema valida o acesso (login + senha), identifica o aluno em questão e pede para ele escolher o ano e o semestre lectivo.

o aluno escolhe o ano e o semestre lectivo e pede para criar uma matrícula nova.

o sistema apresenta as disciplinas do curso, correspondentes ao ano e semestre lectivo introduzidos, a que o aluno ainda não está inscrito.

o aluno escolhe uma das disciplinas e indica se é 1ª opção ou disciplina alternativa.

o sistema verifica se esta matrícula cumpre os pré-requisitos necessários (cada aluno pode escolher quatro disciplinas como 1ª opção e duas disciplinas alternativas) e adiciona-o à lista da disciplina.

o sistema apresenta uma mensagem a confirmar que a matrícula foi realizada e pergunta se o aluno quer imprimir o formulário da matrícula.

o aluno indica que quer imprimir o formulário. o sistema imprime o formulário da matrícula do aluno. o sistema envia a informação referente à matrícula do aluno na

disciplina para ser processada no sistema de cobrança.Nota: Os cenários podem ser considerados como testes informais para validação dos requisitos do sistema.

d) Elabore o diagrama de Estados referente à classe “Disciplina”

1. Sistema de Gestão de TransportesUma empresa de transportes, cujo serviço é transportar

mercadorias no país, pretende automatizar a sua área de gestão de veículos. O diretor da empresa descreve o sistema da forma que se segue.

Sempre que se compra um veículo regista-se no sistema (as suas características são dadas ao sistema pelo departamento de compras). O veículo só entra em serviço quando chega uma notificação de seguro da companhia seguradora. Esta notificação contém o número de apólice.

Toda as informações devem ser inseridas no sistema.Para fazer os trajetos a empresa tem um conjunto de

condutores que podem conduzir qualquer veículo da empresa. Os dados dos condutores estão guardados no sistema e são feitos pelo departamento de pessoal.

Sempre que um cliente pede um serviço, preenche uma notificação de serviço onde indica os seus dados pessoais e o trajeto que deseja (origem e destino). Mais tarde o sistema deverá ser capaz de distribuir os serviços pelos condutores e veículos.

Sempre que um condutor termina uma entrega, faz uma notificação de fim de serviço e informa se ocorreu algum acidente. Em caso de acidente, o condutor faz uma descrição do ocorrido.

Só depois do regresso do condutor e caso não haja acidente é que o veículo fica disponível para outro serviço.

Sempre que o serviço é concluído é enviado uma resposta ao cliente sobre o sucesso deste serviço.

No final do ano, o sistema deve emitir um resumo dos acidentes por veículo onde, para além dos dados do veículo e do seguro, deve constar cada um dos trajetos feitos pelo veículo com o respetivo condutor e os acidentes registados nesse trajeto.

De acordo com o estudo do sistema acima:a) Crie uma Lista de eventos.b) Crie um Diagrama de Contexto.