Los modelos permiten: Comunicarse con quienes deben conocer el objeto modelado. Analizar alternativas. Validar.

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

Download "Los modelos permiten: Comunicarse con quienes deben conocer el objeto modelado. Analizar alternativas. Validar."

Transcripción

1 Unidad 1 Modelado de sistemas. Principios del modelado. Modelado orientado a objetos. Visión general de El lenguaje Unificado de Modelado UML Constructores básicos de UML. Estructura Estática y Estructura Dinámica de un sistema INTRODUCCIÓN AL MODELADO DE SISTEMAS Para desarrollar software de calidad duradera hay que idear una sólida base arquitectónica que sea flexible al cambio. Hay que disponer de un proceso de desarrollo sólido que pueda adaptarse a las necesidades cambiantes del problema en cuestión y de la tecnología. El modelado es una parte central de todas las actividades que conducen a la producción de software. Un modelo se define como: una simplificación de la realidad. Los modelos permiten: Comunicarse con quienes deben conocer el objeto modelado. Analizar alternativas. Validar.. Construimos modelos para: Comunicar la estructura deseada y el comportamiento del sistema a desarrollar Visualizar y controlar la arquitectura del sistema Comprender mejor el sistema que estamos desarrollando que en algunos casos permite la simplificación y reutilización Para controlar el riesgo. La actividad de construcción de un modelo implica: Establecer hipótesis de manera de simplificar la realidad para resaltar únicamente los aspectos relevantes para el estudio. Realizar la representación del objeto modelado, según la notación elegida. Validar el comportamiento del modelo con respecto al objeto real, y refinarlo de ser necesario. Al modelar se debe tener siempre presente que: No se modela por modelar, se modela para poder construir correctamente. Modelar ahorrará dinero, siempre y cuando se lo haga en forma eficiente. Las reglas que se aplican en la construcción del modelo son para ayudar y no para molestar. Principios del modelado. Podemos considerar cuatro principios básicos de modelado: 1/22

2 1) La elección de que modelos crear tiene una profunda influencia sobre como se acomete un problema y como se da forma a una solución. Hay que elegir bien el modelo. 2) Todo modelo puede ser expresado a diferentes niveles de precisión. 3) Los mejores modelos están ligados a la realidad. 4) Un único modelo no es suficiente. Cualquier sistema no trivial se aborda mejor a través de un pequeño conjunto de modelos casi independientes. Modelado orientado a objetos: Actualmente el enfoque orientado a objetos forma parte de la tendencia principal para el desarrollo del software porque ha demostrado ser válido en la construcción de sistemas en toda clase de dominios de problemas. En el modelado orientado a objetos el principal bloque de construcción de todos los sistemas software es el objeto o clase. Todo objeto tiene identidad (puede nombrarse o distinguirse de otra manera de otros objetos), estado y comportamiento. Una clase es una descripción de un conjunto de objetos similares. Por ejemplo en una arquitectura de tres capas para un sistema de contabilidad: con una interfaz de usuario, una capa intermedia y una base de datos. En la interfaz de usuario aparecerán objetos concretos tales como botones, menús y cuadros de diálogos. En la base de datos aparecerán objetos tales como tablas que representan entidades del domino del problema, incluyendo clientes, productos y otras. En la capa intermedia aparecerán objetos tales como transacciones y reglas de negocio, así como vistas de más alto nivel de las entidades del problema, tales como clientes, productos y pedidos. Visión general de El lenguaje Unificado de Modelado UML UML es un lenguaje de modelado. Los modelos UML representan tanto la estructura estática como el comportamiento dinámico de un sistema. Es un lenguaje visual que, a los desarrolladores les permite discutir las funcionalidades del sistema y comunicarse con el usuario, obteniendo y validando los requerimientos de los mismos. UML es un lenguaje de propósito general, permite modelar cualquier tipo de aplicación, desde servicios Web hasta sistemas de mantenimiento de datos de una empresa, pasando por aplicaciones para telefonía celular. La sintaxis de UML nos dice como construir nuestros modelos. La semántica nos dice como interpretarlos y nos garantiza, a través de un modelo que todas las personas involucradas comprendan exactamente la información contenida en él. Si un mismo modelo es entregado a dos programadores para su codificación, se espera que el código resultante sea equivalente. 2/22

3 Constructores básicos de UML Las Entidades representan todo concepto de interés para nuestro sistema. Para la programación Orientada a Objetos son las clases. Las entidades agrupan tanto estructura como comportamiento. Su estructura estará dada por los atributos de la entidad, mientras que el comportamiento se especificará a través de los métodos. Ejemplo: Una entidad Libro cuenta con atributos que reflejan su autor, editorial y cantidad de páginas, mientras que algunos de sus posibles métodos son devolver Autor o Señalador que devuelve la última página leída. En UML las entidades o clases son rectángulos divididos en tres partes: una para el nombre, las otras para los atributos y los métodos u operaciones. Las entidades pueden relacionarse de distintas maneras. Una entidad puede conectarse a otra, depender de otra, puede especializar otra, formar parte de otra, extender el comportamiento de otra. Ejemplo: La entidad Libro está conectada a la entidad Autor ya que un libro puede tener uno o más autores. Las relaciones en los modelos UML se representan mediante distintos tipos de flecha. Vemos el modelo UML para las clases Libro, Autor y la asociación entre ellos. La clase Libro cuenta con Atributos:Autor- Editorial-CantidadDePáginas (integer: número entero) que se indican como privados al anteponer el -. Métodos:señalador y devolverautor La clase Autor cuenta con los atributos de tipo string: nombre y apellido. No tiene especificado ningún método. 3/22

4 La asociación se representa a través de una línea continua entre las clases que vincula. Los asteriscos en los extremos de la asociación indica la multiplicidad de la asociación (un libro puede tener mucho autores y un autor puede escribir muchos libros). Las relaciones nos permiten modelar la manera en que las entidades se comunican o interactúan. Un diagrama es una presentación gráfica de un conjunto de elementos, que la mayoría de las veces se dibuja como un grafo con los nodos (elementos) y arcos (relaciones). Estructura Estática y Estructura Dinámica de un sistema. La manera de agrupar la forma en que interactúan las entidades responden a dos grandes categorías: la estructura estática del sistema y la estructura dinámica del sistema. Un ejemplo de estructura estática del Libro es el que vimos cuando mencionamos sus atributos y métodos. Un ejemplo de comportamiento dinámico sería modelar su estado a lo largo del tiempo: primero en estado Borrador, luego EstadoParaPublicación y una vez publicado por una editorial pasa al estado de Publicado. El siguiente Diagrama de Estados refleja estos distintos estados que atraviesan las instancias de tipo Libro a lo largo de la ejecución del sistema: El pequeño punto negro representa el estado inicial. El punto siguiente al estado Publicado indica el estado final del diagrama de estado. La Estructura estática y la Estructura Dinámica se deben encontrar sincronizadas 4/22

5 5/22

