Sie sind auf Seite 1von 35

Modelagem de Sistemas com UML

(parte 1)
Jobson Massollar
jobson@cos.ufrj.br

Tayana Conte
tayana@cos.ufrj.br

Guilherme Horta Travassos


ght@cos.ufrj.br

www.cos.ufrj.br/~ese

Sumrio
Introduo UML Definio & Caractersticas Diagramas da UML 2.0 Modelo de Casos de Uso Atores Descrio dos Casos de Uso Diagrama de Casos de Uso Diagrama de Atividades

www.cos.ufrj.br/~ese

Introduo
Um modelo uma simplificao/abstrao da realidade. Construmos modelos para compreender melhor o sistema que estamos desenvolvendo. Facilidades alcanadas pela modelagem: 9 Os modelos ajudam a visualizar o sistema como ele ou como desejamos que seja. 9 Os modelos permitem especificar a estrutura ou o comportamento de um sistema. 9 Os modelos proporcionam um guia para a construo do sistema. 9 Os modelos documentam as decises de projeto tomadas. 9 Os modelos permitem visualizar o sistema em diversos nveis de abstrao. 9 Os modelos facilitam a comunicao entre os membros da equipe.
www.cos.ufrj.br/~ese

UML Definio e Caractersticas


UML Unified Modeling Language
uma linguagem para modelagem de sistemas usando a abordagem OO. Usada para especificar, visualizar, construir e documentar os artefatos que modelam um sistema de software. Baseada nos mtodos Booch, OOSE (Jacobson) e OMT (Rumbaugh). NO uma metodologia de desenvolvimento de sistemas. NO impe nenhum ciclo de vida especfico. baseada em diagramas (nfase visual). Encontra-se atualmente na verso 2.0. Sua definio e evoluo so de responsabilidade da OMG (Object Management Group - www.omg.org).
www.cos.ufrj.br/~ese

UML Definio e Caractersticas


Na UML, os modelos expressam duas vises: Viso Estrutural: os modelos criados tentam capturar a estrutura do sistema, ou seja, quais elementos compem a estrutura do sistema e como eles se relacionam. Viso Comportamental: os modelos criados tentam capturar a dinmica do sistema, ou seja, como os elementos que compem o sistema se comunicam e como se comportam e respondem aos diversos estmulos.

www.cos.ufrj.br/~ese

UML - Diagramas
Diagramas previstos na UML 2.0: Estruturais ou Estticos: 9 Diagrama de Classes 9 Diagrama de Componentes 9 Diagrama de Implantao 9 Diagrama de Objetos 9 Diagrama de Pacotes 9 Diagrama de Estrutura da Composio 9 Diagrama Combinado Componentes/Implantao Comportamentais ou Dinmicos: 9 Diagrama de Casos de Uso 9 Diagrama de Seqncia 9 Diagrama de Atividades 9 Diagrama de Estados 9 Diagrama de Comunicao (antigo diagrama de Colaborao da UML 1.4) 9 Diagrama de Viso Geral da Interao 9 Diagrama de Tempo
www.cos.ufrj.br/~ese

UML Diagramas
Diagrama de Casos de Uso: nele especificamos/detalhamos os requisitos funcionais descrevendo os cenrios nos quais os atores interagem com o sistema. So bastante teis na comunicao com os stakeholders. Diagrama de Classses: o principal diagrama da anlise e projeto OO (viso estrutural). Nele mostramos as classes do sistema, seus relacionamentos (herana, associao, composio e agregao), seus atributos e seus mtodos. Diagrama de Sequncia: o modelo mais usado para viso dinmica de uma sistema. usado na anlise e projeto para modelar a interao entre os diversos objetos em uma linha de tempo. Diagrama de Atividades: so normalmente usados para modelagem de processos de negcio ou para detalhamento da lgica de negcio. Tambm podem ser usados pra descrever casos de uso. Permitem a modelagem de fluxo de controle e de dados.

www.cos.ufrj.br/~ese

UML Diagramas
Diagrama de Estados: modela como os estmulos ou eventos externos causam mudanas no estado de um objeto no decorrer do seu ciclo de vida. Diagrama de Pacotes: mostra como os elementos esto organizados em pacotes e as dependncias entre esses pacotes. Diagrama de Componentes: modela as partes do software no ambiente de implementao (cdigos-fonte, DLLs, executveis, HTML, CSS, JAR, CLASS, bibliotecas, componentes especficos, etc.). Diagrama de Implantao: modela o hardware do ambiente de desenvolvimento, teste, homologao, produo, etc. Diagrama de Comunicao: equivalente ao diagrama de seqncia, mas sem o foco temporal (algumas ferramentas UML geram diagrama de colaborao/comunicao a partir do diagrama de seqncia).

