Desarrollo de Software Orientado a Objeto usando UML

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Desarrollo de Software Orientado a Objeto usando UML"

Transcripción

1 Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres Departamento Sistemas Informáticos y Computación (DSIC) (UPV) - España 1 Prólogo A comienzos de 1999 nos decidimos a dar forma a un curso de modelado OO con UML. Habíamos ya reunido y preparado bastante material para nuestra asignatura de quinto año de facultad (Laboratorio de Sistemas de Información). Por otra parte, en nuestras tesis (en animación automática de modelos conceptuales) habíamos trabajado en profundidad en aspectos de modelado orientado a objetos. En un comienzo no teníamos una demanda específica pero ya en Agosto de 1999 el curso pudo estrenarse parcialmente en un seminario que di en la Universidad Santa María de Valparaíso-Chile. Posteriormente y hasta la fecha llevamos ocho ediciones del curso, el cual se ofrece a través de nuestro departamento y el Centro de Formación de Postgrado de la UPV. A mediados de 2000 dimos otro paso: dejar a libre disposición vía internet nuestro material. El objetivo ha sido promover y difundir el uso de técnicas OO en el mundo hispanoparlante, facilitando la labor de preparación de material para profesores y/o proporcionar documentación de apoyo para los estudiantes. Después de dos años hemos recibido más de s solicitando el material del curso, lo cual confirma nuestra creencia respecto de la necesidad de información de UML en español en la red. Cada edición del curso ha dado pie a mejoras y correcciones, todo ello intentando mantener el volumen de trasparencias para que en docencia no supere las 25 horas. Es las últimas versiones, se han añadido notas al pie de página en algunas trasparencias para apoyar la exposición. Precisamente en esto nos centraremos para complementar en el futuro. Esperamos que el material proporcionado sea de vuestra utilidad, Un cordial saludo, Patricio Letelier Valencia, 5 de Febrero de

2 Contenido I. Introducción Modelado de Software UML II. Breve Tour por UML III. El Paradigma Orientado a Objeto usando UML Fundamentos del Modelado OO Diagrama de Casos de Uso Diagramas de Interacciones Diagrama de Clases Diagrama de Estados / Diagramas de Actividad Diagrama de Componentes Diagrama de Despliegue IV. Proceso de Desarrollo de SW basado en UML V. Conclusiones 2 Es importante destacar que, por estrategia del curso, en el capítulo Breve Tour por UML se aborda de una manera muy resumida todos los diagramas que constituyen UML, dando una visión global de todo lo que posteriormente será detallado y complementado con guías de modelado y de proceso. En nuestra experiencia esta estrategia ha sido efectiva puesto que el alumno puede visualizar el alcance de UML. Por otra parte en este capítulo se desarrolla una sencilla guía de laboratorio con la cual se consigue un primer contacto con la herramienta utilizada (Rational Rose). Esto ha resultado motivador para el alumno. 2

3 Introducción Modelado de SW 3 3

4 I. Introducción: Modelado de SW Construcción de una casa para fido Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples 4 Extraída desde la presentación Software Architecture and UML de Grady Booch (Rational Software). 4

5 I. Introducción: Modelado de SWI Construcción de una casa Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas más sofisticadas 5 Extraída desde la presentación Software Architecture and UML de Grady Booch (Rational Software). 5

6 I. Introducción: Modelado de SI Construcción de un rascacielos 6 Extraída desde la presentación Software Architecture and UML de Grady Booch (Rational Software). Obviamente el debe ser el contexto de desarrollo (envergadura del proyecto) el que determine la configuración adecuada del proceso y los recursos necesarios. Existen propuestas radicales que promueven un proceso/modelado más ligth, tales como: Extreme Programming (Kent Beck) y Agile Modeling (Scott Ambler). Sin embargo, para proyectos de envergadura es difícil eludir un proceso y modelado más rigurosos. Una lectura interesante: Extreme Programming in the Quick-change Era 'Beware of the religion of the code-generating modeling tool. by Alexandra Weber Morales About 30 years ago, Barry Boehm theorized that the cost of software change increased exponentially over time; that is, if an error caught in requirements gathering cost $1, an error caught during deployment would cost $1000. "What if," said Robert Martin, a former preacher who now uses his persuasive speaking skills to promote Smalltalk guru Kent Beck's Extreme Programming (XP) methodology, "you took a moment to suspend disbelief and considered that--due to today's technology--the cost of change is essentially flat. When costs don't change over time, up-front speculative work is a liability. Ambiguity and volatility are reasons to delay." In such a world, Martin told a packed room at the UML World conference in New York city on June 14, developers need a process that exploits a flat change/cost curve?and XP is that process. The five-year-old methodology values communication (but not on paper), simplicity, feedback and courage. It's designed for small to mediumsized teams of no more than 12 people who work in a common area, integrate and test their code constantly, pair program on single computers and use whiteboards hung on the periphery to hash out designs. Source code is the preferred archival medium, and cards containing "user stories"(requirements written by customers) and tasks are the "high-density storage mechanism," according to Martin, who runs a training firm called Object Mentor out of Green Oaks, IL. "Where does modeling fit in? asked an audience member, reminding Martin that his talk, at this point nearly over, had promised to describe the interaction between the UML and XP. "Paper and pencil or whiteboards are the best CASE tools I know of. In Kent's case, he uses CRC cards, not the UML," said Martin. "But whether it's Booch notation or UML, you do the highest-level map you can, but you don't do all your design up front. Remember, in XP it's not an archival resource, it's a communication device. The only archive I want is the code and a few poignant, incisive documents explaining why I made certain decisions." Does this mean that ever more sophisticated modeling tools have no place in XP? Not exactly, said Martin. "If a code-generating tool works for you, use it. After all, that's what a compiler does. But beware of the religion of modeling tools that spit out executable prototypes. Sometimes getting the code from the tool is more timeconsuming than writing it yourself." 6

7 Claves en Desarrollo de SI I. Introducción: Modelado de SWI Notación Herramientas Proceso 7 Figura Triangle for Success adaptada desde Visual Modeling with Rational Rose and UML de Terry Quatrani 7

8 I. Introducción: Modelado de SW Abstracción - Modelado Visual (MV) El modelado captura las partes esenciales del sistema Orden Item envío Proceso de Negocios Sistema Computacional 8 8

9 I. Introducción: Modelado de SW MV para manejar la complejidad 9... Hay dos formas de construir software: una es hacerlo tan simple que obviamente no existan deficiencias, otra es hacerlo tan complejo que no existan deficiencias obvias C:A.R. Hoare, Turing Award Lecture

10 Interfaz de Usuario (Visual Basic, Java,..) I. Introducción: Modelado de SW MV para definir la Arquitectura del SW Lógica del Negocio (C++, Java,..) Servidor de BDs (C++ & SQL,..) Modelar el sistema independientemente del lenguaje de implementación 10 10

11 MV promueve la reutilización I. Introducción: Modelado de SW Múltiples Sistemas Componentes Reutilizados 11 11

12 Introducción: UML 12 12

13 Qué es UML? I. Introducción: UML UML = Unified Modeling Language Un lenguaje de propósito general para el modelado orientado a objetos Documento OMG Unified Modeling Language Specification UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows) 13 Documento OMG Unified Language Specification, (versión 1.3, 808 páginas, 8 de Julio de 1999 y versión 1.4, 582 páginas, 1 de Noviembre de 2000) 1. Resumen 2. Semántica (185 páginas) 3. Guía de Notación (173 páginas) 4. Profiles Estándares 5. Definición de Interfaz CORBAfacility 6. Especificación DTD de XMI 7. Especificación del Object Constraint Language A. Elementos Estándar de UML B. Glosario de Modelado del OMG 13 9

