Você está na página 1de 35

UML

Conceito - Requisitos
Requisitos so (IEEE):
1. Uma capacidade que um usurio necessita para resolver um problema ou atingir um objetivo; 2. Uma capacidade que deve ser atendida ou possuda por um sistema ou componente de um sistema para satisfazer um contrato, padro, especificao ou outro documento formalmente imposto; 3. O conjunto de todos os requisitos que formam a base para o desenvolvimento subseqente de um software ou componentes de um software; 4. Nome curto utilizado para especificao de requisitos de software.
2

Funcionais / No Funcionais
Requisitos expressam comportamentos e propriedades que o sistema deve apresentar.
Devem se compreendidos pela equipe de desenvolvimento e validados pela parte interessada e pela comunidade de usurios; Deve ser capaz de ser verificado pela equipe de teste atravs de casos de teste.

Categorias: Requisitos Funcionais: descrevem uma ao que o sistema deve executar, normalmente em resposta a uma entrada de dados externa. Requisitos No-Funcionais: envolvem restries usabilidade, desempenho, robustez/confiabilidade, segurana, hardware e implantao do sistema.
3

Especificao de Requisitos
Caractersticas de um bom documento de especificao de requisitos (SRS - Software Requirements Specification): Correto No-ambguo Completo Consistente Priorizado Verificvel Modificvel Rastrevel

