Desenvolvendo sotfware com UML
1
Visão Geral de Orientação a Objetos
Desenvolvendo sotfware com UML
2
Objetivos deste módulo Apresentar os princípios do paradigma
de orientação a objetos Apresentar os conceitos de orientação a
objetos com a notação UML correspondente
Desenvolvendo sotfware com UML
3
Princípios básicos de OO Abstração Encapsulamento Modularidade Herança
Desenvolvendo sotfware com UML
4
Abstração
cliente gado automóvel
• Concentração nas características essenciais, gerenciando complexidade
• Construção de um modelo para representação de uma realidade
Desenvolvendo sotfware com UML
5
Encapsulamento
Elimina dependência de implementação, escondendo-a do cliente
Uso de interfaces Mudanças internas não têm impacto
sobre os clientes
Desenvolvendo sotfware com UML
6
Modularidade Decomposição de um problema em pequenos
pedaços, para gerenciar complexidade Construção de módulos desacoplados
Dividir para conquistar
Desenvolvendo sotfware com UML
7
Herança Criação de hierarquias de abstração Permite ordenar hierarquias relacionadas
Figura
RetânguloTriângulo
Polígono
Desenvolvendo sotfware com UML
8
Conceitos básicos de OO Objeto Classe Atributo Operação Interface Componente Pacote Subsistema Relacionamentos
Desenvolvendo sotfware com UML
9
Objeto Modelo de um objeto real
entidade física, conceitual ou de software
Possui comportamento, estado e identidade
Desenvolvendo sotfware com UML
10
Objetos, Métodos e Variáveis
OBJETO é um pacote de software contendo dados e procedimentos (código) relacionados
Os procedimentos são chamados MÉTODOS Os dados dos objetos são chamados VARIÁVEIS ou
COMPONENTES DO ESTADO
Desenvolvendo sotfware com UML
11
Objeto em UML
: Professor
Professora Elza :Professor
Professora Elza
Apenas o nome daclasse
Apenas o nome doobjeto
Professora Elza
Nome da classe e doobjeto
Desenvolvendo sotfware com UML
12
Classe Descrições de objetos
com propriedades e comportamento comuns
Abstração que enfatiza o que é relevante suprime o que não
interessa Classes são fábricas
de objetos Objetos são
agrupados em classes
Desenvolvendo sotfware com UML
13
Classes e Instâncias Classes - modelos que definem os métodos e
as variáveis a serem incluídas em um tipo particular de objeto.
Objetos que pertencem a uma classe são chamados de INSTÂNCIAS desta classe e contêm valores particulares para as suas variáveis.
Variáveis de um objeto são chamadas de VARIÁVEIS DE INSTÂNCIA
Desenvolvendo sotfware com UML
14
Classe em UML
Professor
Nome da Classe Professor
Atributos Operações
nomefuncID
criar()salvar()remover()alterar()
estrutura
comportamento
Desenvolvendo sotfware com UML
15
Atributo Armazenam estado dos objetos
são coisas que um objeto “sabe” Propriedades de um objeto
Variáveis de instância
Desenvolvendo sotfware com UML
16
Atributo em UML
: Professor
nome = TerezafuncID = 112
: Professor
nome = Ana MariafuncID = 110
Professor
nomefuncID
Valor do Atributo
Objeto
Desenvolvendo sotfware com UML
17
Operação Modela
comportamento das classes
São coisas que uma classe “faz”
Serviços que os objetos oferecem a outros objetos
Professor
criar()salvar()remover()alterar()
Desenvolvendo sotfware com UML
18
Classes e Objetos em Javaclass Aviao {
.. Asa asa[2]; Propulsor propulsor[]; LemeDeDirecao leme; .. void pouse(..) {
.. leme.reto(); .. asa[1].flapPBaixo(..); asa[2].flapPBaixo(..); .. propulsor.desligue(..); ..
}}
class Asa { .. void flapPBaixo(Grau graus) {
.. } void flapPCima(Grau graus) {
.. }
} class Propulsor {
Int potencia; void desligue(..) {
.. } void ligue(..) {
.. }
}
Desenvolvendo sotfware com UML
19
Polimorfismo Escondendo diferentes implementações
através de uma única interface
Manufacturer BManufacturer CManufacturer A
Fonte: Rational
interface bem definida
Desenvolvendo sotfware com UML
20
Herança Mecanismo através do qual uma classe de
objetos pode ser definida como caso especial de uma classe mais geral. A classe mais geral é chamada de SUPERCLASSE
Casos especiais de uma classe são chamados de SUBCLASSE.
Desenvolvendo sotfware com UML
21
Herança e Polimorfismo Permitem que
objetos sejam tratados de forma homogênea e segura um conjunto consistente de abstrações
Desenvolvendo sotfware com UML
22
Benefícios do Paradigma de Orientação a Objetos
Favorece modularidade, manutenibilidade e reuso
Aproxima-se do mundo real
Uso do mesmo conceito em todas as fases do desenvolvimento
Top Related