You are on page 1of 17

30/12/10 1

Captulo 8
Encontrar Clases de Anlisis
Lourdes Lorena Mendoza
AyD1
30/12/10 2
Analizar un Caso de Uso
Los resultados del workflow UP Analizar un caso de uso son las
clases de anlisis y realizaciones de casos de uso. Nos centramos en
las clases de anlisis. Es necesario buscar en las entradas para
analizar un caso de uso.

El modelo de negocio - usted puede, o no, tener un modelo de


negocios ue se describe el sistema ue estamos modelando. Es
una e!celente fuente de reuisitos.

"odelo de #euerimientos. Los reuisitos pueden aportar una


contribuci$n %til al proceso de modelado de casos de uso.

Los reuisitos funcionales indican los casos de uso y actores.

Los reuisitos no funcionales se sugieren cosas se debe tener en


mente cuando construya el modelo de casos de uso.

"odelo de casos de uso.

&escripci$n de la aruitectura - una imagen de los aspectos


principales de la aruitectura del sistema. Puede incluir e!tractos de
modelos U"L incrustado en un te!to e!plicati'o.
30/12/10 3
Qu son las Clases de Anlisis?
Las (lases de )nlisis son clases ue*

#epresentan n+tidamente una abstracci$n del dominio del problema

Pueden mapear los conceptos de negocios del mundo real y


cuidadosamente nombrarse acuerdo a ellos.

El dominio del problema es el dominio en el cual se detect$ primero


la necesidad de desarrollo del software. ,eneralmente alguna rea
de la empresa.

El ms importante aspecto de una clase de anlisis es ue mapea


en forma clara alg%n concepto de negocios del mundo real como
cliente, producto, cuenta.

Encontrar las clases de anlisis correctas es la cla'e para el anlisis


y dise-o orientado a ob.etos.

Primer paso* (larificar el dominio del problema.

(larificar los conceptos de negocios y su estructura funcional simple


30/12/10 4
Anatoma de una Clase de Anlisis
Pueden presentar atributos de muy alto ni'el.
Podemos decir ue las clases de anlisis capturan atributos
candidatos para las clases de dise-o.
Las operaciones en las clases de anlisis especifican, en un alto
ni'el, los ser'icios cla'es ue esa clase debe ofrecer.
Un formulario m+nimo para una clase de anlisis puede contener*

Nombre, obligatorio.

)tributos, solo su nombre es obligatorio

/peraciones- en anlisis, las operaciones deben lle'ar


instrucciones de muy alto ni'el de las responsabilidades de la
clase. Los parmetros y tipos de retorno solo se usan cuando
clarifican el modelo.

0isibilidad- generalmente no se muestra

Estereotipos- pueden se mostrados si


e!plican el modelo

0alores etiuetados, igual ue estereotipos


30/12/10 5
Que constituye una buena Clase de Anlisis
Las caracter+sticas de una buena clase de anlisis se resumen as+*

1u nombre refle.a su intenci$n2

es una abstracci$n n+tida ue modela un elemento espec+fico del


dominio del problema2

se asigna a una caracter+stica claramente identificable del dominio


del problema2

se tiene un con.unto peue-o y bien definido de responsabilidades2

tiene alta co3esi$n2

tiene ba.o acoplamiento.


En el anlisis est tratando de modelar un aspecto del dominio del
problema, en forma precisa y concisa, desde la perspecti'a del
sistema ue est tratando de construir. 1i usted est modelando
un cliente en un sistema bancario, ue se desea capturar el
nombre del cliente, direcci$n, y as+ sucesi'amente los datos
importantes para ese sistema.
30/12/10 6
Que constituye una buena Clase de Anlisis

Una #esponsabilidad es un con'enio u obligaci$n ue una clase


tiene con sus clientes.

Es un ser'icio ue una clase ofrece a otras clases.

Es crucial ue su clase de anlisis tenga un set co3esi'o de


responsabilidades relacionadas directamente con la intenci$n de la
clase 4seg%n el nombre de la clase5 y la cosa del mundo real ue
est modelando esa clase.

#esponsabilidades de la clase cesta*

a-adir el art+culo a la cesta2 remo'er el art+culo de la cesta2 "ostrar los productos en


la cesta.

)3ora, tambi6n puede a-adir las siguientes responsabilidades a la


cesta 4no 3ay co3esi$n con 6stas y deben reasignarse5*

'alidar tar.etas de cr6dito2 aceptar el pago2 7mpresi$n de los recibo.

Una distribuci$n euitati'a de responsabilidades entre las clases


se suelen dar lugar a ba.o acoplamiento.

Localizaci$n de muc3as responsabilidades en una sola clase


tiende a aumentar acoplamiento a esa clase.
30/12/10 7
Reglas de Oro de las Clase de Anlisis

8e au+ algunas reglas de oro para la creaci$n de clases de anlisis


correcto*

