PARADIGMAS DA PROGRAMAÇÃO IV

Documentos relacionados
PROGRAMAÇÃO ORIENTADA AOS OBJECTOS

Ficha Prática 10. António Nestor Ribeiro, Paulo Azevedo, Mário Martins PPIV (LESI) 2005/06

2 Vectores de objectos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

LEIC-A / MEIC-A 2007/2008 (1º

PDR2020 Manual do Balcão - Pedidos de Alteração

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

4 Conceito de Herança

MANUAL DE UTILIZAÇÃO DO SISTEMA RNOD

Trabalho Prático de Técnicas de Programação (2003/2004)

Exame de 1ª Época Introdução à Programação IGE e ETI 2003/02/25-1º semestre de 2002/2003 ISCTE

CONTRATO EMPREGO-INSERÇÃO E CONTRATO EMPREGO-INSERÇÃO+ Guia de Apoio à apresentação de candidaturas

Programação Estruturada Orientada a Objetos

Ambientes de Desenvolvimento Avançados (ADAV)

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Ambientes de Desenvolvimento Avançados (ADAV)

Índice MANUAL DE UTILIZAÇÃO BALCÃO DIGITAL CGI

Fundo Florestal Permanente (FFP) Manual de Utilizador Externo Registo de Beneficiário no FFP

Base de Dados Nacional. dos Elevadores. Manual do Utilizador do Portal Empresa de Manutenção de Elevadores

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

GUIA DE APOIO CANDIDATURA

Manual de Ajuda Versão Manual 1.0 Sistemas do Futuro

Manual de Utilizador. Documento de Apoio. (Versão Janeiro 2019)

EMPREGO JOVEM ATIVO. Guia de Apoio à apresentação de candidaturas

APOIO AO BENEFICIÁRIO - FEDER - MAIS CENTRO - GUIA DE SUBMISSÃO ELECTRÓNICA DOS PEDIDOS DE PAGAMENTO

Documentos Informativos Ano Letivo de 2013/14

ZS Rest. Manual Avançado. Início v.1. v2011

Universidade Lusófona de Humanidades e Tecnologias Fundamentos de Programação 2014/2015 primeira época v.1.0.0

Orientação a Objetos AULA 09

BALCÃO 2020 ORIENTAÇÕES DE APOIO PARA REGISTO DE MAPAS DE QUANTIDADES E AUTOS DE MEDIÇÃO

ADSE DIRETA. Manual de Utilização para Prestadores da Rede

Manual do Utilizador Gestor

Engenharia de Software

MANUAL PORTAL GENERALICARE

Índice MANUAL DE UTILIZAÇÃO BALCÃO DIGITAL ADC

Centro de Competência CRIE Escola Superior de Educação de Setúbal

Nome: Número: Primeira Parte (7 valores) Segunda Parte (3 valores)

Manual do Utilizador RNEC

AGRUPAMENTO DE ESCOLAS DE ANTÓNIO FEIJÓ

Manual de preenchimento do Formulário de Comunicação de Dados ao abrigo do Artigo 4.º do Decreto-Lei n.º 56/2011. Versão 5 ( )

aplicação arquivo Condições Gerais de Utilização

Aplicações de Escritório Electrónico

Diagramas de Use Case

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Laboratórios Integrados II LECom (1 o ano)

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

No final deste curso, saberás criar programas através da linguagem de programação Java.

Programação com Objectos Teste Teórico 18 de Dezembro de 2008, 19:00 (120 minutos)

ESPAÇO COORDENADO, Lda Rua Piteira Santos, Sobreda Telefone: Fax: Manual de utilização.

Manual do utilizador

MANUAL DO AVALIADOR - MYGIAF SIADAP

Guião de Preenchimento do Módulo Reporte de Execução Física Versão 1.0

MANUAL DO UTILIZADOR REGISTO DO BENEFICIÁRIO NO PORTAL IFAP

No contexto informático. Requisitos

Departamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2

ASSOCIAÇÃO DE ESTUDANTES DA ESCOLA SUPERIOR DE EDUCAÇÃO DE SETÚBAL APOIO À FORMAÇÃO ESPECIALIZADA REGULAMENTO

Segunda Parte (3 valores) Primeira Parte (7 valores) Nome: Número: PERGUNTA NOTA PERGUNTA RESPOSTA

Um sistema de difusão de informação a nível da aplicação

Ferramentas Web, Web 2.0 e Software Livre em EVT

1. Registo no GRT Painel de Utilizador Registrar Equipamento Lista de Equipamentos Editar Dados do Equipamento 11

Guião de Preenchimento do Módulo Reporte de Indicadores Versão 1.1

Portal CAUL. Manual de Utilizador. Certificado de Autorização de Utilização de Lote. Versão 1.0 Página 1 de 39

MANUAL DE PREENCHIMENTO DO FORMULÁRIO EMBALADOS IMPORTADOS DE REGISTO DE EMBALAGENS NÃO REUTILIZÁVEIS DE MATÉRIAS-PRIMAS E DE PRODUTOS

Manual de preenchimento do Formulário de Comunicação de Dados ao abrigo do Artigo 4.º do Decreto-Lei n.º 56/2011 V2.0 ( )

Guia do Serviço EcoFactura (Receptor) da Generix Group Portugal

Exame de 2ª Época. Introdução à Programação (IGE e ETI), 2004/3/11, 1º semestre de 2003/2004, ISCTE

Município de Viana do Alentejo

ConvertProfissões 2011

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Laboratórios de Comunicações III MiECom (2 o ano)

Perfil Candidato. MANUAL DE UTILIZAÇÃO Módulo: Candidaturas online (2.º/3.º Ciclos e Pós-Graduações)

MANUAL DO SISTEMA DE INFORMAÇÃO DE INFRAESTRUTURAS APTAS (SIIA)

MANUAL DO UTILIZADOR REGISTO DO BENEFICIÁRIO NO PORTAL IFAP

MANUAL DO UTILIZADOR

Programação Orientada aos Objectos I

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Projecto de Laboratório de Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Melhor caminho entre duas estações de metro

Manual de Utilização

Manual do utilizador. Registo, Acesso ao SILiAmb e Nomeação de Responsáveis. v1.0

9 Classes Abstractas e Interfaces

Perfil Candidato. MANUAL DE UTILIZAÇÃO Módulo: Candidaturas online (2.º/3.º Ciclos e Pós-Graduações)

Realização de Candidaturas de Centros de Inspeção. IMT Manual de Utilizador

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1

MANUAL DE CANDIDATURA A MESTRADO

Ferramentas Web, Web 2.0 e Software Livre em EVT

Índice. IMP.01.P.11 v01_ Página 1 de 16

Manual do Fénix. Gestão da ficha de unidade curricular (Portal de coordenador de ECTS) DSI (Versão 1.0)

Manual de Utilizador de Guias electrónicas de acompanhamento de resíduos Documento de apoio às estruturas locais da Cruz Vermelha Portuguesa

Inventários no Sistema Lasernet 2000

As opções de menu Análise ABC e Plano Trabalhos saíram do menu Objectos e passaram para o menu Ferramentas.

Manual de Procedimento do Organizador

P L A N I F I C A Ç Ã O A N U A L

MyEGAR. Emissão e Gestão de Guias de Acompanhamento de Resíduos

Sistema do Ciclo de Vida do Cartão de Cidadão Versão 3 Modo Offline

Transcrição:

PARADIGMAS DA PROGRAMAÇÃO IV TRABALHO PRÁTICO 2006/2007 2º ANO LESI Entrega Electrónica: 2 de Julho Entregas Presenciais: semana de 9/7 a 13/7 SISTEMA DE GESTÃO DE UM PORTO MARÍTIMO PORTUS INTRODUÇÃO Apresenta-se neste documento todas as directivas e requisitos do trabalho prático de PPIV, a realizar em grupos de, no máximo, 3 alunos, e que servirá como meio de avaliação das capacidades de concepção e desenvolvimento de aplicações orientadas aos objectos usando a linguagem JAVA5 adquiridas por cada aluno. Serão avaliadas as capacidades de concepção da estrutura de classes mais adequada à solução, a capacidade de, recorrendo ao polimorfismo, desenhar soluções genéricas e extensíveis, a capacidade de garantir encapsulamento e robustez no código final, e a adequada utilização dos mecanismos de persistência (guardar o estado do sistema em suportes secundários e recuperar estados do sistema a partir de suportes secundários). Será ainda avaliada a capacidade de garantir uma correcta separação entre a camada computacional do projecto e a camada de apresentação ou interface com o utilizador. Todas estas capacidades resultarão de uma adequada aquisição de todos os conhecimentos e matérias apresentadas extensivamente ao longo da disciplina (aulas teóricas e práticas) procurando-se agora (tal como em alguns projectos práticos finais) realizar a sua integração completa num projecto de média escala. Note-se que à data de apresentação deste projecto aos alunos, existirá ainda matéria significativa a ser leccionada, pelo que alguns pontos do trabalho podem não ter uma solução evidente neste momento. Há no entanto muitas decisões de projecto e alguns desenvolvimentos que podem ser iniciados, e dúvidas sendo esclarecidas à medida que possam surgir. Apresentam-se de seguida os requisitos do projecto, depois dos quais se apresentarão algumas indicações pragmáticas para uma mais estruturada e metodológica concretização do mesmo, bem como do respectivo relatório. O calendário final de entregas do projecto, grupo a grupo, será afixado na página da disciplina entre 3 e 7 de Julho (após a data de entrega electrónica). TP_Portus.doc Trabalho Prático de Paradignas de Programação IV (2006/2007) 1

REQUISITOS DO SISTEMA Pretende-se desenvolver um sistema de gestão de um dado porto marítimo PORTUS - que deve realizar as principais operações relacionadas com o controlo e gestão dos espaços disponíveis para a atracagem de embarcações de vários tipos a um dado porto de mar. Sobre cada Barco deveremos possuir a seguinte ficha de informação: Matrícula (código único); Bandeira (país responsável actual do barco); Tipo de barco (comercial, guerra, cruzeiro, pesca, petroleiro, iate); Nome do comandante; Comprimento do barco em metros; Tonelagem do barco; Quando um barco pretende acostar ao porto, deve enviar para este um Pedido de Entrada contendo os seus dados identificativos principais e o tipo de doca pretendida, cf.: Ficha de Barco; Tipo de Doca pretendida (ver Tipos de Doca); Um Pedido de Entrada pode ser inválido (se tal tipo de barco não pode usar a doca pretendida ver adiante a definição de Doca -, ou se possui matrícula em lista negra). Neste caso não será registado. Um Pedido de Entrada válido fica no estado de espera, pois fica a aguardar que seja lhe atribuída uma doca para o barco poder entrar efectivamente no porto. Só nesse momento o pedido passará ao estado de satisfeito. Os pedidos em espera são guardados pela sua ordem. Porém, a sua ordem de entrada vai depender não da ordem de espera mas das docas que forem sendo libertadas e do tipo de doca que for pedida pelo barco. Qualquer barco pode desistir de estar em espera para entrada. Estas desistência de entrada no porto devem ser registadas. O barco apenas terá autorização para entrar caso a sua matrícula não conste de uma Lista Negra Internacional de Matrículas que o sistema de gestão do porto possui e que é periodicamente actualizada. Para um barco que já tem autorização de entrada, é necessário em seguida encontrar uma Doca adequada, ou seja, um lugar para atracagem no porto que seja adequado às dimensões e tipo da embarcação. A informação sobre as diferentes docas do porto encontra-se organizada segundo uma tabela, na qual a cada valor de comprimento de doca do porto se associa uma lista com os códigos das docas que possuem esse comprimento, por exemplo: TP_Portus.doc Trabalho Prático de Paradignas de Programação IV (2006/2007) 2

Comprimento Códigos das Docas 20 N2, S12, O1, O2, O3, E33, E34 50 N1, N23, O5, O6, E25, E31 100 S12, S13, S14, S15, O23, O24 As docas possuem no entanto vários tipos distintos em conformidade com os serviços que podem prestar. Existirão inicialmente docas dos seguintes tipos: de ancoragem, de manutenção, de pesca, militares, de carga/descarga e de cruzeiro. Cada tipo de doca possui um responsável e um preço diário de utilização, que podem ser alterados a qualquer momento. Cada tipo de doca só poderá aceitar embarcações de determinado tipo, pelo que a relação entre tipos de docas e tipos de barcos deve estar também definida convenientemente numa tabela, de modo a que a atribuição de uma doca a um barco possa ser validada. Um Registo de Entrada de Barco consiste da seguinte informação: Ficha de Barco; Lista da Carga a descarregar (pode não existir), com código, descrição e peso em Kg por produto a descarregar Data de Entrada no porto; Código da Doca; Data de Saída do porto (inicialmente desconhecida); Os vários Registos de Entrada de Barco nunca são apagados, acumulando-se todo o historial de entrada de barcos no respectivo porto. Quando um barco sai do porto, é criado um Registo de Saída de Barco, que deverá conter a seguinte informação: Matrícula (código único); Data de Entrada no porto (a mesma do respectivo registo de entrada); Data de Saída do porto. Número de dias de acostagem; NIF (Numero de Identificação Fiscal Internacional) e Nome do Cliente; Total pago à gestão do porto. O porto possui definidas como constantes: o preço por metro, por tonelada de peso do barco e por tonelada descarregada, o preço geral por dia de estadia, cf. a doca, e uma taxa de porto por dia cujo valor é indexado ao tipo de barco. O cálculo do valor a pagar por um barco à saída é determinado tendo todos estes valores por base de cálculo (defina uma fórmula aceitável). Para além das operações básicas de criação, modificação e manutenção das várias entidades relevantes para o projecto, o sistema PORTUS deverá ter TP_Portus.doc Trabalho Prático de Paradignas de Programação IV (2006/2007) 3

implementadas e disponíveis para o operador do sistema as seguintes operações principais, que, sendo fundamentais, devem fazer parte da interface com o utilizador do sistema PORTUS a desenvolver: Gerir todas as informações referentes às Docas do porto; Gerir as informações relativas a matrículas na lista negra; Gerir todas as informações referentes à tabela de preços; Receber e registar, se for válido, um Pedido de Entrada de um barco; Anular o pedido de entrada do barco de matrícula dada; Retirar um barco da fila de espera; Determinar o número total de desistências em fila de espera num dado ano e também desde o início de funcionamento do porto; Determinar qual a doca apropriada para um dado barco e quem é o seu responsável para contacto; Criar o Registo de Entrada referente a um Pedido de Entrada satisfeito; Registar a saída de um dado barco efectuando todas as operações necessárias à sua efectiva saída (cf. contas, etc.); Determinar qual o barco em lista de espera que poderá ocupar a doca libertada por um barco que saiu do porto; Determinar os custos de atracagem de dado barco até ao dia actual; Para um dado barco, criar uma lista de todas as entradas e saídas do porto registadas num dado ano; Determinar a lista de barcos em estado de espera para poderem entrar no porto; Criar uma tabela que para cada doca indique as horas totais de ocupação durante o ano actual; Criar uma tabela indicando, por tipo de barco e para cada tipo por ano, o número de barcos entrados no porto; Determinar as taxas de ocupação no ano actual das docas, por tipo de doca; Determinar o total anual de facturação ano a ano do porto, desde o seu início; Guardar todo o sistema Portus em ficheiro (de texto e de objectos); Carregar todo o sistema Portus a partir de um ficheiro de objectos; Outras operações que considere importantes e possa apresentar. CONCEPÇÃO E REALIZAÇÃO DO PROJECTO: CONSELHOS Em todos os casos em que o enunciado do projecto possa apresentar indefinições e/ou ambiguidades, tome as suas decisões de projecto e apresente-as no relatório final como tal; Desenvolva iterativamente e teste todas as classes usando o ambiente BlueJ; Não se esqueça de definir e implementar os métodos de alteração do estado interno dos objectos e os métodos de consulta desse estado interno. TP_Portus.doc Trabalho Prático de Paradignas de Programação IV (2006/2007) 4

Não se esqueça de implementar os métodos tostring(), equals() e clone() das classes que implementou, sempre que tal se justifique. Por exemplo, não se justifica comparar duas instâncias da classe Portus. Crie em BlueJ a documentação das classes desenvolvidas (APIs); Crie um programa principal Java que realize o carregamento inicial de dados das diversas classes e devolva como resultado um estado inicial aceitável para o AEROGEST ser testado na apresentação do trabalho. A estrutura será a seguinte: public class TEST_PORTUS { public static Portus main(string args[]) { Portus port = new Portus(); // criação das mais diversas instâncias return port; } } O estado do sistema deverá também poder ser carregado a partir de um ficheiro de objectos usando uma operação do menu principal da aplicação. Estruture o menu principal da aplicação por categorias de operações, ou agrupadas pela sua funcionalidade (cf. Inserir, Remover, Consultar), ou ainda por funcionalidades sobre dada entidade cf. Doca, Registo de Barco, etc. APRESENTAÇÃO DO PROJECTO O projecto a entregar inclui um relatório de projecto com a estrutura seguinte: capa na qual se identificam os elementos do grupo por nome, número e fotografia digitalizada; requisitos do projecto ou enunciado; decisões tomadas durante a execução do projecto (cf. simplificações, interpretações, etc.) e estratégia de realização do trabalho; conclusões. O relatório deve ser entregue no dia da apresentação. O código fonte deverá ser enviado por e-mail. Cada grupo terá 20 minutos para apresentar o seu trabalho. Situações de impossibilidade de execução do projecto, por qualquer razão, serão de imediato canceladas, não havendo lugar a entregas posteriores. Idealmente os grupos deverão trazer os seus projectos prontos a serem executados nos seus computadores portáteis. Prof. F. Mário Martins TP_Portus.doc Trabalho Prático de Paradignas de Programação IV (2006/2007) 5