Você está na página 1de 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

ntrod!o
O modelo de casos de uso uma representao das funcionalidades e!ternamente o"serv#veis do sistema e dos elementos externos ao sistema $ue interagem com o mesmo% Esse modelo representa os requisitos funcionais do sistema% &am" m direciona diversas das atividades posteriores do ciclo de vida do sistema de soft'are% (l m disso) fora os desenvolvedores a moldar o sistema de acordo com as necessidades do usu#rio%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

Utilidade dos #asos de Uso


E$uipe de clientes *validao+
, aprovam o $ue o sistema dever# fazer , entendem o $ue o sistema dever# fazer

E$uipe de desenvolvedores
, , , , -onto de partida para refinar re$uisitos de soft'are% -odem seguir um desenvolvimento dirigido a casos de uso% Designer *pro.etista+/ encontrar classes &estadores/ usam como "ase para casos de teste

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

"

Utilidade dos #asos de Uso

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

#omposio do M#U
O modelo de casos de uso de um sistema composto de duas partes) uma textual) e outra grfica% O diagrama da UM0 utilizado na modelagem de gr#fica o diagrama de casos de uso%
, Este diagrama permite dar uma viso glo"al e de alto n1vel do sistema% , 2 tam" m c3amado de diagrama de conte!to%

Componentes/ casos de uso) atores) relacionamentos entre os elementos anteriores%


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

#asos de !so
Um caso de uso a especificao de uma se$45ncia de intera6es entre um sistema e os agentes e!ternos% Define parte da funcionalidade de um sistema) sem revelar a estrutura e o comportamento internos deste sistema% Um modelo de casos de uso t1pico formado de v#rios casos de uso% Cada caso de uso definido atrav s da descrio textual das intera6es $ue ocorrem entre o*s+ elemento*s+ e!terno*s+ e o sistema% 7# v#rias 8dimens6es de estilo9 para descrio de casos de uso/ :rau de a"strao; <ormato; :rau de detal3amento%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

&

(imens)es para (escri)es Te*t!ais


Um caso de uso definido atrav s da descrio te!tual das intera6es entre o*s+ elemento*s+ e!terno*s+ e o sistema% Entretanto) a UM0 no define nada acerca de como essa descrio te!tual deve ser constru1da% -or conta disso) 3# v#rias dimens6es independentes so"res as $uais a descrio te!tual de um caso de uso pode variar/
, :rau de a"strao *essencial ou real+ , <ormato *cont1nua) ta"ular) numerado+ , :rau de detal3amento *sucinta ou e!pandida+

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

'

,ormato
E!emplo de descrio cont1nua
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 exi e as op!"es de opera!"es poss#veis. O Cliente opta por reali$ar um saque. Ento o Sistema requisita o total a ser sacado. O Cliente fornece o valor da quantidade que dese%a sacar. O Sistema fornece a quantia dese%ada e imprime o reci o para o Cliente. O Cliente retira a quantia e o reci o, e o caso de uso termina.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

,ormato
E!emplo de descrio numerada
&' Cliente insere seu carto no caixa eletrnico. (' Sistema apresenta solicita!o de senha. )' Cliente digita senha. *' Sistema valida a senha e exi e menu de opera!"es dispon#veis. +' Cliente indica que dese%a reali$ar um saque. ,' Sistema requisita o valor da quantia a ser sacada. -' Cliente fornece o valor da quantia que dese%a sacar. .' Sistema fornece a quantia dese%ada e imprime o reci o para o Cliente /' Cliente retira a quantia e o reci o, e o caso de uso termina.
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

-.

,ormato
E!emplo de descrio ta"ular
C lie n t e 0nsere seu carto no caixa eletrnico. / 1igita senha. / Solicita reali$a!o de saque. / 2ornece o valor da quantia que dese%a sacar. / / /3etira a quantia e o reci o. S is t e m a / Apresenta solicita!o de senha. 4 5alida senha e exi e menu de opera!"es dispon#veis. 4 3equisita quantia a ser sacada. 4 2ornece a quantia dese%ada e imprime o reci o para o Cliente
--

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

0ra! de A1strao
E!emplo de descrio essencial *e numerada+/
&' Cliente fornece sua identifica!o. (' Sistema identifica o usu7rio. )' Sistema fornece op!"es dispon#veis para movimenta!o da conta. *' Cliente solicita o saque de uma determinada quantia. +' Sistema requisita o valor da quantia a ser sacada. ,' Cliente fornece o valor da quantia que dese%a sacar. -' Sistema fornece a quantia dese%ada. .' Cliente retira dinheiro e reci o e o caso de uso termina.
6D ic a : re g ra d o s 100 a n o s
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

-2

Atores
Elemento externo $ue interage com o sistema%
, 8e!terno9/ atores no fazem parte do sistema% , 8interage9/ um ator troca informa6es com o sistema%