www.cos.ufrj.br/~ese

UML Diagramas
Diagrama de Objetos: modela instncias reais das classes e seus relacionamentos, ou seja, modela fatos reais ou exemplos do dia-a-dia. Diagrama de Tempo: como o diagrama de estados, tambm modela mudanas no estado de um objeto. Entretanto, enfatiza a questo do tempo durante o ciclo de vida. Diagrama de Viso Geral da Interao: usa o mesmo layout do diagrama de atividades. Entretanto, ao invs de modelar atividades so modelados blocos de interao associados ao diagrama de seqncia, ou seja, uma viso macro ao invs de uma viso detalhada. Diagrama de Estrutura da Composio: modelam um comportamento/estrutura complexa (onde esto envolvidas classes e/ou componentes) e os pontos de interao usados para acessar os recursos dessa estrutura. Diagrama Combinado Componentes/Implantao: une os modelos de Componentes e Implantao mostrando como os componentes de software esto distribudos nos componentes do hardware.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Caractersticas

Aps a identificao dos requisitos preciso especific-los. Uma tcnica comumente adotada para especificao dos requisitos a modelagem de Casos de Uso (Use Cases). Caractersticas: Podem ser consultados por qualquer stakeholder. O foco o problema e no a soluo computacional. Permite registrar de fato o que o sistema deve fazer. Independente da abordagem de desenvolvimento no OO. Pode ser descrito com diversos nveis de detalhamento.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Vantagens


Vantagens da modelagem por Casos de Uso: 9 O modelo de Casos de Uso de fcil compreenso pelo cliente e pelos membros da equipe de desenvolvimento: 9 Um caso de uso bem escrito fcil de ler. 9 Pode ser a base de discusso entre as partes interessadas. 9 Podem ser validados pelo cliente. 9 Permite definir o escopo do sistema. 9 Pode ser um meio para acompanhar o progresso do projeto.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Atores 9 Ator: representa o papel executado por uma entidade que interage com o sistema em questo. 9 Um ator modela algo fora da fronteira do sistema que precisa trocar informaes com o sistema, tais como indivduos e outros sistemas. 9 Uma instncia pode executar o papel de vrios atores diferentes e um determinado ator pode ser representado por vrias instncias.

Ator no o mesmo que usurio! 9 Um ator representa um papel exercido por um usurios ao interagir com um determinado caso de uso. 9 Usurios podem desempenhar mais de um papel junto ao sistema.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Representao grfica de Atores: 9 O cone padro para um ator a figura de um stick man, contendo seu nome abaixo da figura 9 Outra representao consiste num retngulo de classe com o esteretipo <<actor>>

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Tipos de Atores: 9 Ator primrio o interessado que acessa o sistema para lhe fornecer diretamente um servio. 9 Ator secundrio (ou Ator de suporte) interage com o sistema provendo algum tipo de servio ou informao. 9 Exemplos: um sensor de temperatura, um sistema de carto de crdito 9 Atores secundrios so teis para identificar o que o sistema dever prover em termos de protocolo de troca de dados e interfaces externas.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Categorias comuns para Atores: 9 Usurios: usurios finais, administradores, gerentes, etc. 9 Aplicaes (processos individuais e sistemas de software). 9 Dispositivos (sensores). 9 Eventos externos (como um controlador de tempo cron, escalonador de processos, etc.)

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Relacionamentos entre Atores: 9 O nico relacionamento possvel entre os atores a Generalizao. 9 considerado quando temos dois atores semelhantes, mas com um deles realizando algo a mais. 9 Usada para identificar funcionalidades comuns entre atores. 9 A generalizao pode ser sempre lida como -um-tipo-de. 9 Deve ser identificada e validada com cuidado!

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Atores


Trs exemplos de generalizao de atores:

www.cos.ufrj.br/~ese

Modelo de Casos de Uso Casos de Uso


Modelando com Casos de Uso:
9 Separe as funcionalidades do sistema. 9 Para que cada funcionalidade ou grupo de funcionalidades seja atendido, deve haver um conjunto ou seqncia de aes que tenham um objetivo bem definido o Caso de Uso. 9 Durante a execuo dessa seqncia de aes, o sistema interage com elementos externos a ele os atores. 9 Concentre-se inicialmente no fluxo principal e depois modele os fluxos alternativos e de exceo. 9 Descreva O QUE o sistema far, mas no especifique COMO ser feito.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Representao grfica do Caso de Uso: seu cone uma elipse contendo seu nome. O nome tambm pode vir abaixo da elipse.