6 Unidad 2 Modelar Clases. Constructores de Clase para UML. Atributos y métodos. Notas. Modelar Relaciones: Generalizaciones. Dependencias. Asociaciones. Modelo Estático Una vez realizada la captura de requerimientos se está en condiciones de iniciar el modelado del sistema, para lo cual en primer lugar se define la estructura estática especificando las principales clases del sistema y delineando en forma global las responsabilidades de lo que aportará cada entidad al desarrollo del sistema. Como resultado de modelado de la estructura estática se espera obtener el Diagrama de clases completo con las interacciones entre ellas. Modelar Clases: Las clases son la pieza fundamental del modelo y de la Programación Orientada a Objetos. Representa la unidad mínima sobre la cual se construirá el sistema. Las clases abstraen estructura y comportamiento. La estructura esta representada por los atributos y el comportamiento por los métodos. Los atributos representan propiedades de la clase. Las operaciones o métodos representan aquellas funcionalidades que pueden proveer las clases. Como vimos en la unidad 1 en el ejemplo de la clase Libro: las clases se definen en rectángulos divididos en tres partes: una para el nombre, las otras para los atributos y los métodos u operaciones. Para los atributos podemos especificar su tipo y su valor inicial. Para los métodos podemos especificar sus parámetros y su tipo de retorno. Una de las dudas que se puede plantear es si una determinada entidad debería ser modelad como clase o como un atributo. Por ejemplo si tenemos una clase Autor con los siguientes atributos: Autor Nombre Apellido Dirección fechadenacimiento teléfono Esta es una opción pero puede ser que según el requerimiento relacionado sea necesario conocer respecto al teléfono si es un número celular o fijo, la compañía, si es un número de teléfono extranjero o no. Se puede considerar esta información como atributo de la clase Autor con lo que tendríamos que nombrarlos como estelefonocelular, estelefonoextranjero o compañiatelefono, si bien se especifica que si es celular o no, el tipo de número y la compañía se refieren al teléfono no son atributos del Autor por lo mas correcto es definirle Telefono como una clase asociado al Autor: 6/22

7 Constructores de Clase para UML Diseño de sistemas 2013 Las clases en UML se representan a través de rectángulos con un nombre único que las identifique. Se puede poner el nombre solo que debe ser claro y preciso. Si la clase están en un paquete se pude especificar su nombre completo, esto se indica con el constructor ::, Por ejemplo la clase Computadora está definida dentro del paquete Artefactos por lo que se indicaría así: Artefactos::Computadoras Atributos y Métodos Las clases poseen estructura y comportamiento. En UML la estructura está representada por los atributos y el comportamiento por los métodos. Los atributos representan propiedades de la clase. Las operaciones o métodos representan aquellas funcionalidades que pueden proveer las clases. En UML los atributos se ubican debajo del nombre de la clase, como siguiendo una división en el rectángulo y los métodos se especifican debajo de los atributos. Notas: Son texto en lenguaje natural que sirve para expresar datos extra, restricciones sobre alguna entidad o pueden ser comentarios sobre el comportamiento esperado, o sea se utiliza para cualquier tipo de observaciones. No es un elemento de primer nivel como son las clases por lo que siempre están asociadas a un constructor. Gráficamente se representan con un rectángulo con un extremo doblado. 7/22

8 Modelar Relaciones: Las clases interactúan entre sí, se relacionan unas con otras. Una clase puede heredar comportamiento de otra, puede influir en otra clase o puede depender de ella. Una clase que no interactúa con el resto es signo de un modelado incorrecto, lo mismo podemos decir de una clase que se conecta o interactúa con demasiadas clases. Existen tres grandes tipos de relaciones: generalizaciones que modelan jerarquías, dependencias que modelan relaciones de uso y asociaciones que modelan relaciones estructurales. Generalizaciones. Este tipo de relación une o conecta clases que comparten algunos atributos y comportamiento, mientras que individualmente tiene características exclusivas. Este tipo de relaciones de jerarquía se indican con una flecha desde la subclase a la clase madre que tiene una punta rellena. Ejemplo: Clase Alimentos para Felinos Subclases: Cachorros-Adultos-Mayores Esta relación se conoce como Es-un: el alimento para gatos pequeños es un tipo de alimentos para Felinos. La jerarquía establecida entre las clases está relacionada con los constructores de Herencia y Polimorfismo. Una clase hereda de otra cuando especializa su comportamiento. La clase Cachorro hereda de la clase Alimentos para Felinos. La subclase hereda todos los atributos y operaciones de la clase menos aquellos declarados como privados. Muchas veces las subclases pueden cambiar el comportamiento heredado de la clase optimizando los métodos. Esto se conoce como redefinición de métodos. Una clase es polimórfica cuando durante la ejecución puede cambiar su tipo para aceptar cualquiera de las subclases o clases hijas o clases que hereden de sus clases hijas también. Si una clase hereda de una clase madre tenemos el caso de herencia simple. Si una clase puede heredar de más de una clase se llama herencia múltiple. 8/22

9 Dependencias. Ejemplo: el tipo de alimento correcto para perros depende de la cantidad de antioxidantes y de proteínas. Se representa mediante una línea entrecortada con una dirección que indica de quien a quien es la dependencia. La clase A depende de la clase B entonces los cambios efectuados en B impacta en A. El caso más común de dependencia es cuando una clase usa a otra como el tipo de algún parámetro de sus métodos. Existen tipos especiales de dependencias: de abstracción y de derive o deriva Muchas veces tenemos el mismo concepto modelado desde distintos niveles de abstracción. Por ejemplo para un cajero de un banco especificamos que puede manejar operaciones desde un nivel menor de abstracción, definimos operaciones como ConsultarSaldo pudiendo indicar en UML que ConsultarSaldo es una versión más detallada de Operaciones. Derive: lo utilizamos para marcar que un concepto se puede derivar de otro. Por ejemplo el saldo de una cuenta bancaria deriva de los depósitos y extracciones. Asociaciones Esta es una relación estructural que describe una conexión entre objetos. Gráficamente se muestra como una línea continua que une las clases relacionadas entre si. Multiplicidad: la multiplicidad de una asociación determina cuantos objetos de cada tipo intervienen en la relación. Cada asociación tiene dos multiplicidades (una para cada extremo de la relación). Navegación: Dada una asociación simple entre dos clases como Libro y Biblioteca, es posible navegar de los objetos de un tipo a los del otro. A menos que se indique lo contrario, la navegación a través de una asociación es bidireccional (ambos sentidos). En ocasiones es deseable hacerlas unidireccionales (con restricción de navegación en un único sentido). Ejemplos: 9/22

10 10/22

11 Unidad 3 Diagramas estructurales y de comportamiento. Diagramas de Clases. Composición y objetivos. Interfaces. Herencia. Diagrama de Objetos: Composición y objetivos. Instancias y clases. Diagrama de paquetes. Diagramas de Componentes Diagramas: Un diagrama es una presentación gráfica de un conjunto de elementos, que la mayoría de las veces se dibuja como un grafo con los nodos (elementos) y arcos (relaciones). Los diagramas se utilizan para visualizar un sistema desde diferentes perspectivas. Como ningún sistema puede ser comprendido completamente desde una única perspectiva UML define varios diagramas que permiten centrarse en diferentes aspectos del sistema independientemente. Diagramas estructurales Los diagramas estructurales de UML se realizan para visualizar, especificar, construir y documentar los aspectos estáticos de un sistema. Los diagramas estructurales se organizan en líneas generales alrededor de los principales grupos de elementos que se utilizan para modelar un sistema. 1) Diagramas de clases. Clases, interfaces y colaboraciones 2) Diagramas de objetos Objetos 3) Diagramas de componentes Componentes 4) Diagramas de despliegue Nodos. Diagramas de comportamiento. Los cinco diagramas de comportamiento de UML se emplean para visualizar, especificar, construir y documentar los aspectos dinámicos de un sistema de software que involucran cosas tales como el flujo de mensajes a lo largo del tiempo y el movimiento físico de componentes de una red. Los diagramas de comportamiento estructurales se organizan en líneas generales alrededor de las formas principales en que se puede modelar la dinámica de un sistema: Diagramas de casos de uso Organiza los comportamientos del sistema, ponen todo el peso en la interacción entre los usuarios y el sistema. Diagramas de secuencia Centrados en el orden temporal de los mensajes. Muestra la interacción y comunicación entre objetos a medida que transcurre el tiempo de ejecución, enfocándose en el pasaje de mensajes Diagramas de colaboración Se enfocan en modelar como dos o más clases colaboran entre sí para lograr un objetivo en particular. Diagramas de estados Un diagrama de estados representa una máquina de estados constituida por 11/22

