caso de estudio: post of sale : pos - ldc.usb.veci3715/teoria/html/cla_0006.pdf · caso de...

32
1 Fin de Fase de Inicio y realización de Fase de Elaboración A. Soriano 1,2 – N. Zambrano 1 1 Universidad Central de Venezuela 2 Universidad Simón Bolivar Octubre 2005 Caso de Estudio: Post of Sale : POS 2 Oct 2005 A Soriano y N Zambrano Proceso Unificado: Referencia Básica Craig Larman “Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and the Unified Process” Segunda edición Prentice-Hall, Inc. 2002 ISBN 0-13-092569 Descripción del problema: Cap. 3 Del Inicio a la Elaboración: Cap 8 De los Requerimientos al diseño: Cap 14 Modelo del Dominio: Cap. 10, 11, 12 Refinamiento del Modelo del Dominio: 26, 27

Upload: phamhanh

Post on 07-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

1

Fin de Fase de Inicio y realización de

Fase de Elaboración

A. Soriano1,2 – N. Zambrano1

1 Universidad Central de Venezuela2 Universidad Simón Bolivar

Octubre 2005

Caso de Estudio: Post of Sale : POS

2

Oct 2005A Soriano y N Zambrano

Proceso Unificado: Referencia Básica

Craig Larman

“Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and the Unified Process”

Segunda edición

Prentice-Hall, Inc. 2002 ISBN 0-13-092569

Descripción del problema: Cap. 3Del Inicio a la Elaboración: Cap 8De los Requerimientos al diseño: Cap 14Modelo del Dominio: Cap. 10, 11, 12Refinamiento del Modelo del Dominio: 26, 27

2

3

Oct 2005A Soriano y N Zambrano

Proceso Unificado:Referencias Complementarias

“El Proceso unificado de desarrollo de Software”I. Jacobson, G. Booch y J.RumbaughAddison Wesley - Pearson Education 1999

“The Rational Unified Process”Ph. KruchtenAddison Wesley 2000

“El Lenguaje Unificado de Modelado: Manual de Referencia”J.Rumbaugh, I. Jacobson y G. BoochAddison Wesley - Pearson Education 2000.

4

Oct 2005A Soriano y N Zambrano

- Computador,

- Lector de código de barra

- Sofware del Sistema.

- registrar ventas

- manejar los pagos

Caso de Estudio: Sistema de Punto de Venta

Punto de Venta para ventas al detal: POS (Post of Sale)

Uso principal:

Compuesto por: Ilustración extraída de:

Appliyng UML and patterns.

2° edición

C. Larman

Prentice Hall. 2002

Caso de Estudio:POS

3

5

Oct 2005A Soriano y N Zambrano

Caso de Estudio: Arquitectura

Un típico Sistema de Información Orientado a Objeto está diseñado en términos de varias

capas arquitecturales o subsistemas.

Capa de Presentación

Capa Lógica o Dominio de la Aplicación

Capa de Almacenamiento

Interfaces de comunicación

Clases y Objetos del Dominio de la AplicaciónInformación persistente

(Base de Datos)

6

Oct 2005A Soriano y N Zambrano

Proceso Unificado

Modelado del negocio

ImplementaciónPruebaEntrega

Analisis y Diseño

Disciplinas

Requerimientos

Gerencia de proyecto Ambiente

Fases

Iteraciones

ElaboraciónConstrucciónTransición

Gerencia de Configuración y Cambio

Inicio

4

7

Oct 2005A Soriano y N Zambrano

De Inicio a Elaboración

Algunos artefactos construidos y otros por construirGrado de madurez del artefacto

8

Oct 2005A Soriano y N Zambrano

Ejemplo de artefactos y momento de su concepción

refinarcomenzarCaso de Desarrollo

Ambiente

refinarcomenzarModelo de PruebaPrueba

refinarrefinarrefinarcomenzarPlan de desarrollo de SW

Gerencia del Proyecto

refinarrefinarcomenzarModelo de Implementación

Implementación

refinarcomenzarModelo de Datos

crearDocumento de Arquitectura de Software

refinarcomenzarModelo de DiseñoAnálisis y Diseño

refinarcomenzarGlosario

refinarcomenzarEspecificaciones Suplementarias

refinarcomenzarVisión

refinarcomenzarModelo de Casos de Uso

Requerimientos

crear o refinarcomenzar(opcional)

Modelo del Dominio

