1 UML 2.3 con Enterprise Architect Capitulo 06. Diseo UML 2.3 con Enterprise Architect Captulo 6: Diseo
Temas: 1. Disciplina RUP de Anlisis y Diseo 2. Modelos de Diseo
Divisin de Alta Tecnologa - DAT UML 2.3 con Enterprise Architect Captulo 6: Diseo
1. Disciplina RUP de Anlisis y Diseo
Divisin de Alta Tecnologa - DAT Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 2 DISEO 1. Disciplina RUP de Anlisis y Diseo
1.1 Introduccin 1.2 RUP. Workflow del proceso 1.3 Actividades del Workflow
Divisin de Alta Tecnologa - DAT 1.1. INTRODUCCIN Objetivos: Modelar el sistema y encontrar su forma exacta (incluida la arquitectura) para que soporte el sistema. Adquirir una comprensin profunda de los aspectos relacionados con los requisitos no funcionales y restricciones. Crear una entrada apropiada para las actividades de implementacin.
1. Disciplina RUP de Anlisis y Diseo 1.1. INTRODUCCIN 1. Disciplina RUP de Anlisis y Diseo Modelo de Anlisis Modelo de Diseo Modelo Conceptual, porque es una abstraccin del sistema y permite aspectos de la implementacin. Modelo Fsico, porque es un plano de la implementacin. Genrico respecto al diseo (aplicable a varios diseos). No genrico, especifico para una implementacin. Tres estereotipos conceptuales sobre las clases: Boundary, Control y Entity. Cualquier nmero de estereotipos (fsicos) sobre las clases, depende del lenguaje de implementacin. Menos Formal. Ms Formal. Menos Capas. Ms Capas. Dinmico, no muy centrado en la secuencia. Dinmico, muy centrado en la secuencia. Puede no ser mantenido durante el ciclo de vida del software. Debe ser mantenido durante todo el ciclo de vida del software. Define una estructura que es una entrada esencial para modelar el sistema. Da forma al sistema, mientras que intenta preservar la estructura definida por el modelo de anlisis lo ms posible. Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 3 1.2. DISCIPLINA RUP: ANALYSIS & DESIGN 1. Disciplina RUP de Anlisis y Diseo UML 2.3 con Enterprise Architect Captulo 6: Diseo
Temas: 1. Disciplina RUP de Anlisis y Diseo 2. Modelos de Diseo
Divisin de Alta Tecnologa - DAT UML 2.3 con Enterprise Architect Captulo 6: Diseo
2. Modelos de Diseo
Divisin de Alta Tecnologa - DAT Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 4 DISEO 2. Modelo de Diseo
2.1 Elementos 2.2 Diagrama de Clases de Diseo 2.3 Diagramas de Interaccin 2.4 Modelo Lgico 2.5 Modelo Fsico 2.6 Diagrama de Mquina de Estado
Divisin de Alta Tecnologa - DAT 2.1. ELEMENTOS Clases de Diseo Son clases cuyas especificaciones se han completado hasta tal nivel que se pueden implementar.
Interfaz Es una coleccin de operaciones que sirven para especificar un servicio de una clase o de un componente. 2. Modelos de Diseo +GrabarProveedor() +ConsultarProveedor() +BajaProveedor() +GeneraCodigoProvee() -CodProveedor : String -RazSocProve : String -RUCProve : String -DirecProve : String -TlfProve : String -ContactoProve : String -CelConProve : String Proveedor +creaReporte() +configuraReporte() interface IReporteControl IReporteControl 2.1.1. CLASES DE DISEO La clase contiene 3 secciones: Seccin 1: Se coloca el nombre de la clase. Seccin 2: Se colocan los atributos. Seccin 3: Se especifican las operaciones.
2.1. Elementos Atributos Operaciones Nombre Clase A Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 5 2.1.1. CLASES DE DISEO Nombramiento Debe ser un sustantivo claro y preciso. Debe dar idea clara de la unidad de informacin que representa. La primera letra en mayscula. El resto de las letras en minsculas.
2.1. Elementos +crearFactura() : Object +buscarFactura() : Object +obtenerTotalFactura() : Double -NumFactura : Char -FecFactura : Date -DesFactura : String Factura 2.1.1. CLASES DE DISEO - ESTEREOTIPOS El lenguaje utilizado para especificar la clase es lo mismo que el lenguaje de programacin. Se crearn los estereotipos, segn el lenguaje escogido: Ejemplo en Visual Basic: class module form user control Ejemplo en Java: Servlet
2.1. Elementos 2.1.1. CLASES DE DISEO - ESTEREOTIPOS 2.1. Elementos ANLISIS DISEO Boundary BC_Registro de Proveedor Control CC_Gestor de Proveedores form frm_MantenimientoProveedor Class Module GestorProveedor Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 6 2.1.2. OBJETOS Un objeto se representa de la misma forma que una clase. En el compartimiento superior aparece el nombre del objeto junto con el nombre de la clase subrayado.
2.1. Elementos +crearFactura() : Object +buscarFactura() : Object +obtenerTotalFactura() : Double -NumFactura : Char -FecFactura : Date -DesFactura : String Factura NumFactura : Char = 001-00100 FecFactura : Date = 10/10/2010 DesFactura : String = Utiles Oficina Factura100 : Factura Clase Objeto 2.1.3. INTERFACES Es una coleccin de operaciones que sirven para especificar un servicio de una clase o de un componente. La interfaz es una clase abstracta que no contiene ningn detalle de implementacin. Consiste slo en mtodos pblicos abstractos y atributos pblicos.
2.1. Elementos 2.1.4. ASOCIACIONES Las asociaciones entre dos clases se representan mediante una lnea que las une. Las asociaciones de diseo deben tener: Navegabilidad. Multiplicidad en ambos extremos. 2.1. Elementos class Design Cliente - Cod_cl i ente: Char - Nom_cl i ente: Stri ng - Tel _Cl i ente: Stri ng Pedido - Num_Pedi do: Integer - Fec_Pedi do: Dateti me - Des_Pedi do: Stri ng 1..* Emi te 1 Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 7 2.1.4. ASOCIACIONES NAVEGACIN La navegabilidad muestra que es posible pasar desde un objeto de la clase fuente a uno o ms objetos de la clase destino, dependiendo de la multiplicidad.
2.1. Elementos Pedido Producto * * Un objeto Pedido almacena una lista de Productos, pero un objeto Producto no almacena una lista de Pedidos. EJEMPLO 2.1. Elementos El Pedido de compra conoce a qu cliente pertenece. Para localizar los Pedidos de compra de un cliente hay que hacerlo, a travs de la coleccin de Pedidos. class Entity Cliente - Cod_cl i ente: Char - Nom_cl i ente: Stri ng - Tel _Cl i ente: Stri ng Pedido - Num_Pedi do: Integer - Fec_Pedi do: Dateti me - Des_Pedi do: Stri ng 1..* 1 class Entitys Cl i ente EC_Pedi do +l e pertenece 1..* +Puede pedi r 1 2.1.4. ASOCIACIONES Agregacin La agregacin es un tipo de relacin todo - parte en la que el conjunto se compone de muchas partes. El objeto (todo) utiliza los servicios de otro objeto (parte).
2.1. Elementos Computadora Impresora 0..1 0..* Todo o conjunto parte Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 8 2.1.4. ASOCIACIONES Composicin La composicin es una forma ms fuerte de agregacin. Al igual que la agregacin es una relacin todo - parte. En la composicin las partes no tienen vida independiente fuera del todo.
2.1. Elementos Compuesto parte 2.2. DIAGRAMA DE CLASES DE DISEO Disear la realizacin de casos de uso de anlisis 2. Modelos de Diseo Realizacion de Caso de Uso Analisis Realizacion Caso de Uso - diseo Realize 2.2.1. REALIZACIN DE LOS CASOS DE USO Es una colaboracin de objetos de diseo y clases que realizan un caso de uso. La realizacin de diseo especifica decisiones de implementacin y realiza los requisitos no funcionales. 2.2. Diagrama de clases de diseo Realizacion de Caso de Uso Analisis Realizacion Caso de Uso - diseo Realize Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 9 2.2.2. IDENTIFICACIN DE LAS CLASES DE DISEO Por cada par Actor-Escenario de Caso de Uso, encontrar las clases de diseo.
2.2. Diagrama de clases de diseo Clase de diseo de acceso a datos Mdulos de Clase Formularios o Interfaz con usuario form frmPantalla ClassModule clsGestorA +crearFactura() : Object +buscarFactura() : Object -NumFactura : Char -FecFactura : Date -DesFactura : String Factura 2.2.3. CONSTRUIR EL DIAGRAMA DE CLASES DE DISEO 2.2. Diagrama de clases de diseo LABORATORIO N 16 En este laboratorio, usted: Reconocer el ambiente de la herramienta para estructurar un modelo de Diseo. Reconocer los elementos de diseo de un caso de uso (segn el lenguaje de programacin seleccionado) y los crear en los paquetes correspondientes. Colocar los elementos de la versin 2.X de UML. Elaborar el Diagrama de Clases de Diseo.
Divisin de Alta Tecnologa - DAT Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 10 2.3. DIAGRAMAS DE ITERACIN Ver Anexo B (Seccin Diseo)
2. Modelos de Diseo -CodProveedor : String -RazSocProve : String -RUCProve : String -DirecProve : String -TlfProve : String -ContactoProve : String -CelConProve : String Proveedor Comprador form frmMnto Class Module Gestor Proveedor CargaDistrito() Distrito CargaDistrito() cmbGrabar_clic() SelectItem() alt GrabarProveedor() GrabarProveedor() cmbConsultar_clic() ConsultarProveedor() ConsultarProveedor() cmbEliminar_Clic() BajaProveedor() BajaProveedor() GeneraCodigoProv() GeneraCodigoProvee() sd Mantenimiento de Proveedor cmbSalir_clic() +GrabarProveedor() +ConsultarProveedor() +BajaProveedor() +GeneraCodigoProvee() -CodProveedor : String -RazSocProve : String -RUCProve : String -DirecProve : String -TlfProve : String -ContactoProve : String -CelConProve : String Proveedor 2.3. DIAGRAMAS DE ITERACIN Un diagrama de iteracin es una representacin grfica de iteraciones entre objetos.
Los diagramas de iteracin en la etapa de Diseo, permite la identificacin de las operaciones que conformarn los componentes a implementar.
Adems, permite identificar las operaciones de las clases.
2. Modelos de Diseo LABORATORIO N 17 En este laboratorio, usted: Reconocer el ambiente de la herramienta para desarrollar los diagramas de interaccin de diseo. Reconocer los elementos de diseo de los diagramas de interaccin: secuencia y comunicacin. Colocar los elementos de la versin 2.X de UML Elaborar los Diagramas de Interaccin.
Divisin de Alta Tecnologa - DAT Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 11 2.4. MODELO LGICO El Modelo Lgico termina de refinar el Modelo Conceptual, aqu se reducen y/o aumentan clases y quedando aquellas significativas que se relacionarn directamente con las Tablas de la Base de Datos.
El modelo lgico o Diagrama de Clases, presenta las clases y objetos del sistema con sus relaciones estructurales y de herencia.
2. Modelos de Diseo 2.4. MODELO LGICO Consideraciones para elaborar un Modelo Lgico: Colocar multiplicidad y navegabilidad entre las clases. Identificar los atributos de Enlace o Clase de Enlace de las asociaciones de muchos a muchos y generar la dependencia resultante. Identificar las clases que tendrn sus propios atributos. NO INCLUIR los Atributos identificadores de la clase (Se agregan en el modelo Fsico). Incluir los atributos de las clases que se necesitan para satisfacer los requerimientos del sistema. Verificar que las Reglas del Negocio se sigan cumpliendo. 2. Modelos de Diseo X
Forma correcta, usando composicin
2.4. MODELO LGICO Patrn: Asociacin clave Fornea (Foreign Key Mapping) En modelo de clases, no se utiliza clase Asociacin. Para modelar este escenario convierta usando composicin y agregacin.
2. Modelos de Diseo class Entity2 Orden de Compra Insumos InsumosOC class Entity2 OrdenCompra - Num_OrdCom: Integer - Fec_OrdCom: Dateti me - Gl o_OrdCom: Stri ng Insumo - Cod_i nsumo: Integer - Des_i nsumo: Stri ng - Stk_i nsumo: Doubl e Insumo_OrdCom - Can_i tems: Integer +i tems 1..* 1 0..* +producto 1 Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 12 EJEMPLO 2.4. Modelo Lgico -CodMesa : Char -DesMesa : String Mesa +BuscarNombreMozo() -CodMozo : String -NomMozo : String Mozo +CapturaNumMaxPedido() +GenerarPedido() -NumPedido : String -FechaPedido : Date -NumComen : Integer OrdenPedido +BuscarDatos() -CodPlato : String -DesPlato : String -StockPlato : Double -Precio : Double plato +GenerarDetallePedido() -Cantidad : Integer -Precio : Double OrdPedidoDetalle -wmesa 1 0..* -wmozo 1 0..* -wplatos 1 * -CodCliente : String -DesCliente : String -DirCliente : String -TlfCliente : String Cliente -wcliente 1 0..* 1 -wdetalle * 2.4.1. GENERACIN DE CDIGO 2.4. Modelo Lgico +CargaDistrito() -CodDistrito : String -DesDistrito : String Distrito +GrabarProveedor() +ConsultarProveedor() +BajaProveedor() +GeneraCodigoProvee() -CodProveedor : String -RazSocProve : String -RUCProve : String -DirecProve : String -TlfProve : String -ContactoProve : String -CelConProve : String Proveedor 0..* -wdistrito 1 LABORATORIO N 18 En este laboratorio, usted: Reconocer el ambiente de la herramienta para Diagramas de Clases: Modelo Lgico. Reconocer los elementos del Modelo: clases de Diseo, Asociaciones, multiplicidad, navegabilidad. Colocar los elementos necesarios de la versin 2.x de UML. Elaborar el Modelo Lgico. Generar cdigo con las clases de diseo.
Divisin de Alta Tecnologa - DAT Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 13 2.5. MODELO FSICO 2. Modelos de Diseo tproveedor PK codprove I1 nomrazon dirprovee telprovee tproducto PK codproduc I1 nomproduc unimedida tpedido PK numorden moneda fecemision glosa estado FK1 codprove tdetallepe PK,FK1 codproduc PK,FK2 numorden cantidad preciope 2.5. MODELO FSICO El modelo de Datos es la representacin de la vista fsica de los datos. Es dependiente del tipo de Base de Datos. Est compuesto por: Tablas. Columnas o campos. Llaves primarias y forneas. Restricciones. ndices. Relaciones. Diagrama del Modelo de Datos. 2. Modelos de Diseo 2.5. MODELO FSICO Construccin: Se definen las clases persistentes (tablas). Se crean: Llave Primaria (PK) Llave Fornea (FK) ndices Permitir generar los scripts para crear el cdigo de generacin en la Base de Datos.
2. Modelos de Diseo Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 14 2.5. MODELO FSICO Nomenclatura: Nombre de la tabla t + Clase Ejemplo:
2. Modelos de Diseo CLASE TABLA Profesor TProfesor Alumno TAlumno OrdenCompra TOrdenCompra 2.5. MODELO FSICO Nomenclatura: Nombre de los campos uno, dos y/o hasta tres silabas Ejemplo:
2. Modelos de Diseo TIPO DE CAMPO EJEMPLO - Cdigos CodProfe CodAlumno CodProveedor - Nombres NomProfesor NomAlumno - Descripciones DesProducto DesAmbiente - Fechas FecNacim FecIngreso 2.5. MODELO FSICO Nomenclatura: Nombre de la llave primaria
pk_nombreclase(campos PK)
Ejemplo: tprofesor: pk_profesor tmozo: pk_mozo
2. Modelos de Diseo Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 15 2.5. MODELO FSICO Nomenclatura: Nombre de los ndices
INDEX_nombrecampo(campo referencia)
Ejemplo:
tprofesor: index_nomprofe
2. Modelos de Diseo 2.5. MODELO FSICO Nomenclatura: Nombre de las llaves forneas (FK)
FK_nombretabla (campos que forman parte de la llave primaria de la tabla padre)
Ejemplo:
Hacia la tabla tproveedor: fk_proveedor
2. Modelos de Diseo 2.5.1. MODELO DE ALMACENAMIENTO 2.5. Modelo Fsico tproveedor PK codprove I1 nomrazon dirprovee telprovee tproducto PK codproduc I1 nomproduc unimedida tpedido PK numorden moneda fecemision glosa estado FK1 codprove tdetallepe PK,FK1 codproduc PK,FK2 numorden cantidad preciope Component1 Component1 Component1 Divisin de Alta Tecnologa DAT UML 2.3 con Enterprise Architect 16 2.5.1. MODELO DE ALMACENAMIENTO Representacin de la vista fsica de la Arquitectura de Almacenamiento de los datos. Elementos de Almacenamiento de Base de Datos. Es dependiente de la Base de Datos. Est compuesto por: Componentes de Base de Datos. Tablespaces. Script de la Base de Datos fsica. Diagrama de Componentes. (Ver captulo de despliegue)
2.5. Modelo Fsico 2.6. DIAGRAMA DE MQUINA DE ESTADO Muestra el comportamiento dinmico (orientado al evento), con el propsito de modelar el ciclo de vida de un objeto.
Muestra la secuencia de estados de un objeto o la interaccin directa durante su vida en respuesta a los estmulos recibidos, en conjunto con sus respuestas y acciones
2. Modelos de Diseo entry/verificar prerequesitos exit/UninterpretedAction1 consultar()[ solo si,,,,] solicitada solicitar() aprobada [verificar=no] [verificar=si] rechazada debitar() activa cancelada bloqueada CancelaRobo(pin) cancelar() cancelar()[si no hay deuda]
LABORATORIO N 19 En este laboratorio, usted: Reconocer el ambiente de la herramienta para elaborar diagramas en el Modelo Fsico. Reconocer los elementos del Modelo: Entidad Fsica (tabla), Asociaciones, multiplicidad, navegabilidad.