Análise e Projeto Orientado a Objetos



Documentos relacionados
3.1 Definições Uma classe é a descrição de um tipo de objeto.

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

UML Itens Estruturais - Interface

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

RELACIONAMENTOS ENTRE CLASSES

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Sumário. Uma visão mais clara da UML

Relacionamentos entre classes

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

Diagrama de Estrutura Composta

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Guia de utilização da notação BPMN

Diagrama de classes. Ricardo Roberto de Lima UNIPÊ APS-I

Disciplina Técnicas de Modelagem

UML: Diagrama de Casos de Uso, Diagrama de Classes

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Modelagem de Sistemas

Especificação do Trabalho

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

Engenharia de Software III

Guia para elaboração do Modelo de Domínio Metodologia Celepar

2 Engenharia de Software

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

4.1. UML Diagramas de casos de uso

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br

REQUISITOS DE SISTEMAS

DIAGRAMA DE ATIVIDADES

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

UML Aspectos de projetos em Diagramas de classes

Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

UML: Diagrama de Classes

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Programação Orientada a Objetos (DPADF 0063)

Bem-vindo ao tópico sobre administração de listas de preços.

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES CAPÍTULO ATIVIDADES, PAG. 138 A 150

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Bem vindos à técnica CRC

Análise e Projeto Orientados por Objetos

Persistência e Banco de Dados em Jogos Digitais

UM ESTUDO PARA A EVOLUÇÃO DO PHP COM A LINGUAGEM ORIENTADA A OBJETOS

Usando o Conference Manager do Microsoft Outlook

2 Diagrama de Caso de Uso

Uma visão mais clara da UML Sumário

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Eduardo Bezerra. Editora Campus/Elsevier

Casos de uso Objetivo:

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Resolução da lista de exercícios de casos de uso

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 17 PROFª BRUNO CALEGARO

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Manual do Usuário. Protocolo

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Desenvolvimento de uma Etapa

A Linguagem de Modelagem Unificada

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

ENGENHARIA DA COMPUTAÇÃO CONTEÚDO 4 GENERALIZAÇÃO E ENTIDADE ASSOCIATIVA. Prof. Msc. Ricardo Antonello BANCO DE DADOS I

Gerenciamento da Integração (PMBoK 5ª ed.)

Modelo Entidade-Relacionamento

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

Análise e Projeto Orientados por Objetos

Banco de Dados. Aula 5 - Prof. Bruno Moreno 06/09/2011

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

UML Diagramas de Classes

Conectar diferentes pesquisas na internet por um menu

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Portal do Projeto Tempo de Ser

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

Mapa Mental de Engenharia de Software - Diagramas UML

4 Aplicativo para Análise de Agrupamentos

MODELAGEM DE SISTEMAS

Dicas para EaD. Mapa do Tutorial. Ambientação em Educação a Distância. Educação a Distância. Aluno na Modalidade EaD.

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Engenharia de Software

Unioeste - Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Informática Estudo de Requisitos CASCAVEL 2009

Banco de Dados. MER Estendido. Profa. Flávia Cristina Bernardini

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos

DESENVOLVENDO O SISTEMA

Aula II Introdução ao Modelo de Entidade-Relacionamento

ORIENTAÇÃO A OBJETOS. Professora Lucélia Oliveira

Projeto Matemática 5º ano 4ª série. Objetivos

Gerenciamento de Mensagens e Tarefas / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Fundamentos de Banco de Dados e Modelagem de Dados

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Unidade III MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

So,fit 4 Transport Release Notes Versão 1.7

Transcrição:

Análise e Projeto Orientado a Objetos Linguagem UML Modelagem Estrutural Modelagem Estrutural Anderson Belgamo Classes Definição: uma classe é uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica. Representação Gráfica: Classes Termos e Conceitos Nomes: O nome de uma classe deve diferenciar do nome de outras classes. O nome é um seqüência de caracteres, tipicamente iniciando com maiúsculo e sem caracteres especiais. maiúsculo e sem caracteres especiais. Sozinho, é conhecido como nome simples. O nome do caminho é o nome da classe, tendo como prefixo o nome do pacote a que essa classe pertence.

Classes Termos e Conceitos Organização de atributos e operações: Pode haver a omissão dos atributos e/ou operações já que no início não tem-se a compreensão de todas essas características. Responsabilidades: Uma responsabilidade é um contrato ou obrigações de uma determinada classe. Exemplo: a classe SensorTemperatura é responsável por medir a temperatura e disparar um alarme, caso a temperatura alcance determinado ponto. As responsabilidades são traduzidas em um conjunto de atributos e operações, capazes de atender da melhor maneira às responsabilidades da classe. Classes Termos e Conceitos Responsabilidades: As responsabilidades podem ser representadas graficamente em um compartimento separado, no final do ícone da classe. Modelagem do vocabulário do sistema Vocabulário do sistema são as abstrações definidas a partir do problema que você está tentando solucionar ou a partir da tecnologia empregada. Para fazer a modelagem do vocabulário de um sistema: Identifique os itens que os usuários ou os implementadores usam para descrever o problema ou a solução. Para cada uma das abstrações, identifique um conjunto de responsabilidades. Verifique se todas as classes estão bemdefinidas e se existe um bom equilíbrio de responsabilidades entre as classes. Forneça os atributos e operações necessárias para a execução dessas responsabilidades para cada uma das classes. Modelagem do vocabulário do sistema Exemplo de sistema de vendas de varejo.