Informar sobre pagamento Cadastrar cliente

Representaes para Casos de Uso: 9 Descries textuais contnuas 9 Descries formais (com pr e ps-condies, fluxo principal, alternativos e de exceo) 9 Tabelas Ator x Sistema

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Exemplo de descrio textual contnua: O Cliente chega ao caixa eletrnico e insere seu carto. O Sistema requisita a senha do Cliente. Aps o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opes de operaes possveis. O Cliente opta por realizar um saque. Ento o Sistema requisita o total a ser sacado. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Exemplo de descrio de fluxo principal: 1. 2. 3. 4. 5. 6. 7. Cliente insere seu carto no caixa eletrnico. Sistema apresenta solicitao de senha. Cliente digita senha. Sistema exibe menu de operaes disponveis. Cliente indica que deseja realizar um saque. Sistema requisita quantia a ser sacada. Cliente retira a quantia e recibo.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Exemplo de tabela Ator x Sistema:

Cliente
Insere seu carto no caixa eletrnico. Digita senha. Solicita realizao de saque. Retira a quantia e o recibo.

Sistema
Apresenta solicitao de senha. Exibe operaes disponveis. Requisita quantia a ser sacada.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Descrevendo a seqncia de aes: 9 Fluxo Principal descreve a seqncia de aes que sero executadas considerando que nenhum desvio ou exceo ocorrer acontecer durante a execuo do UC: 9 Descreve o que normalmente acontece quando o caso de uso realizado 9 Fluxos Alternativos descrevem o que acontece quando o ator faz uma escolha alternativa, diferente da descrita no fluxo principal, para alcanar seu objetivo: 9 Podem descrever escolhas exclusivas entre si. 9 Fluxos de Exceo correspondem descrio das situaes de exceo: 9 Descrevem o que acontece quando algo inesperado ocorre na interao entre ator e caso de uso (ex.: ator realiza ao invlida ou uma condio inesperada atingida)
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Descrevendo a seqncia de aes: 9 Pr-condio define que hipteses so assumidas como verdadeiras para que o caso de uso tenha incio: 9 Deve ser usada em casos de uso cuja realizao no faz sentido em qualquer momento, mas somente quando o sistema est em um determinado estado ou com certas propriedades 9 Ex.: o funcionrio deve estar identificado no sistema 9 Ps-condio estado que o sistema alcana aps o caso de uso ter sido realizado. 9 No precisa declarar como esse estado foi alcanado 9 Ex.: os dados do funcionrios foram alterados

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso

1. 2. 3. 4. 5.

Um exemplo de template bsico para descrio de casos de uso:


Descrio sumrio da funcionalidade do caso de uso Atores lista de atores que interagem com o caso de uso Pr-condies - condies pertinentes que devem valer antes da realizao do caso de uso Trigger evento que inicia a execuo do caso de uso Fluxos: 1. Bsico (principal) - apresenta a descrio do evento que dispara o caso de uso e a descrio da sequncia de aes que compem o fluxo bsico. 2. Fluxos Alternativos (opcional) - descrevem as aes que compem os fluxos alternativos de execuo. 3. Fluxos de Exceo (opcional) - descrevem as aes que compem os fluxos de exceo do caso de uso. Ps-condies - descrevem as condies pertinentes que devem valer aps a realizao do caso de uso. Regras de Negcio (opcional) - listam as regras de negcio implementadas no caso de uso.