14 I. Introducción: UML Situación de Partida Diversos métodos y técnicas OO, con muchos aspectos en común pero utilizando distintas notaciones Inconvenientes para el aprendizaje, aplicación, construcción y uso de herramientas, etc. Pugna entre distintos enfoques (y correspondientes gurús) Establecer una notación estándar 14 14

15 I. Introducción: UML Historia de UML Comenzó como el Método Unificado, con la participación de Grady Booch y Jim Rumbaugh. Se presentó en el OOPSLA 95 El mismo año se unió Ivar Jacobson. Los Tres Amigos son socios en la compañía Rational Software. Herramienta CASE Rational Rose 15 15

16 Historia de UML I. Introducción: UML 2001 UML UML Nov 97 UML aprobado por el OMG UML 1.3 UML 1.2 Revisiones menores 16 16

17 I. Introducción: UML Participantes en UML 1.0 Rational Software (Grady Booch, Jim Rumbaugh y Ivar Jacobson) Digital Equipment Hewlett-Packard i-logix (David Harel) IBM ICON Computing (Desmond D Souza) Intellicorp and James Martin & co. (James Odell) MCI Systemhouse Microsoft ObjecTime Oracle Corp. Platinium Technology Sterling Software Taskon Texas Instruments Unisys 17 17

18 UML aglutina enfoques OO I. Introducción: UML Booch Rumbaugh Jacobson Odell Shlaer-Mellor Object life cycles Gamma et. al. Frameworks, patterns, notes Embly Singleton classes UML Fusion Operation descriptions, message numbering Meyer Pre- and Post-conditions Harel State Charts Wirfs-Brock Responsabilities 18 18

19 I. Introducción: UML Aspectos Novedosos Definición semi-formal del Metamodelo de UML Mecanismos de Extensión en UML: Stereotypes Constraints Tagged Values Permiten adaptar los elementos de modelado, asignándoles una semántica particular 19 Stereotype = Estereotipo Constraint = Restricción de Integridad Tagged Values = Valores Etiquetados, es un par (nombre propiedad, valor) Los mecanismos de extensión pueden usarse para: Añadir nuevos elementos de modelado sin crear nuevos símbolos. En este caso el símbolo existente estará etiquetado con el correspondiente estereotipo. Esto permite que el metamodelo de UML no se vea alterado. Definir extensiones necesarias en un proceso de desarrollo o lenguaje de implementación específico. Asignar una semántica particular o información no semántica a elementos de modelado. Las restricciones de integridad pueden escribirse usando un lenguaje específico para representar restricciones (tal como OCL, Object Constraint Language, que expresa restricciones mediante fórmulas bien formadas, desarrollado por IBM) u otros lenguajes (por ejemplo, un determinado lenguaje de programación) o incluso en lenguaje natural. Tipos de enfoques: no-formales, semi-formales y formales Las principales mejoras al utilizar métodos formales son: Mayor rigor en la especificación Mejores condiciones para realizar la verificación y validación Mejores condiciones para automatización de procesos para la generación automática de prototipos y/o código final 19

20 I. Introducción: UML Inconvenientes en UML Definición del proceso de desarrollo usando UML. UML no es una metodología Falta integración con respecto de otras técnicas tales como patrones de diseño, interfaces de usuario, documentación, etc. Ejemplos aislados Monopolio de conceptos, técnicas y métodos en torno a UML 20 20

21 I. Introducción: UML Perspectivas de UML UML será el lenguaje de modelado orientado a objetos estándar predominante los próximos años Razones: Participación de metodólogos influyentes Participación de importantes empresas Aceptación del OMG como notación estándar Evidencias: Herramientas que proveen la notación UML Edición de libros Congresos, cursos, camisetas, etc

22 Breve Tour por UML 22 22

23 II. Breve Tour por UML Modelos y Diagramas Un modelo captura una vista de un sistema del mundo real. Es una abstracción de dicho sistema, considerando un cierto propósito. Así, el modelo describe completamente aquellos aspectos del sistema que son relevantes al propósito del modelo, y a un apropiado nivel de detalle. Diagrama: una representación gráfica de una colección de elementos de modelado, a menudo dibujada como un grafo con vértices conectados por arcos OMG UML 1.4 Specification 23 23

24 II. Breve Tour por UML... Modelos y Diagramas Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de interés El código fuente del sistema es el modelo más detallado del sistema (y además es ejecutable). Sin embargo, se requieren otros modelos... Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos 24 24

25 II. Breve Tour por UML Diagramas de UML Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento Diagrama de Estados Diagrama de Actividad Diagramas de Interacción Diagrama de Secuencia Diagrama de Colaboración Diagramas de implementación Diagrama de Componentes Diagrama de Despliegue 25 El Diagrama de Objetos en realidad no se provee como un tipo de diagrama separado. En Diagramas de Secuencia, Diagramas de Colaboración y en Diagramas de Actividad se modelan objetos. He visto en algunos libros referirse a Diagramas de Paquetes, Diagramas de Subsistemas y Diagramas de Modelos. Sin embargo, éstos corresponden a casos particulares de los diagramas arriba mencionados, cuando en éstos sólo se incluye paquetes (o subsistemas, o modelos, respectivamente). 25

26 II. Breve Tour por UML... Diagramas de UML Los diagramas expresan gráficamente partes de un modelo Use Case Use Case Diagrams Diagramas de Diagrams Secuencia Use Case Use Case Diagrams Diagramas de Diagrams Casos de Uso State State Diagrams Diagramas de Diagrams Clases State State Diagrams Diagramas de Diagrams Objetos Scenario Scenario Diagrams Diagramas de Diagrams Colaboración Modelo State State Diagrams Diagramas de Diagrams Componentes Scenario Scenario Diagrams Diagramas de Diagrams Estados Diagramas de Actividad Component Diagrams Component Diagrams Diagramas de Distribución 26 26

27 II. Breve Tour por UML Organización de Modelos 4+1 vistas de Kruchten (1995) Vista Lógica Vista de los Casos de Uso Vista de Realización Vista de Procesos Vista de Distribución Este enfoque sigue el browser de Rational Rose 27 27

28 II. Breve Tour por UML... Organización de Modelos Propuesta de Rational Unified Process (RUP) M. de Casos de Uso del Negocio (Business Use-Case Model) M. de Objetos del Negocio (Business Object Model) M. de Casos de Uso (Use-Case Model) M. de Análisis (Analysis Model) M. de Diseño (Design Model) M. de Despliegue (Deployment Model) M. de Datos (Data Model) M. de Implementación (Implementation Model) M. de Pruebas (Test Model) 28 28

29 II. Breve Tour por UML Paquetes en UML Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado Se representan gráficamente como: Nombre de paquete 29 29

30 II. Breve Tour por UML Paquetes en UML Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema) Un paquete puede contener otros paquetes, sin límite de anidamiento pero cada elemento pertenece a (está definido en) sólo un paquete Una clase de un paquete puede aparecer en otro paquete por la importación a través de una relación de dependencia entre paquetes 30 30

31 II. Breve Tour por UML Paquetes en UML Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa El operador :: permite designar una clase definida en un contexto distinto del actual Práctica

32 II. Breve Tour por UML Paquetes en UML Práctica

