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

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Diseño y Arquitectura sobre productos de software
TEMA 8: DIAGRAMAS EN UML.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Herramientas CASE.
Fundamentos de Ingeniería de Software
Prof. César Luza Montero
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Tipo de Dato Abstracto Tipos de datos:
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Ingeniería del Software
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Aspectos Avanzados de la Tecnología de Objetos
1  2008 Universidad de Las Américas - Ingeniería de Software : Dr. Juan José Aranda Aboy ACI491: Ingeniería de Software Unidad 7: Proceso de Ingeniería.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Análisis y Diseño orientado a objetos con UML.
Profesor: Miguel Angel Vidal
Ingeniería de Software Orientada a Objetos
Tema 10: Interfaces Antonio J. Sierra.
Left Case: Int Case v1.0 Roberto Galache García Tutores: Francisco José García Peñalvo Francisco José García Peñalvo Iván Álvarez Navia Iván Álvarez Navia.
LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Diseño e Implementación
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
Metodología para el desarrollo de Software educativo POO
CONCEPTOS BÁSICOS Diseño de Sistemas.
Introducción al modelado Unificado
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Ingeniería de software
Distribución y Movilidad en Arquitecturas Software Orientadas a Aspectos Nour Ali Director: Isidro Ramos NODO: UPV.
Ing. de SW Basada en Componentes
Importancia en la efectividad del:
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
Métrica v2.1 Técnicas: Modelado de datos (Parte 1)
Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ TEMA: herramientas de programación.
Juan Timoteo Ponce Ortiz
La Universidad de Guayaquil Carrera de Ingeniería en Sistemas.
Introducción a UML Departamento de Informática Universidad de Rancagua
Conceptos Fundamentales
Ingeniería del Software 2002
Ingeniería de Requisitos
Jairo Pinto Ing. sistemas
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
UML.
Relación con otras asignaturas del plan de estudio
Unidad 3 MODELO DE ANALISIS.
Prof. Joel Moreno Molina
Unified Modeling Language (Lenguaje de Modelamiento unificado)
2-oct-15Ingeniería de Requisitos1 INGENIERÍA DE REQUISITOS Carlos Mario Zapata J.
Acceso a Datos Erick López Ovando Licenciado en Informática.
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLEMENTACIÓN DE COMPONENTES.
MODELAMIENTO VISUAL Y UML
Software de Comunicaciones
Fundamentos de Ingeniería de Software
Autores: Myriam Montes, Iván Viera, Carlos Caizaguano, José Sancho
Herencias Conceptos básicos i
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
Universidad Nacional de Ingeniería Comprendiendo los Fundamentos de
Transcripción de la presentación:

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

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.

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

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

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

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

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

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}

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

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))}

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

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

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

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

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

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

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

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

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

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

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

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

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

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