La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Grupo de Ingeniería de Software Universidad EAFIT Medellín, Colombia

Presentaciones similares


Presentación del tema: "Grupo de Ingeniería de Software Universidad EAFIT Medellín, Colombia"— Transcripción de la presentación:

1 Grupo de Ingeniería de Software Universidad EAFIT Medellín, Colombia
Líneas de interés Metodologías y modelos de desarrollo de software Calidad de Software Marco de Referencia para Desarrollo de Prácticas Métricas de estimación orientadas a casos de uso Desde 1998 Programa de Especialización en Desarrollo de Software

2 Universidad EAFIT PSL S.A MVM LTDA.
Proyecto: Hacia un entorno para el desarrollo basado en componentes Primera etapa Universidad EAFIT PSL S.A MVM LTDA.

3 Antecedentes Desarrollo de componentes reutilizables en el marco de OASIS. Tesis doctoral (dic./99) Director: Isidro Ramos Objetivo: Introducir la reutilización en OASIS Desarrollo PARA reutilizar

4 Características del componente
Componente a alto nivel de abstracción : Componente de Negocio Énfasis en colaboraciones como unidades de refinamiento de primera clase Caso de uso: acción de alto nivel a partir del cual se inicia el proceso de refinamiento Lenguaje visual: UML (con algunas extensiones) Formalizado en OASIS

5 Características del componente Caracterización del componente
vistai vistak Descomposición Horizontal vistaj Descomposición Vertical Nivel de abstracción i Nivel de abstracción i+1 reifica la propuesta - el modelo

6 Facetas de descomposición intranivel
Estructural - Propiedades (anatomia) Deóntico - Reglas (Moral) Funcional - Estado (fisiología) Dinámico - Colaboraciones (social)

7 Arquitectura del componente
Modelo de Colaboraciones Modelo de Roles Dinámica Deóntica Estructural Funcional Nivel Abstracto Modelo Ontológico Estructural Funcional Dinámica Deóntica Nivel Concreto la propuesta - el modelo

8 El modelo ontológico1 “conjunto de términos de interés en un dominio particular (T) y las relaciones (R) entre ellos” (Gru, 1993) T = {t1,t2,...tn} ; ti = (tti, teri); tti  TT TT = {entidad, acción, actor , regla} R = {r1, r2, … rn} ri = (tri, (t1 , t2)) ; tri  TR ; (t1, t2)  T TR = {ejecuta, participa (actuando de entrada), genera (actuando de salida), reglamenta, usa, extiende, equivale}

9 El modelo ontológico2 Casos de uso extendidos (Jacobson, 1993; FRISCO, 1996) Aproximación orientada al comportamiento (D’Souza, 1998) Alquiler Vehículo Administrador cliente vehículo << extiende >> TopeVehCliente

10 Especificación del modelo ontológico
T{(entidad, cliente), (entidad,vehículo) (acción, Alquiler), (acción, AlquilerVehículo) (actor, Administrador) (regla, TopeVehículosCliente)} R {(ejecuta, (Administrador,AlquilerVehículo)), (participa, (cliente, AlquilerVehículo)), (participa, (Vehículo, AlquilerVehículo)), (extiende, (AlquilerVehículo, Alquiler)), (reglamenta, (TopeVehículosCliente, AlquilerVehículo))}

11 El modelo de colaboraciones
1. Protocolo de comunicación con el usuario unAlquiler: AlquilerVehículo administrador SolicitarVehículo DevolverVehículo el modelo - nivel de análisis

12 El modelo de colaboraciones
2. Compromiso de los objetos participantes administrador unAlquiler: AlquilerVehículo unCliente: Cliente unVehículo: Vehículo01 SolicitarVehículo entregarVehículo cargarVehículo RecibirVehículo devolverVehículo descargarVehículo el modelo - nivel de análisis

13 El modelo de roles Vocabulario de las acciones abstractas
Vehículo01 Cliente matricula tarifa estado condiciones entregarVehículo devolverVehículo identificacion totalcontratos cargarVehículo descargarVehículo 0..1 alquilador 0..* objetoalquiler Vocabulario de las acciones abstractas Clases por aspecto (rol) el modelo - nivel de análisis

14 Patrón estructural de roles
instancia de clase vehículo ClaseNúcleo ClaseRol alquilerVeh objetoAlquiler pagoImpuesto activo Instancia de objetoVenta ventaVeh ClaseRol1 ClaseRol2 el modelo

15 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 unAlquiler: AlquilerVehículo administrador SolicitarVehículo If ¬(totalContrato < nroVehCliente) “Cliente excede tope de Vehículos” DevolverVehículo el modelo - vista deóntica

16 Especificación del Componente en Oasis
Una clase actividad - coordinadora Una o más clases recurso participantes la metodología - nivel de análisis

17 Especificación de la clase actividad
participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler; 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

18 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 1. Establece la comunicación desde/hacia el entorno la metodología - nivel de análisis

19 Funciones de la clase actividad
2. captura explícita de las reglas del negocio que rigen el comporta- miento global 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 3. Mecanismo de comu- nicación entre objetos (comunicación sincrónica) la metodología - nivel de análisis

20 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 Class Vehículo01 played by Vehículo (objetoAlquiler) la metodología - nivel de análisis

21 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

22 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

23 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

24 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


Descargar ppt "Grupo de Ingeniería de Software Universidad EAFIT Medellín, Colombia"

Presentaciones similares


Anuncios Google