33 II. Breve Tour por UML Diagrama de Casos de Uso Casos de Uso es una técnica para capturar información de cómo un sistema o negocio trabaja, o de cómo se desea que trabaje No pertenece estrictamente al enfoque orientado a objeto, es una técnica para captura de requisitos 33 Cada Caso de Uso puede estar definido por: texto que lo describe secuencia de pasos (flujo de eventos) ejecutados dentro del caso de uso precondiciones y postcondiciones para que el caso de uso comience o termine mezclando las anteriores 33

34 II. Breve Tour por UML Ejemplos Supervisor Verificar Situación del Cliente Administrativo Preparar Catálogo Sistema Inventario Tipos de Venta 34 En los D. de Casos de Uso no existe el concepto de explosión tal como se tiene en los DFDs (Diagramas de Flujo de Datos). La funcionalidad representada por un caso de uso es atómica (aunque en Rational Rose 98 a un caso de uso se le puede asociar un nuevo D. de Casos de Uso!!). En UML el concepto de paquete permite organizar de manera jerárquica un modelo, y en este caso, un paquete puede tener asociado un nuevo diagrama. 34

35 II. Breve Tour por UML Ejemplos En el paquete tipos de venta: Venta Normal Vendedor Venta en Rebajas Venta en Ofertas 35 35

36 II. Breve Tour por UML Ejemplos Cliente Solicitar Préstamo [Tarjeta Caducada] <<extend> > Solicitar N ueva Tarjeta 36 En UML 1.3 se disponen de tres tipos de relaciones entre casos de uso, representadas por un símbolo de generalización desde un caso de uso a otro. Los tipos de relación son: Inclusión (con el estereotipo <<include>>), Extensión (con el estereotipo <<extend>>) y Generalización (sin estereotipo). En UML 1.3 se utiliza el estereotipo <<include>> en lugar de <<uses>>. Más adelante, cuando se entre en detalles de los D. de Casos de Uso se abordarán con más detalle las relaciones entre casos de uso. 36

37 II. Breve Tour por UML Ejemplos Reintegro Cuenta Corriente <<include>> Cliente Verificar Operación <<include>> Reintegro Cuenta de Crédito Práctica

38 II. Breve Tour por UML Diagrama de Secuencia : Encargado :WInPréstamos :Socio :Video :Préstamo prestar(video, socio) verificar situación socio verificar situación video registrar préstamo entregar recibo 38 Los Diagramas de Secuencia y de Colaboración son usados para describir gráficamente un caso de uso o un escenario Un Diagrama de Secuencia muestra los objetos de un escenario mediante líneas verticales y los mensajes entre objetos como flechas conectando objetos Los mensajes son dibujados cronológicamente desde arriba hacia abajo Los rectángulos en las líneas verticales representan los periodos de actividad de los objetos. 38

39 II. Breve Tour por UML Diagrama de Colaboración :Socio 2: verificar situación socio :Video 1: prestar(video, socio) :WInPréstamos 5: entregar recibo : Encargado 3: verificar situación video 4: registrar préstamo :Préstamo Práctica 3 39 El Diagrama de Colaboración modela la interacción entre los objetos de un Caso de Uso Los objetos están conectados por enlaces (links) en los cuales se representan los mensajes enviados acompañados de una flecha que indica su dirección El Diagrama de Colaboración ofrece una mejor visión del escenario cuando el analista está intentando comprender la participación de un objeto en el sistema 39

40 II. Breve Tour por UML Diagrama de Clases El Diagrama de Clases es el diagrama principal para el análisis y diseño Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia La definición de clase incluye definiciones para atributos y operaciones El modelo de casos de uso aporta información para establecer las clases, objetos, atributos y operaciones 40 40

41 II. Breve Tour por UML Ejemplos (Clase y Visibilidad) DNI : char[10] número_exp : int nombre : char[50] Alumno alta() poner_nota(asignatura : char *, año : int, nota : float) matricular(cursos : asignatura, año : int) listar_expediente() 41 41

42 II. Breve Tour por UML Ejemplos (Asociación) Departamento dirige director Profesor

43 Ejemplos (Clase Asociación) II. Breve Tour por UML Empresa empleador trabajadores Empleado * 1..* Cargo superior nombre sueldo 0..1 subordinado 1..* 43 43

44 II. Breve Tour por UML Ejemplos (Generalización) Trabajador { disjunta, completa } Directivo Administrativo Obrero 44 44

45 II. Breve Tour por UML Ejemplos Motor 1..4 Piloto 1..2 Vendedor de billetes 1 1 Avión 1 n Vuelo n 1 n n Reserva { disjunta, completa } n Avión militar Avión comercial 1 Línea aérea { disjunta, completa } Avión de carga Avión de pasajeros Prácticas

46 II. Breve Tour por UML Diagrama de Estados alta baja sin préstamos número_préstamos = 0 Socio número : int nombre : char[50] número_prestamos : int = 0 alta() baja() prestar(código_libro : int, fecha : date) devolver(código_libro : int, fecha : date) prestar devolver[ número_prést amos = 1 ] número_préstamos > 0 con préstamos pres tar devolver[ número_préstamos > 1 ] 46 El Diagrama de Estados modela el comportamiento de una parte del sistema Típicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo El comportamiento es modelado en términos del estado en el cual se encuentra el objeto, qué acciones se ejecutan en cada estado y cuál es el estado al que transita después de un determinado evento 46

