Вы находитесь на странице: 1из 37

TREINAMENTO INTERNO ANLISE/PROGRAMAO OO

Rodrigo Calazans Negro rodrigo.calazans@voeit.com.br Jundia, SP Novembro 2012

APRESENTAO

Objetivo
Material utilizado Estratgia utilizada

HISTRICO

Surgimento da Enga. de Sofware para resolver os problemas gerados pela crise do software
Projetos estourando o oramento Projetos estourando o prazo Software de baixa qualidade

As vrias tcnicas desenvolvidas nos anos 70 e 80 no resolveram o problema de produtividade e qualidade nos software

EVOLUO E MUDANAS

Mudana no processo do negocio do usurio (cliente)


Dcada

40 mdia 10 anos 60-70 mdia 5 anos 90 mdia 2 anos Atualmente 6 meses

Quanto maior a flexibilidade menor o impacto

A mudana para alcanar a qualidade e produtividade est na reutilizao.

ANLISE E PROGRAMAO OO

Anlise Orientada a Objetos

Se preocupa com a modelagem dos objetos para o domnio da aplicao.

Programao Orientada a Objetos


Se

preocupa com a implementao utilizando uma linguagem de programao OO.

POR QUE ORIENTAO A OBJETOS

Desenvolvimento de uma arquitetura mais estvel Aumento na produtividade Conhecimento pode ser compartilhado Alto grau de reusabilidade das rotinas desenvolvidas

Flexibilidade
Custo

ORIENTAO A OBJETOS

OO

Abstrao Encapsulamento Objetos Atributos Mtodos Classe Herana Polimorfismo UML Principais diagramas Diagrama de classes Relacionamento entre as classes Tipos de relacionamentos

ABSTRAO

Concentrar nos aspectos essenciais de um contexto


Separar em um ou mais elementos de sua totalidade Pense em um carro!

ABSTRAO

Cada pessoa pensou em um carro Independente do modelo, cor, marca, ano, todos so carros
Roda Vidro Carroceria

Maria

Jos

Antnio

ENCAPSULAMENTO

No precisamos saber os detalhes do funcionamento, apenas que funciona! Caixa Preta

ENCAPSULAMENTO

Ocultar aspectos no relevantes Permite alteraes sem afetar demais partes do sistema Utilizado para impedir o acesso direto ao estado (atributos) de um objeto

Grande vantagem da POO em relao a programao tradicional

OBJETOS

Pode ser real ou abstrato

Cadeira, Carro, Animal, etc Equao, conta corrente, etc

Possui estado (informao) Oferece operaes (comportamentos) que pode verificar ou alterar o estado Pode ser classificado por categorias ou classes

OBJETOS COMPUTACIONAIS

Abstraes do mundo real Estruturas que contm as informaes e comportamentos que representam um sistema Caracterizados por Atributos e Mtodos
Atributos: propriedades de um objeto Mtodos: so as aes que um objeto pode realizar

ATRIBUTOS

Caractersticas que descrevem o objeto Exemplo

Pessoa

Cor do cabelo, cor dos olhos, nome, idade, etc

Carro

Cor, modelo, marca, ano, etc

Cachorro

Idade, peso, cor dos pelos, raa, etc

ATRIBUTOS (PROPRIEDADES)

Objeto Pessoa
Propriedades Cor do cabelo Cor dos olhos Nome Idade Objeto A Preto Verde Maria 45 Objeto B Castanho Castanho Joo 34 Objeto C Branco Azul Jos 78

MTODOS

So comportamentos realizados nos objetos Podem modificar o estado (atributo) do objeto

Exemplo

Pessoa
Pintar o cabelo => Altera o atributo cor do cabelo Fazer aniversrio => Altera o atributo idade Colocar lente de Contato => altera o atribulo cor do olhos

ATRIBUTOS E MTODOS

Vamos imaginar o objeto Co

Atributos

Nome, idade, peso, cor do pelo, comprimentos dos pelos, etc Latir, comer, sentar, dormir, etc

Mtodos

