38
PROGRAMAÇÃO ORIENTADA A OBJETOS SEMANA 3 Conceitos de Modelos: Objetos e Modelagem. Prof. Geovani Sajorato [email protected]

PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

PROGRAMAÇÃO ORIENTADA A OBJETOSSEMANA 3

Conceitos de Modelos: Objetos e Modelagem.

Prof. Geovani [email protected]

Page 2: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Relembrando...

• Modelos são representações simplificadas de objetos, pessoas, itens, tarefas, processos, conceitos, idéias, etc. usados comumente por pessoas no seu dia-a-dia, independente do uso de computadores.

Page 3: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Linguagem deModelagemUnificada

Objetivos

• Introdução histórica a UML;

• Uso da UML e seus respectivos padrões;

• Desenvolvimento UML;

• Visões e Modelagem.

Page 4: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

O grande problema do desenvolvimento de novos sistemas utilizando a orientação a objetos nas fases de análise de requisitos, análise de sistemas e design é que não existe

Introdução

análise de sistemas e design é que não existe uma notação padronizada e realmente eficaz que abranja qualquer tipo de aplicação que se deseje.

Page 5: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Quando a "Unified Modeling Language" (UML) foi lançada, muitos desenvolvedores da área da orientação a objetos ficaram entusiasmados já que essa padronização proposta pela UML era o tipo de força que

Introdução

proposta pela UML era o tipo de força que eles sempre esperaram.

A UML é muito mais que a padronização de uma notação. É também o desenvolvimento de novos conceitos não normalmente usados.

Page 6: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

UML foi desenvolvida por Grady Booch, James Rumbaugh, e Ivar Jacobson que são conhecidos como "os três amigos".

Introdução

conhecidos como "os três amigos".

Page 7: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Software de qualidade Atende às necessidades do cliente

Como alcançar? Interação com o usuário Requesitos reais do sistema

Qualidade duradoura

1 – Modelagem

Qualidade duradoura Prever futuras modificações

Redução do desperdício e retrabalho de software Processo seguro de desenvolvimento

Page 8: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Uso dos modelos Comunicar a estrutura Comportamento desejado do sistema Visualizar e controlar a arquitetura do

1 – Modelagem

Visualizar e controlar a arquitetura do sistema Compreensão do sistema Simplificação e reaproveitamento

Page 9: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Importância da modelagem Tamanho do projeto Satisfação dos usuários

1 – Modelagem

Modelo correto = menos software Erros em projetos, aspectos únicos Projetos de sucesso, utilizam modelagem

Page 10: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Modelagem Técnica de engenharia aprovada e aceita

Simplificação da Realidade Planejamento Prévio

1 – Modelagem

Planejamento Prévio Comportamento, consequências Compreender o sistema Cliente

Page 11: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Objetivos Visualizar o sistema, como ele é, ou

desejamos que seja Especificar a estrutura ou o

1 – Modelagem

Especificar a estrutura ou o comportamento do sistema Guia para construção do sistema Documentar as decisões tomadas

Page 12: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Maior complexidade Maior benefício da Modelagem Compreender sistemas complexos

1 – Modelagem

Compreender sistemas complexos Abstrações

Dividir e Conquistar

Page 13: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Modelo correto Resolve problemas de desenvolvimento

mais complicados

Modelo inadequado

1 – Modelagem

Modelo inadequado Causa confusão, desvia atenção para

questão irrelevantes

Visão de mundo, subjetivo Previlegiar aspectos de um problema

Page 14: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Nível de precisão Detalhamento Visão do sistema, várias pessoas

Modelos relacionados à realidade

1 – Modelagem

Modelos relacionados à realidade Não ocultar detalhes importantes Divergência: real x modelo Concepção x construção

Page 15: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Nenhum modelo único é suficiente Modularizar Projetos “quase independentes”

1 – Modelagem

Projetos “quase independentes” Inter-relacionados

