42
Análise Orientada a Objetos ESPECIALIZAÇÃO EM ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Análise Orientada a Objetos Análise Orientada a Objetos AULA 03 AULA 03 Análise Orientada a Objetos; O Paradigma de Objetos; A UML. Prof. Prof. Sandrerley Sandrerley R. Pires R. Pires Goiânia Goiânia, agosto de 2003 , agosto de 2003

Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Embed Size (px)

Citation preview

Page 1: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

ESPECIALIZAÇÃO EMESPECIALIZAÇÃO EMGESTÃO DE TECNOLOGIAS DA INFORMAÇÃOGESTÃO DE TECNOLOGIAS DA INFORMAÇÃO

Análise Orientada a ObjetosAnálise Orientada a Objetos

AULA 03AULA 03

Análise Orientada a Objetos;O Paradigma de Objetos;

A UML.

Prof. Prof. SandrerleySandrerley R. PiresR. Pires

GoiâniaGoiânia, agosto de 2003, agosto de 2003

Page 2: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

O Paradigma de Objetos

“... os modelos baseados emobjetos correspondemmais

aproximadamente ao mundo real e são, em

conseqüência, mais adaptáveis às modificações”

(J. Rumbaugh)

Page 3: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Rumbaugh, cap 01-04.

Objeto: um conceito, uma abstração, algo comlimites nítidos e significado em relação do problemaem causa .em causa .

Exemplo : João, Lassie, Processo nº 100, Janela dasala.

Page 4: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Classe : Descreve um grupo de objetos compropriedades semelhantes, os mesmoscomportamentos, os mesmos relacionamentoscom outros objetos e mesma semântica .com outros objetos e mesma semântica .

Exemplo : Pessoa, Cachorro, Processo, Janela.

Page 5: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Atributo : é um valor, uma informação, uma

característica específica que todos objetos de uma

mesma classe terão . Um Atributo deve ser sempremesma classe terão . Um Atributo deve ser sempre

um valor elementar, nunca outro objeto.

Page 6: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Operações : ações exercidas por objetos de uma

determinada classe .

NotaçãoNotação padrãopadrão dede umauma classeclasse::

NOME CLASSE

Atributo1Atributo2Atributo 3Atributo4

Operação1( )Operação2( )Operação3( )Operação4( )

Page 7: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Ligações

Descreve conexões físicas ou conceituais entre instânciasde objetos.

Page 8: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Associação : indica uma relação entre classes,onde as classes participantes da associação “seconhecem”, podendo trocar mensagens entre si.Exemplo:

Pessoa Empresatrabalha_para 1n

empregado empregador

papéis

multiplicidade

Page 9: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Associações

� O tipo mais comum de associação é apenas uma conexão entre classes. É representada por uma linha sólida entre duas classes. A associação possui um nome (junto à linha que representa a associação), normalmente um verbo, mas substantivos também são permitidos.

� Pode-se também colocar uma seta no final da associação indicando que esta só pode ser usada para o lado onde a seta aponta. Mas associações esta só pode ser usada para o lado onde a seta aponta. Mas associações também podem possuir dois nomes, significando um nome para cada sentido da associação.

� Para expressar a multiplicidade entre os relacionamentos, um intervalo indica quantos objetos estão relacionados no link. O intervalo pode ser de zero para um (0..1), zero para vários (0..* ou apenas *), um para vários (1..*), dois (2), cinco para 11 (5..11) e assim por diante. É também possível expressar uma série de números como (1, 4, 6..12). Se não for descrita nenhuma multiplicidade, então é considerado o padrão de um para um (1..1 ou apenas 1).

Page 10: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Page 11: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Associação Recursiva

� É possível conectar uma classe a ela mesma através de uma associação e que ainda representa semanticamente a conexão entre dois objetos, mas os objetos conectados são da mesma classe. Uma associação deste tipo é chamada de associação recursiva

Page 12: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Associação ternária

� Mais de duas classes podem ser associadas entre si, a associação ternária associa três classes. Ela é mostrada como uma grade losango (diamante) e ainda suporta uma associação de classe ligada a ela, traçaria-se, então, uma linha tracejada a partir do losango para a classe onde seria feita a associação ternária.losango para a classe onde seria feita a associação ternária.

Page 13: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Agregação

� A agregação é um caso particular da associação. A agregação indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe. As palavras chaves usadas para identificar uma agregação são: "consiste em", "contém", "é parte de".

� É uma forma especializada de associação na qual um todo é relacionado com suas partes. Também conhecida como relação de conteúdo.� É representada como uma linha de associação com um diamante junto à

Classe agregadora.

� A multiplicidade é representada da mesma maneira que nas associações.

Page 14: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Agregação : relacionamento “parte-todo” no qualos objetos que representam os componentes dealguma coisa, são associados a um objeto querepresenta a estrutura inteira.Exemplo :Exemplo :

