Vous êtes sur la page 1sur 31

Rational Unified Process (RUP)

Modelo conceptual

El modelo conceptual representa los conceptos en el


dominio del problema en el mundo real, no es una
descripción de los componentes de software.

• El propósito principal es mostrar las “Reglas del


negocio”, es decir entender la perspectiva del cliente,
usuario o patrocinador.
• Es la etapa más importante del ADOO.
• Es un mecanismo que ayuda a entender cada parte del
sistema que se va a diseñar y para integrar
apropiadamente todas sus funciones.
• Este proceso ayuda a organizar la información.
Modelo conceptual
Pasos para la elaboración del modelo conceptual (proceso
de abstracción)

1. Identificar objetos y clases del negocio


2. Documentar las clases
3. Clasificar las clases
4. Identificar las reglas de negocio y asociaciones entre
clases
5. Comprobar la consistencia entre los modelos
6. Comprobar el modelo con el cliente
1. Identificar objetos y clases
• Los objetos del modelo pueden ser entidades físicas
(personas, máquinas, etc.) como conceptos (órdenes de
compra, reservas, ventas, etc.).
• Todas las clases deben ser significativas en el dominio
de aplicación.
• Se puede empezar haciendo una lista de clases
candidatas a partir de las entidades de negocio.
1. Identificar objetos y clases (continuación)
La lista de clases candidatas debe ser revisada, para esto se
utilizan los siguientes criterios:

• Clases redundantes: si dos clases representan la misma


información nos quedaremos con la que tenga un nombre
mas significativo.
• Clases irrelevantes: pueden ser importantes en el
dominio de aplicación, pero son irrelevantes en el sistema.
• Clases demasiado generales: todas las clases deben
tener limites claros, atributos y comportamiento común para
todas las instancias.
• Roles: el nombre de una clase debe depender de su
naturaleza intrínseca y no del papel que juegue en el sistema.
2. Documentación de la clase
A medida que se crean las clases, deben documentarse. La
documentación debe contener el propósito de la clase y no la
estructura de la clase.

Ejemplo:

Nombre de la clase Venta


Una venta representa el hecho
Propósito de una transacción de compra.
Tiene un fecha y una hora.
3. Clasificación de las clases

La clasificación consiste en agrupar las clases por similitud en


jerarquías de forma que se pueden abstraer las características
comunes.

Esto puede hacerse en dos direcciones:

•Modelamiento hacia las súper clases (Generalización)

•Modelamiento hacia las sub clases (Especialización)

Las relaciones de Composición o Agregación también deben ser


clasificadas.
Generalización

• La generalización provee la capacidad para crear superclases


que encapsulan estructura y/o comportamiento común entre
subclases.

• La generalización procede:

• Se identifican similitudes de estructura/comportamiento


entre varis clases.
• Se crea una superclase para encapsular la
estructura/comportamiento común.
Especialización

• La especialización provee la capacidad para crear subclases


que representan refinamientos en los que la estructura y/o
comportamiento de una superclase son agregados o
modificados.

• La especialización procede:

• Notando que algunas instancias exhiben estructura o


comportamiento especializado.
• Creando subclases para agrupar instancias de acuerdo a su
especialización
Ejemplo de Generalización y Especialización
Agregación

La agregación es un tipo de asociación que se utiliza para


modelar las relaciones “todo-parte” entre las clases. El todo se
denomina compuesto.

Características:
• Son relaciones que implican en su significado que una clase
“contiene a” otras clases independientes.
• Cuando deja de existir la clase agregada no tiene por qué dejar
de existir el resto de las clases de la agregación.
• El tiempo de vida de la clase agregada no define el tiempo de
vida del resto de las clases.
• Se representa a través de un rombo transparente en el extremo
de la clase agregada.
Ejemplo de Agregación
Composición
Características:

• Son relaciones que implican en su significado que una clase


“está compuesta por” otras clases dependientes.
• Cuando deja de existir la clase compuesta deja de existir el
resto de las clases de la composición.
• El tiempo de vida de la clase compuesta define el tiempo de
vida del resto de las clases.
• Es un tipo muy especial de agregación en la que la relación
tiene mucha más fuerza.
• Se representa a través de un rombo relleno en el extremo de la
clase compuesta.
Ejemplo de Composición
Ejemplo de Clasificación de clases
4. Identificar las reglas de negocio por medio de
asociaciones entre clases

 Cualquier relación entre dos o más clases debe ser modelada


como una asociación.

 Esas asociaciones se llaman reglas de negocio.

 Las reglas de negocio le dan la funcionalidad al modelo.

 Este paso implica el refinamiento de las asociaciones que