(erca de tres a cinco responsabilidades por clase - por lo general, las


clases deben ser lo ms simple posible, y esto por lo general limita el
n%mero de responsabilidades ue puedan apoyar a entre tres y cinco.

Ninguna clase est sola - la esencia del buen anlisis y dise-o // es


ue las clases deben colaborar entre s+ para ofrecer beneficios a los
usuarios. Las clases pueden delegar algunas de sus responsabilidades a
otros 9ayudante9 las clases ue se dedican a esa funci$n espec+fica.

:enga cuidado con la creaci$n de muc3as clases muy peue-as - usted


debe mirar esto con muc3o cuidado, con miras a la consolidaci$n de
algunas de las clases peue-as en los ms grandes.

:enga cuidado con las pocas clases, pero muy grandes - lo contrario de
lo anterior es un modelo ue tiene pocas clases, donde muc3os de ellos
tienen un gran n%mero 4 ;<5 de responsabilidades.
30/12/10 8
Reglas de Oro de las Clase de Anlisis

:enga cuidado con los 9functoids9 - un functoid es realmente una funci$n


procedimental normal disfrazado de una clase.

:enga cuidado con las clases omnipotente - estas son las clases ue
parecen 3acer todo lo posible. La estrategia para 3acer frente a este
problema es 'er si las responsabilidades de los caen clase omnipotente
en subcon.untos co3erentes.

E'itar los rboles de 3erencia profunda - la esencia del dise-o de una


buena 3erencia .erruica es ue cada ni'el de abstracci$n en la
.eraru+a debe tener un prop$sito bien definido.
30/12/10 9
Encontrando Clases

No e!iste un algoritmo simple para encontrar las clases de anlisis


correcto.

E!isten t6cnicas probadas ue conducen 3acia una buena


respuesta, implican analizar el te!to y entre'istas con los usuarios
y e!pertos.

) pesar de todas las t6cnicas, la b%sueda de las clases correctas


dependen de la perspecti'a, la 3abilidad y e!periencia del analista
indi'iduales.

Encontrar las clases utilizando anlisis de sustanti'o = 'erbo. En


esencia, los sustanti'os o sintagmas nominales en el te!to indican
las clases o los atributos de las clases, y los 'erbos y frases
'erbales indican las responsabilidades o las operaciones de una
clase.

8ay ue ser muy conscientes de sin$nimos y 3om$nimos, ya ue


pueden dar lugar a falsos clases.
30/12/10 10
Encontrando Clases

No e!iste un algoritmo simple para encontrar las clases de anlisis


correcto.

E!isten t6cnicas probadas ue conducen 3acia una buena


respuesta, implican analizar el te!to y entre'istas con los usuarios
y e!pertos.

) pesar de todas las t6cnicas, la b%sueda de las clases correctas


dependen de la perspecti'a, la 3abilidad y e!periencia del analista
indi'iduales.

Encontrar las clases utilizando anlisis de sustanti'o = 'erbo. En


esencia, los sustanti'os o sintagmas nominales en el te!to indican
las clases o los atributos de las clases, y los 'erbos y frases
'erbales indican las responsabilidades o las operaciones de una
clase.

8ay ue ser muy conscientes de sin$nimos y 3om$nimos, ya ue


pueden dar lugar a falsos clases.
30/12/10 11
Encontrando Clases

:ambi6n 3ay ue tener muc3o cuidado si el dominio del problema es


poco conocida y definido. En este caso, tratar de recoger la mayor
cantidad de informaci$n acerca del dominio de tantas personas como
sea posible.

:al 'ez el ms dif+cil aspecto del anlisis de 'erbo sustanti'o = es


encontrar las clases ocultas2 ue son intr+nsecos a la del dominio del
problema, pero ue nunca podr+a ser mencionados e!pl+citamente.

1ustanti'o = procedimiento de anlisis del 'erbo.


El primer paso en el anlisis de 'erbo= sustanti'o es recoger la
informaci$n pertinente tanto como sea posible. Las fuentes adecuadas
de informaci$n son*
> El modelo de reuisitos2
> El modelo de casos de uso2
> el glosario del proyecto2
> cualuier otra cosa 4aruitectura, los documentos de 'isi$n, etc.5
30/12/10 12
Encontrando Clases

&espu6s de recoger la documentaci$n, analizarla de una manera muy


sencilla, poniendo de relie'e lo siguiente*
> nombres - por e.emplo, el 'uelo2
> sintagmas nominales - por e.emplo, n%mero de 'uelo2
> 'erbos - por e.emplo, asignar2
> frases 'erbales - por e.emplo, 'erificar la tar.eta de cr6dito.

Los nombres y frases nominales pueden indicar las clases o los atributos
de clase. 0erbos y frases el 'erbo puede indicar las responsabilidades
de las clases.

Una 'ez ue 3aya 3ec3o la lista de candidatos a clases, atributos y


responsabilidades,3aga una asignaci$n pro'isional de los atributos y
responsabilidades a las clases.

#ealice la adici$n de las responsabilidades como las operaciones a las