Documento Parágrafo Senteça

n n

Page 15: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Conceitos Fundamentais de Orientação a Objetos

Generalização : é o refinamento entre uma classee uma ou mais versões refinadas dela. A classeque está em processo de refinamento é asuperclasse e a classe refinada é a subclasse.Exemplo :Exemplo : Figura

CorPosição

Exibir()ApagarMover()

Círculo

Raio

Exibir()Apagar()

Quadrado

Lado

Exibir()Apagar()

Page 16: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Generalização – Outros Textos

� A generalização é um relacionamento entre um elemento geral e um outro mais específico. O elemento mais específico possui todas as características do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do elemento mais geral. A generalização, também chamada de herança, permite a criação de generalização, também chamada de herança, permite a criação de elementos especializados em outros.

� Existem alguns tipos de generalizações que variam em sua utilização a partir da situação. São elas: generalização normal e restrita. As generalizações restritas se dividem em generalização de sobreposição, disjuntiva, completa e incompleta.

Page 17: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Generalização Normal

� Uma classe pode ser tanto uma subclasse quanto uma superclasse, se ela estiver numa hierarquia de classes que é um gráfico onde as classes estão ligadas através de generalizações.de generalizações.

� A generalização normal é representada por uma linha entre as duas classes que fazem o relacionamento, sendo que se coloca uma seta no lado da linha onde se encontra a superclasse indicando a generalização.

Page 18: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Generalização Normal

� Na generalização normal a classe mais específica, chamada de subclasse, herda tudo da classe mais geral, chamada de superclasse. Os atributos, operações e todas as associações são herdados.

Page 19: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Generalização Restrita

� Uma restrição aplicada a uma generalização especifica informações mais precisas sobre como a generalização deve ser usada e estendida no futuro. As restrições a seguir definem as generalizações restritas com mais de uma subclasse:� Generalizações de Sobreposição e Disjuntiva: Generalização de � Generalizações de Sobreposição e Disjuntiva: Generalização de

sobreposição significa que quando subclasses herdam de uma superclasse por sobreposição, novas subclasses destas podem herdar de mais de uma subclasse. A generalização disjuntiva é exatamente o contrário da sobreposição e a generalização é utilizada como padrão

Page 20: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Page 21: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Generalizações Completa e Incompleta

� Uma restrição simbolizando que uma generalização é completa significa que todas as subclasses já foram especificadas, e não existe mais possibilidade de outra generalização a partir daquele ponto. A generalização incompleta é exatamente o contrário da completa e é assumida como padrão da linguagem.assumida como padrão da linguagem.

Page 22: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

A UML

1. Histórico;

2. Diagrama de Caso de Uso;

3. Diagrama de Seqüência;3. Diagrama de Seqüência;

4. Criação do Diagrama de Classe;

5. Exercícios de Fixação.

Page 23: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama Caso de uso

É um modelo usado para descrever os requisitosfuncionais de um sistema.

É composto por atores externos, caso de usos eÉ composto por atores externos, caso de usos einterações entre eles. Os atores representam opapel de uma entidade externa ao sistema,enquanto o caso de uso representa a porção dosistema que irá interagir com o ator.

Page 24: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama Caso de Uso - Exemplo

Consultar Cliente

Verificar disponibilidade do Médico

Marcar Consulta

Recepcionista

Registrar Anamnese

Consultar Anamnese

Registar ReceitaMédico

Cadastrar Cliente do Médico

Listar Receita

Registrar Pagamento

Listar Faturamento

Cadastrar Médico

Diretoria

Page 25: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Seqüência

Mostra a colaboração dinâmica entre os váriosobjetos de um sistema visando atender umdeterminado cenário de um Caso de Uso.

O mais importante aspecto deste diagrama é que aO mais importante aspecto deste diagrama é que apartir dele percebe-se quais são os possíveisobjetos que comporão a solução do problema emquestão, além da seqüência de mensagensenviadas entre estes objetos.

Page 26: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Cenário

É um caminho específico dentro de um determinadoCaso de Uso. Seja o exemplo:

Caso de Uso:DRH Mantém Funcionário.

Alguns Cenários Possíveis:DRH Inclui Funcionário;DRH Altera Funcionário;DRH Consulta Funcionário;

DRH Inclui Funcionário em Duplicidade;

Page 27: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Seqüência - Exemplo

: SecretáriaMarcar Consulta :

FormPaciente :

PacienteMédico :

MédicoConsultas :

Consultas

ObterDados()

Consultar()

Consultar()

ConsultarDisponibilidade() Consultar()

MarcarConsulta()Incluir()

Page 28: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Page 29: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Construção do Diagrama de Seqüência

A partir do Diagrama de Caso de Uso construído para o

sistema de Contas Correntes, construa os Diagramas de

Seqüência para, pelo menos, quatro cenários.

