Aula 02 - Especificação de Casos de Uso
-
Upload
valeska-b-jacobsen -
Category
Documents
-
view
227 -
download
9
description
Transcript of Aula 02 - Especificação de Casos de Uso
![Page 1: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/1.jpg)
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
![Page 2: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/2.jpg)
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
![Page 3: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/3.jpg)
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
![Page 4: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/4.jpg)
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
![Page 5: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/5.jpg)
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
![Page 6: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/6.jpg)
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
![Page 7: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/7.jpg)
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
![Page 8: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/8.jpg)
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
![Page 9: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/9.jpg)
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
![Page 10: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/10.jpg)
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
![Page 11: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/11.jpg)
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
![Page 12: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/12.jpg)
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
![Page 13: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/13.jpg)
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
![Page 14: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/14.jpg)
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
![Page 15: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/15.jpg)
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
![Page 16: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/16.jpg)
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
![Page 17: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/17.jpg)
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
![Page 18: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/18.jpg)
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
![Page 19: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/19.jpg)
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
![Page 20: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/20.jpg)
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
![Page 21: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/21.jpg)
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
![Page 22: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/22.jpg)
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
![Page 23: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/23.jpg)
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:
![Page 24: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/24.jpg)
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:
![Page 25: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/25.jpg)
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)
![Page 26: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/26.jpg)
Exemplo 1:
![Page 27: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/27.jpg)
© 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!
![Page 28: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/28.jpg)
Exemplo 2: (usar nos trabalhos!)
![Page 29: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/29.jpg)
Exemplo 2 (cont.): (usar nos trabalhos!)
![Page 30: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/30.jpg)
Exemplo 2 (cont.): (usar nos trabalhos!)
![Page 31: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/31.jpg)
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
![Page 32: Aula 02 - Especificação de Casos de Uso](https://reader031.fdocumentos.tips/reader031/viewer/2022020200/55cf8ffc550346703ba202e9/html5/thumbnails/32.jpg)
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