Casos de uso representam uma se$45ncia de intera6es entre o sistema e o ator%


, no sentido de troca de informa6es entre eles%

=ormalmente um agente e!terno inicia a se$45ncia de intera6es como o sistema%

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

-3

Atores
Categorias de atores/
, cargos *Empregado) Cliente) :erente) (lmo!arife) >endedor) etc+; , organizaes *Empresa <ornecedora) (g5ncia de Impostos) (dministradora de Cart6es) etc+; , outros sistemas *?istema de Co"rana) ?istema de Esto$ue de -rodutos) etc+% , equipamentos *0eitora de C@digo de Barras) ?ensor) etc%+

Essa categorizao indica para n@s $ue o conceito de ator depende do escopo do sistema%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

-"

Atores
Um ator corresponde a um papel representado em relao ao sistema%
, O mesmo indiv1duo pode ser o Cliente $ue compra mercadorias e o Vendedor $ue processa vendas% , Uma pessoa pode representar o papel de Funcionrio de uma instituio "anc#ria $ue realiza a manuteno de um cai!a eletrAnico) mas tam" m pode ser o Cliente do "anco $ue realiza o sa$ue de uma $uantia%

O nome dado a um ator deve lem"rar o seu papel) em vez de lem"rar $uem o representa%
, e%g%/ Boo <ernandes versus <ornecedor
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

-$

Atores 2ers!s #asos de Uso


Um ator representa um con.unto coerente de pap is $ue os usu#rios de casos desempen3am $uando interagem com o sistema Um caso de uso representa o $ue um ator $uer $ue o sistema faa% (tores servem para definir o ambiente do sistema (tores representam um papel e!ercido por uma pessoa ou por um sistema e!terno $ue interage com o sistema% ?e comunicam enviando mensagens e/ou rece"endo mensagens do sistema) conforme o caso de uso e!ecutado Cuando definimos o $ue os atores fazem e o $ue os casos de uso fazem) delimitamos) de forma clara) o escopo do sistema%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

-%

"32 (ia4rama de casos de !so

(ia4rama de casos de !so 5(#U6


Depresenta graficamente os atores) casos de uso e relacionamentos entre os elementos% &em o o".etivo de ilustrar em um n1vel alto de a"strao $uais elementos e!ternos interagem com $ue funcionalidades do sistema% Uma esp cie de 8diagrama de conte!to9%

, (presenta os elementos e!ternos de um sistema e as maneiras segundo as $uais eles as utilizam%

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

-'

7*emplo de (#U

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

-+

7lementos de !m M#U
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

(l m disso) a UM0 define diversos de relacionamentos entre esses elementos para serem usados no modelo de casos de uso/
, , , , Comunicao Incluso Extenso Generalizao

-ara cada um desses elementos) a UM0 define uma notao gr#fica e uma semEntica espec1ficas%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

2.

Ator8 caso de !so8 com!nicao

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

2-

ncl!so 5incl!de6
6 Exemplo8

6 3efer9ncia no texto do caso de uso inclusor8 Inc lud e (Fo rne c e r Id e ntific a o )
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

22

7*tenso 5e*tend6

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

23

0enerali9ao

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

2"

:es!mo da ;otao

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

2$

"33 denti<icao dos elementos do M#U

denti<icao dos elementos do M#U


(tores e os casos de uso so identificados a partir de informa6es coletadas no levantamento de re$uisitos%
, Durante esta fase) analistas devem identificar as atividades do neg@cio relevantes ao sistema a ser constru1do%

=o 3# uma regra geral $ue indi$ue $uantos casos de uso e atores so necess#rios para descrever um sistema%
, ( $uantidade de casos de uso e atores depende da comple!idade do sistema%

=ote tam" m $ue as identifica6es de atores e de casos de uso so atividades $ue se intercalam%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

2&

denti<icao de atores
<ontes e os destinos das informa6es a serem processadas so atores em potencial%
, uma vez $ue) por definio) um ator todo elemento e!terno $ue interage com o sistema%

O analista deve identificar/


, as #reas da empresa $ue sero afetadas ou utilizaro o sistema% , fontes de informa6es a serem processadas e os destinos das informa6es geradas pelo sistema%

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

2'

denti<icao de atores
7# algumas perguntas Fteis cu.as respostas potencialmente identificam atores%
, Cue @rgos) empresas ou pessoas *cargos+ iro utilizar o sistemaG , Cue outros sistemas iro se comunicar com o sistemaG , (lgu m deve ser informado de alguma ocorr5ncia no sistemaG , Cuem est# interessado em um certo re$uisito funcional do sistemaG

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

2+

denti<icao de #asos de Uso


( partir da lista *inicial+ de atores) deveHse passar I identificao dos casos de uso% =essa identificao) podeHse distinguir entre dois tipos de casos de uso
, -rim#rio/ representa os objetivos dos atores% , ?ecund#rio/ a$uele $ue no traz "enef1cio direto para os atores) mas $ue necess#rio para $ue sistema funcione ade$uadamente%

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