12 Diagramas de actividades estados, transiciones, eventos y actividades. Se utilizan para describir la vista dinámica de un sistema Muestra el flujo de actividades de un sistema. Diagramas de Clases. Composición y objetivos Un diagrama de clase muestra un conjunto de clases, interfaces y colaboraciones, así como sus relaciones. Son los primeros en utilizarse al terminar la etapa de requerimientos. Básicamente los diagramas de clases contiene los siguientes elementos: Clases Interfaces Colaboraciones Relaciones de dependencia, generalización y asociación Pueden contener notas y restricciones (extensiones de la semántica de un elemento que permite añadir nuevas reglas o modificar las existentes). Los diagramas de clase pueden contener paquetes o subsistemas, los cuales se utilizan para agrupar los elementos de un modelo en partes más grandes. El objetivo principal de los diagramas de clase es modelar la estructura estática y mostrar las principales relaciones entre las clases. Usos comunes 1-Con un diagrama de clases se define lo que se conoce como vocabulario de un sistema, que se encarga de identificar y relacionar todos sus conceptos. Cualquier funcionalidad del sistema pertenecerá al vocabulario de este y estará presente en los diagramas de clase del sistema. De forma similar las funcionalidades que el sistema no cubrirá no pertenecerán al vocabulario. 2-Para modelar colaboraciones simples. Una colaboración se defines como una sociedad entre clases, interfaces y otros elementos que trabajan para proporcionar un comportamiento cooperativo mayor que la suma de todos los elementos. 3-Para modelar un esquema lógico de base de datos. Interfaces Las interfaces tienen la estructura de una clase: nombre, atributos y métodos. La única diferencia es que para los métodos no se provee ninguna implementación sino que se declara el tipo de retorno, su nombre y los parámetros que indican su tipo. Herencia. La herencia múltiple le permite a una clase heredar comportamiento de dos o más clases madres. Diagrama de Objetos Un diagrama de objetos modela las instancias de los elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto. Se utilizan para modelar la vista de diseño estática o la vista de procesos estática de un sistema. Es el modelado de una instantánea del sistema en un momento concreto y la representación de un conjunto de objetos, su estado y sus relaciones. 12/22

13 Diagrama de paquetes. Un paquete en UML consiste en un grupo de diagramas y clases organizados según algún criterio. La organización en paquetes denota prácticamente una organización arquitectónica de un sistema. Un diagrama de paquetes nos permite ver como los principales paquetes de un sistema interactúan. Diagramas de Componentes Los diagramas de componentes reflejan la estructura estática del sistema pero desde un punto de vista físico. Son diagramas avanzados que muestran la estructura estática de la implementación de un sistema. Presenta la interacción entre clases pero no desde el punto de vista lógico, sino desde un punto de vista físico de implementación. Diagramas de despliegue Un diagrama de despliegue muestra un conjunto de nodos y sus relaciones. Se utilizan para describir la vista de despliegue estática de una arquitectura. Por ejemplo una arquitectura cliente/servidor o sistemas distribuidos, 13/22

14 Unidad 4 Requerimientos. Definición, Clasificación. Características. Captura. Ciclo de los requerimientos Diagramas de Casos de Uso: Constructores. Especificación de casos de uso. Relacionar casos de uso. Clasificaciones. Estructura interna de los casos de uso. Describir los casos de uso. Modelado del contexto de un sistema. Modelado de los requisitos de un sistema Requerimientos. Un sistema de software nace como la solución de un problema particular. El éxito del sistema se medirá según cuan bien la solución automatizada resuelva el problema para lo cual es necesario contar con su especificación. Al definir requerimientos, es importante describir al sistema desde el punto de vista de aquél que lo va a usar, y no desde el punto de vista del que lo va a construir. De esta forma, es más fácil validar que los requerimientos documentados son los verdaderos requerimientos de los usuarios, ya que éstos comprenderán fácilmente la forma en la que están expresados. Definición de requerimientos: Los requerimientos son las condiciones y propiedades que el software debe satisfacer para construir una solución correcta al problema planteado. También podemos definir Un requerimiento es a) una condición o capacidad que precisa un usuario para resolver un problema o lograr un objetivo. b) una condición o capacidad que debe satisfacer o proveer un sistema para cumplir con un determinado contrato, estándar o especificación c) un documento representando una condición o capacidad. Clasificación Los requerimientos pueden ser agrupados en distintas categorías, cada uno tendrá una prioridad dentro del sistema. Los de mayor prioridad son los que se debe respetar sí o sí para que el sistema no fracase. Se pueden clasificar en funcionales y no funcionales. Los requerimientos funcionales son aquellos relativos a las cuestiones que el sistema debe realizar. Afectan directamente a la funcionalidad del sistema, por ejemplo para un sistema que maneja el funcionamiento del cajero de un banco, los requerimiento funcionales podrían ser que se deberá pedir una contraseña numérica de 4 dígitos para ingresar Los requerimientos no funcionales está enfocados en describir cualidades generales del sistema, por ejemplo usabilidad, confiabilidad mantenibilidad o performance. Características de los requerimientos: Un modelo para su especificación contemplará los siguientes puntos: _ Evolución _ Resolución de conflictos _ Trazabilidad _ Asignación de prioridades. Ciclo de los requerimientos: 14/22

15 Los requerimientos surgen desde distintas fuentes, en general se habla del o los clientes del producto. Cada uno de ellos hablará del sistema en distintos niveles de abstracción y bajo diferentes perspectivas. Es muy importante capturar correctamente todos los requerimientos, para lo cual se cuenta con la técnica más utilizada para capturar y especificar requerimientos: los casos de uso. Diagramas de Casos de Uso: Constructores. Especificación de casos de uso Qué son los Casos de Uso? Los casos de uso son una técnica para especificar el comportamiento de un sistema: Un caso de uso es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno de sus servicios. Todo sistema de software ofrece a su entorno aquellos que lo usan una serie de servicios. Un caso de uso es una forma de expresar cómo alguien o algo externo a un sistema lo usa. Cuando decimos alguien o algo hacemos referencia a que los sistemas son usados no sólo por personas, sino también por otros sistemas de hardware y software. Por ejemplo, un sistema de ventas, si pretende tener éxito, debe ofrecer un servicio para ingresar un nuevo pedido de un cliente. Cuando un usuario accede a este servicio, podemos decir que está ejecutando el caso de uso ingresando pedido. Se define un concepto muy parecido al del caso de uso: el evento. Para Mc Menamin y Palmer, un evento es algo que ocurre fuera de los límites del sistema, ante lo cual el sistema debe responder. Siguiendo con nuestro ejemplo anterior, nuestro sistema de ventas tendrá un evento Cliente hace Pedido. En este caso el sistema deberá responder al estimulo que recibe el Pedido procesándolo. Sin embargo, existen algunas diferencias entre los casos de uso y los eventos. Las principales son: 1) Los eventos se centran en describir qué hace el sistema cuando el evento ocurre, mientras que los casos de uso se centran en describir cómo es el diálogo entre el usuario y el sistema. 2) Los eventos son atómicos : se recibe una entrada, se la procesa, y se genera una salida, mientras que los casos de uso se prolongan a lo largo del tiempo mientras dure la interacción del usuario con el sistema. De esta forma, un caso de uso puede agrupar a varios eventos. 3) Para los eventos, lo importante es qué datos ingresan al sistema o salen de él cuando ocurre el evento (estos datos se llaman datos esenciales), mientras que para los casos de uso la importancia del detalle sobre la información que se intercambia es secundaria. 15/22

