aula de revisão 2º bimestre - análise projeto e programação para web - tsi
DESCRIPTION
Diagramas de Colaboração, Atividade, Estado, Componentes e ImplantaçãoTRANSCRIPT
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 oude 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 01Processador 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!