47 II. Breve Tour por UML Diagrama de Actividad [no hay café] Buscar Bebida [hay café [no zumo] [hay zumo] Poner café en filtro Añadir agua al depósito Coger taza Poner filtro en máquina Coger zumo Encender máquina / cafetera.on Café en preparación indicador de fin Servir café Beber 47 Caso especial de Diagrama de Estados donde: Todos (o la mayoría de) los estados son estados de acción Todas (la mayoría de) las transiciones son disparadas como consecuencia de la finalización de la la acción. El Diagrama de Actividades puede especificar: El comportamiento de los objetos de una clase La lógica de una operación (método) Parte o toda la descripción de un Caso de uso La descripción de un Flujo de Trabajo 47

48 II. Breve Tour por UML Otro Ejemplo (con swim lines) Pasajero Vendedor Airline Solicitar pasaje Verificar existencia vuelo Dar detalles vuelo Seleccionar vuelo Informar alternativas y precios Solicitar pago Reservar plazas Pagar pasaje Confirmar plaza reservada Emitir billete Práctica

49 II. Breve Tour por UML Diagrama Componentes Interfaz de Terminal Comm Control y Análisis Comm Gestión de Cuentas Comm Rutinas de Coneccion Comm Acceso a BD Comm 49 Un diagrama de Componentes permite modelar la estructura del software y la dependencia entre componentes Un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder código fuente, binario o ejecutable Una relación de dependencia indica que un componente utiliza otro, por lo cual depende de él 49

50 II. Breve Tour por UML Diagrama de Despliegue Servidor Central Acceso a BD Control y Análisis C C Rutinas de Coneccion C Terminal de Consulta Rutinas de Coneccion C Interfaz de Terminal C Punto de Venta Rutinas de Coneccion C Gestión de Cuentas C Interfaz de Terminal C Práctica El Diagrama de Distribución modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados En el Diagrama de Distribución se modelan los nodos y la comunicación entre ellos Cada nodo puede contener instancias de componentes 50

51 II. Breve Tour por UML Resumen UML define una notación que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos El 80 por ciento de la mayoría de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch 51 51

52 El Paradigma Orientado a Objeto usando UML 52 52

53 III. El Paradigma Orientado a Objeto Por qué la Orientación a Objetos? Proximidad de los conceptos de modelado respecto de las entidades del mundo real Mejora captura y validación de requisitos Acerca el espacio del problema y el espacio de la solución Modelado integrado de propiedades estáticas y dinámicas del ámbito del problema Facilita construcción, mantenimiento y reutilización 53 53

54 III. El Paradigma Orientado a Objeto Por qué la Orientación a Objetos? Conceptos comunes de modelado durante el análisis, diseño e implementación Facilita la transición entre distintas fases Favorece el desarrollo iterativo del sistema Disipa la barrera entre el qué y el cómo Sin embargo, existen problemas

55 III. El Paradigma Orientado a Objeto Problemas en OO...Los conceptos básicos de la OO se conocen desde hace dos décadas, pero su aceptación todavía no está tan extendida como los beneficios que esta tecnología puede sugerir...la mayoría de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretendía. Esta práctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados --Wolfgang Strigel 55 55

56 III. El Paradigma Orientado a Objeto Problemas en OO Un objeto contiene datos y operaciones que operan sobre los datos, pero... Podemos distinguir dos tipos de objetos degenerados: Un objeto sin datos (que sería lo mismo que una biblioteca de funciones) Un objeto sin operaciones, con sólo operaciones del tipo crear, recuperar, actualizar y borrar (que se correspondería con las estructuras de datos tradicionales) Un sistema construido con objetos degenerados no es un sistema verdaderamente orientado a objetos Las aplicaciones de gestión están constituidas mayoritariamente por objetos degenerados 56 Para mayores detalles respecto de estos problemas consultar: Real-Life Object-Oriented Systems, Soren Lauesen, IEEE Software March/April

57 Reflexiones respecto de Situación Actual de Desarrollo de SI III. El Paradigma Orientado a Objeto Análisis Diseño Implementación Enfoque Estructurado Enfoque OO DFDs E-R Diagramas de Casos de Uso Diagramas de Actividad Diagramas de Secuencia Diagramas de Colaboración d DEs Modelo Relacional Diagrama de Clases Diagrama de Estados Diagramas de Actividad Modelo Relacional!! Entornos de Programación Visual Bases de Datos (Objeto-) Relacionales 57 57

58 Fundamentos de Modelado OO 58 58

59 III. El Paradigma OO: Fundamentos de Modelado OO Objetos Objeto = unidad atómica que encapsula estado y comportamiento La encapsulación en un objeto permite una alta cohesión y un bajo acoplamiento Un objeto puede caracterizar una entidad física (coche) o abstracta (ecuación matemática) 59 59

60 III. El Paradigma OO: Fundamentos de Modelado OO Objetos El Modelado de Objetos permite representar el ciclo de vida de los objetos a través de sus interacciones En UML, un objeto se representa por un rectángulo con un nombre subrayado Un Objeto Otro Objeto más Otro Objeto 60 Sintaxis para denominar objetos: : C una instancia anónima de la clase C / R una instancia anónima desempeñando el rol R / R : C una instancia anónima de la clase C desempeñando el rol R O / R una instancia llamada O desempeñando el rol R O : C una instancia llamada O de la clase C O / R : C una instancia llamada O, de la clase C y desempeñando el rol R O una instancia llamada O 60

61 III. El Paradigma OO: Fundamentos de Modelado OO Objetos Ejemplo de varios objetos relacionados: Cuenta Corriente 101 Juan Banco de Valencia Cuenta Corriente 114 Felipe 61 61

62 III. El Paradigma OO: Fundamentos de Modelado OO Objetos Objeto = Identidad + Estado + Comportamiento El estado está representado por los valores de los atributos Un atributo toma un valor en un dominio concreto Un coche Azul 979 Kg 70 CV

63 III. El Paradigma OO: Fundamentos de Modelado OO Clases y Objetos 63 63

64 III. El Paradigma OO: Fundamentos de Modelado OO Identidad Oid (Object Identifier) Cada objeto posee un oid. El oid establece la identidad del objeto y tiene las siguientes características: Constituye un identificador único y global para cada objeto dentro del sistema Es determinado en el momento de la creación del objeto Es independiente de la localización física del objeto, es decir, provee completa independencia de localización 64 64

65 III. El Paradigma OO: Fundamentos de Modelado OO Identidad Es independiente de las propiedades del objeto, lo cual implica independencia de valor y de estructura No cambia durante toda la vida del objeto. Además, un oid no se reutiliza aunque el objeto deje de existir No se tiene ningún control sobre los oids y su manipulación resulta transparente Sin embargo, es preciso contar con algún medio para hacer referencia a un objeto utilizando referencias del dominio (valores de atributos) 65 65

66 III. El Paradigma OO: Fundamentos de Modelado OO Estado El estado evoluciona con el tiempo Algunos atributos pueden ser constantes El comportamiento agrupa las competencias de un objeto y describe las acciones y reacciones de ese objeto Las operaciones de un objeto son consecuencia de un estímulo externo representado como mensaje enviado desde otro objeto 66 66

67 III. El Paradigma OO: Fundamentos de Modelado OO Comportamiento Ejemplo de interacción: Otro objeto Un mensaje Operacion 2 Un objeto Operacion

68 Comportamiento III. El Paradigma OO: Fundamentos de Modelado OO Los mensajes navegan por los enlaces, a priori en ambas direcciones Estado y comportamiento están relacionados Ejemplo: no es posible aterrizar un avión si no está volando. Está volando como consecuencia de haber despegado del suelo 68 68

69 III. El Paradigma OO: Fundamentos de Modelado OO Persistencia La persistencia de los objetos designa la capacidad de un objeto trascender en el espacio/tiempo Podremos después reconstruirlo, es decir, cogerlo de memoria secundaria para utilizarlo en la ejecución (materialización del objeto) Los lenguajes OO no proponen soporte adecuado para la persistencia, la cual debería ser transparente, un objeto existe desde su creación hasta que se destruya 69 69

70 III. El Paradigma OO: Fundamentos de Modelado OO Comunicación Un sistema informático puede verse como un conjunto de objetos autónomos y concurrentes que trabajan de manera coordinada en la consecución de un fin específico El comportamiento global se basa pues en la comunicación entre los objetos que la componen 70 70

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado

Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado Ingeniería de Software con UML Unified Modeling Language Lenguaje Unificado de Modelado 1. Introducción Unified Modeling Languaje Fuente: Booch- Jacobson-Rumbauch y diversos sitios Internet, entre otros:

Más detalles

Programación orientada a

Programación orientada a Programación orientada a objetos con Java Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos de la programación

Más detalles

Diagrama de Clases. Diagrama de Clases

Diagrama de Clases. Diagrama de Clases Diagrama de Clases 1 Diagrama de Clases El propósito de este diagrama es el de representar los objetos fundamentales del sistema, es decir los que percibe el usuario y con los que espera tratar para completar

Más detalles

Índice. http://www.dicampus.es

Índice. http://www.dicampus.es Módulo 2 UML Índice Introducción a UML Lenguaje Unificado de Modelado (UML) Diagramas UML Diagramas de casos de uso Diagramas estructurales: Clases Diagramas estructurales: Objetos Diagramas de interacción:

Más detalles

BASES DE DATOS. Ivon Tarazona Oriana Gomez

BASES DE DATOS. Ivon Tarazona Oriana Gomez BASES DE DATOS Ivon Tarazona Oriana Gomez Introducción Introducción Ventajas e (Unified Modeling Language) Es un lenguaje usado para especificar, visualizar y documentar los diferentes aspectos relativos

Más detalles

CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS CAPÍTULO IV - GUÍA PARA HACER ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS 4.1 Diferencias entre análisis y diseño La división entre el análisis y diseño es poco clara, el trabajo de los dos se mezcla continuamente

Más detalles

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es

Tema 5: El Lenguaje Unificado de Modelado. Departamento de Lenguajes y Sistemas Informáticos II www.kybele.urjc.es Tema 5: El Lenguaje Unificado de Modelado Departamento de Lenguajes y Sistemas Informáticos II Contenidos Introducción Diagramas de UML Modelado de la parte estática Modelado de la parte dinámica Las 4+1

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Técnica de modelado de objetos (I) El modelado orientado a objetos es una técnica de especificación semiformal para

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

ISO 19103. Lenguaje de Esquema Conceptual

ISO 19103. Lenguaje de Esquema Conceptual ISO 19103 Lenguaje de Esquema Conceptual La ISO 19103 establece normas y guías para la adopción y uso de un Lenguaje de Esquema Conceptual (CSL) para desarrollar modelos o esquemas de información geográfica,

Más detalles

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática La Necesidad de Modelar Analogía Arquitectónica Tiene sentido poner ladrillos sin hacer antes los planos? El modelo, los planos, ayuda a afrontar la complejidad del proyecto. Cuál es el lenguaje adecuado

Más detalles

UML 2 Iniciación, ejemplos y ejercicios corregidos

UML 2 Iniciación, ejemplos y ejercicios corregidos Ediciones ENI UML 2 Iniciación, ejemplos y ejercicios corregidos (3ª edición) Colección Recursos Informáticos Contenido Contenido 1 Capítulo 1 Introducción 1. Motivaciones de la obra.....................................

Más detalles

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL

Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL Departamento de Informática y Automática INGENIERÍA DEL SOFTWARE PARTE I: TEST EXAMEN FINAL DNI Apellidos y nombre 1. Cuál de las siguientes afirmaciones no es una causa de los problemas del software?

Más detalles

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado

Diseño lógico de sistemas aplicando el lenguaje de modelado unificado Diseño lógico de sistemas aplicando el lenguaje de modelado unificado No. De Registro CGPI: 20061221. Director del proyecto: Roberto De Luna Caballero. Profesores participantes: M. en C Fabiola Ocampo

Más detalles

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1

Sistemas de Información II. Introducción al Proceso Unificado de Desarrollo de Software. Autor: Ing. Silverio Bonilla 1 Introducción al Proceso Unificado de Desarrollo de Software Autor: Ing. Silverio Bonilla 1 James Rumbaugh et al. Concepto de Método Una metodología de ingeniería del software es un proceso para producir

Más detalles

UML El Lenguaje de Modelado Unificado. Maestría en Ingeniería de Software

UML El Lenguaje de Modelado Unificado. Maestría en Ingeniería de Software UML El Lenguaje de Modelado Unificado Maestría en Ingeniería de Software Agenda Model Driven Architecture (MDA) Unified Model Language (UML) Object Constraint Language (OCL) Patrones Conclusiones Contenido

Más detalles

INGENIERÍA DEL SOFTWARE I Tema 8. Contexto y Requisitos del Sistema (en desarrollo OO)

INGENIERÍA DEL SOFTWARE I Tema 8. Contexto y Requisitos del Sistema (en desarrollo OO) INGENIERÍA DEL SOFTWARE I Tema 8 Contexto y Requisitos del Sistema (en desarrollo OO) Univ. Cantabria Fac. de Ciencias Francisco Ruiz y Patricia López Objetivos del Tema Conocer en detalle la técnica de

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: http://www.dsic.upv.es/~uml http://inst.eecs.berkeley.edu/~cs169/ entre otras fuentes. Definiciones

Más detalles

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar

MODELADO DE OBJETOS. {brossi,pbritos,rgm}@itba.edu.ar MODELADO DE OBJETOS Bibiana ROSSI, Paola BRITOS y Ramón GARCIA MARTINEZ, CAPIS - Centro de Actualizacion Permanente en Ingeniería de Software Escuela de Posgrado. ITBA. 0. INTRODUCCION {brossi,pbritos,rgm}@itba.edu.ar

Más detalles

DISEÑO DE COMPONENTES DE SOFTWARE *

DISEÑO DE COMPONENTES DE SOFTWARE * DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP * Resumen del capítulo 10 de libro de [Pressman 2010] V:18-11-2008 (c) P. Gomez-Gil, INAOE.

Más detalles

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA CICLO SUPERIOR DESARROLLO DE APLICACIONES MULTIPLATAFORMA PROGRAMACIÓN DIDACTICA ANUAL Parte específica del módulo: 0485. Programación Departamento de Familia Profesional de Informática Curso: 2014-15

Más detalles

3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1.

3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1. 3. DIAGRAMAS DE CLASES...19 3.1. INTRODUCCIÓN... 19 3.2. DIAGRAMAS DE CLASES... 19 3.2.1. Perspectivas...20 3.2.2. Clases...20 3.2.2.1. Compartimento del nombre...21 3.2.2.2. Compartimento de la lista

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen A través de este artículo se ofrece un panorama amplio y de alto nivel sobre la especificación y los diferentes diagramas del Lenguaje

Más detalles

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases

Inicio de MO Inicio de MD Inicio de MF. Documento de Análisis. Base de datos de las especificaciones OMT. MO, MD, MF Detallados. Librería de Clases 3.2 TÉCNICA DE MODELADO DE OBJETOS (OMT) (JAMES RUMBAUGH). 3.2.1 Introducción. En este documento se trata tanto el OMT-1 como el OMT-2, el primero contenido en el Libro Modelado y Diseño Orientado (Metodología

Más detalles

Pontificia Universidad Católica Argentina

Pontificia Universidad Católica Argentina Carrera : Ingeniería Informática Pontificia Universidad Católica Argentina PROGRAMA DE INGENIERÍA DE SOFTWARE I 2010 Ubicación en el Plan de Estudios : 3 er Año, cuatrimestral Carga Horaria : 8 hs / semana

Más detalles

INTRODUCCION AL LENGUAJE UNIFICADO MODELADO

INTRODUCCION AL LENGUAJE UNIFICADO MODELADO INTRODUCCION AL LENGUAJE UNIFICADO MODELADO Cap. 9 Kendall & Kendall Cap 2 P11 Jacobson SESION 8 Ana Mercedes Cáceres mercycaceres@gmail.com Año 2006. 1 OBJETIVOS Presentar el lenguaje de modelado UML,

Más detalles

Análisis del Sistema de Información

Análisis del Sistema de Información Análisis del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD ASI 1: DEFINICIÓN DEL SISTEMA... 6 Tarea ASI 1.1: Determinación del Alcance del Sistema... 6 Tarea ASI 1.2: Identificación

Más detalles

6.6 DISEÑO. [Proceso]

6.6 DISEÑO. [Proceso] 6.6 DISEÑO. [Proceso] Durante un Ciclo de Desarrollo iterativo es posible pasar a la Fase de Diseño una vez completada la documentación de la fase de Análisis. Durante esta etapa se desarrolla una solución

Más detalles

INGENIERÍA DEL SOFTWARE I Tema 5 Contexto y Requisitos del Sistema (Modelado en desarrollo OO)

INGENIERÍA DEL SOFTWARE I Tema 5 Contexto y Requisitos del Sistema (Modelado en desarrollo OO) INGENIERÍA DEL SOFTWARE I Tema 5 Contexto y Requisitos del Sistema (Modelado en desarrollo OO) Universidad de Cantabria Facultad de Ciencias Patricia López y Francisco Ruiz Objetivos del Tema Objetivos:

Más detalles

Interacción Persona - Ordenador

Interacción Persona - Ordenador Interacción Persona - Ordenador Diseño de la interfaz en la Ingeniería del Software Dr. Pedro Latorre Dra. Sandra Baldassarri Dra. Eva Cerezo Ingeniería del Software Ingeniería del Software: Definición

Más detalles

Curso: El Proceso de Desarrollo de Software

Curso: El Proceso de Desarrollo de Software Curso: El Proceso de Desarrollo de Software EL PROCESO DE DESARROLLO DE SOFTWARE... 1 OBJETIVO...1 CONTENIDO...1 BIBLIOGRAFÍA...4 DOCENTE...4 MODALIDAD DEL DESARROLLO...4 El proceso de Desarrollo de Software

Más detalles

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1 IWG-101: Introducción a la Ingeniería Departamento de Informática, UTFSM 1 Introducción a UML Historia Potencialidades Diagramas soportados UML en el proceso de desarrollo de SW. Introducción a UML Necesidad

Más detalles

http://www.cem.itesm.mx/extension/ms

http://www.cem.itesm.mx/extension/ms Diplomado Programación orientada a objetos con Java y UML Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos

Más detalles

DIAGRAMA DE CLASES EN UML

DIAGRAMA DE CLASES EN UML DIAGRAMA DE CLASES EN UML Mg. Juan José Flores Cueto jflores@usmp.edu.pe Ing. Carmen Bertolotti Zuñiga cbertolotti@usmp.edu.pe INTRODUCCIÓN UML (Unified Modeling Language) es un lenguaje que permite modelar,

Más detalles

PUD: Proceso de Desarrollo Unificado

PUD: Proceso de Desarrollo Unificado PUD: Proceso de Desarrollo Unificado 1 1998 Genealogía del PUD Rational Unified Process 5.0 1997 Rational Objectory Process 4.1 UML 1996 Rational Objectory Process 4.0 1995 Método Ericsson Rational Approach

Más detalles

Técnicas de desarrollo de aplicaciones en Métrica V3

Técnicas de desarrollo de aplicaciones en Métrica V3 Índice de contenido Técnicas de desarrollo de aplicaciones en Métrica V3 Técnicas de desarrollo de aplicaciones en Métrica V3...1 Licencia...1 Introducción...1 Técnicas de desarrollo...1 Análisis coste-beneficio...2

Más detalles

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML

Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML Diseño y Modelación de un Proyecto de Software Utilizando el lenguaje UML INTRODUCCION Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una manera

Más detalles

UML. Lenguaje de Modelado Unificado

UML. Lenguaje de Modelado Unificado Lenguaje de Modelado Unificado Concepto de Reseña Histórica Características Estándares que conforman Modelo Relacional con Ventajas Críticas Concepto de (Unified( Modeling language) Es un lenguaje usado

Más detalles

"Módulo OOWS para StarUML" INTRODUCCIÓN

Módulo OOWS para StarUML INTRODUCCIÓN UNA HERRAMIENTA PARA DIAGRAMAS OOWS: "Módulo OOWS para StarUML" Richard Medina Z. Universidad de Concepción, Chile INTRODUCCIÓN Una herramienta CASE (Computer Aided Software Engineering,

Más detalles

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga

Programación Orientada a Objetos Profr. Pedro Pablo Mayorga Actividad 2 Unidad 1 Ciclo de vida del software y Diseño Orientado a Objetos Ciclo de Vida del Software Un modelo de ciclo de vida define el estado de las fases a través de las cuales se mueve un proyecto

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

La importancia del desarrollo para el buen diseño del software

La importancia del desarrollo para el buen diseño del software La importancia del desarrollo para el buen diseño del software RESUMEN N L González Morales. 1 En este ensayo se examinan los temas vistos en clase que son Desarrollo de Orientado a Objetos y Arquitectura

Más detalles

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos: Tutorial de UML Introducción: El Lenguaje de Modelamiento Unificado (UML - Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar y documentar cada una de las partes que comprende

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: material asignatura CS169,Software Engineering, UC Berkeley, entre otras fuentes. Definiciones

Más detalles

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas

Contenido de la sesión. Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Contenido de la sesión Diseño de Software Principios del Diseño Arquitectura de Software Especificación de Arquitecturas Diseño de Software Es una descripción de la estructura del software que se va a

Más detalles

Desarrollo de Software Orientado a Objeto usando UML

Desarrollo de Software Orientado a Objeto usando UML Desarrollo de Software Orientado a Objeto usando UML Patricio Letelier Torres letelier@dsic.upv.es Departamento Sistemas Informáticos y Computación (DSIC) Universidad Politécnica de Valencia (UPV) - España

Más detalles

Ejemplo: agencia de viajes por internet

Ejemplo: agencia de viajes por internet Introducción Modelado de casos de uso Propósito y definición Casos de uso y extracción de requisitos Carácter hipotético de los casos de uso El modelo de casos de uso Notación. Actores y casos de uso.

Más detalles

UML. UML significa Lenguaje Unificado de Modelado UML combina lo mejor de:

UML. UML significa Lenguaje Unificado de Modelado UML combina lo mejor de: UML UML significa Lenguaje Unificado de Modelado UML combina lo mejor de: Conceptos de modelado de datos (diagramas entidad-relación) Modelado de negocios (flujos de trabajo) Modelado de objetos Modelado

Más detalles

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) Este documento presenta un resumen de Rational Unified Process (RUP). Se describe la historia de la metodología, características principales y estructura del proceso. RUP

Más detalles

Programación Orientada a Objetos: Clases versus Prototipos 1

Programación Orientada a Objetos: Clases versus Prototipos 1 Programación Orientada a Objetos: Clases versus Prototipos 1 Pedro Cuesta Morales (pcuesta@uvigo.es) Departamento de Lenguajes y Sistemas Informáticos Universidad de Vigo Resumen: En este artículo se introducen

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Introducción a los casos de uso

Fundamentos de Ingeniería del Software. Capítulo 3. Análisis de Requisitos Introducción a los casos de uso Fundamentos de Ingeniería del Software Capítulo 3. Análisis de Requisitos Introducción a los casos de uso Cap 3. Análisis de Requisitos Estructura 1. Actividades iniciales. 2. Técnicas de recogida de la

Más detalles

2.1 Ingeniería de Software

2.1 Ingeniería de Software Capítulo 2 Marco Teórico Se pretende desarrollar un software que pueda ser aplicado como una herramienta útil para la administración de una empresa. Es necesario tener en cuenta que, en todo desarrollo

Más detalles

Una Arquitectura para una Herramienta de Patrones de Diseño

Una Arquitectura para una Herramienta de Patrones de Diseño Una Arquitectura para una Herramienta de Patrones de Diseño José Sáez Martínez 1, Jesús García Molina, Pedro J. Jiménez García Departamento de Informática, Lenguajes y Sistemas. Campus de Espinardo C.P.

Más detalles

Relaciones entre clases: Diagramas de clases UML

Relaciones entre clases: Diagramas de clases UML Relaciones entre clases: Diagramas de clases UML Las relaciones existentes entre las distintas clases nos indican cómo se comunican los objetos de esas clases entre sí: Los mensajes navegan por las relaciones

Más detalles

Diagramas de Clase en UML 1.1

Diagramas de Clase en UML 1.1 Diagramas de Clase en UML. Francisco José García Peñalvo Licenciado en Informática. Profesor del Área de Lenguajes y Sistemas Informáticos de la Universidad de Burgos. fgarcia@.ubu.es Carlos Pardo Aguilar

Más detalles

Construcción de Software. Capítulo 1. El Lenguaje Unificado de Modelado, UML

Construcción de Software. Capítulo 1. El Lenguaje Unificado de Modelado, UML Construcción de Software Capítulo 1 El Lenguaje Unificado de Modelado, UML Capítulo 1. Estructura Presentación de UML Necesidad del modelado Modelado de casos de Uso Diagrama de casos de uso Modelado estructural

Más detalles

Módulo Profesional 01: Bases de datos (código: 0484).

Módulo Profesional 01: Bases de datos (código: 0484). Módulo Profesional 01: Bases de datos (código: 0484). Actividades de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo. Interpretar diseños lógicos de bases de datos. Realizar el diseño

Más detalles

Deportes LSI 03. Sistema para Gestión de Artículos Deportivos LSI 03 Plan de Desarrollo Software. Versión 3.0

Deportes LSI 03. Sistema para Gestión de Artículos Deportivos LSI 03 Plan de Desarrollo Software. Versión 3.0 Deportes LSI 03 Sistema para Gestión de Artículos Deportivos LSI 03 Versión 3.0 Fecha: 02/01/2003 Historial de Revisiones Fecha Versión Descripción Autor 22/07/2002 0.9 Versión preliminar como propuesta

Más detalles

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón

BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS. Dámaso López Aragón BASE DE DATOS: ENFOQUE ORIENTADO A OBJETOS Dámaso López Aragón Introducción En la actualidad, la orientación a objetos es una nueva forma de comprender los problemas y modelar el negocio de una empresa,

Más detalles

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010 INTRODUCCION Un concepto fundamental que debemos tener en cuenta a la hora de modelar la realidad por medio de objetos es que los mismos no son entidades aisladas. Los objetos interactúan entre ellos constantemente

Más detalles

TEMA 1.-Programación orientada a objetos (POO) Objetivo

TEMA 1.-Programación orientada a objetos (POO) Objetivo CURSO DE UML Dotar al alumno de los fundamentos de la programación orientada a objetos (POO, a partir de ahora), definir las características básicas del lenguaje de modelado unificado (Unified Modeling

Más detalles

Notación UML para modelado Orientado a Objetos

Notación UML para modelado Orientado a Objetos 1 Notación UML para modelado Orientado a Objetos 2 Notación UML para modelado Orientado a Objetos Índice 1.1. Qué es UML?.. 3 1.2. Por qué interesa UML en la asignatura de Programación Orientada a Objetos?3

Más detalles

Programación en Capas.

Programación en Capas. Programación en Capas. Ricardo J. Vargas Del Valle Universidad de Costa Rica, Ciencias de Computación e Informática, San José, Costa Rica, 506 ricvargas@gmail.com Juan P. Maltés Granados Universidad de

Más detalles

Herramientas de Software que posibilitan el BPM

Herramientas de Software que posibilitan el BPM Qué es BPM? BPM (Business Process Management) no es solamente una tecnología, sino en términos generales, una disciplina gerencial que trata a los procesos como bienes tangibles que contribuyen al desempeño

Más detalles

ANÁLISIS Y DISEÑO DE SISTEMAS

ANÁLISIS Y DISEÑO DE SISTEMAS ANÁLISIS Y DISEÑO DE SISTEMAS Clase XVIII: Modelo Dinámico Diagramas de Actividades Primer Cuatrimestre 2013 Diagrama de Actividades (DA) Un grafo o diagrama de actividad (DA) es un tipo especial de máquina

Más detalles

Casos de Uso Diagramas de Casos de Uso. Universidad de los Andes Demián Gutierrez Abril 2011 1

Casos de Uso Diagramas de Casos de Uso. Universidad de los Andes Demián Gutierrez Abril 2011 1 Casos de Uso Diagramas de Casos de Uso Universidad de los Andes Demián Gutierrez Abril 2011 1 Casos de Uso ( Qué es un caso de uso?) Caso de Uso? 2 Casos de Uso ( Qué es un caso de uso?) Un caso de uso

Más detalles

El Proceso Unificado de Desarrollo de Software

El Proceso Unificado de Desarrollo de Software El Proceso de Desarrollo de Software Ciclos de vida Métodos de desarrollo de software El Proceso Unificado de Desarrollo de Software 1 Fases principales del desarrollo de software Captura de requisitos:

Más detalles

Diseño orientado a los objetos

Diseño orientado a los objetos Diseño orientado a los objetos El Diseño Orientado a los Objetos (DOO) crea una representación del problema del mundo real y la hace corresponder con el ámbito de la solución, que es el software. A diferencia

Más detalles

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño

Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Evolución de Plantillas Genéricas para la descripción de Casos de Uso a Plantillas Genéricas para Análisis y Diseño Ing. Marcela Daniele AC. Daniel Romero Dpto. de Computación. Facultad: Ciencias Exactas,

Más detalles

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación

Introducción al UML. Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Introducción al UML Domingo Hernández H. Escuela de Ingeniería de Sistemas Departamento de computación Contenido Qué es UML?. Diagramas Utilizados en UML. Ejemplos. Qué es UML UML es un Lenguaje de Modelado

Más detalles

Generación de código para Hibernate desde modelos UML

Generación de código para Hibernate desde modelos UML Generación de código para Hibernate desde modelos UML Alejandro Nogueiro Mariscal Ingeniería Técnica en Informática de Sistemas, Universidad de Cádiz 24 de Septiembre 2012 1 / 35 Índice 1 Motivación y

Más detalles

ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS

ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS INGENIERIA DE SOFTWARE Trabajo Final de Carrera ANÁLISIS Y DISEÑO DE UN PORTAL DE VENTA DE LIBROS EDUCATIVOS Jordi Cid Rodríguez - ETIG - Consultor: José Antonio Raya Martos Septiembre 2011 Objetivo El

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos

Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos Práctica de Integración de Sistemas Aplicación Web.NET: Sitio de Comentarios de Eventos Deportivos 1. Introducción Curso académico 2009-2010 La práctica de Integración de Sistemas consiste en el diseño

Más detalles

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML

Ingeniería del Software. Diseño. Diseño en el PUD. Diseño de software. Patrones arquitectónicos. Diseño Orientado a Objetos en UML Diseño Diseño en el PUD Diseño de software Patrones arquitectónicos Diseño Orientado a Objetos en UML 1 Iteración en PUD Planificación de la Iteración Captura de requisitos: Modelo de casos de uso, Modelo

Más detalles

ICONIX. Notas del método con ampliaciones y mejoras

ICONIX. Notas del método con ampliaciones y mejoras ICONIX Notas del método con ampliaciones y mejoras Juan Manuel Fernández Peña y María de los Ángeles Sumano López Colaboración de Josué Andrade Mirós Octubre de 2004 Método ICONIX Referencia El método

Más detalles

El Proceso Unificado Rational para el Desarrollo de Software.

El Proceso Unificado Rational para el Desarrollo de Software. Instituto de Electrónica y Computación El Proceso Unificado Rational para el Desarrollo de Software. Carlos Alberto Fernández y Fernández Huajuapan de León, Oaxaca 26 de octubre de 2000 Objetivo Proporcionar

Más detalles

2 E STADO DEL ARTE Modelado Lenguajes Formales UML XML Herramientas Específicas de Dominio Aproximaciones a la Integración de Herramientas

2 E STADO DEL ARTE Modelado Lenguajes Formales UML XML Herramientas Específicas de Dominio Aproximaciones a la Integración de Herramientas 2 ESTADO S DEL ARTE Este capítulo se concibe como una exposición sobre la situación actual en cuanto al empleo de entornos multidisciplinares en el desarrollo de SW para SCDTR. Esta exposición se hace

Más detalles

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática

Modelado Avanzado con Casos de Uso. Diseño de Software Avanzado Departamento de Informática Modelado Avanzado con Casos de Uso Especificación Gráfica de Casos de Uso Una simple secuencia de acciones no puede describir adecuadamente la riqueza de situaciones que se pueden presentar en un caso

Más detalles

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición.

Glosario. actividad. 1. (tarea) 2. es un subproceso que no requiere mas descomposición. Glosario Aclaraciones Los conceptos del glosario están ordenados alfabéticamente. Un concepto puede ser un único término como meta o una frase como ambiente de ingeniería de software centrado en procesos.

Más detalles

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR

CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR CAPÍTULO 4 ANÁLISIS Y DISEÑO: e-commerce CONSTRUCTOR En este capítulo se describe el análisis y diseño de un sistema, denominado e-commerce Constructor, el cual cumple con los siguientes objetivos: Fungir

Más detalles

Metodologías para generación de Sistemas Orientados a Objetos

Metodologías para generación de Sistemas Orientados a Objetos Metodologías para generación de Sistemas Orientados a Objetos Análisis y Diseño (Tecnologías) Orientado a Objetos Dr. Leopoldo Altamirano Robles 22 septiembre, 2003 Alicia Morales Reyes Alma Rosa Rugerio

Más detalles

M III ABSTRACCIÓN Y CLASIFICACIÓN

M III ABSTRACCIÓN Y CLASIFICACIÓN M III ABSTRACCIÓN Y CLASIFICACIÓN COMPLEJIDAD Y ABSTRACCIÓN La abstracción en el desarrollo del programario En todo el proceso de abstracción siempre hay una parte de la situación o del problema que se

Más detalles

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él. PROCESOS SOFTWARE MOTIVACIÓN? Con independencia de la metodología o modelo implementado, es común la estrategia para la mejora continua de la calidad, basada en el Círculo de Deming o Plan, Do, Check,

Más detalles

3.- Diseño estructural: Diagrama de clases. Mª Antonia Zapata Máster Bases de Datos e Internet

3.- Diseño estructural: Diagrama de clases. Mª Antonia Zapata Máster Bases de Datos e Internet 3.- Diseño estructural: Diagrama de clases Mª Antonia Zapata Máster Bases de Datos e Internet Introducción Los diagramas de clases sirven para representar la estructura estática de un sistema incluyendo

Más detalles

PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS

PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS IFCT0609: PROGRAMACIÓN DE SISTEMAS INFORMÁTI- COS CÓDIGO ESPECIALIDAD C.P. PRESEN- CIALES TELEFORMA- CIÓN TOTALES TIPO DE FORMACIÓN IFCT0609 PROGRAMACIÓN DE SISTE- MAS INFORMÁTICOS SI 210 210 420 SEMIPRESENCIAL

Más detalles

Especificación de requerimientos

Especificación de requerimientos Especificación de requerimientos 1. Requerimientos funcionales y no funcionales 2. Especificación de requerimientos en lenguaje natural 3. Herramientas de especificación Modelado de datos Diagramas entidad/relación

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

DOCUMENTACION A PRESENTAR: TRABAJADORES (RÉGIMEN GENERAL, ADMINISTRACIÓN PÚBLICA, AUTÓNOMOS) DEMANDANTES DE EMPLEO

DOCUMENTACION A PRESENTAR: TRABAJADORES (RÉGIMEN GENERAL, ADMINISTRACIÓN PÚBLICA, AUTÓNOMOS) DEMANDANTES DE EMPLEO MF0492_3 PROGRAMACION WEB EN EL ENTORNO SERVIDOR (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 240 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 217 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta (Business Process Management, BPM). La Gerencia de los Procesos del Negocio: Se define como: "integración

Más detalles

FORMACIÓN Principios de la programación orientada a objetos

FORMACIÓN Principios de la programación orientada a objetos FORMACIÓN Principios de la programación orientada a objetos En un mercado laboral en constante evolución, la formación continua de los profesionales debe ser una de sus prioridades. En Galejobs somos conscientes

Más detalles

Técnicas y Prácticas

Técnicas y Prácticas Técnicas y Prácticas ÍNDICE INTRODUCCIÓN... 3 TÉCNICAS DE DESARROLLO... 4 ANÁLISIS COSTE/BENEFICIO... 4 CASOS DE USO... 8 DIAGRAMA DE CLASES... 13 DIAGRAMA DE COMPONENTES... 19 DIAGRAMA DE DESCOMPOSICIÓN...

Más detalles

Historia de revisiones

Historia de revisiones Binary-Rain Glosario Versión 1.2 Historia de revisiones Fecha Versión Descripción Autor 18/08/2012 1.0 Versión inicial Paul Green 18/08/2012 1.1 Revisión de calidad Camilo Servetti 25/08/2012 1.2 Se agregaron

Más detalles

ANEXO A: CATÁLOGO DE REQUERIMIENTOS

ANEXO A: CATÁLOGO DE REQUERIMIENTOS ANEXOS ANEXO A CATÁLOGO DE REQUERIMIENTOS Ítem Características Exigibilidad 1 El sistema permitirá el modelado de diagramas de clases usando notación UML. A 2 El sistema usará UML versión 2.0. A 3 El sistema

Más detalles

2 Motivación. 2.1 Problemas en la Utilización de los Casos de Uso

2 Motivación. 2.1 Problemas en la Utilización de los Casos de Uso El Modelo del Negocio como base del Modelo de Requisitos 1 María José Ortín, Jesús García Molina, Begoña Moros, Joaquín Nicolás Grupo de Investigación de Ingeniería del Software Departamento de Informática

Más detalles

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS

PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS CARRERAS DE DOS AÑOS TECNICATURA EN PROGRAMACIÓN DE COMPUTADORAS PLAN DE ESTUDIOS Y CONTENIDOS MÍNIMOS Resolución UB 004/14 ANEXO Tabla general de asignaturas del Plan de Estudios y Obligaciones Académicas

Más detalles

INDICE 1 INTRODUCCION. 4

INDICE 1 INTRODUCCION. 4 INDICE INDICE 1 INTRODUCCION. 4 CAPITULO 1 METODOLOGÌAS MODERNAS PARA EL DESARROLLO DE SOFTWARE SPI (Software Process Improvement) 7 SPS (Software Process Personal)... 15 UML (Unified Modelling Language)...

Más detalles

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos

Estructura de clases. Estructura de Objetos. Arquitectura de módulos. Arquitectura de procesos 3.3 EL MÉTODO DE BOOCH. 3.3. Introducción. El método cuenta con una notación expresiva y bien definida que le permite al diseñador comunicar sus ideas y concentrarse en problemas más serios. Para la captura

Más detalles