16 Unidad 5 Diagramas de interacción: Clasificación Diagramas de secuencia. Elementos básicos de un diagrama de secuencia. Diagrama de colaboración. Patrones. Patrones de diseño. Frameworks Diagramas de interacción: Su objetivo es mostrar y ejemplificar el comportamiento del sistema ante determinadas situaciones específicas. Reflejan una determinada comunicación entre objetos a través del modelado del intercambio de mensajes entre ellos siendo estos la forma en la que los objetos se comunican. Clasificación Para modelar la interacción entre los distintos objetos tenemos dos opciones diferentes según que el factor determinante sea el tiempo o la estructura jerárquica del sistema. Si toda la interacción es guiada por el paso del tiempo es fundamental mostrar el orden en que los distintos mensajes son generados y recibidos, esto se refleja en los diagramas de secuencia. Si modelamos el intercambio de mensajes entre objetos desde el punto de vista de la estructura interna del sistema se utilizan los diagramas de colaboración. El siguiente modelo UML refleja la estructura interna de los diagramas de interacción. Diagramas de secuencia El diagrama de secuencias en UML muestra la forma en que los objetos se comunican entre sí al transcurrir el tiempo. 16/22

17 Elementos básicos de un diagrama de secuencia. Un diagrama de secuencia está dividido en dos grandes secciones. En la parte superior se especifican todos los objetos que intervendrán en el escenario a modelar. Esto es similar a especificar los actores que interviene en un determinado caso de uso. De cada uno de los objetos se desprende una línea discontinua que representa el paso del tiempo. La comunicación o intercambio de mensajes se refleja a través de una flecha dirigida que marca el sentido de la comunicación. Cada flecha es etiquetada con el nombre del mensaje, el cual se corresponde con un método definido en un objeto del sistema. Cada flecha que llega a un objeto simboliza la invocación de un método de esa clase. Cada flecha que sale de un objeto simboliza la invocación de un método. Las entidades que intervienen en un diagrama de secuencia no son clases, sino instancias de clases. Como estamos modelando un comportamiento en particular o sea una instancia concreta de ejecución, los elementos que intervienen, son los objetos en sí, y no clases. Sincronización de los modelos Cada objeto que interviene en un escenario debe pertenecer a una de las clases definidas en el diagrama de clases. Cada mensaje que ingresamos se debe corresponder con la definición de un método en el diagrama de clases. 17/22

18 Recursividad: Se plantea cuando un objeto posee una operación que se invoca a sí misma. Por ejemplos supongamos que un objeto de nuestro sistema es una calculadora y que una de sus operaciones sea el cálculo del interés compuesto para un período que incluya otros, esta operación tendrá que invocarse a sí misma varias veces. Representación de mensajes: Diagrama de colaboración Un Diagrama de colaboración se basa en la organización de los elementos y no en el orden temporal de los mensajes o sea no muestra el tiempo como una dimensión aparte, por lo que resulta necesario etiquetar con números de secuencia de mensajes. Un Diagrama de colaboración muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común. Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace". Los elementos que conforman un diagrama de colaboración son: 1) Los Objetos que intervienen en la funcionalidad a modelar. 2) Los vínculos (asociaciones, composición, herencia ) entre ellos. 18/22

19 3) Los mensajes entre ellos, ubicados generalmente como etiquetas sobre los vínculos. El orden principal en los diagramas de colaboración está dado por el flujo de control que generalmente es secuencial, por lo que son útiles para modelar transformaciones de datos por en etapas sucesivas. Para modelar un diagrama de colaboración el primer paso consiste en incluir los objetos, luego se incluyen los vínculos Vemos un ejemplo La relación entre el autor y el libro es la relación tradicional que se encuentra en un diagrama de objetos. El comportamiento dinámico se da en el mensaje agregarlibro, etiquetado con el número de secuencia 1, donde se muestra como el método de la clase Biblioteca es invocado y como resultado de su ejecución el libro pasa a formar parte de esta. En un mismo mensaje pueden darse varias invocaciones a métodos. Por ejemplo si un socio que desea consultar un libro y si es de su agrado retirarlo de la biblioteca, para establecer un orden entre estos métodos (consultar y retirar) se establecerá un número que establece el orden de ejecución. Vemos un ejemplo con múltiples mensajes en cada vínculo: En los diagramas de colaboración el propósito más importante es mostrar como los objetivos que llevan a cabo una determinada actividad están relacionados entre sí. Comparación entre diagramas 19/22

20 En la siguiente tabla se resumen los objetivos y diferencias de los diagramas de interacción: Tipo de Diagrama Elementos Foco Secuencia Instancias Mensajes Línea de tiempo Colaboración Instancias Vínculos Mensajes Número de secuencia Orden temporal de los mensajes Organización y estructura interna de los objetos Los escenarios mostrados en los diagramas de interacción se corresponden con los casos de uso de mayor prioridad del sistema y ayudan a validar los requerimientos. Patrones. En todos los sistemas bien estructurados se utilizan patrones. Un patrón proporciona una solución común a un problema común en un contexto dado. Un mecanismo es un patrón de diseño que se aplica a una sociedad de clases. Los patrones de diseño especifican la estructura y el comportamiento de una sociedad de clase Un framework es típicamente un patrón arquitectónico que proporciona una plantilla para aplicaciones dentro del dominio, especifican la estructura y el comportamiento de un sistema completo. Al diseñar un sistema, la experiencia y las convenciones, llevan a aplicar formas comunes de resolver problemas comunes. Por ejemplo si se está construyendo un sistema que interactúa mucho con el usuario, una forma de organizarlas abstracciones es utilizar un patrón modelo-vista-control, con el cual se separan de forma clara los objetos (el modelo) su presentación (la vista) y los agentes que los mantiene sincronizados (el control). Utilizando los patrones en un sistema se hace que este sea más comprensible y fácil de modificar y mantener. Los patrones ayudan a visualizar, especificar, construir y documentar los artefactos (piezas de información en un desarrollo de software) de un sistema con gran cantidad se software. Cuando se implementa un sistema se puede especificar que patrones 20/22

21 se incorporan para que en caso de reutilizar o adaptar el sistema más tarde los patrones estén claramente identificados. 21/22

