SlideShare una empresa de Scribd logo
1 de 41
Análise e Projeto
Orientados a Objetos
  Jhonny Freire Oliveira - 879107
    8º Semestre de Sistemas de
           Informação
Sumário
•   Objetivo
•   O Paradigma da Orientação a Objetos
•   UML
•   Análise Orientada a Objetos
•   Projeto (Design) Orientado a Objetos
Objetivo
Transmitir uma ideia básica do
desenvolvimento orientado a objetos.

             Apresentando técnicas
             adotadas por
             profissionais experientes
             na análise e projeto de
             softwares.
O PARADIGMA
DA ORIENTAÇÃO
   A OBJETOS
Orientação a Objetos
É muito mais que apenas uma forma de
organizar o código-fonte de um software.

                   Trata-se de uma forma
                   de abstrair o domínio e
                   capturar sua estrutura
                   em um modelo
                   conceitual.
Classes
Na classe
programador
define quais são
os atributos e os
métodos dos
objetos criados a
partir dela.
A classe é para o
objeto o que uma
planta é para a
construção de
uma casa.
Objetos
Um objeto é como uma
casa construída através
da especificação de uma
planta. Podemos ter
vários objetos de uma
mesma classe.
Herança
Possibilita
reaproveitar uma
estrutura já
existente que nos
forneça uma base
para o
desenvolvimento,
provendo recursos
básicos e comuns.
Herança
Encapsulamento
      Permite ocultar
      atributos e
      métodos de um
      objeto do mundo
      externo a ele.
Encapsulamento
Não precisamos
conhecer o
funcionamento
interno de um caixa
eletrônico para
utilizá-lo.
Polimorfismo
   (poli = múltiplas , morfo = formas)


É o ato de reescrever um método
herdado da superclasse ou
interface, mas mantendo-se a
assinatura do método original.
Polimorfismo
Classes Abstratas
Algumas classes podem
ter sido criadas tão
genericamente para o uso
da herança, que não faz
sentido instanciá-las
diretamente.
Métodos Abstratos
Podemos criar métodos
genéricos apenas com a
definição do que deve
ser feito e não como ser
feito.
Interfaces
São como classes abstratas e
com apenas métodos abstratos.
A responsabilidade de
implementar o código fica por
conta da classe que implementa
a interface.
Agregação



As rodas fazem parte do contexto de carro,
mas a existência do carro não depende das
rodas, pois podemos trocá-las por outras em
qualquer momento.
Composição
O objeto Item do Pedido só tem
sentido se fazer parte de um objeto
Pedido.
UML
UML
     (Unified Modeling Language)


Diversos diagramas que facilitam
o entendimento entre
desenvolvedores e clientes a
respeito do sistema a ser
desenvolvido.
DIAGRAMAS DE COMPORTAMENTO



• Caso de Uso
• Atividades
• Máquina de Estado
DIAGRAMAS DE ESTRUTURA
• Classes
• Objetos
• Componentes
• Estrutura de Composição
• Pacotes
• Implantação
DIAGRAMAS DE INTERAÇÃO


• Sequência
• Comunicação
• Tempo
• Visão geral de Interação
ANÁLISE
ORIENTADA A
  OBJETOS
Identificação de Classes
Existem várias técnicas para
identificar classes, a mais
comum é destacar os
substantivos do texto que
define o problema a ser
resolvido pelo sistema.
Identificação de Classes
“No cadastro de usuários o
administrador deve fornecer o
nome completo, CPF, RG, sexo,
endereço completo,
telefones de contato, senha e email e
o nível de usuário, o código de
usuário é gerado automaticamente
pelo sistema...”
Eliminação de Classes
Agregação e Composição
Agregação e Composição
As associações muitas vezes
correspondem a verbos estáticos
ou a locuções verbais como junto
à, parte de, contido em, tem,
parte de, trabalha para, casado
com.
Utilizando a Herança
Utilizando a Herança
                                Top-Down

                       Refinar classes existentes
                       em subclasses mais
                       especializadas.
     Bottom-Up

Generalizar aspectos
comuns das classes
em uma superclasse.
PROJETO
  (DESIGN)
ORIENTADO A
  OBJETOS
Acoplamento


        Quanto mais
        dependente de
        outras classes,
        mas acoplada a
        classe está.
Acoplamento
Referenciar outras
classes pela
superclasse ou pela
interface favorece o
baixo acoplamento.
Coesão
Quanto menos
responsabilidades, mais
fácil de entender e
manter o código de
uma classe.
Coesão

