ENGENHARIA DE SOFTWARE
FACULDADE ANHANGUERA – POLO TATUAPÉ (SÃO PAULO – SP)
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA:
NOME DA DISCIPLINA: ANÁLISE ORIENTADO A OBJETOS
Wellinton Lucas Reis Silva – RA 3782214303
PORTFÓLIO – RELATÓRIO DE AULA PRÁTICA
NOME DA DISCIPLINA: ANÁLISE ORIENTADO A OBJETOS
Trabalho de portfólio apresentado como requisito parcial
para a obtenção de pontos para a média semestral.
Orientador: Vinicius Mendes Gomes da Silva
Curitiba/PR
2025
Curitiba/PR
2025
SUMÁRIO
1 INTRODUÇÃO ..................................................................................................... 3
2 DESENVOLVIMENTO ......................................................................................... 4
2.1 MÉTODO .......................................................................................................... 4
2.2 RESULTADOS ................................................................................................. 4
3 CONCLUSÃO ...................................................................................................... 7
3
1 INTRODUÇÃO
Este trabalho tem por objetivo desenvolver um diagrama de classes utilizando
os conhecimentos e práticas da UML.
Os diagramas de classe são fundamentais para o processo de modelagem de
objetos e modelam a estrutura estática de um sistema. Dependendo da
complexidade de um sistema, é possível utilizar um único diagrama de classe para
modelar um sistema inteiro ou vários diagramas de classe para modelar os
componentes de um sistema.
Em programação, um diagrama de classes é uma representação da estrutura
e relações das classes que servem de modelo para objetos. É uma modelagem
muito útil para o desenvolvimento de sistemas, pois define todas as classes que o
sistema necessita possuir e é a base para a construção dos diagramas
de comunicação, sequência e estados.
CONCEITOS
CLASSE: Elemento abstrato que representa um conjunto de objetos. A classe
contém a especificação do objeto; suas características: atributos (características)
e métodos (ações / comportamentos).
ATRIBUTO: Define características da classe.
RELACIONAMENTO ENTRE CLASSES
Os objetos tem relações entre eles: um professor ministra uma disciplina para
alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data,
etc.[2] Essas relações são representadas também no diagrama de classe.
Geralmente as classes não estão sós e se relacionam entre si. O relacionamento
e a comunicação entre as classes definem responsabilidades, temos 3 tipos:
ASSOCIAÇÃO (AGREGAÇÃO)
São relacionamentos estruturais entre instâncias e especificam que objetos de
uma classe estão ligados a objetos de outras classes. Podemos ter associação
unitária etc. A associação pode existir entre classes ou entre objetos. Uma
4
associação entre a classe Professor e a classe disciplina (um professor ensina
uma disciplina) significa que uma instância de Professor (um professor
específico) vai ter uma associação com uma instância de Disciplina. Esta relação
significa que as instâncias das classes são conectadas, seja fisicamente ou
conceitualmente.
COMPOSIÇÃO
A composição, diferentemente da agregação, é um relacionamento de
contenção. Um objeto (container) CONTÉM outros objetos (elementos). Esses
elementos que estão contidos dentro de outro objeto dependem dele para existir.
Eles são criados e destruídos de acordo com o seu container. Um exemplo de
container poderia ser uma nota fiscal, e seus elementos seriam seus itens. Não
faz sentido existir itens de nota fiscal, sem que haja uma nota fiscal onde tais
itens estejam contidos. Eles só existem se houver uma nota fiscal da qual eles
façam parte. Se a nota fiscal é destruída, todos os seus itens também são, o que
não acontece com a agregação, onde, se uma reunião é destruída, seus
participantes continuam existindo, pois podem participar de outras reuniões. A
composição, na UML, é representada por uma linha com um losango preenchido
do lado da classe dona do relacionamento. No primeiro exemplo existem duas
classes distintas a primeira é a classe Carro e a segunda é a classe Motor.
Imagine que toda classe Carro tenha uma classe Motor, neste exemplo há uma
relação entre Carro e Motor de composição, pois o motor está contido na classe
Carro.
Um exemplo de composição é a relação entre Livro e Autor são duas classes
distintas, onde cada objeto da classe Livro possui um objeto da classe Autor.
Neste caso existirá uma relação de composição, pois a classe Autor faz parte da
classe Livro.
Uma forma de verificar se uma determinada classe A tem uma relação de
composição com uma classe B. É fazer perguntar-se: "A classe A está contida na
classe B?". Caso a resposta seja positiva existe uma relação de composição
entre as duas classes. Abaixo é possível visualizar alguns exemplos: • Um Livro
tem Autor? - SIM – Logo, se usa a composição. • Um Automóvel tem um Carro
5
Antigo? - NÃO – Logo, não se usa a composição. • Um Automóvel tem Porta? -
SIM – Logo, pode se usar a composição.
AGREGAÇÃO REGULAR
Tipo de associação (é parte de, todo/parte) onde o objeto parte é um atributo do
todo; a existência do objeto-parte faz sentido, mesmo não existindo o objeto-
todo. Por exemplo Carro e rodas: as rodas existem mesmo sem o carro. A
agregação, na UML, é representada por uma linha com um losango sem
preenchimento do lado da classe dona do relacionamento.
ESPECIALIZAÇÃO OU GENERALIZAÇÃO
Também conhecida como herança, representa as dependências e hierarquias.
DEPENDÊNCIA
São relacionamentos de utilização no qual uma mudança na especificação de um
elemento pode alterar a especificação do elemento dependente. A dependência
entre classes indica que os objetos de uma classe usam serviços dos objetos de
outra classe.
Esta etapa deve conter parágrafos que falem sobre a importância do tema
escolhido, sua relevância e aplicabilidade, visando contextualizar as atividades
que serão realizadas.
As orientações da atividade de portfólio ficam na sessão de portfólio – “tutorial de
aula prática”. Observe que o arquivo possui todas as instruções para realização
da atividade proposta.
6
2 DESENVOLVIMENTO
Para desenvolver esta atividade foi acessada a versão online do software Visual
Paradigm, para a construção de um diagrama de Classes de um sistema de
locação de veículos levando-se em consideração as seguintes premissas:
- A empresa tem muitos automóveis. Cada automóvel tem atributos como número
da placa, cor, ano, tipo de combustível, número de portas, quilometragem,
RENAVAM, chassi, valor de locação etc.
- Cada carro tem um modelo e uma marca, mas um modelo pode relacionar-se a
muitos carros e uma marca pode referir-se a muitos modelos, embora cada
modelo só tenha uma marca específica.
- Um carro pode ser alugado por muitos clientes, em momentos diferentes, e um
cliente pode alugar muitos carros. É preciso saber quais carros estão locados ou
não. Sempre que um carro for locado é preciso armazenar a data e hora de sua
locação e, quando for devolvido, a data e hora de devolução.
2.1MÉTODO
Ao acessar a versão online do software Visual Paradigm foi criado um Diagrama
de Classe em branco para a construção de um sistema de locação de veículos
de acordo com as premissas relatadas no item 2 Desenvolvimento deste
trabalho.
O primeiro passo foi inserir as classes Automóvel, Modelo, Marca, Locação e
Cliente.
Após esta etapa para cada classe foi realizada a descrição dos seus atributos e
operações (métodos).
2.2 RESULTADOS
A figura abaixo apresenta a resolução proposta para esta atividade,
contemplando o diagrama de classes elaborado para o sistema de locação de
veículos, conforme as premissas estabelecidas no item 2 Desenvolvimento deste
trabalho:
7
4 CONCLUSÃO
O objetivo de desenvolver um diagrama de classes para um sistema de locação
de veículos foi alcançado.
Por meio da realização desta atividade foi possível internalizar os conhecimentos
adquiridos da disciplina Análise Orientada a Objetos e aprender de modo prático
a utilizar o software Visual Paradigm.
O desenvolvimento dessas habilidades é de suma importância para trabalhar na
e
s
t
r
u
t