22 Unidad 6 Proceso Unificado. Descripción del Proceso Unificado. Proceso Unificado de Desarrollo Software (RUP) Fases. Iteración. Flujos de trabajo del proceso. Utilizando el material suministrado (Anexo C de El Lenguaje Unificado de Modelado ): definir Proceso Unificado Racional, sus característica, las fases e iteraciones. Flujos de trabajo del proceso. 22/22

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos PROGRAMACIÓN ORIENTADA A OBJETOS 1 Sesión No. 8 Nombre: El Modelo de diseño con UML Contextualización Los modelos que podemos crear con UML son varios, por lo que debemos

Más detalles

Modelado Estructural F E B R E R O,

Modelado Estructural F E B R E R O, Modelado Estructural F E B R E R O, 2 0 1 4 Modelado Estructural Sirve para describir los diferentes tipos y relaciones estáticas existentes entre los diferentes objetos de un sistema. A la hora de desarrollar

Más detalles

Diagramas De Casos De Uso

Diagramas De Casos De Uso Estáticos Diagramas De Casos De Uso Los diagramas de casos de uso documentan el comportamiento de un sistema desde el punto de vista del usuario.. Por lo tanto los casos de uso determinan los requisitos

Más detalles

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema

Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Modelado - Vocabulario del Sistema Modelado Los diagramas de clases y de objetos sirven para modelar diversos aspectos estructurales o estáticos de un sistema: Vocabulario del Sistema Distribución de Responsabilidades Semántica de una Clase

Más detalles

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información

Modelo Dinámico del Diseño del Software y Representación en UML. UNIDAD 9 Análisis y Diseño de Sistemas de Información Modelo Dinámico del Diseño del Software y Representación en UML UNIDAD 9 Análisis y Diseño de Sistemas de Información El Modelo Dinámico El objetivo del modelo Dinámico es presentar o describir el comportamiento

Más detalles

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez

CLASE 3: UML DIAGRAMAS CASOS DE USO. Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez CLASE 3: UML DIAGRAMAS CASOS DE USO Universidad Simón Bolívar. Ingeniería de Software. Prof. Ivette Martínez UML UML es un lenguaje para especificar, visualizar, construir y documentar los artefactos de

Más detalles

Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING

Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Diagramas UML JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING Objetivos Comprender la importancia del modelado y el uso de diagramas para la Ingeniería y la arquitectura. Conocer las ventajas que

Más detalles

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL

CIDE, SA. RIF: J NIT: MODELO FUNCIONAL MODELO FUNCIONAL SIGA C O NTE NlD O Introducción Aspectos Conceptuales Definición de modelo Requisitos de un Modelo Funcional Modelando la Funcionalidad del Sistema: Diagrama de Casos de Uso Definición

Más detalles

TRABAJO PRÁCTICO 7: OBJETOS

TRABAJO PRÁCTICO 7: OBJETOS TEORÍA TRABAJO PRÁCTICO 7: OBJETOS Qué son los métodos Orientados a Objetos? Los métodos OO proveen un conjunto de técnicas para analizar, descomponer y modularizar arquitecturas de software. Se caracterizan

Más detalles

Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad

Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad Sesión 1. Porque es útil usar UML Sesión 2. Casos de uso Modelo del Negocio Sesión 3. Diagramas de Casos de Uso Sesión 4. Diagrama de Actividad Sesión 5. Diagrama de Secuencia Sesión 6. Diagrama de Estados

Más detalles

UML Unifield Modeling Languaje

UML Unifield Modeling Languaje UML Unifield Modeling Languaje 1 Modelo: Representación abstracta de una especificación, un diseño o un sistema. Generalmente, basada en una visión particular y compuesta por uno o más diagramas. Lenguaje

Más detalles

Caso de Uso. Herramienta de relevamiento. domingo, 28 de octubre de 12

Caso de Uso. Herramienta de relevamiento. domingo, 28 de octubre de 12 Herramienta de relevamiento Son descripciones de un conjunto de secuencia de acciones que ejecuta el sistema para obtener un resultado Los casos de uso especifican un comportamiento deseado, no como se

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

Elementos Diagramas de Clases Clase:

Elementos Diagramas de Clases Clase: Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez

PROGRAMACIÓN ORIENTADA A OBJETOS. Dr. Noé Alejandro Castro Sánchez PROGRAMACIÓN ORIENTADA A OBJETOS Dr. Noé Alejandro Castro Sánchez Introducción Nueva filosofía para resolución de problemas: Descomposición de la realidad en objetos. Objetos: representación de entidades

Más detalles

octubre de 2007 Arquitectura de Software

octubre de 2007 Arquitectura de Software octubre de 2007 Arquitectura de Software Seis mejores Prácticas Desarrollo Iterativo Administrar Requerimientos Usar Arquitecturas basadas en Componentes Modelado Visual (UML) Verificar Continuamente la

Más detalles

UML (Unified Modeling Language) Octubre de 2007

UML (Unified Modeling Language) Octubre de 2007 UML (Unified Modeling Language) Octubre de 2007 UML un modelo o pieza de información producido en el proceso de desarrollo de software Un lenguaje para especificar, visualizar y construir artefactos de

Más detalles

Tema 13 Modelos de Representación de Diagramas

Tema 13 Modelos de Representación de Diagramas Tema 13 Modelos de Representación de Diagramas En este tema haremos una revisión rápida de los modelos de representación de diagramas, y su utilidad en la Expresión Gráfica. 13.1 Introducción y Definición

Más detalles

Introducción a OOP. Programación Orientada a Objeto

Introducción a OOP. Programación Orientada a Objeto Introducción a OOP Programación Orientada a Objeto Evolución Programación no Estructurada, Programación procedimental, Programación modular y Programación orientada a objetos. Programación no Estructurada

Más detalles

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño

Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño Unidad IV: Modelo de Diseño 4.1. Estrategias de diseño El diseño se define como la búsqueda de una solución en cualquier campo, sin embargo las soluciones no llegan de una manera simple, muchas veces realizamos

Más detalles

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE

UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE UNT INGENIERIA INDUSTRIAL INGENIERIA DE SOFTWARE Ing. Francisco Rodríguez Novoa Tema 7 Modelo de Análisis Ing. Francisco Rodríguez Rational Unified Process (RUP) 3 OBJETIVOS Conocer que el Análisis ve

Más detalles

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque: Análisis y Diseño O.O. Preguntas del diseño : Cómo podrían asignarse responsabilidades a las clases de los objetos? Cómo podrían interactuar los objetos? Qué deberían hacer las clases? Patrones : Ciertas

Más detalles

Tema 4e: Proceso Unificado: Análisis

Tema 4e: Proceso Unificado: Análisis Tema 4e: Proceso Unificado: Análisis Marcos López Sanz Índice Visión general Diagramas UML Artefactos Modelo de análisis Clases de análisis Realización en análisis de los casos de uso Paquetes de análisis

Más detalles

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos

Sistemas de Información II. Análisis de Sistemas Orientado a Objetos Análisis de Sistemas Orientado a Objetos El Proceso Unificado Concepción Elaboración Construcción Transición Modelado del Negocio Requerimientos Análisis y Diseño Implementación Prueba Implantación Admón.

Más detalles

PATRONES DE DISEÑO FRAMEWORKS