Page 30: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Classes

Mostra a estrutura estática das classes de um

sistema, todos os relacionamentos entre as

classes, bem como as estruturas internas dasclasses, bem como as estruturas internas das

classes que são os atributos e operações.

Page 31: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Classes - Exemplo

Cliente

0..*

11possui

Compahia deAluguel de Veículos

0..1

Carro SportCaminhão Carro de Passeio

Contrato de Aluguel

11

Veículo Alugado

0..*

refere a

possui Tipos de Veículos

Page 32: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Construção de Diagrama de Classe

A partir dos Diagramas de Seqüência construídos para o sistema de Contas Correntes construa o Diagrama de Classe.

Page 33: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Processo Orientado a Objetos

• Comentários a Respeito da Técnica;

• Um Processo Orientado a Objetos;

• Modelos Auxiliares da UML.• Modelos Auxiliares da UML.

Page 34: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Um Processo para a Análise Orientada a Objetos;

1) Descrição Contextual;2) Lista de Objetivos;3) Diagrama de Casos de Uso;4) Protótipos ;4) Protótipos ;5) Definição de Cenários;6) Definição de Classes Candidatas;7) Diagramas de Seqüência;8) Diagrama de Classe;9) Refinamento do Diagrama de Classe.

Page 35: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Transição de Estado

É um complemento para a descrição das classes.

Este diagrama mostra todos os estados possíveis

que objetos de uma classe podem se encontrar,que objetos de uma classe podem se encontrar,

além dos eventos do sistema que provocam tais

mudanças.

Page 36: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Transição de Estado

No Térreo Subindosubir (andar)

Chegar no andar subir (andar)Chegar no térreo

ParadoDescendo

Indo para otérreo

Chegar no andar subir (andar)

Chegar no andar

descer (andar)

tempo de espera

Page 37: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Atividade

Capturam ações e seus resultados. Ele pode serutilizado para diferentes propósitos. Alguns deles:

1) Capturar os trabalhos que serão executadosquando uma operação é disparada (ações) ;quando uma operação é disparada (ações) ;

2) Capturar o trabalho interno em um objeto;

3) Mostrar como um grupo de ações relacionadaspodem ser executadas, e como elas vão afetar osobjetos em torno delas.

Page 38: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Diagrama de Atividade - Exemplo

Recebe Pedido deConsulta

Verifica disponibilidade demédico

Marca a consultaInforma

Impossibilidade

Tem Disponibilidade

Não tem Disponibilidade

Page 39: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Modelagem de Objetos utilizando a UML

Atividade - 01:

Para o problema do aeroclube, disponível no TelEduc, desenvolver a modelagem de objetos, produzindo os seguintes diagramas:seguintes diagramas:

1)Casos de Uso;

2)Seqüência; e

3)Classes.

Desenvolver individualmente o exercício e entregá-lo, em papel, na próxima aula.

Primeira Primeira AvaliaçãoAvaliação..Primeira Primeira AvaliaçãoAvaliação..

Page 40: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Modelagem de Objetos utilizando a UML

Atividade - 02:

Elaborar, para a próxima aula, uma questão para ser jogadaem debate. Cada pergunta será direcionada a um aluno da turma eapós a sua resposta o autor da pergunta também a responderá.Finalmente, os outros poderão também complementar asrespostas dadas. A atuação global do aluno no debate determinarárespostas dadas. A atuação global do aluno no debate determinaráa sua avaliação.

O questão deverá ser a respeito de um dos seguintes assuntos:

a) A Análise de Sistemas;b) A Prática da Análise de Sistemas;c) Comparação das Técnicas de Análise de Sistemas;d) Tendências para a Atividade de Análise de Sistemas.

Segunda Segunda AvaliaçãoAvaliação..Segunda Segunda AvaliaçãoAvaliação..

Page 41: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Sistema de Contas Correntes

Atividade - 03:

Um sistema bancário de Contas Correntes deve satisfazer aos seguintes requisitos:

• O cliente procura a Área de Atendimento da agência e esta abrirá a conta para ele.

• Após a aberturada contao cliente poderámovimentá-la atravésde um terminal de• Após a aberturada contao cliente poderámovimentá-la atravésde um terminal de

auto-atendimento. Ele fará operações como: saques, depósitos e consulta de extrato.

• Os cheques emitidos pelos cliente o serão apresentados ao banco através da

compensação do Banco do Brasil.

• A Gerência emitirá mensalmente um relatório com os melhores clientes daagência.

• A Gerência emitirá diariamente um relatório com os cheques devolvidos pela agência.

Page 42: Aula02 - Analise Orientada a Objetos.ppt [Modo de ... · do elemento geral e contém ainda mais particularidades. Um objeto mais específico pode ser usado como uma instância do

Análise Orientada a Objetos

Modelagem de Objetos utilizando a UML

FIM AULA 03