aula de revisão 2º bimestre - análise projeto e programação para web - tsi

45
ANÁLISE PROJETO E PROGRAMAÇÃO PARA WEB Profª. Maria Alice Jovinski DIAGRAMAS DE COLABORAÇÃO, A TIVIDADE, ESTADO, COMPONENTES E IMPLANTAÇÃO AULA DE REVISÃO

Upload: mjovinski

Post on 26-Jan-2015

354 views

Category:

Education


0 download

DESCRIPTION

Diagramas de Colaboração, Atividade, Estado, Componentes e Implantação

TRANSCRIPT

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

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

DIAGRAMA DE COLABORAÇÃO

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

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

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

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

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

DIAGRAMA DE COLABORAÇÃO

EXEMPLO:

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

DIAGRAMA DE ESTADOS

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

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

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

DIAGRAMA DE ESTADOS

Notação UML

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

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

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

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

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

DIAGRAMA DE ESTADOS

Exemplo de sequência:

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

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

DIAGRAMA DE ESTADOS

Exemplo de repetição:

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

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

DIAGRAMA DE ESTADOS

Exemplo de estado composto:

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

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

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

DIAGRAMA DE ATIVIDADE

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

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

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

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

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

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

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

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

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

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

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

DIAGRAMAS DE IMPLEMENTAÇÃO

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

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

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

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

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

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

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

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

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

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

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

BOA PROVA!