• Nenhum resultado encontrado

Engenharia de Software Estados

N/A
N/A
Protected

Academic year: 2019

Share "Engenharia de Software Estados"

Copied!
46
0
0

Texto

(1)
(2)

Diagrama de Estados

O diagrama de estados descreve o

comportamento de objetos em relação a eventos.

 Apresenta uma seqüência de estados e

ações que ocorrem durante a vida do objeto, em resposta a eventos.

O diagrama de estados mostra o ciclo de

vida de um objeto, ou seja, seus estados, os eventos que causam a transição de um

(3)

Diagrama de Estados

Modela as possíveis histórias de um

objeto de uma classe por meio de

máquinas de estados.

 Apresenta possíveis estados do objeto

conectados por transições.

 Usado para descrever:

sistemas reativos, como interface com

usuário;

objetos passivos que apresentam períodos

(4)

Diagrama de Transição de

Estados

São empregados para fazer a

modelagem de aspectos

dinâmicos do sistema.

DTE mostra o fluxo de controle de

um estado para o outro.

O DTE mostra apenas o que o

(5)

Diagrama de Transição de

Estados

Os DTE podem ser anexados a

classes, a casos de uso ou a sistemas

inteiros para visualizar, especificar,

(6)

Diagramas de Estado

Os cenários nos

Casos de Uso

e os

Diagramas de Interação

descrevem o

comportamento do sistema.

Em alguns casos é necessário

descrever o

comportamento interno

de

um

objeto

. Isso é feito por meio dos

(7)

Diagramas de Estado

Os principais elementos de um

diagrama de estado são

estados (possíveis)

transições (indicam mudanças de estado do

objeto)

eventos externos (provocam a mudança de

estado no objeto)

(8)

Representação

Estado Inicial:

 Estado Final ou Estado de Parada:

 Estado:

Transições:

(9)

Diagrama de Transição de

Estados

Estado 1

Estado 2

(10)

Estado

É uma condição detectada durante o ciclo

de vida de um objeto quando ele:

 Satisfaz alguma condição;  Realiza alguma atividade;  Aguarda por algum evento.

 O estado de um objeto é uma das possíveis

condições nas quais ele pode existir durante sua vida.

Diferentes estados implicam maneiras

(11)

Compartimentos

Um estado pode ser opcionalmente

subdividido em compartimentos:

Compartimento de Nome:

Armazena o nome do estado, como uma string.

 Compartimento de transições internas:

Armazena uma lista de atividades internas que são

executadas enquanto o objeto se apresenta no estado em questão.

L i b e ra n d o Di n h e i ro

e n try/ bl o qu e a rV a lo r( va l o rSa ca do ) d o / co nta rCe du l as

e xi t/ d eb i ta rV a l o r( va l o r Sa ca do )

Nome

(12)

Estados x Atributos

O estado de um objeto pode ser

caracterizado pelo valor de um ou mais atributos.

Co n ta

sal d o ti p o

Norm al

Us ando Lim ite

Bloqueada

[s aldo < 0 and tipo = ESPECIAL]

[s al do < 0 and tipo = COMU M]

(13)

Estados x Atributos

Curs oOferecido num Es tudantes

In g l e s: Cu rso O fe re ci d o n u m E stu d a n te s = 7

Ab e rto Fe ch a d o

O número máximo de estudantes por curso é 10

(14)

Estados x Relacionamentos

Estados podem ser caracterizados pela

existência de um relacionamento com outro objeto.

P ro fe sso r T u rm a

0 ..n 0 ..n

Em

dis ponibilidade

Em Ati vi dade [num eroTurm as > 0]

(15)

Estado Inicial

Indica o local de início do diagrama de

estados.

Cada diagrama deve possuir um e

apenas um estado inicial (exceto para diagramas aninhados).

Representação: Um círculo preenchido:

(16)

Estado Final

Indica o fim da existência de um objeto ou

o final da realização de uma atividade (para diagramas aninhados).

Um diagrama pode ter múltiplos estados

finais:

(17)

Estados

Um sistema só pode ter um Estado

Inicial.

Pode ter múltiplos Estados Finais.

Estes Estados Finais são mutuamente

exclusivos, o que quer dizer que

(18)

Transição

 Relacionamento entre dois estados.

 Indica que haverá uma mudança de estado

e que determinadas ações serão executadas.

Pode ocorrer como resultado de algum

evento

Pode ter que satisfazer a alguma condição.  O estado sucessor pode ser o estado

original.

É representada com uma seta de estado de

(19)

Transição - Curso

A b e rto Ca n ce la d o

In cl u ir e stu d an te

Ca n ce la r cur so Transição

(20)

Transição

assinaturaDoEvento [condiçãoDeGuarda] / expressãoAção

AssinaturaDoEvento

