Responsibility Card)
Responsabilidades
Em sistemas OO, objetos encapsulam tanto dados
quanto comportamento.
O comportamento de um objeto definido de tal
forma que ele possa cumprir com suas
responsabilidades.
Uma responsabilidade uma obrigao que um
objeto tem para com o sistema no qual ele est
inserido.
Atravs delas, um objeto colabora (ajuda) com outros
para que os objetivos do sistema sejam alcanados.
Responsabilidades
O que Responsabilidade?
Um contrato ou obrigao de um tipo ou classe.
Responsabilidades
Na prtica, uma responsabilidade alguma coisa
que um objeto conhece ou faz. (sozinho ou no).
Um objeto Cliente conhece seu nome, seu endereo,
seu telefone, etc.
Um objeto Pedido conhece sua data de realizao e
sabe fazer o clculo do seu total.
Colaborao
Modelo CRC
Composto de um conjunto de cartes com o
seguinte formato:
Classe:
Responsabilidade
Colaborao
Ex: CRC
Conta Corrente
atributos
Responsabilidade
Colaborao
Cliente
Histrico de Transaes
Tcnica CRC
Tcnica originalmente proposta para ensinar OO efetiva
para profissionais com pouca experincia
Modelo CRC no pertence a UML, mas tem sido bastante
utilizado com XP
A tcnica inclui uma sesso CRC que serve para extrao (e
tambm modelagem de requisitos) junto a especialistas de
domnio e desenvolvedores.
Uma sesso CRC envolve por volta de meia dzia de
pessoas: especialistas de domnio, projetistas, analistas e um
moderador.
A cada pessoa entregue um carto CRC.
Sesso de CRC
Distribuio dos cartes: considera-se as
categorias de responsabilidades.
Para cada cenrio de caso de uso tpico,
pode-se comear com:
um objeto de fronteira para cada ator
participante do caso de uso;
um objeto de controle para todo o caso de uso;
normalmente h vrios objetos de entidade.
Modelagem CRC
Configurao inicial:
O moderador da sesso pode desempenhar o
papel do objeto controlador
Outro participante desempenha o papel do
objeto de fronteira.
Um outro participante pode simular o ator (ou
atores, se houver mais de um).
Os demais representam objetos de entidade.
Sesso CRC
Seleo do conjunto de cenrios de cada caso de
uso a ser simulado
Para cada cenrio, uma sesso CRC realizada.
Se o caso de uso no for to complexo, ele pode ser
analisado em uma nica sesso.
Sesso CRC
Comea com a simulao do ator primrio
(aquele que inicia o caso de uso).
Os demais participantes encenam a
colaborao entre objetos para que o
objetivo do ator seja alcanado.
Atravs dessa encenao, as classes,
responsabilidades e colaboraes so
identificadas.
Procedimento CRC
1. Selecionar um conjunto de cenrios de casos de uso.
2. Para um dos cenrios:
a) Examinar a sua seqncia de passos para identificar as
responsabilidades do sistema em relao a cada um
desses passos.
b) Identificar classes relevantes que devem cumprir com as
responsabilidades.
O que considerar
CRC so bons para discusso mas no documentao
As responsabilidades devem ser descritas de forma
breve e associadas considerando a especialidade da
classe.
Uma classe no deve ter muitas responsabilidades,
deve-se distribuir a inteligncia do sistema
O que considerar
Evitar responsabilidades redundantes
Referncias
Bezerra, E. Princpios de Anlise e Projeto Orientados a Objetos com
UML. Ed. Campus, Cap 5.
The Object Primer 3rd Edition: Agile Model Driven Development with
UML 2, Cambridge University Press, 2004, Cap 8