O documento apresenta uma introdução à Orientação a Objetos (OO) e à linguagem de modelagem UML. Aborda conceitos básicos de OO como objetos, classes, atributos, métodos, encapsulamento e herança. Também discute a história e vantagens da OO, além de apresentar os principais diagramas e ferramentas de apoio da UML.
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
Características da Programação Orientada por Objetos (POO).
Conceito de Classe, Atributos, Métodos, e Eventos.
Conceito de Objeto.
Conceito de Encapsulamento.
Conceito de Visibilidade de Classes, Métodos e Atributos.
Diagramas de Classe.
O ambiente de trabalho do Visual C#.
Objetos básicos e outras características básicas da linguagem do Visual C# e respetivo ambiente de trabalho.
O documento discute os conceitos e princípios da análise orientada a objetos. Ele define análise como o estudo do domínio de um problema para especificar comportamentos externos. A análise orientada a objetos tem como objetivos formalizar uma visão do mundo real e formalizar a colaboração entre objetos. Ele também descreve princípios como qualquer coisa é um objeto, objetos realizam tarefas através de serviços, classes agrupam objetos similares e classes são organizadas em hierarquias.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
O documento descreve o histórico e conceitos fundamentais do paradigma de programação orientada a objetos. Em 3 frases:
1) A programação orientada a objetos surgiu nos anos 1960 com as linguagens Simula e Smalltalk e se popularizou nas décadas seguintes com C++ e Java.
2) Os conceitos fundamentais incluem objetos, classes, encapsulamento, herança, polimorfismo e mensagens para comunicação entre objetos.
3) A orientação a objetos traz vantagens como reutilização de código, extensibilidade
Este documento apresenta os conceitos fundamentais da metodologia de desenvolvimento orientada a objetos, incluindo: 1) a definição de metodologia e orientação a objetos; 2) os conceitos de classe, objeto, herança e encapsulamento; 3) as diferenças entre metodologias estruturadas e orientadas a objetos.
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
O documento resume um curso de extensão em Java com 40 horas, abordando tópicos como introdução à linguagem Java, programação orientada a objetos, controle de fluxo, arrays, persistência de dados com Hibernate, desenvolvimento web e interfaces gráficas.
Este documento fornece uma introdução aos conceitos fundamentais da programação orientada a objetos, incluindo: 1) O que é OO e suas vantagens em relação às técnicas tradicionais de programação; 2) Os conceitos-chave de objeto, classe, mensagem, abstração, encapsulamento, herança e polimorfismo.
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
Características da Programação Orientada por Objetos (POO).
Conceito de Classe, Atributos, Métodos, e Eventos.
Conceito de Objeto.
Conceito de Encapsulamento.
Conceito de Visibilidade de Classes, Métodos e Atributos.
Diagramas de Classe.
O ambiente de trabalho do Visual C#.
Objetos básicos e outras características básicas da linguagem do Visual C# e respetivo ambiente de trabalho.
O documento discute os conceitos e princípios da análise orientada a objetos. Ele define análise como o estudo do domínio de um problema para especificar comportamentos externos. A análise orientada a objetos tem como objetivos formalizar uma visão do mundo real e formalizar a colaboração entre objetos. Ele também descreve princípios como qualquer coisa é um objeto, objetos realizam tarefas através de serviços, classes agrupam objetos similares e classes são organizadas em hierarquias.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
O documento descreve o histórico e conceitos fundamentais do paradigma de programação orientada a objetos. Em 3 frases:
1) A programação orientada a objetos surgiu nos anos 1960 com as linguagens Simula e Smalltalk e se popularizou nas décadas seguintes com C++ e Java.
2) Os conceitos fundamentais incluem objetos, classes, encapsulamento, herança, polimorfismo e mensagens para comunicação entre objetos.
3) A orientação a objetos traz vantagens como reutilização de código, extensibilidade
Este documento apresenta os conceitos fundamentais da metodologia de desenvolvimento orientada a objetos, incluindo: 1) a definição de metodologia e orientação a objetos; 2) os conceitos de classe, objeto, herança e encapsulamento; 3) as diferenças entre metodologias estruturadas e orientadas a objetos.
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
O documento resume um curso de extensão em Java com 40 horas, abordando tópicos como introdução à linguagem Java, programação orientada a objetos, controle de fluxo, arrays, persistência de dados com Hibernate, desenvolvimento web e interfaces gráficas.
Este documento fornece uma introdução aos conceitos fundamentais da programação orientada a objetos, incluindo: 1) O que é OO e suas vantagens em relação às técnicas tradicionais de programação; 2) Os conceitos-chave de objeto, classe, mensagem, abstração, encapsulamento, herança e polimorfismo.
Este documento apresenta as notas de aula da disciplina Linguagem de Programação III ministrada pelo professor Juliano Gomes Weber. O documento introduz os tópicos que serão abordados na disciplina, como programação orientada a objetos, banco de dados e programação para a web. Também apresenta o professor e discute a sistemática de avaliação da disciplina.
UML, Linguagem de Modelagem Unificada, é um padrão para modelagem visual de software.
Neste tutorial abordamos como utilizar a UML para fazer especificação de software através de conjunto de modelos e diagramas.
A modelagem visual facilita o entendimento e a comunicação do 'o quê' precisa ser feito e 'como' deverá ser feito o software;
O documento discute conceitos de programação orientada a objetos como classes, objetos, encapsulamento, herança e polimorfismo. Também lista certificações da Oracle para Java SE 6 e 7.
O documento discute os conceitos fundamentais de orientação a objetos em Java, incluindo: 1) Definições de classes, objetos, encapsulamento e herança; 2) Como criar objetos a partir de classes e compartilhar dados entre objetos; 3) Como definir métodos e construtores em classes.
1) O documento apresenta as informações sobre a disciplina de Análise e Projeto de Sistemas Orientados a Objetos (APOO) ministrada pelo professor Ricardo Luiz.
2) A ementa descreve os principais tópicos abordados na disciplina, incluindo ciclo de vida de sistemas, modelagem com UML, ferramentas CASE e exercícios práticos.
3) O plano de aula detalha os temas que serão ensinados ao longo das aulas, como conceitos de orientação a objetos
O documento discute os principais conceitos de programação estruturada e orientada a objetos. Apresenta as características e vantagens de cada paradigma, além de conceitos como classes, objetos, atributos, métodos, herança e encapsulamento. Também aborda programação linear, funções, procedimentos e modularização.
Este documento apresenta um seminário sobre bancos de dados orientados a objetos. Resume os principais tópicos histórico, características, exemplos, motivação, padronização, linguagens e um exemplo de SGBDOO, o Caché.
O documento introduz conceitos fundamentais de programação orientada a objetos, incluindo: (1) cenários de desenvolvimento OO que facilitam entendimento do usuário e reutilização de código; (2) histórico da OO desde 1967; (3) definição de objetos, classes, atributos, métodos e mensagens que formam a base da programação OO.
O documento introduz os principais conceitos da programação orientada a objetos, incluindo as diferenças em relação à programação estruturada, herança, polimorfismo, classes, objetos, métodos, encapsulamento de dados.
Este documento fornece uma introdução à análise orientada a objetos, discutindo conceitos como modelagem de domínio, modelagem eficiente, conhecimento compartilhado e implementação iterativa. Inclui exemplos de modelagem de sistemas como um simulador de rotas de rede.
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
O documento discute conceitos fundamentais da programação orientada a objetos, incluindo objetos, classes, atributos, métodos, herança, encapsulamento e polimorfismo. Classes descrevem objetos e seus tipos, enquanto atributos e métodos especificam suas propriedades e comportamentos. A herança permite a reutilização de código entre classes relacionadas, e o encapsulamento esconde detalhes de implementação.
Este documento fornece uma introdução aos fundamentos da orientação a objetos e da linguagem UML. Explica conceitos como análise, paradigma estruturado vs orientado a objetos, propósitos da OO, conceitos como objetos e classes, e principais metodologias OO. Também apresenta o surgimento da UML, o que é UML, suas características e limitações.
Este documento discute conceitos básicos de programação orientada a objetos com C++. Ele aborda tópicos como projeto de programas OO, a linguagem C++ e aplicações, introduzindo conceitos como classes, objetos, encapsulamento, herança e polimorfismo.
O documento apresenta os principais conceitos da programação orientada a objetos de acordo com a definição de Alan Kay, incluindo: (1) tudo é um objeto que troca mensagens; (2) classes definem tipos de objetos; (3) objetos são instâncias de classes com dados e comportamentos. Também aborda encapsulamento, herança, polimorfismo e ferramentas para ensinar POO como BlueJ e Greenfoot.
Este documento apresenta os principais conceitos da Linguagem de Modelagem Unificada (UML). Resume os principais métodos de engenharia de software orientados a objetos que levaram ao desenvolvimento da UML e descreve os tipos de modelos e diagramas que compõem a UML, incluindo classes, sequências, casos de uso e máquinas de estados.
O documento apresenta os fundamentos da programação orientada a objetos. Resume os principais conceitos como objetos, classes, encapsulamento, herança e polimorfismo. Explica a diferença entre a programação estruturada e orientada a objetos.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
O documento discute os bancos de dados orientados a objetos (BDOO), que oferecem maior flexibilidade na criação e manipulação de tipos de dados complexos requeridos por aplicações avançadas. Os BDOOs armazenam objetos persistentes que podem ser compartilhados entre programas, preservando sua integridade através de identificadores únicos. Eles também suportam características como herança e polimorfismo que permitem a reutilização e especialização de objetos.
O documento discute a programação orientada a aspectos (POA), introduzindo seus principais conceitos como separação de interesses, aspectos, pointcuts e advice. A POA surgiu para lidar com problemas como espalhamento de código que não são resolvidos pela programação orientada a objetos. AspectJ é uma das primeiras implementações da POA e permite modularizar de forma independente interesses transversais através de aspectos.
EVOLUÇÃO-EVOLUÇÃO- A evolução pode ser definida como a mudança na forma e no ...jenneferbarbosa21
JENNEFER AGUIAR BARBOSA e LÚCIA FILGUEIRAS BRAGA
Trabalho de Conclusão de Curso de Graduação em Ciências Biológicas “Recursos didáticos para o ensino de Ciências da natureza, utilizando uma Carpoteca temática e itinerante com Espécies fornecedoras de Produtos Florestais Não Madeireiros” - Universidade do Estado de Mato Grosso.
Este documento apresenta as notas de aula da disciplina Linguagem de Programação III ministrada pelo professor Juliano Gomes Weber. O documento introduz os tópicos que serão abordados na disciplina, como programação orientada a objetos, banco de dados e programação para a web. Também apresenta o professor e discute a sistemática de avaliação da disciplina.
UML, Linguagem de Modelagem Unificada, é um padrão para modelagem visual de software.
Neste tutorial abordamos como utilizar a UML para fazer especificação de software através de conjunto de modelos e diagramas.
A modelagem visual facilita o entendimento e a comunicação do 'o quê' precisa ser feito e 'como' deverá ser feito o software;
O documento discute conceitos de programação orientada a objetos como classes, objetos, encapsulamento, herança e polimorfismo. Também lista certificações da Oracle para Java SE 6 e 7.
O documento discute os conceitos fundamentais de orientação a objetos em Java, incluindo: 1) Definições de classes, objetos, encapsulamento e herança; 2) Como criar objetos a partir de classes e compartilhar dados entre objetos; 3) Como definir métodos e construtores em classes.
1) O documento apresenta as informações sobre a disciplina de Análise e Projeto de Sistemas Orientados a Objetos (APOO) ministrada pelo professor Ricardo Luiz.
2) A ementa descreve os principais tópicos abordados na disciplina, incluindo ciclo de vida de sistemas, modelagem com UML, ferramentas CASE e exercícios práticos.
3) O plano de aula detalha os temas que serão ensinados ao longo das aulas, como conceitos de orientação a objetos
O documento discute os principais conceitos de programação estruturada e orientada a objetos. Apresenta as características e vantagens de cada paradigma, além de conceitos como classes, objetos, atributos, métodos, herança e encapsulamento. Também aborda programação linear, funções, procedimentos e modularização.
Este documento apresenta um seminário sobre bancos de dados orientados a objetos. Resume os principais tópicos histórico, características, exemplos, motivação, padronização, linguagens e um exemplo de SGBDOO, o Caché.
O documento introduz conceitos fundamentais de programação orientada a objetos, incluindo: (1) cenários de desenvolvimento OO que facilitam entendimento do usuário e reutilização de código; (2) histórico da OO desde 1967; (3) definição de objetos, classes, atributos, métodos e mensagens que formam a base da programação OO.
O documento introduz os principais conceitos da programação orientada a objetos, incluindo as diferenças em relação à programação estruturada, herança, polimorfismo, classes, objetos, métodos, encapsulamento de dados.
Este documento fornece uma introdução à análise orientada a objetos, discutindo conceitos como modelagem de domínio, modelagem eficiente, conhecimento compartilhado e implementação iterativa. Inclui exemplos de modelagem de sistemas como um simulador de rotas de rede.
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
O documento discute conceitos fundamentais da programação orientada a objetos, incluindo objetos, classes, atributos, métodos, herança, encapsulamento e polimorfismo. Classes descrevem objetos e seus tipos, enquanto atributos e métodos especificam suas propriedades e comportamentos. A herança permite a reutilização de código entre classes relacionadas, e o encapsulamento esconde detalhes de implementação.
Este documento fornece uma introdução aos fundamentos da orientação a objetos e da linguagem UML. Explica conceitos como análise, paradigma estruturado vs orientado a objetos, propósitos da OO, conceitos como objetos e classes, e principais metodologias OO. Também apresenta o surgimento da UML, o que é UML, suas características e limitações.
Este documento discute conceitos básicos de programação orientada a objetos com C++. Ele aborda tópicos como projeto de programas OO, a linguagem C++ e aplicações, introduzindo conceitos como classes, objetos, encapsulamento, herança e polimorfismo.
O documento apresenta os principais conceitos da programação orientada a objetos de acordo com a definição de Alan Kay, incluindo: (1) tudo é um objeto que troca mensagens; (2) classes definem tipos de objetos; (3) objetos são instâncias de classes com dados e comportamentos. Também aborda encapsulamento, herança, polimorfismo e ferramentas para ensinar POO como BlueJ e Greenfoot.
Este documento apresenta os principais conceitos da Linguagem de Modelagem Unificada (UML). Resume os principais métodos de engenharia de software orientados a objetos que levaram ao desenvolvimento da UML e descreve os tipos de modelos e diagramas que compõem a UML, incluindo classes, sequências, casos de uso e máquinas de estados.
O documento apresenta os fundamentos da programação orientada a objetos. Resume os principais conceitos como objetos, classes, encapsulamento, herança e polimorfismo. Explica a diferença entre a programação estruturada e orientada a objetos.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
O documento discute os bancos de dados orientados a objetos (BDOO), que oferecem maior flexibilidade na criação e manipulação de tipos de dados complexos requeridos por aplicações avançadas. Os BDOOs armazenam objetos persistentes que podem ser compartilhados entre programas, preservando sua integridade através de identificadores únicos. Eles também suportam características como herança e polimorfismo que permitem a reutilização e especialização de objetos.
O documento discute a programação orientada a aspectos (POA), introduzindo seus principais conceitos como separação de interesses, aspectos, pointcuts e advice. A POA surgiu para lidar com problemas como espalhamento de código que não são resolvidos pela programação orientada a objetos. AspectJ é uma das primeiras implementações da POA e permite modularizar de forma independente interesses transversais através de aspectos.
EVOLUÇÃO-EVOLUÇÃO- A evolução pode ser definida como a mudança na forma e no ...jenneferbarbosa21
JENNEFER AGUIAR BARBOSA e LÚCIA FILGUEIRAS BRAGA
Trabalho de Conclusão de Curso de Graduação em Ciências Biológicas “Recursos didáticos para o ensino de Ciências da natureza, utilizando uma Carpoteca temática e itinerante com Espécies fornecedoras de Produtos Florestais Não Madeireiros” - Universidade do Estado de Mato Grosso.
Cards das Espécies da Coleção-Carpoteca Temática Itinerante sediada no Labora...jenneferbarbosa21
JENNEFER AGUIAR BARBOSA e LÚCIA FILGUEIRAS BRAGA
Trabalho de Conclusão de Curso de Graduação em Ciências Biológicas “Recursos didáticos para o ensino de Ciências da natureza, utilizando uma Carpoteca temática e itinerante com Espécies fornecedoras de Produtos Florestais Não Madeireiros” - Universidade do Estado de Mato Grosso -Campus de Alta Floresta.
Taxonomia: é a ciência que classifica os seres vivos, estabelecendo critérios...jenneferbarbosa21
Taxonomia: é a ciência que classifica os seres vivos, estabelecendo critérios para classificar todos os seres vivos em grupos, de acordo com as características fisiológicas, evolutivas, anatômicas e ecológicas.
1. Aula 1
Introdução à Orientação a
Objetos (OO) e UML
Departamento de Sistemas de Computação
Universidade de São Paulo
Análise e Projeto Orientados a Objetos
Responsável
Prof. Seiji Isotani (sisotani@icmc.usp.br)
2. Introdução
⚫Necessidade de abordagens para desenvolver
software de maneira organizada e estruturada
◦ Análise Estruturada
◦ Análise Essencial
◦ Análise OO
◦ ...
3. Entendimento
Modificação
Revalidação
Projeto
Codificação
Teste
Análise de Sistema
Planejamento
Análise de
Requisitos
Fases dos Modelos de
Processo de Software
DEFINIÇÃO
MANUTENÇÃO
Análise OO
ATIVIDADES DE
APOIO
• Controle e
Acompanhamento do
Projeto de Software
• Revisões Técnicas
Formais
• Garantia de
Qualidade de
Software
• Gerenciamento de
Configuração de
Software
• Preparação e
Produção de
Documentos
• Gerenciamento de
Reusabilidade
• Medidas
• Gerenciamento de
Riscos
CONSTRUÇÃO
Projeto OO
4. Conceitos Básicos
⚫ Orientação a Objetos (OO) é uma abordagem de
programação que procura explorar nosso lado intuitivo. Os
objetos da computação são análogos aos objetos existentes
no mundo real.
⚫ No enfoque de OO, os átomos do processo de computação
são os objetos que trocam mensagens entre si.
⚫ Essas mensagens resultam na ativação de métodos, os quais
realizam as ações necessárias.
5. Conceitos Básicos
⚫ Os objetos que compartilham uma mesma interface, ou
seja, respondem as mesmas mensagens, são agrupados
em classes.
⚫ Objeto é algo DINÂMICO: é criado por alguém, tem uma
vida, e morre ou é morto por alguém. Assim, durante a
execução do sistema, os objetos podem:
◦ ser construídos
◦ executar ações
◦ ser destruídos
◦ tornar-se inacessíveis
6. Histórico de Orientação a Objetos (OO)
⚫A OO surgiu no final da década de 60, quando dois
cientistas dinamarqueses criaram a linguagem
Simula (Simulation Language)
⚫1967 - Linguagem de Programação Simula-67-
conceitos de classe e herança
⚫O termo Programação Orientada a Objeto (POO) é
introduzido com a linguagem Smalltalk (1983)
7. Histórico de Orientação a Objetos (OO)
⚫ FINS DOS ANOS 80 Paradigma de Orientação a Objetos
◦ abordagem poderosa e prática para o desenvolvimento
de software
⚫ Linguagens orientadas a objetos
◦ Smalltalk (1972), Ada (1983), Eiffel (~1985)
◦ Object Pascal (1986), Common Lisp (1986), C++ (1986)
◦ Java (~1990), Phyton (~1990), Perl 5 (2005)
8. Linguagens orientadas a objetos
⚫"puras“ – tudo nelas é tratado consistentemente
como um objeto, desde as primitivas até
caracteres e pontuação. Exemplos: Smalltalk,
Eiffel, Ruby.
⚫Projetadas para OO, mas com alguns
elementos procedimentais. Exemplos: Java,
Python.
⚫Linguagens historicamente procedimentais, mas
que foram estendidas com características OO.
Exemplos: C++, Fortran 2003, Perl 5.
Fonte: Wikipedia
9. Vantagens de OO
⚫ abstração de dados: os detalhes referentes às
representações das classes serão visíveis apenas a seus
atributos;
⚫ compatibilidade: as heurísticas para a construção das classes
e suas interfaces levam a componentes de software que são
fáceis de combinar;
⚫ diminuição da complexidade: as classes delimitam-se em
unidades naturais para a alocação de tarefas de
desenvolvimento de software;
10. Vantagens de OO
⚫ reutilização: o encapsulamento dos métodos e
representação dos dados para a construção de classes
facilitam o desenvolvimento de software reutilizável,
auxiliando na produtividade de sistemas;
⚫ extensibilidade: facilidade de estender o software devido a
duas razões:
◦ herança: novas classes são construídas a partir das que já existem;
◦ as classes formam uma estrutura fracamente acoplada, o que facilita
alterações;
⚫ manutenibilidade: a modularização natural em classes
facilita a realização de alterações no software.
11. Vantagens de OO
⚫maior dedicação à fase de análise, preocupando-se
com a essência do sistema;
⚫mesma notação é utilizada desde a fase de análise
até a implementação.
Frente a essas vantagens, a abordagem OO tem
provado ser “popular” e eficaz.
12. Objetos
⚫ Tudo em OO é OBJETO
◦ Objeto, no mundo físico, é tipicamente um produtor e consumidor de
itens de informação
⚫ Definição (mundo do software)
◦ “Qualquer coisa, real ou abstrata, a respeito da qual
armazenamos dados e métodos que os manipulam”
Martin, Odell (1995)
◦ Abstração de uma entidade do mundo real de modo que
essa entidade possui várias características
13. Objetos e Classes
Leitor
nome
numeroUSP
dataNascimento
le2: Leitor
nome = Joao da Silva
numeroUSP = 323232
dataNascimento = 02/23/1978
le1: Leitor
nome = Maria dos Santos
numeroUsp = 342343
dataNascimento = 04/25/1973
objetos
classes
FornoDeMicroondas
capacidade
potência
status
horário
forno1: FornoDeMicroondas
capacidade = 40
potencia = 600
status = desligado
hora = 09:35
14. Classes
⚫ Agrupamento de objetos similares.
⚫ Todo objeto é uma instância de uma Classe.
⚫ Os objetos representados por determinada classe
diferenciam-se entre si pelos valores de seus atributos.
⚫ Conjunto de objetos que possuem propriedades
semelhantes (ATRIBUTOS), o mesmo comportamento
(MÉTODOS), os mesmos relacionamentos com outros
objetos e a mesma semântica.
15. Atributos
◦ Representam um conjunto de informações, ou seja,
elementos de dados que caracterizam um objeto
◦ Descrevem as informações que ficam escondidas em um
objeto para serem exclusivamente manipuladas pelas
operações daquele objeto
◦ São variáveis que definem o estado de um objeto, ou seja,
são entidades que caracterizam os objetos
◦ Cada objeto possui seu próprio conjunto de atributos
16. Métodos
◦ São procedimentos definidos e declarados que atuam
sobre um objeto ou sobre uma classe de objetos
◦ Métodos são invocados por Mensagens
◦ Cada objeto possui seu próprio conjunto de métodos
17. Métodos X Mensagem
le1: Leitor
nome = Maria dos Santos
numeroUsp = 342343
dataNascimento = 04/25/1973
le1.alterarNome(‘Rosa Olivera’)
mensagem
método alterarNome(Char[30] novoNome)
Inicio
nome := novoNome;
Fim
método
19. Abstração
⚫Processo pelo qual conceitos gerais são formulados a
partir de conceitos específicos.
⚫Detalhes são ignorados, para nos concentrarmos nas
características essenciais dos objetos de uma coleção
21. Encapsulamento
⚫permite que certas características ou propriedades
dos objetos de uma classe não possam ser vistas ou
modificadas externamente, ou seja, ocultam-se as
características internas do objeto
◦ outras classes só podem acessar os atributos de uma
classe invocando os métodos públicos;
◦ restringe a visibilidade do objeto, mas facilita o reuso
22. Conceitos Básicos
⚫Associações entre Classes
Proprietário
nome
endereço
telefone
consultar
incluir
Automóvel
proprietário
marca
placa
ano
registrar
transferir_Proprietário
mudar_Placa
possui
23. Herança
◦ mecanismo que permite que características comuns a diversas
classes sejam colocadas em uma classe base, ou superclasse.
◦ As propriedades da superclasse não precisam ser repetidas em
cada subclasse.
◦ Por exemplo, JanelaRolante e JanelaFixa são subclasses de Janela.
Elas herdam as propriedades de Janela, como uma região visível na
tela. JanelaRolante acrescenta uma barra de paginação e um
afastamento.
26. Herança Múltipla
Existe mais de uma superclasse, ou seja, uma classe é
declarada como uma subclasse de uma ou mais
superclasses.
Estudante
data_ingresso
Funcionário
data_admissão
salario
Leitor da Biblioteca
num_cadastro
27. Polimorfismo
⚫ O Polimorfismo geralmente representa a qualidade ou
estado de um objeto ser capaz de assumir diferentes
formas.
⚫ Mais especificamente, propriedade segundo o qual vários
métodos podem existir com o mesmo nome.
◦ Ao receber uma mensagem para efetuar uma Operação, é o objeto
quem determina como a operação deve ser efetuada;
◦ Permite a criação de várias classes com interfaces idênticas, porém
objetos e implementações diferentes.
28. Polimorfismo
⚫Exemplos:
◦ O operador “+” pode ser usado com inteiros, pontos-
flutuantes ou strings.
◦ A operação mover pode atuar diferentemente nas classes
Janela e PeçadeXadrez.
29. 29
Introdução à UML
⚫UML (Unified Modelling Language)
⚫É uma linguagem para especificação, construção,
visualização e documentação de sistemas.
⚫É uma evolução das linguagens para especificação de
conceitos de Booch, OMT e OOSE e também de
outros métodos de especificação de requisitos de
software orientados a objetos ou não.
30. 30
Histórico da UML
⚫ Início em Outubro de 1994: Booch e Jim Rumbaugh começaram um esforço
para unificar o método de Booch e OMT (Object Modeling Language).
⚫ Uma primeira versão, chamada Unified Method, foi divulgada em outubro de
1995.
⚫ Jacobson juntou-se ao grupo, agregando o método OOSE (Object-Oriented
Software Engineering) .
⚫ O esforço dos três resultou na liberação da UML versão 0.9 e 0.91 em junho e
outubro de 1996. Em janeiro de 1997, foi liberada a versão 1.0 da UML.
⚫ Adotada como padrão segundo a OMG (Object Management Group,
http://www.omg.org/) em Novembro de 1997
⚫ UML 2.0 em 2004
31. Introdução: UML
FUSION
(Coleman et al)
STATECHARTS
(Harel)
OMT
(Rumbaugh et al)
BOOCH
(Booch)
OOSE/Objectory
(Jacobson)
Grafo de Interação de Objetos
(diagrama de colaboração)
Diagrama de Casos de Uso
Subsistemas (pacotes)
Diagrama de Estados
Diagrama de Classes
Diagrama de Objetos (diagrama de
colaboração)
Diagrama de Processos (diagrama de
implantação)
Diagrama de Módulos (diagrama de
componentes)
(Rumbaugh, Booch e Jacobson)
UML
32. 32
Ferramentas de Apoio
◦ Diversas empresas lançaram ferramentas para auxiliar a
modelagem e projeto de sistemas utilizando UML, gerar
código a partir da modelagem e projeto e realizar
engenharia reversa, ou seja, obter o modelo em UML a
partir do código.
33. 33
Ferramentas de Apoio
⚫ Exemplos:
◦ A família Rational Rose Enterprise (da Rational Software Corporation
www.rational.com) que gera código em Smalltalk, PowerBuilder, C++,
J++ e VB.
◦ ArgoUML- free http://argouml.tigris.org/
◦ www.objectsbydesign.com/tools/umltools_byCompany.html (lista de
ferramentas que envolvem a UML), entre elas Jude (agora Astah) e
Visual Paradigm
◦ StarUML: Livre
🞄http://staruml.sourceforge.net
34. 34
Diagramas da UML
⚫ Diagramas de Casos de Uso
⚫ Diagramas de Classe
⚫ Diagramas de Comportamento
◦ Diagrama de Estado
◦ Diagrama de Atividade
◦ Diagrama de Seqüência
◦ Diagrama de Colaboração
⚫ Diagramas de Implementação
◦ Diagrama de Componente
◦ Diagrama de Implantação (Deployment)
35. 35
Material sobre UML
⚫ http://www.rational.com (Rational)
⚫ http://www.omg.org (Object Management Group)
⚫ Page-Jones, M.; Fundamentos do desenho orientado a objeto com UML,
Makron Books, 2001.
⚫ Furlan, J. D.; Modelagem de Objetos Através da UML, Makron Books,
1998.
⚫ Rumbaugh, J., Jacobson, I., Booch, G.; The Unified Modeling Language
Reference Manual, Addison-Wesley, c1999.
⚫ Conallen, J.; Building Web Applications with UML, Addison-Wesley,
1999.
⚫ Fowler, M.; Scott, K.; UML Essencial, Bookman, 2000.