Page 16: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Visões Casos de uso (requisistos do sistema) Projeto (espaço do problema e da

solução) Processo (distribuição dos processos e

1 – Modelagem

Processo (distribuição dos processos e threads no sistema) Implementação (realização física) Implantação Base do projeto do software

Page 17: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Orientação a Objetos Objeto Estruturado, problema ou solução

Classe

1 – Modelagem

Classe Conjunto de objetos comuns

Objetos têm uma identidade, um estado e um comportamento

Page 18: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Classes

2 – Conceito da UML

Page 19: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Interface

2 – Conceito da UML

CadUsuário

Page 20: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Colaborações

2 – Conceito da UML

Cadeia de Responsabilidades

Page 21: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Casos de Uso

2 – Conceito da UML

Casos de Uso

Page 22: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Classes Ativas

2 – Conceito da UML

EventManager

suspend()flush()

Page 23: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Componentes

2 – Conceito da UML

orderform.java

Page 24: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Os 7 tipos de itens estruturais Nós

2 – Conceito da UML

Servidor

Page 25: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas na UML São desenhados para permitir a

visualização de um sistema sob diferentes

3 – Diagramas na UML

visualização de um sistema sob diferentes perspectivas; nesse sentido, um diagrama constitui uma projeção de um determinado sistema.

Existem 9 Diagramas

Page 26: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas da UML Diagramas de Classes Diagramas de Objetos Diagramas de Casos de Uso Diagramas de Seqüências Diagramas de Colaborações

3 – Diagramas na UML

Diagramas de Classes Diagramas de Classes

Diagramas de Caso de Uso Diagramas de Caso de Uso

Diagramas de Gráficos de Estados Diagramas de Atividades Diagramas de Componentes Diagramas de Implantação

Diagramas de Atividades Diagramas de Atividades

Page 27: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Classes Exibe o conjunto de

classes, interfaces e colaborações bem como

3 – Diagramas na UML

colaborações bem como seus relacionamentos.

Abrange uma visão estática da estrutura do sistema.

Page 28: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Objetos Exibe o conjunto de

objetos e seus

3 – Diagramas na UML

objetos e seus relacionamentos.

Representa retratos estáticos de instâncias de itens encontrados em diagramas de classes.

Page 29: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Casos de Uso Exibe um conjunto de

casos de uso e atores e

3 – Diagramas na UML

casos de uso e atores e seus relacionamentos.

Abrangem a visão estática de casos de uso do sistema.

Page 30: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Interação Exibe uma interação,

consistindo de um conjunto de objetos e seus relacionamentos, incluindo

3 – Diagramas na UML

relacionamentos, incluindo as mensagens que podem ser trocadas entre eles.

Abrangem a visão dinâmica do sistema.

Page 31: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Seqüências É um diagrama de

3 – Diagramas na UML

É um diagrama de interação, cuja ênfase está na ordenação temporal das mensagens.

Page 32: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Colaboração É um diagrama de

interação, cuja ênfase

3 – Diagramas na UML

interação, cuja ênfase está na organização estrutural dos objetos que enviam e recebem mensagens.

Page 33: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Estados Exibem as Máquinas de

3 – Diagramas na UML

Exibem as Máquinas de Estados, formada por estados, transições, eventos e atividades

Abrangem uma visão dinâmica do sistema

Page 34: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Atividades Tipo especial de diagrama

3 – Diagramas na UML

Tipo especial de diagrama de gráfico de estado, exibindo o fluxo de uma atividade para outra no sistema diagramas de atividades.

É uma visão dinâmica

Page 35: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Componente Exibe as organizações e as

dependências existentes em um conjunto de

3 – Diagramas na UML

em um conjunto de componentes diagramas e componentes

É a visão estática da implementação do sistema.

Page 36: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Diagramas de Implantação Mostra as configurações

dos nós de processamento em tempo de execução e os

3 – Diagramas na UML

em tempo de execução e os componentes neles existentes.

É a visão estática de uma arquitetura diagramas de implantação.

Page 37: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Regras da UML

Nomes

3 – Diagramas na UML

Nomes Escopo Visibilidade Integridade Execução

Page 38: PROGRAMAÇÃO ORIENTADA A OBJETOS · 1 – Modelagem threads no sistema) Implementação (realização física) Implantação Base do projeto do software Orientação a Objetos Objeto

Para conhecer

+ 200 motivos+ 200 motivos

para virar FAM, acesse

Prof. Geovani Sajorato

[email protected]@gmail.com