9 El modelo de colaboraciones 2. Compromiso de los objetos participantes unCliente: Cliente unVehículo: Vehículo01 SolicitarVehículo RecibirVehículo administrador entregarVehículo cargarVehículo unAlquiler: AlquilerVehículo devolverVehículo descargarVehículo
10 El modelo de roles Cliente
identificacion totalcontratos
cargarVehículo descargarVehículo Vehículo01
matricula tarifa estado condiciones
entregarVehículo devolverVehículo 0..1 alquilador 0..* objetoalquiler Vocabulario de las acciones abstractas Clases por aspecto (rol)
11 Patrón estructural de roles vehículo objetoAlquiler activo objetoVenta clase ClaseNúcleo ClaseRol1 ClaseRol2 ClaseRol instancia de Instancia de pagoImpuesto alquilerVeh ventaVeh
12 Representación de reglas del negocio Refinamiento de las reglas del negocio (propiedades volátiles del componente) precondiciones del estímulo disparadores por cambio de estado SolicitarVehículo DevolverVehículo administrador unAlquiler: AlquilerVehículo If ¬(totalContrato < nroVehCliente) Cliente excede tope de Vehículos
13 Especificación del Componenteen Oasis Una clase actividad – coordinadora Una o más clases recurso participantes
14 Especificación de la clase actividad Class AlquilarVehículo participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler; constants attributes plazoLimAlquiler : nat; nroVehCliente : nat; events alta new solicitarVehículo(nroDias) calling to members c.cargarVehículo(); v.entregarVehículo(nroDias); recibirVehículo(fechaEntrega) calling with members c.descargarVehículo(); v.devolverVehículo(fechaEntrega); preconditions solicitarVehículo if (c.totalContrato < nroVehCliente) exception(Cliente excede tope de Vehículos ); end class AlquilarVehículo
(Gp:)
participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler;
15 Funciones de la clase actividad Class AlquilarVehículo participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler; constants attributes plazoLimAlquiler : nat; nroVehCliente : nat; events alta new solicitarVehículo(nroDias) calling to members c.cargarVehículo(); v.entregarVehículo(nroDias); recibirVehículo(fechaEntrega) calling with members c.descargarVehículo(); v.devolverVehículo(fechaEntrega); preconditions solicitarVehículo if (c.totalContrato < nroVehCliente) exception(Cliente excede tope de Vehículos ); end class AlquilarVehículo
(Gp:)
1. Establece la comunicación desde/hacia el entorno
16 Class AlquilarVehículo participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler; constants attributes plazoLimAlquiler : nat; nroVehCliente : nat; events solicitarVehículo(nroDias) calling to members c.cargarVehículo(); v.entregarVehículo(nroDias); recibirVehículo(fechaEntrega) calling with members c.descargarVehículo(); v.devolverVehículo(fechaEntrega); preconditions solicitarVehículo if (c.totalContrato < nroVehCliente) exception(el cliente excede el tope de Vehículos prestados); end class AlquilarVehículo
(Gp:) 2. captura explícita de las reglas del negocio que rigen el comporta- miento global
(Gp:) 3. Mecanismo de comu- nicación entre objetos (comunicación sincrónica)
Funciones de la clase actividad
17 Especificación de la clase recurso Class Vehículo01 played by Class Cliente Vehículo (objetoAlquiler) identification identification nit : (nit); codigo : (codigo); constant attributes constant attributes nit :nat; codigo : nat; nombre : string modelo : nat; variable attributes marca : String; totalVehículos : nat(0); variable attributes events tarifa : nat; cargarVehículo( ); disponible : bool(true); descargarVehículo( ); estadoActual : string; valuations events [cargarVehículo] totalVehículos += 1; entregarVehículo( ); [descargarVehículo] totalVehículos += -1; devolverVehículo( ); end class Cliente valuations [entregarVehículo] disponible = false; [devolverVehículo] disponible = true end Class Vehículo01
(Gp:) Class Vehículo01 played by Vehículo (objetoAlquiler)
18 Herramienta soporte: AR2CA Construcción descendente del componente Primitivas de refinamiento estructurales y de comportamiento (Denker) Facetas de clasificación del componente Entidad, Acción, Actor, Regla Lenguaje: Java
19 Alcance de la primera etapa del proyecto Herramienta de modelado OO con UML Diagrama de actividades Diagrama de transición de estados Diagrama de colaboración Diagrama de componentes Manejo de plantillas de soporte en XML Flexibilidad en la construcción de diagramas Nivel Requisitos Nivel Especificación Nivel de Implementación Generación estructural del componente
20 Proyectos de maestría Generación del componente a plataforma Corba Generación estructural utilizando patrones de persistencia Generación de comportamiento (esquema de javabeans) Modelo de definición de interfaz a partir de escenarios
21 Proyecciones (¿?) ARCA como herramienta modeladora de Frameworks Patrones de análisis Formalizar el aspecto de composición de componentes Lenguajes de definición de arquitecturas Concepto de conector
Página anterior | Volver al principio del trabajo | Página siguiente |