PATRONES DE DISEÑO FRAMEWORKS PATRONES DE FRAMEWORKS Definiciones Finalidades Características Diseño de software basado en patrones Descripción Utilización de los patrones en el diseño Clasificación FRAMEWORKS Basado en la reutilización

Más detalles

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso

UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso UML (Lenguaje de Modelado Unificado) y Diagramas de Casos de Uso Los sistemas orientados a objetos describen las entidades como objetos. Los objetos son parte de un concepto general denominado clases.

Más detalles

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE 10 GLORIA CECILIA RÍOS MUÑOZ INSTITUCIÓN EDUCATIVA GABRIEL GARCÍA MÁRQUEZ MEDELLÍN 2013 DIAGRAMAS Un diagrama es una representación

Más detalles

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco

UML. Diagrama de Casos de Usos. Prof. Daniel Riesco UML Diagrama de Casos de Usos Prof. Daniel Riesco Diagramas de Caso Uso Secuencia de transacciones desarrolladas por un sistema en respuesta a un evento iniciado por un actor Sirven para especificar la

Más detalles

La Orientación a Objetos. Diseño de Software Avanzado Departamento de Informática

La Orientación a Objetos. Diseño de Software Avanzado Departamento de Informática La Orientación a Objetos Métodos Estructurados y Métodos Orientados a Objetos Métodos estructurados Origen en la programación estructurada (secuencia, ramificación, iteración, función). Pensar en términos

Más detalles

Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L

Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L Tema 2. Casos de Uso C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R E N O

Más detalles

Guía práctica de estudio 09: UML

Guía práctica de estudio 09: UML Guía práctica de estudio 09: Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 09: Guía práctica de estudio

Más detalles

El lenguaje Unificado de Modelado (UML)

El lenguaje Unificado de Modelado (UML) El lenguaje Unificado de Modelado (UML) Enrique Hernández Orallo (ehernandez@disca.upv.es) Cualquier rama de ingeniería o arquitectura ha encontrado útil desde hace mucho tiempo la representación de los

Más detalles

El Lenguaje Unificado de Modelado (UML)

El Lenguaje Unificado de Modelado (UML) El Lenguaje Unificado de Modelado (UML) Enrique Hernández Orallo(ehernandez@disca.upv.es) Cualquier rama de ingeniería o arquitectura ha encontrado útil desde hace mucho tiempo la representación de los

Más detalles

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A

Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A Tema 1. Introducción a UML C H R I STO PHER E X P Ó S I TO I Z Q U I ERDO A I R A M E X P Ó S I TO M Á R Q UEZ I S R A E L LÓ P EZ P L ATA M A R Í A B E L É N M E L I Á N BAT I STA J O S É MARCOS M O R

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

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases

Prof. Mariano Mancuso. Sistemas de información y control diagrama de clases Prof. Mariano Mancuso Sistemas de información y control diagrama de clases UML Qué son los modelos? Para qué sirven los modelos? Cuáles son los modelos de UML? Se usan todos...? Qué son los modelos? Un

Más detalles

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes

4. DIAGRAMAS DE INTERACCIÓN INTRODUCCIÓN DIAGRAMAS DE SECUENCIA Objetos Mensajes 4. DIAGRAMAS DE INTERACCIÓN...37 4.1. INTRODUCCIÓN... 37 4.2. DIAGRAMAS DE SECUENCIA... 37 4.2.1. Objetos...37 4.2.2. Mensajes...38 4.2.3. Creación y destrucción de un objeto...39 4.3. DIAGRAMAS DE COLABORACIÓN...

Más detalles

Lenguaje de Modelamiento Unificado.

Lenguaje de Modelamiento Unificado. Lenguaje de Modelamiento Unificado. Pontificia Universidad Javeriana What can you Model with UML? 1. Structure Diagrams include: The Class Diagram Object Diagram Component Diagram Composite Structure Diagram

Más detalles

Ingeniería del Software Orientado a Objetos. Unidad 6: Vistas del UML

Ingeniería del Software Orientado a Objetos. Unidad 6: Vistas del UML Ingeniería del Software Orientado a Objetos Unidad 6: Vistas del UML El UML Es un lenguaje estándar para escribir planos del software. El UML es sólo un lenguaje y como tal es parte de un método de desarrollo

Más detalles

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo

Contenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma

Más detalles

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia

12/08/2017. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia. Diagrama de secuencia ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso "Un diagrama que representa una interacción poniendo el foco en la secuencia

Más detalles

Análisis y Diseño de Sistemas

Análisis y Diseño de Sistemas Análisis y Diseño de Sistemas Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Clase 6 Modelo de Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] 1er. CUATRIMESTRE 2006

Más detalles

INGENIERÍA DE SOFTWARE. Sesión 8: Tipos de diagramas

INGENIERÍA DE SOFTWARE. Sesión 8: Tipos de diagramas INGENIERÍA DE SOFTWARE Sesión 8: Tipos de diagramas Contextualización La representación de las aplicaciones se puede dar mediante diagramas, en los cuales se expresan las entradas de información, las salidas,

Más detalles

Bases de datos 1. Teórico: Diseño Conceptual

Bases de datos 1. Teórico: Diseño Conceptual Bases de datos 1 Teórico: Diseño Conceptual Modelado Conceptual Primera etapa en el diseño de una BD Estudio del problema real Especificación usando un lenguaje de muy alto nivel Validar el resultado Actividad

Más detalles

BASES DE DATOS 1. Teórico: Diseño Conceptual

BASES DE DATOS 1. Teórico: Diseño Conceptual BASES DE DATOS 1 Teórico: Diseño Conceptual MODELADO CONCEPTUAL Primera etapa en el diseño de una BD Sub-etapas: Estudio del problema real Especificación usando un lenguaje de muy alto nivel Validar el

Más detalles

Diagramas de interacción

Diagramas de interacción Tema 6: Diagramas de Interacción Diagramas de interacción Los diagramas de interacción son diagramas que describen cómo grupos de objetos colaboran para conseguir algún fin. Estos diagramas muestran objetos,

Más detalles

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML

TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML TEMA 9: DIAGRAMA DE OBJETOS, SECUENCIA Y DESPLIEGUE EN UML Diagramas en UML El bloque de construcción básico de UML es un Diagrama Introducción a UML 2 1 Diagrama de Objetos en UML Se utilizan para visualizar,

Más detalles

UML. (Unified Modeling Language) Lenguage Unificado de Modelado

UML. (Unified Modeling Language) Lenguage Unificado de Modelado 1 (Unified Modeling Language) Lenguage Unificado de Modelado Antonio J. Sierra 1 Índice Historia Introducción Objetivos del modelo Críticas Modelo Conceptual de Clases Diagrama de Clases 2 2 Historia (I)

Más detalles

Anterior Introducción a UML Siguiente

Anterior Introducción a UML Siguiente http://docs.kde.org/ Anterior Introducción a UML Siguiente Elementos de UML Elementos de UML Diagrama de casos de uso Los diagramas de casos de uso describen las relaciones y las dependencias entre un

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE ESCUELA SUPERIOR POLITÉCNICA AGROPECUARIA DE MANABÍ MANUEL FÉLIX LÓPEZ CARRERA INFORMÁTICA SEMESTRE SÉPTIMO PERIODO ABR. /SEP.-2015 INGENIERÍA DEL SOFTWARE TEMA: RESUMEN#4: LENGUAJE UNIFICADO DE MODELADO

Más detalles

