Está en la página 1de 39

Carrera: APU 2008

S.S. Jujuy – S.P. Jujuy

Ing. Nélida R. Cáceres


Profesor Adjunto Ordinario - Cátedra: Análisis y Diseño de Sistemas II
Contenidos

Concepto
Análisis Orientado
a Objetos
Modelo de
Dominio

1-Listar conceptos idóneos


2-Representar el modelo de dominio o
modelo conceptual
3-Incorporar las asociaciones necesarias
para registrar relaciones
4-Agregar los atributos necesarios para
cumplir con las necesidades de información
¿Qué es el Análisis y Diseño?
El análisis pone énfasis en una investigación del
problema y los requisitos. Por ejemplo, si se desea
un nuevo sistema de información informatizado
para una biblioteca ¿Cómo se utilizará?
El diseño pone énfasis en una solución
conceptual que satisface los requisitos, en vez de
ponerlo en la implementación. Por ejemplo, una
descripción del esquema de una base de datos.

Fuente: UML y Patrones, Larman


¿Qué es el Análisis y Diseño OO?
En el Análisis OO se presta especial atención a
encontrar y describir los objetos (o conceptos) en el
dominio del problema. Por ejemplo, en el caso del
sistema de la biblioteca, algunos de los conceptos
son libro y socio.
En el Diseño OO se presta especial atención a la
definición de los objetos software y en cómo
colaboran para satisfacer los requisitos. Por ej., en
el sistema de la biblioteca, un objeto software Libro
podría tener un atributo título y el método obtener.
Fuente: UML y Patrones, Larman
MODELO DOMINIO O MODELO
CONCEPTUAL
Un modelo conceptual explica (a sus creadores)
los conceptos significativos en un dominio del
problema, es el artefacto más importante a crear
durante el análisis orientado a objetos. Para
construir éste modelo se debe tener en cuenta:
•Se debe contar con los casos de uso.
•Se debe contar con otros documentos que permitan
identificar los conceptos (objetos).
•La creación no siempre es lineal, es decir, el modelo
conceptual puede formularse en paralelo con el desarrollo de
los casos de uso.
Fuente: UML y Patrones – Craig Larman
Modelo conceptual

Conceptos u objetos
Problema
individuales

MODELO CONCEPTUAL
Conceptos
Asociaciones entre conceptos
Atributos de conceptos

Fuente: UML y Patrones – Craig Larman


Ejemplo de Modelo conceptual

Modelo conceptual parcial del dominio de la tienda y las ventas

Fuente: UML y Patrones – Craig Larman


Modelo conceptual

Fuente: UML y Patrones – Craig Larman


Concepto
El concepto es una idea, cosa u objeto. Posee las
siguientes características:

Símbolo: Palabras o imágenes que


representan un concepto.

Intención: la definición del


concepto.

Extensión: el conjunto de ejemplos a


que se aplica el concepto.
Estrategia para identificar conceptos:
Es mejor exagerar y especificar un modelo
conceptual con muchos conceptos refinados que no
especificarlo cabalmente.
Fuente: UML y Patrones – Craig Larman
Directrices para construir modelos
conceptuales
1. Listar conceptos idóneos.
2. Representar un modelo de dominio (ó modelo
conceptual).
3. Incorporar las asociaciones necesarias para
registrar relaciones.
4. Agregar los atributos necesarios para cumplir
con las necesidades de información.

Fuente: UML y Patrones – Craig Larman


Caso de estudio: Sistema de Punto
de Venta Nueva Era (PDV)
Un sistema PDV es una aplicación informática utilizada (en parte)
para registrar ventas y realizar pagos; puede ser utilizado en tiendas,
incluye componentes hardware, con un ordenador y un lector de
código de barras, y software para ejecutar el sistema. Interactúa con
varias aplicaciones de servicios, como un servicio de cálculo de
impuestos y un control de inventario.
Estos sistemas deben ser, relativamente, tolerante a fallos, es
decir que si los servicios remotos no están disponibles
temporalmente (como el sistema de inventario), todavía deben ser
capaces de capturar las ventas y gestionar al menos los pagos en
efectivo (de manera que no se impida que el negocio funcione de
manera adecuada).

Fuente: UML y Patrones, Larman


Caso de estudio: Sistema de Punto
de Venta Nueva Era (PDV)
Un sistema PDV, progresivamente, debe soportar múltiples y
variadas terminales e interfaces del lado del cliente, como un
terminal con navegador web, un ordenador personal normal con una
interfaz gráfica de usuario hecha con las clases Swing de Java,
entrada de datos mediante una pantalla táctil, PDAs inalámbricos,
etc.
También se está creando un sistema PDV comercial que se
venderá a diferentes cliente con necesidades dispares en términos
de procesamiento de reglas del negocio. Cada cliente deseará un
conjunto exclusivo de lógica a ejecutar en ciertos puntos predecibles
en escenarios de uso del sistema, por lo tanto se necesita un
mecanismo para proporcionar esta flexibilidad y personalización.