Modelado de Negocios

TransiciónConstrucciónElaboraciónInicioArtefactoDisciplina

5

9

Oct 2005A Soriano y N Zambrano

Proceso Unificado

Modelado del negocio

ImplementaciónPruebaEntrega

Analisis y Diseño

Disciplinas

Requerimientos

Gerencia de proyecto Ambiente

Fases

Iteraciones

Elaboración Construcción Transición

Gerencia de Configuración y Cambio

Inicio

10

Oct 2005A Soriano y N Zambrano

Proceso Unificado: Fase de Elaboración en una frase

tiempo

Inicio Elaboración Construcción Transición

Línea base de una arquitectura ejecutable• Construir el corazón de la arquitectura • Resolver los elementos de alto riesgo• Definir los principales requerimientos • Estimar cronograma y recursos

6

11

Oct 2005A Soriano y N Zambrano

Diagramas

StateDiagramsState

DiagramsDiagrama de Clases

StateDiagramsState

DiagramsDiagrama de Objeto

UML 2.0: Modelos, Vistas y Diagramas

Use CaseDiagramsUse Case

DiagramsDiagrama de Casos de Uso

ScenarioDiagramsScenario

DiagramsDiagrama de Actividad

ScenarioDiagramsScenario

DiagramsDiagrama de Secuencia

Use CaseDiagramsUse Case

DiagramsDiagrama de

Máquina de

Estado

Diagrama de Comunicación

ComponentDiagramsComponent

DiagramsDiagrama deComponentes

ComponentDiagramsComponent

DiagramsDiagrama de Despliegue

Diagramas

12

Oct 2005A Soriano y N Zambrano

Modelo del Dominio

Dominio Modelo del Dominio

sistema

1..* 0..*

Vista estática del sistemaDiagrama de Clases

1..* 0..*1..* 0..*

Vista estática del sistemaDiagrama de Clases

Una visión conceptual de la conformación de un dominio a partir de los objetos que

lo conforman y sus relaciones

Es una abstracción de un cierto dominio del mundo real.Describe el sistema desde una perspectiva estática:

los objetos, las clases de objetos, sus relaciones.

7

13

Oct 2005A Soriano y N Zambrano

Una representación visual de las clases de objetos del mundo real -en un dominio de

interés- y las relaciones entre ellas

Modelo del Dominio

Producto Punto de Venta

Tienda

¿POS?

.......

14

Oct 2005A Soriano y N Zambrano

Clases: del modelo conceptual al modelo del diseño

Modelo del dominio(clase conceptual)

Dominio

Triángulo__________vértice1vértice2vértice3

Triángulo

v1, v2, v3: Vértices

área( ): Realcolorear()mover ()

nombre

atributos

métodos

Modelo de diseño(clase de software –perspectiva de especificación o de implementación)

8

15

Oct 2005A Soriano y N Zambrano

Clases: del modelo conceptual al modelo del diseño

Términos en el Modelo del dominio Triángulo

p1, p2, p3: Vértices

área( ): Realcolorearmover ()escala ()

Triángulo__________punto1punto2punto3

nombre

atributos

métodos

Triángulo

p1, p2, p3: Vértices

área( ): Realcolorearmover ()escala ()

Triángulo__________punto1punto2punto3

nombre

atributos

métodosVocabulario

Términos en el Modelo de diseño

Términos en el software

16

Oct 2005A Soriano y N Zambrano

Objetos significativos en el dominio

¿Cómo identificarlos?

– a partir de los Casos de Uso– a partir de listas de conceptos por categorías– a partir de patrones.

Identificación de clases conceptuales

9

17

Oct 2005A Soriano y N Zambrano

Identificación de clases:listas de conceptos por categorías

Dominio Lista

Telecomunicaciones Enrutador, protocolo, mensaje, conexión, puerto,..

Cosas de un conjunto Item, elemento, ..

Punto de Venta Cajero, terminal, venta, tienda,..

18

Oct 2005A Soriano y N Zambrano

Lista de Categorías o Clases Conceptuales