Descreve o evento com seus

(21)

Transição

assinaturaDoEvento [condiçãoDeGuarda] / expressãoAção

[condiçãoDeGuarda]

Quando verdadeira, permite que a transição seja feita. Só é avaliada depois que o evento ocorre.

Várias transições a partir do mesmo estado de origem, identificadas com o mesmo evento, se diferenciam pela condição de guarda.

É colocada entre colchetes.

(22)

Transição

assinaturaDoEvento [condiçãoDeGuarda] / expressãoAção

expressãoAção

Somente é executada no início da

transição, se esta ocorrer.

Pode ser descrita com operações.

É precedida por uma barra /.

(23)

Transição

A g u a rd a n d o No ta

Ha bi l i ta n do S e g u nd a Ch a m a d a

A tu a l i za n d o M é d i a

No ta l a n ça d a [ n o ta >= 0 ] / A d i ci o n a rNo ta

(24)

Condição de Guarda

Se há múltiplas transições:

Uma condição de guarda é necessária em

cada transição.

 As condições devem ser mutuamente

exclusivas.

[ Co n d i çã o 1 ]

(25)

Condição de Guarda

Expressão booleana de valores de

atributos que permitem a execução de uma transição apenas se a condição for verdadeira.

Em geral torna-se uma operação do

objeto.

(26)

Ação

 É uma operação que está associada a uma

transição.

Leva um tempo insignificante na execução.

É considerada como uma operação que não pode

ser interrompida.

É mostrada na seta de transição precedida por

uma barra.

Aberto Criação

Abertura de m atrícula / Inicialize num Es tudantes com 0

(27)

Atividades

 Como parte da mudança de estado, o sistema normalmente executará uma ou mais

atividades:

 Produzirá uma saída;

 Apresentará uma mensagem na tela;  Efetuará um cálculo; etc.

As atividades são respostas

enviadas ao ambiente externo ou

cálculos cujos resultados são

(28)

Transições Internas

 Atividades associadas ao estado e que devem

ocorrer na entrada, ou na saída do estado.

São associadas com qualquer transição

entrando ou saindo do estado.

São mostradas dentro do ícone do estado

precedidas pela palavra “entry”, “exit” ou “do”.

L i b e ra n d o Di n h e i ro

e n try/ bl o qu e a rV a lo r( va l o rS a ca do ) d o / co nta rCe du l as

(29)

Atividade

É uma operação que leva tempo para

terminar.

 São associadas a um estado.

Começa quando o objeto entra no

estado.

 Pode executar até terminar ou pode ser

interrompida pelo disparo de uma transição. Fe ch a d o

(30)

Exercício – Pousada – Crie um Diagrama

de Estados para o objeto Quarto

O gerente de uma pousada deseja um sistema para gerenciar as reservas. Quando um cliente potencial deseja fazer uma reserva, o sistema verifica se

existem quartos disponíveis no período, e em caso positivo, o sistema solicitará os dados do cliente (nome, endereço, telefone).

O sistema também deve armazenar sobre a reserva a data prevista para entrada, data prevista para saída, valor do desconto concedido e o número dos quartos. Cada quarto possui um preço e uma descrição. Não há frigobar. Nem serviços de quarto.

As reservas são garantidas através do pagamento de uma diária.

Caso o cliente não efetue este pagamento até três dias antes da data prevista de entrada, a reserva é cancelada pelo sistema. Um relatório de reservas canceladas é gerado pelo sistema diariamente. Outros relatórios diários são o relatório de

reservas não pagas e o relatório sobre as reservas a serem efetivadas no dia.

(31)

Estados Compostos

Estados compostos podem ser utilizados para

simplificar diagramas de estados.

Um estado composto é um estado que engloba

estados internos concorrentes ou seqüenciais.

 Estados internos são denominados sub-estados.  Cada região de um estado composto pode possuir

estados inicial e final.

Uma transição para um estado composto

(32)

Estados Compostos

Ini ci aliza r do/ Inicialize objeto Curs o

Aberto

entry/ Regis trar es tudante Incluir es tudante / Setar num Es tudante = 0

Cancelado

do/ Enviar nota de cancelam ento

Cancelar Curs o

Fechado do/ Finaliza objeto curs o exit/ Lis taDeCurs os .criarLis ta

[ numEs tudan te = 10 ] / Cur s oR ela tor io .cria rRel ato ri o

Cancelar curs o

(33)

Estados Compostos

Inicializar do/ Inicialize objeto Curs o

Cancelado

do/ Enviar nota de cancelam ento

Regis tro

Fechado do/ Finaliza objeto curs o exit/ Lis taDeCurs os .criarLis ta

Aberto

entry/ Regis trar es tudante

Fechado do/ Finaliza objeto curs o exit/ Lis taDeCurs os .criarLis ta