Fuente: UML y Patrones, Larman


Caso de estudio: Sistema de Punto
de Venta Nueva Era (PDV)
Funciones Básicas
Ref # Función Categoría
R1.1 Registrar la venta en proceso (actual) de los productos comprados. evidente
R1.2 Calcular el total de la venta actual: se incluyen el impuesto y los cálculos de cupón. evidente
R1.3 Capturar la información sobre el objeto comprado usando su código de barras y un lector o usando evidente
una captura manual de un código del producto: por ejemplo, un código universal de producto.
R1.4 Reducir las cantidades del inventario cuando se realiza una venta. oculta
R1.5 Registrar las ventas efectuadas. oculta
R1.6 Introducir una identificación y una contraseña para poder utilizar el sistema (e cajero). evidente
R1.7 Ofrecer un mecanismo de almacenamiento persistente. oculta

Modelo de Casos de Uso

Fuente: UML y Patrones – Craig Larman


1-Listar conceptos idóneos

a) Obtención de conceptos a partir de la lista


de categorías de conceptos.
b) Obtención de conceptos a partir de la
identificación de frases nominales.
a) Obtención de conceptos a partir de la lista
de categorías de conceptos
Categoría del Concepto Ejemplos
Objetos físicos o tangibles TPDV
Especificaciones, descripciones o diseño de cosas especificacionDeProducto
Lugares Tiendas
transacciones Venta, pago
Línea o renglón de elemento de transacciones ventasLineaDeProducto
Papel de las personas Cajero
Contenedores de otras cosas Tienda
Cosas dentro de un contenedor Producto
Otros sistemas de computo o electromecánicos externos SistemaDeAutorizacionDeTarjetaDeCredito
al sistema
Conceptos de nombres abstractos Hambre
Organizaciones DepartamentoDeVentas
Eventos Venta
Procesos VentaUnProducto
Reglas y políticas PolíticadeReembolso
Catálogos CatálogoDeProducto
Registros de finanzas, de trabajo, de contratos de Recibo, ContratoDeEmpleo
asuntos legales
Instrumentos y servicios financieros LineaDeCredito
Existencia
Manuales, libros ManualDelPersonal
Fuente: UML y Patrones – Craig Larman
b) Obtención de conceptos a partir de la
identificación de frases nominales

*Inconveniente: Varias frases nominales pueden designar el mismo


concepto o atributo.
*Recomendación: utilizarlo en combinación con la lista de categoría
de conceptos.
Fuente: UML y Patrones – Craig Larman
2-Representar el modelo de dominio o
modelo conceptual
Modelo conceptual inicial
Muestra las clases conceptuales significativas en el
dominio del problema.

Fuente: UML y Patrones – Craig Larman


Modelo conceptual con avances
Se representa con la notación de los diagramas de
clases, y no se incluyen operaciones.

Fuente: UML y Patrones – Craig Larman


¿Clases conceptuales o atributos?
Debería ser “Tienda” un atributo de Venta o una
clase conceptual separada?

En el mundo real una tienda no se considera


número ni texto, es una cosa masiva que ocupa
espacio, por lo tanto la tienda debería ser un
concepto. En caso de duda se debe convertir el
atributo en un concepto independiente.
Fuente: UML y Patrones – Craig Larman
3-Incorporar las asociaciones
necesarias para registrar relaciones
Asociación

-La asociación es una relación entre dos conceptos


que indica alguna conexión significativa e
interesante entre ellos.

-Ayudan a entender el modelo de dominio.

Fuente: UML y Patrones – Craig Larman


Asociación

-Una asociación se representa como una línea entre


clases con un nombre de asociación.

-La asociación es bidireccional.

-Los extremos de la asociación podrían contener


una expresión de multiplicidad.

-Puede tener una flecha opcional que indica la


navegabilidad y ayuda a leer el diagrama.

Fuente: UML y Patrones – Craig Larman


Asociación

Fuente: UML y Patrones – Craig Larman


Identificación de las asociaciones: lista de asociaciones
comunes
Categoría Ejemplos
A es una parte física de B Caja - TPDV
A es una parte lógica de B VentasLíneadeProducto - Venta
A está físicamente contenido en B TPDV – Tienda
Producto - Estante
A está contenido lógicamente en B DescripcióndeProducto - Catálogo
A es una descripción de B DescripcióndeProducto - Catálogo
A es un elemento de línea en una VentasLineadeProducto - Venta
transacción o reporte de B
A se conoce/introduce/registra/presenta/ Venta - TPDV
captura en B
A es miembro de B Cajero - Tienda
A es una subunidad organizacional de B Departamento - Tienda
A usa o dirige a B Cajero - TPDV
A se comunica con B Cliente - Cajero
A se relaciona con una transacción B Pago - Venta
A es una transacción relacionada con otra Pago - Venta
transacción B
A está contiguo a B TPDF - TPDV
Fuente:
A esUML y Patrones
propiedad de B – Craig Larman TPDV - Tienda
Asociación