Objetivos: Descripción del curso. Curso: Dirigido a: UML PARA DESARROLLADORES I - ANÁLISIS y DISEÑO UNIVERSIDAD NACIONAL DE INGENIERÍA

Objetivos: Descripción del curso. Curso: Dirigido a: UML PARA DESARROLLADORES I - ANÁLISIS y DISEÑO UNIVERSIDAD NACIONAL DE INGENIERÍA UML PARA DESARROLLADORES I - ANÁLISIS y DISEÑO Duración: 24 hrs. Código: UMLAN Curso: Descripción del curso Ingeniería de Requerimientos es la disciplina para desarrollar una especi cación completa, consistente

Más detalles

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO DE INTRODUCCION A LA PROGRAMACION DE COMPUTACION 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias

Más detalles

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta Capítulo 6 UML Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta 1 6 UML Lenguaje Unificado de Modelado 6.1 Introducción. El UML es un lenguaje universal de modelado de sistemas que se emplea

Más detalles

Introducción a la orientación a objetos y a UML

Introducción a la orientación a objetos y a UML Introducción a la orientación a objetos y a UML El lenguaje unificado de modelado. Manual de referencia. James Rumbaugh, Ivar Jacobson, Grady Booch. Ed. Addison Wesley, 2000 El proceso unificado de desarrollo,

Más detalles

Análisis y Diseño de Sistemas

Análisis y Diseño de Sistemas Análisis y Diseño de Sistemas Dpto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Clase 10 Modelo Dinámico Lic. María Mercedes Vitturini [mvitturi@cs.uns.edu.ar] 1er. CUATRIMESTRE

Más detalles

Desarrollo Orientado a Objetos en Métrica v. 3

Desarrollo Orientado a Objetos en Métrica v. 3 Desarrollo Orientado a Objetos en Métrica v. 3 Carlos Rossi Jiménez c 2003 Carlos Rossi Jiménez. Universidad de Málaga p.1/45 Estructura del curso 1. Estructura de Métrica v. 3 2. Técnicas orientadas a

Más detalles

1. INTRODUCCIÓN AL UML...1

1. INTRODUCCIÓN AL UML...1 1. INTRODUCCIÓN AL UML...1 1.1. INTRODUCCIÓN...1 1.2. MODELO CONCEPTUAL DEL UML...1 1.2.1. Bloques de construcción del UML...2 1.2.1.1. Cosas...2 1.2.1.2. Relaciones...3 1.2.1.3. Diagramas...3 1.2.2. Reglas

Más detalles

Autor: Amhed Sinue Pérez Valdéz

Autor: Amhed Sinue Pérez Valdéz LYG_2015 Maestría en: Tecnologías de la Información y comunicación Asignatura: Ingeniería del Software Autor: Amhed Sinue Pérez Valdéz INTRODUCCIÓN La ingeniería de software es la forma en que se desarrollan

Más detalles

Modelo y Análisis 179

Modelo y Análisis 179 Modelo y Análisis 179 2.6 Análisis Funcional Por medio del análisis funcional: Se muestra las operaciones de los objetos y sus dependencia de datos por medio de los diagramas de flujo de datos. Se descompone

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 1 Problemas, Soluciones y Programas Marcela Hernández Hoyos Solucionar un Problema = Construir un Programa Problema Programador Herramientas y Lenguajes Análisis

Más detalles

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes Ingeniería de requerimientos de software: Análisis Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes Referencias El Lenguaje Unificado de Modelado. Grady Booch, James Rumbaugh e Ivar

Más detalles

Principios de la Tecnología de Objetos

Principios de la Tecnología de Objetos Principios de la Tecnología de Objetos Unified Modeling Language Copyright Copyright (c) 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación

Más detalles

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor Especificación de Requerimientos Nombre del Grupo de Desarrollo o Asignatura [Este documento es la plantilla base para elaborar el documento Especificación de Requerimientos. Los textos que aparecen entre

Más detalles

Análisis y Diseño Orientado a Objetos

Análisis y Diseño Orientado a Objetos Orientado a Objetos 1. Conceptos de Orientado al Objeto a. Análisis El análisis se centra en una investigación, no es la solución Ej. Si se desea un sistema para biblioteca Cuáles procesos de la institución

Más detalles

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos.

1. Preparar al estudiante para desarrollar aplicaciones de software utilizando un enfoque orientado a objetos. UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Computación y Programación 2 CODIGO: 771 CREDITOS: 5 ESCUELA: Ciencias y Sistemas AREA A LA QUE PERTENECE:

Más detalles

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017

INGENIERÍA WEB. Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017 INGENIERÍA WEB Dr. Mario Rossainz López Fac. de Cs. de la Computación Benemérita Universidad Autónoma de Puebla Otoño de 2017 INTRODUCCIÓN: Aspectos importantes en las aplicaciones WEB Modelo de Dominio

Más detalles

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.

Más detalles

Desarrollo Orientado a Objetos basado en UML

Desarrollo Orientado a Objetos basado en UML Desarrollo Orientado a Objetos basado en UML Proceso de Desarrollo Qué es? Un proceso de desarrollo de software describe un enfoque para construir, instalar y mantener sistemas de software Por qué necesitamos

Más detalles

Tema 10: Interfaces. Índice

Tema 10: Interfaces. Índice Tema 10: Interfaces Antonio J. Sierra Índice 1. Definición de una interfaz. 2. Implementación y uso de una interfaz. 3. Extensión de las interfaces. 4. Modelado UML de las interfaces. 5. Casos de uso.

Más detalles

Unified modeling language

Unified modeling language Unified modeling language UML es un lenguaje para la especificación, visualización, construcción y documentación de documentos de sistemas de software. Es independiente del lenguaje de implementación y

Más detalles

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I Facultad de Ingeniería en Ciencias Aplicadas pag. 1 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES SYLLABUS DE INGENERIA DE SOFTWARE I 1. Misión: (de la carrera) La Carrera de Ingeniería en Sistemas

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software ANÁLISIS Y DISEÑO DE SISTEMAS CON Auxiliar: Andrés Neyem aneyem@dcc.uchile.cl Oficina 418 de Doctorado Auxiliar - 10 de Abril de 2007 Repaso Historia de los lenguajes de modelamiento

Más detalles

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO

DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO DIAGRAMAS DE UML DIAGRAMAS DE CASO DE USO Un diagrama de casos de uso es una especie de diagrama de comportamiento. Los diagramas de casos de uso son a menudo confundidos con los casos de uso. Mientras

Más detalles

Sistemas de Información. Ing. José Manuel Poveda

Sistemas de Información. Ing. José Manuel Poveda Sistemas de Información Ing. José Manuel Poveda 1 Definición de Sistema: Un sistema es una colección de componentes interrelacionados que trabajan conjuntamente para cumplir algún objetivo. 2 Los sistemas

Más detalles

INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE INGENIERÍA DEL SOFTWARE Sesión No. 7 Nombre: Lenguaje unificado de modelado UML INGENIERÍA DEL SOFTWARE 1 Contextualización Por qué utilizar un lenguaje unificado? Cuando desarrollamos un proyecto entre

Más detalles

Diagramas de secuencia

Diagramas de secuencia Facultad de Ingeniería Departamento de Ingeniería de Sistemas y Computación Diagramas de secuencia Interacciones básicas 1 Para qué sirven los diagramas de secuencia? 2 Para qué sirven los diagramas de

Más detalles

Sistemas de Información II. Modelo del Negocio

Sistemas de Información II. Modelo del Negocio Modelo del Negocio El Proceso Unificado Concepción Elaboración Construcción Transición Modelado del Negocio Requerimientos Análisis y Diseño Implementación Prueba Implantación Admón. del Proyecto Iteraciones

Más detalles

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso

12/08/2017. Casos de uso. Casos de uso. Casos de uso. Casos de uso ICI3242 Modelamiento de sistemas de software Escuela de Ingeniería Informática Pontificia Universidad Católica de Valparaíso Los Casos de Uso (Jacobson) describen bajo la forma de acciones y reacciones

Más detalles

DIAGRAMAS DE CLASES. Clases, asociaciones y atributos. Interfaces con sus operaciones y constantes. Información acerca del tipo de los atributos.

DIAGRAMAS DE CLASES. Clases, asociaciones y atributos. Interfaces con sus operaciones y constantes. Información acerca del tipo de los atributos. Completando los diagramas de interacción, es posible identificar la especificación de las clases que participarán en la solución indicando detalles de su implementación, como por ejemplo los métodos. Entradas

Más detalles

Rational Unified Process

Rational Unified Process Rational Unified Process 1 Qué es un Proceso? Un proceso define Quién está haciendo Qué, Cuándo y Cómo para lograr un cierto objetivo. En la ingeniería de software el objetivo es construir un producto

Más detalles

TEMA 4. PROCESO UNIFICADO

TEMA 4. PROCESO UNIFICADO TEMA 4. PROCESO UNIFICADO Definición El Proceso Unificado de Desarrollo Software es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura

Más detalles

Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software

Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software Introducción a UML Información tomada de: - Jacobson et al, El proceso unificado de desarrollo de software, Adison Wesley, 2000. - Jacobson et al, El Lenguaje Unificado de Modelado. Manual de referencia,

Más detalles

El documento presenta la especificación de la semántica del UML. Utilizando lenguaje natural y formal para hacerlo fácil de entender.

El documento presenta la especificación de la semántica del UML. Utilizando lenguaje natural y formal para hacerlo fácil de entender. 4.4 SEMÁNTICA 4.4.1 Propósito El documento presenta la especificación de la semántica del UML. Utilizando lenguaje natural y formal para hacerlo fácil de entender. 4.4.2 Alcance Este documento especifica

Más detalles

UML: Lenguaje Unificado de Modelado

UML: Lenguaje Unificado de Modelado PRÁCTICAS UML: Lenguaje Unificado de Modelado Curso 2002-03 Elementos del lenguaje Relaciones entre los elementos Diagramas Francisco Mora (DCCIA, Universidad de Alicante, 2002) 1 Qué es UML? Es un lenguaje

Más detalles

Modelado Estático Básico. Diseño de Software Avanzado Departamento de Informática

Modelado Estático Básico. Diseño de Software Avanzado Departamento de Informática Modelado Estático Básico Objetos y Clases (I) Dos niveles de abstracción: Objeto: representación de una entidad concreta con identidad, estado y comportamiento (no siempre entidades físicas tangibles).

Más detalles

Diplomado Programación orientada a objetos con C++ 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

GUÍAS DE DISEÑO CON UML. Técnicas para creación de diagramas de software óptimos en UML

GUÍAS DE DISEÑO CON UML. Técnicas para creación de diagramas de software óptimos en UML GUÍAS DE DISEÑO CON UML Técnicas para creación de diagramas de software óptimos en UML ÍNDICE Recomendaciones de diseño generales Guías para diagramas de Casos de Uso Guías para diagramas de Actividad

Más detalles

Contenido. Introducción. Buenas Prácticas. Buenas Prácticas. Introducción al RUP. Disciplina Requerimientos. Conclusiones. Desarrollo Iterativo

Contenido. Introducción. Buenas Prácticas. Buenas Prácticas. Introducción al RUP. Disciplina Requerimientos. Conclusiones. Desarrollo Iterativo Contenido Introducción Buenas Prácticas Introducción al RUP Disciplina Requerimientos Conclusiones Buenas Prácticas Desarrollo Iterativo Administración de Requisitos Arquitectura basada en componentes

Más detalles

Para esta práctica usaremos los diagramas de casos de uso, diagramas de secuencia, y los diagramas de clase.

Para esta práctica usaremos los diagramas de casos de uso, diagramas de secuencia, y los diagramas de clase. Programación II, Guía #3 17 17 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUÍA #3: Herramientas UML. Análisis y diseño UML. Objetivos Conocer una herramienta de modelado para

Más detalles

Modelo de Casos de Uso

Modelo de Casos de Uso Modelo de Casos de Uso Artefactos UML Josep Vilalta Marzo Rev.- 3.1 2007 VICO OPEN MODELING, S.L. www.vico.org 1 Diagramas UML 2.0 Diagrama estructura comportamiento Paquetes Clases Objetos Casos de Uso

Más detalles

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas

Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas ADyA Hay para todos los gustos Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Híbridos (Lisp, Visual

Más detalles

Ingeniería del Software I

Ingeniería del Software I - 1 - Ingeniería del Software I 2do. Cuatrimestre 2005 INTRODUCCIÓN... 2 SEMÁNTICA... 2 NOTACIÓN... 3 ESTADO ACCIÓN... 3 Transiciones Simples... 3 Estados Acción Compuestos... 3 Estados Acción Iniciales

Más detalles

Programación Orientada a Objetos. Introducción

Programación Orientada a Objetos. Introducción Programación Orientada a Objetos Introducción César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 27/01/2016 1 Programación Orientada a Objetos POO es un conjunto de técnicas

Más detalles

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ

INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ INGENIERIA DE SOFTWARE ING. FRANCISCO RODRIGUEZ TEMA 3: PROCESO UNIFICADO DE DESARROLLO CONTENIDO 1. Proceso de Software 2. Proceso de Desarrollo de Software 3. Proceso Unificado de Desarrollo de Software

Más detalles

Guía para la documentación de proyectos de software

Guía para la documentación de proyectos de software Estructura y contenido Guía para la documentación de proyectos de software Organización de Computadoras Universidad Nacional del Sur 2017 1. Definiciones y especificación de requerimientos Los requerimientos/requisitos

Más detalles

<NOMBRE DE LA UNIVERSIDAD, Y NOMBRE DE LA COMUNIDAD>. <TITULO PROYECTO>

<NOMBRE DE LA UNIVERSIDAD, Y NOMBRE DE LA COMUNIDAD>. <TITULO PROYECTO> . Autores: CI Historia de Revisiones Versión Fecha Revisado por

Más detalles

Caracterización de los Procesos de Negocio

Caracterización de los Procesos de Negocio Caracterización de los Procesos de Negocio Sistemas de Información Administrativos Departamento de Ingeniería Industrial Universidad de Chile Derechos Reservados (c) Agenda Proceso de Negocio Características

Más detalles

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. 4.1 Introducción

MODULO IV. Análisis y Diseño de Sistemas de Información INF-162 IV. UML. 4.1 Introducción MODULO IV Análisis y Diseño de Sistemas de Información INF-162 IV. UML 4.1 Introducción Facilitador: Miguel Cotaña 17 de Mayo 2012 1 QUÉ ES UML? Un diagrama UML es una representación gráfica parcial (vista)

Más detalles