Objetos físicos o tangibles (Avión)Especificaciones, diseños o descripciones de cosas (Vuelo)Lugares (Aeropuerto)Transacciones (Reservación)Elementos de una transacción (asiento)Roles de personas (Piloto)Contenedores de otras cosas (Avión)Elementos en un contenedor (Pasajero)Conceptos abstractos (Claustrofobia)Otros Sistemas (Control de Tráfico Aéreo)Organizaciones (Aerolínea)Eventos (Venta)Procesos (Buscar un asiento)Reglas y políticas (Condiciones de cancelación)Catálogos (Lista de Productos)Registros financieros, trabajos, contratos, elementos legales (Histórico de mantenimiento)Instrumentos financieros y servicios (Tarjeta de crédito)Manuales, documentos, artículos de referencias, libros (Manuales de reparación)

10

19

Oct 2005A Soriano y N Zambrano

Identificación de clases:revisión de los casos de uso

Caso de Estudio:POS

Servicio de Autorizaciones de Pago

<<actor>> Sistema de

Suscripciones

<<actor>> Sistema Calculador

de ImpuestosManejar Seguridad

Manejar Usuarios

Analizar Actividad

Procesar Venta

Manejar Devoluciones

Alquilar

POS

Cajero

Administrador del Sistema

<<actor>> Sistema de

Actividad de Ventas

Cobrar

......

20

Oct 2005A Soriano y N Zambrano

Identificación de clases:revisión de los casos de uso

Caso de Estudio:POS

1) El Cliente llega a la tienda, selecciona productos y va al POS de salida para pagar

2) El Cajero inicia una nueva venta

3) El Cajero introduce la identificación del producto y la cantidad

– El sistema registra la línea de venta del producto y presenta la descripción del artículo, precio y el totalasi como el total acumulado

– El sistema presenta el total con el impuesto calculado

4) El cajero muestra el total al Cliente y éste entrega el pagoy recibe la factura

– el sistema maneja el pago.

Procesar Venta

Cajero

Cobrar

Iniciar

Introducir Id

Introducircantidad

Mostrarresultados

<<include>>

<<include>>

<<include>>

<<include>>

11

21

Oct 2005A Soriano y N Zambrano

Identificación de clases:Caso de estudio

Producto

Punto de Venta(POS)

Tienda

VentasLíneaDe

Productos

Pago___________

monto

Venta

Factura ?

Caso de Estudio:POS

1) El Cliente llega a la tienda, selecciona productos y va al POS de salida para pagar

2) El Cajero inicia una nueva venta3) El Cajero introduce la identificación del producto y la cantidad

– El sistema registra la línea de venta del producto y presenta la descripción del artículo, precio y el totalasi como el total acumulado

– El sistema presenta el total con el impuesto calculado

4) El cajero muestra el total al Cliente y éste entrega el pago y recibe la factura

– el sistema maneja el pago.

22

Oct 2005A Soriano y N Zambrano

Identificación de clases: ¿Incluir factura?

No, La información puedeser derivada de otroobjeto y podríaexcluirseEs un reporte de venta y en este niveldel problema podría no considerarse.

SiSi el caso de uso considera el devolución de artículos, jugaría unpapel importante.

Caso de Estudio:POS

12

23

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio

Identificar las clases conceptuales– Usar los nombres existentes en el dominio– Excluir objetos del dominio que no son

relevantes al problema en consideración– Excluir elementos que no están en el dominio

del problema en consideración (no agregar lo que no existe)

Agregar las asociaciones entre las clasesAgregar los atributos de las clases.

24

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio: ¿item o especificación del item?

¿Objeto o descripción del objeto?

Item____________Descripción

PrecioNumeroSerialIdentificador

...

¿o bien ?

ItemElemento físico

DescripciónItem_______________

DescripciónPrecio

identificador

Item_____________NúmeroSerial

Descripción del ItemProporciona información

acerca del Item

Caso de Estudio:POS

13

25

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio: item o especificación del item?

¿Cuándo se requiere la descripción de un item?Cuando hay necesidad de la descripción de un elemento independiente de si existe o no,y para evitar repetición de información o bien pérdida de información.

DescripciónItem_______________

DescripciónPrecio

identificador

Item_____________NúmeroSerial

1 *DescripciónItem_______________

DescripciónPrecio

identificador

Item_____________NúmeroSerial

1 *

26

Oct 2005A Soriano y N Zambrano

Identificación de clasesCaso de estudio

Producto

Punto de Venta

Tienda

LíneaDeVenta

DeProductos

Pago___________

monto

Venta Cajero

Cliente

DescripciónProducto

CatálogoProducto

Caso de Estudio:POS

14

27

Oct 2005A Soriano y N Zambrano

Objeto