clases. Es posible ue tambi6n 3aya identificado relaciones entre
algunas clases 4los casos de uso son una buena fuente de estas5.
30/12/10 13
Encontrando Clases
Bsqueda de clases mediante el anlisis CRC

Una forma muy buena 4y di'ertido5 para obtener la participaci$n del


usuario en la b%sueda de clases es el uso de anlisis (#(. (#(
representa la clase, las responsabilidades, y colaboradores.

1e empieza por marcar algunas notas como post-it.

La nota est di'idida en tres compartimentos. En el compartimento


superior de grabar el nombre de la clase de candidato,

en el compartimiento de la izuierda, las responsabilidades2

y en la derec3a, los colaboradores.

Los colaboradores son otras clases ue pueden colaborar con esta clase
para realizar una pieza de funcionalidad del sistema.

El compartimiento colaboradores proporciona una manera de registrar


las relaciones entre
clases.

/tra forma de capturar las relaciones 4ue preferimos5 es para pegar


notas en una pizarra y dibu.a l+neas entre las clases colaboradoras.
30/12/10 14
Encontrando Clases
CRC procedimiento de anlisis
El anlisis de CRC se debe utiliar siempre en combinaci!n con el anlisis de
"erbo/ sustanti"o de los casos de uso# los re$uerimientos# %losario# & otra
documentaci!n pertinente' (e entiende me)or si se "e como una acti"idad en dos
*ases'
+' ,lu"ia de ideas - recopilar la in*ormaci!n' ,os participantes son los analistas
..# las partes interesadas & e/pertos de dominio' 0ambi1n se necesita un
*acilitador' El procedimiento es el si%uiente2
1' E/plica $ue se trata de una llu"ia de ideas "erdaderas'
1'1' 0odas las ideas son aceptadas como buenas ideas'
1'2' ,as ideas se re%istran pero no debate - no discutir sobre al%o# simplemente lo
escribe & lue%o se%uir adelante' 0odo lo $ue se analiar ms adelante'
30/12/10 15
Encontrando Clases
2' 3ida a los miembros del e$uipo para nombrar las 4cosas4 $ue operan en su mbito de
ne%ocio - por e)emplo# clientes# productos'
2'1' Escribir cada cosa en una nota ad5esi"a# es una clase candidata o atributo de una
clase'
2'2' 3e%ue la nota sobre una pared o piarra'
3' 6nda%ue en el e$uipo sobre el Estado $ue las responsabilidades de las cosas podr7an
tener & an!telas en el compartimiento de las responsabilidades de la nota'
4' 0raba)ar con el e$uipo# para tratar de identi*icar las clases $ue podr7an traba)ar )untos'
Reor%anice las notas en la piarra para re*le)ar esta or%aniaci!n & traar l7neas entre
ellos' Re%istre los colaboradores en el compartimiento de colaboradores de la nota'
Analizar la informacin
,os participantes son los analistas & e/pertos de dominio ..'
+l%unas notas ad5esi"as se representan conceptos cla"e del ne%ocio & necesitan
con"ertirse en clases' .tras notas pueden ser clases o atributos'
(i una nota l!%icamente parece ser parte de otra nota# es una indicaci!n de $ue representa
un atributo' (i una nota no parece ser particularmente importante podr7a ser un atributo de
otra clase'
30/12/10 16
Encontrando Clases
Bsqueda de clases mediante el uso de los estereotipos RUP
8na t1cnica 9til pro"iene de R83 en *orma de estereotipos R83' ,a idea es $ue se
tiene en cuenta tres tipos distintos de anlisis de clase durante su acti"idad de anlisis'
Esta es una manera de en*ocar su anlisis sobre aspectos espec7*icos del sistema'
Consideramos esta una t1cnica opcional $ue puede utiliar para complementar el
sustanti"o n9cleo / "erbo & t1cnicas de cartas de la Con"enci!n anlisis presentado
anteriormente'
0res tipos distintos de anlisis de clase se pueden distin%uir por los estereotipos $ue se
muestran en la *i%ura2
30/12/10 17
Encontrando Clases
Bsqueda de Clases lmite
Estas clases e/isten en el l7mite de su sistema & permiten comunicarse con los actores
e/ternos' 3uedes encontrar estas clases por considerar el tema :l7mite del sistema; &
descubrir $u1 clases sonmediadoras entre el su)eto & su entorno'
(e%9n R83 5a& tres tipos de clase <l7mite=2
1' Clases de inter*a de usuario - clases $ue inter*a entre el sistema & los seres
5umanos>
2' Clases de inter*a del sistema - clases $ue interact9an con otros sistemas>
3' Clases de inter*a de dispositi"os - clases $ue interact9an con dispositi"os e/ternos
como sensores'
Cada comunicaci!n entre un actor & un caso de uso en el modelo debe ser 5abilitada
por al%9n ob)eto en el sistema' Estos ob)etos son instancias de clases de l7mites' 8sted
puede a"eri%uar $u1 tipo de clase del l7mite indicado# considerando lo $ue el actor
representa

You might also like