Buscar

Paradigmas de Análise e Desenvolvimento 07

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Paradigmas de Análise e Desenvolvimento
Aula 07
Análise Orientada a Objeto (Parte II)
Nesta aula, você irá: 
1. Entender a finalidade e aplicar a elaboraçao de Diagrama de Estado.
2. Entender a finalidade, aplicabilidade e exemplificar a elaboraçao de Diagrama de Atividade.
3. Entender quando é ou não necessário elaborar o Diagrama de Estados.
Diagrama de Estado
Diagramas de Estado mostram os diferentes estados de um objeto, durante sua vida, e o estímulo (evento ou acontecimento) que faz com que o objeto mude seu estado.  Um Estado pertence a exatamente uma classe e representa um resumo dos valores dos atributos de um objeto dessa classe.
Considerações sobre o diagrama de estados:
• Mostra o Ciclo de Vida de um Objeto
• Frequentemente, classes apresentam restrições quanto a chamada de suas operações, dependendo do estado em que um objeto se encontra.
- Exemplo: o objeto FormCadCliente não pode aceitar a chamada da operação Confirmar, caso não esteje editando ou incluindo um objeto.
- Nestes casos, onde há restrições para o momento em que cada operação pode ser requisitada, utiliza-se o diagrama de estados.
• Um Estado descreve um estágio ou modo de comportamento de um objeto - determinado pelo valor de seus atributos.
• Um Evento é uma sinalização do mundo externo (ao objeto) que provoca uma alteração de seu estado.
• Exemplos de Estados:
- A fatura está paga
- O carro está em movimento
• Um objeto muda de estado quando um evento ocorre
- Alguém pagou a fatura
- O motorista dirige o carro
• O diagrama de estados apresenta todas as mensagens que um objeto pode enviar ou receber.
A figura exemplifica um Diagrama de Estado da Classe FATURA:
Que possui 2 *estados: NÃO PAGA e PAGA.
*Existem dois tipos especiais de estados: Inicial e Final. Eles são especiais porque nenhum evento pode fazer com que um objeto retorne para seu estado Inicial, e da mesma maneira nenhum evento pode tirar um Objeto de seu estado Final uma vez que ele já o tenha alcançado.
Quando um objeto da classe FATURA é criado (estado inicial) ele entra, automaticamente, no estado NÃO PAGA.
Quando o evento “Pagar fatura” (Ou Fatura paga) acontece, há uma transição do estado NÃO PAGA para PAGA.
Quando a FATURA atinge o estado de PAGA, acaba o ciclo da mesma, daí a transição para o estado final.
A imagem mostra e destaca cada um dos elementos do Diagrama de Estados:
Veja o exemplo do diagrama de estado do sinal de trânsito (semáforo)
A imagem abaixo mostra um exemplo de Diagrama de Estados para a classe Exemplar de um suposto Sistema de Controle de Bibioteca. Vamos analisar esse diagrama a luz de suas premissas:
• Assim que o exemplar é cadastrado no sistema (evento), ele entra no estado de disponível, podendo ser empretado a partir de então.
• Quando um usuário da biblioteca solicita um empréstimo (eventos) há uma transição do estado Disponível para o estado Emprestado.
• Do estado Emprestado, temos 2 possibilidades de transição
- Para o estado Disponível, quando o usuário devolver o exemplar (evento).
- Para o estado Atrasado quando o sistema (calcular) e detectar que o empréstimo está em atraso (Data corrente superior a data prevista para devolução).
• Do estado Atrasado existirá a transição para o estado disponível, quando o usuário devolver o exemplar (evento).
• Observe que  só pode haver a transição para o estado final, a partir do estado disponível. Com isso a modelagem especifica que para que um exemplar seja excluído do acervo, o mesmo deve estar fisicamente na biblioteca.  
 
A imagem ilustra o diagrama de estado para a classe Exemplar.
Atenção: Cabe ressaltar que o diagrama de Estado de uma classe só deve ser modelado se a mesma possuir pelo menos 2 estados.
Como fazer:
• Defina o objeto (classe) que irá representar; 
       - A classe tem mais de 2 estados ao longo de sua vida?