Agora, vamos imaginar o objeto Arquivo

Atributos

Nome do arquivo, tamanho, extenso, etc Ler, escrever, imprimir, salvar, etc

Mtodos

CLASSE

Modelo que descreve uma abstrao e a partir do qual podemos criar objetos Tambm podemos dizer que classes so os moldes (modelos) dos objetos Uma classe por herdar e ser herdada de outras classes

Atributos e Mtodos

CLASSES ANCESTRAIS E DESCENDENTES

Ancestrais

Classes das quais as outras dependem

Descendentes

Classes originadas a partir de outra


Animais
Aves Caninos Mamferos Peixes Felinos Rpteis

ces

Lobos

Gatos

Panteras

CLASSE E OBJETOS

Cada objeto uma instncia da classe

Mtodos

Atributo

CLASSE

Duas categorias de bichos

Ces Gatos

CLASSE

Animais domsticos

Ces

Gatos

CLASSE

Mamferos

Jos
Zequinha

Maria

Seres Humanos

Animais Selvagens

HERANA

Todos os Atributos e Mtodos contidos no ancestral da classe (classe pai), j esto contidos automaticamente nos descendentes
Mamar
Herana Mamfero Possuir Plos

Caracteristicas comuns

Possuir Mos e Ps Primata Inteligente

Ser Humano

Andar ereto Filosofar

HERANA

Alteraes nos ancestrais se propagam aos descendentes Menos bugs, mais produtividade O programador s escreve o que muda

HERANA SIMPLES

HERANA MLTIPLA

POLIMORFISMO

Realiza a mesma operao (mtodo), mas de forma diferente (ncleo) Um mtodo definido no ancestral redefinido no descendente com um comportamento diferente Todo mtodo definido em um ancestral pode ser acessado atravs dos descendentes

POLIMORFISMO

As classes fazem a mesma operao (mtodo), mas de forma diferente

Animais Falam

Celular

UML

Linguagem que nos diz o que fazer, sem dizer como e em que ordem uma famlia de notaes grficas, auxilia na descrio e projetos, especialmente aqueles que utilizam OO Padronizada, voc no inventa apenas utiliza os recursos Ajuda a conceber e validar ideias Viso de como ser o projeto, e como as entidades iram interagir entre si

UML
PRINCIPAIS DIAGRAMAS

Diagrama de casos de uso Diagrama de atividades Diagrama de classes Diagrama de sequencias

Diagrama de pacotes
Diagrama de estados

DIAGRAMA DE CLASSES

Podemos dizer que so os principais Ilustram as classes, interfaces e relacionamentos

Composto por trs partes nome da classe, atributos e operaes


Nome da classe

Atributos

Operaes

RELACIONAMENTO ENTRE AS CLASSES

As entidades possuem relao entre si, demostrando que esto ligadas de alguma forma

TIPOS DE RELACIONAMENTOS

Associao simples

Simples associao entre as classes, forma mais bsica


Associao que demostra uma ligao forte, mudana na classe base altera a(s) subclasse(s) Estabelece uma relao todo-parte entre as classes, porm existe um grau de independncia Estabelece uma relao todo-parte entre as classes, porm existe um total grau de dependncia

Associao de Herana/Generalizao

Associao de agregao

Associao de composio

TIPOS DE RELACIONAMENTOS

Associao simples

Representada por um trao


Representada por um trao com uma seta, apontando para a classe base Representada por um losango aberto, do lado todo

Associao de Herana/Generalizao

Associao de agregao

Associao de composio

Representada por um losango cheio, do lado todo

TIPOS DE RELACIONAMENTOS

Utilizar agregao ou composio? Agregao


Carro ->Rodas Uma roda parte de um carro, porm a roda existe por si s, voc pode retirar a roda de um carro para colocar em outro

Composio
Pedido->Itens Se voc destruir um pedido, os itens so destrudos, eles no tem sentido se no houver pedido

Se a parte existe sem o todo ->agregao Se a parte no existe sem o todo ->composio

Dvidas? Crticas?

Sugestes?

Вам также может понравиться