IPRJ ANÁLISE E PROJETO ORIENTADO POR OBJETOS  
LISTA DE EXERCÍCIOS 01  
Projete um sistema para a seguinte situação:  
Uma biblioteca possui um nome, um endereço e armazena um conjunto de publicações.  
Atualmente, as publicações disponíveis são os artigos e os livros. Todas as publicações possuem  
data de publicação, um título, uma lista de outras publicações a que elas fazem referência e o  
conjunto de autores da publicação. São atributos relevantes para um autor o seu nome e sua  
titulação. São atributos relevantes para artigos o seu título, a sua data de publicação, o seus  
autores, as outras publicações que ele faz referência, a data de sua publicação e o seu resumo.  
Para os livros é relevante armazenar seu título, sua data de publicação, as outras publicações  
que ele referencia, seus autores, o número da edição, o nome da editora e o seu ISBN.  
Futuramente a biblioteca pretende operar com outros tipos de publicações como manuais,  
teses e etc.”  
O sistema deve permitir que os usuários realizem as seguintes operações:  
Cadastrar autores;  
Cadastrar publicação (livro ou artigo);  
Listar livros;  
Listar artigos;  
Listar todas as publicações (livros e artigos);  
Buscar publicação por título (livros ou artigos);  
Buscar publicação por autor (livros ou artigos);  
Assuma que:  
Uma biblioteca possui no máximo 65535 publicações;  
Qualquer publicação (livros e artigos inclusos) possui no máximo 255 autores.  
Qualquer publicação (livros e artigos inclusos) faz referência a no máximo 255 outras  
publicações.  
Baseado nestas definições, resolva as seguintes questões:  
1
) Elabore um diagrama de classes descrevendo as entidades e as relações entre os  
objetos que fazem parte do sistema.  
2
) Implemente o sistema em Java de acordo com o diagrama de classes criado e  
utilizando todos os conceitos de orientação a objetos.