Fuente: UML y Patrones – Craig Larman


Nombre de la Asociación
•Se asigna nombre a una asociación basado en el
formato Nombre de tipo-FraseNominal-NombreDeTipo

donde la frase nominal genera una secuencia que es


legible y significativa dentro del contexto del modelo.
•Comienzan con mayúscula.
•Una frase nominal debe construirse con guiones.

Fuente: UML y Patrones – Craig Larman


4-Agregar los atributos necesarios para
cumplir con las necesidades de
información
Agregación de los atributos

Un atributo es un valor lógico de un dato de un


objeto.

Fuente: UML y Patrones – Craig Larman


Agregación de los atributos

Se deben identificar los atributos idóneos y se


agregan atributos al modelo conceptual del dominio.
Ningún atributo debe incluirse como clave foránea,
por eso se debe recurrir a la asociación.

Fuente: UML y Patrones – Craig Larman


Modelo Conceptual

Fuente: UML y Patrones – Craig Larman


Modelo Conceptual

Fuente: UML y Patrones – Craig Larman


EJEMPLO DE CÁTEDRA
Los alumnos llegan a Sección Alumnos de la FI y
solicitan al empleado del sistema la constancia de
alumno regular, para ello deben informar los
siguientes datos: DNI, LU, Nombre, Apellido, e-mail y
destinatario de la constancia.

El empleado de ésta sección controla los datos en el


sistema, verifica que el alumno se encuentre activo y
confecciona la constancia para luego imprimirla. El
empleado entrega la constancia impresa al alumno.
Autor: Ing. Nélida R. Cáceres
Formalización de Caso de Uso
Caso de uso UC08: Confeccionar_Constancia
Actor principal: Empleado
Personal involucrado e intereses:
Alumno: es la persona solicitante de una constancia
Precondiciones: se debe haber realizado el CU Comprobar_Datos_Alumnos
Postcondiciones: la constancia fue registrada
Escenario principal de éxito (Flujo Básico)
Actor: empleado Sistema
1-Ingresa los datos para 2-Confecciona la constancia y solicita
confeccionar la constancia. confirmación para imprimir la misma.
3-Ingresa confirmación para 4-Imprime la constancia.
imprimir la constancia.
Flujos alternativos:
(2) Se cancela la operación.
Requisitos especiales: Las pantallas deben ser intuitivas, fáciles de utilizar.
Frecuencia: 10 operaciones diarias.
Temas abiertos: ¿Puede el alumno confeccionar la constancia online?.
Modelo de Dominio o Conceptual
1. Listar conceptos idóneos
Obtención de conceptos a partir de a partir de
la identificación de frases nominales
Acción de los actores Respuesta del sistema
1-Alumno solicita al empleado una
constancia de alumno regular, para
ello informa los datos: DNI, LU,
Nombre, Apellido, e-mail y
destinatario de la constancia
2-Empleado selecciona opción para 3-Solicita DNI del alumno
confeccionar la constancia
4-Empleado ingresa DNI del 5-Verifica condición del alumno
alumno -Informa condición del alumno
6-Empleado ingresa los datos para 7-Confecciona la constancia
confeccionar la constancia -Solicita confirmación para imprimir la
constancia
8-Ingresa confirmación para imprimir 9-Imprime la constancia
la constancia
2.Representar Modelo Conceptual
Modelo conceptual del Sector de la FI que emite
constancias (sólo conceptos)

Empleado Alumno Constancia

3.Incorporar Asociaciones necesarias


Identificación de las asociaciones: lista de asociaciones
comunes
Categoría Ejemplos
A se comunica con B Empleado – Alumno
A se relaciona con una transacción B Alumno- Constancia
Empleado - Constancia

Asignar nombre a las asociaciones

Alumno Constancia Empleado


1 Solicita 1..* 1 ..* confecciona 1
4. Agregar los atributos necesarios
Asignar atributos a las clases conceptuales

Alumno Empleado
DNI Constancia DNI
LU
1 Solicita 1..* Nº 1 ..* confecciona 1 Legajo
Apellido constancia Apellido
Nombre Fecha Nombre
Domicilio Destinatario Domicilio
Estado (activo/pasivo) Categoría

Persona Constancia
DNI Nº
1 Solicita 1..*
Apellido constancia
Nombre Fecha
Domicilio Destinatario

Están-contenidos-en
Alumno Empleado

LU Legajo
Estado (activo/pasivo) Categoría
Bibliografía

•Capitulo 1, 9, 10 y 11 - UML y Patrones: Una introducción al


análisis y diseño orientado a objetos y al proceso unificado,
Craig Larman, 2º Edición, 2003

También podría gustarte