cumplan las reglas del negocio
Ejemplo
RN01: Todo paciente
con o sin seguro
deberá tener una
historia cínica
5. Comprobar la consistencia entre los modelos

• Aunque el modelo que realicemos sea consistente, rara


vez será el correcto.

• Debemos revisar el modelo para ver si se nos ha


olvidado algo de lo establecido en la especificación
preliminar o si notamos algo extraño.
6. Comprobar el modelo con el cliente

• Una vez que nosotros hemos dado el visto bueno


del modelo el cliente debe hacer lo mismo.
• Debemos mostrarle el resultado del análisis para
ver si son acordes con sus necesidades, o si hemos
cometido algún error o se nos ha pasado por alto
algún detalle.
Refinar el Modelo Conceptual

El modelo conceptual refinado es el diagrama donde se


establece el modelo preliminar de clases, aquí se reducen
o aumentar clases de negocio a clases entidad y solo
quedan aquellas que conciernen a la lógica empleada en la
solución del problema (sistema).

Con las entidades encontradas por cada caso de uso y con


el modelo conceptual inicial se procede a refinar el modelo
conceptual y a generar un nuevo diagrama de clases.
Consideraciones para refinar el Modelo Conceptual

• Usar las clases con el estereotipo “entidad”

• Identificar los atributos de las clases

• Colocar las relaciones entre las clases obtenidas

• Colocar las multiplicidades entre las clases

• Identificar los atributos de enlace o Clase de enlace de las


asociaciones de muchos a muchos

• Verificar que las reglas de negocio se sigan cumpliendo.


1. Usar clases “entidad”

• Evaluar las clases entidad del negocio y generar las clases


entidad que usará el sistema.
• Elimine las que no sean necesarias para el problema que
está solucionando.

BE_KardexDeProductos EC_Producto
2. Identificar los primeros atributos de las clases

• Identifique los atributos de las clases que no tengan


dependencias a otras clases
• Identifique luego las clases que dependen de otras y
coloque solo los atributos propios.

Por cada atributo debe definirse:


• Nombre
• Tipo de dato
• Valor inicial
• Visibilidad

Sintaxis:

Visibilidad nombre: tipoDato = valorInicial


2. Identificar los primeros atributos de las clases

Los atributos:

• Forman la parte estática de la clase.


• Representan una característica de la clase.
• Representan información almacenada y actualizada
por la clase.
• Contienen los valores que establecen la diferencia
entre los objetos.
• No representan conexiones a través de llaves
foráneas.
3. Colocar las relaciones entre las clases

• Las relaciones son conexiones semánticas entre elementos de


un modelo; son la forma de UML de conectar elementos
juntos.
• Para las clases las relaciones cumplen el mismo papel que con
otros elementos.
• Identifique las clases que conversan entre sí y coloque una
línea de asociación correspondiente: Asociación binaria,
generalización-especialización, composición, agregación.

«Entity» «Entity»
Proveedor OrdenCompra
4. Colocar la multiplicidad entre las clases
• Evalúe la multiplicidad existente entre las clases que se
asocian entre si y colóquela al extremo de cada línea.
• Agregue el rol existente entre cada clse, colóquelo al extremo
de cada línea.

Multiplicidad
• Es el número de instancias de una clase que se relaciona con
una instancia de otra clase.
• Para cada asociación hay dos decisiones de multiplicidad por
hacer: una para cada final de asociación

Curso -Enseñado por -Dicta Profesor

0..* 1
4. Colocar la multiplicidad entre las clases
5. Indicar los atributos de Enlace o Clase de Enlace
de las asociaciones de muchos a muchos

• Evalúe las asociaciones de muchos a muchos y coloque una


clase de enlace
• Coloque el nombre correspondiente según la operación que
está realizando
• Coloque los atributos necesario según el enlace encontrado.

Clase asociación
Es una asociación que también es una clase. No solo conecta
dos clases como una asociación, sino que define un conjunto de
características que pertenecen a la propia asociación
5. Indicar los atributos de Enlace o Clase de Enlace
de las asociaciones de muchos a muchos

Alumno 3..10 1..* Curso

Calificaciones

Clase de enlace
generada
6. Verificar que las reglas del negocio se sigan
cumpliendo

• Como último paso:


• Verificar que las reglas de negocio se sigan
cumpliendo
«Business Entity»
BE_Leccion de Baile
Enseña
«Business Entity»
BE_Instructor

«Entity» -enseña
Instructor
-CodInstructor
-NomInstructor 1 0..* -es dictada por
-ApeInstructor
-DirInstructor «Entity»
-TelInstructor Seccion
-CodSeccion