Aberto

entry/ Regis trar es tudante Inc lui r estudante / Setar num Es tuda nte = 0

(34)

Estados Compostos

Estados Compostos com Histórico:

 Usar a característica de histórico indica

que no retorno de um super-estado, o sub-estado mais recentemente visitado será entrado.

 Se a característica histórico não for

usada, o sub-estado inicial sempre será entrado quando o super-estado for

(35)

Estados Compostos

Inicializar do/ Inicialize objeto Curs o

Cancelado

do/ Enviar nota de cancelam ento

Regis tro

Fechado do/ Finaliza objeto curs o exit/ Lis taDeCurs os .criarLis ta

Aberto

entry/ Regis trar es tudante

H

Fechado do/ Finaliza objeto curs o exit/ Lis taDeCurs os .criarLis ta

Aberto

entry/ Regis trar es tudante Incluir es tudante / Setar num Es tudante = 0

[ num Es tudante = 10 ] / Curs oR el atori o.criarRelatorio Incluir es tudante[ num Es tudante < 10 ]

H

Su s pens o d o/ Aguar da por 10 m inutos

(36)

Diagrama de Estados

Crie diagrama de estados apenas para

classes com um comportamento

dinâmico significativo.

Classes de Interface e Controle

normalmente possuem um

comportamento dinâmico interessante

de ser capturado em um diagrama de

estados (normalmente, mas nem

(37)

Diagrama de Estados

Para uma dada classe, procure possíveis

estados:

 Avaliando valores de atributos;  Avaliando operações;

 Definindo regras para cada estado;

Identificando as transições válidas entre

estados;

 Analisando os diagramas de seqüência;

 O intervalo entre duas operações pode ser um

(38)

Diagrama de Estados

Pedido Aberto entry/ Inicializar pedido

Pedido em Elaboração do/ acum ula rTotal

do/ ver ificarDis ponibi lidade do/ alo carEs toque

Pedido Confirm ado do/ em balarparaExpedicao

Pedido Com pleto do/ verificarCredito

Pedidio Atendido

do/ im prim irConhecim entodeCarga do/ im prim irFatura

Pedido Rejeitado do/ notificarVendedor do/ atualizarSituacao Iniciar pedido

Adicio narIte m (1)

AdicionarItem (n)

EncerrarInclus ao

[ CreditoAprova do ]

(39)
(40)

Diagrama de Estado

Abrir janela

Pronto

Campo alterado

Pronto

Botão consultar

(41)

Pontos a serem Verificados após

a construção de DTE

Foram definidos todos os estados?

Verificar se existe qualquer outro

comportamento observável ou

qualquer outra condição que o sistema

possa estar.

Todos os estados podem ser

atingidos?

Algum estado foi definido

(42)

Pontos a serem Verificados após

a construção de DTE

Todos os estados têm saída?

Todos

os estados devem ter um estado

sucessor.

Em cada estado, o sistema reage

adequadamente a todas as condições

possíveis?

Especificar o

(43)

Exemplo DTE: Ligação

Telefônica

No gancho

Aguardando Linha

[ Tirou do Gancho ]

Discando

[ Deu Linha ]

Estado Final

Aguardando Atender

[ Ocupado ]

[ Livre ] [ Desistiu ]

Conversando [ Atendeu ]

(44)
(45)
(46)

Exercício:

Biblioteca:

 A atividade da biblioteca encontra-se principalmente no

empréstimo de publicações pelos alunos da universidade. O aluguel é registrado pelos funcionários da biblioteca, que também consultam diariamente os empréstimos cujos prazos foram ultrapassados. Todo processo é efetuado manualmente, sendo muito ineficiente. Espera-se que o novo sistema resolva esta situação.

Os alunos necessitam pesquisar os livros existentes na

biblioteca. Caso um livro esteja emprestado é mostrada a data esperada de entrega.

Referências

Documentos relacionados

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

São considerados custos e despesas ambientais, o valor dos insumos, mão- de-obra, amortização de equipamentos e instalações necessários ao processo de preservação, proteção

xii) número de alunos matriculados classificados de acordo com a renda per capita familiar. b) encaminhem à Setec/MEC, até o dia 31 de janeiro de cada exercício, para a alimentação de

Os parâmetros observados neste estudo foram a presença das alterações ungueais relacionadas no Quadro 2, presentes em qualquer unha das mãos ou dos pés, sendo classificadas

Muito embora este estudo tenha incluído um número relativamente pequeno de casos, a análise multivariada confirmou o impacto prognóstico independente dos fatores idade e

III - quem vende, expõe à venda, exporta ou adquire, guarda, tem em cativeiro ou depósito, utiliza ou transporta ovos, larvas ou espécimes da fauna silvestre,

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar