Sunteți pe pagina 1din 52

Princpios de Anlise e Projeto de Sistemas com UML

2 edio
Eduardo Bezerra Editora Campus/Elsevier

Tpicos
Introduo Diagrama de casos de uso Identificao dos elementos do MCU Construo do MCU Documentao suplementar ao MCU O MCU em um processo de desenvolvimento iterativo e incremental

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Introduo
O modelo de casos de uso uma representao das funcionalidades externamente observveis do sistema e dos elementos externos ao sistema que interagem com o mesmo. Esse modelo representa os requisitos funcionais do sistema. Tambm direciona diversas das atividades posteriores do ciclo de vida do sistema de software. Alm disso, fora os desenvolvedores a moldar o sistema de acordo com as necessidades do usurio.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Utilidade dos Casos de Uso


Equipe de clientes (validao)
aprovam o que o sistema dever fazer entendem o que o sistema dever fazer

Equipe de desenvolvedores
Ponto de partida para refinar requisitos de software. Podem seguir um desenvolvimento dirigido a casos de uso. Designer (projetista): encontrar classes Testadores: usam como base para casos de teste

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Utilidade dos Casos de Uso

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Composio do MCU
O modelo de casos de uso de um sistema composto de duas partes, uma textual, e outra grfica. O diagrama da UML utilizado na modelagem de grfica o diagrama de casos de uso.
Este diagrama permite dar uma viso global e de alto nvel do sistema. tambm chamado de diagrama de contexto.

Componentes: casos de uso, atores, relacionamentos entre os elementos anteriores.


Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Casos de uso
Um caso de uso a especificao de uma seqncia de interaes entre um sistema e os agentes externos. Define parte da funcionalidade de um sistema, sem revelar a estrutura e o comportamento internos deste sistema. Um modelo de casos de uso tpico formado de vrios casos de uso. Cada caso de uso definido atravs da descrio textual das interaes que ocorrem entre o(s) elemento(s) externo(s) e o sistema. H vrias dimenses de estilo para descrio de casos de uso: Grau de abstrao; Formato; Grau de detalhamento.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Dimenses para Descries Textuais


Um caso de uso definido atravs da descrio textual das interaes entre o(s) elemento(s) externo(s) e o sistema. Entretanto, a UML no define nada acerca de como essa descrio textual deve ser construda. Por conta disso, h vrias dimenses independentes sobres as quais a descrio textual de um caso de uso pode variar:
Grau de abstrao (essencial ou real) Formato (contnua, tabular, numerado) Grau de detalhamento (sucinta ou expandida)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Formato
Exemplo de descrio contnua
Este caso de uso inicia quanto 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 Cliente fornece o valor da quantidade que deseja sacar. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente. O Cliente retira a quantia e o recibo, e o caso de uso termina.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Formato
Exemplo de descrio numerada
1) Cliente insere seu carto no caixa eletrnico. 2) Sistema apresenta solicitao de senha. 3) Cliente digita senha. 4) Sistema valida a senha e exibe menu de operaes disponveis. 5) Cliente indica que deseja realizar um saque. 6) Sistema requisita o valor da quantia a ser sacada. 7) Cliente fornece o valor da quantia que deseja sacar. 8) Sistema fornece a quantia desejada e imprime o recibo para o Cliente 9) Cliente retira a quantia e o recibo, e o caso de uso termina.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

10

Formato
Exemplo de descrio tabular
Cliente Sistema

Insere seu carto no caixa eletrnico. Apresenta solicitao de senha. Digita senha. Valida senha e exibe operaes disponveis. Solicita realizao de saque. Requisita quantia a ser sacada. Fornece o valor da quantia que deseja sacar. Fornece a quantia desejada e imprime o recibo para o Cliente menu de

Retira a quantia e o recibo.


Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

11

Grau de Abstrao
Exemplo de descrio essencial (e numerada):
1) Cliente fornece sua identificao. 2) Sistema identifica o usurio. 3) Sistema fornece opes disponveis para movimentao da conta. 4) Cliente solicita o saque de uma determinada quantia. 5) Sistema requisita o valor da quantia a ser sacada. 6) Cliente fornece o valor da quantia que deseja sacar. 7) Sistema fornece a quantia desejada. 8) Cliente retira dinheiro e recibo e o caso de uso termina.
Dica: regra dos 100 anos
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

12

Atores
Elemento externo que interage com o sistema.
externo: atores no fazem parte do sistema. interage: um ator troca informaes com o sistema.

Casos de uso representam uma seqncia de interaes entre o sistema e o ator.


no sentido de troca de informaes entre eles.

Normalmente um agente externo inicia a seqncia de interaes como o sistema.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

13

Atores
Categorias de atores:
cargos (Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc); organizaes (Empresa Fornecedora, Agncia de Impostos, Administradora de Cartes, etc); outros sistemas (Sistema de Cobrana, Sistema de Estoque de Produtos, etc). equipamentos (Leitora de Cdigo de Barras, Sensor, etc.)

Essa categorizao indica para ns que o conceito de ator depende do escopo do sistema.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

14

Atores
Um ator corresponde a um papel representado em relao ao sistema.
O mesmo indivduo pode ser o Cliente que compra mercadorias e o Vendedor que processa vendas. Uma pessoa pode representar o papel de Funcionrio de uma instituio bancria que realiza a manuteno de um caixa eletrnico, mas tambm pode ser o Cliente do banco que realiza o saque de uma quantia.

O nome dado a um ator deve lembrar o seu papel, em vez de lembrar quem o representa.
e.g.: Joo Fernandes versus Fornecedor
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

15

Atores versus Casos de Uso


Um ator representa um conjunto coerente de papis que os usurios de casos desempenham quando interagem com o sistema Um caso de uso representa o que um ator quer que o sistema faa. Atores servem para definir o ambiente do sistema Atores representam um papel exercido por uma pessoa ou por um sistema externo que interage com o sistema. Se comunicam enviando mensagens e/ou recebendo mensagens do sistema, conforme o caso de uso executado Quando definimos o que os atores fazem e o que os casos de uso fazem, delimitamos, de forma clara, o escopo do sistema.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

16

4.2 Diagrama de casos de uso

Diagrama de casos de uso (DCU)


Representa graficamente os atores, casos de uso e relacionamentos entre os elementos. Tem o objetivo de ilustrar em um nvel alto de abstrao quais elementos externos interagem com que funcionalidades do sistema. Uma espcie de diagrama de contexto.
Apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

18

Exemplo de DCU

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

19

Elementos de um MCU
Um MCU possui diversos elementos, e cada um deles pode ser representado graficamente. Os elementos mais comuns em um MCU so:
Ator Caso de uso

Alm disso, a UML define diversos de relacionamentos entre esses elementos para serem usados no modelo de casos de uso:
Comunicao Incluso Extenso Generalizao

Para cada um desses elementos, a UML define uma notao grfica e uma semntica especficas.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

20

Ator, caso de uso, comunicao

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

21

Incluso (include)
Exemplo:

Referncia no texto do caso de uso inclusor: Include(Fornecer Identificao)


Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

22

Extenso (extend)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

23

Generalizao

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

24

Resumo da Notao

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

25

4.3 Identificao dos elementos do MCU

Identificao dos elementos do MCU


Atores e os casos de uso so identificados a partir de informaes coletadas no levantamento de requisitos.
Durante esta fase, analistas devem identificar as atividades do negcio relevantes ao sistema a ser construdo.

No h uma regra geral que indique quantos casos de uso e atores so necessrios para descrever um sistema.
A quantidade de casos de uso e atores depende da complexidade do sistema.

Note tambm que as identificaes de atores e de casos de uso so atividades que se intercalam.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

27

Identificao de atores
Fontes e os destinos das informaes a serem processadas so atores em potencial.
uma vez que, por definio, um ator todo elemento externo que interage com o sistema.

O analista deve identificar:


as reas da empresa que sero afetadas ou utilizaro o sistema. fontes de informaes a serem processadas e os destinos das informaes geradas pelo sistema.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

28

Identificao de atores
H algumas perguntas teis cujas respostas potencialmente identificam atores.
Que rgos, empresas ou pessoas (cargos) iro utilizar o sistema? Que outros sistemas iro se comunicar com o sistema? Algum deve ser informado de alguma ocorrncia no sistema? Quem est interessado em um certo requisito funcional do sistema?

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

29

Identificao de Casos de Uso


A partir da lista (inicial) de atores, deve-se passar identificao dos casos de uso. Nessa identificao, pode-se distinguir entre dois tipos de casos de uso
Primrio: representa os objetivos dos atores. Secundrio: aquele que no traz benefcio direto para os atores, mas que necessrio para que sistema funcione adequadamente.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

30

Casos de Uso Primrios


Perguntas teis:
Quais so as necessidades e objetivos de cada ator em relao ao sistema? Que informaes o sistema deve produzir? O sistema deve realizar alguma ao que ocorre regularmente no tempo? Para cada requisito funcional, existe um (ou mais) caso(s) de uso para atend-lo?

Outras tcnicas de identificao:


Caso de uso oposto Caso de uso que precede/sucede a outro caso de uso Caso de uso temporal Caso de uso relacionado a uma condio interna

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

31

Casos de Uso Secundrios


Estes se encaixam nas seguintes categorias:
Manuteno de cadastros; Manuteno de usurios; Gerenciamento de acesso; Manuteno de informaes provenientes de outros sistemas.

Obs: casos de uso secundrios, so menos importantes que os casos de uso primrios.
O sistema de software no existe para cadastrar informaes, nem tampouco para gerenciar os usurios. O objetivo principal de um sistema agregar valor ao ambiente no qual ele est implantado.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

32

4.4 Construo do MCU

Construo do DCU
Os diagramas de casos de uso devem servir para dar suporte parte textual do modelo, fornecendo uma viso de alto nvel. Quanto mais fcil for a leitura do diagrama representando casos de uso, melhor. Se o sistema sendo modelado no for to complexo, pode ser criado um nico DCU. til e recomendada a utilizao do retngulo de fronteira para delimitar e separar visualmente casos de uso e atores.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

34

Construo do DCU (cont.)


Em sistemas complexos, representar todos os casos de uso do sistema em um nico DCU talvez o torne um tanto ilegvel. Alternativa: criar vrios diagramas (de acordo com as necessidades de visualizao) e agrup-los em pacotes.
Todos os casos de uso para um ator; Todos os casos de uso a serem implementados em um ciclo de desenvolvimento. Todos os casos de uso de uma rea (departamento, seo) especfica da empresa.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

35

Construo do DCU (cont.)

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

36

Documentao dos atores


Uma breve descrio para cada ator deve ser adicionada ao MCU. O nome de um ator deve lembrar o papel desempenhado pelo mesmo. Exemplo
Aluno: representa pessoas que fazem um curso dentro da universidade.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

37

Documentao dos casos de uso


Infelizmente, a UML no define um padro para descrio textual dos casos de uso de um sistema. Por conta disso, h diversos estilos de descrio possveis (numerada, livre, tabular, etc). necessrio, no entanto que a equipe de desenvolvimento padronize o seu estilo de descrio. Algumas sees normalmente encontradas:
Sumrio Atores Fluxo principal Fluxos alternativos Referncias cruzadas (para requisitos no funcionais)
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

38

Documentao dos casos de uso


Nome Descrio Identificador Importncia Sumrio Ator Primrio Atores Secundrios Pr-condies Fluxo Principal Fluxos Alternativos Fluxos de Exceo Ps-condies Regras do Negcio Histrico Notas de Implementao

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

39

Documentao dos casos de uso


Algumas boas prticas na documentao de casos de uso.
Comece o nome do caso de uso com um verbo no infinitivo (para indicar um processo ou ao). Tente descrever os passos de caso de sempre na forma sujeito + predicado. Ou seja, deixe explcito quem o agente da ao. No descreva como o sistema realiza internamente um passo de um caso de uso.
"You apply use cases to capture the intended behavior of the system [...], without having to specify how that behavior is implemented. (Booch)

Tente dar nomes a casos de uso seguindo perspectiva do ator primrio. Foque no objetivo desse ator. Exemplos: Registrar Pedido, Abrir Ordem de Produo, Manter Referncia, Alugar Filme, etc. Tente manter a descrio de cada caso de uso no nvel mais simples possvel...
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

40

Documentao dos casos de uso


repetindo: tente manter a descrio de cada caso de uso no nvel mais simples possvel!

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

41

4.5 Documentao suplementar ao MCU

Documentao Associada
O modelo de casos de uso fora o desenvolvedor a pensar em como os agentes externos interagem com o sistema. No entanto, este modelo corresponde somente aos requisitos funcionais. Outros tipos de requisitos (desempenho, interface, segurana, regras do negcio, etc.) tambm devem ser identificados e modelados. Esses outros requisitos fazem parte da documentao associada ao MCU. Dois itens importantes dessa documentao associada so o modelo de regras do negcio e os requisitos de desempenho.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

43

Regras do Negcio
So polticas, condies ou restries que devem ser consideradas na execuo dos processos de uma organizao.
Descrevem a maneira pela qual a organizao funciona.

Estas regras so identificadas e documentadas no chamado modelo de regras do negcio (MRN).


A descrio do modelo de regras do negcio pode ser feita utilizandose texto informal, ou atravs de alguma forma de estruturao.

Regras do negcio normalmente influenciam o comportamento de determinados casos de uso.


Quando isso ocorre, os identificadores das regras do negcio devem ser adicionados descrio dos casos de uso em questo. Uso da seo regras do negcio da descrio do caso de uso.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

44

Exemplos de Regras do Negcio


O valor total de um pedido igual soma dos totais dos itens do pedido acrescido de 10% de taxa de entrega. Um professor s pode estar lecionando disciplinas para as quais esteja habilitado. Um cliente de uma das agncias do banco no pode retirar mais do que R$ 1.000 por dia de sua conta. Aps as 18:00h, esse limite cai para R$ 100,00. Os pedidos para um cliente no especial devem ser pagos antecipadamente.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

45

Regras do Negcio
Possvel formato para documentao de uma regra de negcio no MRN.
Nome Descrio Quantidade de inscries possveis (RN01) Um aluno no pode ser inscrever em mais de seis disciplinas por semestre letivo.

Fonte Histrico

Coordenador da escola de informtica Data de identificao: 12/07/2002

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

46

Requisitos de desempenho
Conexo de casos de uso a requisitos de desempenho.
Identificador do caso de uso CSU01 CSU02 CSU03 CSU04 CSU05 CSU07 Freqncia da utilizao 5/ms 15/dia 60/dia 180/dia 600/ms Tempo mximo esperado Interativo 1 segundo Interativo 3 segundos 10 segundos ...

...

500/dia durante 10 10 segundos dias seguidos.


Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

47

4.6 O MCU em um processo de desenvolvimento iterativo e incremental

Casos de uso e outras atividades


Validao
Clientes e usurios devem entender o modelo (validao) e us-lo para comunicar suas necessidades de forma consistente e no redundante.

Planejamento e gerenciamento do projeto


Uma ferramenta fundamental para o gerente de um projeto no planejamento e controle de um processo de desenvolvimento incremental e iterativo

Testes do sistema
Os casos de uso e seus cenrios oferecem casos de teste.

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

49

Casos de uso e outras atividades (cont)


Documentao do sistema para os usurios
manuais e guias do usurio podem ser construdos com base nos casos de uso.

Realizao de uma iterao


Os casos de uso podem se alocados entre os membros de equipe de desenvolvimento

Essa estratgia de utilizar o MCU como ponto de partida para outras atividades denominada Desenvolvimento Dirigido por Casos de Uso
Use Case Driven Development

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

50

MCU no processo de desenvolvimento


Casos de uso formam uma base natural atravs da qual podemse realizar as iteraes do desenvolvimento. Um grupo de casos alocado a cada iterao. Em cada iterao, o grupo de casos de uso detalhado e desenvolvido. O processo continua at que todos os casos de uso tenham sido desenvolvidos e o sistema esteja completamente construdo. A descrio expandida de um caso de uso pode ser deixada para a iterao na qual este deve ser implementado.
evita perda de tempo inicial no detalhamento. estratgia mais adaptvel aos requisitos volteis.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

51

MCU no processo de desenvolvimento


Cantor prope uma classificao em funo do risco de desenvolvimento e das prioridades estabelecidas pelo usurio.
1) Risco alto e prioridade alta 2) Risco alto e prioridade baixa 3) Risco baixo e prioridade alta 4) Risco baixo e prioridade baixa

Considerando-se essa categorizao, devemos considerar os casos de uso mais importantes e mais arriscados primeiramente.
Atacar o risco maior mais cedo...

Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

52

S-ar putea să vă placă și