Upload
lcbj
View
1.385
Download
0
Embed Size (px)
Citation preview
Sobre mim... Mestre em Ciência da Computação com 10 anos de experiência de
mercado, atuando como Arquiteto de Software, com 04 anos direcionados para a área Financeira e com os 03 últimos focados na Garantia de Qualidade para o setor de Telecomunicações.
Qualificação Mestre em Engenharia de Software pelo IPT/USP MBA em Gestão Empresarial pela FGV Especialista em Gestão de TI pela FIAP Bacharel em Ciência da Computação pela UFPE
Certificações SCEA - Sun Certified Enterprise Architect TIBCO Enterprise Message Service Certified ITIL - ITIL Foundation Certified Professional IBM/Rational Specialist for Rational Requirements Management with Use
Cases(+ReqPro) IBM/Rational Certified Solution Designer - IBM Rational Unified Process V7.0 IBM/Rational Solution Designer – Object Oriented Analysis and Design(+Rose) SCWCD - Sun Certified Web Component Developer for the J2EE SCPJ - Sun Certified Programmer for Java 2 Platform
Programação Ementa
Apresenta os conceitos e as principais características das técnicas de programação orientada a objeto, bem como terminologia e tecnologia correlatas.
Objetivos Exercitar a programação orientada a objetos utilizando as etapas do desenvolvimento de
software orientado a objetos com UML Bibliografia
BARNES, D. J. KÖLLING, M. Programação Orientada a Objetos com Java - Uma introdução prática ao BlueJ. Prentice Hall, 2004.
MEYER, Bertrand., Object Oriented Software Construction. 2nd ed. New Jersey: PH, 1997. CHEN, P., GOLDBERG, S., BAGNALL, B. C# para programadores de Java. Alta Books -
Informática, 2002. FOWLER, Martin, UML Essencial.. 3ª ed. Porto Alegre: Bookman, 2005.LIMA, da A. S. UML 2.0. Do requisito à solução. Érica, 2005.MEDEIROS, de E. S. Desenvolvendo
software com UML 2.0: definitivo. São Paulo, Makron Books, 2006.
Agenda
OO e C# Apresenta os conceitos e as principais características das técnicas de
programação orientada a objeto, bem como terminologia e tecnologia correlatas.
Conceitos e terminologia de orientação a objetos Linguagens Orientadas a Objetos vs. baseadas em objetos Histórico e "survey" sobre linguagens orientadas a objetos Técnicas de modularização / Decomposição de Software Herança simples e múltipla Tendências (BD OO, SOs OO) Uma Linguagem orientada a objetos: C#
OOAD - Analise e Projeto Orientado a Objetos Padrões de Projeto
Programação Orientada a Objetos
Foco nos dados (objetos) do sistema, não nas funções
Estruturação do programa é baseada nos dados, não nas funções
As funções mudam mais do que os dados
Um Objeto…
Um objeto é uma entidade com limites bem definidos com uma identidade que encapsula um estado e um comportamento.
Objeto
Nome: J ClarkFuncional: 567138Nascimento: 07/25/1961Disciplina: Matematica
Um Objeto tem Estado O estado de um objeto é uma das possíveis
condições sob a qual o objeto pode estar O estado é composto pelos valores internos do objeto
e suas relações com outros objetos.
Nome: J ClarkFuncional: 567138Nascimento: 07/25/1961Disciplina: Matemática
Professora Clark
Nome: J ClarkFuncional: 567138Nascimento: 07/25/1961Disciplina: Matematica
Um Objeto tem Comportamento
O comportamento determina como um objeto reage interage com o mundo externo
Esta interação é feita a através de troca de mensagens
Comportamento da Professora ClarkOrientar AlunosMinistrar AulaLançar NotasPreparar Prova
Orie
ntarA
lunos(
)
PrepararProva()
LançarNotas()
Professora Clark
MinistrarAula()
Um Objeto tem Identidade
Cada objeto tem um identidade única, mesmo que seu estado seja idêntico ao de outro objeto.
Professor “J Clark” ensina Biologia
Professor “J Clark” ensina Biologia
E uma Classe…
Uma classe a descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica. Um objeto é uma instância de uma classe
Uma Classe tem Atributos
Um atributo é uma propriedade identificada que especifica um conjunto de valores possíveis a ser atribuído por cada objeto da classe.
Atributos
Estudante
- nome- endereço- identidade- nascimento
Um Classe tem Operações Operações especifica as mensagens que
podem ser enviadas aos objetos Tem uma assinatura que determina os parâmetros
de entrada e saída.
Operações
Student
+ atenderAula()+ realizarProva()+ estudar()
Princípios da Orientação à Objetos
Orientação à Objetos
Enca
psul
amen
to
Abs
traç
ão
Hie
rarq
uia
Mod
ular
idad
e
Abstração Representação simplificada de uma entidade
realrecord Pessoa nome : string; dataNasc : integer;end
procedure idade begin .....
nome
dataNasc idade
29/1/74João =9&%2!1abstraçãoformalização
Encapsulamento Esconde a implementação dos clientes
Orie
ntarA
lunos(
)
PrepararProva()
LançarNotas()
MinistrarAula()
Nome: J ClarkFuncional: 567138Nascimento: 07/25/1961Disciplina: Matematica
DeterninarDisciplina(Inglês)
Det
erni
narD
isci
plin
a()
Modularidade?
Quebra algo complexo em partes menores mais simples mais especializadas
Melhora a extensibilidade e manutenabilidade
Hierarquia
Especialização
Generalização
Poupança
ContaBancaria
ContaCorrentePoupança
CobrarMensalidade()
Define uma relação de Herança entre classes A herenca caracteriza a Generalização
de e Especialização Fundamenta o Polimorfismo
Polimorfismo