Entidad con identidad única que encapsula estado y comportamiento

La notación UML

triángulo: Polígono

vértices = ((0,0),(4,0),(4,3))color-borde = negrocolor-relleno = blanco

triángulo

:Polígono

triángulo: Polígono

28

Oct 2005A Soriano y N Zambrano

Modelo del dominio:agregando asociaciones

¿Qué es una asociación?Una relación significativa entre dos clases -o entre sus instancias-Conexión semántica entre elementos del modelo.

Compañía Persona1 1..*

Trabaja-para

La flecha -opcional-indica la dirección de lectura del nombre de la asociación

15

29

Oct 2005A Soriano y N Zambrano

Asociaciones binarias

Conexión semántica bidireccional entre elementos, de modelo e incluye: un nombre (nombre de la asociación, vinculada a un comportamiento específico) y un rol (nombre, dirección y multiplicidad del extremo de una asociación).

La notación UML

dirige

Compañía1 1..*

emplea

Trabaja parajefe

*

0..1

empleado

Persona

30

Oct 2005A Soriano y N Zambrano

Roles de una asociación

Cada extremo de una asociación se llama rol

El rol puede tener:NombreMultiplicidadDirección o navegabilidad.

Pedido

Fecha¿Es prepagado?NúmeroCosto

despacho( )

CantidadPrecio¿Satisfecho?

Producto

contiene

16

31

Oct 2005A Soriano y N Zambrano

Multiplicidad

Indica cuántas instancias puedenparticipar en la relación en un momento dado

ClienteNombre..

*

ClienteNombre..

1..*

ClienteNombre..

1..10

ClienteNombre..

5

0 ó más (muchos)

1 ó más

Rango especificado (1 a 10)

Exactamente 5

ClienteNombre..

2,4 Alternativas indicadas (2 o 4)

32

Oct 2005A Soriano y N Zambrano

Nombre del rol

Nombre del Rol = identifica el extremo de la asociación

NombreCédula de IdentidadDirección

PersonaGerente de Ventas

Supervisa

Vendedor

NombreDirección

CompañíaTrabaja para

NombreCédula de IdentidadDirección

Persona

empresa empleado

El nombre del rol es obligatorio paraasociaciones entre objetos de la misma clase

17

33

Oct 2005A Soriano y N Zambrano

Convenciones para asociaciones

LíneaAérea

Supervisa

Emplea

Asignado-a

1

1..*

Piloto Vuelo RutaAsignado-a

1 11 *

* *

Convención de lectura de los nombres de las asociaciones

34

Oct 2005A Soriano y N Zambrano

Guías para identificar asociaciones

DescripciónItem_______________

DescripciónPrecio

identificador

Item_____________NúmeroSerial

1 *

• Centrarse en las relaciones que deben ser preservadas sin depender de la existencia de instancias

• Evitar asociaciones redundantes o derivables

• Chequear lista de asociaciones típicas.

18

35

Oct 2005A Soriano y N Zambrano

Guías para identificar asociaciones:lista de categorías de asociaciones

Cliente - CajeroA se comunica con B

Cajero - TiendaA es miembro de B

DescripciónProducto - ProductoA es una descripción de B

Producto esta en la TiendaA está contenida en B

Gaveta de la Caja RegistradoraA es parte física de B

SistemaCategoría

36

Oct 2005A Soriano y N Zambrano

Modelo del dominio:agregando asociaciones

Producto

Punto de Venta

Tienda

LineadeVenta

deProducto

Pago_________

monto

Venta

O..1 1Registra-venta-de

1

1registrada-en

1..*

1

tiene

1

1..*

Contenida-en

1

1

Cancelado-porEsto es unaasociación

Caso de Estudio:POS

1

Almacenado-en*

19

37

Oct 2005A Soriano y N Zambrano

Modelo del dominio:agregando clases y asociaciones

Producto

Punto de Venta

Tienda

VentasLíneaDe

Productos

Pago_________

monto

Venta

1..*

1..*

O..1

*

1Registra-venta-de

registra-en

Almacenado-en

Tiene

Contenida-en

Cancelado-por

Cliente Cajero Manager

DescripciónProducto

Descritas-por

CatalogoProductoIniciado-por Iniciado-por

Iniciada-por

*

1..**

1: si se omite multiplicidad √

√√√

Caso de Estudio:POS

38

Oct 2005A Soriano y N Zambrano

Modelo del dominio:agregando clases y asociaciones

Producto

Punto de Venta

Tienda

VentasLíneaDe

Productos

Pago_________

monto

Venta

1..*

1..*

O..1

*

1Registra-venta-de

registra-en

Almacenado-en

Tiene

Contenida-en

Cancelado-por

Cliente Cajero Manager

DescripciónProducto

Descritas-por

CatalogoProductoIniciado-por Iniciado-por

Iniciada-por

*

1..**

√√√

Caso de Estudio:POS

20

39

Oct 2005A Soriano y N Zambrano

Modelo del dominio:colocando los atributos

¿Qué es un atributo?Una información significativa de una clase -o de su instancia- que es necesaria para la comprensión del modelo y para satisfacer un requerimiento.

Tiendadirección: Textnombre: Text

Ventafecha: Fechahora: Time

1 *

realiza

Se indica el nombre y el tipo del atributo

Caso de Estudio:POS

40

Oct 2005A Soriano y N Zambrano

Modelo del dominio:sumando atributos

Caso de Estudio:POS

¿Cuáles atributos?Información significativa para satisfacer un requerimiento

La factura de una venta, incluye fecha, hora, precio por itemla cantidad por item,

el total por linea de itemy el total a cancelar

Ejemplo : sea el requerimiento de “dar factura al cliente”, para hacer esa factura se requieren datos, los cuales deben ser atributos de alguna clase (Venta)

21

41

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:Clase o atributo?

¿Clase o atributo?

Vuelo___________

destino

Aeropuerto___________

nombreVuelo¿o bien ?

42

Oct 2005A Soriano y N Zambrano

Modelo del dominio:agregando atributos

Producto

Punto de Venta

Tiendadirecciónnombre

LíneaDeVentaDeProductocantidad

Pago

monto

Ventafechahora

1..*

1..*

O..1

1

*

1

1

1Registra-venta-de

registra-en

Almacenado-en

Tiene

Contenida-en

Cancelado-por

Cliente Cajero Gerente

DescripciónProducto

descripciónprecio

id

Descritas-por

CatalogoProductoIniciado-por Iniciado-por

Iniciada-por

* 1

1..** 1

√√

Caso de Estudio:POS

22

43

Oct 2005A Soriano y N Zambrano

Está listo el modelo del dominio?

Todo modelo es una aproximación del dominio que intenta comprender

Un buen modelo debe capturar lo esencial para comprender el dominio en el contexto de los requerimientos

El modelo ayuda a entender el dominio, sus conceptos, terminología y relaciones

Cada modelo tiene un nivel de granularidaddependiente del grado del detalle.

44

Oct 2005A Soriano y N Zambrano

Modelando Relaciones de mayor complejidad

Relaciones: conexiones semánticas entre elementos del modelo– Asociación binaria– Agregación– Generalización– Dependencia.

La notación UML

23

45

Oct 2005A Soriano y N Zambrano

Generalización / Especialización

Relación entre un elemento más general y un elemento más específico

Caso de Estudio:POS

Refinamiento caso de uso proceso de venta:

.........curso normal: pago efectivocursos alternos: - pago por cheque o

- pago por tarjeta de crédito...........

Cómo se expresa en el diagrama del modelo del dominio?

46

Oct 2005A Soriano y N Zambrano

Generalización

Se crea una clase (superclase), que generaliza las propiedades comunes de varias clases

PagoCrédito PagoChequePagoEfectivo

Pago Superclase

Concepto más general

SubclaseConcepto más especializado

Caso de Estudio:POS

24

47

Oct 2005A Soriano y N Zambrano

Especialización o partición

Se crean otras clases (subclases) que especializan una clase dada

Pago

PagoCrédito PagoChequePagoEfectivo

Caso de Estudio:POS

48

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:¿Cuándo generalizar?

• Es útil realizar la partición

• Las definiciones asociadas a la superclase debenser aplicables a las subclases (regla 100%)

• Todos los miembros de una clase deben ser miembros de la superclase: regla “es un (a)”

Cliente

ClienteMasculinoClienteFemenino

Cliente

ClienteMasculinoClienteFemenino

?

25

49

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:cuándo especializar ?

¿Cuándo dividir una clase en subclases?

• La subclase tiene atributos, o asociaciones u operaciones adicionales de interés

• La subclase incluye un comportamiento (manipulación, reacción, etc.) diferente al de la clase.

50

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:cuándo generalizar ?

¿Cuándo definir una superclase?

• Cuando se identifican atributos, o asociaciones u operaciones comunes entre potenciales subclases, que pueden ser asociados a la superclase

• La subclase cumple las reglas del 100% y la regla “es un(a)” respecto a la potencial superclase.

26

51

Oct 2005A Soriano y N Zambrano

Herencia

Una clase B hereda de una clase A si adquiere las propiedades (estructura, comportamiento y relaciones) definidas en la clase AA es una superclase de la clase BB es una subclase de la clase A.

A

B

<<hereda>>

52

Oct 2005A Soriano y N Zambrano

Modelando otras relaciones

Relaciones: conexiones semánticas entre elementos del modelo– Asociación binaria– Agregación– Generalización– Dependencia.

La notación UML

27

53

Oct 2005A Soriano y N Zambrano

Agregación(todo/partes)

Venta VentaLineaProducto

11..* Agregación

Caso de Estudio:POS

CatálogoProductos

DescripciónProducto

1 1..*Agregación

{ordenada}

Mano Dedo1 1..5

Agregación

54

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:¿Cuándo introducir una agregación?

• Hay un conjunto indisoluble lógico o físico de la parte y el todo

• Hay una dependencia crear/eliminar de la parte y el todo

• Operaciones aplicadas al todo se propagan a las partes (movimiento,...)

• Propiedades del todo se propagan a las partes (localización, ...)

• Si hay duda de lo anterior, no introduzca agregación.

28

55

Oct 2005A Soriano y N Zambrano

Asociaciones complejas:Clase Asociación

Se utiliza cuando los atributos no pertenecen a las clases sino a la asociación

PrioridadDerechoAcceso

UsuarioAutorizado en EstaciónTrabajo

Autorización

InicioSesión

Directorio

Tomado de Univ. Calgary

56

Oct 2005A Soriano y N Zambrano

Guías para modelar el dominio:cuándo crear una clase asociación?

• Un atributo está relacionado a la asociación

• Instancias de la clase asociación tienen un tiempo de vida dependiente de la asociación

• Generalmente parten de asociaciones mucho-mucho entre dos clases

• Hay dos clases asociadas y no se esta claro en cual clase colocar el atributo.

29

57

Oct 2005A Soriano y N Zambrano

Asociaciones complejas:asociaciones n-arias

Vuelo Asiento

Persona

asientovuelo

pasajero

reservación

La notación UML

58

Oct 2005A Soriano y N Zambrano

Resumen: notación básica pararelaciones

Clase B Clase ANombre-de-la-asociaciónrol_Arol_B

Superclase

Subclase2 Subclase 3Subclase1

Parte*

1

Todo

1 1..*

asociaciones

Generalización Agregación

Parte

30

59

Oct 2005A Soriano y N Zambrano

Administración del Modelo:organización en paquetes

– Paquetes

– Modelo

Un modelo es una abstraccióndel sistema físico.

Describe el sistema desde un punto de vista y a un

cierto nivel de abstracción

Los paquetes permiten agrupar elementos del

modelo

60

Oct 2005A Soriano y N Zambrano

Paquetes: Notación

Dominio

Ventas

contenidoElementos Sistema

31

61

Oct 2005A Soriano y N Zambrano

Paquetes

El paquete es una agrupación de elementos del modelo

Un paquete puede:- estar incluido dentro de otro paquete,- contener otra clase de elementos del

modelo.

Cada elemento pertenece a un único paquete.

62

Oct 2005A Soriano y N Zambrano

Dependencias entre paquetes

Los paquetes pueden hacer referencia a otros paquetes

Dominio

contenido

ElemSist Ventas

Paquete Ventas es dependiente del Paquete ElemSist

32

63

Oct 2005A Soriano y N Zambrano

Guías para particionar el modelo del dominio

¿Cómo organizar las clases del modelo del dominio en paquetes?• Pertenecen al mismo subdominio, con

conceptos o propósitos relacionados• Participan en el mismo caso de uso• Están fuertemente relacionados• Pertenecen a la misma jerarquía de clases• Grado de granularidad.

64

Oct 2005A Soriano y N Zambrano

Recomendaciones

Tratar de evitar ciclos en la estructura de dependencias

Si hay muchas dependencias analizar la modularización del sistema

Construir un diagrama de paquetescuando el diagrama de clases del sistemano sea legible en una página.