Buscar

potifolioOOB

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ENGENHARIA DE SOFTWARE
Nome Aluno
RELATÓRIO DE AULA PRÁTICA:
Disciplina: Análise Orientada a Objetos.
Cidade
2023
Introdução
O conceito de programação orientada a objetos surgiu com o objetivo de mitigar os desafios encontrados na criação de softwares complexos, que anteriormente eram projetados por meio de decomposição funcional e sub-rotinas. Um dos principais problemas era a falta de encapsulamento lógico para operações e dados, resultando na ausência de uma clara divisão de responsabilidades. Isso levava à construção de trechos extensos de código, frequentemente difíceis de compreender devido à sobrecarga de responsabilidades atribuídas a eles.
Consequentemente, à medida que o software se torna mais complexo, sua manutenção se torna mais difícil. Isso resulta em aumento de custos e riscos para sua confiabilidade.
Nesta atividade, vou apresentar o uso do diagrama de classes, uma ferramenta amplamente utilizada na programação orientada a objetos. Vou explicar como o diagrama funciona, suas vantagens e desvantagens. Além disso, vou desenvolver um diagrama para uma locadora de veículos, mostrando todas as classes que compõem o sistema e seus respectivos atributos.
Desenvolvimento.
Na linguagem de modelagem UML, os diagramas de classes representam apenas uma dentre as seis variedades de diagramas estruturais disponíveis. Esses diagramas são essenciais no processo de modelagem de objetos, capturando a estrutura estática de um sistema. Dependendo da complexidade do sistema em questão, é possível utilizar um único diagrama de classes para representar todo o sistema ou utilizar vários diagramas para abordar os diferentes componentes.
Os diagramas de classes são uma representação visual do sistema ou subsistema. Eles são utilizados para modelar os objetos que compõem o sistema, exibindo os relacionamentos entre eles e descrevendo suas funcionalidades e serviços. Em projetos de desenvolvimento de software orientado a objetos, os diagramas de classes criados nas fases iniciais do projeto normalmente são convertidos em classes e objetos reais quando o código é escrito. Posteriormente, é possível refinar as análises e modelos conceituais anteriores, criando diagramas de classes que enfatizem partes específicas do sistema, interfaces com o usuário, implementações lógicas, e assim por diante. Dessa forma, os diagramas de classes representam um instantâneo preciso de como o sistema funciona, os relacionamentos entre seus componentes em diferentes níveis e como planejar a programação desses componentes.
Os elementos de um diagrama de classes incluem:
· Classes: elas representam um conjunto de objetos com estrutura e comportamento semelhantes.
· Objetos: são elementos que representam instâncias de uma ou mais classes. Eles podem ser usados para representar exemplos concretos ou prototípicos de objetos.
· Pacotes: Os pacotes agrupam elementos de modelos relacionados de todos os tipos, incluindo outros pacotes.
· Sinais: são elementos do modelo independentes dos classificadores que os anipulam. Os sinais especificam comunicações assíncronas de uma via entre objetos ativos.
· Enumerações: são elementos do modelo em diagramas de classes que representam tipos de dados definidos pelo usuário.
· Tipos de dados: são elementos de modelos que definem valores de dados. Você geralmente usa tipos de dados para representar tipos primitivos, como tipos inteiros ou de cadeia, e enumerações, como tipos de dados definidos pelo usuário.
· Artefatos: são elementos de modelo que representam as entidades físicas em um sistema de software, como por exemplo, arquivo executáveis bibliotecas, componentes de software, documentos e bancos de dados.
· Relacionamentos em Diagramas de Classe: Um relacionamento UML é um tipo de elementos de modelo que inclui semântica em um modelo, definindo a estrutura e o comportamento entre os elementos de modelo.
· Qualificadores em Extremidades da Associação: Qualificadores são propriedades de associações binárias é uma parte opcional de extremidades de associação. Um qualificador mantém uma lista de atributos de associações, cada um com um nome e um tipo. Os atributos de associação modelam chaves que são usadas como um subconjunto de instâncias de relacionamentos.
Atividade Proposta:
Desenvolva um diagrama de classes para um sistema de locação de veículos, levando em consideração os seguintes requisitos: 
· 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. 
Resolução da atividade:
Foram estabelecidas todas as categorias que compõem um sistema de aluguel. Um veículo tem um ou mais tipos de modelo, e um ou mais modelos podem ter várias marcas. No entanto, um cliente só pode alugar um veículo de cada vez. No entanto, um cliente pode fazer um ou mais aluguéis se não tiver pendências. Isso pode ser determinado pelo atributo "conCliente" (ConsultarCliente). Pode haver vários outros atributos para complementar essas categorias, mas aqui foram incluídos apenas os essenciais para o funcionamento funcional do sistema, conforme proposto.
As categorias são compostas por um nome (obrigatório), atributos e operações. As categorias são descritas por meio de suas propriedades, que podem ser primitivas representadas por meio de atributos, ou compostas, representadas por associação a outras categorias. Quando convertidas em código, as propriedades se tornam campos da classe.
Também pode ser observado que cada atributo possui um tipo correspondente ao tipo que será utilizado no código-fonte (string, date, void, int, double, etc). É importante ter em mente que o nome utilizado para o atributo corresponde ao nome que será usado no código-fonte. É aceitável utilizar nomes com espaços e acentos na fase de análise.
Mas quais são as vantagens e desvantagens de usá-lo?
A vantagem é que você precisa conhecer apenas uma pequena parte da linguagem para utilizá-lo. Apesar de existirem muitos tipos de diagramas UML, os desenvolvedores geralmente utilizam apenas três ou quatro para documentar um sistema de software. Os diagramas de classe, sequência e caso de uso são os mais comumente usados. Isso significa que você só precisa conhecer cerca de 20% da linguagem para explicar 80% das suas necessidades de modelagem. Não é necessário conhecer ou entender toda a notação para se comunicar de forma eficaz usando o diagrama UML.
A desvantagem é que geralmente esses documentos não são mantidos sempre atualizados para funcionarem como documentação em longo prazo. Muitas vezes, são feitos em um quadro branco para uso imediato e, em seguida, apagados, perdendo toda aquela documentação.
Conclusão.
Através dessa atividade prática, podemos compreender a finalidade do uso de um Diagrama de Classes, que consiste em descrever a representação geral das informações de um sistema. Esse processo de abstração permite identificar os objetos relevantes no contexto em questão e buscar descrever suas características comuns em termos de propriedades (atributos) e comportamentos (operações).

Continue navegando