Diagrama de Máquina de Estados

Download Report

Transcript Diagrama de Máquina de Estados

Educação Profissional Técnica de Nível
Médio
Curso Técnico de Informática
Disciplina: Interpretação de Projetos de
Software
Professor: Cheli dos S. Mendes da Costa
Diagrama da UML- Diagramas Maquina de
Estados, Componentes e Implantação.
"Não se preocupe com quem
é o pai da ideia; escolha as
melhores e vá em frente.”.
Steve Jobs
Diagrama de Máquina de Estados
Desenvolvido em qualquer fase do projeto, qualquer
elemento pode ter um diagrama de estado para
melhor
compreensão
ou
exibição
de
seu
comportamento.
Baseia-se an descrição de um Caso de Uso e apoiase no Diagrama de Classes.
É utilizado para acompanhar os estados por que
passa uma instância de uma classe, ou representar os
estados de um Caso de Uso ou mesmo de um
subsistema ou sistema completo.
Diagrama de Máquina de Estados
Sua construção é recomendada apenas quando
existir um sério grau de complexidade referente a transição
de estados de um dos objetos envolvidos no processo.
Esse diagrama procura acompanhar as mudanças sofridas
nos estados de uma instância de uma classe, de um Caso
de Uso ou mesmo de um subsistema ou sistema completo.
Como o Diagrama de Sequência, o Diagrama de Máquina
de Estados muitas vezes se baseia em um Caso de Uso e
se apoia no Diagrama de Classes.
Diagrama de Máquina de Estados –
EXEMPLO 1: objeto Telefone
Diagrama de Máquina de Estados
Objetos de uma classe possuem um "ciclo de vida”
oSão gerados
oAssumem posições (estados)
oDão origem a outros objetos
o Deixam de existir (são destruídos)
O estudo dos diferentes estados de um objeto de
uma classe e das transições entre estes estados
permite o levantamento de serviços adicionais a
serem incorporados na classe
Diagrama de Máquina de Estados
Estado
Um objeto pode passar por diversos estados
dentro de um processo.
Um estado pode demonstrar:
•A espera pela ocorrência de um evento
•A reação a um estímulo
•A execução de alguma atividade ou
•A satisfação de alguma condição.
Diagrama de Máquina de Estados
Evento – É uma ocorrência significativa ou digna de
nota. Exemplo: Um aparelho telefônico é retirado do
gancho.
Estado – É a condição de um objeto em determinado
momento no tempo – o tempo entre os eventos.
Exemplo: Um telefone está no estado ocioso após o
fone ter sido colocado no gancho e até que seja
novamente retirado do gancho.
Diagrama de Máquina de Estados
Transição – É um relacionamento entre dois estados,
indicando que, quando um evento ocorre, o objeto
muda do estado anterior para o estado subsequente.
Exemplo: Quando o evento “fora do gancho” ocorre,
o telefone transiciona do estado “ ocioso ” para o
estado “ativo”.
Diagrama de Máquina de Estados
Evento externo – É causado por algo fora do
limite do s
sistema (por exemplo, um ator). Também é
conhecido como evento de sistema.
Evento interno – É causado por algo dentro do limite do
sistema, por exemplo, uma mensagem de um objeto para
outro (equivalente ao que ocorre em um diagrama de
interação).
Evento temporal – Causado pela ocorrência de uma data
ou hora específica, ou pela passagem do tempo. Produzido
por um relógio em tempo real ou tempo simulado.
Ação de transição – Representa a chamada de um
método da classe.
Diagrama de Máquina de Estados –
EXEMPLO 2: classe ContaBancaria
Diagrama de Máquina de Estados ELEMENTOS
ESTADO - Representa a situação em que um
objeto se encontra e um determinado momento
durante o período em que este participa de um
processo. Um estado pode demonstrar:
A espera pela ocorrência de um evento;
A reação a um estímulo;
A execução de alguma atividade;
A satisfação de alguma condição
Representação:
Diagrama de Máquina de Estados
Estado
Segunda divisão do retângulo pode armazenar três
cláusulas:
Entry: representa as ações realizadas no momento
em que o objeto assume o Estado em questão;
Exit: identifica as ações executadas antes do objeto
mudar de Estado;
Do: ilustra as atividades executadas enquanto o
objeto se encontra em um determinado Estado.
Ex:
Consultando Pessoa
do/ConCPF
Cheli Mendes
09/2014
Diagrama de Máquina de Estados ELEMENTOS
Representação:
A descrição deve sempre que possível
estar no gerúndio
Diagrama de Máquina de Estados ELEMENTOS
TRANSIÇÃO - Representa um evento(Evento de
Ativação) que causa uma mudança no Estado de um objeto,
gerando um novo estado.
Representação:
evento(lista-parametros)[condição-guarda]/ação
Diagrama de Máquina de Estados ELEMENTOS
Outros tipos de transições:
Transição não-ativada: representa as transições geradas
pela simples conclusão da atividade do Estado anterior.
Transição interna: não causam mudança no Estado do
objeto.
Transição Interna
Diagrama de Máquina de Estados ELEMENTOS
ESTADO INICIAL - Determina o início do diagrama, ou
seja, o momento a partir do qual os Estados de um
determinado objeto ou processo serão analisados.
ESTADO FINAL - Determina o final do diagrama
Diagrama de Máquina de Estados ELEMENTOS
AUTO-TRANSIÇÕES - Sai do Estado atual do objeto,
podendo executar alguma ação quando dessa saída e
retornam ao mesmo estado.
Diagrama
para um
objeto Caixa
ou
TelaPedido.
Não é de um
objeto
Pedido.
Diagrama de Máquina de Estados ELEMENTOS
ESTADO DE PONTO DE ESCOLHA DINÂMICORepresenta o ponto de transição de Estados de um
objeto que deve ser tomada uma decisão, a partir da
qual um determinado estado será ou não gerado,
normalmente em detrimento de diversos outros
possíveis Estados.
Representa então uma escolha apoiada por Condições
de Guarda, em que se decidirá qual será o próximo
Estado do objeto a ser gerado.
Diagrama de Máquina de Estados ELEMENTOS
BARRA DE SINCRONIZAÇÃO- É utilizada quando da
ocorrência de Estados paralelos causados por transições
concorrentes. Determina o momento em que o processo
passou a ser executado em paralelo e em quantos subprocessos se dividiu (bifurcação) ou determinar o momento
em que dois ou mais sub-processos se uniram em um
único (união).
Diagrama de Máquina de Estados ELEMENTOS
JUNÇÃO OU PONTO DE JUNÇÃO- Serve para indicar a
união de dois ou mais processos paralelos em um único.
Junção
Diagrama de Máquina de Estados ELEMENTOS
Modifique o diagrama abaixo, utilizando junções e
pontos de escolha dinamico, de modo que não exista
mais de uma transição chegando em cada estado.
Diagrama de Máquina de Estados ELEMENTOS
ESTADO COMPOSTO- É um Estado que contém
internamente dois ou mais Estados, chamados algumas
vezes de sub-Estados. É um Estado que foi “explodido”,
de maneira a apresentar detalhadamente todas as etapas
por que passa o objeto quando no Estado em questão. É
obrigatório o uso do Estado Inicial porém não é
necessário o uso do Estado Final.
Diagrama de Máquina de Estados ELEMENTOS
ESTADO DE HISTÓRIA- Representa o registro do último
sub-estado em que o objeto se encontrava, quando, por
algum motivo, o processo foi interrompido.
Diagrama de Máquina de Estados ELEMENTOS
ESTADOS CONCORRENTES- É um Estado Composto em que
ocorrem processos paralelos, o que força o processo a se dividir
em dois ou mais sub-processos concorrentes.
Diagrama de Máquina de Estados ELEMENTOS
ESTADO DE SINCRONISMO- Permite que os relógios de
dois ou mais processos paralelos estejam sincronizados em
um determinado momento do processo
Sincronizando
sinais do transito
Diagrama de Máquina de Estados ELEMENTOS
ESTADO DE SUB-MÁQUINA- É equivalente a
um Estado Composto ou Concorrente, no entanto,
seus sub-estados não são descritos no diagrama,
o que indica que estes terão de ser demonstrados
em outro diagrama. Representado por um
retângulo com bordas arredondadas sem divisões
internas e contendo em seu canto inferior
esquerdo um símbolo que representa um
diagrama de gráfico de estados, significando que
o estado emCalculando
questão
sub-estados.
novopossui
valor do produto
Diagrama de Máquina de Estados ELEMENTOS
.
ESTADOS CORTADOS (Stub States) - São utilizados em
Estados de sub-máquinas quando um Estado externo ao
Estado de submáquina gera uma transição que será
responsável pela criação de um sub-estado contido, porém
não representado no Estado de submáquina, ou ainda, um
sub-estado interno de um Estado de submáquina pode gerar
uma transição para um Estado externo ao Estado de
submáquina, as transições referentes a estes sub-estados
atingem ou partem de uma linha representando um subestado contida no Estado de submáquina. Não podem receber
ou gerar transições para Estados Iniciais e Finais.
Calculando novo valor do produto
Cheli Mendes
09/2014
Diagrama de Estado- Exemplo
Cheli Mendes
09/2014
Diagrama de Estado- Exemplo 2
Diagrama de Componentes
Diagrama de Componentes
Captura a estrutura física da implementação
Construído como parte da especificação da
arquitetura
Objetivo
Organizar o código fonte (ambiente de
desenvolvimento)
Construir uma release executável (ambiente de
produção)
- Especificar uma base de dados física
- Desenvolvido por arquitetos e programadores
- Contém componentes, interfaces e relações entre
componentes
Diagrama de Componentes
Apresenta uma visão estática de como o sistema
será implementado e quais os seus módulos de
software, ou seja, os seus componentes.
Está amplamente ligado a linguagem de
programação de implementação.
Na UML 1, identificava os arquivos que compunham o
software em termos de módulos, bibliotecas, formulários,
arquivos de help, tabelas, documentos e outros, além de
determinar como eles se relacionam, na UML 2.0 esta
representação é feita pelos “artefatos”.
Exemplo de Componente:
Componentes
Um componente é uma parte física (feita de
bits e bytes) e substituível de um sistema, que
proporciona a realização de um conjunto de
interfaces.
• Podem-nos interessar diferentes ambientes:
desenvolvimento, produção, testes, ...
Exemplos: executáveis, bibliotecas, tabelas,
ficheiros, documentos.
Um componente representa um empacotamento
físico de elementos relacionados logicamente
(normalmente classes).
Notação: caixa com tabs
Diagrama de ComponentesArtefatos
•É um produto do processo de desenvolvimento de
software.
•Inclui modelos de processo (casos de uso ou padrões
de projeto), arquivos fonte, executáveis, documentos,
relatórios, manuais, entre outros.
•Pode ser utilizado para auxiliar o processo de
engenharia reversa.
Componente (UML1) x Artefato
UML
•É importante ressaltar que o ARTEFATO UML 2 tem
a mesma função do componente na UML 1.
•A notação de um componente em UML é feita por
meio de um retângulo com uma elipse e dois
retângulos menores do seu lado esquerdo, sendo
que o nome do componente é escrito abaixo ou
dentro de seu símbolo.
UML 2
UML 1
Esteriótipo. Pode ser:
•Library;
•Table;
•Document;
•File;
•Ou outro definido pelo
desenvolvedor
Diagrama de Componentes
Dependência
Determina que um componente pode utilizar os serviços
ou depender de alguma forma de outros componentes do
sistema.
Pode ser utilizado para demonstrar as classes que estão
sendo implementadas ou manipuladas por um componente.
Diagrama de Componentes
Interface
Representa um serviço realizado por uma classe ou
•
componente.
• Não possuem implementação ou qualquer especificação interna.
• Quando um componente implementa um interface, ele se relaciona
com ela por meio de um relacionamento de realização.
Já se um componente utiliza a interface, este se relaciona com ela
através de um relacionamento de dependência
Diagrama de componentes
Diagramas de componentes ilustram partes do software,
controladores embarcados, entre outros elementos que irão
compor um sistema.
,
Um diagrama de componente é uma abstração de nível mais alto
que o diagrama de classe, normalmente um componente é
implementado por uma ou mais classes (ou objetos) em tempo de
execução.
Diagrama de Componente
,
Diagramas de componentes se assemelham na
prática a diagramas de pacotes de forma que definem
fronteiras e são usados para agrupar elementos dentro de
uma estrutura lógica.
Representação de componentes
Interface Requerida
- Conecta uma interface requerida por um componente com
uma outra fornecida por outro, isto possibilita fornecer
serviços que outro componente requeira.
Diagrama de Componentes
Componentes com portas
- Permite que um comportamento ou serviço seja
especificado para o ambiente do componente ou que ele
requeira. Portas podem especificar entradas e saídas,
assim elas podem operar bidirecionalmente.
Diagrama de Componentes
Exemplo
,
Atividade
,
Interprete o modelo abaixo
Diagrama de Componentes
Exemplo 2
Interfaces esperadas
se encontrando com
interfaces fornecidas
,
Diagrama de Implantação/ Execução /
Instalação
Diagrama de Implantação
Mostra o layout físico de um sistema, revelando quais partes do
software são executadas em quais partes do hardware (FOWLER,
2005).
Enfoca a estrutura física sobre a qual o software irá ser implantado e
executado em termos de hardware.
Define como as máquinas estarão conectadas e através de quais
protocolos se comunicarão.
É útil quando o sistema a ser modelado for ser executado sobre múltiplas
camadas.
Seus elementos são os nós e os caminhos de comunicação.
Nó – Dispositivo
(hardware) ou Ambiente
de Execução (software
que contém outro
software - SO)
Diagrama de Implantação
Diagrama de Implantação
Este diagrama modela a arquitetura do sistema em tempo de
execução, mostrando a configuração dos elementos de hardware
(nós) e como os elementos de software e artefatos são mapeados
dentro destes nós.
Nó – Representa um elemento de hardware ou software.
Instância de Nó – Assim como são representadas instâncias de classes,
também representam-se instâncias de nós, podendo ter nome ou
mesmo serem anônimas.
Diagrama de Implantação
Estereótipo de nó – Um número de estereótipos padrões
são fornecidos para nós, normalmente <<cdrom>>, <<cdrom>>, <<computer>>, <<disk-array>>, <<pc>>, <<pcclient>>, <<pc server>>, <<server>>, <<storage>>, <<unix
server>>, <<user pc>>.
Diagrama de Implantação
Conexões – No contexto dos diagramas de instalação as
conexões representam um caminho de comunicação entre
os nós. Assim como as associações possuem nome e
multiplicidade.
Diagrama de Implantação
Nó como container – Um nó pode conter outros
elementos, como componentes e artefatos.
Diagrama de Implantação
Diagrama de Componentes
Exemplo 2
,
Diagrama de Componentes
Exemplo 3
,
Atividade
Identifique os elementos solicitados