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
![Page 1: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/1.jpg)
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
![Page 2: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/2.jpg)
DIAGRAMA DE COLABORAÇÃO
![Page 3: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/3.jpg)
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;
![Page 4: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/4.jpg)
DIAGRAMA DE COLABORAÇÃO
Objetos:
Não há linha da vida nem ativação;
minha_conta: Conta
![Page 5: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/5.jpg)
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;
![Page 6: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/6.jpg)
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
![Page 7: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/7.jpg)
DIAGRAMA DE COLABORAÇÃO
EXEMPLO:
![Page 8: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/8.jpg)
DIAGRAMA DE ESTADOS
![Page 9: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/9.jpg)
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;
![Page 10: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/10.jpg)
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;
![Page 11: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/11.jpg)
DIAGRAMA DE ESTADOS
Notação UML
![Page 12: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/12.jpg)
DIAGRAMA DE ESTADOS
Identificação dos Estados
Os estados são identificados através dos valores dos
atributos;
![Page 13: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/13.jpg)
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
![Page 14: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/14.jpg)
DIAGRAMA DE ESTADOS
Exemplo de transição de estado com condições:
![Page 15: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/15.jpg)
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);
![Page 16: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/16.jpg)
DIAGRAMA DE ESTADOS
Exemplo de sequência:
![Page 17: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/17.jpg)
DIAGRAMA DE ESTADOS
Exemplo de bifurcação/junção:
![Page 18: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/18.jpg)
DIAGRAMA DE ESTADOS
Exemplo de repetição:
![Page 19: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/19.jpg)
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;
![Page 20: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/20.jpg)
DIAGRAMA DE ESTADOS
Exemplo de estado composto:
![Page 21: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/21.jpg)
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;
![Page 22: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/22.jpg)
DIAGRAMA DE ESTADOS
Notação de concorrência:
![Page 23: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/23.jpg)
DIAGRAMA DE ATIVIDADE
![Page 24: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/24.jpg)
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;
![Page 25: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/25.jpg)
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;
![Page 26: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/26.jpg)
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;
![Page 27: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/27.jpg)
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;
![Page 28: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/28.jpg)
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;
![Page 29: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/29.jpg)
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
![Page 30: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/30.jpg)
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;
![Page 31: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/31.jpg)
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;
![Page 32: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/32.jpg)
Ligar Micro
Inicializar Jogo de Minas
Desligar computador
Inicializar Internet
Fork
Join
DIAGRAMA DE ATIVIDADE
NOTAÇÃO FORK E JOIN
![Page 33: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/33.jpg)
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]
*
![Page 34: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/34.jpg)
DIAGRAMAS DE IMPLEMENTAÇÃO
![Page 35: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/35.jpg)
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);
![Page 36: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/36.jpg)
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?
![Page 37: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/37.jpg)
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;
![Page 38: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/38.jpg)
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
![Page 39: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/39.jpg)
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;
![Page 40: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/40.jpg)
DIAGRAMA DE COMPONENTES
EXEMPLO:
Tela de AcessoTela de Início
Conexao.class
BD
Lançamento Entidade ContaBancáriaFormaPagamentoUsuário Categoria
![Page 41: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/41.jpg)
DIAGRAMA DE COMPONENTES
EXEMPLO:
CategoriaTela.class
CategoriaRN.class
CategoriaVO.class
CategoriaPers.class
Conexao.class
BD
![Page 42: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/42.jpg)
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;
![Page 43: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/43.jpg)
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ó;
![Page 44: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/44.jpg)
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
![Page 45: Aula de revisão 2º bimestre - Análise Projeto e Programação para Web - TSI](https://reader033.vdocuments.pub/reader033/viewer/2022051515/54c542bb4a7959fd2f8b4575/html5/thumbnails/45.jpg)
BOA PROVA!