La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 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 Proyecto: Hacia un entorno para el desarrollo basado en componentes Primera etapa Universidad EAFIT PSL S.A MVM LTDA.

3 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 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 la propuesta - el modelo5 Caracterización del componente Descomposición Vertical Nivel de abstracción i Nivel de abstracción i+1 reifica vista i vista k Descomposición Horizontal vista j Características del componente

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

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

8 8 El modelo ontológico 1 conjunto de términos de interés en un dominio particular (T) y las relaciones (R) entre ellos (Gru, 1993) T = {t 1,t 2,...t n } ; t i = (tt i, ter i ); tt i TT TT = {entidad, acción, actor, regla} R = {r 1, r 2, … r n } r i = (tr i, (t 1, t 2 )) ; tr i TR ; (t 1, t 2 ) T TR = {ejecuta, participa (actuando de entrada), genera (actuando de salida), reglamenta, usa, extiende, equivale}

9 9 El modelo ontológico 2 Casos de uso extendidos (Jacobson, 1993; FRISCO, 1996) Aproximación orientada al comportamiento (DSouza, 1998) Alquiler Vehículo Administrador cliente vehículo Alquiler > TopeVehCliente

10 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 - nivel de análisis11 El modelo de colaboraciones 1. Protocolo de comunicación con el usuario SolicitarVehículo DevolverVehículo administrador unAlquiler: AlquilerVehículo

12 el modelo - nivel de análisis12 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

13 el modelo - nivel de análisis13 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)

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

15 el modelo - vista deóntica15 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

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

17 17 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 participants c: Cliente as alquilador ; v: Vehículo01 as objetoAlquiler;

18 la metodología - nivel de análisis18 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

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

20 la metodología - nivel de análisis20 Especificación de la clase recurso Class Vehículo01 played byClass 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 attributesevents 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)

21 21 Herramienta soporte: AR 2 CA 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 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 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 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 "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."

Presentaciones similares


Anuncios Google