6. 7.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Importante ! 9 Cada caso de uso deve ter um e apenas um objetivo bem definido. 9 Ao final do caso de uso o ator deve obter sempre um resultado til e bem definido. 9 Casos de uso no devem ser descritos como algoritmos: casos de uso definem o qu e no como. 9 Um bom caso de uso simples de ler. 9 Cada passo do caso de uso deve estar no presente e usar um verbo na voz ativa, ou seja, cada passo deve definir a ao executada pelo ator ou sistema. 9 Cada passo do caso de uso deve sempre mencionar quem est executando a ao. 9 No definir ou referenciar os elementos/componentes da interface no dilogo. 9 No perder o foco do objetivo do caso de uso. Cada ao do ator ou sistema deve apontar na direo do objetivo.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Exerccio 1: descrever o caso de uso Realizar Saque usando o template apresentado, com todos os caminhos alternativos e excees, sabendo que o banco possui as seguintes regras que devem ser respeitadas: 9 O cliente que errar a senha 3 ou mais vezes ter seu acesso bloqueado. 9 O cliente no pode sacar mais de R$ 1000,00 em um perodo de 24hs (0h de um dia at 0h do dia seguinte). 9 Quando solicitado, se o cliente no realizar qualquer ao em 20 segundos a operao de saque cancelada. 9 Caso haja qualquer falha na comunicao com o banco a operao, em qualquer estgio, deve ser cancelada.
1. 2. 3. 4. 5. 6. 7. Cliente insere seu carto no caixa eletrnico. Sistema apresenta solicitao de senha. Cliente digita senha. Sistema exibe menu de operaes disponveis. Cliente seleciona a opo de saque. Sistema requisita quantia a ser sacada. Cliente retira a quantia e recibo.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Objetivo: permitir ao cliente sacar uma quantia em dinheiro da sua CC. Pr-condies: no h Trigger: o Cliente insere o carto magntico no caixa eletrnico. Fluxo Principal: 1. O Sistema valida o carto magntico. 2. O Sistema solicita que o carto magntico seja retirado. 3. O Cliente retira o carto magntico. 4. O Sistema solicita a senha. 5. O Cliente informa a senha. 6. O Sistema valida a senha. 7. O Sistema exibe o menu de opes 8. O Cliente seleciona a opo de saque 9. O Sistema solicita a quantia a ser sacada. 10. O Cliente informa a quantia desejada. 11. O Sistema separa as notas necessrias para a quantia informada. 12. O Sistema entrega o dinheiro ao cliente. 13. O Cliente retira o dinheiro. 14. O Sistema debita da CC a quantia sacada. 15. O Sistema emite o recibo. Ps-condies: Cliente obtm a quantia de dinheiro desejada e a sua CC debitada dessa quantia.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Objetivo: permitir ao cliente sacar uma quantia em dinheiro da sua CC. Pr-condies: no h Trigger: o Cliente insere o carto magntico no caixa eletrnico. Fluxo Principal: 1. O Sistema valida o carto magntico. [E0] 2. O Sistema solicita que o carto magntico seja retirado. 3. O Cliente retira o carto magntico. [RN4][E1] 4. O Sistema solicita a senha. 5. O Cliente informa a senha. [RN4][E2] 6. O Sistema valida a senha. [RN3,RN5][E3, E4] 7. O Sistema exibe o menu de opes 8. O Cliente seleciona a opo de saque [RN4][E2] 9. O Sistema solicita a quantia a ser sacada. 10. O Cliente informa a quantia desejada. [RN4][E2] 11. O Sistema separa as notas necessrias para a quantia informada. [RN1,RN2, RN5][E5,E6,E7,E8,E9] 12. O Sistema entrega o dinheiro ao cliente. [E9] 13. O Cliente retira o dinheiro. [RN4] 14. O Sistema debita da CC a quantia sacada. [RN5][E10] 15. O Sistema emite o recibo. [E11] Ps-condies: Cliente obtm a quantia de dinheiro desejada e a sua CC debitada dessa quantia.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Uma soluo (continuao):

Fluxos de Exceo : E0 [ Carto invlido] E1.1 O Sistema informa que o carto invlido. E1.2 O Sistema solicita que seja inserido o carto. [E2] E1.3 Continua com o passo 1 do fluxo principal. E1 [O cliente no retirou o carto magntico do caixa eletrnico em 20 segundos] A1.1 O Sistema solicita que o cliente retire o carto magntico e aguarda at que o cliente execute a ao. [E2] A1.2 Continua com o passo 4 do fluxo principal. E2 [Cliente no executa nenhuma ao em 20 segundos] E2.1 O Sistema cancela a operao corrente e volta para a tela principal. E2.2 Caso de uso encerrado.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Uma soluo (continuao):

Fluxos de Exceo: E3 [Senha invlida < 3 vezes] E3.1 O Sistema avisa que a senha invlida. E3.2 Volta para o passo 4 do fluxo principal. E4 [Senha invlida >= 3 vezes] E4.1 O Sistema informa que a senha de acesso ao caixa eletrnico est bloqueada e pede que o cliente v at uma agncia para recadastrar a senha. E4.2 Caso de uso encerrado. E5 [No existe dinheiro suficiente no caixa eletrnico para a quantia desejada] E5.1 O Sistema informa que no h dinheiro suficiente para a quantia desejada. E5.2 Volta para o passo 9 do fluxo principal. E6 [As notas existentes no caixa eletrnico no conseguem formar a quantia desejada] E6.1 O Sistema informa que as notas existentes no caixa eletrnico no conseguem formar a quantia desejada e lista os valores das notas existentes. E6.1 Volta para o passo 9 do fluxo principal.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Uma soluo (continuao):

