Post on 22-Dec-2015
description
Especi!cação de Casos de Uso Aula 02
Prof. Kleinner Farias Programa Interdisciplinar de Pós-Graduação
em Computação Aplicada – PIPCA Universidade do Vale do Rio dos Sinos
��
2
12/03/14 @KleinnerFarias 1
Objetivos • Compreender como identi!car e especi!car
casos de uso • Usar diferentes formatos de especi!cação de
casos de uso • Entender a importância da especi!cação de
casos de uso • Realizar exercício
12/03/14 @KleinnerFarias 2
Agenda • Introdução • Exercício • Algumas de!nições • Requisitos e casos de uso • Casos de uso e estrutura de projeto • Valor dos casos de uso • Especi!cação de casos de uso • Ferramentas: exemplos
12/03/14 @KleinnerFarias 3
Introdução • O que é um caso de uso? – São descrições coerentes de como o sistema deve
se comportar em uso – Trata-se de uma contrato entre os stakeholders de
um sistema sobre o seu comportamento – Uma especi!cação de uma sequência de interações
entre um sistema e seus os agentes externos
12/03/14 @KleinnerFarias 4
Introdução • O que o caso de uso descreve? – O comportamento do sistema sob diversas
condições conforme o sistema responder a um requisição de um dos stakeholders, o ator primário.
12/03/14 @KleinnerFarias 5
Introdução • O que o caso de uso descreve (cont.)? – As funcionalidades do sistema sem revelar a
estrutura e o comportamento interno do sistema – Uma sequencia de interações entre o sistema e
seus stakeholders – Quem faz o que no sistema, sem descreve o
estado interno do sistema
12/03/14 @KleinnerFarias 6
Introdução • Em uma caso de uso...
...o ator primário inicia a interação com o sistema visando atingir um objetivo. ...o sistema responde, protegendo os interesses de todos os stakeholders. ... diferentes sequencias de cenários podem aparecer, dependendo das requisições particulares feitas e das condições que cercam as requisições.
12/03/14 @KleinnerFarias 7
Introdução • Como identi!car os casos de uso? – Quais são as necessidades e os objetivos de cada
Ator? – Quais informações o sistema deve produzir? – O sistema executará algum comportamento
regularmente? – Um requisito funcional precisa de outros quais
casos de uso para atendê-lo?
12/03/14 @KleinnerFarias 8
Introdução • Quanto a forma da especi!cação? – São fundamentalmente um forma textual,
embora possam ser especi!cados usando diagramas
• O que especi!cam? – Apenas os requisitos comportamentais
• Obs.: regras de negócio, glossário, desempenho e dentro outros não são requisitos comportamentais
12/03/14 @KleinnerFarias 9
Exercício • Exercício: Em uma Sistema de Banco: – Toda operação exige autenHcação – O cliente:
• poderá sacar, depositar, transferir e Hrar extrato – O funcionário:
• poderá Hrar extrato do cliente • poderá solicitar cartão de crédito para cliente;
– O gerente: • realizará qualquer operação dos funcionários. Porém, apenas ele é capaz de cadastrar e remover conta.
• IdenHficar os casos de uso • Ferramenta usada: www.genmymodel.com 12/03/14 @KleinnerFarias 10
Algumas De!nições • Ator – alguém ou algo com comportamento
• Stakeholder – alguém ou algo com um interesse legal no
comportamento do Sistema Sob Discussão (SSD)
• Ator primário – o stakeholder que inicia uma interação com o SSD
para alcançar um objetivo
12/03/14 @KleinnerFarias 11
Algumas De!nições • Caso de uso – um contrato sobre o comportamento do SSD
• Escopo – identi!ca o SSD
• Pré-condições – são as garantias mínimas que devem ser
respeitadas antes da execução do caso de uso
12/03/14 @KleinnerFarias 12
Algumas De!nições • Pós-condições (ou garantias) – condições que devem ser garantidas após a
execução do caso de uso
• Cenário de sucesso (ou !uxo básico) – um cenário em que nada acontece de errado
• Extensões (ou !uxo alternativo) – o que pode acontecer de diferente durante
aquele cenário
12/03/14 @KleinnerFarias 13
Algumas De!nições • Duas observações: – O número das extensões faz referência ao
número do passo no cenário de sucesso que uma situação atípica foi detectada
– Quando uma caso de uso faz referência a outro caso de uso, o caso de uso referenciado deve ser sublinhado
12/03/14 @KleinnerFarias 14
Algumas De!nições • Escopo: – qual é realmente o SSD?
• Ator primário: – Quem tem o objetivo?
• Nível: – Quão alto ou baixo é o nível do objetivo?
12/03/14 @KleinnerFarias 15
Requisitos e Casos de uso • Eles não são todos os requisitos – Não especi!cam interfaces externas – Não de!nem estruturas e formatos de dados – Não descrevem regras de negócio
detalhadamente – Não contem fórmulas complexas – São uma fração (importante) dos requisitos
coletados
12/03/14 @KleinnerFarias 16
Requisitos e Casos de uso • Eles realmente são requisitos – Não é necessário convertê-los em outra forma de
requisitos comportamentais – Especi!cam exatamente o que o sistema deve
fazer
12/03/14 @KleinnerFarias 17
Requisitos e Casos de uso • Padrão de especi"cação – Cada organização captura requisitos para
satisfazer as suas necessidades – Cada empresa pode ter seu padrão de
especi!cação de casos de uso – Cada organização tende a de!nir um padrão – Especi!cam exatamente o que o sistema deve
fazer seguindo um estilo apropriado
12/03/14 @KleinnerFarias 18
Casos de uso e Estrutura de Projeto
• Arcabouço de relacionamento dos requisitos – Conectam muitos outros itens de requisitos – Forma um arcabouço para conectar diferentes partes dos requisitos
– Ajudam a conectar regras de negócio, formato de dados e os atores
– Ajudam a estruturar o planejamento de projetos • Data de entrega, equipes, prioridade e status
12/03/14 @KleinnerFarias 19
Casos de uso e Estrutura de Projeto
12/03/14 @KleinnerFarias 20
Casos de Uso
Requisitos de Interface
Regras de negócio
Formato de dados
Requisitos de
desempenho
Requisitos não-‐
funcionais
Protocolos de E/S
Valor dos Casos de Uso • Quando casos de uso adicionam valor? – Organizam os objetivos do usuário em uma
forma de lista de nomes de casos de uso – Facilitam a estimativa de custo e complexidade
por parte de gerentes e desenvolvedores – Descrevem de forma antecipada os cenários de
sucesso e de insucesso – Evitam que condições de erro sejam identi!cadas
no momento da implementação
12/03/14 @KleinnerFarias 21
Especificação de Casos de Uso
12/03/14 @KleinnerFarias 22
• A especificação é mais detalhada e mais importante
• Diagrama e especificação se complementam • Não existe um padrão de especificação • Tipos de especificações: – Informal – Típica – Detalhada
Especificação de Casos de Uso
12/03/14 @KleinnerFarias 23
• Especi!cação Informal – Contém o nome do caso de uso e
uma descrição textual de sua funcionalidade Exemplo:
Especificação de Casos de Uso
12/03/14 @KleinnerFarias 24
• Descrição Típica – Contém:
• IdenHficação do ator que iniciou o caso de uso • Pré-‐requisitos (se houver) do caso de uso • Descrição textual do Fluxo normal e Fluxos alternaHvos
Exemplo:
Especificação de Casos de Uso
12/03/14 @KleinnerFarias 25
• Descrição Detalhada (Ex.1) – Contém:
• IdenHficação do ator que iniciou o caso de uso • ObjeHvo • Nível • Pré-‐requisitos (se houver) do caso de uso • Condições de disparo (triggers) • Descrição textual do:
– Fluxo normal – Fluxos alternaHvos (se houver)
Exemplo 1:
© LES/PUC-‐Rio
Especificação de Casos de Uso • Descrição Detalhada (Ex.2) – Contém:
• Nome • Descrição sucinta • Atores • Pré-‐condições • Pós-‐condições • Fluxo básico • Fluxos alternaHvos • Fluxos de exceção • Estruturas de dados • Regras de negócio • Observações
Usar este tipo
de descrição de
casos de uso
nos trabalhos da
disciplina!
Exemplo 2: (usar nos trabalhos!)
Exemplo 2 (cont.): (usar nos trabalhos!)
Exemplo 2 (cont.): (usar nos trabalhos!)
Ferramentas • Borland Together:hip://www.borland.com/products/together/
• Poseidon: hip://www.gentleware.com
• Astha: hip://astah.net/
• IBM RaHonal Sokware Architecthip://www.ibm.com/sokware/raHonal
• Enterprise Architecthip://www.sparxsystems.com
12/03/14 @KleinnerFarias 31
Referências • [Cockburn04] COCKBURN, A.: Escrevendo Casos de Uso Eficazes – Um Guia PráHco para Desenvolvedores de Sokware, Bookman, 2004.
• [Larman07] LARMAN, C.: UHlizando UML e Padrões: uma Introdução à Análise e ao Projeto Orientados a Objetos. Porto Alegre: Bookamn, 2007. 492p.
• [Les10] Apresentações – LES/PUC-‐Rio, 2010 hip://www.les.inf.puc-‐rio.br/wiki/index.php/PSS 12/03/14 @KleinnerFarias 32