3.

#asos de Uso Primrios


-erguntas Fteis/
, Cuais so as necessidades e o".etivos de cada ator em relao ao sistemaG , Cue informa6es o sistema deve produzirG , O sistema deve realizar alguma ao $ue ocorre regularmente no tempoG , -ara cada re$uisito funcional) e!iste um *ou mais+ caso*s+ de uso para atend5HloG

Outras t cnicas de identificao/


, , , , Caso de uso oposto Caso de uso ue 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

3-

#asos de Uso Sec!ndrios


Estes se encai!am nas seguintes categorias/
, , , , Manuteno de cadastros; Manuteno de usu#rios; :erenciamento de acesso; Manuteno de informa6es provenientes de outros sistemas%

O"s/ casos de uso secund#rios) so menos importantes $ue os casos de uso prim#rios%
, O sistema de soft'are no e!iste para cadastrar informa6es) nem tampouco para gerenciar os usu#rios% , O o".etivo principal de um sistema agregar valor ao am"iente no $ual ele est# implantado%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

32

"3" #onstr!o do M#U

#onstr!o do (#U
Os diagramas de casos de uso devem servir para dar suporte I parte te!tual do modelo) fornecendo uma viso de alto n1vel% Cuanto mais f#cil for a leitura do diagrama representando casos de uso) mel3or% ?e o sistema sendo modelado no for to comple!o) pode ser criado um Fnico DCU% 2 Ftil e recomendada a utilizao do retEngulo de fronteira para delimitar e separar visualmente casos de uso e atores%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

3"

#onstr!o do (#U 5cont36


Em sistemas comple!os) representar todos os casos de uso do sistema em um Fnico DCU talvez o torne um tanto ileg1vel% (lternativa/ criar v#rios diagramas *de acordo com as necessidades de visualizao+ e agrup#Hlos em pacotes%
, &odos os casos de uso para um ator; , &odos os casos de uso a serem implementados em um ciclo de desenvolvimento% , &odos os casos de uso de uma #rea *departamento) seo+ espec1fica da empresa%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

3$

#onstr!o do (#U 5cont36

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

3%

(oc!mentao dos atores


Uma "reve descrio para cada ator deve ser adicionada ao MCU% O nome de um ator deve lem"rar o papel desempen3ado pelo mesmo% E!emplo
Aluno: representa pessoas que fazem um curso dentro da universidade !

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

3&

(oc!mentao dos casos de !so


Infelizmente) a UM0 no define um padro para descrio te!tual dos casos de uso de um sistema% -or conta disso) 3# diversos estilos de descrio poss1veis *numerada) livre) ta"ular) etc+% 2 necess#rio) no entanto $ue a e$uipe de desenvolvimento padronize o seu estilo de descrio% (lgumas se6es normalmente encontradas/
, , , , , ?um#rio (tores <lu!o principal <lu!os alternativos Defer5ncias cruzadas *para re$uisitos no funcionais+
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

3'

(oc!mentao dos casos de !so


=ome Descrio Identificador ImportEncia ?um#rio (tor -rim#rio (tores ?ecund#rios -r Hcondi6es <lu!o -rincipal <lu!os (lternativos <lu!os de E!ceo -@sHcondi6es Degras do =eg@cio 7ist@rico =otas de Implementao

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

3+

(oc!mentao dos casos de !so


(lgumas "oas pr#ticas na documentao de casos de uso%
, Comece o nome do caso de uso com um ver"o no infinitivo *para indicar um processo ou ao+% , &ente descrever os passos de caso de sempre na forma su.eito J predicado% Ou se.a) dei!e e!pl1cito $uem o agente da ao% , =o descreva como o sistema realiza internamente um passo de um caso de uso%
KLou applM use cases to capture t3e intended "e3avior of t3e sMstem N%%%O) 'it3out 3aving to specifM 3o' t3at "e3avior is implemented% *Booc3+

, &ente dar nomes a casos de uso seguindo perspectiva do ator prim#rio% <o$ue no ob"etivo desse ator% E!emplos/ Degistrar -edido) ("rir Ordem de -roduo) Manter Defer5ncia) (lugar <ilme) etc% , &ente manter a descrio de cada caso de uso no n1vel mais simples poss1vel%%%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

".

(oc!mentao dos casos de !so


Prepetindo/ tente manter a descrio de cada caso de uso no n1vel mais simples poss1velQ

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

"-

"3$ (oc!mentao s!plementar ao M#U

(oc!mentao Associada
O modelo de casos de uso fora o desenvolvedor a pensar em como os agentes e!ternos interagem com o sistema% =o entanto) este modelo corresponde somente aos re$uisitos funcionais% Outros tipos de re$uisitos *desempen3o) interface) segurana) regras do neg@cio) etc%+ tam" m devem ser identificados e modelados" Esses outros re$uisitos 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

"3

:e4ras do ;e4cio
?o pol1ticas) condi6es ou restri6es $ue devem ser consideradas na e!ecuo dos processos de uma organizao%
, Descrevem a maneira pela $ual a organizao funciona%

Estas regras so identificadas e documentadas no c3amado modelo de regras do negcio *MD=+%


, ( descrio do modelo de regras do neg@cio pode ser feita utilizandoH se te!to informal) ou atrav s de alguma forma de estruturao%

Degras do neg@cio normalmente influenciam o comportamento de determinados casos de uso%


, Cuando isso ocorre) os identificadores das regras do neg@cio devem ser adicionados I descrio dos casos de uso em $uesto% , Uso da seo 8regras do neg@cio9 da descrio do caso de uso%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

""

7*emplos de :e4ras do ;e4cio


O valor total de um pedido igual I soma dos totais dos itens do pedido acrescido de RST de ta!a de entrega% Um professor s@ pode estar lecionando disciplinas para as $uais este.a 3a"ilitado% Um cliente de uma das ag5ncias do "anco no pode retirar mais do $ue DU R%SSS por dia de sua conta% (p@s as RV/SS3) esse limite cai para DU RSS)SS% Os pedidos para um cliente no especial devem ser pagos antecipadamente%

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

"$

:e4ras do ;e4cio
-oss1vel formato para documentao de uma regra de neg@cio no MD=%
"ome Descrio Quantidade de inscries possveis (RN01) Um aluno no pode ser inscre er em mais de seis disciplinas por semestre leti o!

Fonte Histrico

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

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

"%

:e=!isitos de desempen>o
Cone!o de casos de uso a re$uisitos de desempen3o%
%denti&icador do caso de uso C%U01 C%U02 C%U0) C%U0+ C%U0$ C%U07 Freq !ncia da uti"i#a$o $/m(s 1$/dia '0/dia 1*0/dia '00/m(s Tempo mximo esperado ,nterati o 1 se#undo ,nterati o ) se#undos 10 se#undos ... & & & & & !!!

$00/dia durante 10 10 se#undos dias se#uidos!


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

"&

"3% ? M#U em !m processo de desen2ol2imento iterati2o e incremental

#asos de !so e o!tras ati2idades


>alidao
, Clientes e usu#rios devem entender o modelo *validao+ e us#Hlo para comunicar suas necessidades de forma consistente e no redundante%

-lane.amento e gerenciamento do pro.eto


, Uma ferramenta fundamental para o gerente de um pro.eto no plane.amento e controle de um processo de desenvolvimento incremental e iterativo

&estes do sistema
, Os casos de uso e seus cen#rios oferecem casos de teste%

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

"+

#asos de !so e o!tras ati2idades 5cont6


Documentao do sistema para os usu#rios
, manuais e guias do usu#rio podem ser constru1dos com "ase nos casos de uso%

Dealizao de uma iterao


, Os casos de uso podem se alocados entre os mem"ros de e$uipe de desenvolvimento

Essa estrat gia de utilizar o MCU como ponto de partida para outras atividades denominada #esenvolvimento #irigido por Casos de $so
, $se Case #riven #evelopment

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

$.

M#U no processo de desen2ol2imento


Casos de uso formam uma "ase natural atrav s da $ual podemHse realizar as itera6es do desenvolvimento% Um grupo de casos alocado a cada iterao% Em cada iterao) o grupo de casos de uso detal3ado e desenvolvido% O processo continua at $ue todos os casos de uso ten3am sido desenvolvidos e o sistema este.a completamente constru1do% ( descrio e!pandida de um caso de uso pode ser dei!ada para a iterao na $ual este deve ser implementado%
, evita perda de tempo inicial no detal3amento% , estrat gia mais adapt#vel aos re$uisitos vol#teis%
Princpios de Anlise e Projeto de Sistemas com UML - 2 edio

$-

M#U no processo de desen2ol2imento


Cantor prop6e uma classificao em funo do risco de desenvolvimento e das prioridades esta"elecidas pelo usu#rio%
R+ Disco alto e prioridade alta W+ Disco alto e prioridade "ai!a X+ Disco "ai!o e prioridade alta Y+ Disco "ai!o e prioridade "ai!a

ConsiderandoHse essa categorizao) devemos considerar os casos de uso mais importantes e mais arriscados primeiramente%
, (tacar o risco maior mais cedo%%%

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

$2

Você também pode gostar