Fluxos de Exceo: E7 [Saldo insuficiente na CC para a quantia desejada] E7.1 O Sistema informa que no h saldo suficiente para a quantia desejada. E7.2 Volta para o passo 9 do fluxo principal. E8 [Cliente est tentando sacar mais de R$1.000,00 em 24hs] E8.1 O Sistema informa que foi ultrapassado o limite de R$1000,00 para saque. E8.2 Volta para o passo 9 do fluxo principal. E9 [Problemas durante a contagem do dinheiro ou no mecanismo de entrega do dinheiro] E9.1 O Sistema informa que ocorreram problemas no equipamento. E9.2 Caso de uso encerrado. E10 [Problema na comunicao com o banco durante o dbito na CC] E10.1 O Sistema informa que ocorreram problemas na comunicao com o banco. E10.2 O Sistema grava um log informando que o dinheiro foi sacado, mas o dbito na CC no foi efetuado. E10.3 Caso de uso encerrado.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Uma soluo (continuao):

Fluxos de Exceo: E11 [Problemas na impressora] E11.1 O Sistema informa que ocorreram problemas na impresso do recibo e que o mesmo poder ser retirado em outro caixa eletrnico. E11.2 Caso de uso encerrado. E12 [Problema na comunicao com o banco em qualquer operao, exceto dbito em CC] E12.1 O Sistema informa que ocorreram problemas na comunicao com o banco. E12.2 Caso de uso encerrado. Regras de Negcio: RN1-O cliente no pode sacar um valor maior que: saldo da CC + limite do cheque-especial. RN2-O cliente no pode sacar mais de R$1000,00 em um perodo de 24hs (de oh de um dia at a 0h do dia seguinte). RN3-Caso o cliente erre a senha mais de 3 vezes seguidas, a mesma dever ser bloqueada. RN4-Caso o cliente no tome nenhuma ao em 20 segundos a operao ser cancelada. RN5-Caso haja alguma falha na comunicao com o banco a operao ser cancelada.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Diagramas


Objetivo: 9 So utilizados para expressar a fronteira do sistema. 9 Mostram a viso esttica do caso de uso 9 A viso dinmica do caso de uso especificada atravs da descrio dos cenrios 9 Por serem representaes grficas, permitem uma viso geral dos relacionamentos entre os casos de uso e os atores de um sistema.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Diagramas


Exemplo de um diagrama:

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Associaes


Relacionamento entre atores e casos de uso Associao: 9 A associao representa a interao do ator com o caso de uso, por meio de envio e recebimento de mensagens 9 Associaes so representadas por uma linha slida, ligando o ator ao caso de uso 9 Se o ator inicia um caso de uso, este pode se comunicar com vrios atores depois. 9 As associaes servem para mostrar quais atores se comunicam com o caso de uso em questo

Matricular aluno Secretria

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Associaes


Direo da associao: 9 Cada ator de uma associao tem uma propriedade de navegabilidade, que indica quem inicia a comunicao na interao. 9 A direo representada no diagrama por uma seta: 9 Se a seta apontar para um caso de uso o ator inicia a interao 9 Se a seta apontar para o ator o sistema inicia a interao 9 A navegabilidade de duas direes mostrada por uma linha sem setas. Tambm possvel usar setas bidirecionais.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Associaes


Relacionamento entre casos de uso Extenso: 9 Conforme visto anteriormente, a descrio de um caso de uso deve conter o cenrio principal, os cenrios alternativos e os cenrios de tratamento de exceo. 9 Para os cenrios alternativos e de exceo sempre existe uma condio que define quando esses cenrios so executados. 9 Quando um fluxo alternativo ou de exceo possui uma seqncia de passos complexa ou que merea um destaque no contexto do sistema, podemos separar esse fluxo em um outro caso de uso e relacionarmos os dois casos de uso com uma extenso. 9 representado por uma linha pontilhada com o esteretipo <<extend>>

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Associaes