Modelagem da distribuição de responsabilidades em um sistema O objetivo é ter certeza de que suas abstrações proporcionam um conjunto equilibrado de responsabilidades. Se você criar abstrações de classes muito grandes, logo descobrirá que será difícil modificar ou reutilizar seus modelos. Se as suas abstrações de classes forem muito pequenas, acabará havendo um número muito maior de abstrações do que você será capaz de gerenciar ou compreender de modo razoável. Modelagem da distribuição de responsabilidades em um sistema Para fazer a modelagem da distribuição de responsabilidades em um sistema: Identifique um conjunto de classes que trabalham em conjunto com a finalidade de executar algum comportamento. Identifique um conjunto de responsabilidades para cada uma dessas classes. Considere esse conjunto de classes como um todo, divida em abstrações menores as classes que tenham muitas responsabilidades, reúna classes pequenas, com responsabilidades triviais, em classes maiores e redistribua as responsabilidades de forma que todas as abstrações permaneçam razoavelmente independentes. Modelagem da distribuição de responsabilidades em um sistema Para fazer a modelagem da distribuição de responsabilidades em um sistema: Leve em consideração os modos como essas classes colaboram uma com as outras e redistribua suas responsabilidades para que, em uma colaboração, nenhuma classe tenha muito ou pouco a fazer. Dicas e Sugestões Uma classe bem-estruturada: Proporciona uma abstração clara de algo definido a partir do vocabulário do domínio do problema ou do domínio da solução. Incorpora um conjunto pequeno e bem-definido de responsabilidades Incorpora um conjunto pequeno e bem-definido de responsabilidades e é capaz de executá-las todas de modo eficiente. Fornece uma nítida separação da especificação da abstração e sua implementação. É compreensível e simples, além de extensível e adaptável. Modelo MVC

Dicas e Sugestões Ao definir uma classe na UML: Mostre somente aquelas propriedades da classe que são importantes para a compreensão da abstração em seu contexto. Organize extensas listas de atributos e operações, agrupando-os de acordo com suas categorias. Exiba, em um mesmo diagrama de classes, classes que sejam relacionadas. Relacionamentos Poucas classes trabalham sozinhas, a maioria das classes colaboram uma com as outras por meio de relacionamentos. Tipos de relacionamentos: Dependências (relacionamentos de utilização): os canos dependem do aquecedor para fornecerem água quente. Generalizações (conectam classes generalizadas a outras mais especializadas) Associações (relacionamentos estruturais entre instâncias): as salas são formadas por paredes e outros itens; as próprias paredes podem ter portas e janelas embutidas. Relacionamentos Relacionamentos Dependência Uma dependência é um relacionamento de utilização, determinando as modificações na especificação de um item. Exemplo: a classe Event pode afetar outro item que a utilize (por exemplo, a classe Window), mas não necessariamente o inverso. A dependência é representada graficamente como linhas tracejadas apontando o item do qual o outro depende.

Relacionamentos Dependência Com muita freqüência você usará as dependências no contexto das classes para mostrar que uma classe usa outra como argumento na assinatura de uma operação. Relacionamentos Generalização Uma generalização é um relacionamento entre itens gerais (chamados super-classes ou classes-mãe) e tipos mais específicos desses itens (chamados subclasses ou classes-filha). Também chamado de relacionamento é um tipo de. Exemplo JanelaOval é um tipo de Janela. A filha herda as propriedades da mãe, ou seja, atributos e operações. A operação de uma filha, que tenha a mesma assinatura de uma operação da mãe, prevalecerá em relação à operação da mãe (polimorfismo). Relacionamentos Generalização Nome: uma associação pode ter um nome, que pode ser utilizado para descrever a natureza do relacionamento.

Papel: quando uma classe participa de uma associação, ela tem um papel específico a executar nesse relacionamento; o papel é apenas a face que a classe próxima a uma das extremidades apresenta à classe encontrada na outra extremidade da associação. Exemplo: Pessoa, desempenhando o papel de funcionário está associado a Empresa que desempenha o papel de empregador. Multiplicidade: em muitas situações, é importante determinar a quantidade de objetos que podem ser conectados pela instância de uma associação. Essa quantidade é chamada de multiplicidade do papel de uma associação e é escrita como uma expressão equivalente a um intervalo de valores ou a um valor explícito. Agregação: uma pura associação (um tipos especial de associação) entre duas classes representa um relacionamento estrutural entre pares, significando que essas duas classes estão conceitualmente em um mesmo nível, sem que uma seja mais importante do que a outra. Também chamado de relacionamento tem-um ou todoparte. Agregação: uma pura associação (um tipos especial de associação) entre duas classes representa um relacionamento estrutural entre pares, significando que essas duas classes estão conceitualmente em um mesmo nível, sem que uma seja mais importante do que a outra. Também chamado de relacionamento tem-um ou todoparte.

Agregação: A agregação vista até o momento é inteiramente conceitual e nada faz além de diferenciar o todo da parte. Ela não modifica o significado da navegação pela associação entre o todo e suas partes, nem vincula o tempo de vida do todo e suas partes. Já a COMPOSIÇÃO adiciona alguma semântica importante, com tempo de vida coincidente como parte do todo. As partes sem multiplicidade fixada podem ser criadas após a composição, mas, uma vez criadas, vivem e morrem com ela. Classes de Associação: Em uma associação entre duas classes, a própria associação poderá ter propriedades. Por exemplo: