O documento resume os principais diagramas de modelagem utilizados no desenvolvimento de sistemas para web, incluindo diagramas de colaboração, atividade, estado, componentes e implantação. Exemplos são fornecidos para cada diagrama com o objetivo de explicar sua notação e propósito.
Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI
1. 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
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;
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
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;
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
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);
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;
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;
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ÇÃ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
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 Jogo de Minas
Desligar computador
Inicializar Internet
Fork
Join
DIAGRAMA DE ATIVIDADE
NOTAÇÃO FORK E JOIN
33. 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]
*
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;
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:
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