• Defina os eventos e estados que o objeto vai ter;
• Estabeleça os estados inícial e final;
• Estabeleça os estados, se possível na ordem em que acontecem;
Veja a mesma imagem novamente:
Diagrama de Atividades
Utilizado para descrever a sequência de atividades, utilizando comportamento condicional e paralelo. É composto pelos elementos abaixo relacionados. Para uma melhor compreensão acompanhe em paralelo pelas figuras 4 e 5 (Diagrama de Atividades e seus elementos).
Início: Representado por um círculo preenchido. 
Estado de Atividade ou Atividade: Representado por um retângulo com bordas arredondadas. Atividade é um estado de estar fazendo algo. 
Desvio(Branch): Representado por um losango. Um desvio (branch) é uma transição de entrada única e várias transições de saída guardadas. Somente uma transição de saída pode ser tomada, ou seja, as transições de saída devem ser mutuamente exclusivas. A utilização de [else]  indica que a transição “else” deverá ser usada se todos os outros guardas do desvio forem falsos.
Guarda: é uma condição, testada em um desvio.
Intercalação(Merge): Também representado por um losango, é utilizada para marcar o final de um comportamento condicional iniciado por um desvio, ou seja, tem múltiplas entradas e uma única saída. 
Separação(Fork): Representado por um traço horizontal, quando temos comportamento paralelo, ou seja, temos uma entrada e várias transições de saída que são executadas em paralelo. 
Junção(Joins): Representado por um traço horizontal, utilizamos para completar a separação, ou seja, quando temos um processamento paralelo, precisamos sincronizar.
Raias de natação
Um diagrama de atividades pode ser particionado em raias usando linhas sólidas verticais. Cada raia representa uma responsabilidade por uma parte do fluxo de trabalho, contido em uma parte da organização. Eventualmente, uma raia pode representar uma unidade organizacional (como um departamento, ou um setor da empresa) ou por um conjunto de classes no modelo de classes de negócio.
A ordem relativa de raias não tem significado. As figuras 6 e 7 (Diagrama de Atividades com raias) exemplifica o uso de raias no diagrama de atividades. No primeiro caso (figura 6) as raias representam setores da empresa que executam as respectivas atividades.
No exemplo a seguir, as raias representam as responsabilidades de quem realiza cada tarefa, não sendo propriamente setores da organização, mas participantes do processo (das atividades).
Atenção: É importante comentarmos que um diagrama de atividades de um fluxo de trabalho explora a ordem das tarefas ou das atividades, que podem ser tarefas manuais ou automatizadas.
Como usar diagramas de atividades
O diagrama de atividades pode ser explorado e usado em 3 situações distintas:
a. Na modelagem de um processo de negócio.
b. Na modelagem lógica de um Diagrama de Caso de Uso.
c. Na modelagem lógica de um algoritmo complexo.
Uso 1: modelo de processo de negócio
O processo de negócio também é um processo de entendimento.  Às vezes os modelos são construídos para melhorar o entendimento de um determinado problema, conforme ilustrado pela figura (Diagrama de Atividade como modelagem de processo):
Uso 2: modelagem da lógica de um diagrama de caso de uso
Na descrição de um caso de uso, não há uma sintaxe clara para indicar decisões, iterações e fluxos executados em paralelo. É comum utilizar frases como “O passo P ocorre até que a condição C seja verdadeira” ou “Vai para o passo 9 do Fluxo Principal”.
Nessas situações, é interessante complementar (não substituir) a especificação do caso de uso com um diagrama de atividades, conforme exemplificado na figura (Diagrama de atividade como modelagem de Caso de Uso). Esse diagrama deve especificar como o caso de uso funciona e claro terá uma relação direta com o diagrama de sequência.
Uso 3: modelagem lógica de uma operação complexa
Em alguns casos, quando uma operação de uma classe implementa uma regra de negócio complexa, pode haver a necessidade de descrever a lógica dessa operação, o que pode ser feito pelo Diagrama de atividades, conforme ilustraa Figura (Diagrama de Atividade como modelagem de uma operação complexa (de um método de uma classe).
Praticando diagrama de estado
Vamos usar o estudo de caso e modelagem apresentados na aula 6 e:
Identificar as classes em que temos necessidade de modelar o diagrama de estado.
Realizar essa modelagem.
Como identificar as classes que carecem de modelo de Estado?
Cliente: não tem nenhum estado distinto do Ativo. Não precisa.
Quarto: pode estar disponível, reservado, Ocupado e Limpeza. São 4 estados e precisamos mostrar como ocorre as transições de estado. A figura 11, abaixo apresenta o diagrama de estado da Classe Quarto.
Reserva: pode estar ativa ou cancelada. 2 estados já seria o suficiente para modelarmos o diagrama de estados.
Hospedagem: Não possui estados, pois o objeto só é instanciado quando o cliente faz o checkin (representado no diagrama de estado da classe reserva.
Pagamento: não tem nenhum estado, dentro do contexto em que sistema está sendo analisado.
Ou seja, precisamos modelar a máquina de estado das classes Quarto e Reserva. Comecemos por Quarto que apresenta 4 estados e é uma máquina mais complexa.
Praticando diagrama de atividade
Vamos usar o estudo de caso e modelagem apresentados na aula 6:
Realizar a modelagem do caso de uso que especificamos. Seria a aplicação da opção 2 (Uso 2: Modelagem da lógica de um Diagrama de Casos de Uso.
Observe que com o Diagrama de Atividade fica mais claro visualizar o caso de uso como um todo. A especificação é clara, mas quando usamos texto do tipo “retornar ao passo X”, “Extends Cadastrar Cliente”, a descrição textual não é tão clara.
A sequência de SE.. Então.. Senão fica mais clara quando expresso através de um diagrama de atividade. Na verdade, complementa e não substitui, como já fora citado.
Sugerimos o acesso aos seguintes sites, referentes aos conceitos e práticas inerentes a técnica de Analise Essencial para desenvolvimento de sistemas.
Procure explorar todos os links existentes nas URLs abaixo relacionadas.
 http://pt.wikipedia.org/wiki/Diagrama_de_transição_de_estados
Nesta aula, você aprendeu:
Entendeu a finalidade e aplicar a elaboraçao de Diagrama de Estado.
Entendeu a finalidade, aplicabilidade e exemplificar a elaboraçao de Diagrama de Atividade.
Aprendeu quando é ou não necessário elaborar o Diagrama de Estados.
Na próxima aula, você estudará sobre os assuntos seguintes: 
A modelagem de um estudo de Caso usando a Analise Essencial.
Respostas: 3, 3, 2

Outros materiais