32
Especicaçã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

Aula 02 - Especificação de Casos de Uso

Embed Size (px)

DESCRIPTION

Especificações de caso de uso

Citation preview

Page 1: Aula 02 - Especificação de Casos de Uso

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

         Exemplo  1:  

Page 27: Aula 02 - Especificação de Casos de Uso

 ©  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

Exemplo  2:    (usar  nos  trabalhos!)  

Page 29: Aula 02 - Especificação de Casos de Uso

Exemplo  2  (cont.):    (usar  nos  trabalhos!)  

Page 30: Aula 02 - Especificação de Casos de Uso

Exemplo  2  (cont.):    (usar  nos  trabalhos!)  

Page 31: Aula 02 - Especificação de Casos de Uso

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

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