Modelagem OO com UML

19
Modelagem OO com UML

description

Modelagem OO com UML. Modelos. Maneira de projetar, comunicar, documentar, etc. S oluções computacionais Diversos níveis: Ontologias (modelos genéricos, de domínio) Requisitos (foco em um problema) Projeto/arquitetura (foco em uma solução) Essenciais para o desenvolvimento de software - PowerPoint PPT Presentation

Transcript of Modelagem OO com UML

Page 1: Modelagem OO com UML

Modelagem OOcom UML

Page 2: Modelagem OO com UML

Modelos

• Maneira de projetar, comunicar, documentar, etc.– Soluções computacionais

• Diversos níveis:– Ontologias (modelos genéricos, de domínio)– Requisitos (foco em um problema)– Projeto/arquitetura (foco em uma solução)

• Essenciais para o desenvolvimento de software• Assim como o desenvolvimento, também

seguem os paradigmas (estruturado, OO, etc.)

Page 3: Modelagem OO com UML

Unified Modeling Language

• Padrão “de facto” para especificar, visualizar, documentar e construir artefatos de um sistema desenvolvido sob o paradigma Orientado a Objetos

• Nasceu na Rational Software, desde 1997 é um padrão da Object Management Group (OMG)

• Teve origem em três outros métodos– OMT– Método de Booch– Método de OOSE

Page 4: Modelagem OO com UML

Diagramas da UML

• Casos de uso• Classes• Objetos• Estruturas compostas• Sequências• Comunicação• Estados• Atividades

• Componentes• Implantação• Pacotes• Interface em geral• Tempo

Page 5: Modelagem OO com UML

Exemplo: Diagrama de Caso de Uso

• Modela as funcionalidades do sistema

• Capturas típicas interações com os usuários

• Usuários são atores• Atores e casos de uso são

associados• Cada caso é descrito em

detalhes separadamente

Page 6: Modelagem OO com UML

Exemplo: Diagrama de Classes

Herança

Agregação

Classe

Associação

Classe associativa

Classe abstrata

ClasseAtributoMétodos

Representa as Classes relevantes (abstração) para o domínio, problema ou solução

Page 7: Modelagem OO com UML

Exemplo: Diagrama de Estados

• Representa diferentes estados em que um objeto pode estar

• Foco em uma classe de objetos específica (exemplo, Pedido)

• Captura a dinâmica de um sistema, com foco numa classe

Page 8: Modelagem OO com UML

Exemplo: Diagrama de Sequencia• Captura a dinâmica de um sistema, com foco

numa classe• Foco em uma função específica

Page 9: Modelagem OO com UML

MODELAGEM CONCEITUAL COM UML

Tipos de Modelagem

Page 10: Modelagem OO com UML

Modelagem Estática e Dinâmica

• Modelagem Estática– Representação das classes, Herança, Separação em

subsistemas/módulos, pacotes, associações, papéis, classes associativas, relacionamentos recursisvos, associações n-árias, agregação e composição, atributos, especificação de objetos, atributos e hierarquias de classe

• Modelagem Dinâmica– Diagramas de estados, Diagramas de interação,

Diagrama de máquina de estados, Diagrama de sequência, Diagrama de colaboração,

Page 11: Modelagem OO com UML

Modelagem Estática

• Identificação das classes• Especificação das hierarquias de

generalização/especificação• Identificação de subsistemas• Identificação de atributos e associações

Page 12: Modelagem OO com UML

Modelagem Estática

• Representação em UML • Se estiver em itálico, a classe é abstrata

• Sintaxe atributos: <escopo> <nome> : <tipo> = <valor default>– Escopo: - privado; +público;

#protegido

• Sintaxe métodos: <escopo> <nome> (parâmetros): <tipo>– <parâmetros> = lista de pares

“nome : <tipo>”, separados por vírgula

Nome da Classe

<Lista de Atributos>

<Lista de métodos>

Page 13: Modelagem OO com UML

Modelagem Estática• Modelam relações “é um tipo de”• Subclasses devem suportar toda a funcionalidade das

superclasses• Funcionalidades comum a diversas classes devem estar o mais

alto possível na hierarquia• Classes abstratas não podem herdar de classes concretas

Page 14: Modelagem OO com UML

Modelagem Estática

• Projetos grandes podem conter centenas de classes e estruturas diversas

• Divisão de classes das classes em pacotes– Coleção de classes que colaboram entre si– Conjunto coeso de responsabilidades

• Vantagens– Facilita o entendimento para os leitores– Auxilia na organização de grupos de trabalho– Organiza a documentação– Facilita a manutenção

Page 15: Modelagem OO com UML

Modelagem Estática

• Pacotes– Organizam diversos tipos de elementos de

modelos, inclusive diagramas inteiros– Muito utilizados para organizar classes em

módulos– É possível representar a relação de dependência

entre pacotes

Page 16: Modelagem OO com UML

Modelagem Estática

• Relacionamento entre classes é representado por associações, composições e agregações

• Associações podem indicar cardinalidade

Page 17: Modelagem OO com UML

Modelagem Estática

• Adicionam um losango à sintaxe, na extremidade da classe que representa o todo

Page 18: Modelagem OO com UML

Modelagem Estática

• Atributos– Atributos são informações de estado (propriedades)

para os quais cada objeto em uma classe tem seu valor– Muito similares às associações

• Como atributos têm um tipo, podemos considerar que são associações com um tipo

• Para tipos primitivos definimos atributos, do contrário modelamos uma associação

• Em última instância, associações e atributos são implementados da mesma forma

• Atributos e associações definem uma classe

Page 19: Modelagem OO com UML

Modelagem Estática

• Atributos– Atributos são informações de estado (propriedades)

para os quais cada objeto em uma classe tem seu valor– Muito similares às associações

• Como atributos têm um tipo, podemos considerar que são associações com um tipo

• Para tipos primitivos definimos atributos, do contrário modelamos uma associação

• Em última instância, associações e atributos são implementados da mesma forma

• Atributos e associações definem uma classe