O relacionamento <<extend>> pode ser usado: 9 Quando um fluxo alternativo ou de exceo possui uma seqncia de passos complexa ou que merea um destaque no contexto do sistema. 9 Quando temos um caso de uso que semelhante a outro, mas contm passos a mais. 9 Para separar um comportamento obrigatrio de outro opcional. Cuidado para no transformar o uso de <<extend>> em decomposio funcional !

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Associaes


Relacionamento entre casos de uso Incluso: 9 Indica que um caso de uso ter sua sequncia de aes copiada num local especificado no outro caso de uso, identificado como base. 9 Ocorre quando h uma poro de comportamento que similar ao longo de uma ou mais casos de uso e no se deseja repetir a sua descrio. Ou seja, quando existem cenrios cujos passos servem a mais de um caso de uso. 9 Importante: o caso de uso base NO pode ser executado sem a incluso. 9 representado por uma linha pontilhada com o esteretipo <<include>>

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Modelando com casos de uso: 9 Inicia-se a modelagem com a descoberta dos atores ou dos casos de uso do sistema a partir dos requisitos iniciais: 9 A partir dos atores, examinam-se suas necessidades para determinar os casos de uso. OU 9 Ou a partir dos casos de uso, determina-se quem deve interagir com os mesmos para chegar aos atores. 9 Para cada caso de uso, deve-se descrever os cenrios principais e os alternativos relevantes.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Identificando atores: 9 As fontes e os destinos das informaes a serem processadas so atores em potencial. 9 As reas da organizao que sero afetadas ou utilizaro o sistema tambm so atores em potencial. Perguntas teis: 9 Que rgos, empresas ou pessoas iro utilizar o sistema? 9 Que outros sistemas iro se comunicar com o sistema a ser construdo? 9 Algum deve ser informado de alguma ocorrncia no sistema? 9 Quem est interessado em um certo requisito funcional do sistema?
www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Casos de Uso


Identificando casos de uso: 9 Ponto de partida: objetivos do usurio. 9 Um bom caso de uso compreende uma seqncia de aes que produz um resultado identificvel til para um ator.

Importante para no se obter casos de uso grandes demais. Importante para no se obter casos de uso pequenos demais. Cuidado: um caso de uso no deve ser apenas um passo de um processo.

www.cos.ufrj.br/~ese

Modelo de Casos de Uso - Exerccio


Um desenvolvedor de software recebeu a incumbncia de desenvolver um sistema de controle de reserva e locao de quartos de um hotel. Aps as atividades de identificao de requisitos, preparou-se uma relao com todas as informaes relevantes coletadas, como a seguir: O cliente telefona ou vem at o hotel e pede para reservar um quarto; o funcionrio verifica se existe quarto disponvel no perodo solicitado. Caso afirmativo, feita a reserva do quarto. Caso negativo, informado ao cliente a no disponibilidade do quarto. O cliente tambm poder optar por fazer essa operao de reserva via web. Portanto, o software a ser desenvolvido dever contemplar o uso da web. Caso o cliente no deseje mais o quarto reservado, o funcionrio providencia o cancelamento da reserva, disponibilizando novamente o quarto. O cliente tambm poder realizar essa operao utilizando os recursos da web. As dirias vencem todos os dias s 12:00h. Quando o cliente no comparecer ao hotel para hospedar-se at s 14:00 horas no dia da reserva, ela dever ser cancelada, disponibilizando-se novamente o quarto. Quando o cliente ocupar um quarto, reservado previamente, o funcionrio faz o registro do cliente. Caso o quarto no esteja reservado, uma mensagem de rejeio da ocupao ser emitida. Caso contrrio, um pacote com informaes teis e a confirmao sero fornecidos ao cliente. Quando o cliente deixar o hotel, notificando sua sada, ser fornecida a conta, e o quarto ser disponibilizado para limpeza e reabastecimento. O cliente pode pagar a conta vista ou usar o carto de crdito. O hotel pode emitir, no caso de reservas feitas por empresas, uma nota de cobrana contra a empresa. Aps uma ocupao, o quarto ser reabastecido e limpo. Somente aps essas tarefas que o funcionrio o tornar disponvel para nova ocupao.
www.cos.ufrj.br/~ese

Modelo de Casos de Uso Uma Soluo

www.cos.ufrj.br/~ese

Modelo de Casos de Uso Outra Soluo


Casos de Uso definidos so na realidade passos de outros Casos de Uso

www.cos.ufrj.br/~ese

Modelo de Casos de Uso Outra Soluo


Casos de Uso definidos so na realidade passos de outros Casos de Uso

www.cos.ufrj.br/~ese

Modelo de Casos de Uso Outra Soluo


Casos de uso includos/estendidos no produzem nada de til para o ator (representam apenas parte de um outro UC)

www.cos.ufrj.br/~ese

Modelo de Casos de Uso Outra Soluo


Nomes dos UCs no refletem a inteno do ator.

Fazer check-out

Fazer check-in

www.cos.ufrj.br/~ese

Modelo de Casos de Uso


O foco em Casos de Uso nos remete a algumas preocupaes: Como tratar a impedncia entre a descrio dos casos de uso e os modelos de projeto? Como especificar requisitos onde a interao ator/sistema no a tnica?
Requisitos Atores Casos de Uso

Processos Regras

Modelos

A descrio textual do caso de uso traz, ao mesmo tempo, vantagens e riscos (descries textuais aceitam qualquer contedo). Geralmente so adotadas algumas aes para mitigar esses riscos, como por exemplo, estabelecer padres para descrio dos casos de uso (tanto para a forma quanto para o nvel da abstrao)
www.cos.ufrj.br/~ese

Diagrama de Atividades
Os diagrama de Atividades uma verso bastante melhorada dos antigos fluxogramas. So bastante teis para: Modelar processos de negcio Especificar operaes ou algoritmos complexos Especificar mtodos Alguns analistas utilizam o diagrama de atividades para modelar Casos de Uso. Entretanto, deve-se ter em mente que: 9 A notao dificulta a leitura dos casos de uso pelos stakeholders. 9 Existe a necessidade de uma ferramenta case para sua criao, ao contrrio da notao textual.

www.cos.ufrj.br/~ese

Diagramas de Atividades no Contexto


Modelagem Dinmica

Prrocessos de negcio ou clculos

Casos de uso Modelo de Casos de Uso

Prottipo da Interface

Modelo Conceitual

Modelagem Esttica
www.cos.ufrj.br/~ese

Diagrama de Atividades
O diagrama de Atividades pode conter os seguintes componentes bsicos:
Descrio Atividade inicial: denota o ponto inicial do fluxo de atividades. Atividade: representada por um retngulo com os cantos arredondados com o nome da atividade no seu interior. Transio: representa o fluxo de execuo entre duas atividades. Deciso: representa o ponto onde uma deciso deve ser tomada. As vrias alternativas so definidas por condies de guarda. Smbolo

Condio de guarda: expresso associada a uma transio que determina se aquele fluxo de execuo pode ser seguido ou no. Deve estar entre colchetes.

www.cos.ufrj.br/~ese

Diagrama de Atividades
Descrio Ponto de merge: representa o local onde dois caminhos alternativos se juntam. Cuidado: no o mesmo que sincronizao. Smbolo

Concorrncia: algumas atividades podem acontecer simultaneamente ou em paralelo. Para representar a concorrncia usamos o smbolo de bifurcao e sincronizao.

Sinal: representa uma mensagem enviada ou recebida

Atividade final: representa o fim do fluxo de execuo. Pode existir mais de uma atividade final.

www.cos.ufrj.br/~ese

Diagrama de Atividades
Descrio Swinlanes (raias): permitem determinar as responsabilidades na execuo de cada atividade Smbolo

www.cos.ufrj.br/~ese

Diagrama de Atividades
Exerccio 1: criar um diagrama de atividade para representar o seguinte processo: Em uma empresa, quando um gerente deseja conceder um aumento salarial ou uma promoo de cargo a um empregado, ele abre uma requisio no RH. Inicialmente o setor de anlise de pessoal verifica se a requisio somente para aumento salarial, somente para promoo ou ambos. Caso a requisio seja somente de aumento salarial (sem mudana de cargo), a requisio enviada para o setor de anlise financeira que verificar se o departamento ao qual pertence o empregado suporta o aumento requerido. Caso a requisio seja de promoo de cargo (com ou sem aumento salarial), ela analisada pelo prprio setor de anlise de pessoal para verificar se a mesma se encontra dentro das regras de promoo. Caso esteja, ela enviada para o setor de anlise financeira para anlise da viabilidade financeira. Caso contrrio, ela enviada para o Gerente de RH que poder aprov-la mesmo fora das regras de promoo. Nesse caso ela tambm enviada para o setor de anlise financeira. Caso a requisio seja aprovada ou reprovada, o gerente solicitante toma cincia por email.
www.cos.ufrj.br/~ese

Diagrama de Atividades

www.cos.ufrj.br/~ese

Diagrama de Atividades
Exerccio 2: criar um diagrama de atividade para representar o seguinte processo: Um cliente liga a para para o setor de tele-vendas de uma empresa e realiza o seu pedido. Aps a realizao do pedido, o cliente informa o nmero do CC. Aps autorizao online da compra, as quantidades so baixadas do estoque e os dados do pedido so enviados para o setor de faturamento para emisso da NF e para o setor de logstica para separao dos produtos. O setor de logstica separa os produtos e embala os mesmos juntamente com a NF emitida. O pacote repassado a uma transportadora que entrega o produto na casa do cliente. Este recebe o produto e assina o canhoto de mercadoria entregue. Esse canhoto entregue no setor de logstica para dar baixa na entrega do produto.

www.cos.ufrj.br/~ese

Diagrama de Atividades

www.cos.ufrj.br/~ese

Diagrama de Atividades
Atividades e Aes: Atividade: o processo que est sendo modelado Ao: um passo do processo que est sendo modelado

www.cos.ufrj.br/~ese

Diagrama de Atividades
Atividades e Aes podem ter pr e ps-condies:

www.cos.ufrj.br/~ese

Diagrama de Atividades
Aes podem invocar processos, ou seja, invocar atividades. Nesse caso so chamadas de aes call activity ou call behavior:

www.cos.ufrj.br/~ese

Diagrama de Atividades
Alm do fluxo normal de controle, objetos podem ser usados para modelar os fluxos de dados que trafegam entre as aes. Fluxos de controle e dados so representados atravs da mesma sintaxe. Objetos so representados por retngulos . Uma forma alternativa de representao dos fluxos de dados atravs dos PINS.

www.cos.ufrj.br/~ese

Diagrama de Atividades
O smbolo que define o fim do fluxo de dados diferente daquele usado para definir o fim do fluxo de controle Tambm possvel definir o estado que os objetos assumem ao longo do fluxo de dados.

Interrompe a execuo de TODA a atividade

Interrompe a execuo somente desse FLUXO

www.cos.ufrj.br/~ese

Diagrama de Atividades
possvel tambm definir parmetros para as atividades, que definem os dados de entrada e/ou sada das mesmas. Esses parmetros podem ser usados como objetos de entrada para as aes que compem a atividade ou serem obtidos atravs dos objetos gerados por essas atividades.

www.cos.ufrj.br/~ese

Diagrama de Atividades
Podemos associar transformaes aos fluxos de dados, a fim de definir como os objetos gerados por uma atividade/ao so "transformado" em outros objetos que sero consumidos por outras atividades/aes.

www.cos.ufrj.br/~ese

Diagrama de Atividades
Podemos definir aes sobrecarregadas atravs dos conjuntos de parmetros. Cada conjunto define, exclusivamente, quais parmetros so aceitos ou quais resultados so gerados pela ao.

www.cos.ufrj.br/~ese

Diagrama de Atividades
A execuo do diagrama ocorre atravs de tokens que trafegam pelos fluxos de controle e de dados. Para que uma atividade/ao seja executada todos os tokens nos parmetros ou pins de entrada devem estar disponveis, assim como pelo menos um token nos fluxos de controle que chegam ao.

www.cos.ufrj.br/~ese

Diagrama de Atividades
Podemos definir tambm tratadores de exceo para uma ao especfica ou para um conjunto de aes.

try { imagem = carregar(nomeArquivo); try { imagem = redimensionar(imagem, largura, comprimento); } catch(erroMemoria) { NotificarUsuario(); return; } salvar(imagem, nomeArquivo); } catch(excecao e) { notificarUsuario(e); }

www.cos.ufrj.br/~ese

Referncias
Bezerra, E. Princpios de Anlise e Projeto de Sistemas com UML Editora Campus, 2002. Booch, G. et al. UML, guia do usurio Campus, 2000. Cockburn, A., Escrevendo Casos de Uso Eficazes, Editora Bookman, 2005. Falbo, R., Modelagem de Objetos usando UML. Mini-Curso XVII Simpsio Brasileiro de Engenharia de Software (SBES), Manaus, 2003. Lima, A. S., UML 2.0 Do Requisito Soluo, Editora rica, 2005. Pender, T., A Bblia UML, Editora Elsevier, 2005. Pilone, D., Pitman, N. UML 2.0 In A Nutshell, OReilly, 2005.

www.cos.ufrj.br/~ese

Das könnte Ihnen auch gefallen