Baixe o app para aproveitar ainda mais
Prévia do material em texto
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 10 Modelagem de Estados Tópicos • Introdução • Diagrama de Transição de Estados • Construindo o DTE • Importância do DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 3 Tópicos • Introdução • Diagrama de Transição de Estados • Construindo o DTE • Importância do DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 4 Introdução • Objetos de um sistema sempre se encontram em um estado em particular; • Quando um objeto muda de um estado para outro há uma transição de estados; • Os objetos mudam de estado quando ocorre um evento interno ou externo; • Os objetos passam por um número finito de estados. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 5 Introdução • O diagrama da UML que modela os estados de um sistema e suas transições é chamado de Diagrama de Transição de Estados; – Também chamado de Máquina de Estados • O diagrama descreve o comportamento dos objetos de uma classe, modelando os estados e suas transições; • Também não é necessário modelar todas as classes do sistema; Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 6 Tópicos • Introdução • Diagrama de Transição de Estados • Construindo o DTE • Importância do DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 7 Diagrama de Transição de Estados Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 8 Diagrama de Transição de Estados ESTADOS • Situação na vida do objeto a qual ele satisfaz alguma condição ou realiza alguma atividade. – Ex.: O atributo reservado de um quarto está setado como verdadeiro; • No diagrama: – Estado – Retângulo com bordas arredondadas – Estado inicial – Circulo preenchido (só existe um) – Estdo final – Circulo eclipsado (opcional e podem existir vários) Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 9 Diagrama de Transição de Estados Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 10 Estado inicial Estado Estado final Diagrama de Transição de Estados TRANSIÇÕES • Ligam os estados, quando ocorre uma transição dizemos que ela foi disparada; • Pode haver uma transição em um mesmo estado; • Uma transição pode ser rotulada: – evento (lista-parâmetros) [guarda] /ação Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 11 Diagrama de Transição de Estados TRANSIÇÕES evento (lista-parâmetros) [guarda] /ação • Existem eventos vinculados às transições • É algo que acontece que pode modificar o estado de um objeto Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 12 Em sistemas de software Em processos de negócio Mouse pressionado Pedido realizado Disco inserido Fatura paga Cheque devolvido Diagrama de Transição de Estados TRANSIÇÕES evento (lista-parâmetros) [guarda] /ação • Um evento pode conter uma lista de parâmetros; • Os parâmetros fornecem informações para o receptor de evento. – Exemplo: Mouse pressionado(local) – Local é a posição da tela onde foi pressionado Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 13 Diagrama de Transição de Estados TRANSIÇÕES evento (lista-parâmetros) [guarda] /ação • Os eventos podem ser classificados em: – Evento de chamada: Recebimento de mensagem de outro objeto, solicitação de serviço de um objeto; – Evento de sinal: objeto recebe um sinal de outro objeto que o faz mudar de estado, é raramente utilizado, nele o objeto continua seu processamento após enviar o sinal; – Evento Temporal: passagem de um intervalo de tempo predefinido. Exemplo: after(30 segundos) – Evento de Mudança: Uma condição se torna verdadeira. Exemplo: when(saldo > 0) Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 14 Diagrama de Transição de Estados Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 15 Diagrama de Transição de Estados TRANSIÇÕES evento (lista-parâmetros) [guarda] /ação • É uma expressão de valor lógico, pode utilizar parâmetros do evento, atributos da classe, valor de um estado, dentre outros. • Uma transição com condição de guarda só é disparada se essa condição for verdadeira; Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 16 Diagrama de Transição de Estados TRANSIÇÕES evento (lista-parâmetros) [guarda] /ação • Ao passar de um estado para outro, um objeto pode realizar ações; • Ações são execuções de uma operação; • Sempre coloca-se uma barra (/) antes da ação. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 17 Diagrama de Transição de Estados ATIVIDADES • Semelhantes as ações, é algo que é executado pelo objeto. • Diferenças: – Podem ser interrompidas; – Estão associadas a um estado Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 18 Diagrama de Transição de Estados PONTO DE JUNÇÃO • Em algumas situações, o próximo estado varia de acordo com a condição de guarda: – Se verdadeiro E1, se falso E2... • Essa situação é representada por um ponto de junção: – Um losango em que chegam uma ou mais transições e de onde partem mais transições – Quando uma das condições é verdadeira, todas as outras devem ser falsas. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 19 Diagrama de Transição de Estados PONTO DE JUNÇÃO Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 20 Diagrama de Transição de Estados Cláusulas entry, exit e do • No retângulo de estado, podem-se especificar ações ou atividades a serem executadas. – entry – Ação a ser realizada ao entrar em um estado, é executada independente do estado do qual o objeto veio. – exit – Ações a serem executadas sempre que o objeto sai do estado. Também sempre é executada; – do – Atividade a ser executada quando o objeto passa para um determinado estado. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 21 Diagrama de Transição de Estados Cláusulas entry, exit e do • Detalhes: – como não existe evento que leva de Estado 2 para Estado 3, isso é feito assim que Atividade2 é concluída – A transição de Estado3 para Estado1 pode ocorrer antes do término de Atividade 3. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 22 Diagrama de Transição de Estados Cláusulas entry, exit e do Exemplo: Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 23 Diagrama de Transição de Estados TRANSIÇÕES INTERNAS • É uma transição que não faz o objeto mudar de estado; • É preferível usar a seguinte ordem de declaração: – entry, do, transições internas, exit; • Importante: – Caso haja entry e exit em um estado a ordem de execução é a seguinte: – Exit, ação reflexiva, entry e por fim as demais ações ou atividades. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 24 Exemplo Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 25 Estados aninhados • Podem haver estados aninhados dentro de outros estados; • O estado que contém outros estados é dito composto. • Torna o diagrama de transição de estados mais legível Princípios de Análise e Projeto de Sistemas comUML - 2ª edição 26 Estados Concorrentes • É um tipo especial de estado composto; • Um objeto em um estado concorrente pode se encontrar em dois ou mais estados semelhantes; • Exemplo, um refrigerador. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 27 Tópicos • Introdução • Diagrama de Transição de Estados • Construindo o DTE • Importância do DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 28 Identificando elementos de um DTE • Exemplos: – Um professor está livre quando não está ministrando algum curso durante o semestre; – Um tanque está na reserva quando o nível está abaixo de 20%; – Um pedido está atendido quando todos seus itens estão atendidos. • Uma boa saída é analisar os possíveis valores de atributos e suas ligações com outros objetos. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 29 Identificando elementos de um DTE • Para identificar as transições devemos identificar os eventos que podem gera-las; • Uma boa saída para identificar os eventos é a descrição dos casos de uso. – Normalmente indica os eventos externos, também deve-se procurar os eventos internos; • Outra forma é analisar as regras de negócio: – Um cliente não pode retirar mais de R$ 1000,00 por dia de sua conta. – Os pedidos para um cliente comum devem ser pagos com antecedência Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 30 Construção do DTE • Em sistemas grandes a construção do DTE é bastante complexa; • É praticamente impossível criar um diagrama só para todo o sistema: Exponencial; • Nem toda classe precisa de um DTE, só deve ser feito se a classe possuir um comportamento dinâmico relevante. Principalmente quando o histórico das transições precisa ser rastreado. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 31 Construção do DTE • Uma vez identificada as classes que irão construir o diagrama, segue a sequência: – Identificar os estados relevantes – Identificar os eventos relevantes àquela classe – Para cada estado, identificar as transições possíveis – Para cada estado, identificar os eventos internos e ações correspondentes relevantes – Para cada transição, verificar se há fatores que influenciam seu disparo: Condições de guarda – Para cada condição de guarda, identificar atributos e ligações envolvidas – Definir estado inicial e final – Desenhar o DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 32 Tópicos • Introdução • Diagrama de Transição de Estados • Construindo o DTE • Importância do DTE Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 33 Importância do DTE • O diagrama de classes serve de base para a construção do DTE, por outro lado, o diagrama ajuda a identificar novos atributos e operações para as classes; • Como as transições dependem dos estados, pode haver a reescrita de alguns métodos. – Por exemplo: Não faz sentido o método sacar() em uma conta bloqueada. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 34 Importância do DTE • O estado inicial do DTE também ajuda a fixar os valores iniciais dos atributos na hora da implementação. • São úteis na modelagem do comportamento de um objeto específicos e não conjuntos de objetos. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 35 Referências • BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. Rio de Janeiro: Editora Campus, 2006. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição 36
Compartilhar