O que UML
UML representa a unificao das notaes de Booch, OMT e Jacobson. Tambm agrega as idias de inmeros autores, tais como Harel e seu diagramas de estados, Shlaer-Mellor e o ciclo de vida dos objetos. Em suma, UML uma tentativa de padronizar os artefatos de anlise e projeto: modelos semnticos, sintaxe de notao e diagramas. A OMG, em novembro de 1997, assume a responsabilidade de realizar manuteno reviso da UML
Em maro de 2003, a OMG lanou a verso 1.5 Em outubro de 2004, a OMG lanou verso 2.0 (http://www.omg.org/technology/documents/formal/uml.htm)

Orientao a Objetos
Diferentemente da anlise e projeto estruturados, na orientao a objetos, o processo a ser informatizado visto como um conjunto de objetos que interagem para realizar as funes. As vantagens do modelo OO so:
maior grau de abstrao; maior encapsulamento; modelos apoiados em conceitos do mundo real; reutilizao (reusabilidade).

Modelo de Casos de Uso


Diagrama de Casos de Uso Casos de uso representam funcionalidades completas para o usurio e no, funcionalidades internas do sistema. Outro ponto importante que o diagrama de casos de uso um artefato de comunicao entre cliente, usurios e desenvolvedores. Por ser extremamente simples e, consequentemente, de fcil compreenso, incentiva a participao do cliente e usurios no processo de desenvolvimento. Tambm serve como um contrato entre a equipe/empresa desenvolvedora e o cliente.
7

Ator
Um ator representa uma entidade (um humano, um dispositivo de hardware ou mesmo outro sistema) que interage com um sistema. Por interao entende-se a troca de mensagens entre um ator e o sistema. Atores esto fora do sistema, isto , no so entidades componentes do sistema. Atores podem ser conectados aos casos de uso somente por associaes. Uma associao entre um caso de uso e um ator significa um canal de comunicao entre ambos, onde cada um pode enviar ou receber mensagens, estabelecendo uma interao.
8

Identificar Atores
O seguinte questionrio pode ser usado para identificar os atores do sistema:
Quem usar as funes principais do sistema ? Quem precisar do sistema para executar suas tarefas dirias ? Quem manter e administrar o sistema ? Quais os equipamentos que o sistema controlar ? Com quais outros sistemas o sistema precisar interagir ? Quem tem interesse nos resultados que o sistema produz ?

Representao: Ator

10

Generalizao de atores
Relacionamento entre um ator pai e um ator filho, indicando que o primeiro representa um conceito mais geral que o segundo.

11

Ex.: Atores de um Sistema de Vendas

12

Caso de Uso
Descreve uma seqncia de aes - incluindo suas variantes - que o sistema deve executar com o objetivo de produzir como resultado algo de valor para o atendimento das necessidades de um ator. Um caso de uso:
Deve ser iniciado por um ator, embora haja excees; Descreve uma funcionalidade completa do sistema conforme percebida por um ator; Gera como resultado algo de valor tangvel para um ator (usurio); Expressam os requisitos do sistema.
13

Caso de Uso
Nome:
Um caso de uso deve ter como nome uma frase representando uma ao (comportamento) significativa para o vocabulrio do sistema em processo de modelagem.

Representao:

14

Especificao de Casos de Uso


Nomeando casos de uso:
Enfatize que um caso de uso um processo: nomeio-o iniciando por um verbo.

Descrio:
A especificao de um caso de uso pode ser feita atravs da descrio de seqncias de eventos em formato de texto. Descreve como o ator e o caso de uso interagem. Concentra-se no comportamento externo do sistema, ignorando os procedimentos a serem executadas internamente pelo mesmo atravs de sua implementao.

Deve ser considerado:


como e quando o caso de uso inicia e termina; quando o caso de uso interage com um ator envolvido; a seqncia padro; as seqncias alternativas ou de exceo.
15

Especificao Inclui
Identificao do Caso de Uso Nome do Caso de Uso Ator: ator que interage com o caso de uso Pr-condies: o estado do sistema para que o caso de uso possa iniciar Ps-condies: o estado do sistema aps a execuo do caso de uso Seqncia de Eventos Requisitos No-Funcionais

16

Exemplo: Especificao de Caso de Uso

17

Especificao de Caso de Uso


Identificao: UC1 Caso de uso: Sacar dinheiro no caixa eletrnico Ator: Cliente Pr-Condies: o Cliente possui carto do banco e senha cadastrada. Ps-Condies: lanada a transao na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro. Seqncia Tpica de Eventos (Fluxo Bsico):
Ao do Ator 1. Este caso de uso comea quando o Cliente realiza a leitura do carto do banco no caixa eletrnico 2. O Cliente informa a sua senha 4. O Cliente informa o valor do saque
18

Resposta do Sistema

3. O sistema valida a conta corrente e senha do Cliente, autorizando a operao 5. O sistema autoriza o saque e lana o dbito na conta corrente do Cliente 6. O sistema libera o dinheiro

Forma alternativa
Identificao: UC1 Caso de uso: Sacar dinheiro no caixa eletrnico Ator: Cliente Pr-Condies: o Cliente possui carto do banco e senha cadastrada. Ps-Condies: lanada a transao na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro. Seqncia Tpica de Eventos (Fluxo Bsico): 1. Este caso de uso comea quando o Cliente realiza a leitura do carto do banco no caixa eletrnico 2. O Cliente informa a sua senha 3. O sistema valida a conta corrente e senha do Cliente, autorizando a operao. 4. O Cliente informa o valor do saque 5. O sistema autoriza o saque e lana o dbito na conta corrente do Cliente 6. O sistema libera o dinheiro

19

Especificao de Caso de Uso


Seqncias Alternativas (Fluxos Alternativos): 3a. Cliente Invlido:
1. O sistema no reconhece a conta corrente e senha do Cliente como vlida 2. A operao cancelada

5a: Fundos Insuficientes:


1. O sistema no autoriza o valor solicitado para saque pelo Cliente 2. A operao cancelada

Requisitos No-Funcionais
Resposta do sistema deve ocorrer em no mximo 30 seg em 90 % dos casos
20

Priorizao de Casos de Uso


Esta atividade objetiva estabelecer uma priorizao entre os casos de uso de forma a estabelecer quais deles devero ser desenvolvidos nas primeiras iteraes e quais podem ser desenvolvidos em iteraes posteriores. Categorias:
Casos de uso primrios: representam processos comuns principais. Casos de uso secundrios: representam processos menos importantes ou raros. Casos de uso opcionais: representam processos que podem ser desconsiderados.
21

Ramificaes
Estrutura de Notao:
Caracteriza situaes em que existem duas ou mais opes de continuidade no fluxo de uma determinada seo. Dentro da Seqncia Tpica de Eventos de uma seo indique desvios para subsees; Escreva uma subseo para cada desvio usando novamente uma Seqncia Tpica de Eventos.

22

Especificao de Caso de Uso


Identificao: UC5 Caso de uso: Receber Pagamento Ator: Caixa Pr-Condies: o Caixa identificado e autenticado Ps-Condies: o pagamento recebido registrado no sistema associado ao Caixa Seqncia Tpica de Eventos: Seo Principal 1. Este caso de uso comea quando o Caixa registra o documento de cobrana bancria a ser pago 2. O sistema valida a aceitao do documento de cobrana a ser pago 3. O Caixa informa a opo desejada: 3.1. Se for pagamento em dinheiro, ver subseo Receber pagamento em dinheiro 3.2. Se for pagamento em cheque, ver subseo Receber pagamento em cheque 4. O sistema registra o pagamento 5. O sistema imprime o comprovante. Subseo: Receber pagamento em cheque 1. O Caixa recebe o cheque e o registra no sistema 2. O sistema valida os dados do cheque Subseo: Receber pagamento em dinheiro 1. O Caixa registra o valor em dinheiro recebido 2. O sistema informa o troco a ser repassado ao pagante 23

Dependncia entre Casos de Uso


Dependncia Incluso
Uma relao de incluso de um caso de uso A com um caso de uso B indica que uma instncia do caso de uso A dever incluir o comportamento especificado para o caso de uso B.

24

DEPENDNCIAS ENTRE CASOS DE USO INCLUSO


Identificao: UC1 Caso de uso: Sacar dinheiro no caixa eletrnico Ator: Cliente Pr-Condies: o Cliente possui carto do banco e senha cadastrada. Ps-Condies: lanada a transao na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro. Seqncia Tpica de Eventos: Ao do Ator
1. Este caso de uso comea quando o Cliente realiza a leitura do carto do banco no caixa eletrnico 2. O Cliente informa a sua senha 4. O Cliente informa o valor do saque Seqncia Alternativa: 5a: Fundos Insuficientes: 1. O sistema no autoriza o valor solicitado para saque pelo Cliente. 2. A operao cancelada. 3. Include Validar Conta. 5. O sistema autoriza o saque e lana o dbito na conta corrente do Cliente 6. O sistema libera o dinheiro

Resposta do Sistema

25

DEPENDNCIAS ENTRE CASOS DE USO INCLUSO


Identificao: UC2 Caso de Uso: Validar conta Ator: Pr-Condies: Ps-Condies: Seqncia Tpica de Eventos: Ao do Ator Resposta do Sistema
1. O sistema valida a conta corrente e senha do Cliente, autorizando a operao. Seqncia Alternativa: 1a. Cliente Invlido: 1. O sistema no reconhece a conta corrente e senha do Cliente como vlida. 2. A operao cancelada.

26

Dica: Incluso
A criao de um caso de uso para utilizao em relaes de dependncia por incluso somente tem sentido se:
houver a possibilidade do caso de uso ser invocado diretamente por um ator, ou existir a necessidade de associ-lo a mais de um caso de uso.

Se nenhuma das situaes acima for verdadeira, incorpore a seqncia de eventos necessria na descrio do caso de uso dependente.

27

DEPENDNCIAS ENTRE CASOS DE USO


Dependncia: Extenso
Uma relao de extenso de um caso de uso A com um caso de uso B indica que uma instncia do caso de uso A poder incluir sujeito a satisfao da condio expressa em um fator de extenso - o comportamento especificado para o caso de uso B.

28

DEPENDNCIAS ENTRE CASOS DE USO EXTENSO


Identificao: UC1 Caso de uso: Sacar dinheiro pelo caixa Ator: Caixa (iniciador), Cliente Pr-Condies: o Cliente possui carto do banco e senha cadastrada. Ps-Condies: lanada a transao na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro. Seqncia Tpica de Eventos: Ao do Ator
1. Este caso de uso comea quando o Caixa realiza a leitura do carto do banco do Cliente. 2. O Cliente informa a sua senha. 4. O Caixa informa o valor do saque; Extend (quantia elevada) Autorizar Saque Seqncia Alternativa: 5a: Fundos Insuficientes: 1. O sistema no autoriza o valor solicitado para saque pelo Cliente. 2. A operao cancelada. 29 3. Include Validar Conta. 5. O sistema autoriza o saque e lana o dbito na conta corrente do Cliente

Resposta do Sistema

DEPENDNCIAS ENTRE CASOS DE USO EXTENSO


Identificao: UC1 Caso de uso: Sacar dinheiro pelo caixa Ator: Caixa (iniciador), Cliente Pr-Condies: o Cliente possui carto do banco e senha cadastrada. Ps-Condies: lanada a transao na conta do Cliente, atualizado o saldo da conta corrente e liberado o dinheiro. Seqncia Tpica de Eventos:

Ao do Ator
1. Este caso de uso comea quando o Caixa realiza a leitura do carto do banco do Cliente 2. O Cliente informa a sua senha. 4. O Caixa informa o valor do saque; Extend (quantia elevada) Autorizar Saque 6. O Caixa libera o dinheiro para o Cliente Seqncia Alternativa: 5a: Fundos Insuficientes: 1. O sistema no autoriza o valor solicitado para saque pelo Cliente. 2. A operao cancelada.

Resposta do Sistema

3. Include Validar Conta. 5. O sistema autoriza o saque e lana o dbito na conta corrente do Cliente

30

DEPENDNCIAS ENTRE CASOS DE USO EXTENSO


Identificao: UC3 Caso de Uso: Autorizar saque Ator: Gerente Pr-Condies: Ps-Condies: Seqncia Tpica de Eventos: Ao do Ator
1. O Gerente consulta informaes da conta corrente de um cliente para deliberar sobre a liberao de saque em valor elevado. 3. O Gerente autoriza o saque no valor solicitado. Seqncia Alternativa: 3a: Saque no autorizado 1. O Gerente no autoriza o saque no valor solicitado. 2. A operao cancelada.

Resposta do Sistema
2. Apresentar informaes completas sobre o cliente e suas movimentaes bancrias.

31

DIAGRAMA DE CASOS DE USO


Um Diagrama de Casos de Uso apresenta um conjunto de casos de uso, atores e suas relaes.
Captura as funcionalidades de um sistema de acordo com a viso de seus usurios. Deve ser desenvolvido pelo analista em conjunto com especialistas no domnio da aplicao.

Um Diagrama de Casos de Uso composto por:


Casos de Uso, Atores, Relaes de associao, dependncia e generalizao.

32

Casos de Uso

33

Diagramas de Caso de Uso


Os Diagramas de Casos de Uso so utilizados para modelar: O contexto de um sistema, identificando os atores e seus papis na interao com o sistema; Os requisitos de um sistema, especificando o que o sistema deve fazer (do ponto de vista de seus usurios), sem no entanto se preocupar em como implementado. Os Diagramas de Casos de Uso servem para: Verificar e validar a arquitetura do sistema; Identificar e gerar casos de teste.
34

Consideraes:
Cada diagrama de casos de uso representa graficamente uma viso parcial do sistema. O conjunto de diagramas de casos de uso formam a viso de casos de uso completa do sistema. Diagramas de Casos de Uso representam uma viso externa ao sistema, servindo de base para a identificao e especificao do conjunto de classes - e suas interaes necessrias para atingir os objetivos e propsitos do sistema.

35