ANÁLISE PROJETO E
PROGRAMAÇÃO PARA WEB
Profª. Maria Alice Jovinski
DIAGRAMAS DE COLABORAÇÃO, ATIVIDADE, ESTADO,
COMPONENTES E IMPLANTAÇÃO
AULA DE REVISÃO
DIAGRAMA DE COLABORAÇÃO
DIAGRAMA DE COLABORAÇÃO
 Define a estrutura de como os objetos estão
vinculados ;
 Indica quais mensagens são trocadas entre objetos
 Não se preocupa com a temporalidade apenas com
a organização estrutural dos objetos;
DIAGRAMA DE COLABORAÇÃO
 Objetos:
 Não há linha da vida nem ativação;
minha_conta: Conta
DIAGRAMA DE COLABORAÇÃO
 Vínculos:
 Um dos principais objetivos do Diagrama de
Colaboração é identificar os vínculos;
 Vínculos são ligações existentes entre os objetos
envolvidos no processo:
 Envio de mensagens ;
 Recebimento de mensagens ;
 Ou ambos;
DIAGRAMA DE COLABORAÇÃO
 Representação de vínculo:
 Um vínculo é representado por uma linha unindo dois
objetos;
 Deve existir relacionamento equivalente no Diagrama
de Classes;
curso_1: Curso Tturma_a: Turma
DIAGRAMA DE COLABORAÇÃO
EXEMPLO:
DIAGRAMA DE ESTADOS
DIAGRAMA DE ESTADOS
 Representam o comportamento interno das
classes;
 Correspondem a uma especificação de como as
classes devem ser implementadas;
 Constrói-se um diagrama descrevendo o
comportamento de cada classe do sistema todo ou
de casos de uso específicos;
DIAGRAMA DE ESTADOS
 ESTADO
 Um momento ou situação na vida do objeto:
 Momento em que foi criado;
 Momento em que fez uma inicialização;
 Momento em que fez uma solicitação;
 Momento em que foi destruído;
DIAGRAMA DE ESTADOS
 Notação UML
DIAGRAMA DE ESTADOS
 Identificação dos Estados
 Os estados são identificados através dos valores dos
atributos;
DIAGRAMA DE ESTADOS
 Transição de estado
 Avanço de uma situação (estado) para outra;
 Caminhos no diagrama representam os fluxos de
execução de um objeto;
 Notação:
Evento(argumentos) [Condição]/Ação
DIAGRAMA DE ESTADOS
 Exemplo de transição de estado com condições:
DIAGRAMA DE ESTADOS
 Estrutura:
 Sequência: fluxo de estados representados por
encadeamentos de um estado e uma transição;
 Bifurcação: representa duas ou mais transições
partindo de um mesmo estado;
 Junção: representa duas ou mais transições
conduzindo a um mesmo estado;
 Repetição: um encadeamento cíclico de estados (loop);
DIAGRAMA DE ESTADOS
 Exemplo de sequência:
DIAGRAMA DE ESTADOS
 Exemplo de bifurcação/junção:
DIAGRAMA DE ESTADOS
 Exemplo de repetição:
DIAGRAMA DE ESTADOS
 Estado composto:
 Um estado constituído de um conjunto de sub-estados;
 Aparece em visões expandidas do diagrama de
estados. Em uma visão normal, o estado composto é
mostrado sem seus subestados;
DIAGRAMA DE ESTADOS
 Exemplo de estado composto:
DIAGRAMA DE ESTADOS
 Concorrência
 Representa dois ou mais encadeamentos de estados e
transições que são percorridos simultaneamente;
 Representa mais de um fluxo de controle implementado através
de threads e utilizando serviços de multitarefa ou
multiprocessamento do SO;
 Quando um objeto alcança um estado composto, imediatamente
abre-se a concorrência alcançando-se igualmente os estados
iniciais de todas as concorrências;
 Após isso, o estado composto só poderá evoluir quando todas
as suas concorrências tiverem alcançado seus estados finais;
DIAGRAMA DE ESTADOS
 Notação de concorrência:
DIAGRAMA DE ATIVIDADE
DIAGRAMA DE ATIVIDADE
 Trata-se de um caso especial de diagrama de
estado;
 Tudo ou a maioria dos estados é estado de ação;
 A maioria das transições é ativada por conclusão
de ações nos estados precedentes;
 É útil quando se pretende descrever um
comportamento paralelo ou mostrar como
interagem comportamentos em vários casos de
uso;
DIAGRAMA DE ATIVIDADE
 Propósitos de aplicação:
 Capturar o funcionamento interno de um objeto;
 Capturar o trabalho (ações) que será desempenhado
quando uma operação é executada;
 Mostrar como um processo de negócio funciona em
termos de atores, fluxos de trabalho, organização e
objetos;
 Mostrar como uma instância de caso de uso pode
ser realizada em termos de ações e mudanças de
estado de objetos;
 Mostrar como um conjunto de ações relacionadas
pode ser executado e como afetará objetos ao redor;
DIAGRAMA DE ATIVIDADE
 Permite escolher a ordem pela qual as coisas devem
ser feitas;
 Indica meramente as regras essenciais de sequências
que necessitam ser seguidas;
 A sequência entre as atividades é irrelevante e podem
ser executadas intercalamente e em paralelo;
 Representa o estado de execução do método;
 Tem como objetivo entender o algoritmo envolvido na
execução de um método;
DIAGRAMA DE ATIVIDADE
 Isso é importante para a modelagem de negócios.
Os negócios têm, frequentemente, processos não
necessariamente seqüenciais;
 Os diagramas de atividades também são úteis para
os programas concorrentes, uma vez que você
pode projetar graficamente quais caminhos
(threads) você tem e quando eles precisam ser
sincronizados;
DIAGRAMA DE ATIVIDADE
 São usados para detalhar atividade interna de um
objeto;
 Eventos externos surgem quando o objeto está em
um estado de espera;
 Pode haver mais de um possível evento que tire o
objeto do estado de espera, o primeiro que
acontecer dispara a transição;
DIAGRAMA DE ATIVIDADE
NOTAÇÃO UML
Ligar Micro
Inicializar Jogo de Minas
Jogar
[jogo inicializado com
sucesso] [jogo com problemas]
Estado
inicial
Estado
final
Estado de ação ou
de atividade
DIAGRAMA DE ATIVIDADE
CONCORRÊNCIA
 Os diagramas de atividade podem modelar
atividades concorrentes. Para tal utiliza-se o
conceito de Forks e Joins:
 Os Forks e os Joins devem ser estar balanceados;
 Um fork representa a transformação de um único fluxo de
controle em vários;
 Um join representa a sincronização de dois ou mais fluxos de
controles concorrentes;
DIAGRAMA DE ATIVIDADE
CONCORRÊNCIA
 As atividades que sucedem o fork podem ser
realizadas em qualquer ordem;
 As atividades associadas após um join só serão
iniciadas quando todas as atividades antes de um
join forem concluídas;
Ligar Micro
Inicializar Jogo de Minas
Desligar computador
Inicializar Internet
Fork
Join
DIAGRAMA DE ATIVIDADE
NOTAÇÃO FORK E JOIN
DIAGRAMA DE ATIVIDADE
EXEMPLO:
Cancelar
Pedido
Autorizar forma
de pagamento
Avaliar item em
estoque
Registrar
Pedido
Aceitar pedido
[negado]
[ok]
[para cada item do pedido]
[em estoque]
[item existente em estoque
e forma de pagamento
autorizada]
*
DIAGRAMAS DE IMPLEMENTAÇÃO
DIAGRAMAS DE IMPLEMENTAÇÃO
 Representam a arquitetura física do sistema;
 Mapeam a arquitetura lógica de classes em termos
de nós de processamento e comunicação e a
dependência entre eles;
 Representam o hardware (hw) e o relacionamento
com o software (sw);
DIAGRAMAS DE IMPLEMENTAÇÃO
 Respondem às questões:
 Quais computadores e outros dispositivos de hw estão
envolvidos e como eles estão conectados?
 Onde estão localizados as classes e os respectivos
objetos?
 Quais são as dependências entre os arquivos que
contém código? Ou seja, quando a alteração de um
arquivo implica na recompilação de outros?
DIAGRAMAS DE IMPLEMENTAÇÃO
 Diagrama de Componentes: mostram aspectos
sobre a estrutura em termos de código fonte;
 Diagrama de Implantação: mostram aspectos
sobre a estrutura em termos de tempo de
execução;
DIAGRAMA DE COMPONENTES
 Um módulo de sw com identidade e interface bem
definidas:
O nome pode vir dentro, sobre
ou abaixo, com a sintaxe:
NomedoComponente :
tipodocomponente
DIAGRAMA DE COMPONENTES
 Um diagrama de componentes é um gráfico de
componentes conectados por relacionamentos de
dependência;
 Para cada modelo lógico existe um padrão que
mapeia um artefato de implementação, o diagrama
de componentes pode ser utilizado para definir o
padrão mais adequado para uma dada classe;
DIAGRAMA DE COMPONENTES
EXEMPLO:
Tela de AcessoTela de Início
Conexao.class
BD
Lançamento Entidade ContaBancáriaFormaPagamentoUsuário Categoria
DIAGRAMA DE COMPONENTES
EXEMPLO:
CategoriaTela.
class
CategoriaRN.
class
CategoriaVO.
class
CategoriaPers.
class
Conexao.class
BD
DIAGRAMA DE IMPLANTAÇÃO
 Mostram a organização do hw e a ligação do sw
com os dispositivos físicos (computadores e
periféricos);
 Trata-se de um gráfico de nós conectados por
associações de comunicação;
 Cada nó pode conter instâncias de componentes;
DIAGRAMA DE IMPLANTAÇÃO
 Nó:
 Representa um recurso computacional com pelo menos
memória e capacidade de processamento;
 Pode-se ter uma instância desse tipo usando
Nome_do_nó: Tipo_de_nó;
DIAGRAMA DE IMPLANTAÇÃO
EXEMPLO:
PC 01
Processador Intel Core 2 Duo
E4600 2,40 GHz
2GB de RAM
Placa de rede 10/100 Mbps
Windows XP
R$ 1000,00
Conexão Par
Trançado
Ethernet 10/100
Switch
Gerenciav el
3COM 3C17300A
26 potas 10/100
gerenciav el
R$ 689,00
Conexão
Fibra óptica
Serv idor de
Aplicação e banco
SGBD Firebird
SUPERSERVER 731-400
Processador Quad-Core Intel
Xeon X3330 2,66 GHz
2 GB de RAM
500 GB -HD SATA
Fonte ATX 400 Watts
R$ 2.299,00
USB
Impressora Hp LaserJet
P105
R$ 409,00
BOA PROVA!

Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI

  • 1.
    ANÁLISE PROJETO E PROGRAMAÇÃOPARA WEB Profª. Maria Alice Jovinski DIAGRAMAS DE COLABORAÇÃO, ATIVIDADE, ESTADO, COMPONENTES E IMPLANTAÇÃO AULA DE REVISÃO
  • 2.
  • 3.
    DIAGRAMA DE COLABORAÇÃO Define a estrutura de como os objetos estão vinculados ;  Indica quais mensagens são trocadas entre objetos  Não se preocupa com a temporalidade apenas com a organização estrutural dos objetos;
  • 4.
    DIAGRAMA DE COLABORAÇÃO Objetos:  Não há linha da vida nem ativação; minha_conta: Conta
  • 5.
    DIAGRAMA DE COLABORAÇÃO Vínculos:  Um dos principais objetivos do Diagrama de Colaboração é identificar os vínculos;  Vínculos são ligações existentes entre os objetos envolvidos no processo:  Envio de mensagens ;  Recebimento de mensagens ;  Ou ambos;
  • 6.
    DIAGRAMA DE COLABORAÇÃO Representação de vínculo:  Um vínculo é representado por uma linha unindo dois objetos;  Deve existir relacionamento equivalente no Diagrama de Classes; curso_1: Curso Tturma_a: Turma
  • 7.
  • 8.
  • 9.
    DIAGRAMA DE ESTADOS Representam o comportamento interno das classes;  Correspondem a uma especificação de como as classes devem ser implementadas;  Constrói-se um diagrama descrevendo o comportamento de cada classe do sistema todo ou de casos de uso específicos;
  • 10.
    DIAGRAMA DE ESTADOS ESTADO  Um momento ou situação na vida do objeto:  Momento em que foi criado;  Momento em que fez uma inicialização;  Momento em que fez uma solicitação;  Momento em que foi destruído;
  • 11.
  • 12.
    DIAGRAMA DE ESTADOS Identificação dos Estados  Os estados são identificados através dos valores dos atributos;
  • 13.
    DIAGRAMA DE ESTADOS Transição de estado  Avanço de uma situação (estado) para outra;  Caminhos no diagrama representam os fluxos de execução de um objeto;  Notação: Evento(argumentos) [Condição]/Ação
  • 14.
    DIAGRAMA DE ESTADOS Exemplo de transição de estado com condições:
  • 15.
    DIAGRAMA DE ESTADOS Estrutura:  Sequência: fluxo de estados representados por encadeamentos de um estado e uma transição;  Bifurcação: representa duas ou mais transições partindo de um mesmo estado;  Junção: representa duas ou mais transições conduzindo a um mesmo estado;  Repetição: um encadeamento cíclico de estados (loop);
  • 16.
    DIAGRAMA DE ESTADOS Exemplo de sequência:
  • 17.
    DIAGRAMA DE ESTADOS Exemplo de bifurcação/junção:
  • 18.
    DIAGRAMA DE ESTADOS Exemplo de repetição:
  • 19.
    DIAGRAMA DE ESTADOS Estado composto:  Um estado constituído de um conjunto de sub-estados;  Aparece em visões expandidas do diagrama de estados. Em uma visão normal, o estado composto é mostrado sem seus subestados;
  • 20.
    DIAGRAMA DE ESTADOS Exemplo de estado composto:
  • 21.
    DIAGRAMA DE ESTADOS Concorrência  Representa dois ou mais encadeamentos de estados e transições que são percorridos simultaneamente;  Representa mais de um fluxo de controle implementado através de threads e utilizando serviços de multitarefa ou multiprocessamento do SO;  Quando um objeto alcança um estado composto, imediatamente abre-se a concorrência alcançando-se igualmente os estados iniciais de todas as concorrências;  Após isso, o estado composto só poderá evoluir quando todas as suas concorrências tiverem alcançado seus estados finais;
  • 22.
    DIAGRAMA DE ESTADOS Notação de concorrência:
  • 23.
  • 24.
    DIAGRAMA DE ATIVIDADE Trata-se de um caso especial de diagrama de estado;  Tudo ou a maioria dos estados é estado de ação;  A maioria das transições é ativada por conclusão de ações nos estados precedentes;  É útil quando se pretende descrever um comportamento paralelo ou mostrar como interagem comportamentos em vários casos de uso;
  • 25.
    DIAGRAMA DE ATIVIDADE Propósitos de aplicação:  Capturar o funcionamento interno de um objeto;  Capturar o trabalho (ações) que será desempenhado quando uma operação é executada;  Mostrar como um processo de negócio funciona em termos de atores, fluxos de trabalho, organização e objetos;  Mostrar como uma instância de caso de uso pode ser realizada em termos de ações e mudanças de estado de objetos;  Mostrar como um conjunto de ações relacionadas pode ser executado e como afetará objetos ao redor;
  • 26.
    DIAGRAMA DE ATIVIDADE Permite escolher a ordem pela qual as coisas devem ser feitas;  Indica meramente as regras essenciais de sequências que necessitam ser seguidas;  A sequência entre as atividades é irrelevante e podem ser executadas intercalamente e em paralelo;  Representa o estado de execução do método;  Tem como objetivo entender o algoritmo envolvido na execução de um método;
  • 27.
    DIAGRAMA DE ATIVIDADE Isso é importante para a modelagem de negócios. Os negócios têm, frequentemente, processos não necessariamente seqüenciais;  Os diagramas de atividades também são úteis para os programas concorrentes, uma vez que você pode projetar graficamente quais caminhos (threads) você tem e quando eles precisam ser sincronizados;
  • 28.
    DIAGRAMA DE ATIVIDADE São usados para detalhar atividade interna de um objeto;  Eventos externos surgem quando o objeto está em um estado de espera;  Pode haver mais de um possível evento que tire o objeto do estado de espera, o primeiro que acontecer dispara a transição;
  • 29.
    DIAGRAMA DE ATIVIDADE NOTAÇÃOUML Ligar Micro Inicializar Jogo de Minas Jogar [jogo inicializado com sucesso] [jogo com problemas] Estado inicial Estado final Estado de ação ou de atividade
  • 30.
    DIAGRAMA DE ATIVIDADE CONCORRÊNCIA Os diagramas de atividade podem modelar atividades concorrentes. Para tal utiliza-se o conceito de Forks e Joins:  Os Forks e os Joins devem ser estar balanceados;  Um fork representa a transformação de um único fluxo de controle em vários;  Um join representa a sincronização de dois ou mais fluxos de controles concorrentes;
  • 31.
    DIAGRAMA DE ATIVIDADE CONCORRÊNCIA As atividades que sucedem o fork podem ser realizadas em qualquer ordem;  As atividades associadas após um join só serão iniciadas quando todas as atividades antes de um join forem concluídas;
  • 32.
    Ligar Micro Inicializar Jogode Minas Desligar computador Inicializar Internet Fork Join DIAGRAMA DE ATIVIDADE NOTAÇÃO FORK E JOIN
  • 33.
    DIAGRAMA DE ATIVIDADE EXEMPLO: Cancelar Pedido Autorizarforma de pagamento Avaliar item em estoque Registrar Pedido Aceitar pedido [negado] [ok] [para cada item do pedido] [em estoque] [item existente em estoque e forma de pagamento autorizada] *
  • 34.
  • 35.
    DIAGRAMAS DE IMPLEMENTAÇÃO Representam a arquitetura física do sistema;  Mapeam a arquitetura lógica de classes em termos de nós de processamento e comunicação e a dependência entre eles;  Representam o hardware (hw) e o relacionamento com o software (sw);
  • 36.
    DIAGRAMAS DE IMPLEMENTAÇÃO Respondem às questões:  Quais computadores e outros dispositivos de hw estão envolvidos e como eles estão conectados?  Onde estão localizados as classes e os respectivos objetos?  Quais são as dependências entre os arquivos que contém código? Ou seja, quando a alteração de um arquivo implica na recompilação de outros?
  • 37.
    DIAGRAMAS DE IMPLEMENTAÇÃO Diagrama de Componentes: mostram aspectos sobre a estrutura em termos de código fonte;  Diagrama de Implantação: mostram aspectos sobre a estrutura em termos de tempo de execução;
  • 38.
    DIAGRAMA DE COMPONENTES Um módulo de sw com identidade e interface bem definidas: O nome pode vir dentro, sobre ou abaixo, com a sintaxe: NomedoComponente : tipodocomponente
  • 39.
    DIAGRAMA DE COMPONENTES Um diagrama de componentes é um gráfico de componentes conectados por relacionamentos de dependência;  Para cada modelo lógico existe um padrão que mapeia um artefato de implementação, o diagrama de componentes pode ser utilizado para definir o padrão mais adequado para uma dada classe;
  • 40.
    DIAGRAMA DE COMPONENTES EXEMPLO: Telade AcessoTela de Início Conexao.class BD Lançamento Entidade ContaBancáriaFormaPagamentoUsuário Categoria
  • 41.
  • 42.
    DIAGRAMA DE IMPLANTAÇÃO Mostram a organização do hw e a ligação do sw com os dispositivos físicos (computadores e periféricos);  Trata-se de um gráfico de nós conectados por associações de comunicação;  Cada nó pode conter instâncias de componentes;
  • 43.
    DIAGRAMA DE IMPLANTAÇÃO Nó:  Representa um recurso computacional com pelo menos memória e capacidade de processamento;  Pode-se ter uma instância desse tipo usando Nome_do_nó: Tipo_de_nó;
  • 44.
    DIAGRAMA DE IMPLANTAÇÃO EXEMPLO: PC01 Processador Intel Core 2 Duo E4600 2,40 GHz 2GB de RAM Placa de rede 10/100 Mbps Windows XP R$ 1000,00 Conexão Par Trançado Ethernet 10/100 Switch Gerenciav el 3COM 3C17300A 26 potas 10/100 gerenciav el R$ 689,00 Conexão Fibra óptica Serv idor de Aplicação e banco SGBD Firebird SUPERSERVER 731-400 Processador Quad-Core Intel Xeon X3330 2,66 GHz 2 GB de RAM 500 GB -HD SATA Fonte ATX 400 Watts R$ 2.299,00 USB Impressora Hp LaserJet P105 R$ 409,00
  • 45.