Muitas responsabilidades
           =
     Baixa coesão
Coesão

       Poucas
  responsabilidades
           =
     Alta coesão
Divisão do Sistema (Camadas)

          Dividir classes em
          grupos separados
          por algum critério
          facilita o baixo
          acoplamento e a
          alta coesão.
Divisão do Sistema (Camadas)
Custo de Processamento



Em tempos de cloud
computing, quanto maior o
consumo de processamento
maior será o custo financeiro
para o cliente.

Más contenido relacionado

La actualidad más candente

Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaWanderlei Silva do Carmo
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - AdapterJuliana Cindra
 
Texto critérios ergonômicos
Texto critérios ergonômicosTexto critérios ergonômicos
Texto critérios ergonômicosirlss
 
Visibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLVisibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLufpb
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgeLorran Pegoretti
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de umlaudiclerio
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto AdapterMatheus Andrade
 
Apresentação criterios ergonômicos
Apresentação criterios ergonômicosApresentação criterios ergonômicos
Apresentação criterios ergonômicosirlss
 

La actualidad más candente (15)

Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vbaConceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
Conceitos Básicos de Orientação o Objetos aplicdo ao VBA - Classes em vba
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 
Texto critérios ergonômicos
Texto critérios ergonômicosTexto critérios ergonômicos
Texto critérios ergonômicos
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
Visibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UMLVisibilidade e Diagrama de Classe de Projeto na UML
Visibilidade e Diagrama de Classe de Projeto na UML
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Design Patterns - Adapter e Decorator
Design Patterns - Adapter e DecoratorDesign Patterns - Adapter e Decorator
Design Patterns - Adapter e Decorator
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Padrão De Projeto Adapter
Padrão De Projeto AdapterPadrão De Projeto Adapter
Padrão De Projeto Adapter
 
POO - Aula 1
POO - Aula 1POO - Aula 1
POO - Aula 1
 
Apresentação criterios ergonômicos
Apresentação criterios ergonômicosApresentação criterios ergonômicos
Apresentação criterios ergonômicos
 

Destacado

Fotografías de la Conferencia de Abraham Nosnik
Fotografías de la Conferencia de Abraham NosnikFotografías de la Conferencia de Abraham Nosnik
Fotografías de la Conferencia de Abraham Nosniklideresacademicos
 
5 - Alegoria e Adereço
5 - Alegoria e Adereço5 - Alegoria e Adereço
5 - Alegoria e AdereçoMari Barboza
 
Tarifa Cadiz calles 3 Tarifa streets Tarifa 屋の街
Tarifa Cadiz  calles 3 Tarifa streets Tarifa 屋の街Tarifa Cadiz  calles 3 Tarifa streets Tarifa 屋の街
Tarifa Cadiz calles 3 Tarifa streets Tarifa 屋の街B & M Co., Ltd.
 
FAQ BBOM - Tudo sobre a BBOM.
FAQ BBOM - Tudo sobre a BBOM.FAQ BBOM - Tudo sobre a BBOM.
FAQ BBOM - Tudo sobre a BBOM.Jordan Almeida
 
Departamento de la guajira
Departamento de la guajiraDepartamento de la guajira
Departamento de la guajiraaleannys
 
Títulos de capitalização
Títulos de capitalizaçãoTítulos de capitalização
Títulos de capitalizaçãoGabriel Alves
 
Procesos de integracion la
Procesos de integracion laProcesos de integracion la
Procesos de integracion laGADCS
 
Motu prã“prio primo feliciter
Motu prã“prio primo feliciterMotu prã“prio primo feliciter
Motu prã“prio primo felicitercnisbrasil
 
Presentacionfotos samigirgis
Presentacionfotos samigirgisPresentacionfotos samigirgis
Presentacionfotos samigirgislideresacademicos
 
Clipagem jornais ano 2008
Clipagem jornais ano 2008Clipagem jornais ano 2008
Clipagem jornais ano 2008Mari Barboza
 
1 a (pronunciation)
1 a (pronunciation)1 a (pronunciation)
1 a (pronunciation)Vanny Nguyen
 
Mar en Japón Japan Sea 日本海 by Paco Barberá
Mar en Japón Japan Sea 日本海  by Paco Barberá Mar en Japón Japan Sea 日本海  by Paco Barberá
Mar en Japón Japan Sea 日本海 by Paco Barberá B & M Co., Ltd.
 
