Académique Documents
Professionnel Documents
Culture Documents
El propósito fundamental del modelo de análisis es resolver analizando los requisitos con mayor
profundidad, pero con diferencia de que puede utilizarse lenguaje de los desarrolladores de
proyectos para describir los resultados. En consecuencia podemos más sobre los sobre los
aspectos internos del sistema, y por tanto resolver aspectos relativos a la interferencia de casos de
uso y demás. Podemos estructurar los requisitos de manera que nos facilite su comprensión, su
preparación, su modificación y su mantenimiento.
Se puede considerar como una primera aproximación al modelo de diseño y es por tanto, una
entrada fundamental cuando se da “forma” al sistema en el diseño y la implementación.
Una realización de Caso de Uso describe cómo es realizado un caso de uso en particular dentro del
modelo del diseño, en términos de la colaboración de sus objetos
Una clase de análisis representa la abstracción de una o varias clases y/o subsistemas del diseño
clases y/o subsistemas del diseño del sistema. Esta abstracción posee las siguientes características:
Una clase de análisis también define atributos, aunque esos son de alto nivel, pero normalmente
estos pasan normalmente a una clase en el diseño.
Las clases del análisis siempre encaja en uno de tres estereotipos básicos: Interfaz, Control,
Entidad.
CLASE DE INTERFAZ
Las clases de interfaz se utilizan para modelar la interacción entre el sistema y los actores.
Las clases de interfaz modelan las partes del sistema que dependen de sus actores lo cual implica
que clasifican y reúnen los requisitos en los límites del sistema
Clase de Entidad
Las clases de entidad reflejan la información de un entidad de un modo que beneficia a los
desarrolladores al diseñar e implementar el sistema, incluyendo su soporte de persistencia.
Las clases de entidad suelen mostrar una estructura de datos lógica y contribuyen a comprender
de qué información depende el sistema.
Clase de Gestor
Los aspectos dinámicos del sistema se modelan con clases de control, debido a que ellas manejan
y coordinan las acciones y los flujos de control principales, y delegan trabajo a otros objetos.
MODELO CONCEPTUAL
Un modelo conceptual tiene como objetivo identificar y explicar los conceptos significativos en un
dominio de problema, identificando los atributos y las asociaciones existentes entre ellos.
Puede ser visto, también como una representación de las cosas, entidades, ideas, conceptos u
objetos del “mundo real” o dominio de interés. Es importante diferenciar que dichas entidades u
objetos no son componentes de software.
Aclaraciones:
Modelo conceptual, modelo de objetos del dominio y modelo de los objetos de análisis
son distintos nombres que suelen usarse indistintamente para referirse a este modelo.
Clase conceptual, concepto, o entidad también suelen usarse indistintamente.
CLASES CONCEPTUALES
El proceso de desarrollo de software debe incluir en sus primeras etapas la construcción del
modelo conceptual. Dicha tarea suele encararse como parte del análisis de requerimientos: la
identificación de requerimientos debe acompañarse con la identificación de las entidades o
conceptos involucrados en los mismos. De igual manera, la identificación de entidades puede
contribuir con la refinación de requerimientos.
Categoría Ejemplo
Objetos tangibles o físicos Casa, Avión
PlanoDeLaCasa,
Especificaciones, diseños o descripciones
EspecificaciónDelProducto
de las cosas
DescripciónDelVuelo
Lugares Tiendo, Aula
Transacciones Venta, Pago, Reserva, Tranferencia
Líneas de la transacción LíneaDeVenta
Roles de la gente Cajero, Piloto, Jefe
Contenedores de otras cosas Aula, Ciolectivo, Lata, Mochila
Contenidos Pasajero, Artículo, ÚtilEscolar
Otros sistemas informáticos o SistemaDeAutorización,
electromecánicos externos al sistema ControlDeTraficoAéreo
Conceptos abstractos Amor, Celos, Ansia, Acrofobia
Organizaciones DepartamentoDeVentas, CompañiaAérea
Hechos Reunión, Vuelo, Aterrizaje, Venta, Pago
VentaDeUnProducto,
Procesos (normalmente no se representan
ReservaDeUnAsiento (no confundir con
como conceptos, pero podría ocurrir)
trasacciones)
PolíticaDeReintegro,
Reglas y políticas
PolíticaDeCancelación
Catálogos CatálogoDeProductos
Registros de finanzas, trabajo, contratos, Recibo, Remito, Factura,
cuestiones legales ContratoDeEmpleo, Expediente
Instrumentos y servicios financieros LíneaDeCrédito, Stock
Manuales, documentos, artículos de
ManualDeReparaciones, ListaDeCambios
referencia, libros
Amistad, Parentesco (podría estar en
conceptos abstractos pero es bueno
Relaciones
destacarlo ya que las relaciones no suelen
ser consideradas al modelar)
Por ejemplo, si se quisiera modelar distintos torneos de fútbol, algunas entidades involucradas
serían:
Asociaciones
Una asociación es una relación entre dos conceptos que indica alguna conexión significativa entre
ellos. Las asociaciones útiles a determinar, suelen incluir el conocimiento de una relación que ha
de preservarse por algún tiempo: puede tratarse de milisegundos o de años (según el contexto).
Por ejemplo, ¿cómo reflejar que un equipo está compuesto por jugadores, qué uno de ellos es el
capitán, qué los equipos juegan partidos o que los torneos tienen varios partidos programados?
Los nombres de las asociaciones deben ser lo más claros posibles, y deben permitir leer y entender
fácilmente las relaciones entre conceptos.
Por lo general, se asume un orden en la lectura: de izquierda a derecha y de arriba hacia abajo. No
obstante, es posible indicar explícitamente algún otro orden.
La siguiente lista de preguntas puede resultar útil para identificar asociaciones entre distintas
clases conceptuales.
Multiplicidad
La multiplicidad define cuántas instancias de un tipo A pueden asociarse a una instancia del tipo B
en determinado momento. Las expresiones de multiplicidad son las siguientes:
- 1 Exactamente uno
- 0..1 Cero o uno
- 0..* Cero o muchos
- 1..* Al menos uno: uno o muchos
Por ejemplo, continuando con el ejemplo: ¿cómo modelar los siguientes aspectos?
• Un jugador puede jugar en sólo un equipo o en ninguno (si es que está libre).
• Todo equipo tiene un capitán.
• Los partidos los juegan dos equipos: uno será local y otro visitante.
• Todos los equipos tienen asegurados al menos un partido como visitante y al menos un
partido como local.
• Cualquier torneo tiene al menos un partido programado.
• Todo partido se realiza en el contexto de un único torneo.
Roles
Dada una asociación entre dos entidades, decimos que cada entidad representa un rol en dicha
asociación.
Muchas veces, según el punto de vista de cada entidad, es posible nombrar a la asociación de
manera diferente.
Por ejemplo, así como un jugador “juega en” un equipo, también podríamos decir que un equipo
“está conformado” por varios jugadores. En estos casos resulta útil darle un nombre a cada rol.
Atributos
Las entidades suelen poseer características propias que en sí mismas no constituyen otros
conceptos, en estos casos decimos que son atributos.
Los posibles valores que un atributo podrá poseer en algún momento, pertenecen a un dominio en
particular. Por ejemplo, un jugador tiene un nombre y una fecha de nacimiento. El dominio del
atributo no debe pensarse como el tipo de datos del mismo.
Clases de Asociación
Algunas veces se quiere modelar información que no es propia de una entidad sino que sólo tiene
sentido en el marco de una asociación entre varias entidades.
Por ejemplo, los jugadores de fútbol se incorporan a sus equipos firmando un contrato en el cual
se aclara que número de camiseta usará y cuanto cuál será su sueldo. Desde algún punto de vista,
dicho contrato provee más información a la asociación existente entre un jugador y su equipo, por
eso es que puede modelarse como una clase de asociación.
Herencia
Existe una asociación entre entidades que merece un tratamiento a parte: la relación de “es un”.
Muchas veces una entidad, además de representar algo en particular, es al mismo tiempo algo
más general.
Por ejemplo, existen vehículos aéreos y vehículos terrestres. En ambos casos, más allá de ser
terrestres o aéreos, son vehículos. A su vez existen vehículos aéreos que son helicópteros y otros
que son aviones. También es posible modelar este tipo de situaciones.
En todos los casos, depende de la interpretación que se esté haciendo, es posible obtener distintas
jerarquías. Por ejemplo, desde el punto de vista de quién o como se use, un vehículo aéreo puede
ser comercial o militar. Ahora bien, según de cómo sea estructuralmente, puede ser un
helicóptero o un avión.
Estos diagramas se deben interpretar de la siguiente manera: un avión posee todos los atributos
de un vehículo aéreo, y además puede poseer atributos propios. Por otro lado, cualquier
asociación que termine en la clase “Vehículo Aéreo”, también pertenecerá a cualquier helicóptero,
avión, vehículo aéreo comercial o vehículo aéreo militar. Sin embargo, una avocación que
involucre a la clase avión, no tendrá nada que ver con el resto de los vehículos aéreos.
Limitaciones
• ¿Qué garantías hay de que el jugador capitán de un equipo, juegue en ese equipo?
• ¿Qué garantías hay de que un equipo no juegue el mismo partido como visitante y local a
la vez?
• ¿Qué garantías hay de que en un equipo todos los jugadores tengan un número de
camiseta distinto?
• ¿Qué garantías hay de que no haya dos equipos con el mismo color de camiseta?
En todos los casos, la respuesta es ninguna. El modelo conceptual es una técnica que permite
modelar algunos aspectos relacionados con las entidades y sus relaciones, pero no todos. En estos
casos, será útil utilizar otras técnicas (por ejemplo OCL) con el fin de cubrir los aspectos ambiguos
o no especificados.
Notación
En ambos casos, las diferencias son más semánticas que sintácticas. Por tal motivo, para remarcar
aún más la diferencia, utilizaremos el siguiente estereotipo al notar las clases conceptuales.
La sintaxis provista por el diagrama de clases, también permite distinguir distintos tipos de
asociaciones, como la composición y agregación.