028 strada infradagen 2014
028 strada infradagen 2014028 strada infradagen 2014
028 strada infradagen 2014CROW
 
Parque Estadual da Serra do Mar - Núcleo Caraguatatuba
Parque Estadual da Serra do Mar - Núcleo CaraguatatubaParque Estadual da Serra do Mar - Núcleo Caraguatatuba
Parque Estadual da Serra do Mar - Núcleo CaraguatatubaRebecca Silveira
 

Destacado (20)

Fotografías de la Conferencia de Abraham Nosnik
Fotografías de la Conferencia de Abraham NosnikFotografías de la Conferencia de Abraham Nosnik
Fotografías de la Conferencia de Abraham Nosnik
 
5 - Alegoria e Adereço
5 - Alegoria e Adereço5 - Alegoria e Adereço
5 - Alegoria e Adereço
 
Tarifa Cadiz calles 3 Tarifa streets Tarifa 屋の街
Tarifa Cadiz  calles 3 Tarifa streets Tarifa 屋の街Tarifa Cadiz  calles 3 Tarifa streets Tarifa 屋の街
Tarifa Cadiz calles 3 Tarifa streets Tarifa 屋の街
 
FAQ BBOM - Tudo sobre a BBOM.
FAQ BBOM - Tudo sobre a BBOM.FAQ BBOM - Tudo sobre a BBOM.
FAQ BBOM - Tudo sobre a BBOM.
 
Departamento de la guajira
Departamento de la guajiraDepartamento de la guajira
Departamento de la guajira
 
Títulos de capitalização
Títulos de capitalizaçãoTítulos de capitalização
Títulos de capitalização
 
Informe 027 PLR_anexo
Informe 027 PLR_anexoInforme 027 PLR_anexo
Informe 027 PLR_anexo
 
Actividad 2 pascual
Actividad 2 pascualActividad 2 pascual
Actividad 2 pascual
 
Procesos de integracion la
Procesos de integracion laProcesos de integracion la
Procesos de integracion la
 
Motu prã“prio primo feliciter
Motu prã“prio primo feliciterMotu prã“prio primo feliciter
Motu prã“prio primo feliciter
 
German del sol
German del solGerman del sol
German del sol
 
Presentacionfotos samigirgis
Presentacionfotos samigirgisPresentacionfotos samigirgis
Presentacionfotos samigirgis
 
tickets
ticketstickets
tickets
 
La erik jones fotos
La erik jones fotosLa erik jones fotos
La erik jones fotos
 
Clipagem jornais ano 2008
Clipagem jornais ano 2008Clipagem jornais ano 2008
Clipagem jornais ano 2008
 
1 a (pronunciation)
1 a (pronunciation)1 a (pronunciation)
1 a (pronunciation)
 
Mar en Japón Japan Sea 日本海 by Paco Barberá
Mar en Japón Japan Sea 日本海  by Paco Barberá Mar en Japón Japan Sea 日本海  by Paco Barberá
Mar en Japón Japan Sea 日本海 by Paco Barberá
 
028 strada infradagen 2014
028 strada infradagen 2014028 strada infradagen 2014
028 strada infradagen 2014
 
Parque Estadual da Serra do Mar - Núcleo Caraguatatuba
Parque Estadual da Serra do Mar - Núcleo CaraguatatubaParque Estadual da Serra do Mar - Núcleo Caraguatatuba
Parque Estadual da Serra do Mar - Núcleo Caraguatatuba
 
Chocolate
ChocolateChocolate
Chocolate
 

Similar a Apresentação versão 1.5

Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.pptssuser7025cf
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignÍtalo Bandeira
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patternsAndre Baltieri
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsHerval Freire
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaFernando Camargo
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual cFabiano Lima
 

Similar a Apresentação versão 1.5 (20)

Sld 4
Sld 4Sld 4
Sld 4
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
5507 os principais design patterns
5507   os principais design patterns5507   os principais design patterns
5507 os principais design patterns
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti Patterns
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
UMLIntro.pptx
UMLIntro.pptxUMLIntro.pptx
UMLIntro.pptx
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Construção de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em JavaConstrução de Frameworks com Annotation e Reflection API em Java
Construção de Frameworks com Annotation e Reflection API em Java
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Poo apostila visual c
Poo apostila visual cPoo apostila visual c
Poo apostila visual c
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 

Apresentação versão 1.5